- /* Positioning format type of the glyph. The value specifies how
- the glyph positioning information is encoded in the member <f>.
- If the value is N, the union member fN, is used. If the value is
- zero, the glyph has no positioning information, i.e. it should be
- drawn at the normal position. */
- int positioning_type;
+ /* The lowest 4-bit is a positioning format type of the glyph. The
+ value specifies how the glyph positioning information is encoded
+ in the member <f>. If the value is N, the union member fN, is
+ used. If the value is zero, the glyph has no positioning
+ information, i.e. it should be drawn at the normal position.
+
+ OTF_drive_gsub, OTF_drive_gsub_alternate, OTF_drive_gpos, and
+ OTF_drive_gpos2 always sets the higher bits to zero.
+
+ OTF_drive_gsub_with_log and OTF_drive_gpos_with_log sets the
+ higher 16-bit (i.e. 5th to 20th bits) to the index number of the
+ lastly applied feature on the glyph plus one. If no feature was
+ applied, those bits are zero. */
+ unsigned int positioning_type;