misc/libfreetype/docs/formats.txt
author koda
Sat, 01 Oct 2011 03:06:51 +0200
changeset 6076 e1b4771f6472
parent 5172 88f2e05288ba
permissions -rw-r--r--
fix a couple of 'potential leaks'

This  file  contains a  list  of various  font  formats.   It gives  the
reference document and whether it is supported in FreeType 2.


  file type:
    The only special  case is `MAC'; on older Mac  OS versions, a `file'
    is  stored as  a  data and  a  resource fork,  this  is, within  two
    separate data chunks.   In all other cases, the  font data is stored
    in a single file.

  wrapper format:
    The format used  to represent the font data.  In  the table below it
    is used only if the font format differs.  Possible values are `SFNT'
    (binary), `PS' (a text header, followed by binary or text data),
    `LZW' (compressed with either `gzip' or `compress'), and
    `BZ2' (compressed with `bzip2`).

  font format:
    How the font  is to be accessed, possibly  after converting the file
    type and  wrapper format  into a generic  form.  Bitmap  formats are
    `BDF',  `PCF', and  one  form  of `WINFNT';  all  others are  vector
    formats.

  font type:
    Sub-formats  of the font  format.  `SBIT'  and `MACSBIT'  are bitmap
    formats, `MM' and `VAR' support optical axes.

  glyph access:
    If not specified, the glyph access is `standard' to the font format.
    Values are  `CID' for CID-keyed  fonts, `SYNTHETIC' for  fonts which
    are modified  versions of other  fonts by means of  a transformation
    matrix, `COLLECTION' for collecting  multiple fonts (sharing most of
    the data) into a single file, and `TYPE_0' for PS fonts which are to
    be accessed in a tree-like structure.

  FreeType driver:
    The module in  the FreeType library which handles  the specific font
    format.   A missing entry  means that  FreeType doesn't  support the
    font format (yet).


Please  send  additions  and/or  corrections  to wl@gnu.org  or  to  the
FreeType developer's list  at freetype-devel@nongnu.org (for subscribers
only).   If you  can provide  a font  example for  a format  which isn't
supported yet please send a mail too.


file wrapper font   font    glyph      FreeType reference
type format  format type    access     driver   documents
----------------------------------------------------------------------------

---  ---     BDF    ---     ---        bdf      5005.BDF_Spec.pdf, X11


---  SFNT    PS     TYPE_1  ---        type1    Type 1 GX Font Format
                                                (for the Mac) [3]
MAC  SFNT    PS     TYPE_1  ---        type1    Type 1 GX Font Format
                                                (for the Mac) [3]
---  SFNT    PS     TYPE_1  CID        cid      5180.sfnt.pdf (for the Mac)
                                                [3]
MAC  SFNT    PS     TYPE_1  CID        cid      5180.sfnt.pdf (for the Mac)
                                                [3]
