diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-07 19:33:14 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-07 19:33:14 +0000 |
commit | 36d22d82aa202bb199967e9512281e9a53db42c9 (patch) | |
tree | 105e8c98ddea1c1e4784a60a5a6410fa416be2de /modules/freetype2/docs/formats.txt | |
parent | Initial commit. (diff) | |
download | firefox-esr-36d22d82aa202bb199967e9512281e9a53db42c9.tar.xz firefox-esr-36d22d82aa202bb199967e9512281e9a53db42c9.zip |
Adding upstream version 115.7.0esr.upstream/115.7.0esrupstream
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'modules/freetype2/docs/formats.txt')
-rw-r--r-- | modules/freetype2/docs/formats.txt | 217 |
1 files changed, 217 insertions, 0 deletions
diff --git a/modules/freetype2/docs/formats.txt b/modules/freetype2/docs/formats.txt new file mode 100644 index 0000000000..7a4bae09b0 --- /dev/null +++ b/modules/freetype2/docs/formats.txt @@ -0,0 +1,217 @@ +This file contains a list of various font formats. It gives the +reference document and whether it is supported in FreeType 2. + +Table fields +------------ + + 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 + PFB binary + PS a text header, followed by binary or text data + LZW compressed with either `gzip' or `compress' + 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. `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. `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 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 + 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 +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. + + + wrapper font font glyph FreeType reference + 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] + 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) + + + WOFF --- --- --- cff, Compressed SFNT, ver. 1.0 [6] + truetype + WOFF2 --- --- --- cff, Compressed SFNT, ver. 2.0 [6] + truetype + + + --- PS TYPE_1 --- type1 T1_SPEC.pdf + (PFA, Type 1 font resource) + PFB PS TYPE_1 --- type1 T1_SPEC.pdf, + 5040.Download_Fonts.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) + + + ? ? 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 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] The official PFR specification is no longer available, but + archive.org has archived it: + + https://web.archive.org/web/20091014062300/http://www.bitstream.com/font_rendering/products/truedoc/pfrspec.html + https://web.archive.org/web/20081115152605/http://www.bitstream.com/font_rendering/pdfs/pfrspec1.3.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. + + https://www.etsi.org/ + https://webapp.etsi.org/workprogram/Report_WorkItem.asp?WKI_ID=18799 + +[3] Support is rudimentary currently; some tables or data 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: + + https://fontforge.github.io/pcf-format.html + +[5] This is from MS Windows 3; see Microsoft's Knowledge Base article + at + + https://support.microsoft.com/kb/65123 + +[6] Supported font formats are TrueType and OpenType fonts as + defined in the OpenType specification 1.6 and newer. + +------------------------------------------------------------------------ + +Copyright (C) 2004-2023 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 --- + +Local Variables: +coding: utf-8 +End: |