feat: font loading and dumping (#866)

* feat: font loading and dumping

* chore: make font properties unsigned if possible

* chore: use merge_patch to dump json font

* chore: font material is required

* chore: move static methods from font loader and dumper to anonymous namespace

* chore: make sure loaded fonts have their glyphs sorted

* chore: add macros for json NLOHMANN_TO_JSON_METHOD and NLOHMANN_FROM_JSON_METHOD

* feat: encode printable letters as string in json

Co-authored-by: hindercanrun <[email protected]>

* chore: omit redundant glyph count from jsons

---------

Co-authored-by: Jan Laupetin <[email protected]>
Co-authored-by: hindercanrun <[email protected]>
Co-authored-by: MrIkso <[email protected]>
This commit is contained in:
mo
2026-07-03 19:26:12 +02:00
committed by GitHub
co-authored by Jan Laupetin hindercanrun MrIkso
parent fb4b00398c
commit 3fb8b2bb17
24 changed files with 659 additions and 35 deletions
+3 -3
View File
@@ -2455,9 +2455,9 @@ namespace IW3
uint16_t letter;
char x0;
char y0;
char dx;
char pixelWidth;
char pixelHeight;
unsigned char dx;
unsigned char pixelWidth;
unsigned char pixelHeight;
float s0;
float t0;
float s1;
+3 -3
View File
@@ -2676,9 +2676,9 @@ namespace IW4
uint16_t letter;
char x0;
char y0;
char dx;
char pixelWidth;
char pixelHeight;
unsigned char dx;
unsigned char pixelWidth;
unsigned char pixelHeight;
float s0;
float t0;
float s1;
+3 -3
View File
@@ -2713,9 +2713,9 @@ namespace T4
uint16_t letter;
char x0;
char y0;
char dx;
char pixelWidth;
char pixelHeight;
unsigned char dx;
unsigned char pixelWidth;
unsigned char pixelHeight;
float s0;
float t0;
float s1;
+3 -3
View File
@@ -3310,9 +3310,9 @@ namespace T5
uint16_t letter;
char x0;
char y0;
char dx;
char pixelWidth;
char pixelHeight;
unsigned char dx;
unsigned char pixelWidth;
unsigned char pixelHeight;
float s0;
float t0;
float s1;
+3 -3
View File
@@ -3997,9 +3997,9 @@ namespace T6
uint16_t letter;
char x0;
char y0;
char dx;
char pixelWidth;
char pixelHeight;
unsigned char dx;
unsigned char pixelWidth;
unsigned char pixelHeight;
float s0;
float t0;
float s1;