Race Fonts (*.fnt files)
Moderator: thunderchero
- Benman2785
- Lieutenant-Commander
- Posts: 225
- Joined: Fri Mar 20, 2009 2:00 am
Re: Race Fonts (*.fnt files)
here is the correct tga with correct headers
working with UE 0.9.0dev3
EDIT: newer version available
working with UE 0.9.0dev3
EDIT: newer version available
Last edited by Benman2785 on Sun Apr 16, 2023 9:18 am, edited 2 times in total.
- Benman2785
- Lieutenant-Commander
- Posts: 225
- Joined: Fri Mar 20, 2009 2:00 am
Re: Race Fonts (*.fnt files)
Feds have different ÄÖÜ - but all are working with preedited 1366x768 wdf (ship type on galaxy map)
OLD version
OLD version
- Benman2785
- Lieutenant-Commander
- Posts: 225
- Joined: Fri Mar 20, 2009 2:00 am
Re: Race Fonts (*.fnt files)
i fixed some issues with the 12px fonts
NEW VERSION - added % (for Intercept)
1. no more black bars (simply needed to edit 3px to be transparent)
this needs to be the upper right corner of tga 2. added some often used chars like . , - %
3. fixed the A and ÄÖÜ (i prefer this style)
here the result:
NEW VERSION - added % (for Intercept)
1. no more black bars (simply needed to edit 3px to be transparent)
this needs to be the upper right corner of tga 2. added some often used chars like . , - %
3. fixed the A and ÄÖÜ (i prefer this style)
here the result:
Last edited by Benman2785 on Mon Jul 31, 2023 3:47 pm, edited 4 times in total.
- Spocks-cuddly-tribble
- Code Master
- Posts: 1962
- Joined: Sun Apr 27, 2008 2:00 am
Re: Race Fonts (*.fnt files)
Looks nice and clean!
I don't know how many bugs is too many but that point is reached somewhere before however many in BotF is.
- Benman2785
- Lieutenant-Commander
- Posts: 225
- Joined: Fri Mar 20, 2009 2:00 am
Re: Race Fonts (*.fnt files)
here i edited the 12px and 9px fonts - now containing "ß" needed in german
**outdated**
in 9px i am not sure if "%" is placed correctly
**outdated**
in 9px i am not sure if "%" is placed correctly
Last edited by Benman2785 on Sun Jul 30, 2023 4:16 pm, edited 1 time in total.
- thunderchero
- Site Administrator aka Fleet Admiral
- Posts: 7966
- Joined: Fri Apr 25, 2008 2:00 am
- Location: On a three month training mission, in command of the USS Valiant.
Re: Race Fonts (*.fnt files)
if it displays correctly it is placed correctly, the header info determines where it needs to be placed iirc.
- Benman2785
- Lieutenant-Commander
- Posts: 225
- Joined: Fri Mar 20, 2009 2:00 am
Re: Race Fonts (*.fnt files)
now i finished modding 9px and 12px // *updated*
here is the template i use for all (300% enlarged)
9px
12px
here is the template i use for all (300% enlarged)
9px
12px
- Benman2785
- Lieutenant-Commander
- Posts: 225
- Joined: Fri Mar 20, 2009 2:00 am
Re: Race Fonts (*.fnt files)
i forgot to mod generic9.fnt - now it can be used for german as it has "ß" (seen on Pakled next to Cardassian space)
- thunderchero
- Site Administrator aka Fleet Admiral
- Posts: 7966
- Joined: Fri Apr 25, 2008 2:00 am
- Location: On a three month training mission, in command of the USS Valiant.
Re: Race Fonts (*.fnt files)
While testing font files I noticed;
{ (opening CURLY BRACKET) will cause CTD if in star name. other locations (lexicon, ect untested)
crash log
} (closing CURLY BRACKET) will not display but no CTD
note; this is unrelated to Benman2785 files
{ (opening CURLY BRACKET) will cause CTD if in star name. other locations (lexicon, ect untested)
crash log
Code: Select all
File: textdef.c, Line: 156, ptr == NULL, this means there was no data in the embedded string
note; this is unrelated to Benman2785 files
- Spocks-cuddly-tribble
- Code Master
- Posts: 1962
- Joined: Sun Apr 27, 2008 2:00 am
Re: Race Fonts (*.fnt files)
sub_51EEB0 checks hex code for { 0x7B (only, other switches use jnb), might be a bug. But do we use/need fonts for this?
Code: Select all
0051EEBF cmp byte ptr [eax], 7Bh // hex code for { opening CURLY BRACKET
0051EEC2 jz short loc_51EECE
I don't know how many bugs is too many but that point is reached somewhere before however many in BotF is.
- thunderchero
- Site Administrator aka Fleet Admiral
- Posts: 7966
- Joined: Fri Apr 25, 2008 2:00 am
- Location: On a three month training mission, in command of the USS Valiant.
Re: Race Fonts (*.fnt files)
UE could prevent symbol from being added and prevent CTDSpocks-cuddly-tribble wrote: ↑Fri Aug 04, 2023 2:23 pmsub_51EEB0 checks hex code for { 0x7B (only, other switches use jnb), might be a bug. But do we use/need fonts for this?
Code: Select all
0051EEBF cmp byte ptr [eax], 7Bh // hex code for { opening CURLY BRACKET 0051EEC2 jz short loc_51EECE
- Spocks-cuddly-tribble
- Code Master
- Posts: 1962
- Joined: Sun Apr 27, 2008 2:00 am
Re: Race Fonts (*.fnt files)
I'd first try (might even display CURLY BRACKETs?):thunderchero wrote: ↑Fri Aug 04, 2023 3:05 pmUE could prevent symbol from being added and prevent CTD
Code: Select all
0051EEB0 push ecx // -> retn // disable sub_51EEB0
I don't know how many bugs is too many but that point is reached somewhere before however many in BotF is.
- thunderchero
- Site Administrator aka Fleet Admiral
- Posts: 7966
- Joined: Fri Apr 25, 2008 2:00 am
- Location: On a three month training mission, in command of the USS Valiant.
Re: Race Fonts (*.fnt files)
After more testing code dose not like any type of brackets, no other crashes but displayed no transparences or text stopped displaying after bracket.
repost of new header info
0x000 height of font +1
0x001 1 (all others) or 0 (9 fnt)
0x002 - 0x003 260 start of tga file
0x004 - 0x005 10 (unknow/unchanged)
0x006 - 0x007 120 total blocks
0x008 - 0x009 width of tga
0x00a - 0x00b height of tga
0x00c - 0x00F 47354 tga sile size in bytes
0x010 - 0x011 1536 (unknow/unchanged)
0x012 - 0x013 86 (unknow/unchanged)
0x014 - start of row 1 (10 entries) 1 - 0
0x028 - start of row 2 (26 entries) A - Z
0x05c - start of row 3 (26 entries) a - z
0x090 - start of row 4 (32 entries) symbols
0x0d0 - start of row 5 (26 entries) German and specials symbols
note; first entry of each row is font area width only, all others entries in that row are font area width +1
repost of new header info
0x000 height of font +1
0x001 1 (all others) or 0 (9 fnt)
0x002 - 0x003 260 start of tga file
0x004 - 0x005 10 (unknow/unchanged)
0x006 - 0x007 120 total blocks
0x008 - 0x009 width of tga
0x00a - 0x00b height of tga
0x00c - 0x00F 47354 tga sile size in bytes
0x010 - 0x011 1536 (unknow/unchanged)
0x012 - 0x013 86 (unknow/unchanged)
0x014 - start of row 1 (10 entries) 1 - 0
0x028 - start of row 2 (26 entries) A - Z
0x05c - start of row 3 (26 entries) a - z
0x090 - start of row 4 (32 entries) symbols
0x0d0 - start of row 5 (26 entries) German and specials symbols
note; first entry of each row is font area width only, all others entries in that row are font area width +1
- thunderchero
- Site Administrator aka Fleet Admiral
- Posts: 7966
- Joined: Fri Apr 25, 2008 2:00 am
- Location: On a three month training mission, in command of the USS Valiant.
Re: Race Fonts (*.fnt files)
here is more odd info on fnt files
here is text of all numbers, letters and symbols as in fnt files
here is an example of new 12 fnt Benman2785 and I have been working on
% does not display/ignored anything before or after displays with no space when used in lexicon
… UE changes hex 85 -> 3F (?), if hex edit file anything before this symbol displays, anything after this symbol does not display
– UE changes hex 96 -> 3F (?), if hex edit file anything before this symbol displays, anything after this symbol does not display
• UE changes hex 95 -> 3F (?), if hex edit file anything before this symbol displays, anything after this symbol does not display
™ UE changes hex 99 -> 3F (?), if hex edit file anything before this symbol displays, anything after this symbol does not display
® symbol does not display, anything before this symbol displays, anything after this symbol does not display
© symbol does not display, anything before this symbol displays, anything after this symbol does not display
Important; when adding font to tga file the top left of tga and each font area is the transparency color.
here is text of all numbers, letters and symbols as in fnt files
Code: Select all
1234567890
ABCDEFGHIJKLMNOPQRSTUVWXYZ
abcdefghijklmnopqrstuvwxyz
`-=\[];',./~!@#$%^&*()_+{}|:"<>?
äâàêèéïîöôüñÇçÄÖÜß®©™…–¿¡•
% does not display/ignored anything before or after displays with no space when used in lexicon
… UE changes hex 85 -> 3F (?), if hex edit file anything before this symbol displays, anything after this symbol does not display
– UE changes hex 96 -> 3F (?), if hex edit file anything before this symbol displays, anything after this symbol does not display
• UE changes hex 95 -> 3F (?), if hex edit file anything before this symbol displays, anything after this symbol does not display
™ UE changes hex 99 -> 3F (?), if hex edit file anything before this symbol displays, anything after this symbol does not display
® symbol does not display, anything before this symbol displays, anything after this symbol does not display
© symbol does not display, anything before this symbol displays, anything after this symbol does not display
Important; when adding font to tga file the top left of tga and each font area is the transparency color.
- Flocke
- BORG Trouble Maker
- Posts: 3258
- Joined: Sun Apr 27, 2008 2:00 am
- Location: Hamburg, Germany
- Contact:
Re: Race Fonts (*.fnt files)
late response, but...
BOTF however does not support unicode, but uses some variant of ISO 8859-1. DCER therefore opted to apply the lava.lang.string.getByte conversion with java.nio.charset.StandardCharsets.ISO_8859_1 encoding, the only standard charsets ISO_8859_1 variant listed.
The characters above however are not covered by ISO 8859-1, which is why they are auto-replaced with 3F = "?" by lava.lang.string.getBytes.
Most likely BOTF actually uses the Windows-1252 character encoding:
https://de.wikipedia.org/wiki/Windows-1252
But maybe it is just the .fnt files using it, which would explain why BOTF fails to display these characters.
Since Windows-1252 is an extension to ISO 8859-1 and there is no use in replacing these special characters with '?', I fixed UE to now use Windows-1252 for text encoding.
® = 0xAE
© = 0xA9
They should be working, unless BOTF uses some weird character encoding variant.
'%' is an escape character used for text placeholders like %s (string), %c (character), %d (decimal), %f (flloat). To actually print a '%' symbol, it must be doubled "%%".thunderchero wrote: ↑Sun Aug 06, 2023 1:42 pm % does not display/ignored anything before or after displays with no space when used in lexicon
By documentation of java.nio.charset.Charset "The native character encoding of the Java programming language is UTF-16."thunderchero wrote: ↑Sun Aug 06, 2023 1:42 pm … UE changes hex 85 -> 3F (?), if hex edit file anything before this symbol displays, anything after this symbol does not display
– UE changes hex 96 -> 3F (?), if hex edit file anything before this symbol displays, anything after this symbol does not display
• UE changes hex 95 -> 3F (?), if hex edit file anything before this symbol displays, anything after this symbol does not display
™ UE changes hex 99 -> 3F (?), if hex edit file anything before this symbol displays, anything after this symbol does not display
BOTF however does not support unicode, but uses some variant of ISO 8859-1. DCER therefore opted to apply the lava.lang.string.getByte conversion with java.nio.charset.StandardCharsets.ISO_8859_1 encoding, the only standard charsets ISO_8859_1 variant listed.
The characters above however are not covered by ISO 8859-1, which is why they are auto-replaced with 3F = "?" by lava.lang.string.getBytes.
Most likely BOTF actually uses the Windows-1252 character encoding:
https://de.wikipedia.org/wiki/Windows-1252
But maybe it is just the .fnt files using it, which would explain why BOTF fails to display these characters.
Since Windows-1252 is an extension to ISO 8859-1 and there is no use in replacing these special characters with '?', I fixed UE to now use Windows-1252 for text encoding.
These are part of both ISO 8859-1 and Windows-1252. UE converts them to:thunderchero wrote: ↑Sun Aug 06, 2023 1:42 pm ® symbol does not display, anything before this symbol displays, anything after this symbol does not display
© symbol does not display, anything before this symbol displays, anything after this symbol does not display
® = 0xAE
© = 0xA9
They should be working, unless BOTF uses some weird character encoding variant.