Closed Bug 601487 Opened 10 years ago Closed 10 years ago

font sanitizer breaks Variation Selector support for downloadable fonts (reftest layout/reftests/font-face/ivs-1.html fails)

Categories

(Core :: Layout: Text and Fonts, defect)

x86
All
defect
Not set
normal

Tracking

()

RESOLVED FIXED
Tracking Status
blocking2.0 --- final+

People

(Reporter: jfkthame, Assigned: jfkthame)

References

Details

Attachments

(1 file)

This reftest fails because the OTS sanitizer transcodes the 'cmap' table of the font, and in the process it includes only selected subtables. It does not support the format-14 subtable used for Unicode Variation Sequences, and therefore the IVS reftest breaks.

Note that this is a separate issue from bug 600821, which relates to the IVS test font being rejected by the sanitizer due to lack of padding. Once the font is fixed, the sanitizer accepts it, but breaks the reftest because it drops the format 14 subtable and so the variation sequence is not handled properly.
This adds support for the Variation Sequence cmap subtable format to the OTS cmap parser. (The code is based on our gfxFontUtils::ReadCMAPTableFormat14, adapted to the OTS environment and coding style and with additional validation of the glyph IDs.)

Applies on top of the patches from bug 527276, obviously; we'll want to land them all as a group.
Assignee: nobody → jfkthame
Attachment #480513 - Flags: review?(jdaggett)
Attachment #480513 - Flags: review?(jdaggett) → review+
Requesting blocking-2.0, as without this patch we'll cause a regression when the font sanitizer (bug 527276) lands - it will disable Variation Selector support (see bug 552460) for downloadable fonts.
blocking2.0: --- → ?
Summary: reftest layout/reftests/font-face/ivs-1.html fails when OTS sanitizer is enabled → font sanitizer breaks Variation Selector support for downloadable fonts (reftest layout/reftests/font-face/ivs-1.html fails)
blocking2.0: ? → final+
http://hg.mozilla.org/mozilla-central/rev/b45ce9db9d72
Status: NEW → RESOLVED
Closed: 10 years ago
Resolution: --- → FIXED
You need to log in before you can comment on or make changes to this bug.