Re: Meeting minutes and the summary of WOFF2 changes

I created an example font file using the new proposed overlaps flag bitmap
field added to the end of the transformed glyph table and then tested
running it through the existing decoder implementation. The file decoded
successfully without problems. So it looks like the new encoding scheme
will be backwards compatible as expected.

On Thu, May 27, 2021 at 11:05 AM Jason Pamental <jason@rwt.io> wrote:

> I agree with Garret - let’s name things clearly from the start! (As much
> as we can anyway)
>
> Jason
>
>
>
> On May 27, 2021, at 1:02 PM, Garret Rieger <grieger@google.com> wrote:
>
> I'd prefer overlapSimpleBitmap.
>
> On Tue, May 25, 2021 at 2:20 PM Vladimir Levantovsky <
> vladimir.levantovsky@gmail.com> wrote:
>
>> 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 Thursday, 3 June 2021 22:56:38 UTC