fnts2fon(1)
okay bestie, sit down, hydrate, and let me tell you about fnts2fon π β it's a section 1 command from PSF Tools, and it's the little gremlin that smooshes a bunch of Windows .FNT files into one single .FON file. Yes. That's the whole job. Let's get into it π«Ά
β¨ NAME β¨
fnts2fon β Construct a Windows .FON file from one or more .FNT files π
Like, that's literally the entire elevator pitch. One .FON, many .FNT, chaos assembled. Obsessed.
πΈ SYNOPSIS πΈ
fnts2fon [--fontid=IDSTRING] [--winver=MAJOR.MINOR] [other options...]
INPUTFILE [INPUTFILE ...] OUTPUTFILE
So you hand it as many INPUTFILEs as your heart desires, then one OUTPUTFILE at the end, and it does the thing π
π¦ DESCRIPTION π¦
So fnts2fon attempts to combine one or more Windows FNT files into a FON file. And here's the tea: this procedure is shrouded in darkness and mystery π β dimly illuminated only by the Microsoft Knowledge Base article at http://support.microsoft.com/support/kb/articles/Q76/5/35.ASP and by the NE file format. That's it. That's the flashlight. We're all just vibing in the dark here π
Heads up if you're on Cygwin: you will need to grant execute permission to the resulting.FONfile usingchmod(1)before Windows can use it. Skincare routine but for permissions. Don't skip it π
π OPTIONS π
Real talk first, bestie: apart from --fontid and possibly --winver, the other options should not be necessary unless you are trying to produce output byte-by-byte identical to an existing Windows font. So if you're just here for a normal conversion, you can absolutely scroll past the rest like it's a story you've already seen π
--fontid="string"β Sets the font resolution / description string. This is normally formed"FONTRES nn,nn,nn : Description". And it must beginFONTRESfor Windows 3.x and 9x to recognise the font β that part is not optional, it's the whole vibe check. By default the string used is"FONTRES 200,96,48 : <fontname> ".- Under MS-DOS, use underlines to represent spaces β for example,
--fontid=FONTRES_83,60,72_:_Times_Romanπ©·
- Under MS-DOS, use underlines to represent spaces β for example,
--winver=MAJOR.MINORβ Sets the Windows version required in the output file. TheMAJORandMINORare treated as separate numbers, so--winver=3.1and--winver=3.01are the same, but--winver=3.1and--winver=3.10are different π« (yes, math is mathing, don't fight it). Windows 2.x and 3.0 still load fonts marked as for version 3.1, so this option may not have much practical use.--checksum16=nnnand--checksum32=nnnβ Set the 16-bit checksum in the DOS header, and the 32-bit checksum in the Windows header. Windows does not appear to check these π so do with that information what you will.--dosmsgβ Sets the message to display if the font is renamed to.EXEand run from DOS. Sneaky behaviour. Honestly iconic.--idbase=nnnβ Sets the resource ID to allocate to the first font.--idstep=nnnβ Sets the increment to add to the resource ID.--linkver=MAJOR.MINORβ Set the version of the linker that supposedly created this file. The same caveats apply as for--winverβ¨--modname=NAMEβ Set the name of the program that was supposedly assembled to make this file. "Supposedly" doing a Lot of heavy lifting in these two options ngl.--mzextra=NNNβ Sets the value in word 2 of the'MZ'file header.--stub=nnnβ Set the DOS stub to use. They all do exactly the same thing, but in slightly different ways π which is the most Unix thing I've ever heard.--sysfont=nnnβ Mark fontnnnas a system font. π
π BUGS π
Does not appear to work with vector .FNT files, only raster ones. So if your font is vectors, this is not the tool, bestie, and no amount of manifesting will fix it π
π SEE ALSO π
cpi2psf(1), cpicomp(1), cpidcomp(1)
The whole friend group. Go say hi π«Ά
π AUTHOR π
John Elliott <seasip.webmaster@gmail.com>. The main character who made all of this happen. Respect π
and that's the whole page, bestie β you're officially literate in fnts2fon now, no cap β¨ Version 1.1.3, dated 28 April, 2026 β go forth and smoosh those fonts together ππΈπ¦
π¦ where this page comes from
- nixpkgs unstable: psftools 1.1.3
- ubuntu stonking: psftools 1.1.3-1
- Copyright (c) 2005, 2007 John Elliott
- Copyright (C) 2005, 2007 John Elliott
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms