[MPEG-OTSPEC] head flags

Simon Cozens simon at simon-cozens.org
Wed Sep 2 20:01:07 CEST 2020


I am trying to understand the purpose of some of the flags in the head 
table.

Flag bit 1 is described quite differently in TrueType and MSOT.

TrueType: "If bit 1 is set to one, the x-position of the leftmost black 
bit is assumed to be the left side bearing."
MSOT: "Left sidebearing point at x=0"

I'm not sure what TrueType means by "leftmost black *bit*", but I can't 
think of a situation where this wouldn't be true, and anyway it seems 
like the opposite of MSOT, where the LSB is apparently set to 0 (unless 
"left sidebearing *point*" means something I'm not expecting).

What does this bit mean and what do consumers do with it?

Bit 11 *seems* to be about the DSIG table being invalidated, but as 
previously mentioned here nobody validates the DSIG table anyway.

Bit 12 is *severely* underdocumented.

Bit 14 claims to be for Last Resort fonts. As a point of information, 
neither Adobe Blank nor Apple Last Resort set this bit. It's also 
unclear what font consumers should do about it. So the cmap table 
representation is a lie - what should the shaping engine trust instead?

Also glyphDataFormat is set to a constant 0 when we have now at least 
three different primary outline representation formats, which seems like 
a waste.

S


More information about the mpeg-otspec mailing list