diff options
-rw-r--r-- | core/fxge/skia/fx_skia_device.cpp | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/core/fxge/skia/fx_skia_device.cpp b/core/fxge/skia/fx_skia_device.cpp index 278b6d874f..3363973aae 100644 --- a/core/fxge/skia/fx_skia_device.cpp +++ b/core/fxge/skia/fx_skia_device.cpp @@ -872,6 +872,10 @@ class SkiaState { m_positions[index + count] = {cp.m_Origin.x * flip, cp.m_Origin.y * vFlip}; m_glyphs[index + count] = static_cast<uint16_t>(cp.m_GlyphIndex); +#if _FXM_PLATFORM_ == _FXM_PLATFORM_APPLE_ + if (cp.m_ExtGID) + m_glyphs[index + count] = static_cast<uint16_t>(cp.m_ExtGID); +#endif } SkPoint delta; if (MatrixOffset(pMatrix, &delta)) { @@ -1590,6 +1594,10 @@ bool CFX_SkiaDeviceDriver::DrawDeviceText(int nChars, } } glyphs[index] = static_cast<uint16_t>(cp.m_GlyphIndex); +#if _FXM_PLATFORM_ == _FXM_PLATFORM_APPLE_ + if (cp.m_ExtGID) + glyphs[index] = static_cast<uint16_t>(cp.m_ExtGID); +#endif } if (oneAtATime) useRSXform = false; |