- From: Vladimir Levantovsky <vladimir.levantovsky@gmail.com>
- Date: Tue, 25 May 2021 16:20:14 -0400
- To: "'Web Fonts Working Group'" <public-webfonts-wg@w3.org>
- Message-ID: <087d01d751a3$5f787d50$1e6977f0$@gmail.com>
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