Resolution indpendence

Glynn Clements glynn at gclements.plus.com
Sat Jul 5 10:37:07 PDT 2008


Steven J Newbury wrote:

> > > I very much doubt that people working with a lot of text will generally
> > > prefer smaller fonts. I'd rather suspect the opposite...
> > 
> > You'd be wrong.  From my experience in a research lab where people
> > handles lots of text, people tend to go for the smallest font size
> > their eyesight can cope with.  Some of them bump on the pixel grid,
> > others don't.  That's with 1600x1200 20" screens (i.e. exactly
> > 100dpi).  Ignoring half of them would be stupid.
> 
> What stops them from selecting a small (bitmap even) font?  I don't see
> what the DPI really has to do with it.  It only provides scaling
> consistency between physical devices.

At small sizes, outline fonts are either blurred or jagged. But bitmap
fonts need to be displayed pixel for pixel, or else the results are
even worse then outline fonts. So you have to force an exact pixel
size.

Some applications only accept physical sizes (and some which accept
pixel sizes convert them to points then back to pixels, with some
rounding thrown in). If the X server is reporting the exact physical
dimensions:

1. You have to specify a physical font size which isn't an integer;
some applications don't support this. You have to calculate the
physical size yourself, and the correct value depends upon how the
application performs rounding, and whether and how it rounds the dpi
value (which typically won't be an integer, as X reports the monitor
dimensions in mm).

2. The horizontal and vertical dpi will typically differ, but
applications normally only accept a single physical size, meaning
that, whatever physical size you specify, only one of the two pixel
dimensions will be correct.

But what's really stopping people from using bitmap fonts is the
widespread belief that bitmap fonts are passé and that we should all
be using outline fonts.

-- 
Glynn Clements <glynn at gclements.plus.com>



More information about the xorg mailing list