diff options
Diffstat (limited to 'gfx/thebes/gfxDWriteFonts.cpp')
-rw-r--r-- | gfx/thebes/gfxDWriteFonts.cpp | 12 |
1 files changed, 8 insertions, 4 deletions
diff --git a/gfx/thebes/gfxDWriteFonts.cpp b/gfx/thebes/gfxDWriteFonts.cpp index fa6bc48cf9..a77dfee6be 100644 --- a/gfx/thebes/gfxDWriteFonts.cpp +++ b/gfx/thebes/gfxDWriteFonts.cpp @@ -96,11 +96,15 @@ gfxDWriteFont::gfxDWriteFont(const RefPtr<UnscaledFontDWrite>& aUnscaledFont, case 0: // never use the DWrite simulation mApplySyntheticBold = true; break; - case 1: // use DWrite simulation for installed fonts but not webfonts - mApplySyntheticBold = aFontEntry->mIsDataUserFont; + case 1: // use DWrite simulation for installed fonts except COLR fonts, + // but not webfonts + mApplySyntheticBold = + aFontEntry->mIsDataUserFont || + aFontEntry->HasFontTable(TRUETYPE_TAG('C', 'O', 'L', 'R')); break; - default: // always use DWrite bold simulation - // the flag is initialized to false in gfxFont + default: // always use DWrite bold simulation, except for COLR fonts + mApplySyntheticBold = + aFontEntry->HasFontTable(TRUETYPE_TAG('C', 'O', 'L', 'R')); break; } } |