summaryrefslogtreecommitdiffstats
path: root/gfx/thebes/gfxDWriteFontList.cpp
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-08 15:11:27 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-08 15:11:27 +0000
commitf3bcaf9f88aad2c423ebcd61121562f9834187d4 (patch)
treef22238c29b57707b645a350940e3e9bdf3ce1f5d /gfx/thebes/gfxDWriteFontList.cpp
parentAdding debian version 115.7.0esr-1~deb12u1. (diff)
downloadfirefox-esr-f3bcaf9f88aad2c423ebcd61121562f9834187d4.tar.xz
firefox-esr-f3bcaf9f88aad2c423ebcd61121562f9834187d4.zip
Merging upstream version 115.8.0esr.
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'gfx/thebes/gfxDWriteFontList.cpp')
-rw-r--r--gfx/thebes/gfxDWriteFontList.cpp12
1 files changed, 7 insertions, 5 deletions
diff --git a/gfx/thebes/gfxDWriteFontList.cpp b/gfx/thebes/gfxDWriteFontList.cpp
index d31ba05deb..cb88fd86d9 100644
--- a/gfx/thebes/gfxDWriteFontList.cpp
+++ b/gfx/thebes/gfxDWriteFontList.cpp
@@ -554,7 +554,7 @@ nsresult gfxDWriteFontEntry::ReadCMAP(FontInfoData* aFontInfoData) {
gfxPlatformFontList* pfl = gfxPlatformFontList::PlatformFontList();
fontlist::FontList* sharedFontList = pfl->SharedFontList();
if (!IsUserFont() && mShmemFace) {
- mShmemFace->SetCharacterMap(sharedFontList, charmap); // async
+ mShmemFace->SetCharacterMap(sharedFontList, charmap, mShmemFamily);
if (TrySetShmemCharacterMap()) {
setCharMap = false;
}
@@ -674,11 +674,13 @@ gfxFont* gfxDWriteFontEntry::CreateFontInstance(
switch (StaticPrefs::gfx_font_rendering_directwrite_bold_simulation()) {
case 0: // never use the DWrite simulation
break;
- case 1: // use DWrite simulation for installed fonts but not webfonts
- useBoldSim = !mIsDataUserFont;
+ case 1: // use DWrite simulation for installed fonts except COLR fonts,
+ // but not webfonts
+ useBoldSim =
+ !mIsDataUserFont && !HasFontTable(TRUETYPE_TAG('C', 'O', 'L', 'R'));
break;
- default: // always use DWrite bold simulation
- useBoldSim = true;
+ default: // always use DWrite bold simulation, except for COLR fonts
+ useBoldSim = !HasFontTable(TRUETYPE_TAG('C', 'O', 'L', 'R'));
break;
}
}