JDK-8210384 : SunLayoutEngine.isAAT() font is expensive on MacOS
  • Type: Bug
  • Component: client-libs
  • Sub-Component: 2d
  • Affected Version: 8,11,12
  • Priority: P3
  • Status: Resolved
  • Resolution: Fixed
  • Submitted: 2018-09-04
  • Updated: 2020-01-06
  • Resolved: 2018-09-09
The Version table provides details related to the release that this issue/RFE will be addressed.

Unresolved : Release in which this issue/RFE will be addressed.
Resolved: Release in which this issue/RFE has been resolved.
Fixed : Release in which this issue/RFE has been fixed. The release containing this fix may be available for download as an Early Access Release or a General Availability Release.

To download the current JDK release, click here.
JDK 11 JDK 12 JDK 8
11.0.6-oracleFixed 12 b14Fixed 8u202Fixed
The text layout code passes a boolean flag down to the
native layer which is used to inform it how to handle device scales.
For sun.font.TrueType instances this is a cheap test, but
since on MacOS the CFont class is used, the call is very expensive
on Mac, since it makes a native call which uses core text to
retrieve the table and constructs a Java byte array and passes
it up to Java. All to discover the layout technology of the font.
If this can't be made much cheaper, the result should be cached.

Fix request (11u): Requesting backport for parity with Oracle 11.0.6. Patch applies cleanly, no regressions seen.