Resolution indpendence

Glynn Clements glynn at gclements.plus.com
Sun Jun 29 06:57:59 PDT 2008


Nicolas Mailhot wrote:

> > If you have both poor eyesight and a good monitor, then presumably you
> > have already crossed the threshold where physical size is the limiting
> > factor. So far, I haven't, and won't until the only systems which I
> > have to use have at least as good a resolution as my main desktop
> > system.
> 
> The apps need to work in more than just your system and your eyes.

Yes, but I don't accept that I'm the only person on the planet for
whom the threshold of legibility is dictated solely by physical size,
with rasterisation quality being a given.

> > > > It's not just programmers; it's anyone for whom the use of text
> > > > outweighs the use of graphics 
> > > 
> > > Stop thinking you're the only one who reads text
> > > 
> > > > (and DTP is primarily "graphics";
> > > 
> > > Stop thinking this is all about DTP
> > 
> > What other applications care about the exact dimensions of text (where
> > "exact" may be relative to something else, not necessarily physical
> > dimensions)?
> 
> Humans that switch workstations in a lab and expect their settings to
> produce about the same text size regardless of the workstation and its
> screen capacities.

How about humans that switch workstations and expect the text to
remain legible regardless of the workstation and its screen
capacities?

Rigid adherence to physical size will *not* achieve that, unless the
user chooses fonts which are so large that they will rasterise
adequately even on the worst display which they use (and thus waste
screen space on the best displays).

> And who do not want to change their settings each
> time their last station is taken and they have to move a few places.

This situation is exactly why I find myself having to force a fake
dpi. Otherwise, the software blindly assumes that physical sizes which
worked at 125 dpi will work at 100 dpi, when it actually looks like
crap. So I can either lie about the dpi, or spend my life change a lot
of other settings.

> > For most purposes, it wouldn't really matter if the application used a
> > font which was 25% larger or smaller than the "correct" value. 
> 
> It does, your preferences are not representative of the whole population.

Where do preferences come into this? Some applications rely upon being
able to display text at absolutely any size, but most don't. If you
want 13pt text, but a terminal emulator only offers you a choice
between 12pt or 14pt, is it completely unusable?

> > And that
> > may well be an improvement over using the exact size, e.g. being able
> > to use a hand-tuned bitmap,
> 
> Fantasy. What you mean is being able to use the hand-tuned bitmap
> default, because there are few of them and 3/4 of the apps that use them
> can't work with anything but the default bitmap font at its default size
> (because if they could adapt to different font sizes they wouldn't
> require bitmap fonts in the first place).
> 
> And this bitmap font is also typically restricted to a small encoding
> range, which make it unsuitable for a large part of the world.
> 
> It only works with people like you who have the eyesight to adapt to the
> bitmap default, and who only use simple encodings.

The only "fantasy" here is the strawman which you are constructing
because that's all you can argue against.

Most applications will happily work with any font. But that font will
typically look better if you select a size for which a hand-tuned
bitmap exists.

If you select a 10pt or 12pt font in Windows, what you see on screen
won't be the result of rasterising outlines; the core fonts contain
hand-tunded bitmaps for the common sizes at 96 and 120 dpi.

IOW, you are probably doing the user a disservice if you rasterise an
outline at 11.9 pixels or 12.1 pixels when a hand-tuned 12-pixel
version exists.

> >  or allowing an image which has to be scaled
> > to match to be scaled at 1:1 or 2:1 instead of by some irrational
> > number.
> 
> You're the only one who insists it must be irrational number scaling.

That's the only logical conclusion if you treat physical sizes as
sacrosanct.

[Well, technically they won't irrational, but they'll often be quite
far from "sane". In particular, scaling by a factor which is almost,
but not quite, an integer can produce quite nasty artifacts.]

> > In many of the cases where it does matter, it only matters because the
> > format makes it matter, i.e. using hardcopy-oriented formats such as
> > PDF or MS-Word for documents which will typically never reach a piece
> > of paper.
> 
> Again you're extrapolating your own use-cases to the rest of the
> population.

On the contrary. You're treating the use of physical sizes as dogma,
then marginalising (or outright denying) any case which contradicts
it.

> > So long as pixels are large enough to matter, trading the use of
> > specific pixel sizes for specific physical sizes is just swapping one
> > bug for another.
> 
> So, let people choose their own poison.

I thought you wanted to fix the bugs? A choice between two absolute
positions, neither of which actually work, is just a way to push the
blame onto the user. Whichever option the user chooses, everything
that's wrong with it is the the user's fault for not choosing the
other option.

> > Failure to acknowledge this is one reason why pixel sizes persist. If
> > you use pixel sizes throughout, you get a form of resolution
> > independence that works perfectly in at least one sense. If the pixel
> > grid changes by 23%, *everything* changes by exactly the same factor. 
> > Text is 23% larger, icons are 23% larger, lines are 23% thicker. Any
> > measurement that was an integral number of pixels before is still an
> > integral number of pixels afterwards.
> 
> You have not the faintest idea of how modern text scaling and
> grid-fitting works.

Yes I do. I'm not an "expert", but I do understand the concepts of
scaffolding an hinting. But more importantly, font rendering
algorithms aren't relevant to the paragraph being replied to. Read it
again.

Resizing text in isolation doesn't provide resolution independence. 
But resizing the other entities creates some hard problems.

How do you resize images? Do you use interpolation or
nearest-neighbour? You may not know whether the image is an icon (few
colours, hard edges); if it's "photographic" (many colours, no hard
edges) it may have been dithered, or it may be a scan of printed
matter which uses halftones.

What about orthogonal lines? Do you anti-alias, or round to the
nearest integer width? If you round, do you have to re-align other
elements?

Attempting to use physical sizes without addressing these issues can
produce a result which is worse than just using pixel sizes (which
doesn't have these issues).

> > If you use physical sizes, all of that breaks. That isn't the end of
> > the world, but it *does* need to be addressed, not swept under the rug. 
> > Piling on anyone who points out the problems won't make them go away.
> 
> You don't point out problems you deny other people needs.

How can writing emails "deny" anyone anything (other than the ability
to cling to the belief that there are no problems).

> > > > If the user specifies 12 point, and the monitor's DPI means that
> > > > equates to 11.9 pixels, should you use:
> > > 
> > > I know what I'd chose. Do what the user specified.
> > 
> > Huh? Is there a checkbox for "this is an absolute requirement, not a
> > guideline"? If not, why assume the former? Because, lets face it, the
> > latter is more likely to be true, even if it's easier for the developer
> > to pretend otherwise.
> 
> Go use windows.

Most people do. So why aren't they flocking to a platform which treats
physical sizes as sacrosanct? (Or even to Vista, which allegedly has
better support for resolution-independence). Perhaps it's not the holy
grail that some seem to assume.

> I like a system that does not try to second-guess me for
> my own good.

It isn't about second-guessing the user, it's about asking them the
right questions in the first place, and about resolving ambiguities
intelligently rather than based upon dogma.

Few choices are absolutes. If you're buying a car, do you choose the
fastest? The cheapest? The one with the best fuel economy? With the
most seats? Most of the time, people have a set of priorities, and the
best solution is the one which does well for the highest-priority
factors and doesn't do appallingly for the others.

> > Asking the user to select a specific physical font size regardless of
> > any and all other factors isn't really giving them a meaningful choice.
> 
> Asking the user anything, then doing something else isn't really giving
> him a meaningful choice.

That doesn't address what I wrote in the slightest. Read it again.

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



More information about the xorg mailing list