> @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.
Matthias Perktold has updated the pull request incrementally with one additional commit since the last revision: Corrected copyright year Co-authored-by: Alexey Ivanov <70774172+aivanov-...@users.noreply.github.com> ------------- Changes: - all: https://git.openjdk.java.net/jdk/pull/2223/files - new: https://git.openjdk.java.net/jdk/pull/2223/files/7b4e87e8..d10824f7 Webrevs: - full: https://webrevs.openjdk.java.net/?repo=jdk&pr=2223&range=02 - incr: https://webrevs.openjdk.java.net/?repo=jdk&pr=2223&range=01-02 Stats: 1 line in 1 file changed: 0 ins; 0 del; 1 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