Font Converter

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

TL;DR

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.

Share this page to:

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

  • .pfb or .pfa plus a matching .pfm or .afm file: a PostScript Type 1 font and its metrics
  • .eot next to .woff and .ttf in a fonts directory: an Internet Explorer fallback from an old @font-face stack
  • .dfont in /System/Library/Fonts/ or an old Mac application bundle: a data fork suitcase
  • .lwfn suitcases 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.

FormatFull NameDeveloper and YearStatus TodayReplace With
Type 1PostScript Type 1Adobe, 1984 (introduced as part of PostScript)Adobe ended support in January 2023OpenType (OTF)
PFBPostScript Type 1 BinaryAdobe, same family as Type 1Obsolete with Type 1; needs paired metrics filesOpenType (OTF)
EOTEmbedded OpenTypeMicrosoft, 1997Fully obsolete; Internet Explorer retired June 2022WOFF2 with WOFF fallback
DFONTmacOS Datafork FontApple, 2001Deprecated; macOS still reads them, nothing else doesTTF or OTF (TTC for collections)

Technical Identifiers at a Glance

FormatExtensionsMIME TypeCompanion FilesOutline Technology
Type 1.pfb, .pfaapplication/x-font-type1, font/type1.pfm or .afm required, .inf optionalCubic Bezier (PostScript)
PFB.pfbapplication/x-font-type1.pfm (Windows) or .afm (Mac and Unix)Cubic Bezier (PostScript)
EOT.eotapplication/vnd.ms-fontobjectNone; self-contained wrapperWhatever the embedded sfnt font uses
DFONT.dfontapplication/x-font-dfont, font/ttfNone; suitcase holds every faceQuadratic 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.

YearMilestoneImpact
1984Type 1 introduced as part of PostScriptScalable outline fonts become practical
1985Apple LaserWriter ships with 35 fontsDesktop publishing becomes viable
1987Adobe Illustrator releasedPostScript becomes the graphic design standard
1988QuarkXPress gains market dominanceType 1 entrenched in professional publishing
1989Adobe Type Manager (ATM) releasedScreen display finally matches printer output
1990Type 1 specification publishedFormat opened to third-party foundries under TrueType pressure
1991 to 1999Multiple Master experimentInterpolation axes fail commercially, later revived as variable fonts
1996OpenType announced by Adobe and MicrosoftAdobe begins planning the migration away from Type 1
2000 to 2005Adobe converts its entire library to OpenTypeType 1 enters decline
2019 to 2020macOS Catalina warns, Big Sur blocks installationOperating system support collapses
January 2023Adobe ends Type 1 supportOfficial 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...
cleartomark

Key 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

FeatureType 1 SupportImplementation
KerningYesPair kerning only, stored in AFM or PFM
LigaturesLimitedRequired separate Expert fonts
Small capsSeparate fontSC or Expert font variant needed
Oldstyle figuresSeparate fontOSF or Expert font required
FractionsExpert fontPre-built fractions only
Contextual alternatesNoNot supported in the format
Glyph substitutionNoNo 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.

DateType 1 Support Milestone
January 2023Adobe announces the end of Type 1 support
2023 releasesPhotoshop, Illustrator, and InDesign 2023 drop Type 1 rendering
OngoingmacOS 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

  1. Open the document, which may show a missing-font warning
  2. Choose Type, then Find/Replace Font (Find Font)
  3. Select the Type 1 font, flagged with a warning icon
  4. Pick the OpenType replacement and choose Change All
  5. 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
Convert Type 1 / PFB to:

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.

FormatExtensionStructurePlatform
Printer Font Binary.pfbSegmented binary, eexec encrypted, more compactWindows, DOS
Printer Font ASCII.pfaASCII hex-encoded, functionally identical to PFBUnix, classic Mac OS
Printer Font Metrics.pfmBinary metrics: widths and kerningWindows
Adobe Font Metrics.afmHuman-readable text metricsMac, Unix
Installation info.infSetup information for the installerWindows

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.

