Non standard extensions used FontForge in True/Open Type

Non standard tables.

Non standard feature tags

Internal

For TeX

'PfEd' -- the FontForge extensions table

The table begins with a table header containing a version number and a count of sub-tables
uint32 version currently 0x00010000
uint32 count

This is followed by a table of contents, there will be count replications of the following structure (ie. a tag and offset for each sub-table
uint32 tag
uint32 offset from start of 'PfEd' table

The format of the subtable depends on the sub-table's tag. There are currently 3 tags supported, these are

'colr' -- the per-glyph color sub-table

The sub-table header begins with a version number, and a count of ranges
uint16 version 0
uint16 count of ranges

After this will be <count> instances of the following structure
uint16 starting glyph index
uint16 ending glyph index
uint32 color expressed as a 24bit rgb value

'cmnt' -- the per-glyph comment sub-table

The sub-table header begins with a version number, and a count of ranges
uint16 version 0
uint16 count of ranges

After this will be <count> instances of the following structure
uint16 starting glyph index
uint16 ending glyph index
uint32 offset from the start of this sub-table

The offset points to an array of offsets (<end>-<start>+1+1) elements in the array, so one element for each glyph index mentioned in the range structure above, with one left over which allows readers to compute the the length of the last string.
uint32 offset from start of table
...

And each of these offsets points to a unicode (UCS2) string. The strings are assumed to be consecutive, so the length of each may be calculated by subtracting its offset from the offset to the next string.

'fcmt' -- the font comment sub-table

The sub-table header begins with a version number, and a count of ranges
uint16 version 0
uint16 length number of characters in the string

And this is followed by <length> Unicode (UCS2) characters. Currently these unicode characters will always contain ASCII values, but that may change some day.