Sec 4.4 "Table version numbers"

Bob Hallissy Bob_Hallissy at sil.org
Mon Jul 23 05:44:34 CEST 2012


ISO/IEC 14496-22_2009(E) says:

> 4.4 Table version numbers
> Most tables have version numbers, and the version number for the 
> entire font is contained in the Table
> Directory. It should be noted that there are two different table 
> version number types, each with its own
> numbering scheme. USHORT version numbers always start at zero (0). 
> Fixed version numbers start at one
> (1.0 or 0x00010000), except where noted (EBDT, EBLC and EBSC tables).
> ...
> 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. Tables with non-zero minor version numbers always 
> specify the literal value of the version
> number since the normal representation of Fixed numbers is not 
> necessarily followed. For example, the
> version number of 'maxp' table version 0.5 is 0x00005000, and that of 
> 'vhea' table version 1.1 is 0x00011000.
> ...
> The only exception to this is the Offset Table's sfnt version. This 
> serves solely to identify whether the OFF font
> contains TrueType outlines (a value of 1.0) or CFF data (the tag 
> 'OTTO'), as described in subclause 3.5,
> 'Open Font Structure.'

There is an additional exception which perhaps ought to be mentioned in 
this section: For some reason the GDEF table uses a ULONG for its version:
> ULONG Version Version of the GDEF table-currently 0x00010002

(which I presume is because the value (0x00010002) got established 
before someone realized the correct ("Fixed") pattern would be something 
like 0x00011000 ? MS 1.5 spec called this field "Fixed", the 1.6 says 
"ULONG" -- so I suppose this might predate ISO process.)

Regards,

Bob





More information about the mpeg-otspec mailing list