Thanks Kammerer - that looks great!
Any chance you can write the metadata for this? So we can map the "string" to the correct font image?
The current data is in xml (Utf-8 encoded), and looks something like this:
<?xml version="1.0" encoding="UTF-8"?> where the "glyph" tag is "RAW:file.dat:width:height:index_in_file" for 'raw' files (which the original font .dat files are, just palette indices, so each 'index' is height * width bytes long, 14 * 24 = 336 bytes in bigfont.dat
<apocfont name="BIGFONT" path="xcom3/ufodata/bigfont.dat" height="24" width="14" spacewidth="6" palette="UI/UI_PALETTE.PNG">
<glyph string="-" glyph="RAW:xcom3/ufodata/bigfont.dat:14:24:12"/>
... Lots more <glyph \> tags
<glyph string="Á" glyph="RAW:xcom3/ufodata/bigfont.dat:14:24:127"/>
This format also allows a single 'font' xml to contain glyphs from different files, so you can put just the new glyphs in a 'bigfont_extra.dat' or something and don't need a copy in the new file.
I'll also have to write a quick .png->.dat converter, as the fonts in apoc are paletted depending on where they are displayed (though I think BIGFONT specifically happens to use the same palette everywhere it's used, but will need to check), so let me know when you think this is near final and worth importing and I'll process it into something openapoc can use.