How can I generate a .fnt file from my own bitmap font PNG?

Hi everyone,

I have a PNG file containing the bitmap letters that I would like to use as a font in Defold. From what I understand, besides the PNG image, I also need a .fnt file in order to use it as a bitmap font.

Does anyone know how I can generate the .fnt file from my existing PNG?

I’ve looked at tools such as BMFont, but most examples I’ve found seem to generate both the PNG and the .fnt file from a system font. In my case, I already have a custom pixel-art PNG that I want to use and I only need a way to create the corresponding .fnt file.

I’ve attached a screenshot of the bitmap font image for reference.

Any suggestions or recommended tools would be greatly appreciated.

Thank you in advance!

I think I used a tool called Hiero the last time I did this but it was a long time ago; Hiero - libGDX

it spat out a fnt file in the format below.

info face=“bb16” size=16 bold=0 italic=0 charset=“” unicode=0 stretchH=100 smooth=0 aa=1 padding=1,1,1,1 spacing=-2,-2 outline=0
common lineHeight=19 base=12 scaleW=128 scaleH=192 pages=1 packed=0
page id=0 file=“bb16.png”
chars count=96
char id=32       x=0    y=0    width=16   height=16   xoffset=0   yoffset=0    xadvance=16    page=0    chnl=0
char id=33      x=16   y=0    width=16   height=16   xoffset=0   yoffset=0   xadvance=16    page=0    chnl=0
char id=34      x=32    y=0    width=16   height=16   xoffset=0   yoffset=0   xadvance=16    page=0    chnl=0
char id=35      x=48    y=0    width=16   height=16   xoffset=0   yoffset=0   xadvance=16   page=0    chnl=0
char id=36      x=64   y=0    width=16   height=16   xoffset=0   yoffset=0   xadvance=16   page=0    chnl=0
char id=37      x=80   y=0    width=16   height=16   xoffset=0   yoffset=0   xadvance=16   page=0    chnl=0
char id=38      x=96   y=0    width=16   height=16   xoffset=0   yoffset=0   xadvance=16   page=0    chnl=0
char id=39      x=112   y=0    width=16   height=16   xoffset=0   yoffset=0   xadvance=16   page=0    chnl=0

char id=40      x=0  y=16    width=16   height=16   xoffset=0   yoffset=0   xadvance=16   page=0    chnl=0
char id=41      x=16  y=16    width=16   height=16   xoffset=0   yoffset=0   xadvance=16   page=0    chnl=0
char id=42      x=32  y=16    width=16   height=16   xoffset=0   yoffset=0   xadvance=16   page=0    chnl=0
char id=43      x=48  y=16    width=16   height=16   xoffset=0   yoffset=0   xadvance=16   page=0    chnl=0
char id=44      x=64    y=16   width=16   height=16   xoffset=0   yoffset=0   xadvance=16   page=0    chnl=0
char id=45      x=80   y=16   width=16   height=16   xoffset=0   yoffset=0   xadvance=16   page=0    chnl=0
char id=46      x=96   y=16   width=16   height=16   xoffset=0   yoffset=0   xadvance=16   page=0    chnl=0
char id=47      x=112   y=16   width=16   height=16   xoffset=0   yoffset=0   xadvance=16   page=0    chnl=0

char id=48      x=0   y=32   width=16   height=16   xoffset=0   yoffset=0   xadvance=16   page=0    chnl=0
char id=49      x=16   y=32   width=16   height=16   xoffset=0   yoffset=0   xadvance=16   page=0    chnl=0
char id=50      x=32   y=32   width=16   height=16   xoffset=0   yoffset=0   xadvance=16   page=0    chnl=0
char id=51      x=48  y=32   width=16   height=16   xoffset=0   yoffset=0   xadvance=16   page=0    chnl=0
char id=52      x=64  y=32   width=16   height=16   xoffset=0   yoffset=0   xadvance=16   page=0    chnl=0
char id=53      x=80  y=32   width=16   height=16   xoffset=0   yoffset=0   xadvance=16   page=0    chnl=0
char id=54      x=96  y=32   width=16   height=16   xoffset=0   yoffset=0   xadvance=16   page=0    chnl=0
char id=55      x=112  y=32   width=16   height=16   xoffset=0   yoffset=0   xadvance=16   page=0    chnl=0

