< prev index next >

src/share/native/sun/font/FontInstanceAdapter.cpp

Print this page

        

*** 134,149 **** --- 134,155 ---- if (mappedChar == 0x200C || mappedChar == 0x200D) { return 1; } LEGlyphID id = (LEGlyphID)env->CallIntMethod(font2D, sunFontIDs.f2dCharToGlyphMID, (jint)mappedChar); + if ((int)id < 0) { + id = 0; + } return id; } LEGlyphID FontInstanceAdapter::mapCharToGlyph(LEUnicode32 ch) const { LEGlyphID id = (LEGlyphID)env->CallIntMethod(font2D, sunFontIDs.f2dCharToGlyphMID, ch); + if ((int)id < 0) { + id = 0; + } return id; } void FontInstanceAdapter::mapCharsToWideGlyphs(const LEUnicode chars[], le_int32 offset, le_int32 count, le_bool reverse,
*** 187,198 **** if (mappedChar == 0x200C || mappedChar == 0x200D) { return 1; } ! return (LEGlyphID)env->CallIntMethod(font2D, sunFontIDs.charToGlyphMID, mappedChar); } void FontInstanceAdapter::getGlyphAdvance(LEGlyphID glyph, LEPoint &advance) const { getWideGlyphAdvance((le_uint32)glyph, advance); --- 193,208 ---- if (mappedChar == 0x200C || mappedChar == 0x200D) { return 1; } ! LEGlyphID id = (LEGlyphID)env->CallIntMethod(font2D, sunFontIDs.charToGlyphMID, mappedChar); + if ((int)id < 0) { + id = 0; + } + return id; } void FontInstanceAdapter::getGlyphAdvance(LEGlyphID glyph, LEPoint &advance) const { getWideGlyphAdvance((le_uint32)glyph, advance);
< prev index next >