@@ -151,34 +151,9 @@ private SunLayoutEngine(LayoutEngineKey key) {
151151 this .key = key ;
152152 }
153153
154- static WeakHashMap <Font2D , Boolean > aatInfo = new WeakHashMap <>();
155154 private static final WeakHashMap <Font2D , FaceRef > facePtr =
156155 new WeakHashMap <>();
157156
158- private static boolean isAAT (Font2D font ) {
159- Boolean aatObj ;
160- synchronized (aatInfo ) {
161- aatObj = aatInfo .get (font );
162- }
163- if (aatObj != null ) {
164- return aatObj .booleanValue ();
165- }
166- boolean aat = false ;
167- if (font instanceof TrueTypeFont ) {
168- TrueTypeFont ttf = (TrueTypeFont )font ;
169- aat = ttf .getDirectoryEntry (TrueTypeFont .morxTag ) != null ||
170- ttf .getDirectoryEntry (TrueTypeFont .mortTag ) != null ;
171- } else if (font instanceof PhysicalFont ) {
172- PhysicalFont pf = (PhysicalFont )font ;
173- aat = pf .getTableBytes (TrueTypeFont .morxTag ) != null ||
174- pf .getTableBytes (TrueTypeFont .mortTag ) != null ;
175- }
176- synchronized (aatInfo ) {
177- aatInfo .put (font , Boolean .valueOf (aat ));
178- }
179- return aat ;
180- }
181-
182157 private long getFacePtr (Font2D font2D ) {
183158 FaceRef ref ;
184159 synchronized (facePtr ) {
@@ -192,11 +167,9 @@ public void layout(FontStrikeDesc desc, float[] mat, float ptSize, int gmask,
192167 Point2D .Float pt , GVData data ) {
193168 Font2D font = key .font ();
194169 FontStrike strike = font .getStrike (desc );
195- long pNativeFont = font .getPlatformNativeFontPtr (); // used on OSX
196170 long pFace = getFacePtr (font );
197171 if (pFace != 0 ) {
198- shape (font , strike , ptSize , mat , pNativeFont ,
199- pFace , isAAT (font ),
172+ shape (font , strike , ptSize , mat , pFace ,
200173 tr .text , data , key .script (),
201174 tr .start , tr .limit , baseIndex , pt ,
202175 typo_flags , gmask );
@@ -206,13 +179,12 @@ pFace, isAAT(font),
206179 /* Native method to invoke harfbuzz layout engine */
207180 private static native boolean
208181 shape (Font2D font , FontStrike strike , float ptSize , float [] mat ,
209- long pNativeFont , long pFace , boolean aat ,
182+ long pFace ,
210183 char [] chars , GVData data ,
211184 int script , int offset , int limit ,
212185 int baseIndex , Point2D .Float pt , int typo_flags , int slot );
213186
214187 private static native long createFace (Font2D font ,
215- boolean aat ,
216188 long platformNativeFontPtr );
217189
218190 private static native void disposeFace (long facePtr );
@@ -227,7 +199,7 @@ private FaceRef(Font2D font) {
227199
228200 private synchronized long getNativePtr () {
229201 if (facePtr == null ) {
230- facePtr = createFace (font , isAAT ( font ),
202+ facePtr = createFace (font ,
231203 font .getPlatformNativeFontPtr ());
232204 if (facePtr != 0 ) {
233205 Disposer .addObjectRecord (font , this );
0 commit comments