summaryrefslogtreecommitdiffstats
path: root/gfx/thebes/gfxDWriteFonts.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'gfx/thebes/gfxDWriteFonts.cpp')
-rw-r--r--gfx/thebes/gfxDWriteFonts.cpp12
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;
}
}