diff --git a/gfx/thebes/gfxOTSUtils.h b/gfx/thebes/gfxOTSUtils.h index 62b93f686de5..ec402c303b19 100644 --- a/gfx/thebes/gfxOTSUtils.h +++ b/gfx/thebes/gfxOTSUtils.h @@ -107,35 +107,24 @@ class MOZ_STACK_CLASS gfxOTSContext : public ots::OTSContext { // and possibly OTL and Variation tables (depending on prefs) if ((!mCheckOTLTables && (aTag == TRUETYPE_TAG('G', 'D', 'E', 'F') || aTag == TRUETYPE_TAG('G', 'P', 'O', 'S') || - aTag == TRUETYPE_TAG('G', 'S', 'U', 'B')))) { - return ots::TABLE_ACTION_PASSTHRU; - } - if (aTag == TRUETYPE_TAG('S', 'V', 'G', ' ') || + aTag == TRUETYPE_TAG('G', 'S', 'U', 'B'))) || + (!mCheckVariationTables && + (aTag == TRUETYPE_TAG('a', 'v', 'a', 'r') || + aTag == TRUETYPE_TAG('c', 'v', 'a', 'r') || + aTag == TRUETYPE_TAG('f', 'v', 'a', 'r') || + aTag == TRUETYPE_TAG('g', 'v', 'a', 'r') || + aTag == TRUETYPE_TAG('H', 'V', 'A', 'R') || + aTag == TRUETYPE_TAG('M', 'V', 'A', 'R') || + aTag == TRUETYPE_TAG('S', 'T', 'A', 'T') || + aTag == TRUETYPE_TAG('V', 'V', 'A', 'R'))) || + aTag == TRUETYPE_TAG('S', 'V', 'G', ' ') || aTag == TRUETYPE_TAG('C', 'O', 'L', 'R') || - aTag == TRUETYPE_TAG('C', 'P', 'A', 'L')) { + aTag == TRUETYPE_TAG('C', 'P', 'A', 'L') || + (mKeepColorBitmaps && (aTag == TRUETYPE_TAG('C', 'B', 'D', 'T') || + aTag == TRUETYPE_TAG('C', 'B', 'L', 'C'))) || + false) { return ots::TABLE_ACTION_PASSTHRU; } - if (mKeepColorBitmaps && (aTag == TRUETYPE_TAG('C', 'B', 'D', 'T') || - aTag == TRUETYPE_TAG('C', 'B', 'L', 'C'))) { - return ots::TABLE_ACTION_PASSTHRU; - } - auto isVariationTable = [](uint32_t aTag) -> bool { - return aTag == TRUETYPE_TAG('a', 'v', 'a', 'r') || - aTag == TRUETYPE_TAG('c', 'v', 'a', 'r') || - aTag == TRUETYPE_TAG('f', 'v', 'a', 'r') || - aTag == TRUETYPE_TAG('g', 'v', 'a', 'r') || - aTag == TRUETYPE_TAG('H', 'V', 'A', 'R') || - aTag == TRUETYPE_TAG('M', 'V', 'A', 'R') || - aTag == TRUETYPE_TAG('S', 'T', 'A', 'T') || - aTag == TRUETYPE_TAG('V', 'V', 'A', 'R'); - }; - if (!mCheckVariationTables && isVariationTable(aTag)) { - return ots::TABLE_ACTION_PASSTHRU; - } - if (!gfxPlatform::GetPlatform()->HasVariationFontSupport() && - isVariationTable(aTag)) { - return ots::TABLE_ACTION_DROP; - } return ots::TABLE_ACTION_DEFAULT; }