[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: DPI, font size, and Debian



  Thanks Mike for taking the time to keep this up.  While this
conversation has not been conclusive, it has at least been thorough :)

Mike Hommey (mh@glandium.org):

> >   - Font hints are not designed for small pixel sizes at arbitrary
> >     DPIs.  I have shown this via screenshots which I posted.
> 
> See Keith's answer

  I think his answer backs up my argument: fonts are designed for pixel
sizes encountered with common sizes for common DPIs.

> >   - GNOME defaults to a 10 point font for the application font.  My
> >     experience dictates that users find this too small on their
> >     autodetected 80-DPI screens, and too large at their autodetected
> >     133-DPI screens.
> 
> That can be the result of 2 things:
> - Actual DPI not being correctly detected by X, but I really doubt it.
> - Bad user feedback. Users have been used to badly set DPIs, leading
>   to several different things. [...]

  I did a survey of displays I have access to.  Here are the values
reported from X on each:

  14" screen, 1024x768:  92x92 DPI.
  19" screen, 1024x768:  72x72 DPI.
  21" screen, 1024x768:  65x65 DPI.
  21" screen, 1280x1024: 81x86 DPI.
  21" screen, 1600x1200: 101x101 DPI.

  I also tried on two laptops, but X could not detect the DPI on either
one of them, so it defaulted to 75x75.  One was a 1400x1050 screen which
we calculated to be 116 DPI, the other was a 1680x1050 screen which we
calculated to be 126 DPI.

  Challenge:
     come up with default font sizes that look good on all of these
     displays.

  The 65x65 and 72x72 DPI are killer for a default size of 10-points.
There is just not enough pixels.  Similarly, at 116 or 126 DPI, 10 point
fonts have lots of pixels, but many appear bold compared to 8 point
fonts: a very different appearance to comparing 8 and 10 point fonts at
a lower DPI.  Vera Sans 8 is 10 pixels high at 126 DPI and cannot go any
lower (although there is plenty resolution for it).

  At all of these DPIs, pixel size and hinting are critical for
readability.  Fonts are never perfectly scaled to the desired height:
each font rounds to a pixel size appropriate for its shape.  Unless all
fonts are designed with a common target DPI, you will get discrepancies
in their shape at these small pixel sizes.

  Here are some screenshots to back up my argument:
    http://scanline.ca/dpi/dpitest.html

  The waterfall is the most telling.  At  96 DPI, Verdana goes in clear
steps between each point size.   Some weird ones elsewhere are the 8-9
pt transition at 86 DPI, and the early "boldness" at 126 DPI.

  Standardizing a default of 96 DPI obtains the following properties:
   - Fonts at their default size have enough pixels to be readable on
     large displays at low resolution.
   - Interface designers can choose fonts and be able to predict more
     accurately how it is likely to appear in shape to a user.

  I should say that these experiments are convincing me that these DPI
values are more useful than I would have originally thought.  It would
be nice to have the interface adapt in some way based on the size of the
display.  However, I think that given a font's sensitivity to pixel
size, it would not be wise to have fonts always track their physical
size until we all have monitors with such incredibly fine resolution
that hinting is not required.

  -Billy



Reply to: