aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/ports/SkFontHost_win.cpp
diff options
context:
space:
mode:
authorGravatar Ben Wagner <bungeman@google.com>2018-02-15 10:20:04 -0500
committerGravatar Skia Commit-Bot <skia-commit-bot@chromium.org>2018-03-22 20:55:05 +0000
commitc912d6133c66df7cde3d64adc76941856a12da64 (patch)
treed930e2c70814d21347d5069089fa6f18c25ddcb8 /src/ports/SkFontHost_win.cpp
parent0f66681ff1c7a2b22d89424ba69e3a5bb8c40b0b (diff)
Add color fonts.
BUG=skia:7624 Change-Id: Id2b7449048591892ff802484d5e3745a7e1402bb Reviewed-on: https://skia-review.googlesource.com/109521 Commit-Queue: Ben Wagner <bungeman@google.com> Reviewed-by: Mike Klein <mtklein@google.com> Reviewed-by: Herb Derby <herb@google.com>
Diffstat (limited to 'src/ports/SkFontHost_win.cpp')
-rw-r--r--src/ports/SkFontHost_win.cpp7
1 files changed, 7 insertions, 0 deletions
diff --git a/src/ports/SkFontHost_win.cpp b/src/ports/SkFontHost_win.cpp
index f0eb7b7d9b..abe1550a01 100644
--- a/src/ports/SkFontHost_win.cpp
+++ b/src/ports/SkFontHost_win.cpp
@@ -830,6 +830,13 @@ uint16_t SkScalerContext_GDI::generateCharToGlyph(SkUnichar utf32) {
HRZM(ScriptItemize(utf16, numWCHAR, maxItems, &sc, nullptr, si, &numItems),
"Could not itemize character.");
+ // Disable any attempt at shaping.
+ // Without this ScriptShape may return 0x80040200 (USP_E_SCRIPT_NOT_IN_FONT)
+ // when all that is desired here is a simple cmap lookup.
+ for (SCRIPT_ITEM& item : si) {
+ item.a.eScript = SCRIPT_UNDEFINED;
+ }
+
// Sometimes ScriptShape cannot find a glyph for a non-BMP and returns 2 space glyphs.
static const int maxGlyphs = 2;
SCRIPT_VISATTR vsa[maxGlyphs];