Documentation updates.
* docs/CHANGES: Add missing information. * docs/formats.txt: Rewritten and updated.
This commit is contained in:
parent
0a943b6362
commit
48fd5bb2b6
@ -1,3 +1,11 @@
|
||||
2016-12-27 Werner Lemberg <wl@gnu.org>
|
||||
|
||||
Documentation updates.
|
||||
|
||||
* docs/CHANGES: Add missing information.
|
||||
|
||||
* docs/formats.txt: Rewritten and updated.
|
||||
|
||||
2016-12-27 Werner Lemberg <wl@gnu.org>
|
||||
|
||||
[truetype, type1] Implement `FT_Get_Var_Design_Coordinates'.
|
||||
|
27
docs/CHANGES
27
docs/CHANGES
@ -3,6 +3,15 @@ CHANGES BETWEEN 2.7 and 2.7.1
|
||||
|
||||
I. IMPORTANT CHANGES
|
||||
|
||||
- Support for the new CFF2 font format as introduced with OpenType
|
||||
1.8 has been contributed by Dave Arnolds from Adobe.
|
||||
|
||||
- Preliminary support for variation fonts as specified in OpenType
|
||||
1.8 (in addition to the already existing support for Adobe's MM
|
||||
and Apple's GX formats). Dave Arnolds contributed handling of
|
||||
advance width change variation; more will come in the next
|
||||
version.
|
||||
|
||||
|
||||
II. IMPORTANT BUG FIXES
|
||||
|
||||
@ -37,9 +46,27 @@ CHANGES BETWEEN 2.7 and 2.7.1
|
||||
blend coordinates of the currently selected variation instance
|
||||
has been added to the Multiple Masters interface.
|
||||
|
||||
- A new function `FT_Get_Var_Design_Coordinates' to retrieve the
|
||||
design coordinates of the currently selected variation instance
|
||||
has been added to the Multiple Masters interface.
|
||||
|
||||
- A new load flag `FT_LOAD_BITMAP_METRICS_ONLY' to retrieve bitmap
|
||||
information without loading the (embedded) bitmap itself.
|
||||
|
||||
- Retrieving advance widths from bitmap strikes (using
|
||||
`FT_Get_Advance' and `FT_Get_Advances') have been sped up.
|
||||
|
||||
- The usual round of fuzzer fixes to better reject malformed
|
||||
fonts.
|
||||
|
||||
- The `ftmulti' demo program can now switch engines with key `H'.
|
||||
|
||||
- The `ftstring' demo program can now show some built-in,
|
||||
non-latin sample strings (to be selected with the TAB key).
|
||||
|
||||
- The `ftview' demo program can now switch between a font's
|
||||
charmaps using the TAB key.
|
||||
|
||||
|
||||
======================================================================
|
||||
|
||||
|
241
docs/formats.txt
241
docs/formats.txt
@ -1,141 +1,161 @@
|
||||
This file contains a list of various font formats. It gives the
|
||||
This file contains a list of various font formats. It gives the
|
||||
reference document and whether it is supported in FreeType 2.
|
||||
|
||||
Table fields
|
||||
------------
|
||||
|
||||
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
|
||||
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 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. `PS' indicates third-order, `TT' second-order Bézier
|
||||
curves.
|
||||
|
||||
font type:
|
||||
Sub-formats of the font format. `SBIT' and `MACSBIT' are bitmap
|
||||
formats, `MM' and `VAR' support optical axes.
|
||||
font type
|
||||
Sub-formats of the font format. `SBIT' and `MACSBIT' are bitmap
|
||||
formats, `MM' and `VAR' support optical axes. `CFF2' supports
|
||||
optical axes also.
|
||||
|
||||
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.
|
||||
glyph access
|
||||
If not specified, the glyph access is `standard' to the font
|
||||
format. Values are `CID' for CID-keyed fonts, `SYNTHETIC' for
|
||||
fonts that are modified versions of other fonts by means of a
|
||||
transformation matrix, 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
|
||||
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.
|
||||
Notes
|
||||
-----
|
||||
|
||||
The SFNT container format also provides `collections' (usually
|
||||
having the file extension `.ttc' or `.otc'). A collection contains
|
||||
multiple font faces that share some tables to avoid redundancy, thus
|
||||
reducing the file size. In FreeType, elements of a collection can
|
||||
be accessed with a proper face index.
|
||||
|
||||
Both the GX and the OpenType 1.8 variation fonts provide `named
|
||||
instances'. FreeType maps them to face indices (they can also be
|
||||
accessed with the standard MM interface).
|
||||
|
||||
Other font formats (not using the SFNT wrapper) also provide
|
||||
multiple faces within one file; they are marked with an asterisk
|
||||
(`*') in the table below.
|
||||
|
||||
FreeType can be configured to support Mac files (on older Mac OS
|
||||
versions, a `file' is stored as a data and a resource fork, this is,
|
||||
within two separate data chunks). If a file can't be opened as a
|
||||
font, FreeType then checks whether it is a resource fork, trying to
|
||||
extract the contained font data from either a `POST' or `sfnt'
|
||||
resource.
|
||||
|
||||
|
||||
file wrapper font font glyph FreeType reference
|
||||
type format format type access driver documents
|
||||
----------------------------------------------------------------------------
|
||||
|
||||
--- --- BDF --- --- bdf 5005.BDF_Spec.pdf, X11
|
||||
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.
|
||||
|
||||
|
||||
--- 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)
|
||||
wrapper font font glyph FreeType reference
|
||||
format format type access driver documents
|
||||
-----------------------------------------------------------------------------
|
||||
|
||||
--- BDF --- --- bdf 5005.BDF_Spec.pdf, X11
|
||||
|
||||
|
||||
--- --- 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)
|
||||
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]
|
||||
SFNT PS CFF --- cff OT spec, 5176.CFF.pdf
|
||||
(`OTTO' format)
|
||||
SFNT PS CFF CID cff OT spec, 5176.CFF.pdf
|
||||
SFNT PS CFF SYNTHETIC --- OT spec, 5176.CFF.pdf
|
||||
SFNT PS CFF2 --- cff OT spec 1.8
|
||||
|
||||
SFNT TT SBIT --- sfnt XFree86 (bitmaps only;
|
||||
with `head' table)
|
||||
SFNT TT MACSBIT --- sfnt OT spec (for the Mac;
|
||||
bitmaps only; `bhed' table)
|
||||
SFNT TT --- --- truetype OT spec (`normal' TT font)
|
||||
SFNT TT VAR --- truetype GX spec (`?var' tables)
|
||||
SFNT TT VAR --- truetype OT spec 1.8
|
||||
(`?var' + `?VAR' tables)
|
||||
|
||||
|
||||
--- ? ? CEF ? cff ?
|
||||
--- 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 CFF/MM --- cff old 5167.CFF.pdf (`pure' CFF)
|
||||
[3]
|
||||
--- PS* CFF/MM CID cff old 5167.CFF.pdf (`pure' CFF)
|
||||
[3]
|
||||
--- PS CFF/MM SYNTHETIC --- old 5167.CFF.pdf (`pure' CFF)
|
||||
[3]
|
||||
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 PS CFF/MM --- --- PLRM.pdf (Type 2) [1]
|
||||
PS PS* CFF/MM CID --- PLRM.pdf (Type 2) [1]
|
||||
PS PS CFF/MM 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)
|
||||
|
||||
|
||||
--- --- PCF --- --- pcf X11 [4]
|
||||
--- LZW PCF --- --- pcf X11 [4]
|
||||
--- BZ2 PCF --- --- pcf X11 [4]
|
||||
? ? CEF ? cff ?
|
||||
|
||||
|
||||
--- --- PFR PFR0 --- pfr [2]
|
||||
--- --- PFR PFR1 --- --- (undocumented, proprietary;
|
||||
probably never supported)
|
||||
--- PCF --- --- pcf X11 [4]
|
||||
LZW PCF --- --- pcf X11 [4]
|
||||
BZ2 PCF --- --- pcf X11 [4]
|
||||
|
||||
|
||||
--- --- WINFNT --- --- winfonts Windows developer's notes [5]
|
||||
--- --- WINFNT VECTOR --- --- Windows developer's notes [5]
|
||||
--- PFR* PFR0 --- pfr [2]
|
||||
--- PFR PFR1 --- --- (undocumented, proprietary;
|
||||
probably never supported)
|
||||
|
||||
|
||||
[1] Support should be rather simple since this is identical to `CFF' but
|
||||
in a PS wrapper.
|
||||
--- WINFNT* --- --- winfonts Windows developer's notes [5]
|
||||
--- WINFNT VECTOR --- --- Windows developer's notes [5]
|
||||
|
||||
|
||||
[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)
|
||||
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/
|
||||
@ -143,7 +163,8 @@ MAC --- PS TYPE_1 --- type1 T1_SPEC.pdf
|
||||
|
||||
(free registration required).
|
||||
|
||||
[3] Support is rudimentary currently; some tables are not loaded yet.
|
||||
[3] Support is rudimentary currently; some tables or data are not
|
||||
loaded yet.
|
||||
|
||||
[4] See
|
||||
|
||||
@ -151,10 +172,10 @@ MAC --- PS TYPE_1 --- type1 T1_SPEC.pdf
|
||||
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
|
||||
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.github.io/pcf-format.html
|
||||
|
Loading…
Reference in New Issue
Block a user