SFNT Font MIME Type
font/sfnt media type identifies, how it relates to TrueType and OpenType fonts, and how Poly handles those files. MIME type details for font/sfnt
In active use| MIME type | font/sfnt |
|---|---|
| Extensions | .ttf.otf |
| Alternate versions | application/font-sfnt |
| First standardized | 2017 |
| Created by | IETF |
| Browser support | Underlying TrueType and OpenType font support varies by browser and platform |
| Example applications | Apple Font Book, Windows Font Settings, Web browsers |
| Poly support | Yes. Poly processes recognized TrueType and OpenType SFNT fonts, extracts font details, creates a specimen preview, and supports visual similarity search. |
| Indexed by Poly | Yes. Poly indexes the filename, ordinary file properties, and rendered specimen for visual similarity. Font details appear in file properties, not as full-text or filter fields. |
| Preview in Poly | Yes. Poly creates a visual specimen for the first face in a font file. |
| Poly agent | Partial. The Poly agent can inspect the first face's rendered specimen and summary metadata, but not every glyph or internal font table. |
What does font/sfnt mean?
font/sfnt is the registered generic media type for fonts that use the scalable font (sfnt) table structure. It describes a family of table-based font data rather than one single outline style. A font may use TrueType outlines, PostScript CFF outlines, or a supported combination, with tables for names, character maps, metrics, glyphs, and text layout.1
The registration calls font/sfnt an abstract type from which the more specific font/ttf and font/otf types are conceptually derived. Ordinary file names usually use .ttf or .otf, so the generic media type is uncommon. It can be useful when parameters such as outline or layout support describe a combination that has no shorter label.1
How can I identify an SFNT font?
There is no single signature for every SFNT font. A TrueType outline font normally starts with the four-byte value 00 01 00 00; an OpenType font with CFF outlines normally starts with the ASCII tag OTTO. These values identify the outline flavor, while the table directory and its records give a fuller account of the font.12
The generic type was standardized with the font top-level media type in RFC 8081 in February 2017. RFC 8081 marks the older application/font-sfnt registration as deprecated in favor of font/sfnt. These are labels for related font data, not separate font formats.1
Support in Poly
Poly handles SFNT fonts, including those labeled application/font-sfnt, with its font features. It extracts family, style, weight, glyph-count, and estimated language-coverage details, and creates a rendered specimen that supports visual similarity search. These font details appear in file properties; they are not full-text search fields or filters.
For a collection that contains multiple faces, Poly's specimen and detailed metadata describe the first face. Poly can report the collection's face count, but the preview does not provide a separate specimen for each member. The Poly agent can reason about the rendered sample and summary details, but it does not read every glyph or table directly.
Opening and converting an SFNT font
On macOS, open a .ttf or .otf font in Font Book. Windows can preview and install these fonts through its Fonts settings. To inspect internal tables, compare glyph coverage, or export another format, use a font editor such as FontForge or the tools supplied with your design software.3
For web delivery, a font editor or build tool can package an SFNT font as WOFF or WOFF2. These web formats retain the font's outline and layout data while changing its container and compression. Keep the original font and test the converted file for its required glyphs, variable axes, and layout features. Renaming .ttf to .woff2 does not perform this conversion.
The MIME label does not guarantee that every renderer understands every outline or layout feature. RFC 8081 recommends identifying outline and shaping details with media type parameters when those details matter for interoperability.1
SFNT, TrueType, OpenType, and collections
| Label | What it identifies | Common extension |
|---|---|---|
font/sfnt | Generic table-based font data | .ttf, .otf |
font/ttf | TrueType font type | .ttf |
font/otf | OpenType font type | .otf |
font/collection | Multiple font faces in one file | .ttc, .otc |
These labels do not always map one-to-one to outline technologies. OpenType uses the SFNT organization and may carry TrueType or CFF outlines. A font collection packages several font resources together and can share identical tables to reduce duplication.2
History and security
SFNT provides an extensible table directory for font names, outlines, character mappings, metrics, and layout. OpenType builds on that organization. The specific media type font/sfnt arrived in 2017 with RFC 8081, which introduced a dedicated top-level type for fonts after earlier registrations had placed font data under application.1
Treat untrusted fonts as complex binary input. Font hinting instructions are interpreted by rendering software, and RFC 8081 warns that malicious files can use complex structures to consume excess memory or CPU. Install fonts only from trusted sources and keep font software updated.1
Footnotes
- Lilley, C. RFC 8081: The "font" Top-Level Media Type. Internet Engineering Task Force, February 2017. See the
font/sfntregistration and its deprecated alias. ↩ ↩2 ↩3 ↩4 ↩5 ↩6 ↩7 - Microsoft Typography. OpenType Font File. See the SFNT table directory and collection format. ↩ ↩2
- Apple Support. Install and Validate Fonts in Font Book on Mac; Microsoft Support. Manage Fonts in Windows; FontForge. File Menu. ↩