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>
|
2016-12-27 Werner Lemberg <wl@gnu.org>
|
||||||
|
|
||||||
[truetype, type1] Implement `FT_Get_Var_Design_Coordinates'.
|
[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
|
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
|
II. IMPORTANT BUG FIXES
|
||||||
|
|
||||||
|
@ -37,9 +46,27 @@ CHANGES BETWEEN 2.7 and 2.7.1
|
||||||
blend coordinates of the currently selected variation instance
|
blend coordinates of the currently selected variation instance
|
||||||
has been added to the Multiple Masters interface.
|
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
|
- A new load flag `FT_LOAD_BITMAP_METRICS_ONLY' to retrieve bitmap
|
||||||
information without loading the (embedded) bitmap itself.
|
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.
|
||||||
|
|
||||||
|
|
||||||
======================================================================
|
======================================================================
|
||||||
|
|
||||||
|
|
181
docs/formats.txt
181
docs/formats.txt
|
@ -1,133 +1,153 @@
|
||||||
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.
|
reference document and whether it is supported in FreeType 2.
|
||||||
|
|
||||||
|
Table fields
|
||||||
|
------------
|
||||||
|
|
||||||
file type:
|
wrapper format
|
||||||
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
|
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'
|
is used only if the font format differs. Possible values are
|
||||||
(binary), `PS' (a text header, followed by binary or text data),
|
`SFNT' (binary), `PS' (a text header, followed by binary or text
|
||||||
`LZW' (compressed with either `gzip' or `compress'), and
|
data), `LZW' (compressed with either `gzip' or `compress'), and
|
||||||
`BZ2' (compressed with `bzip2`).
|
`BZ2' (compressed with `bzip2`).
|
||||||
|
|
||||||
font format:
|
font format
|
||||||
How the font is to be accessed, possibly after converting the file
|
How the font is to be accessed, possibly after converting the file
|
||||||
type and wrapper format into a generic form. Bitmap formats are
|
type and wrapper format into a generic form. Bitmap formats are
|
||||||
`BDF', `PCF', and one form of `WINFNT'; all others are vector
|
`BDF', `PCF', and one form of `WINFNT'; all others are vector
|
||||||
formats.
|
formats. `PS' indicates third-order, `TT' second-order Bézier
|
||||||
|
curves.
|
||||||
|
|
||||||
font type:
|
font type
|
||||||
Sub-formats of the font format. `SBIT' and `MACSBIT' are bitmap
|
Sub-formats of the font format. `SBIT' and `MACSBIT' are bitmap
|
||||||
formats, `MM' and `VAR' support optical axes.
|
formats, `MM' and `VAR' support optical axes. `CFF2' supports
|
||||||
|
optical axes also.
|
||||||
|
|
||||||
glyph access:
|
glyph access
|
||||||
If not specified, the glyph access is `standard' to the font format.
|
If not specified, the glyph access is `standard' to the font
|
||||||
Values are `CID' for CID-keyed fonts, `SYNTHETIC' for fonts which
|
format. Values are `CID' for CID-keyed fonts, `SYNTHETIC' for
|
||||||
are modified versions of other fonts by means of a transformation
|
fonts that are modified versions of other fonts by means of a
|
||||||
matrix, `COLLECTION' for collecting multiple fonts (sharing most of
|
transformation matrix, and `TYPE_0' for PS fonts which are to be
|
||||||
the data) into a single file, and `TYPE_0' for PS fonts which are to
|
accessed in a tree-like structure.
|
||||||
be accessed in a tree-like structure.
|
|
||||||
|
|
||||||
FreeType driver:
|
FreeType driver
|
||||||
The module in the FreeType library which handles the specific font
|
The module in the FreeType library which handles the specific font
|
||||||
format. A missing entry means that FreeType doesn't support the
|
format. A missing entry means that FreeType doesn't support the
|
||||||
font format (yet).
|
font format (yet).
|
||||||
|
|
||||||
|
|
||||||
|
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.
|
||||||
|
|
||||||
|
|
||||||
Please send additions and/or corrections to wl@gnu.org or to the
|
Please send additions and/or corrections to wl@gnu.org or to the
|
||||||
FreeType developer's list at freetype-devel@nongnu.org (for subscribers
|
FreeType developer's list at freetype-devel@nongnu.org (for
|
||||||
only). If you can provide a font example for a format which isn't
|
subscribers only). If you can provide a font example for a format
|
||||||
supported yet please send a mail too.
|
which isn't supported yet please send a mail too.
|
||||||
|
|
||||||
|
|
||||||
file wrapper font font glyph FreeType reference
|
wrapper font font glyph FreeType reference
|
||||||
type format format type access driver documents
|
format format type access driver documents
|
||||||
----------------------------------------------------------------------------
|
-----------------------------------------------------------------------------
|
||||||
|
|
||||||
--- --- BDF --- --- bdf 5005.BDF_Spec.pdf, X11
|
--- BDF --- --- bdf 5005.BDF_Spec.pdf, X11
|
||||||
|
|
||||||
|
|
||||||
--- SFNT PS TYPE_1 --- type1 Type 1 GX Font Format
|
SFNT PS TYPE_1 --- type1 Type 1 GX Font Format
|
||||||
(for the Mac) [3]
|
(for the Mac) [3]
|
||||||
MAC SFNT PS TYPE_1 --- type1 Type 1 GX Font Format
|
SFNT PS TYPE_1 CID cid 5180.sfnt.pdf (for the Mac)
|
||||||
(for the Mac) [3]
|
|
||||||
--- SFNT PS TYPE_1 CID cid 5180.sfnt.pdf (for the Mac)
|
|
||||||
[3]
|
[3]
|
||||||
MAC SFNT PS TYPE_1 CID cid 5180.sfnt.pdf (for the Mac)
|
SFNT PS CFF --- cff OT spec, 5176.CFF.pdf
|
||||||
[3]
|
|
||||||
--- SFNT PS CFF --- cff OT spec, 5176.CFF.pdf
|
|
||||||
(`OTTO' format)
|
(`OTTO' format)
|
||||||
MAC SFNT PS CFF --- cff OT spec, 5176.CFF.pdf
|
SFNT PS CFF CID cff OT spec, 5176.CFF.pdf
|
||||||
(`OTTO' format)
|
SFNT PS CFF SYNTHETIC --- OT spec, 5176.CFF.pdf
|
||||||
--- SFNT PS CFF CID cff OT spec, 5176.CFF.pdf
|
SFNT PS CFF2 --- cff OT spec 1.8
|
||||||
MAC SFNT PS CFF CID cff OT spec, 5176.CFF.pdf
|
|
||||||
--- SFNT PS CFF SYNTHETIC --- OT spec, 5176.CFF.pdf
|
SFNT TT SBIT --- sfnt XFree86 (bitmaps only;
|
||||||
MAC SFNT PS CFF SYNTHETIC --- OT spec, 5176.CFF.pdf
|
|
||||||
--- SFNT TT SBIT --- sfnt XFree86 (bitmaps only;
|
|
||||||
with `head' table)
|
with `head' table)
|
||||||
--- SFNT TT MACSBIT --- sfnt OT spec (for the Mac;
|
SFNT TT MACSBIT --- sfnt OT spec (for the Mac;
|
||||||
bitmaps only; `bhed' table)
|
bitmaps only; `bhed' table)
|
||||||
MAC SFNT TT MACSBIT --- sfnt OT spec (for the Mac;
|
SFNT TT --- --- truetype OT spec (`normal' TT font)
|
||||||
bitmaps only; `bhed' table)
|
SFNT TT VAR --- truetype GX spec (`?var' tables)
|
||||||
--- SFNT TT --- --- truetype OT spec (`normal' TT font)
|
SFNT TT VAR --- truetype OT spec 1.8
|
||||||
MAC SFNT TT --- --- truetype OT spec (`normal' TT font)
|
(`?var' + `?VAR' tables)
|
||||||
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
|
--- PS TYPE_1 --- type1 T1_SPEC.pdf
|
||||||
(`normal' Type 1 font)
|
(`normal' Type 1 font)
|
||||||
MAC --- PS TYPE_1 --- type1 T1_SPEC.pdf
|
--- PS TYPE_1 CID cid PLRM.pdf (CID Font Type 0;
|
||||||
(`normal' Type 1 font)
|
|
||||||
--- --- PS TYPE_1 CID cid PLRM.pdf (CID Font Type 0;
|
|
||||||
Type 9 font)
|
Type 9 font)
|
||||||
--- --- PS MM --- type1 5015.Type1_Supp.pdf
|
--- PS MM --- type1 5015.Type1_Supp.pdf
|
||||||
(Multiple Masters)
|
(Multiple Masters)
|
||||||
--- --- PS CFF --- cff 5176.CFF.pdf (`pure' CFF)
|
--- PS CFF --- cff 5176.CFF.pdf (`pure' CFF)
|
||||||
--- --- PS CFF CID 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 SYNTHETIC --- 5176.CFF.pdf (`pure' CFF)
|
||||||
--- PS PS CFF --- --- PLRM.pdf (Type 2) [1]
|
--- PS CFF/MM --- cff old 5167.CFF.pdf (`pure' CFF)
|
||||||
--- PS PS CFF CID --- PLRM.pdf (Type 2) [1]
|
[3]
|
||||||
--- PS PS CFF SYNTHETIC --- PLRM.pdf (Type 2) [1]
|
--- PS* CFF/MM CID cff old 5167.CFF.pdf (`pure' CFF)
|
||||||
--- --- PS --- TYPE_0 --- PLRM.pdf
|
[3]
|
||||||
--- --- PS TYPE_3 --- --- PLRM.pdf (never supported)
|
--- PS CFF/MM SYNTHETIC --- old 5167.CFF.pdf (`pure' CFF)
|
||||||
--- --- PS TYPE_3 CID --- PLRM.pdf (CID Font Type 1;
|
[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)
|
Type 10 font; never supported)
|
||||||
--- PS PS TYPE_14 --- --- PLRM.pdf (Chameleon font;
|
PS PS TYPE_14 --- --- PLRM.pdf (Chameleon font;
|
||||||
Type 14 font; never supported?)
|
Type 14 font; never supported?)
|
||||||
--- --- PS TYPE_32 CID --- PLRM.pdf (CID Font Type 4;
|
--- PS TYPE_32 CID --- PLRM.pdf (CID Font Type 4;
|
||||||
Type 32 font; never supported?)
|
Type 32 font; never supported?)
|
||||||
--- PS TT --- --- type42 5012.Type42_Spec.pdf
|
PS TT --- --- type42 5012.Type42_Spec.pdf
|
||||||
(Type 42 font)
|
(Type 42 font)
|
||||||
--- PS TT --- CID --- PLRM.pdf (CID Font Type 2;
|
PS TT --- CID --- PLRM.pdf (CID Font Type 2;
|
||||||
Type 11 font)
|
Type 11 font)
|
||||||
|
|
||||||
|
|
||||||
--- ? ? CEF ? cff ?
|
? ? CEF ? cff ?
|
||||||
|
|
||||||
|
|
||||||
--- --- PCF --- --- pcf X11 [4]
|
--- PCF --- --- pcf X11 [4]
|
||||||
--- LZW PCF --- --- pcf X11 [4]
|
LZW PCF --- --- pcf X11 [4]
|
||||||
--- BZ2 PCF --- --- pcf X11 [4]
|
BZ2 PCF --- --- pcf X11 [4]
|
||||||
|
|
||||||
|
|
||||||
--- --- PFR PFR0 --- pfr [2]
|
--- PFR* PFR0 --- pfr [2]
|
||||||
--- --- PFR PFR1 --- --- (undocumented, proprietary;
|
--- PFR PFR1 --- --- (undocumented, proprietary;
|
||||||
probably never supported)
|
probably never supported)
|
||||||
|
|
||||||
|
|
||||||
--- --- WINFNT --- --- winfonts Windows developer's notes [5]
|
--- WINFNT* --- --- winfonts Windows developer's notes [5]
|
||||||
--- --- WINFNT VECTOR --- --- 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
|
[1] Support should be rather simple since this is identical to `CFF'
|
||||||
in a PS wrapper.
|
but in a PS wrapper.
|
||||||
|
|
||||||
[2] Official PFR specification:
|
[2] Official PFR specification:
|
||||||
|
|
||||||
|
@ -143,7 +163,8 @@ MAC --- PS TYPE_1 --- type1 T1_SPEC.pdf
|
||||||
|
|
||||||
(free registration required).
|
(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
|
[4] See
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue