671 jlong image = Java_sun_font_FreetypeFontScaler_getGlyphImageNative( |
671 jlong image = Java_sun_font_FreetypeFontScaler_getGlyphImageNative( |
672 env, scaler, font2D, |
672 env, scaler, font2D, |
673 pScalerContext, pScaler, glyphCode); |
673 pScalerContext, pScaler, glyphCode); |
674 info = (GlyphInfo*) jlong_to_ptr(image); |
674 info = (GlyphInfo*) jlong_to_ptr(image); |
675 |
675 |
676 (*env)->SetFloatField(env, metrics, sunFontIDs.xFID, info->advanceX); |
676 if (info != NULL) { |
677 (*env)->SetFloatField(env, metrics, sunFontIDs.yFID, info->advanceY); |
677 (*env)->SetFloatField(env, metrics, sunFontIDs.xFID, info->advanceX); |
678 |
678 (*env)->SetFloatField(env, metrics, sunFontIDs.yFID, info->advanceY); |
679 free(info); |
679 free(info); |
|
680 } else { |
|
681 (*env)->SetFloatField(env, metrics, sunFontIDs.xFID, 0.0f); |
|
682 (*env)->SetFloatField(env, metrics, sunFontIDs.yFID, 0.0f); |
|
683 } |
680 } |
684 } |
681 |
685 |
682 |
686 |
683 static GlyphInfo* getNullGlyphImage() { |
687 static GlyphInfo* getNullGlyphImage() { |
684 GlyphInfo *glyphInfo = (GlyphInfo*) calloc(1, sizeof(GlyphInfo)); |
688 GlyphInfo *glyphInfo = (GlyphInfo*) calloc(1, sizeof(GlyphInfo)); |