[OpenJDK 2D-Dev] RFR: 8210384: SunLayoutEngine.isAAT() font is expensive on MacOS

Philip Race philip.race at oracle.com
Sat Sep 8 19:51:53 UTC 2018

bug: https://bugs.openjdk.java.net/browse/JDK-8210384
webrev: http://cr.openjdk.java.net/~prr/8210384/

AAT is the Apple alternative to OpenType layout.

Calls to the Harfbuzz layout engine need to pass a flag which says 
whether the font is an AAT font
because we need to set up transforms differently. It is also looking 
like it is needed for JDK 8
with ICU because of problems handling AAT fonts  there.
The current way of doing this via checking if there is a morx table is 
really expensive.
So this fix adds a low-cost cache of the result.
No regression test because it is a performance fix but I did check the 
In a quick test rendering about 15 strings which broke up into 132 
different runs,
this reduced overall rendering time by 50% (and that includes the time 
to draw the glyphs,
so it is an even bigger component of layout).


More information about the 2d-dev mailing list