RFR: 8190907: Windows 10 default Korean Font Malgun Gothic available not used by GUI elements even though available without Korean Language Pack [v3]

Dmitry Batrak dbatrak at openjdk.java.net
Fri Mar 11 07:30:41 UTC 2022


On Fri, 11 Mar 2022 03:33:38 GMT, Phil Race <prr at openjdk.org> wrote:

> So if you remove the allfonts entry, does it pick up serif.plain.korean (etc) ?

JDK picks up `<LogicalFontName>.<StyleName>.korean` entries regardless of whether `allfonts.korean` entry is present - the former take precedence over the latter. Yes, it goes against the phrase "If a property of the first form is present for a character subset, then properties of the second form for the same character subset are ignored." in documentation, but that's how code in `sun.awt.FontConfiguration.PropertiesHandler.initBinaryTable()` currently works. Indeed it would be good to fix either the code or the documentation. 

> And the allfonts entry does (I am fairly sure) then apply to the fallback sequence if there are no "second form" entries, but regardless it seems odd that fallback entries are ignored because the second form is present, but ignored and in turn causing the fallback to be ignored ?

Not sure what you mean by fallback entries here. If it's about `sequence.fallback` entries, they aren't ignored, they just use fonts specified by the "second form", not the "first form".

> And @JB-Dmitry what did you actually test ? The current PR state ?

Yes, I tested the latest PR state. Just like the initial PR version, and current code in master, in that state Serif font will display boxes for Korean text, if Korean font pack isn't installed, at least on my Windows 10 machine.

-------------

PR: https://git.openjdk.java.net/jdk/pull/7643



More information about the client-libs-dev mailing list