FNT (Windows Font)

From Just Solve the File Format Problem
(Difference between revisions)
Jump to: navigation, search
(Identification: Copy-editing)
(7 intermediate revisions by 4 users not shown)
Line 4: Line 4:
 
|extensions={{ext|fnt}}
 
|extensions={{ext|fnt}}
 
}}
 
}}
'''FNT''' is a mostly-obsolete font format associated with Microsoft Windows. It stores a single bitmapped or stroked (vector) font. It is the raw font format used inside [[FON]] container files, and can also appear by itself in an '''.fnt''' file.
+
'''FNT''' is a mostly-obsolete bitmap or stroked (vector) font format associated with Microsoft Windows. FNT-format fonts are most commonly found inside [[Windows resource|resources]] of [[New Executable]] (sometimes [[Portable Executable]]) files, particularly in dedicated [[FON]] (<code>.fon</code>) files. They may also appear standalone (without a container), where they have the extension <code>.fnt</code>.
 +
 
 +
== Identification ==
 +
Such fonts files begin with a nil-byte. The next byte contains a value in range from one to three. These two bytes correspond to the version of the font file.
 +
 
 +
Then the file size is stored as a 4 byte little endian value. Since a font can contain a maximum of 255 characters and a few bytes are required per character description, this size is usually in the thousands. Since the file header alone is more than 100 bytes, the size of a theoretically minimal FNT file with only one character is larger than 100.
 +
 
 +
From offset 80 three properties of the font are saved in one byte each. These font properties are italic, underlined and strikeout. If the font has the property in question, the corresponding value is one. Otherwise the value is zero.
  
 
== Software ==
 
== Software ==
 
* [http://www.seasip.info/Unix/PSF/ PSF Tools]
 
* [http://www.seasip.info/Unix/PSF/ PSF Tools]
 +
* [http://hukka.ncn.fi/fony/Fony-wip.zip Fony.exe] to edit Windows bitmap fonts in <code>FON</code>/<code>FNT</code> format.
 +
* [https://www.chiark.greenend.org.uk/~sgtatham/fonts/mkwinfont mkwinfont]
 +
* [https://www.chiark.greenend.org.uk/~sgtatham/fonts/dewinfont dewinfont]
 +
 +
== Sample files ==
 +
* http://www.vsoft.nl/software/utils/win/fontedit/fontedit.zip → SAMPLE.FNT
  
 
== Links ==
 
== Links ==
* [http://support.microsoft.com/kb/65123 Windows Developers Notes: Font-File Format]
+
* [http://support.microsoft.com/kb/65123 Windows Developers Notes: Font-File Format] - Covers versions 2 and 3 of the format.
 +
* [http://www.os2museum.com/files/docs/win10sdk/windows-1.03-sdk-prgref-1986.pdf Windows 1.03 Programmer's Reference] (PDF) - Appendix C describes version 1 of the format.
 +
* [https://msdn.microsoft.com/en-us/library/cc250412.aspx MSDN: CharacterSet Enumeration] - Codes used by the ''dfCharSet'' field
 +
* [https://github.com/juanitogan/mkwinfont mkwinfont]  
  
 
[[Category:Microsoft]]
 
[[Category:Microsoft]]
 +
[[Category:Windows]]

Revision as of 20:21, 31 January 2021

File Format
Name FNT (Windows Font)
Ontology
Extension(s) .fnt

FNT is a mostly-obsolete bitmap or stroked (vector) font format associated with Microsoft Windows. FNT-format fonts are most commonly found inside resources of New Executable (sometimes Portable Executable) files, particularly in dedicated FON (.fon) files. They may also appear standalone (without a container), where they have the extension .fnt.

Contents

Identification

Such fonts files begin with a nil-byte. The next byte contains a value in range from one to three. These two bytes correspond to the version of the font file.

Then the file size is stored as a 4 byte little endian value. Since a font can contain a maximum of 255 characters and a few bytes are required per character description, this size is usually in the thousands. Since the file header alone is more than 100 bytes, the size of a theoretically minimal FNT file with only one character is larger than 100.

From offset 80 three properties of the font are saved in one byte each. These font properties are italic, underlined and strikeout. If the font has the property in question, the corresponding value is one. Otherwise the value is zero.

Software

Sample files

Links

Personal tools
Namespaces

Variants
Actions
Navigation
Toolbox