RFR: 8246104: Some complex text doesn't render correctly on macOS
Johan Vos
jvos at openjdk.java.net
Sat Jun 26 15:46:12 UTC 2021
[Mac only] register system fonts.
Fix for JDK-8246104
The list of available fonts returned by CTFontCollectionCreateFromAvailableFonts does not contain internal fonts (at least not by default, although this is not documented). By registering font(s) (files), those fonts become available in the returned list.
The CT Glyph processing might assign internal fonts to a glyph, and since we lookup the requested font in this list, we fail if the list doesn't contain the font.
This PR registers all fonts in the system library so that they become available. This is not creating additional Java objects or overhead, as it almost directly invokes `CTFontManagerRegisterFontsForURL` via `CTFontFile.registerFont(String fontfile)`
-------------
Commit messages:
- Register system fonts so that they are retrieved via CTFontCollectionCreateFromAvailableFonts.
Changes: https://git.openjdk.java.net/jfx/pull/547/files
Webrev: https://webrevs.openjdk.java.net/?repo=jfx&pr=547&range=00
Issue: https://bugs.openjdk.java.net/browse/JDK-8246104
Stats: 12 lines in 1 file changed: 12 ins; 0 del; 0 mod
Patch: https://git.openjdk.java.net/jfx/pull/547.diff
Fetch: git fetch https://git.openjdk.java.net/jfx pull/547/head:pull/547
PR: https://git.openjdk.java.net/jfx/pull/547
More information about the openjfx-dev
mailing list