Resolution indpendence

Glynn Clements glynn at gclements.plus.com
Mon Jun 30 18:35:27 PDT 2008


Felix Miata wrote:

> > Windows' icon sizes are: 16x16, 24x24, 32x32, 48x48. The first two are
> > "small" icons for use in "list" and "detail" views, the last two are
> > "large" icons for "icon" view, desktop, start menu etc. In each case,
> > the larger version is 50% larger than the smaller version, whereas the
> > difference between 1024x768 and 1280x960 is 25%. It's not like fonts,
> > where they typically provide bitmaps at 2pt increments.
> 
> Sounds to me like you're using the same bogus math as typesetters and web
> deeziners use. 8px is not half the size of 16px - it's 25%, length times
> width. Size is area, not one single dimension. A 1600x1200 display has 4
> times as many logical px (1,920,000) as an 800x600 display (480,000). Thus, a
> 48x48 icon has 2304px, 2.25 times the 1024px of a 32x32 icon; 4 times as many
> as a 24x24 (576).

I think you missed my point, because using areas only makes the issue
more pronounced.

My point is that you need small enough increments that you can always
get roughly the size that you want, rather than being stuck with a
choice between definitely too large or definitely too small.

With fonts, you get that choice. But the interval between the
available icon sizes is much larger.

> > The 96 dpi figure was just an arbitrary value, chosen so that various
> > common point sizes (6, 8, 12, 16) would work out to an integer number
> > of pixels.
> 
> It's arbitrary all right, but not necessarily for the reason you claim. e.g.
> at 96 DPI:
> 
> 6pt = 8.000px^~1.5 (not enough px per character box for all complete
> character sets to be rendered intelligibly)
> 8pt = 10.667px^~1.5
> 10pt = 13.333px^~1.5
> 12pt = 16.000px^~1.5
> 16pt = 21.333px^~1.5

I have no idea what you're getting at here.

> The reason anyone else uses it is because M$ uses/used it, and the reason for
> that misfortunate legacy is explained on:
> http://blogs.msdn.com/fontblog/archive/2005/11/08/490490.aspx

That's interesting, but it doesn't really have any bearing on the
notion of resolution independence.

So long as display resolutions remain low enough that you have UI
elements which are only a few pixels in size, the fact that you
ultimately have to rasterise whole pixels means that you can't just
operate entirely in physical units, in the same way that you can with
a 300+dpi laser printer.

Well, you *can*, but the artifacts are going to look a lot worse.

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



More information about the xorg mailing list