Re: Making pt a non-physical unit

On Fri, Jan 8, 2010 at 7:43 AM, David Singer <singer@apple.com> wrote:

> It's fairly clear that physical measurements apply to material that is at
> 'normal reading distance' (and I bet there is an ISO standard for that), or
> is back-calculated from its actual distance to what size it would be at
> normal reading distance.  That's why powerpoint works on projectors;  if you
> are at the distance from the screen such that the screen and a piece of
> paper held at reading distance subtend about the same view angle, it all
> works.  Perhaps this should apply to all physical units:  1in means that
> distance that subtends the same angle at the eye as 1in would at the
> standard viewing distance, and so on.
>

That might be a good approach. The browser has no direct way of knowing the
viewing distance, though. We'd have to estimate it using heuristics,
probably based on the screen size and possibly other information like the
specific type of device, and we'd probably get it wrong some of the time.
Or, as Felix points out in his latest email, when a system "UI scale" is
available (e.g. "font DPI" on Windows), the amount of "UI scale" that the
user has requested could be a good proxy for the viewing distance.

I've come around to agreeing with Jonathan that it makes sense to redefine
in/cm/mm to be non-physical, along with pt. I think the best reason is that
you'd like to be able to create pages which use those physical dimensions
when printed, but are still usable on a variety of screens.

We should scale px to account for the viewing distance as well, so this
leads us to a scheme where all existing units have a fixed relationship with
px.

I do still want one or more "true physical" units for those rare cases when
that's what's needed (or not so rare; Mozilla UI developers already want
such units for laying out the browser interface on mobile devices). We may
need to bikeshed over the name; I'm not happy with "truein", but possibly we
only really need "truemm". Inches are too large anyway. For head-up displays
or other situations where the use-cases for physical units make no sense
(touch interface on your contact lens? ow!), we should allow the user-agent
to set truemm to something non-true.

Rob
-- 
"He was pierced for our transgressions, he was crushed for our iniquities;
the punishment that brought us peace was upon him, and by his wounds we are
healed. We all, like sheep, have gone astray, each of us has turned to his
own way; and the LORD has laid on him the iniquity of us all." [Isaiah
53:5-6]

Received on Thursday, 7 January 2010 20:00:43 UTC