RFR: 8368882: NPE during text drawing on machine with JP locale [v5]

Prasanta Sadhukhan psadhukhan at openjdk.org
Fri Oct 24 05:49:10 UTC 2025


On Mon, 20 Oct 2025 05:58:25 GMT, Sergey Nazarkin <snazarki at openjdk.org> wrote:

>> There is a reproducible bug in symbol rendering on Windows machines with [particular](https://github.com/openjdk/jdk/blob/9d71af108ea2cc3682607527246d60a19fd820ba/src/java.desktop/windows/native/libawt/windows/awt_Win32GraphicsEnv.cpp#L244) default locales. This changeset fixes the deferred font initialisation request, which now skips the last font in the list. 
>> 
>> The test (attached to the jira) was performed on a Windows 11 machine with the Japanese locale set as the default.  Without the fix, it fails with an NPE. With the fix it displays a window showing glyphs drawn by all the fonts accessible from the Java application.
>
> Sergey Nazarkin has updated the pull request incrementally with one additional commit since the last revision:
> 
>   Get rid of eudc.reg

Minor nit..LGTM

src/java.desktop/share/classes/sun/font/CompositeFont.java line 117:

> 115:             deferredInitialisation = new boolean[numSlots];
> 116:             if (defer) {
> 117:                 for (int i=0; i<numSlots; i++) {

formatting issue..space needs to be given between operator = and <

test/jdk/java/awt/8368882/FallbackFontNPE.java line 25:

> 23:  */
> 24: 
> 25: import java.awt.FontMetrics ;

space before ;

test/jdk/java/awt/8368882/FallbackFontNPE.java line 31:

> 29: public class FallbackFontNPE {
> 30:     public static void main(String[] args) throws Exception {
> 31:         BufferedImage bi = new BufferedImage(1,1,1);

give space in between params

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

Marked as reviewed by psadhukhan (Reviewer).

PR Review: https://git.openjdk.org/jdk/pull/27551#pullrequestreview-3374649400
PR Review Comment: https://git.openjdk.org/jdk/pull/27551#discussion_r2458965224
PR Review Comment: https://git.openjdk.org/jdk/pull/27551#discussion_r2458965624
PR Review Comment: https://git.openjdk.org/jdk/pull/27551#discussion_r2458966041


More information about the client-libs-dev mailing list