< prev index next >
src/java.desktop/share/native/libfontmanager/HBShaper.c
Print this page
@@ -199,13 +199,11 @@
JDKFontInfo*
createJDKFontInfo(JNIEnv *env,
jobject font2D,
jobject fontStrike,
jfloat ptSize,
- jlong pScaler,
jlong pNativeFont,
- jlong layoutTables,
jfloatArray matrix,
jboolean aat) {
JDKFontInfo *fi = (JDKFontInfo*)malloc(sizeof(JDKFontInfo));
@@ -214,11 +212,10 @@
}
fi->env = env; // this is valid only for the life of this JNI call.
fi->font2D = font2D;
fi->fontStrike = fontStrike;
fi->nativeFont = pNativeFont;
- fi->layoutTables = (TTLayoutTableCache*)layoutTables;
fi->aat = aat;
(*env)->GetFloatArrayRegion(env, matrix, 0, 4, fi->matrix);
fi->ptSize = ptSize;
fi->xPtSize = euclidianDistance(fi->matrix[0], fi->matrix[1]);
fi->yPtSize = euclidianDistance(fi->matrix[2], fi->matrix[3]);
@@ -239,13 +236,12 @@
(JNIEnv *env, jclass cls,
jobject font2D,
jobject fontStrike,
jfloat ptSize,
jfloatArray matrix,
- jlong pScaler,
+ jlong pFace,
jlong pNativeFont,
- jlong layoutTables,
jboolean aat,
jcharArray text,
jobject gvdata,
jint script,
jint offset,
@@ -254,10 +250,11 @@
jobject startPt,
jint flags,
jint slot) {
hb_buffer_t *buffer;
+ hb_face_t* hbface;
hb_font_t* hbfont;
jchar *chars;
jsize len;
int glyphCount;
hb_glyph_info_t *glyphInfo;
@@ -270,19 +267,20 @@
jboolean ret;
unsigned int buflen;
JDKFontInfo *jdkFontInfo =
createJDKFontInfo(env, font2D, fontStrike, ptSize,
- pScaler, pNativeFont, layoutTables, matrix, aat);
+ pNativeFont, matrix, aat);
if (!jdkFontInfo) {
return JNI_FALSE;
}
jdkFontInfo->env = env; // this is valid only for the life of this JNI call.
jdkFontInfo->font2D = font2D;
jdkFontInfo->fontStrike = fontStrike;
- hbfont = hb_jdk_font_create(jdkFontInfo, NULL);
+ hbface = (hb_face_t*) jlong_to_ptr(pFace);
+ hbfont = hb_jdk_font_create(hbface, jdkFontInfo, NULL);
buffer = hb_buffer_create();
hb_buffer_set_script(buffer, getHBScriptCode(script));
hb_buffer_set_language(buffer,
hb_ot_tag_to_language(HB_OT_TAG_DEFAULT_LANGUAGE));
< prev index next >