char id=56      x=0  y=48   width=16   height=16   xoffset=0   yoffset=0   xadvance=16   page=0    chnl=0
char id=57      x=16  y=48   width=16   height=16   xoffset=0   yoffset=0   xadvance=16   page=0    chnl=0
char id=58      x=32  y=48   width=16   height=16   xoffset=0   yoffset=0   xadvance=16   page=0    chnl=0
char id=59      x=48  y=48   width=15   height=16   xoffset=0   yoffset=0   xadvance=16   page=0    chnl=0
char id=60      x=64   y=48   width=16   height=16   xoffset=0   yoffset=0   xadvance=16   page=0    chnl=0
char id=61      x=80   y=48   width=16   height=16   xoffset=0   yoffset=0   xadvance=16   page=0    chnl=0
char id=62      x=96   y=48   width=16   height=16   xoffset=0   yoffset=0   xadvance=16   page=0    chnl=0
char id=63      x=112   y=48   width=16   height=16   xoffset=0   yoffset=0   xadvance=16   page=0    chnl=0

char id=169      x=0   y=64   width=16   height=16   xoffset=0   yoffset=0   xadvance=16   page=0    chnl=0
char id=65      x=16   y=64   width=16   height=16   xoffset=0   yoffset=0   xadvance=16   page=0    chnl=0
char id=66      x=32   y=64   width=16   height=16   xoffset=0   yoffset=0   xadvance=16   page=0    chnl=0
char id=67      x=48  y=64   width=16   height=16   xoffset=0   yoffset=0   xadvance=16   page=0    chnl=0
char id=68      x=64  y=64   width=16   height=16   xoffset=0   yoffset=0   xadvance=16   page=0    chnl=0
char id=69      x=80  y=64   width=16   height=16   xoffset=0   yoffset=0   xadvance=16   page=0    chnl=0
char id=70      x=96  y=64   width=16   height=16   xoffset=0   yoffset=0   xadvance=16   page=0    chnl=0
char id=71      x=112  y=64   width=16   height=16   xoffset=0   yoffset=0   xadvance=16   page=0    chnl=0

char id=72      x=0  y=80   width=16   height=16   xoffset=0   yoffset=0   xadvance=16   page=0    chnl=0
char id=73      x=16  y=80   width=16   height=16   xoffset=0   yoffset=0   xadvance=16   page=0    chnl=0
char id=74      x=32  y=80   width=16   height=16   xoffset=0   yoffset=0   xadvance=16   page=0    chnl=0
char id=75      x=48    y=80   width=16   height=16   xoffset=0   yoffset=0   xadvance=16   page=0    chnl=0
char id=76      x=64   y=80   width=16   height=16   xoffset=0   yoffset=0   xadvance=16   page=0    chnl=0
char id=77      x=80   y=80   width=16   height=16   xoffset=0   yoffset=0   xadvance=16   page=0    chnl=0
char id=78      x=96   y=80   width=16   height=16   xoffset=0   yoffset=0   xadvance=16   page=0    chnl=0
char id=79      x=112   y=80   width=16   height=16   xoffset=0   yoffset=0   xadvance=16   page=0    chnl=0

char id=80      x=0   y=96   width=16   height=16   xoffset=0   yoffset=0   xadvance=16   page=0    chnl=0
char id=81      x=16   y=96   width=16   height=16   xoffset=0   yoffset=0   xadvance=16   page=0    chnl=0
char id=82      x=32  y=96   width=16   height=16   xoffset=0   yoffset=0   xadvance=16   page=0    chnl=0
char id=83      x=48  y=96   width=16   height=16   xoffset=0   yoffset=0   xadvance=16   page=0    chnl=0
char id=84      x=64  y=96   width=16   height=16   xoffset=0   yoffset=0   xadvance=16   page=0    chnl=0
char id=85      x=80  y=96   width=16   height=16   xoffset=0   yoffset=0   xadvance=16   page=0    chnl=0
char id=86      x=96  y=96   width=16   height=16   xoffset=0   yoffset=0   xadvance=16   page=0    chnl=0
char id=87      x=112  y=96   width=16   height=16   xoffset=0   yoffset=0   xadvance=16   page=0    chnl=0

char id=88      x=0  y=112   width=16   height=16   xoffset=0   yoffset=0   xadvance=16   page=0    chnl=0
char id=89      x=16  y=112   width=16   height=16   xoffset=0   yoffset=0   xadvance=16   page=0    chnl=0
char id=90      x=32    y=112   width=16   height=16   xoffset=0   yoffset=0   xadvance=16   page=0    chnl=0
char id=91      x=48   y=112   width=16   height=16   xoffset=0   yoffset=0   xadvance=16   page=0    chnl=0
char id=92      x=64   y=112   width=16   height=16   xoffset=0   yoffset=0   xadvance=16   page=0    chnl=0
char id=93      x=80   y=112   width=16   height=16   xoffset=0   yoffset=0   xadvance=16   page=0    chnl=0
char id=94      x=96  y=112   width=15   height=16   xoffset=0   yoffset=0   xadvance=16   page=0    chnl=0
char id=95      x=112   y=112   width=16   height=16   xoffset=0   yoffset=0   xadvance=16   page=0    chnl=0

