Resolution indpendence

Soeren Sandmann sandmann at daimi.au.dk
Fri Jun 27 08:41:50 PDT 2008


Behdad Esfahbod <behdad at behdad.org> writes:

> On Fri, 2008-06-27 at 16:49 +0200, Soeren Sandmann wrote:
> > Behdad Esfahbod <behdad at behdad.org> writes:
> > 
> > > On Fri, 2008-06-27 at 10:59 +0200, Soeren Sandmann wrote:
> > > > The upcoming GNOME will simply set it to 96.
> > > 
> > > SRSLY?  That would be a regression.  Right now GNOME nicely detects my
> > > 114dpi screen and uses right size fonts.  96 would look really
> > > small.
> > 
> > Bah, I knew I shouldn't have posted about this.
> > 
> > (1) The number is fundamentally meaningless because an X "Screen" can
> >     be made up of several physical screens.
> 
> Oh yeah, but 99.999% of cases, there's one X Screen and one physical
> screen.

Majority of cases, yes, but not close to 99.999%. Dual head is not
uncommon.

> > (2) The DPI is insufficient to compute any font size anyway because
> >     the right one also depends on the distance to the screen. You
> >     really don't want 3 point fonts on a projector. You want
> >     essentially the same size fonts as on your desktop. 
> 
> Read my other mail.  Take dpi as dpi-at-arms-distance and everything
> makes sense again.  For a projector, assume distance from screen is the
> same for the projector and the viewer and you have a fixed dpi
> defined.

You are assuming here people view different-sized screens at the same
distance, but that is just wrong. There is a reason people look at a
cell phone closer up than a monitor, and at a monitor closer up than a
movie theater. In fact, I believe people tend to look at screens at
the distance that makes the angular resolution similar to what it is
at 96 dpi.

> > (3) Monitors often do not report a dpi, and when they do, they are
> >     often wrong. Projectors don't have any way of knowing their dpi,
> >     so some don't report any, and some claim to be 60" screens.
> 
> All laptops I've had correctly report their physical size.  We can
> detect junk values (resulting in < 50 or > 300 dpi for example and use
> some defaults.  Federico implemented that already IIRC).

Consider a 60" TV with a resolution of 1920x1080. This device has a
dpi of 30, but if you use that value, you get really tiny fonts and
you don't want that because you are looking at it from your couch, not
at "arms length".

Your algorithm above would consider it a "junk" value, but there is
nothing junk about it. The TV is reporting it's size and resolution
correctly.

What *is* junk is attempting to compute stuff that cannot be
computed. 

> > (4) You can override it in the control center anyway.
> 
> That's no reason.  It should Just Work.  And in this case, it has been
> Just Working so far.  Just don't break it please.

The "Just Work" solution is to pick 96 dpi because it works in 99.999%
of cases. Users can select bigger or smaller fonts if they want to, or
they can override the dpi setting.

Believing the X dpi is apparently new in 2.22, so it hasn't been
"working" so far.


Soren



More information about the xorg mailing list