SegmentType MarkerContents
Header (ASCII segment)0x80 0x01Font dictionary, encoding, cleartext PostScript
Encrypted (binary segment)0x80 0x02Glyph outlines and Private dict, eexec encrypted
Trailer (ASCII segment)0x80 0x01PostScript cleanup procedures
End of file0x80 0x03EOF 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

EndFontMetrics

Working 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
Convert PFB to:

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
PeriodBrowser LandscapeEOT Role
Late 1990s to early 2000sExperimental downloadable font supportMicrosoft's controlled webfont path
Mid 2000sInternet Explorer dominance in many marketsCommon enterprise webfont container
Late 2000s to early 2010sRise of modern engines and the WOFF standardReduced to a legacy fallback for IE 6 to 9
June 2022Internet Explorer retired by MicrosoftEOT 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

ComponentPurpose
EOT headerDeclares sizes, versioning, and embedding-related fields
Embedded font dataThe referenced TrueType or OpenType content
Optional metadataIE-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
Convert EOT to:

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
YearMac OS X VersionDFONT Milestone
200110.0 Cheetah and 10.1 PumaDFONT introduced for system fonts; resource fork suitcases still supported
200210.2 JaguarExpanded system usage; Font Book introduced
200310.3 PantherDFONT becomes the primary format for bundled system fonts
200510.4 TigerImproved OpenType support; beginning of the DFONT decline
2007 onward10.5 Leopard and laterApple 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.

TablePurposeNotes
cmapCharacter to glyph mappingUnicode or Mac Roman encodings
headFont headerGlobal metrics, bounding box, version
hheaHorizontal headerAscent, descent, line gap
hmtxHorizontal metricsAdvance widths and side bearings
maxpMaximum profileLimits used for memory allocation
nameNaming tableFamily, style, and copyright strings
OS/2OS/2 and Windows metricsCompatibility and embedding flags
postPostScript informationGlyph names, italic angle
glyfGlyph outlinesTrueType quadratic curves
locaGlyph locationsOffsets 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.

ComponentRoleInside the DFONT
Data fork containerHolds the suitcase and TrueType dataThe .dfont file itself
sfnt tablesStandard TrueType structurecmap, glyf, loca, and the rest
Suitcase metadataGrouping of facesMac-specific structures
Mac type codesLegacy Finder and LaunchServices informationOptional 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 FeaturePurposeTypical Use
GSUBGlyph substitutionLigatures and alternate forms
GPOSGlyph positioningKerning and mark positioning
kernLegacy kerningBasic spacing tweaks
loclLocalised formsLanguage-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"
Convert DFONT to:

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 HaveFor Desktop and PrintFor the WebWhy
Type 1 or PFBOpenType CFF (.otf)OTF, then WOFF2CFF uses the same cubic Bezier curves, so outline quality is preserved exactly
EOTTTF or OTFWOFF2 plus WOFFEOT wraps an sfnt font, so unwrapping recovers the original TrueType or OpenType data
DFONTTTF (one per face) or TTCWOFF2The suitcase already contains TrueType data, so extraction is lossless

Migration Workflow

  1. Inventory: list every legacy font file and which projects reference it. Include companion metrics files for anything Type 1 related.
  2. Check the licence: confirm that conversion and, for web use, self-hosting are permitted. The font licence governs this, not the file format.
  3. 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.
  4. Convert what remains: use FontForge, FontLab, Glyphs, AFDKO, or the Font-Converters converter for straightforward jobs.
  5. Verify: compare outlines, metrics, kerning, and encoding against the original before you trust the result.
  6. Update documents and stylesheets: swap font references in templates, style guides, and @font-face rules. This is the step most migrations skip.
  7. 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.

Sarah Mitchell

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

Related Resources

Modern Replacement Formats

Advertisement