[prev in list] [next in list] [prev in thread] [next in thread] 

List:       openjdk-2d-dev
Subject:    [OpenJDK 2D-Dev] [13] JDK-8219901: Noto fonts for East Asian countries cannot belong to CompositeFon
From:       "Toshio 5 Nakamura" <TOSHIONA () jp ! ibm ! com>
Date:       2019-02-28 9:51:04
Message-ID: OFBEE41FC3.3D41663E-ON002583AF.003303F8-492583AF.00361D54 () notes ! na ! collabserv ! com
[Download RAW message or body]

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/

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

[Attachment #3 (unknown)]

<html><body><p><font size="2">Hi,</font><br><br><font size="2">Could you review the \
fix and may I have a sponsor for it?</font><br><br><font size="2">Bug: </font><a \
href="https://bugs.openjdk.java.net/browse/JDK-8219901"><font \
size="2">https://bugs.openjdk.java.net/browse/JDK-8219901</font></a><br><font \
size="2">Webrev: </font><a \
href="http://cr.openjdk.java.net/~tnakamura/8219901/webrev.00/"><font \
size="2">http://cr.openjdk.java.net/~tnakamura/8219901/webrev.00/</font></a><br><br><font \
size="2">Issue:</font><br><font size="2">Even if Google Noto fonts[1] were installed \
and listed by fontconfig library</font><br><font size="2">on Linux, CompositeFont \
couldn't contain it.</font><br><br><font size="2">Fix description:</font><br><font \
size="2">&quot;src/java.desktop/share/classes/sun/font/CompositeFont.java&quot; (l. \
296)</font><br><font size="2">validates the target font by comparing names. But, the \
current code</font><br><font size="2">compared FamilyName with FullName \
(Font.getFontName()).</font><br><font size="2">Then, Noto font was treated as \
invalid.</font><br><font \
size="2">&quot;src/java.desktop/unix/classes/sun/font/FcFontConfiguration.java&quot;</font><br><font \
size="2">should provide FullName.</font><br><br><font size="2">The cached font list \
is stored under ~/.java/fonts directory.</font><br><font size="2">We should delete it \
before applying the fix.</font><br><br><font size="2">This fix is possible to change \
the default font, if CompositeFont</font><br><font size="2">is used (especially under \
Ubuntu18.04 and East Asian settings).</font><br><font size="2">But, I believe the \
fixed behavior is correct.</font><br><br><font size="2">[1] </font><a \
href="https://www.google.com/get/noto/"><font \
size="2">https://www.google.com/get/noto/</font></a><br><br><font \
size="2">Thanks,</font><br><font size="2">Toshio Nakamura</font><BR> </body></html>



[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic