On Fri, 4 Dec 2020 17:30:11 GMT, Prasanta Sadhukhan <psadhuk...@openjdk.org> 
wrote:

> Issue is when using a JEditorPane to render HTML views with W3C_UNIT_LENGTHS 
> enabled, font-sizes set using CSS are much larger than the same font size 
> outside the HTML.
> It's because CSS LengthUnit uses screen resolution to calculate units so for 
> hidpi screens, the html font size is bigger. 
> Fix is to calculate the units based on the CSS absolute length mentioned in 
> https://drafts.csswg.org/css-values-3/#absolute-lengths so hidpi scaling is 
> not applied twice in CSS and again by Java.

src/java.desktop/share/classes/javax/swing/text/html/CSS.java line 2867:

> 2865: 
> 2866:             // mapping according to the CSS2 spec
> 2867:             // https://drafts.csswg.org/css-values-3/#absolute-lengths

Are you sure that you can get the exact values of these absolute lengths 
without using a DPI of the screen? I mean that these values can be measured 
with a ruler on the screen and they must correspond to "cm" is one centimeter, 
and "in" is one "inch" etc.

BTW how the browsers handle that?

test/jdk/javax/swing/text/html/CSS/HtmlFontSizeTest.java line 28:

> 26:  * @key headful
> 27:  * @summary  Verifies if HTML font size too large with high-DPI scaling 
> and W3C_UNIT_LENGTHS
> 28:  * @run main/othervm -Dsun.java2d.uiScale=1.0 HtmlFontSizeTest

Can we skip this flag and additionally check the multi screen configuration in 
the test?

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

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

Reply via email to