Font bfnt - FE Awakening

How to translate the files of a game
DKH6789
Posts: 14
Joined: Sun Mar 15, 2020 3:23 pm

Font bfnt - FE Awakening

Post by DKH6789 »

Hi.

The attached file contains:
- bfnt.lz: The packed font of Fire Emblem Awakening
- bfnt and png: Detail font extracted from the avbove .lz
- The tool I used to extract is FEAT

Could you please help/guide me the way to add more Unicode character to the font? For example Đ (U+00D0)

Thanks so very much in advance!
DKH6789
Posts: 14
Joined: Sun Mar 15, 2020 3:23 pm

Re: Font bfnt - FE Awakening

Post by DKH6789 »

Can anyone lend me a hand?
LinkOFF
Posts: 88
Joined: Thu Aug 11, 2016 6:52 pm

Re: Font bfnt - FE Awakening

Post by LinkOFF »

DKH6789 wrote:Could you please help/guide me the way to add more Unicode character to the font? For example Đ (U+00D0)

This char is already in the font.
Character count is 0x22. Font table entry structure (16 bytes length):

Code: Select all

2bytes - character
2bytes - texture number (1 or 0)
2bytes - posX
2bytes - posY
1byte - width
1byte - height
1byte - zero
1byte - ?
1byte - ? (same value as width)
3bytes - padding
DKH6789
Posts: 14
Joined: Sun Mar 15, 2020 3:23 pm

Re: Font bfnt - FE Awakening

Post by DKH6789 »

LinkOFF wrote:
DKH6789 wrote:Could you please help/guide me the way to add more Unicode character to the font? For example Đ (U+00D0)

This char is already in the font.
Character count is 0x22. Font table entry structure (16 bytes length):

Code: Select all

2bytes - character
2bytes - texture number (1 or 0)
2bytes - posX
2bytes - posY
1byte - width
1byte - height
1byte - zero
1byte - ?
1byte - ? (same value as width)
3bytes - padding

Thank you, very clear!

I'll try right away and respond after that :D
DKH6789
Posts: 14
Joined: Sun Mar 15, 2020 3:23 pm

Re: Font bfnt - FE Awakening

Post by DKH6789 »

LinkOFF wrote:
DKH6789 wrote:Could you please help/guide me the way to add more Unicode character to the font? For example Đ (U+00D0)

This char is already in the font.
Character count is 0x22. Font table entry structure (16 bytes length):

Code: Select all

2bytes - character
2bytes - texture number (1 or 0)
2bytes - posX
2bytes - posY
1byte - width
1byte - height
1byte - zero
1byte - ?
1byte - ? (same value as width)
3bytes - padding

I tried two days with the structure you provided. And those are results:

- The "texture number" is actually the page. Because this font has 2 pages, so 0 and 1 is the 1st and 2nd page :D
- The game used reversed code for Unicode characters. i.e: "C" is 43 00 insteads of 00 43 in Unicode.
- The image files are extracted from .bfnt file inside the packed .lz file. So the bfnt is the key target.
- For the hex, I studied and can easily edit/modify. But I don't know how to add/draw more characters to the bfnt.
- For example, as you know, for some fonts, we can copy-paste from hex to new font files > edit/draw/add more characters > import hex back to the origin font files > edit hex to match number of characters > done. I think the logic here is the same: So the key point is how to add (draw) characters to the bfnt.

Hope you can help me create a tool to export/import image to bfnt, thank you so very much!!
DKH6789
Posts: 14
Joined: Sun Mar 15, 2020 3:23 pm

Re: Font bfnt - FE Awakening

Post by DKH6789 »

Close the case, I got the font modified.

Thanks anyway!
maxRNG
Posts: 1
Joined: Tue Jun 21, 2022 8:19 pm

Re: Font bfnt - FE Awakening

Post by maxRNG »

DKH6789 wrote:Close the case, I got the font modified.

Thanks anyway!


Care to share how? I'd like to make some changes to the font myself and have managed to make changes to System_0.png and System_1.png, but don't know how to repack them into System.bfnt (and System.bfnt.lz, but FEAT can handle the .lz part so that's not the issue).