< 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 >