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-27 16:49:14 +0000
commitd3b933f3e03d5c22e9e7c56d2110469e41509720 (patch)
tree585ebbc1dca5ccbfde1cd12cb2cd8fa7855dbb67 /src/ports/SkFontHost_win.cpp
parent6ce482aed42630d451e07228b57de8ccced0601d (diff)
Add color fonts.
BUG=skia:7624 Change-Id: I1d0974282adce2fd7b13a003309e63593b6e1a9c 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> Reviewed-on: https://skia-review.googlesource.com/116541
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];