Legacy Font Formats: Type 1, PFB, EOT, and DFONT
One reference for the four obsolete font formats you still find in old design archives, build pipelines, and system folders, plus the modern format that replaces each one
In Simple Terms
Four legacy formats, one guide: PostScript Type 1 (Adobe, 1984), PFB (the binary container that holds a Type 1 font), EOT or Embedded OpenType (Microsoft, 1997, Internet Explorer only), and DFONT or macOS Datafork Font (Apple, 2001).All four are obsolete. Adobe ended Type 1 support in January 2023, Internet Explorer was retired in June 2022 which killed EOT outright, and macOS still reads DFONT files only for backwards compatibility.Migrate desktop fonts to OpenType (OTF) or TrueType (TTF). Migrate web fonts to WOFF2 with a WOFF fallback. There is no scenario in which a new project should target any of these four formats.
In this article
What Are Legacy Font Formats?
A legacy font format is one whose original vendor has ended support, whose host platform has been retired, or which has been superseded by a format that does everything it did and more. Legacy formats still open in some tools, they still sit in archives and asset folders, and they still turn up in old build scripts, but none of them is a safe delivery target today.
This page covers the four legacy formats that people actually still encounter: PostScript Type 1, PFB, EOT, and DFONT. Each gets a full section below with its history, technical specification, file structure, and migration route.
Two Families, Not Four Independent Formats
It helps to know how these formats relate to each other before reading about them individually:
- Type 1 and PFB are the same font family. A Type 1 font is a PostScript program. PFB (Printer Font Binary) is the binary container that program ships in on Windows and DOS, and PFA (Printer Font ASCII) is the ASCII variant used on Unix and classic Mac OS. If you have a .pfb file, you have a Type 1 font.
- EOT and DFONT are both wrappers. Neither one invents a new outline technology. EOT wraps an sfnt-based TrueType or OpenType font for Internet Explorer, and DFONT wraps one or more TrueType fonts in the data fork of a macOS file. Convert either one and you are simply unwrapping the font that was inside all along.
How to Recognise Legacy Font Files
.pfbor.pfaplus a matching.pfmor.afmfile: a PostScript Type 1 font and its metrics.eotnext to .woff and .ttf in a fonts directory: an Internet Explorer fallback from an old @font-face stack.dfontin/System/Library/Fonts/or an old Mac application bundle: a data fork suitcase.lwfnsuitcases on classic Mac OS: the Mac packaging of Type 1 outlines
The short version
None of these four formats should be produced by a modern pipeline. Keep the originals archived if you need to reproduce old documents exactly, convert working copies to OpenType or TrueType for desktop use, and ship WOFF2 for the web.
Legacy Format Comparison
The four formats side by side. Read this first, then jump to the section for whichever format you are holding.
| Format | Full Name | Developer and Year | Status Today | Replace With |
|---|---|---|---|---|
| Type 1 | PostScript Type 1 | Adobe, 1984 (introduced as part of PostScript) | Adobe ended support in January 2023 | OpenType (OTF) |
| PFB | PostScript Type 1 Binary | Adobe, same family as Type 1 | Obsolete with Type 1; needs paired metrics files | OpenType (OTF) |
| EOT | Embedded OpenType | Microsoft, 1997 | Fully obsolete; Internet Explorer retired June 2022 | WOFF2 with WOFF fallback |
| DFONT | macOS Datafork Font | Apple, 2001 | Deprecated; macOS still reads them, nothing else does | TTF or OTF (TTC for collections) |
Technical Identifiers at a Glance
| Format | Extensions | MIME Type | Companion Files | Outline Technology |
|---|---|---|---|---|
| Type 1 | .pfb, .pfa | application/x-font-type1, font/type1 | .pfm or .afm required, .inf optional | Cubic Bezier (PostScript) |
| PFB | .pfb | application/x-font-type1 | .pfm (Windows) or .afm (Mac and Unix) | Cubic Bezier (PostScript) |
| EOT | .eot | application/vnd.ms-fontobject | None; self-contained wrapper | Whatever the embedded sfnt font uses |
| DFONT | .dfont | application/x-font-dfont, font/ttf | None; suitcase holds every face | Quadratic B-splines (TrueType) |
Reading the table
Type 1 and PFB share a row of properties because they are the same thing described at two levels: Type 1 is the font technology, PFB is the file that carries it. EOT and DFONT have no companion files because both are self-contained containers, which is also why converting them is lossless.
PostScript Type 1
Type 1 at a Glance
Developer
Adobe Systems, specification introduced 1984 as part of PostScript
File Extensions
.pfb (binary), .pfa (ASCII), .pfm/.afm (metrics)
MIME Type
application/x-font-type1, font/type1
Type
PostScript outline font using cubic Bezier curves
Platform Support
End of life; Adobe ended support in January 2023
Superseded By
OpenType, specifically OpenType CFF
What PostScript Type 1 Is
PostScript Type 1 is a font format developed by Adobe Systems and introduced in 1984 as an integral component of the PostScript page description language. For nearly four decades it was the professional standard for digital typography, powering the desktop publishing revolution and defining print quality benchmarks worldwide. The format defines scalable, resolution-independent glyph outlines using cubic Bezier curves.
Unlike modern single-file formats, a Type 1 font is a set of companion files rather than one file:
- Outline files: PFB (Printer Font Binary) on Windows and DOS, or PFA (Printer Font ASCII) on Unix and classic Mac OS, containing the encrypted glyph program
- Metrics files: PFM (Printer Font Metrics) on Windows or AFM (Adobe Font Metrics) on Mac and Unix, carrying character widths and kerning pairs
- Installation files: INF files on Windows with font installation information
- Multiple Master (MM): an advanced variant shipped between 1991 and 1999 with interpolation axes, discontinued but a direct ancestor of variable fonts
Format History
Before PostScript, digital typography ran on fixed-size bitmap fonts that consumed enormous storage, scaled badly, differed per printer, and made true WYSIWYG impossible. Professional typesetting required dedicated systems such as Linotype machines costing well over one hundred thousand dollars. John Warnock and Charles Geschke developed PostScript at Xerox PARC as a device-independent page description language, and when Xerox declined to commercialise it, the pair founded Adobe Systems in December 1982 with PostScript as the flagship technology.
Type 1 emerged from Adobe's partnership with Apple on the LaserWriter. Apple licensed PostScript in 1984, and in March 1985 the LaserWriter shipped at 6,995 dollars with 35 built-in Type 1 fonts. Combined with Aldus PageMaker in July 1985, that trio replaced six-figure typesetting systems with desktop hardware and created the desktop publishing industry.
| Year | Milestone | Impact |
|---|---|---|
| 1984 | Type 1 introduced as part of PostScript | Scalable outline fonts become practical |
| 1985 | Apple LaserWriter ships with 35 fonts | Desktop publishing becomes viable |
| 1987 | Adobe Illustrator released | PostScript becomes the graphic design standard |
| 1988 | QuarkXPress gains market dominance | Type 1 entrenched in professional publishing |
| 1989 | Adobe Type Manager (ATM) released | Screen display finally matches printer output |
| 1990 | Type 1 specification published | Format opened to third-party foundries under TrueType pressure |
| 1991 to 1999 | Multiple Master experiment | Interpolation axes fail commercially, later revived as variable fonts |
| 1996 | OpenType announced by Adobe and Microsoft | Adobe begins planning the migration away from Type 1 |
| 2000 to 2005 | Adobe converts its entire library to OpenType | Type 1 enters decline |
| 2019 to 2020 | macOS Catalina warns, Big Sur blocks installation | Operating system support collapses |
| January 2023 | Adobe ends Type 1 support | Official end of life after 38 years |
Type 1 Strengths in Its Era
- Superior cubic Bezier curve quality
- Established as the professional standard
- Extensive Adobe and foundry libraries
- Native PostScript printer integration
- Proven production workflows
Why TrueType Won Consumers
- Built into the operating system, no ATM needed
- Better low-resolution hinting
- Royalty-free, open specification
- Single file instead of PFB plus PFM or AFM
- More accessible to font creators
What Adobe Did in January 2023
- Creative Cloud 2023: Photoshop, Illustrator, and InDesign removed Type 1 support
- Adobe Fonts: stopped serving Type 1 fonts to subscribers
- Official guidance: convert all Type 1 fonts to OpenType immediately
- Rationale: security vulnerabilities, maintenance burden, and format obsolescence
- Industry response: other vendors followed Adobe's lead
Technical Specifications
Type 1 defines glyph shapes using third-order (cubic) Bezier curves. Each segment has a start point, an end point, and two control points, which makes cubic curves more mathematically expressive than the quadratic curves TrueType uses. Fewer points are needed to describe a smooth, complex curve, which suits flowing letterforms and serifs particularly well, and the PostScript interpreter rasterises the result at the target device resolution.
Encryption and Security
- Algorithm: eexec, a simple XOR cipher with a fixed key (55665 decimal, 0xD971 hex)
- Purpose: prevent casual copying and unauthorised modification
- Effectiveness: not secure by modern standards and easily circumvented
- Legacy issues: complicates conversion, archiving, and forensic analysis
Character Encoding Schemes
- StandardEncoding: Adobe's default character set
- MacRomanEncoding: classic Mac OS encoding
- WinAnsiEncoding: Windows code page 1252
- ExpertEncoding: small caps, fractions, ligatures, and oldstyle figures
- CE encoding: Central European accented characters
- Symbol and Dingbats: special character sets shipped as separate fonts
Type 1 also carries PostScript hinting for low-resolution output: stem hints keep stroke widths consistent, alignment zones snap the baseline, x-height, cap height, and ascender or descender, blue values mark key vertical positions, flex hints handle curves that sit close to straight lines, and ghost hints control spacing invisibly. All of it is less sophisticated than TrueType's grid-fitting instructions, which is why Type 1 rendered worse on screen than in print.
Font File Structure
A Type 1 font is literally a PostScript program. Its dictionary declares the font properties, and the encrypted section that follows carries the glyph programs and the Private dictionary that holds the hinting data.
Font Dictionary Example
%!PS-AdobeFont-1.0: MyFont-Regular 001.000
%%CreationDate: 1990:12:15 12:00:00
%%VMusage: 25000 35000
11 dict begin
/FontInfo 10 dict dup begin
/version (001.000) readonly def
/FullName (My Font Regular) readonly def
/FamilyName (My Font) readonly def
/Weight (Regular) readonly def
/ItalicAngle 0 def
/isFixedPitch false def
/UnderlinePosition -100 def
/UnderlineThickness 50 def
/Notice (Copyright 1990 Adobe Systems) readonly def
end readonly def
/FontName /MyFont-Regular def
/PaintType 0 def
/FontType 1 def
/FontMatrix [0.001 0 0 0.001 0 0] readonly def
/Encoding StandardEncoding def
/FontBBox {-180 -250 1000 850} readonly def
/UniqueID 4567890 def
currentdict end
currentfile eexec
[binary encrypted data follows...]
[512 zeros for cleartext padding]
...encrypted CharStrings and Private dict...
cleartomarkKey CharString Operators
- rmoveto: relative move to, starts a new subpath
- rlineto: relative line to
- rrcurveto: relative cubic Bezier curve
- closepath: close the current subpath
- hstem and vstem: horizontal and vertical stem hints
- hsbw: horizontal sidebearing and width
- endchar: end the character definition
Features and Limitations
| Feature | Type 1 Support | Implementation |
|---|---|---|
| Kerning | Yes | Pair kerning only, stored in AFM or PFM |
| Ligatures | Limited | Required separate Expert fonts |
| Small caps | Separate font | SC or Expert font variant needed |
| Oldstyle figures | Separate font | OSF or Expert font required |
| Fractions | Expert font | Pre-built fractions only |
| Contextual alternates | No | Not supported in the format |
| Glyph substitution | No | No GSUB or GPOS tables exist |
- 256 glyphs maximum: a hard constraint that forced multiple fonts for any comprehensive character set
- No Unicode support: platform-specific encodings created interoperability problems
- Multi-file dependency: outline and metrics files had to travel together
- Platform fragmentation: PFA plus AFM on Mac, PFB plus PFM on Windows
- Weak encryption: eexec offered minimal protection while complicating archival
- No web support: browsers never supported Type 1 at any point
The Expert font problem
The 256-character limit forced foundries to ship "Expert" companion fonts holding ligatures (fi, fl, ffi, ffl), small caps, oldstyle figures, fractions, and ornaments. Designers switched fonts by hand mid document. A complete professional family might ship as 20 or more separate files across Regular, Bold, Italic, Bold Italic and three encodings. OpenType's capacity of 65,536 or more glyphs collapsed all of that into one file with automatic feature substitution.
Usage and Applications
Between 1985 and roughly 2010, Type 1 dominated book publishing, magazine production, newspaper prepress, commercial offset printing, corporate branding, advertising design, typesetting bureaus, and PostScript RIP workflows driving imagesetters and platesetters.
From 2010 to 2023 it survived in narrow niches: document archives that needed exact original rendering, print service bureaus supporting legacy customer files, specialised CAD, GIS, and engineering software, older PostScript RIP systems still in operation, foundry catalogues that were never converted, and government or academic archives with strict format preservation rules.
Today there is no active workflow where Type 1 belongs. Adobe Creative Cloud dropped it in 2023, macOS Big Sur and later make installation difficult or impossible, Windows 11 prioritises OpenType, browsers never supported it, and iOS and Android never did either.
Advantages and Disadvantages
Historical Advantages
- Superior outline quality: cubic Bezier curves more precise than quadratic
- Excellent print output: designed for high-resolution professional printing
- PostScript integration: native support in printers and imagesetters
- Extensive library: thousands of fonts from Adobe and third-party foundries
- Established workflows: well-understood tools and processes
Disadvantages
- End of life since 2023: unsupported by Adobe, OS vendors, and applications
- 256 glyph ceiling: unworkable for multilingual typography
- Multi-file architecture: outline and metrics fragmentation caused user error
- No Unicode: platform-specific encodings only
- No OpenType layout: no GSUB or GPOS tables for advanced typography
- Poor screen rendering: hinting inferior to TrueType at low resolutions
Migrating from Type 1: Deprecation and Document Updates
Migration is no longer optional. Adobe ended Type 1 support across Creative Cloud in January 2023, so files that reference Type 1 fonts now open with missing-font warnings, or fail to open at all, in current versions of Photoshop, Illustrator, and InDesign. macOS and Windows are steadily reducing Type 1 compatibility as well. Moving your library to OpenType keeps archived projects editable and future-proofs the workflow.
| Date | Type 1 Support Milestone |
|---|---|
| January 2023 | Adobe announces the end of Type 1 support |
| 2023 releases | Photoshop, Illustrator, and InDesign 2023 drop Type 1 rendering |
| Ongoing | macOS and Windows continue reducing Type 1 compatibility |
A full migration has three phases. First, inventory your Type 1 files: look for .pfb and .pfm pairs on Windows, or .lwfn suitcases on macOS, and note which projects use each family. Second, convert or replace each font using the methods below. Third, and most easily missed, update existing documents so they stop pointing at the old fonts.
Swapping fonts in existing InDesign or Illustrator files
- Open the document, which may show a missing-font warning
- Choose Type, then Find/Replace Font (Find Font)
- Select the Type 1 font, flagged with a warning icon
- Pick the OpenType replacement and choose Change All
- Review the text for reflow or spacing changes, then save
Keep your original Type 1 files archived for 6 to 12 months in case a legacy document needs to be reproduced exactly.
Recommended Conversion Methods
Option 1: buy the OpenType version (preferred)
- Contact the original foundry for an OpenType upgrade or replacement
- Many vendors offer free upgrades to customers
- Guarantees correct conversion, licensing, and feature support
- Examples: Adobe, Monotype, Linotype, Font Bureau
Option 2: professional font editing software
- FontLab: industry-standard professional font editor
- Glyphs: Mac-native editor with Type 1 import
- FontForge: free, open-source, with robust Type 1 support
- Import the PFB or PFA together with the AFM or PFM
- Export as OpenType CFF (.otf) to preserve the Bezier curves
Option 3: Adobe Font Development Kit (AFDKO)
- Command-line tools from Adobe for professional conversion
- Precise control over OpenType feature generation
- Batch conversion for large font libraries
- Preferred by professional type foundries
FontForge Conversion Examples
# Convert a single Type 1 font to OpenType CFF
fontforge -lang=ff -c 'Open($1); Reencode("unicode"); Generate($2);' myfont.pfb myfont.otf
# Python API, useful for batch work over a whole library
import fontforge
font = fontforge.open("myfont.pfb")
font.encoding = "unicode"
font.generate("myfont.otf", flags=("opentype",))
font.close()Conversion Quality Checklist
- Verify outline integrity: compare converted glyphs against the original at several sizes
- Check metrics accuracy: test character widths, sidebearings, and vertical metrics
- Validate kerning pairs: confirm every pair transferred from the AFM or PFM
- Test character encoding: verify Unicode code point assignments
- Inspect hinting: check whether PostScript hints survived the conversion
- Review metadata: confirm name, version, and copyright strings
- Test in production: open real documents with the converted fonts before committing
- Validate licensing: confirm you hold conversion rights for each family
Common Conversion Challenges
- Missing metrics files: without an AFM or PFM you lose kerning and correct widths, so contact the original vendor
- Encoding confusion: multiple encodings in the source may require manual Unicode mapping
- Expert font merging: combine the Regular and Expert fonts into a single OTF with OpenType features
- Hinting loss: some Type 1 hints do not convert, so consider re-hinting for screen use
- Glyph name conflicts: resolve duplicate or non-standard glyph names
- Family linking: check that Regular, Bold, Italic, and Bold Italic relate correctly
Do not install Type 1 fonts on modern systems
Adobe Creative Cloud 2023 and later, macOS Big Sur and later, and Windows 11 no longer properly support Type 1. Installation will fail or destabilise the application. Convert first, then install the OpenType result.
Tools and Resources
- FontLab: professional font editor with comprehensive Type 1 import
- Glyphs: Mac-native font editor with Type 1 support
- FontForge: free, open-source font editor for Windows, Mac, and Linux
- AFDKO: Adobe Font Development Kit for OpenType, free and command-line driven
- TransType: FontLab's batch font converter
- Windows font migration guide: moving legacy Windows font libraries to OpenType
Choose your target format below
All conversions preserve font quality and metadata
PFB: PostScript Type 1 Binary
PFB is not a different format from Type 1
PFB stands for Printer Font Binary. It is the binary container encoding for a PostScript Type 1 font, and PFA (Printer Font ASCII) is the ASCII variant of exactly the same data. If someone hands you a .pfb file, they have handed you a Type 1 font. Everything in the Type 1 section above applies, and this section covers what is specific to the binary container and the metrics files it depends on.
PFB at a Glance
Full Name
Printer Font Binary, the binary form of PostScript Type 1
File Extension
.pfb (binary), .pfa (ASCII variant)
Requires
A paired metrics file, .pfm on Windows or .afm on Mac and Unix
Platform
Windows and DOS historically; PFA on Unix and classic Mac OS
Status
Obsolete alongside Type 1 since January 2023
Superseded By
OpenType CFF, which uses the same curve technology
PFB Compared With PFA
Both files carry identical outline data. The difference is purely how that data is encoded and which platform expected it.
| Format | Extension | Structure | Platform |
|---|---|---|---|
| Printer Font Binary | .pfb | Segmented binary, eexec encrypted, more compact | Windows, DOS |
| Printer Font ASCII | .pfa | ASCII hex-encoded, functionally identical to PFB | Unix, classic Mac OS |
| Printer Font Metrics | .pfm | Binary metrics: widths and kerning | Windows |
| Adobe Font Metrics | .afm | Human-readable text metrics | Mac, Unix |
| Installation info | .inf | Setup information for the installer | Windows |
Why PFB Needs a Paired Metrics File
The Type 1 architecture separates shape from spacing. The PFB or PFA holds the glyph outlines and hints. The PFM or AFM holds character widths, kerning pairs, and vertical metrics. Windows will not use the font without both, and losing the metrics file means losing every kerning pair the foundry ever set. This split is the single most common cause of broken legacy font installs, and it is exactly what OpenType eliminated by putting everything in one file.
PFB Segment Structure
A PFB file is a sequence of segments, each introduced by a two-byte marker. The alternating ASCII and binary segments are what make PFB a container rather than a plain PostScript file.
| Segment | Type Marker | Contents |
|---|---|---|
| Header (ASCII segment) | 0x80 0x01 | Font dictionary, encoding, cleartext PostScript |
| Encrypted (binary segment) | 0x80 0x02 | Glyph outlines and Private dict, eexec encrypted |
| Trailer (ASCII segment) | 0x80 0x01 | PostScript cleanup procedures |
| End of file | 0x80 0x03 | EOF marker |
AFM Metrics File Structure
AFM files are plain text in a key-value format, which makes them easy to inspect and to diff when you are auditing a legacy library.
StartFontMetrics 4.1
Comment Generated by FontForge
FontName MyFont-Regular
FullName My Font Regular
FamilyName My Font
Weight Regular
ItalicAngle 0
IsFixedPitch false
UnderlinePosition -100
UnderlineThickness 50
Version 001.000
EncodingScheme AdobeStandardEncoding
CapHeight 700
XHeight 450
Ascender 800
Descender -200
StdHW 76
StdVW 88
StartCharMetrics 256
C 32 ; WX 250 ; N space ; B 0 0 0 0 ;
C 33 ; WX 333 ; N exclam ; B 130 0 241 700 ;
C 65 ; WX 667 ; N A ; B 14 0 654 700 ;
C 66 ; WX 667 ; N B ; B 90 0 610 700 ;
EndCharMetrics
StartKernPairs 150
KPX A V -50
KPX A W -40
KPX A Y -55
KPX V A -50
EndKernPairs
StartComposites 12
CC Aacute 2 ; PCC A 0 0 ; PCC acute 200 180 ;
EndComposites
EndFontMetricsWorking with PFB Files
The conversion route is the same one described in migrating from Type 1, with two PFB-specific points worth repeating:
- Always import the metrics file too. Open the PFB and its AFM or PFM together in the editor, otherwise the exported OTF will carry outlines with no kerning.
- Export as OpenType CFF, not TrueType. CFF keeps the original cubic Bezier curves, so the conversion is effectively lossless. Converting to TTF forces a quadratic approximation.
Conversion Checklist for PFB Libraries
- Confirm each .pfb has its matching .pfm or .afm before starting
- Compare converted metrics against the original for a sample of glyphs
- Verify kerning pairs survived the export
- Confirm Unicode mapping is correct
- Review the licence for conversion rights
- Log any font that failed or needed manual fixes
Choose your target format below
All conversions preserve font quality and metadata
EOT: Embedded OpenType
EOT at a Glance
Developer
Microsoft, 1997
File Extension
.eot
MIME Type
application/vnd.ms-fontobject
Type
Web-embedding wrapper around a TrueType or OpenType (sfnt) font
Browser Support
Internet Explorer only, and IE was retired in June 2022
Superseded By
WOFF2, with WOFF as the fallback
What Embedded OpenType Is
EOT (Embedded OpenType) is a Microsoft webfont container created in 1997 for Internet Explorer. It packages an existing TrueType or OpenType font with additional metadata that supported the early web embedding rules and helped align font distribution with the licensing expectations of that era. It is best understood as a legacy bridge format: it adds no typographic capability of its own, it simply made webfont delivery practical before cross-browser standards existed.
- Tied exclusively to Internet Explorer's webfont pipeline
- Wraps and references standard sfnt-based font data
- Historically paired with Microsoft server-side tooling such as WEFT
- Replaced by WOFF and then WOFF2 in every modern web stack
EOT is fully obsolete
Microsoft retired Internet Explorer in June 2022. Since Internet Explorer was the only browser that ever read EOT, the format now has zero addressable audience. Delete EOT files from your @font-face stacks and your build pipeline.
Format History
Before standardised webfont formats, authors were limited to system fonts and image-based text. Brand typography could not be guaranteed across user machines, non-Latin coverage was inconsistent, and designers resorted to raster text assets that hurt both accessibility and performance. Microsoft's answer was EOT.
Internet Explorer supported downloadable fonts far earlier than other engines. Rather than serving raw TTF or OTF, EOT provided an IE-recognised wrapper carrying embedding metadata aligned with font licensing flags, optional obfuscation-style mechanisms and origin-binding patterns, and a predictable server configuration for IE-only delivery.
Why This Was Necessary Then
- Licensing fear: type foundries worried about uncontrolled copying of raw font files
- Bandwidth cost: early web connections made full fonts expensive to ship
- Browser fragmentation: there was no shared, vendor-neutral webfont container
| Period | Browser Landscape | EOT Role |
|---|---|---|
| Late 1990s to early 2000s | Experimental downloadable font support | Microsoft's controlled webfont path |
| Mid 2000s | Internet Explorer dominance in many markets | Common enterprise webfont container |
| Late 2000s to early 2010s | Rise of modern engines and the WOFF standard | Reduced to a legacy fallback for IE 6 to 9 |
| June 2022 | Internet Explorer retired by Microsoft | EOT loses its only consumer and becomes fully obsolete |
Once WOFF 1.0 emerged as a vendor-neutral standard adopted by multiple browser engines, EOT's unique value collapsed. WOFF removed the need for IE-specific packaging, cross-browser delivery became the default expectation, and tooling and CDNs standardised on WOFF and later WOFF2.
Technical Specifications
- Underlying font: TrueType or OpenType, sfnt-based
- Container goal: Internet Explorer compatible web embedding
- Compression: lighter-weight historical approaches, far weaker than WOFF2 Brotli compression
- Metadata: embedding-related fields and IE-specific structures
- Scope: designed entirely around Internet Explorer's font pipeline
EOT does not change outlines or shaping rules. The browser still renders the same glyph data from the embedded sfnt font. The only real difference is that Internet Explorer expected the EOT wrapper to validate before it would load the font.
EOT File Structure
| Component | Purpose |
|---|---|
| EOT header | Declares sizes, versioning, and embedding-related fields |
| Embedded font data | The referenced TrueType or OpenType content |
| Optional metadata | IE-specific flags and legacy embedding information |
Tooling generates EOT from a TTF or OTF master rather than editing EOT directly, which is why recovering the original outlines from an EOT file is a straightforward unwrapping operation.
Embedding Model and Licensing Flags
EOT was shaped by licensing concerns that were unusually strong when webfonts were new. It aimed to provide a more controlled distribution path than serving raw font files: it aligned with the embedding permissions present in font metadata, encouraged domain-specific usage patterns in legacy IE deployments, and reflected a transitional era before shared webfont standards existed.
Modern licensing reality
EOT solves nothing about modern licensing. Webfont rights are governed by the font licence itself. Check your licence before converting or self-hosting any font, regardless of the container you ship it in.
Advantages and Disadvantages
Advantages (historical)
- IE compatibility: purpose-built for the only engine that supported webfonts early
- Historical relevance: enabled the first wave of branded web typography
- Workflow legacy: still emitted by some very old build chains
Disadvantages
- No supported browser: obsolete outside Internet Explorer, which no longer exists
- Inferior compression: comprehensively outclassed by WOFF2
- Poor tooling support: modern pipelines no longer generate EOT by default
- Maintenance cost: adds dead weight to build and test matrices
Working with EOT Files
If you are maintaining an old codebase, you will still find the IE-era @font-face pattern below. It is worth recognising so you can safely delete the EOT branches.
The legacy @font-face pattern (historical reference)
/* Old IE-compatible stack. Do not write new code like this. */
@font-face {
font-family: 'BrandSans';
src: url('/fonts/BrandSans.eot'); /* IE9 Compat Modes */
src: url('/fonts/BrandSans.eot?#iefix') format('embedded-opentype'),
url('/fonts/BrandSans.woff2') format('woff2'),
url('/fonts/BrandSans.woff') format('woff');
font-weight: 400;
font-style: normal;
font-display: swap;
}The stack that replaces it
@font-face {
font-family: 'BrandSans';
src: url('/fonts/BrandSans.woff2') format('woff2'),
url('/fonts/BrandSans.woff') format('woff');
font-weight: 400;
font-style: normal;
font-display: swap;
}- Remove EOT sources from every @font-face rule
- Keep WOFF2 first and WOFF second for maximum coverage
- Drop the EOT generation step from the build so you stop shipping dead bytes
- If you only hold the EOT, convert it back to TTF or OTF to recover the original outlines, then regenerate WOFF2
- Check the browser compatibility guide for web fonts before changing any production font stack
Choose your target format below
All conversions preserve font quality and metadata
DFONT: macOS Datafork Font
DFONT at a Glance
Developer
Apple, 2001
File Extension
.dfont
MIME Type
application/x-font-dfont, font/ttf
Type
Data fork suitcase container for TrueType fonts
Platform Support
macOS still reads them; Windows, Linux, and iOS do not
Superseded By
TTF and OTF, or TTC for multi-face collections
What a Datafork Font Is
DFONT, the macOS Datafork Font, is Apple's 2001 way of packaging TrueType fonts. Classic Mac OS stored font resources in a file's resource fork. DFONT stores the same data in the data fork instead, so the file behaves like an ordinary file on the Unix-style filesystem underneath Mac OS X. That single change is the entire point of the format.
A DFONT is still fundamentally a TrueType font, or a collection of them, in a Mac-specific container:
- TrueType outlines, quadratic curves, stored in the data fork
- May hold one face or several related faces in a single suitcase
- A Mac-only wrapper, not natively recognised on Windows or Linux
- Used mainly for system and bundled UI fonts on early Mac OS X
- Deprecated in favour of TTF and OTF, or TTC where a collection is genuinely needed
Format History
Classic Mac OS used a dual-fork filesystem where every file could carry both a data fork and a resource fork. Font suitcases leaned on this heavily: outlines, metrics, and bitmap strikes lived in the resource fork, suitcases grouped Regular, Bold, and Italic together, and the Finder and Font Manager understood the structure natively. It worked well inside the Mac ecosystem and not at all outside it.
Why Resource Forks Broke on Mac OS X
- Network transparency: resource forks were lost when files were copied to non-HFS filesystems or over networks
- Unix tool compatibility: cp, tar, and rsync did not understand resource forks
- Email and downloads: attachments arrived corrupted, missing their resource fork data
- Version control: cross-platform development hit constant resource fork problems
| Year | Mac OS X Version | DFONT Milestone |
|---|---|---|
| 2001 | 10.0 Cheetah and 10.1 Puma | DFONT introduced for system fonts; resource fork suitcases still supported |
| 2002 | 10.2 Jaguar | Expanded system usage; Font Book introduced |
| 2003 | 10.3 Panther | DFONT becomes the primary format for bundled system fonts |
| 2005 | 10.4 Tiger | Improved OpenType support; beginning of the DFONT decline |
| 2007 onward | 10.5 Leopard and later | Apple migrates system fonts to standard .ttf and .otf |
The technique was a repackaging exercise. Apple took the TrueType data that would have lived in a resource fork suitcase and moved it into the data fork with a structure that preserved suitcase-style grouping. Nothing was lost when copying across filesystems, standard Unix tools could handle the files, the Font Manager could still expose multiple faces from one file, and existing resource fork suitcases could be converted without losing information.
Why DFONT Declined
- OpenType became the universal standard
- Web fonts required WOFF and WOFF2
- Cross-platform workflows demanded TTF and OTF
- Modern font tools dropped DFONT support
- Variable fonts require the OpenType structure
Current DFONT Reality
- Still readable by macOS for backwards compatibility
- Found in old system backups and archived projects
- No new DFONT files are being created
- Not supported on iOS, iPadOS, or other platforms
- Best practice is to convert to TTF or OTF
Technical Specifications
DFONT is not a separate outline technology. It holds standard TrueType data, so the same sfnt tables you would find in a .ttf file are present inside the suitcase.
| Table | Purpose | Notes |
|---|---|---|
| cmap | Character to glyph mapping | Unicode or Mac Roman encodings |
| head | Font header | Global metrics, bounding box, version |
| hhea | Horizontal header | Ascent, descent, line gap |
| hmtx | Horizontal metrics | Advance widths and side bearings |
| maxp | Maximum profile | Limits used for memory allocation |
| name | Naming table | Family, style, and copyright strings |
| OS/2 | OS/2 and Windows metrics | Compatibility and embedding flags |
| post | PostScript information | Glyph names, italic angle |
| glyf | Glyph outlines | TrueType quadratic curves |
| loca | Glyph locations | Offsets into the glyf table |
File Structure and the Suitcase Concept
A suitcase font holds multiple related faces as a group. In DFONT the suitcase lives entirely in the data fork, each face is represented by a standard TrueType font inside the container, macOS Font Book exposes each face separately in the interface, and the file typically carries Mac type code and creator metadata.
| Component | Role | Inside the DFONT |
|---|---|---|
| Data fork container | Holds the suitcase and TrueType data | The .dfont file itself |
| sfnt tables | Standard TrueType structure | cmap, glyf, loca, and the rest |
| Suitcase metadata | Grouping of faces | Mac-specific structures |
| Mac type codes | Legacy Finder and LaunchServices information | Optional but common in system fonts |
Converting a DFONT to TTF means extracting the underlying sfnt data and saving it as standard .ttf files, one per face.
Typography Features and Limitations
DFONT introduces no typographic capability of its own. Any advanced features come from the TrueType or OpenType tables inside the suitcase, and many system DFONT files are relatively simple UI fonts with minimal feature sets.
| Table or Feature | Purpose | Typical Use |
|---|---|---|
| GSUB | Glyph substitution | Ligatures and alternate forms |
| GPOS | Glyph positioning | Kerning and mark positioning |
| kern | Legacy kerning | Basic spacing tweaks |
| locl | Localised forms | Language-specific glyph variants |
Advantages and Disadvantages
Advantages
- Mac-native integration: designed for early Mac OS X font APIs
- Suitcase grouping: multiple faces in a single file
- Data fork only: plays well with Unix-style tools compared to resource forks
- TrueType-based: identical rendering model to a standard .ttf
Disadvantages
- Mac-only: not recognised as a font file on most non-Mac platforms
- Deprecated: replaced by TTF and OTF in Apple's own system fonts
- No web support: requires conversion for any browser use
- Tooling friction: most font tools expect .ttf or .otf
- Licence ambiguity: system DFONT files often carry restrictive licences
Working with DFONT Files
Installing on macOS
- Double-click the .dfont file to open it in Font Book
- Click "Install Font" to add it for the current user
- Or copy it to
~/Library/Fonts/for one user - For all users, copy to
/Library/Fonts/ - Legacy system DFONT files live in
/System/Library/Fonts/
On non-Mac platforms DFONT is usually not recognised as a font file at all and must be converted first. The standard workflow is to extract the DFONT from the old macOS installation or app bundle, convert it to TTF producing one .ttf per face, then optionally convert to OTF or WOFF2 for web and advanced pipelines. The macOS font migration guide covers the full toolchain.
Inspecting and Normalising Extracted Fonts
# After converting DFONT to TTF:
# List the tables present
ttx -l MyLegacyFont.ttf
# Dump cmap and naming information
ttx -t cmap -t name MyLegacyFont.ttf
# Show which OpenType features survived
otfinfo -f MyLegacyFont.ttf
# Subset and emit a web-ready WOFF2
pyftsubset MyLegacyFont.ttf \
--flavor=woff2 \
--layout-features+=liga,kern \
--unicodes="U+0020-007F" \
--output-file="MyLegacyFont-web.woff2"Choose your target format below
All conversions preserve font quality and metadata
Which Modern Format to Migrate To
Every legacy format on this page has exactly one sensible destination for desktop use and one for the web. Find your source format in the table, then follow the workflow below it.
| You Have | For Desktop and Print | For the Web | Why |
|---|---|---|---|
| Type 1 or PFB | OpenType CFF (.otf) | OTF, then WOFF2 | CFF uses the same cubic Bezier curves, so outline quality is preserved exactly |
| EOT | TTF or OTF | WOFF2 plus WOFF | EOT wraps an sfnt font, so unwrapping recovers the original TrueType or OpenType data |
| DFONT | TTF (one per face) or TTC | WOFF2 | The suitcase already contains TrueType data, so extraction is lossless |
Migration Workflow
- Inventory: list every legacy font file and which projects reference it. Include companion metrics files for anything Type 1 related.
- Check the licence: confirm that conversion and, for web use, self-hosting are permitted. The font licence governs this, not the file format.
- Prefer the vendor version: if the foundry sells an OpenType release of the same family, buy or claim it rather than converting. It will have proper feature support.
- Convert what remains: use FontForge, FontLab, Glyphs, AFDKO, or the Font-Converters converter for straightforward jobs.
- Verify: compare outlines, metrics, kerning, and encoding against the original before you trust the result.
- Update documents and stylesheets: swap font references in templates, style guides, and @font-face rules. This is the step most migrations skip.
- Archive the originals: keep the legacy files read-only for 6 to 12 months in case an old document must be reproduced exactly.
The modern web font stack
@font-face {
font-family: 'BrandSans';
src: url('/fonts/BrandSans.woff2') format('woff2'),
url('/fonts/BrandSans.woff') format('woff');
font-weight: 400;
font-style: normal;
font-display: swap;
}WOFF2 first, WOFF as the single fallback. No EOT, no SVG fonts, no bare TTF served to browsers. Version the filenames and cache them aggressively.
Licensing comes first
Converting a font is a modification, and web self-hosting is a separate right again. Read the font licensing guide before converting a commercial family, especially where the original licence predates the web entirely, as most Type 1 licences do.
Written & Verified by
Sarah Mitchell
Typography expert specializing in font design, web typography, and accessibility
Frequently Asked Questions
PostScript Type 1 and PFB
What is a PostScript Type 1 font?
PostScript Type 1 is Adobe's scalable font format, introduced in 1984 as part of PostScript. It uses cubic Bezier curves for outlines and ships as a PFB or PFA outline file plus an AFM or PFM metrics file. It was the professional standard for desktop publishing from the mid 1980s until OpenType displaced it.
What is a PFB file?
A PFB file is a PostScript Type 1 Binary file, the binary container that carries a Type 1 font program. It is not a separate format from Type 1, it is how Type 1 ships on Windows and DOS. PFA is the ASCII variant of the same data used on Unix and classic Mac OS.
What is the difference between PFB and PFA files?
PFB (Printer Font Binary) is the binary encoding used on Windows and DOS. PFA (Printer Font ASCII) is the ASCII hex-encoded form used on Unix and classic Mac OS. They contain identical outline data, PFB is more compact, and both require a companion metrics file. Both are obsolete and should be converted to OpenType.
Why do Type 1 fonts need both an outline and a metrics file?
Type 1 separates glyph shapes from spacing data. The PFB or PFA holds the outlines and hints, while the PFM (Windows) or AFM (Mac and Unix) holds character widths, kerning pairs, and vertical metrics. Windows needs both to use the font. This multi-file requirement was one of the format's biggest weaknesses, and OpenType combines everything into a single file.
Can I still use Type 1 fonts today?
No. Adobe ended Type 1 support in January 2023, removing it from Photoshop, Illustrator, and InDesign. macOS Big Sur and later make installation difficult or impossible, and Windows 11 prioritises OpenType. Convert every Type 1 font to OpenType before you need it.
Will converting Type 1 to OpenType lose quality?
No, provided you export to OpenType CFF. CFF uses the same PostScript cubic Bezier technology as Type 1, so the conversion is essentially a repackaging of identical data. Metrics and kerning transfer perfectly as long as you import the AFM or PFM alongside the outline file.
Can Type 1 or PFB fonts be used on the web?
No. No browser has ever supported Type 1 or PFB. For web use, convert Type 1 to OpenType or TrueType first, then generate WOFF2 for delivery with WOFF as a fallback.
What were Multiple Master fonts?
Multiple Master was Adobe's 1991 extension of Type 1 that allowed interpolation between masters along design axes such as weight, width, and optical size. It was conceptually similar to modern variable fonts but suffered from complexity and poor software support. Adobe discontinued it in 1999, and the idea returned successfully in 2016 as OpenType variable fonts.
How do I open old documents that reference Type 1 fonts?
Convert the fonts to OpenType, install the converted versions, then open the document and use Find/Replace Font to swap the references. Most applications will substitute automatically. Where exact fidelity matters, keep a legacy system for reference and work from PDFs, which preserve the original rendering.
EOT and Embedded OpenType
What is an EOT file?
An EOT file is an Embedded OpenType font container built by Microsoft in 1997 for Internet Explorer. It packages an OpenType or TrueType font, plus IE-specific embedding metadata, for web delivery. Its MIME type is application/vnd.ms-fontobject.
Is EOT still needed for modern websites?
No. Internet Explorer was the only browser that read EOT, and Microsoft retired it in June 2022. Use WOFF2 as your primary web format with WOFF as a fallback, and remove EOT sources from your @font-face rules entirely.
Does EOT contain different font features than TTF or OTF?
No. EOT is a container around an sfnt font. It adds no typographic capability, it only reflects an older web delivery method tied to Internet Explorer. The outlines and OpenType tables come from the same TTF or OTF source.
Can I install EOT fonts on my computer?
EOT was never intended as an installable desktop font format. Convert the EOT to TTF or OTF for system installation, and only where the licence permits it.
What is the best replacement for EOT?
WOFF2, with WOFF as a secondary fallback. Keep TTF or OTF as your authoring and distribution masters, and generate the web formats from them.
DFONT and Datafork Fonts
What is a DFONT file?
A DFONT is a macOS Datafork Font, introduced by Apple in 2001. It stores one or more TrueType fonts in the file's data fork rather than the resource fork that classic Mac OS suitcases used, which made font files survive copying across filesystems and networks.
What is the data fork, and why did it matter?
Classic Mac OS files had two forks: a data fork holding ordinary file content, and a resource fork holding structured resources. Resource forks were lost whenever a file was copied to a non-HFS filesystem, emailed, or handled by Unix tools such as cp and tar. Moving font data into the data fork made font files behave like normal files everywhere.
Can DFONT fonts be used on Windows or Linux?
Not directly. Most non-Mac systems do not recognise DFONT as a font file. Convert the DFONT to standard TTF first, then install the resulting files like any other font.
Does converting DFONT to TTF reduce quality?
No. DFONT is only a container for TrueType data. A correct conversion extracts the underlying outlines, hinting, and metrics into TTF files without changing anything visual.
Can DFONT files contain OpenType features?
Yes. If the TrueType fonts inside include OpenType layout tables such as GSUB and GPOS, those features work the same way once you convert to TTF or OTF. Many system DFONT files, however, were fairly minimal UI fonts.
Should I ship DFONT files with a modern application?
No. Ship TTF or OTF for desktop applications and WOFF2 for the web. DFONT adds no benefit today and actively harms portability.
Convert Your Legacy Fonts
Turn Type 1, PFB, EOT, and DFONT files into OTF, TTF, and WOFF2 with the free Font-Converters tool
