Skip to main content

is_gdef_blocklisted

Function is_gdef_blocklisted 

Source
fn is_gdef_blocklisted(gdef_len: u32, gsub_len: u32, gpos_len: u32) -> bool
Expand description

Blocklist specific broken GDEF tables identified by the combination of GDEF, GSUB, and GPOS table lengths. Nuke the GDEF tables to avoid unwanted width-zeroing.

In certain versions of Times New Roman Italic and Bold Italic, ASCII double quotation mark U+0022 has wrong glyph class 3 (mark) in GDEF. Many versions of Tahoma have bad GDEF tables that incorrectly classify some spacing marks such as certain IPA symbols as glyph class 3. So do older versions of Microsoft Himalaya, and the version of Cantarell shipped by Ubuntu 16.04.

See https://lists.freedesktop.org/archives/harfbuzz/2016-February/005489.html https://bugzilla.mozilla.org/show_bug.cgi?id=1279925 https://bugzilla.mozilla.org/show_bug.cgi?id=1279693 https://bugzilla.mozilla.org/show_bug.cgi?id=1279875

Upstream: hb-ot-layout.cc OT::GDEF::is_blocklisted