# Converting OTF/TTF fonts to FNT for usage in vt



## notuxic (Sep 21, 2019)

I'm currently setting up a new FreeBSD 12 install, and would like to use a custom font in the vty. The font in question is Hack, and I'm using vt(4) as vty console driver. I've looked through all relevant manpages I found (vt(4), vtfontcvt(8), vidcontrol(1), vidfont(1)), and tried different ways and tools of converting (listed below), but have so far been unsuccessful. Thus I'm looking for help from someone that might know more about fonts or the tools in question.

What I've tried so far:

Converting TTF to BDF using otf2bdf, BDF to FNT using vtfontcvt. vtfontcvt complains about the bitmap having an unsupported width of 10 (see: Thread creating-fnt-files-for-use-with-the-vt-console.68204)
Converting TTF to BDF using otf2bdf, BDF to FNT using vtfontcvt-ng. vtfontcvt-ng complains about needing a font spacing of "Character cell".
Converting TTF to BDF using otf2bdf (with `otf2bdf -c C Hack.ttf -o Hack.bdf`) for "Character cell" font spacing, BDF to FNT using vtfontcvt-ng. vtfontcvt-ng complains about a DWIDTH of 0 0 for a character.
Converting TTF to BDF using x11-fonts/gbdfed, BDF to FNT using vtfontcvt(-ng). Same errors as above.
Converting TTF to HEX using gbdfed, HEX to FNT using vtfontcvt(-ng). This executes sussessfully, but when loading the font with vidcontrol it appears corrupted (basically noise instead of readable characters)
Does anybody have an idea about how to fix these errors, or convert a OTF/TTF font to FNT in another way?


----------



## aribi (May 1, 2020)

I had the same problem, be it with a different font.
Seems that in gbdfed you need to set the font property "SPACING" to the letter C before saving (Edit->Properties aka CTRL+P).
Don't know much about fonts, but I imagine for fixed fonts that can't do any harm.
That way vtfontcvt-ng converted flawlessly and the file loads OK with vidcontrol.


----------