---  SFNT    PS     CFF     ---        cff      OT spec, 5176.CFF.pdf
                                                (`OTTO' format)
MAC  SFNT    PS     CFF     ---        cff      OT spec, 5176.CFF.pdf
                                                (`OTTO' format)
---  SFNT    PS     CFF     CID        cff      OT spec, 5176.CFF.pdf
MAC  SFNT    PS     CFF     CID        cff      OT spec, 5176.CFF.pdf
---  SFNT    PS     CFF     SYNTHETIC  ---      OT spec, 5176.CFF.pdf
MAC  SFNT    PS     CFF     SYNTHETIC  ---      OT spec, 5176.CFF.pdf
---  SFNT    TT     SBIT    ---        sfnt     XFree86 (bitmaps only;
                                                with `head' table)
---  SFNT    TT     MACSBIT ---        sfnt     OT spec (for the Mac;
                                                bitmaps only; `bhed' table)
MAC  SFNT    TT     MACSBIT ---        sfnt     OT spec (for the Mac;
                                                bitmaps only; `bhed' table)
---  SFNT    TT     ---     ---        truetype OT spec (`normal' TT font)
MAC  SFNT    TT     ---     ---        truetype OT spec (`normal' TT font)
MAC  SFNT    TT     VAR     ---        truetype GX spec (`?var' tables)
---  SFNT    TT     ---     COLLECTION truetype OT spec (this can't be CFF)
MAC  SFNT    TT     ---     COLLECTION truetype OT spec (this can't be CFF)


---  ---     PS     TYPE_1  ---        type1    T1_SPEC.pdf
                                                (`normal' Type 1 font)
MAC  ---     PS     TYPE_1  ---        type1    T1_SPEC.pdf
                                                (`normal' Type 1 font)
---  ---     PS     TYPE_1  CID        cid      PLRM.pdf (CID Font Type 0;
                                                Type 9 font)
---  ---     PS     MM      ---        type1    5015.Type1_Supp.pdf
                                                (Multiple Masters)
---  ---     PS     CFF     ---        cff      5176.CFF.pdf (`pure' CFF)
---  ---     PS     CFF     CID        cff      5176.CFF.pdf (`pure' CFF)
---  ---     PS     CFF     SYNTHETIC  ---      5176.CFF.pdf (`pure' CFF)
---  PS      PS     CFF     ---        ---      PLRM.pdf (Type 2) [1]
---  PS      PS     CFF     CID        ---      PLRM.pdf (Type 2) [1]
---  PS      PS     CFF     SYNTHETIC  ---      PLRM.pdf (Type 2) [1]
---  ---     PS     ---     TYPE_0     ---      PLRM.pdf
---  ---     PS     TYPE_3  ---        ---      PLRM.pdf (never supported)
---  ---     PS     TYPE_3  CID        ---      PLRM.pdf (CID Font Type 1;
                                                Type 10 font; never supported)
---  PS      PS     TYPE_14 ---        ---      PLRM.pdf (Chameleon font;
                                                Type 14 font; never supported?)
---  ---     PS     TYPE_32 CID        ---      PLRM.pdf (CID Font Type 4;
                                                Type 32 font; never supported?)
---  PS      TT     ---     ---        type42   5012.Type42_Spec.pdf
                                                (Type 42 font)
---  PS      TT     ---     CID        ---      PLRM.pdf (CID Font Type 2;
                                                Type 11 font)


---  ?       ?      CEF     ?          cff      ?


---  ---     PCF    ---     ---        pcf      X11 [4]
---  LZW     PCF    ---     ---        pcf      X11 [4]
---  BZ2     PCF    ---     ---        pcf      X11 [4]


---  ---     PFR    PFR0    ---        pfr      [2]
---  ---     PFR    PFR1    ---        ---      (undocumented, proprietary;
                                                probably never supported)


---  ---     WINFNT ---     ---        winfonts MS Windows 3 Developer's Notes
---  ---     WINFNT VECTOR  ---        ---      MS Windows 3 Developer's Notes


[1] Support should be rather simple since this is identical to `CFF' but
    in a PS wrapper.

[2] Official PFR specification:

      http://www.bitstream.com/categories/developer/truedoc/pfrspec.html
      http://www.bitstream.com/categories/developer/truedoc/pfrspec1.2.pdf

    The  syntax of  the  auxiliary data  is  not defined  there, but  is
    partially defined in  MHP 1.0.3 (also called ETSI  TS 101812 V1.3.1)
    section 7.4.

      http://www.etsi.org/
      http://webapp.etsi.org/workprogram/Report_WorkItem.asp?WKI_ID=18799

    (free registration required).

[3] Support is rudimentary currently; some tables are not loaded yet.

[4] See

      THE X WINDOW SYSTEM SERVER: X VERSION 11, RELEASE 5
      Elias Israel, Erik Fortune, Digital Press, 1992
      ISBN 1-55558-096-3

    for a specification  given in Appendix D on pgs. 436-450.   However,
    this information  might be out of  date; unfortunately,  there is no
    PCF  specification available  online, and this book is out of print. 
    George  Williams deduced  the font  format from the X11  sources and
    documented it for his FontForge font editor:

      http://fontforge.sourceforge.net/pcf-format.html

------------------------------------------------------------------------

Copyright 2004, 2005, 2008, 2009, 2010 by
David Turner, Robert Wilhelm, and Werner Lemberg.

This  file is  part  of the  FreeType  project, and  may  only be  used,
modified,  and  distributed under  the  terms  of  the FreeType  project
license, LICENSE.TXT.  By continuing  to use, modify, or distribute this
file  you indicate that  you have  read the  license and  understand and
accept it fully.


--- end of formats.txt ---