feat: font generation from ttf (#882)

* chore: add file variant of json fonts

* chore: add stb dependency

* feat: generate fonts from ttf files

* chore: add option to add yOffset to file font

* chore: dynamically adjust generated font bitmap size

* fix: printable characters should respect ISO-8859-1 control characters

* chore: do not write missing glyphs into the bitmap

* chore: remove test texture conversion

* chore: adjust font compiler for iw3,iw4,iw5,t4,t5

* chore: add possibility to fill color channels when converting

* fix: games other than t6 use rgba for fonts

* fix: make sure no mipmaps are set on loaddef

* fix: t4 and iw3 use dimensions in image loaddef

* chore: also include optional glyphs in fonts
This commit is contained in:
Jan Laupetin
2026-07-08 23:35:58 +02:00
committed by GitHub
parent c385f50a0e
commit 0874f0c36f
21 changed files with 724 additions and 30 deletions
+3 -2
View File
@@ -83,7 +83,7 @@ namespace
}
#endif
void CreateJsonFont(JsonFont& jFont, const Font_s& font)
void CreateCompiledJsonFont(JsonCompiledFont& jFont, const Font_s& font)
{
jFont.pixelHeight = font.pixelHeight;
@@ -125,7 +125,8 @@ namespace
void Dump(const Font_s& font) const
{
JsonFont jFont;
CreateJsonFont(jFont, font);
jFont.font.emplace<JsonCompiledFont>();
CreateCompiledJsonFont(std::get<JsonCompiledFont>(jFont.font), font);
ordered_json jRoot;
jRoot["$schema"] = "http://openassettools.dev/schema/font.v1.json";