- Font File Formats
- Unicode
- Other Encodings
- Books
- Font Related tools
- Language codes
- Country codes

## Font File Formats

- PostScript Type1
  - Supplement (discussion of multiple master fonts & counter hints)
  - Format
  - PostScript unicode character names
  - PostScript Language Reference Manual
- PostScript Multiple Master
  - Type1 MM format specification (in the Type1 Supplement)
  - Design considerations
  - Naming requirements
  - Type2 (In March of 2000, Adobe removed multiple master support from Type2 and CFF files)
    - Type2 MM format specification (In OBSOLETE type2 spec)
    - CFF MM format specification (In OBSOLETE CFF spec)
- CID keyed fonts
- PostSript Type2
  - Compact Font Format Specification (CFF)
  - For more information see under OpenType fonts
- PostScript Type3
  - PostScript Language Reference Manual 3.0 (see section 5.7)
- PostScript Type14 (Chameleon)
  - The PLRM (5.8.1) documents that this font format is undocumented.
- PostScript Type42
- Adobe Feature File (fea)
  - (FontForge's implementation of this format is a superset of what Adobe accepts, and a superset of what Adobe documents. Neither can completely describe opentype. Adobe claims they will update the feat spec in late 2007).
- AFM
- PFM
  - I can't find microsoft's docs for pfm files any more, I think the format may be obsolete having been replaced by ntf.
  - Adobe's notes on PFM files for two byte fonts
  - Third Party description
- NTF
  - This format is supposed to replace the pfm files above in windows >2000. I can't find any docs on it.
- BDF
  - X11 Long Font Descriptor spec defines standard X BDF Properties
  - ABF -- Binary format
  - Extensions to BDF for greymap support
- True Type Standard
  (Sadly different sources have slightly different definitions of less important parts of the standard, be warned)
  - Apple (I find Apple's prose difficult, and sometimes misleading. I suggest using a different source when possible)
  - Microsoft
  - random useful site
  - TTC -- True Type Font Collection
- Apple Advanced Typography extensions to TrueType
- Apple distortable font (variation tables) -- vaguely equivalent to Multiple Master fonts for TrueType
  - fvar (font variations)
  - gvar (glyph variations)
  - cvar (cvt variations)
  - avar (axis variations)
- OpenType (postscript embedded in a truetype wrapper, or advanced typography tables in a truetype wrapper)
  - PostScript Type2
  - CFF
  - Adobe's version of file format
    - SING Gaiji extention (more information is available in the documentation subdirectory of the Glyphlet GDK)
  - Microsoft's version
  - Possible source of script codes for scripts not specified by MS/Adobe: ISO 15924
  - Microsoft's full list of locale/language IDs (not all are supported, some may never be)
- Open Font Format Specification (ISO/IEC 14496-22:2007)
  (based on OpenType 1.4 but an international standard)
- Apple's sfnt wrapper around a PS type1 font
- Various bitmap only sfnt formats
- WOFF -- Web Open Font Format, mozilla's compressed sfnt format
- PostScript Type42 (the opposite of opentype, it's truetype embedded in postscript)
- SVG 1.1 fonts
  - SVG 1.2 font hinting proposal
- Macintosh font formats
- Windows raster font formats
  - FNT -- Windows version 2
  - FNT -- Windows version 3
  - Some info on FON file format
- X11 pcf format
  - Sadly there is no real standard for this. There's the source code used by X11.
  - So I wrote my own description...
- PC Screen Font (psf/psfu/psf2)
- TeX font formats
  - pk packed bitmap format
  - gf generic font (bitmap) format
  - tfm metrics format
  - To make these viewable you probably want to do something like:
    $ weave pktype.web
    $ pdftex pktype.tex
- SIL Graphite Fonts (smart font extension to TrueType. Additional tables containing rules for composing, reordering, spacing, etc. glyphs)
- Palm pilot fonts (pdb files)
  - font record format
  - pdb file format
- OpenDoc. Sadly Proprietary so I shan't support it.
- Acorn RISC OS font format (these fonts are often zipped up with a non-standard zip).
- Ikarus IK format is documented in Peter Karow's book Digital Formats for Typefaces, Appendices G&I. (copies may still be available from URW++)
  Interestingly the exact format of a curve is up to the interpretation program.
- sfd files (FontForge's internal spline font database format)
- cidmap files (Fontforge's format for mapping cids to unicode)
- XML formats
  - TTX -- TrueType XML
  - UFO & GLIF -- Unified font objects & Glyph Interchange Format

Other font links

- Adobe's downloadable font spec
- Adobe's technical notes
- Adobe's Font Policies document
- PostScript reference manual
  - (old reference manual)
- Microsoft's downloadable fonts
- Downloadable PS CID CJK fonts (this site also has cmap files)
  others
- Downloadable OTF CID CJK fonts (this site also has cmap files)
- Most recent cid2code tables that I'm aware of
- PANOSE
  - PANOSE Classification Metrics Guide by Hewlett-Packard Corporation, 1991 - 1997
  - PANOSE structure (Windows)
  - PANOSE: An Ideal Typeface Matching System for the Web by Robert Stevahn, 1996
  - PANOSE 2.0 White Paper by Hewlett-Packard Corporation, 1993
  - PANOSE on Wikipedia
  - Classifying Arabic Fonts Based on Design Characteristics: PANOSE-APANOSE by Jehan Janbi, 2016

## Unicode

- Unicode consortium
  - Apple's corporate use extensions (0xF850-0xF8FE)
  - Adobe's corporate use extensions (0xF634-0F7FF) (also includes some of Apple's codes above)
  - FontForge's corporate use extensions (0xF500-0xF580)
  - A registry of code points in the private area (does not include any of Adobe's or Apple's codepoints)
  - American Mathematical Society's corporate use extensions (0xE000-0xF7D7)
  - MicroSoft uses 0xF000-0xF0FF in their "Symbol" encoding (3,0) when they want to an uninterpretted encoding vector (ie. a mapping from byte to glyph with no meaning attached to the mapping)
- Unicode en français
- Pictures of the characters
- Unicode script assignments
  - ISO 15924 script list
- Unicode Bloopers
- PostScript Unicode names
  - Glyph names for new fonts (these are the names FontForge automatically assigns to glyphs)
  - Adobe Glyph Names provides further synonyms
  - Glyph name limitations
- Linux issues
  - FAQ
  - HOWTO
  - Linux Unicode man page

### Other Encodings

- Microsoft's Codepages, and at the unicode site
- Mac Encodings
- MacRoman
- IPA
- GB 18030
- TeX latin encodings (possibly also on your local machine in `/usr/share/texmf/dvips/base`)
- TeX cyrillic encodings

## Books

### FontForge

- Haralambous, Yannis, 2004, Fontes & Codages
- Haralambous, Yannis (translated: P Scott Horne), 2006, Fonts & Encodings

### Typography

### Font editor concepts

Karow, Peter, 1994, Font Technology, Description and Tools

Karow, Peter, 1987, Digital Formats for Typefaces

### TeX

Hoenig, Alan TeX Unbound: LaTeX and TeX Strategies for Fonts, Graphics & More

Knuth, Donald, 1979, TeX and METAFONT, New Directions in Typesetting

## Interview

I was interviewed by the Open Source Publishing people at LGM2. There's an mp3 file of the interview available on their site.

-- Prev -- TOC --