ISO/IEC 14496-22:2019
(Main)Information technology - Coding of audio-visual objects - Part 22: Open Font Format
Information technology - Coding of audio-visual objects - Part 22: Open Font Format
This document specifies the Open Font Format (OFF) specification, including the TrueType and Compact Font Format (CFF) outline formats. Many references to both TrueType and PostScript exist throughout this document, as Open Font Format fonts combine the two technologies. The document defines data structures for variaous font tables, and provides the necessary details for developers to build a font rendering and taxt layout/shaping engines in compliance with this document.
Technologies de l'information — Codage des objets audiovisuels — Partie 22: Format de police de caractères ouvert
General Information
- Status
- Published
- Publication Date
- 23-Jan-2019
- Current Stage
- 9092 - International Standard to be revised
- Start Date
- 11-Aug-2023
- Completion Date
- 30-Oct-2025
Relations
- Effective Date
- 18-Dec-2021
- Effective Date
- 31-Jul-2021
- Effective Date
- 09-Sep-2017
- Effective Date
- 09-Sep-2017
- Effective Date
- 09-Sep-2017
Overview
ISO/IEC 14496-22:2019 - "Information technology - Coding of audio‑visual objects - Part 22: Open Font Format" specifies the Open Font Format (OFF). The standard defines the file organization, data structures and table formats used by Open Font Format fonts, covering both TrueType and Compact Font Format (CFF) outlines. It provides the normative details developers need to implement compliant font rendering, text layout/shaping, and font variation support in operating systems, browsers, typesetting engines and authoring tools.
Key topics and technical requirements
The standard is comprehensive and structured around the OFF file model and individual font tables. Key technical topics include:
- Top-level OFF organization: offset table, table directory, checksums and font collection (TTC) structures.
- Required common tables: character-to-glyph mapping (cmap), font header (head), horizontal metrics (hhea, hmtx), maximum profile (maxp), naming (name), OS/2 global font information, and post.
- TrueType outline support: tables such as glyf, loca, cvt, and bytecode program tables (fpgm, prep).
- CFF/CFF2 outline support: Compact Font Format tables for PostScript-style outlines.
- Glyph formats beyond outlines: SVG table for vector SVG glyphs, color bitmap tables (CBDT/CBLC, sbix), and legacy bitmap tables (EBDT/EBLC).
- Color and palette support: COLR and CPAL for layered color glyphs and palette management.
- Advanced typographic layout: layout tables and engines-GDEF, GSUB (glyph substitution), GPOS (glyph positioning), BASE, JSTF, MATH-including scripts, feature lookups and coverage formats.
- Font variations (variable fonts): variation axes, tuple and item variation stores, interpolation mechanisms and related tables (avar, cvar etc.).
- Optional and auxiliary tables: digital signatures (DSIG), device metrics (hdmx, VDMX), kerning, metadata (meta), and more.
Practical applications and target users
This standard is essential for:
- Font developers and foundries producing OFF/OTF/TTF fonts and variable fonts.
- Browser and OS developers implementing font rendering engines, shaping and layout (harfbuzz, DirectWrite, Core Text).
- Typesetting and desktop publishing software vendors ensuring accurate glyph substitution, positioning and complex script support.
- Digital content creators who rely on consistent text rendering across platforms, including color and SVG glyph support for emojis and icons.
- Tooling authors building font validators, converters, editors and font viewers.
By following ISO/IEC 14496-22:2019 implementers ensure interoperability, predictable shaping/layout behavior, and support for modern features like variable fonts, color glyphs and advanced typographic controls.
Related standards
The OFF standard combines and references TrueType and PostScript/CFF technologies. It is published as Part 22 of the ISO/IEC 14496 series (MPEG‑4 family) and complements platform-specific font APIs and rendering specifications used by operating systems and web engines.
Frequently Asked Questions
ISO/IEC 14496-22:2019 is a standard published by the International Organization for Standardization (ISO). Its full title is "Information technology - Coding of audio-visual objects - Part 22: Open Font Format". This standard covers: This document specifies the Open Font Format (OFF) specification, including the TrueType and Compact Font Format (CFF) outline formats. Many references to both TrueType and PostScript exist throughout this document, as Open Font Format fonts combine the two technologies. The document defines data structures for variaous font tables, and provides the necessary details for developers to build a font rendering and taxt layout/shaping engines in compliance with this document.
This document specifies the Open Font Format (OFF) specification, including the TrueType and Compact Font Format (CFF) outline formats. Many references to both TrueType and PostScript exist throughout this document, as Open Font Format fonts combine the two technologies. The document defines data structures for variaous font tables, and provides the necessary details for developers to build a font rendering and taxt layout/shaping engines in compliance with this document.
ISO/IEC 14496-22:2019 is classified under the following ICS (International Classification for Standards) categories: 35.040.40 - Coding of audio, video, multimedia and hypermedia information. The ICS classification helps identify the subject area and facilitates finding related standards.
ISO/IEC 14496-22:2019 has the following relationships with other standards: It is inter standard links to ISO/IEC 14496-22:2019/Amd 2:2023, ISO/IEC 14496-22:2019/Amd 1:2020, ISO/IEC 14496-22:2015/Amd 2:2017, ISO/IEC 14496-22:2015, ISO/IEC 14496-22:2015/Amd 1:2017. Understanding these relationships helps ensure you are using the most current and applicable version of the standard.
You can purchase ISO/IEC 14496-22:2019 directly from iTeh Standards. The document is available in PDF format and is delivered instantly after payment. Add the standard to your cart and complete the secure checkout process. iTeh Standards is an authorized distributor of ISO standards.
Standards Content (Sample)
INTERNATIONAL ISO/IEC
STANDARD 14496-22
Fourth edition
2019-01
Information technology — Coding of
audio-visual objects —
Part 22:
Open Font Format
Technologies de l'information — Codage des objets audiovisuels —
Partie 22: Format de police de caractères ouvert
Reference number
©
ISO/IEC 2019
© ISO/IEC 2019
All rights reserved. Unless otherwise specified, or required in the context of its implementation, no part of this publication may
be reproduced or utilized otherwise in any form or by any means, electronic or mechanical, including photocopying, or posting
on the internet or an intranet, without prior written permission. Permission can be requested from either ISO at the address
below or ISO’s member body in the country of the requester.
ISO copyright office
CP 401 • Ch. de Blandonnet 8
CH-1214 Vernier, Geneva
Phone: +41 22 749 01 11
Fax: +41 22 749 09 47
Email: copyright@iso.org
Website: www.iso.org
Published in Switzerland
ii © ISO/IEC 2019 – All rights reserved
Contents Page
Foreword . vii
Introduction . viii
1 Scope . 1
2 Normative references . 1
3 Terms, definitions and abbreviated terms . 1
3.1 Terms and definitions . 1
3.2 Abbreviated terms . 2
4 The Open Font file format . 3
4.1 Description . 3
4.2 Filenames . 3
4.3 Data types . 3
4.4 Table version numbers . 4
4.5 Top-level OFF organization . 5
4.5.1 Offset table . 5
4.5.2 Table directory . 5
4.5.3 Calculating checksums . 6
4.6 Font collections . 6
4.6.1 The Font Collection overview . 6
4.6.2 The Font Collection file structure . 7
4.6.3 TTC header . 7
5 Open font tables . 8
5.1 General . 8
5.2 Required common tables . 8
5.2.1 List of required tables . 8
5.2.2 cmap – Character to glyph index mapping table . 9
5.2.3 head – Font header . 21
5.2.4 hhea – Horizontal header . 23
5.2.5 hmtx – Horizontal metrics . 24
5.2.6 maxp – Maximum profile . 25
5.2.7 name – Naming table . 26
5.2.8 OS/2 – Global font information table . 45
5.2.9 Font class parameters . 67
5.2.10 post – PostScript . 67
5.3 Tables related to TrueType outlines . 69
5.3.1 List of TrueType outlines tables . 69
5.3.2 cvt – Control value table . 69
5.3.3 fpgm – Font program . 69
5.3.4 glyf – Glyf data . 70
5.3.5 loca – Index to location . 75
5.3.6 prep – Control value program . 75
5.3.7 gasp – Grid-fitting and scan-conversion procedure table . 76
5.4 Tables related to CFF outlines . 78
5.4.1 List of CFF outline tables. 78
5.4.2 CFF – Compact Font Format (version 1) table . 78
5.4.3 CFF2 – Compact Font Format (version 2) table . 78
5.4.4 VORG – Vertical origin table . 88
5.5 Table for SVG glyph outlines . 89
5.5.1 SVG – The SVG (Scalable Vector Graphics) table . 89
5.5.2 Color Palettes . 90
5.5.3 Glyph Identifiers . 91
5.5.4 Glyph Semantics and Metrics . 91
5.5.5 Glyph Rendering . 91
5.5.6 SVG glyph examples . 93
© ISO/IEC 2019 – All rights reserved iii
5.6 Tables related to bitmap glyphs .98
5.6.1 List of bitmap glyph tables .98
5.6.2 EBDT – Embedded bitmap data table .98
5.6.3 EBLC – Embedded bitmap location table . 101
5.6.4 EBSC – Embedded bitmap scaling table . 108
5.6.5 CBDT – Color bitmap data table . 109
5.6.6 CBLC – Color bitmap location table . 111
5.6.7 sbix – Standard bitmap graphics table . 112
5.7 Optional tables . 114
5.7.1 DSIG – Digital signature table . 115
5.7.2 hdmx – Horizontal device metrics . 117
5.7.3 kern – Kerning . 118
5.7.4 LTSH – Linear threshold . 120
5.7.5 MERG – Merge table . 121
5.7.6 meta – Metadata table . 125
5.7.7 PCLT – PCL 5 table . 128
5.7.8 VDMX – Vertical device metrics . 135
5.7.9 vhea – Vertical header table . 137
5.7.10 vmtx – Vertical metric table . 141
5.7.11 COLR – Color Table . 143
5.7.12 CPAL – Palette Table . 144
6 Advanced Open Font layout tables . 147
6.1 Advanced Open Font layout extensions . 147
6.1.1 Overview of advanced typographic layout extensions . 147
6.1.2 TrueType versus OFF layout . 149
6.1.3 OFF layout terminology . 149
6.1.4 Text processing with OFF layout . 151
6.1.5 OFF layout and Font variations . 153
6.2 OFF layout common table formats . 153
6.2.1 Overview . 153
6.2.2 OFF layout and Font variations . 154
6.2.3 Table organization . 155
6.2.4 Scripts and languages . 156
6.2.5 Features and lookups . 159
6.2.6 Coverage table . 162
6.2.7 Class definition table . 164
6.2.8 Device and VariationIndex tables . 165
6.2.9 Feature variations . 167
6.2.10 Common table examples . 170
6.3 Advanced typographic tables . 178
6.3.1 BASE Baseline table . 178
6.3.2 GDEF – The glyph definition table . 199
6.3.3 GPOS – The glyph positioning table. 211
6.3.4 GSUB – The glyph substitution table . 263
6.3.5 JSTF – The justification table . 296
6.3.6 MATH – The mathematical typesetting table . 306
6.4 Layout tag registry. 322
6.4.1 Scripts tags . 323
6.4.2 Language tags . 327
6.4.3 Feature tags . 344
6.4.4 Baseline tags . 406
7 OFF font variations . 410
7.1 Font variations overview . 410
7.1.1 General . 410
7.1.2 Terminology . 412
7.1.3 Variation space, default instances and adjustment deltas . 414
7.1.4 Coordinate scales and normalization . 417
7.1.5 Variation data . 419
7.1.6 Variation data tables and miscellaneous requirements . 428
7.1.7 Algorithm for interpolation of instance values . 429
iv © ISO/IEC 2019 – All rights reserved
7.1.8 Interpolation example . 432
7.1.9 Dynamic generation of static instance fonts . 437
7.2 Font variations common table formats . 438
7.2.1 Overview . 438
7.2.2 Tuple variation store . 439
7.2.3 Item variation stores . 446
7.2.4 Design-variation axis tag registry . 450
7.3 Font variations tables . 455
7.3.1 avar – Axis variations table . 455
7.3.2 cvar – CVT variations table . 459
7.3.3 fvar – Font variations table . 461
7.3.4 gvar – Glyph variations table . 468
7.3.5 HVAR – Horizontal metrics variations table . 478
7.3.6 MVAR – Metrics variations table . 481
7.3.7 STAT – Style attributes table . 485
7.3.8 VVAR – Vertical metrics variations table . 497
8 Recommendations for OFF fonts . 499
8.1 Byte ordering . 499
8.2 'sfnt' version. 499
8.3 Mixing outline formats . 499
8.4 Filenames . 499
8.5 Table alignment and length . 500
8.6 Glyph 0: the .notdef glyph . 500
8.7 'BASE' table. 500
8.8 'cmap' table . 500
8.9 'cvt' table . 501
8.10 'fpgm' table . 501
8.11 'glyf' table . 501
8.12 'hdmx' table . 501
8.13 'head' table . 501
8.14 'hhea' table . 501
8.15 'hmtx' table . 502
8.16 'kern' table . 502
8.17 'loca' table . 502
8.18 'LTSH' table . 502
8.19 'maxp' table . 502
8.20 'name' table . 502
8.21 'OS/2' table . 504
8.22 'post' table . 505
8.23 'prep' table . 505
8.24 'VDMX' table . 505
8.25 TrueType Collections . 505
9 General recommendations . 506
9.1 Optimized table ordering . 506
9.2 Non-standard (Symbol) fonts . 506
9.3 Baseline to baseline distances . 506
9.4 Style bits . 507
9.5 Drop-out control . 507
9.6 Embedded bitmaps . 507
9.7 OFF CJK font guidelines. 508
9.8 Stroke reduction in variable fonts . 508
9.9 Families with optical size variants . 508
Annex A (informative) Font Class and Font Subclass parameters . 510
Annex B (informative) Earlier versions of OS/2 – OS/2 and Windows metrics . 521
Annex C (informative) OFF Mirroring Pairs List . 596
Annex D (informative) The CFF2 CharString Format . 603
Annex E (informative) CFF2 DICT Encoding . 622
© ISO/IEC 2019 – All rights reserved v
Annex F (informative) Registration of Media Type: application/font-sfnt . 624
Bibliography . 627
vi © ISO/IEC 2019 – All rights reserved
Foreword
ISO (the International Organization for Standardization) and IEC (the International Electrotechnical
Commission) form the specialized system for worldwide standardization. National bodies that are members of
ISO or IEC participate in the development of International Standards through technical committees
established by the respective organization to deal with particular fields of technical activity. ISO and IEC
technical committees collaborate in fields of mutual interest. Other international organizations, governmental
and non-governmental, in liaison with ISO and IEC, also take part in the work.
The procedures used to develop this document and those intended for its further maintenance are described
in the ISO/IEC Directives, Part 1. In particular, the different approval criteria needed for the different types of
document should be noted. This document was drafted in accordance with the editorial rules of the
ISO/IEC Directives, Part 2 (see www.iso.org/directives).
Attention is drawn to the possibility that some of the elements of this document may be the subject of patent
rights. ISO and IEC shall not be held responsible for identifying any or all such patent rights. Details of any
patent rights identified during the development of the document will be in the Introduction and/or on the ISO
list of patent declarations received (see www.iso.org/patents) or the IEC list of patent declarations received
(see http://patents.iec.ch).
Any trade name used in this document is information given for the convenience of users and does not
constitute an endorsement.
For an explanation of the voluntary nature of standards, the meaning of ISO specific terms and expressions
related to conformity assessment, as well as information about ISO's adherence to the World Trade
Organization (WTO) principles in the Technical Barriers to Trade (TBT) see www.iso.org/iso/foreword.html.
This document was prepared by Joint Technical Committee ISO/IEC JTC 1, Information technology,
Subcommittee SC 29, Coding of audio, picture, multimedia and hypermedia information.
This fourth edition cancels and replaces the third edition (ISO/IEC 14496-22:2015), which has been
technically revised. It also incorporates the Amendments ISO/IEC 14496-22:2015/Amd.1:2017 and
ISO/IEC 14496-22:2015/Amd.2:2017.
The main changes compared to the previous edition are as follows:
— new technology clauses were added;
— many existing clauses, subclauses, tables, figures and annexes were editorially revised.
A list of all parts in the ISO/IEC 14496 series can be found on the ISO website.
Any feedback or questions on this document should be directed to the user’s national standards body. A
complete listing of these bodies can be found at www.iso.org/members.html.
© ISO/IEC 2019 – All rights reserved vii
Introduction
Multimedia applications require a broad range of media-related standards. In addition to the typical audio and
video applications, multimedia presentations include scalable 2D graphics and text supporting all languages of
the world. Faithful reproduction of scalable multimedia content requires additional components including
scalable font technology. The Open Font Format, which is based on the OpenType® font format, was
2 3
originally developed as an extension of the TrueType® font format, adding support for PostScript® Compact
Font Format (CFF) font data. OFF fonts and the operating system services which support OFF fonts provide
users with a simple way to install and use fonts, whether the fonts contain TrueType outlines or CFF
(PostScript Type1) outlines.
The Open Font Format addresses the following goals:
broader multi-platform support;
excellent support for international character sets;
excellent protection for font data;
smaller file sizes to make font distribution more efficient;
excellent support for advanced typographic control.
CFF data included in OFF fonts may be directly rasterized or converted to the TrueType outline format for
rendering, depending on which rasterizers have been installed in the host operating system. But the user
model is the same: OFF fonts just work. Users will not need to be aware of the type of outline data in OFF
fonts. And font creators can use whichever outline format they feel provides the best set of features for their
work, without worrying about limiting a font's usability.
OFF fonts can include the OFF Layout tables, which allow font creators to design broader international and
high-end typographic fonts. The OFF Layout tables contain information on glyph substitution, glyph positioning,
justification, and baseline positioning, enabling text-processing applications to improve text layout.
As with TrueType fonts, OFF fonts allow the handling of large glyph sets using Unicode encoding. Such
encoding allows broad international support, as well as support for typographic glyph variants.
Additionally, OFF fonts may contain digital signatures, which allows operating systems and browsing
applications to identify the source and integrity of font files, including embedded font files obtained in web
documents, before using them. Also, font developers can encode embedding restrictions in OFF fonts which
cannot be altered in a font signed by the developer.
The International Organization for Standardization (ISO) and International Electrotechnical Commission (IEC)
draw attention to the fact that it is claimed that compliance with this document may involve the use of patents.
ISO and IEC take no position concerning the evidence, validity and scope of these patent rights. The holders
of these patent rights have assured ISO and IEC that they is willing to negotiate licences under reasonable
and non-discriminatory terms and conditions with applicants throughout the world. In this respect, the
statement of the holders of these patent rights is registered with ISO and IEC.
OpenType® is the trademark of a product supplied by Microsoft. This information is given for the convenience of users
of this document and does not constitute an endorsement by ISO or IEC of this product.
TrueType® is the trademark of a product supplied by Apple Inc. This information is given for the convenience of users of
this document and does not constitute an endorsement by ISO or IEC of this product.
PostScript® is the trademark of a product supplied by Adobe Systems Inc. This information is given for the convenience
of users of this document and does not constitute an endorsement by ISO or IEC of this product.
viii © ISO/IEC 2019 – All rights reserved
Information may be obtained from:
Apple Inc.
1 Infinite Loop MS 3-PAT
US-Cupertino, CA 95014-2084
Tel.: +1 408 974 9453
Email: iplaw@apple.com
Microsoft Corporation
Interoperability Group 3460 157th Avenue NE
US-Redmond, WA 98052
Tel.: +1 425 882 80 80
Monotype Imaging Inc.
500 Unicorn Park Drive
US-Woburn, MA 01801
Tel.: +1 781-970-6088
E-mail: vladimir.levantovsky@monotypeimaging.com
Attention is drawn to the possibility that some of the elements of this document may be the subject of patent
rights other than those identified above. ISO and IEC shall not be held responsible for identifying any or all
such patent rights.
© ISO/IEC 2019 – All rights reserved ix
INTERNATIONAL STANDARD ISO/IEC 14496-22:2019(E)
Information technology — Coding of audio-visual objects —
Part 22:
Open Font Format
1 Scope
This document specifies the Open Font Format (OFF) specification, including the TrueType and Compact
Font Format (CFF) outline formats. Many references to both TrueType and PostScript exist throughout this
document, as Open Font Format fonts combine the two technologies. The document defines data structures
for variaous font tables, and provides the necessary details for developers to build a font rendering and taxt
layout/shaping engines in compliance with this document.
2 Normative references
The following documents are referred to in the text in such a way that some or all of their content constitutes
requirements of this document. For dated references, only the edition cited applies. For undated references,
the latest edition of the referenced document (including any amendments) applies.
ISO/IEC 10646, Information technology — Universal Coded Character Set (UCS)
ISO/IEC 14496-18, Information technology — Coding of audio-visual objects — Part 18: Font compression
and streaming
ISO/IEC 15948, Information technology — Computer graphics and image processing — Portble Network
Graphics: Functional specification
IEC 61966-2-1/Amd 1:2003: Multimedia systems and equipment — Colour measurement and management —
Part 2-1: Colour management — Default RGB colour space — sRGB.
TrueType Instruction Set, http://www.microsoft.com/typography/otspec/ttinst.htm
Unicode 11.0, http://www.unicode.org/versions/Unicode11.0.0/
Scalable Vector Graphics (SVG) 1.1 (2nd edition), W3C Recommendation, 16 August
2011 http://www.w3.org/TR/SVG11/
IETF BCP 47 specification, “Tags for Identifying Languages”. http://tools.ietf.org/html/bcp47
3 Terms, definitions and abbreviated terms
3.1 Terms and definitions
No terms and definitions are listed in this document.
ISO and IEC maintain terminological databases for use in standardization at the following addresses:
— ISO Online browsing platform: available at https://www.iso.org/obp
— IEC Electropedia: available at http://www.electropedia.org/
Also available as a W3C Recommendation (Reference [15]).
© ISO/IEC 2019 – All rights reserved 1
3.2 Abbreviated terms
ACF average character face
ANSI American National Standards Institute
ASCII American Standard Code for Information Interchange
BMP [Unicode] basic multilingual plane
BTBD baseline to baseline distance
CFF compact font format
CID character identifier
CJK Chinese Japanese Korean [characters, ideographs, fonts, etc.]
CJKV Chinese Japanese Korean and Vietnamese
CV control value
CVT control value table
DLL dynamically linked library
FDEF function definition
GID glyph ID
ICF ideographic character face
IDEF instruction definition
IETF Internet Engineering Task Force
JIS Japanese Industrial Standard
LTR left to right
NLC National Language Council of Japan
OFF open font format
OMPL OFF mirroring pairs list
OTF OpenType font
PCL printer control language
PPM, PPEM pixels per em
RTL right to left
TTC TrueType collection
TTF TrueType font
UCS universal character set
UTF Unicode transformation format
UVS Unicode variation sequence
VM virtual memory
W3C world wide web consortium
2 © ISO/IEC 2019 – All rights reserved
4 The Open Font file format
4.1 Description
An Open Font file contains data, in table format, that comprises either a TrueType or a CFF outline font.
Rasterizers use combinations of data from the tables contained in the font to render the TrueType or
PostScript glyph outlines. Some of this supporting data is used no matter which outline format is used; some
of the supporting data is specific to either TrueType or PostScript.
References to the Universally Coded Character Set and the Unicode standard are used throughout this
document; the users of the OFF cannot meet the requirements of this document without strict adherence to
these standards.
4.2 Filenames
OFF font files may have the extension .OTF, .TTF, .OTC or .TTC. The extensions .OTC and .TTC should only
be used for font collection files. For additional information on filename extension conventions, see subclause
8.4.
4.3 Data types
The following data types are used in the OFF font file. All OFF fonts use big-endian (network byte order):
Data Type Description
uint8 8-bit unsigned integer.
int8 8-bit signed integer.
uint16 16-bit unsigned integer.
int16 16-bit signed integer.
uint24 24-bit unsigned integer.
uint32 32-bit unsigned integer.
int32 32-bit signed integer.
Fixed 32-bit signed fixed-point number (16.16)
FWORD int16 that describes a quantity in font design units.
UFWORD uint16 that describes a quantity in font design units.
F2DOT14 16-bit signed fixed number with the low 14 bits of fraction (2.14).
LONGDATETIME Date represented in number of seconds since 12:00 midnight, January 1,
1904. The value is represented as a signed 64-bit integer.
Tag Array of four uint8s (length = 32 bits) used to identify a table, design-
variation axis, script, language system, feature, or baseline
Offset16 Short offset to a table, same as uint16, NULL offset = 0x0000
Offset32 Long offset to a table, same as uint32, NULL offset = 0x00000000
© ISO/IEC 2019 – All rights reserved 3
The F2DOT14 format consists of a signed, 2's complement integer and an unsigned fraction. To compute the
actual value, take the integer and add the fraction. Examples of 2.14 values are:
Decimal Value Hex Value Integer Fraction
1.999939 0x7fff 1 16383/16384
1.75 0x7000 1 12288/16384
0.000061 0x0001 0 1/16384
0.0 0x0000 0 0/16384
-0.000061 0xffff -1 16383/16384
-2.0 0x8000 -2 0/16384
A Tag value is a uint8 array. Each byte within the array shall have a value in the range 0x20 to 0x7E. This
corresponds to the range of values of Unicode Basic Latin characters in UTF-8 encoding, which is the same
as the printable ASCII characters. As a result, a Tag value can be re-interpreted as a four-character sequence,
which is conventionally how they are referred to. Formally, however, the value is a byte array.
When re-interpreted as characters, the Tag value is case sensitive. It shall have one to four non-space
characters, padded with trailing spaces (byte value 0x20). A space character cannot be followed by a non-
space character.
4.4 Table version numbers
Most tables have version numbers, and the version number for the entire font is contained in the Table
Directory. Note that there are five different table version number types, each with its own numbering scheme.
A single uint16 field. This is used in a number of tables, usually with versions starting at zero (0).
Separate, uint16 major and minor version fields. This is used in a number of tables, usually with
versions starting at 1.0.
A Fixed field for major/minor version numbers. This is used in the maxp, post and vhea tables.
A uint32 field with enumerated values.
A uint32 field with a numeric value. This is used only in the DSIG and meta tables.
Only certain tables use a Fixed value for version, and only for reasons of backward compatibility. Fixed values
will not be used in the future for any new tables that may be introduced. When a Fixed number is used as a
version, the upper 16 bits comprise a major version number and the lower 16 bits a minor version. The
representation of a non-zero minor version, however, is not consistent with the normal treatment of Fixed
values, in which the lower 16 bits represent a fractional value, N * 2 ^ -16. Rather, tables with non-zero minor
version numbers always specify the literal value of the version number. For example, the version number of
'maxp' table version 0.5 is 0x00005000, and that of 'vhea' table version 1.1 is 0x00011000. When Fixed is
indicated as the type for a version field, the possible values should be treated as an enumeration of specific
values, rather than as a numeric value capable of representing many potential major and minor versions.
The Table Directory uses a uint32 field with an enumeration of defined values that represent four-character
tags; see subclause 4.5 (Top-level OFF organization) for details.
Implementations reading tables must include code to check version numbers so that if and when the format
and therefore the version number changes, older implementations will handle newer versions gracefully.
Minor version number changes always imply format changes that are compatible extensions. If an
implementation understands a major version number, then it can safely proceed reading the table. If the minor
version is greater than the latest version recognized by the implementation, then the extension fields will be
undetectable to the implementation.
4 © ISO/IEC 2019 – All rights reserved
For purposes of compatibility, version numbers that are represented using a single uint16 or uint32 value are
treated like a minor version number, and any format changes are compatible extensions.
Note that some field values that were undefined or reserved in an earlier revision may be assigned meanings
in a
...










Questions, Comments and Discussion
Ask us and Technical Secretary will try to provide an answer. You can facilitate discussion about the standard in here.
Loading comments...