[OpenJDK 2D-Dev] [13] JDK-8219901: Noto fonts for East Asian countries cannot belong to CompositeFont

Philip Race philip.race at oracle.com
Sun Mar 10 09:05:18 UTC 2019

I can sponsor this but first :

You seem to have made "family" redundant but aren't removing it.
There's no point in writing it out if nothing uses it on reading.
So we should remove it unless you can explain why you think it should be 

I don't think this (removing it) is a problem for backports or 
compatibility of the
format since release name is part of the file name where we write the 
and such a file name will necessarily be a consequence of a feature or 
update release
containing this fix.

Where it might be an issue is testing on 13-ea builds since they all report
that as the version string so for testing you may need to clean out your
~/.java/fonts/13-ea folder. The same is for your 13-internal private builds.

I think this is your point when you wrote :-

The cached font list is stored under ~/.java/fonts directory.
We should delete it before applying the fix.

  So you don't need to clean everything - just your develop -internal 
and -ea folders.

Meanwhile I tested it .. and it seemed OK but I am still trying to join
up all the dots to make sure it is all correct code-wise.


On 2/28/19, 3:21 PM, Toshio 5 Nakamura wrote:
> Hi,
> Could you review the fix and may I have a sponsor for it?
> Bug: https://bugs.openjdk.java.net/browse/JDK-8219901
> Webrev: http://cr.openjdk.java.net/~tnakamura/8219901/webrev.00/ 
> <http://cr.openjdk.java.net/%7Etnakamura/8219901/webrev.00/>
> Issue:
> Even if Google Noto fonts[1] were installed and listed by fontconfig 
> library
> on Linux, CompositeFont couldn't contain it.
> Fix description:
> "src/java.desktop/share/classes/sun/font/CompositeFont.java" (l. 296)
> validates the target font by comparing names. But, the current code
> compared FamilyName with FullName (Font.getFontName()).
> Then, Noto font was treated as invalid.
> "src/java.desktop/unix/classes/sun/font/FcFontConfiguration.java"
> should provide FullName.
> The cached font list is stored under ~/.java/fonts directory.
> We should delete it before applying the fix.
> This fix is possible to change the default font, if CompositeFont
> is used (especially under Ubuntu18.04 and East Asian settings).
> But, I believe the fixed behavior is correct.
> [1] https://www.google.com/get/noto/
> Thanks,
> Toshio Nakamura
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://mail.openjdk.java.net/pipermail/2d-dev/attachments/20190310/154fce45/attachment.html>

More information about the 2d-dev mailing list