RFR: 8233177: JTextField's size is computed incorrectly when it contains Indic or Thai characters

Sergey Bylokhov serb at openjdk.org
Wed Jan 24 02:39:27 UTC 2024


On Tue, 23 Jan 2024 08:18:33 GMT, Prasanta Sadhukhan <psadhukhan at openjdk.org> wrote:

> Existing regression test is failing because textfield height is not as per test's expectation..Seems like the indic character being tried to render is not being loaded (probably because of missing glyphs) leading to 0 preferredSpan from [BoxView](https://github.com/openjdk/jdk/blame/5a74c2a67ebcb47e51732f03c4be694bdf920469/src/java.desktop/share/classes/javax/swing/text/BoxView.java#L545-L552) which is superclass for `i18nFieldVIew`, the field view for Indic characters.
> Tried block character in the test which is now being loaded properly leading to correct height..

Can you please check that the updated test can verify the initial bug? When I run the reproducer from the JBS for that bug on JDK8+macOS then I can reproduce it. But if I update the characters as suggested in this PR the bug stops reproducing.

test/jdk/javax/swing/plaf/basic/BasicTextUI/8001470/bug8001470.java line 58:

> 56: 
> 57:                 textField1 = new JTextField("\u2588");
> 58:                 textField2 = new JTextField("\u2588");

You do not need to test the same character twice

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

PR Comment: https://git.openjdk.org/jdk/pull/17528#issuecomment-1907252071
PR Review Comment: https://git.openjdk.org/jdk/pull/17528#discussion_r1464225554


More information about the client-libs-dev mailing list