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