Meeting minutes and the summary of WOFF2 changes

Minutes of today's discussion are online at
https://www.w3.org/2021/05/25-webfonts-minutes.html

 

Summary of the WOFF2 changes to accommodate simple glyph flags bit 6
(OVERLAP_SIMPLE) bit array (see Simple Glyph Flags description for details,
https://docs.microsoft.com/en-us/typography/opentype/spec/glyf).

 

In WOFF2 "Transformed 'glyf' table format"
(https://www.w3.org/TR/WOFF2/#glyf_table_format), make the following
changes:

1)      Change the datatype of the existing "version" field from Fixed to
UInt16 with reserved value 0x0000.

2)      Immediately after the updated "version" field, introduce a new
UInt16 field named "optionFlags". Designate the bit 0x0001 to be the flag
indicating the presence of the newly defined flag6Bitmap[] bit array. 

3)      In the end of the table, add the UInt8 flag6Bitmap[] - a
numGlyphs-long bit array that provides values for the flag [bit 6] for each
simple glyph. (Flag values for composite glyphs are already encoded as part
of the compositeStream[].)

4)      Add the following descriptive text:
"The optionFlags field bit 0 indicates the presence of the additional
flag6Bitmap[] bit array, all other bits are reserved and should be cleared.
If all simple glyphs of the input font have OVERLAP_SIMPLE flags set to
zero, the encoder MUST clear bit 0 of the optionFlags field and omit the
flag6Bitmap[] bit array. If at least one of the simple glyphs in the input
font have the flags bit 6 set, the encoder must set the optionFlags bit 0 to
"1", and MUST create the additional flag6Bitmap[] bit array where the
corresponding bits MUST be set to the values of the flag bit 6 of each
simple glyph in the input font.

The decoder MUST check the optionFlags bit0 value to determine whether the
additional flag6Bitmap[] is included as part of the transformed 'glyf'
table. If the additional flag6Bitmap[] bit array is not present, upon
reconstruction of the simple glyphs flags the decoder MUST set all
OVERLAP_SIMPLE flag values to zero. If flag6Bitmap[] is included, the decode
MUST use flag6Bitmap[] bit settings to reconstruct OVERLAP_SIMPLE flag
values, and set the corresponding flag6Bitmap[] bit value as flag bit 6 on
the first flag byte for each simple glyph of the output font"

 

Question to the WG: I am considering two possible names for the new
additional bit array - flag6Bitmap[] (used above as part of the proposed
changes, which is derived from the simple glyphs flags bit 6 value), or the
more verbose [and more descriptive] "overlapSimpleBitmap[]".

What would be your preference for the new array name?


Thank you,

Vlad

Received on Tuesday, 25 May 2021 20:20:29 UTC