< prev index next >

src/java.desktop/share/classes/sun/font/SunLayoutEngine.java

Print this page

        

@@ -159,23 +159,10 @@
 
     private SunLayoutEngine(LayoutEngineKey key) {
         this.key = key;
     }
 
-    private boolean isAAT(Font2D font) {
-       if (font instanceof TrueTypeFont) {
-           TrueTypeFont ttf = (TrueTypeFont)font;
-           return ttf.getDirectoryEntry(TrueTypeFont.morxTag) != null ||
-                  ttf.getDirectoryEntry(TrueTypeFont.mortTag) != null;
-       } else if (font instanceof PhysicalFont) {
-           PhysicalFont pf = (PhysicalFont)font;
-           return pf.getTableBytes(TrueTypeFont.morxTag) != null ||
-                  pf.getTableBytes(TrueTypeFont.mortTag) != null;
-       }
-       return false;
-    }
-
     public void layout(FontStrikeDesc desc, float[] mat, float ptSize, int gmask,
                        int baseIndex, TextRecord tr, int typo_flags,
                        Point2D.Float pt, GVData data) {
         Font2D font = key.font();
         FontStrike strike = font.getStrike(desc);

@@ -184,17 +171,12 @@
         nativeLayout(font, strike, mat, gmask, baseIndex,
              tr.text, tr.start, tr.limit, tr.min, tr.max,
              key.script(), key.lang(), typo_flags, pt, data,
              font.getUnitsPerEm(), layoutTables);
         } else {
-            long pNativeFont = font.getPlatformNativeFontPtr(); // used on OSX
-            // pScaler probably not needed long term.
-            long pScaler = 0L;
-            if (font instanceof FileFont) {
-                pScaler = ((FileFont)font).getScaler().nativeScaler;
-            }
-            shape(font, strike, ptSize, mat, pScaler, pNativeFont, isAAT(font),
+            shape(font, strike, ptSize, mat,
+                    font.getHarfbuzzFacePtr(), font.getPlatformNativeFontPtr(), font.isAAT(),
                   tr.text, data, key.script(),
                   tr.start, tr.limit, baseIndex, pt,
                   typo_flags, gmask);
          }
     }

@@ -208,10 +190,10 @@
 
 
     /* Native method to invoke harfbuzz layout engine */
     private static native boolean
         shape(Font2D font, FontStrike strike, float ptSize, float[] mat,
-              long pscaler, long pNativeFont, boolean aat,
+              long pFace, long pNativeFont, boolean aat,
               char[] chars, GVData data,
               int script, int offset, int limit,
               int baseIndex, Point2D.Float pt, int typo_flags, int slot);
 }
< prev index next >