Set font style?
-
How do I use different font styles in with the graphics?
Trying this but it doesn't take and HISE gives me the default font instead:
g.setFont("Fredoka-Bold", buttonSize);
It must be something simple, I'm sure.
-
@VirtualVirgin Have you embedded the font in your project's image folder and loaded it with
Engine.loadFontAs(String fileName, String fontId)
?For my part, I embed styles in different font files so they can all be loaded separately, I don't see another way to load styles, which is a wee bit annoying...
Engine.loadFontAs("{PROJECT_FOLDER}Fonts/myFont-normal.ttf", "Normal"); Engine.loadFontAs("{PROJECT_FOLDER}Fonts/myFont-bold.ttf", "Bold"); Engine.loadFontAs("{PROJECT_FOLDER}Fonts/myFont-italic.ttf", "Italic"); // etc...
-
@ustk I do the same. I dont know if im doing something wrong or not. I havent figured out how to do font styles.
-
@ustk Thank you!
I made an inline function to load all of the fonts from your project fonts folder and auto-name them. I thought it would be easier just to drag the .ttf or .otf into the Fonts folder and let this do the rest. FYI- the naming here removes "-Regular" from the loadFontAs target name so for instance "Nunito-Regular" will now just be referred to as "Nunito". The other types will keep their suffix.
// this will load all of your fonts which are stored in the projectFolder/Images/Fonts inline function loadAllFontsFromProjectFolder() { local appDataFolder = FileSystem.getFolder(FileSystem.AppData); local fontsFolder = appDataFolder.getChildFile("Fonts"); local fontFiles = FileSystem.findFiles(fontsFolder, "*.ttf;*.otf", false); for (file in fontFiles) { local fontPath = file.toString(File.FullPath); local fontName = file.toString(File.Filename); local targetName = ""; // if the file name suffix is "-Regular", loadAs will use just the prefix if (fontName.endsWith("-Regular.ttf") || fontName.endsWith("-Regular.otf")) targetName = fontName.substring(0, fontName.lastIndexOf("-Regular.")); else if (fontName.endsWith(".ttf") || fontName.endsWith(".otf")) targetName = fontName.substring(0, fontName.lastIndexOf(".")); Engine.loadFontAs(fontPath, targetName); } }