On Wed, 10 Feb 2021 10:33:03 GMT, Prasanta Sadhukhan <psadhuk...@openjdk.org> 
wrote:

> Test hardcodes bufferedimage and frame bounds so it does not capture correct 
> size if scaling factor is used.
> The solution is to always use the same uiscale=1, an updated test still can 
> reproduce the JDK-8015085 issue without fix. Additionally, moved the frame to 
> centre of screen for better mach5 stability.
> Mach5 job running for several iterations on all platforms is ok. Link in JBS.

I think the test does something wrong. Now I see how `uiScale` affects 
rendering. The test does not paint JLabel directly to the image but rather in 
its overridden `paintComponent`. So `uiScale` controls the size of the 
component or rather where the break occurs.

For me on Windows with 200% scaling, in the first image ‘…’ is painted over the 
transparent background whereas in the second image ‘…’ is over the components 
opaque background.

The test passes with `uiScale=1` but I see no ‘…’ at all. Both images are 
clipped at “.1”.

As far as I understand, the purpose of the test is to make sure combining 
diacritics does not affect string clipping, and it occurs at the same position 
whether a composite character is used of a decomposed one. Yet no clipping 
occurs at all with `uiScale=1`. This looks wrong even though the test passes 
successfully. And when the test fails with `uiScale=2`, the images suggest 
there's a product bug because the string is clipped differently.

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

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

Reply via email to