diff options
Diffstat (limited to 'Build/source/libs/graphite2/graphite2-src/src/gr_slot.cpp')
-rw-r--r-- | Build/source/libs/graphite2/graphite2-src/src/gr_slot.cpp | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/Build/source/libs/graphite2/graphite2-src/src/gr_slot.cpp b/Build/source/libs/graphite2/graphite2-src/src/gr_slot.cpp index 21a00fdcd51..a3c6b46a7f4 100644 --- a/Build/source/libs/graphite2/graphite2-src/src/gr_slot.cpp +++ b/Build/source/libs/graphite2/graphite2-src/src/gr_slot.cpp @@ -95,8 +95,9 @@ float gr_slot_advance_X(const gr_slot* p/*not NULL*/, const gr_face *face, const if (font) { scale = font->scale(); - if (face && font->isHinted()) - res = (res - face->glyphs().glyph(p->gid())->theAdvance().x) * scale + font->advance(p->gid()); + int gid = p->glyph(); + if (face && font->isHinted() && gid < face->glyphs().numGlyphs()) + res = (res - face->glyphs().glyph(gid)->theAdvance().x) * scale + font->advance(gid); else res = res * scale; } |