Wat is het DFONT-bestandsformaat?
Een .dfont-bestand is een Mac OS X-lettertypecontainer die TrueType- of OpenType-lettertypegegevens opslaat in de reguliere data-fork van een bestand in plaats van in de HFS+ resource-fork. Apple introduceerde het formaat met Mac OS X 10.0 (maart 2001) om een probleem met cross-platform compatibiliteit op te lossen: Classic Mac OS-lettertypen sloegen glyph-gegevens uitsluitend op in HFS resource-forks, die stilletjes werden verwijderd wanneer bestanden werden gekopieerd naar FAT, SMB of andere niet-HFS-volumes.
De oplossing was om de lay-out van de resource-fork byte-voor-byte te repliceren in de data-fork en de extensie .dfont te verplichten. Het bestand begint met 16 nul-bytes waar normaal gesproken een resource-fork-header zou staan, en gaat dan verder met een standaard resource-map en resource-datagegevens die sfnt-blobs (de eigenlijke TrueType- of OpenType-contouren) en optionele FOND-familierecords bevatten. Meerdere lettertypevarianten - Regular, Bold, Italic, Bold Italic - kunnen worden gebundeld in één enkele .dfont-suitcase.
Tegen de tijd van macOS 10.6 Snow Leopard (2009) migreerde Apple de meeste systeemlettertypen naar gewone .ttf- en .otf-bestanden. Een kleine set legacy .dfont-bestanden blijft aanwezig in /System/Library/Fonts/ voor achterwaartse compatibiliteit. De sfnt-records in een .dfont zijn volledig geldige TrueType- of OpenType-gegevens - tools zoals FontForge en DfontSplitter kunnen deze extraheren als standaard .ttf-bestanden die op elk platform bruikbaar zijn.
macOS Lettertypecatalogus opent .dfont-bestanden standaard. Op Windows wordt het formaat niet herkend door het besturingssysteem; extractietools van derden zijn vereist.
Beveiliging & veiligheid
RISICO: LOWLettertypebestanden worden gelezen door de lettertyperenderer van het besturingssysteem; misvormde lettertypen hebben in het verleden kernel panics veroorzaakt op macOS (zeldzaam). Installeer alleen .dfont-bestanden van vertrouwde bronnen.
Formaatdetails
in een notendopProgramma's die DFONT-bestanden openen
Technische details
diepe specificaties| Byte-volgorde | Big-endian (komt overeen met de Classic Mac OS resource-fork-conventie) |
| Bestandsheader | 16 nul-bytes op offset 0 - tijdelijke aanduiding voor resource-fork; geeft aan dat de resource-map onmiddellijk volgt |
| Interne container | Mac OS resource-fork-structuur (resource-map + resource-datagegevens) letterlijk opgeslagen in de data-fork |
| Primair resourcetype | `sfnt`-blobs - bevatten geldige TrueType- of OpenType-contourgegevens (CFF- of glyf-tabel) |
| Secundair resourcetype | `FOND` (Font Family Descriptor) records voor familie-metadata en legacy bitmap-lettertypegroottes |
| Bundeling van meerdere varianten | Een enkele `.dfont` kan meerdere varianten bevatten (Regular, Bold, Italic, Bold Italic) als afzonderlijke `sfnt`-resources binnen één bestand |
| Glyph-formaat binnenin | TrueType kwadratische Bezier-contouren of OpenType CFF kubische contouren binnen de `sfnt`-stream |
| Typische grootte | 20 KB - 5 MB (varieert afhankelijk van het aantal glyphs, het aantal varianten en hinting-gegevens) |
| Codering | Binaire, big-endian resource-fork-lay-out |
| Extractie-compatibiliteit | `sfnt`-streams zijn geldige zelfstandige TrueType/OpenType-bestanden; extraheerbaar door DfontSplitter, FontForge en het `fondu` opdrachtregelprogramma |
| Pad naar systeemlettertypen | `/System/Library/Fonts/` - legacy Apple-systeemlettertypen blijven behouden als `.dfont` nadat de meeste zijn gemigreerd naar `.ttf`/`.otf` in macOS 10.6 |
| Bestandstypecode | HFS+ bestandstypecode `dfon`; geen vaste magic bytes (bestand begint met 16 nul-bytes) |
| Windows-compatibiliteit | Niet standaard installeerbaar op Windows; vereist extractie van `sfnt`-resources naar `.ttf` via DfontSplitter of vergelijkbare tools |
| Compressie | Geen - glyph-gegevens worden ongecomprimeerd opgeslagen binnen resource-blobs |
| Uitgebracht | 2001 (Mac OS X 10.0) |
| Laatste versie | No versioned spec; format frozen at introduction |
| Open standaard | Ja · royaltyvrij |
| Specificatie | fontforge.org |
DFONT conversies
Community V&A
gevraagd door gebruikersNog geen vragen - wees de eerste om iets te vragen over DFONT-bestanden.