char id=96      x=0   y=128   width=16   height=16   xoffset=0   yoffset=0   xadvance=16   page=0    chnl=0
char id=97      x=16   y=128   width=16   height=16   xoffset=0   yoffset=0   xadvance=16   page=0    chnl=0
char id=98      x=32  y=128   width=16   height=16   xoffset=0   yoffset=0   xadvance=16   page=0    chnl=0
char id=99     x=48  y=128   width=16   height=16   xoffset=0   yoffset=0   xadvance=16   page=0    chnl=0
char id=100     x=64  y=128   width=16   height=16   xoffset=0   yoffset=0   xadvance=16   page=0    chnl=0
char id=101     x=80  y=128   width=16   height=16   xoffset=0   yoffset=0   xadvance=16   page=0    chnl=0
char id=102     x=96  y=128   width=16   height=16   xoffset=0   yoffset=0   xadvance=16   page=0    chnl=0
char id=103     x=112  y=128   width=16   height=16   xoffset=0   yoffset=0   xadvance=16   page=0    chnl=0

char id=104     x=0  y=144   width=16   height=16   xoffset=0   yoffset=0   xadvance=16   page=0    chnl=0
char id=105     x=16  y=144   width=16   height=16   xoffset=0   yoffset=0   xadvance=16   page=0    chnl=0
char id=106     x=32    y=144  width=16   height=16   xoffset=0   yoffset=0   xadvance=16   page=0    chnl=0
char id=107     x=48   y=144  width=16   height=16   xoffset=0   yoffset=0   xadvance=16   page=0    chnl=0
char id=108     x=64   y=144  width=16   height=16   xoffset=0   yoffset=0   xadvance=16   page=0    chnl=0
char id=109     x=80   y=144  width=16   height=16   xoffset=0   yoffset=0   xadvance=16   page=0    chnl=0
char id=110     x=96   y=144  width=16   height=16   xoffset=0   yoffset=0   xadvance=16   page=0    chnl=0
char id=111     x=112   y=144  width=16   height=16   xoffset=0   yoffset=0   xadvance=16   page=0    chnl=0

char id=112     x=0   y=160  width=16   height=16   xoffset=0   yoffset=0   xadvance=16   page=0    chnl=0
char id=113     x=16  y=160  width=16   height=16   xoffset=0   yoffset=0   xadvance=16   page=0    chnl=0
char id=114     x=32  y=160  width=16   height=16   xoffset=0   yoffset=0   xadvance=16   page=0    chnl=0
char id=115     x=48  y=160  width=16   height=16   xoffset=0   yoffset=0   xadvance=16   page=0    chnl=0
char id=116     x=64  y=160  width=16   height=16   xoffset=0   yoffset=0   xadvance=16   page=0    chnl=0
char id=117     x=80  y=160  width=16   height=16   xoffset=0   yoffset=0   xadvance=16   page=0    chnl=0
char id=118     x=96  y=160  width=16   height=16   xoffset=0   yoffset=0   xadvance=16   page=0    chnl=0
char id=119     x=112  y=160  width=16   height=16   xoffset=0   yoffset=0   xadvance=16   page=0    chnl=0

char id=120     x=0   y=176  width=16   height=16   xoffset=0   yoffset=0   xadvance=16   page=0    chnl=0
char id=121     x=16  y=176  width=16   height=16   xoffset=0   yoffset=0   xadvance=16   page=0    chnl=0
char id=122     x=32  y=176  width=16   height=16   xoffset=0   yoffset=0   xadvance=16   page=0    chnl=0
char id=123     x=48  y=176  width=16   height=16   xoffset=0   yoffset=0   xadvance=16   page=0    chnl=0
char id=124     x=64  y=176  width=16   height=16   xoffset=0   yoffset=0   xadvance=16   page=0    chnl=0
char id=125     x=80  y=176  width=16   height=16   xoffset=0   yoffset=0   xadvance=16   page=0    chnl=0
char id=126     x=96  y=176  width=16   height=16   xoffset=0   yoffset=0   xadvance=16   page=0    chnl=0
char id=64     x=112  y=176  width=16   height=16   xoffset=0   yoffset=0   xadvance=16   page=0    chnl=0

1 Like

Thank you very much! I’ll take a look