< prev index next >

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

Print this page

        

@@ -153,10 +153,15 @@
                        int baseIndex, TextRecord tr, int typo_flags,
                        Point2D.Float pt, GVData data) {
         Font2D font = key.font();
         FontStrike strike = font.getStrike(desc);
         long layoutTables = font.getLayoutTableCache();
+        if (font instanceof CFont && (typo_flags & 0x80000000) != 0) {
+            // Ignore layout tables for RTL AAT fonts
+            // due to lack of support in ICU
+            layoutTables = 0;
+        }
         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);
     }
< prev index next >