On Tue, 1 Feb 2022 18:38:39 GMT, Dmitry Batrak <dbat...@openjdk.org> wrote:

> The proposed fix makes fonts with and without fallback components 
> distinguishable (in terms of `equals` method), so that
> font metrics cache (and other similar code) can handle them separately. This 
> is achieved by adding a new boolean field
> to `Font` class, specifically denoting fonts with fallback components. The 
> latter ones don't need to pretend to be
> 'created' fonts anymore, to preserve their `Font2D` handle.
> It's not possible to use the existing `createdFont` field in `equals` 
> implementation, as JCK requires a 'real' created
> font (the one obtained using `Font.createFont` method) to be equal to the 
> same font after serialization and
> deserialization.

src/java.desktop/share/classes/java/awt/Font.java line 464:

> 462:      * should be copied to derived fonts.
> 463:      */
> 464:     private transient boolean withFallback;

I wonder how it will work if the Font was read from the system, then 
serialized/deserialized and then used?

test/jdk/javax/swing/JEditorPane/JEditorPaneFontFallback.java line 2:

> 1: /*
> 2:  * Copyright 2022 JetBrains s.r.o.

It seems that different files use different style of "Copyright 2022 JetBrains 
s.r.o", is the current correct?

test/jdk/javax/swing/JEditorPane/JEditorPaneFontFallback.java line 28:

> 26:  * @bug 8185261
> 27:  * @summary Tests that font fallback works reliably in JEditorPane
> 28:  * @key headful

Is the test depends on the headful libraries? Don't we need to test both 
headful and headless cases?

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

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

Reply via email to