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 effect. 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).

-phil.




Reply via email to