On Mon, 1 Feb 2021 12:01:58 GMT, Matthias Perktold <github.com+7334069+mperkt...@openjdk.org> wrote:
>> This PR supersedes #2223. >> The original PR was created from master, whereas this PR is created from a >> fresh branch. >> >> Below is a copy of the original description, but as @mrserb correctly >> [pointed >> out](https://github.com/openjdk/jdk/pull/2223#issuecomment-767048399), there >> is actually no relevant change from CSS 2.1 to CSS 2.2, so I <strike>striked >> out</strike> that part. >> >> ### Original Description >> >> @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. >> >> <strike> >> 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. >> </strike> > > Matthias Perktold has updated the pull request incrementally with one > additional commit since the last revision: > > Link to CSS 2.2 spec from length mapping comments Changes requested by aivanov (Reviewer). test/jdk/javax/swing/text/html/CSS/8231286/HtmlFontSizeTest.java line 77: > 75: frame.setLocationRelativeTo(null); > 76: > 77: return htmlPane.getPreferredSize(); I meant you don't need frame at all. You can remove the `frame` variable. ------------- PR: https://git.openjdk.java.net/jdk/pull/2256