@prsadhuk asked me to take over his pull request #1628, since I filed the bug an suggested this fix.
I thought the current behavior would be buggy, but actually the units are quite precise. I checked the size of a text in font-size of 1 in, and it really was approximately 1 inch. The problem is just that browsers behave differently. Swing follows the CSS 2.1 spec: https://www.w3.org/TR/CSS21/syndata.html#length-units. But in CSS 2.2, length units where redefined: https://www.w3.org/TR/CSS22/syndata.html#length-units. Now `px` is also an absolute unit, and there are constant conversion factors between all absolute units. The CSS 2.2 spec includes the following two notes regarding this change: > Note that if the anchor unit is the pixel unit, the physical units might not > match their physical measurements. Alternatively if the anchor unit is a > physical unit, the pixel unit might not map to a whole number of device > pixels. > Note that this definition of the pixel unit and the physical units differs > from previous versions of CSS. In particular, in previous versions of CSS the > pixel unit and the physical units were not related by a fixed ratio: the > physical units were always tied to their physical measurements while the > pixel unit would vary to most closely match the reference pixel. (This change > was made because too much existing content relies on the assumption of 96dpi, > and breaking that assumption breaks the content.) So the spec changed the behavior to better support high-DPI devices with existing content, and that is exactly my intention with this PR as well. ------------- Commit messages: - Fixed jcheck - Removed unnecessary imports - Convert tabs to spaces - Fix JDK-8231286 Changes: https://git.openjdk.java.net/jdk/pull/2223/files Webrev: https://webrevs.openjdk.java.net/?repo=jdk&pr=2223&range=00 Issue: https://bugs.openjdk.java.net/browse/JDK-8231286 Stats: 114 lines in 3 files changed: 100 ins; 6 del; 8 mod Patch: https://git.openjdk.java.net/jdk/pull/2223.diff Fetch: git fetch https://git.openjdk.java.net/jdk pull/2223/head:pull/2223 PR: https://git.openjdk.java.net/jdk/pull/2223