On Tue, 1 Feb 2022 21:40:53 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.
>
> Dmitry Batrak has updated the pull request incrementally with one additional 
> commit since the last revision:
> 
>   remove 'headful' requirement from test case

Still waiting for a response.

If you're not comfortable with changing `Font.equals` behaviour, let's 
introduce some other public method, which can be used to distinguish fonts with 
and without fallback components. I believe, it should be in public API, as the 
issue isn't just about JEditorPane (etc) implementation. Even though it's not a 
documented feature, client code can easily construct a font with fallback 
components using existing public API - one should just use `new 
javax.swing.text.StyleContext().getFont(family, style, size)` instead of `new 
java.awt.Font(family, style, size)`.

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

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

Reply via email to