jfx
jfx copied to clipboard
8246104: Some complex text doesn't render correctly on macOS
[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)
Progress
- [x] Change must not contain extraneous whitespace
- [x] Commit message must refer to an issue
- [ ] Change must be properly reviewed
Issue
- JDK-8246104: Some complex text doesn't render correctly on macOS
Reviewing
Using git
Checkout this PR locally:
$ git fetch https://git.openjdk.java.net/jfx pull/547/head:pull/547
$ git checkout pull/547
Update a local copy of the PR:
$ git checkout pull/547
$ git pull https://git.openjdk.java.net/jfx pull/547/head
Using Skara CLI tools
Checkout this PR locally:
$ git pr checkout 547
View PR using the GUI difftool:
$ git pr show -t 547
Using diff file
Download this PR as a diff file:
https://git.openjdk.java.net/jfx/pull/547.diff
:wave: Welcome back jvos! A progress list of the required criteria for merging this PR into master will be added to the body of your pull request. There are additional pull request commands available for use with this pull request.
@johanvos This pull request has been inactive for more than 4 weeks and will be automatically closed if another 4 weeks passes without any activity. To avoid this, simply add a new comment to the pull request. Feel free to ask for assistance if you need help with progressing this pull request towards integration!
I am closing this PR now that #1067 is integrated.