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

Re: DPI, font size, and Debian



Around 15 o'clock on Dec 5, Billy Biggs wrote:

> This is exactly what I am proposing, basically.  Screen DPI today is
> meaningless on Windows because they use it as a scale factor,
> meaningless on MacOS because it is always 72, and meaningless on Linux
> because it is set basically randomly unless someone manually figures it
> out.

I think that's the key observation here -- we have two examples of window 
systems, one which used to be truely 72 DPI (Mac), and one which never 
had any idea of what the DPI was (Windows).  Even with the widespread 
availability of accurate (DDC) size information, they both shun accurate 
resolution in favor of a fixed value.

In the X world, we now have two resolutions -- the "real" resolution as 
reported by the X server screen size information, and the "font" 
resolution as used by Xft (the Xft.dpi resource).  I would like to see
the "real" resolution be largely ignored by applications uninterested in 
aligning displayed pixels with physical objects and that the "font" 
resolution be used instead.

But, I don't know how to get there; it might be that we should set the X
reported resolution to the nominal value and have some extra mechanism for
reporting the physical monitor size.  This would fix all "normal" 
applications at the expense of breaking all "physical-based" applications. 

As for the computation of the nominal resolution, Linus suggested some 
time ago that it be directly computed from the pixel size of the screen 
without respect to the physical size.  When you consider that larger 
monitors are generally positioned further from the eye than smaller ones 
(feel free to verify or dispute this observation), you see that the 
effective angular size of the screen is actually relatively constant, 
meaning that the angular size of each pixel is a function solely of the 
number of pixels on the screen.  Suddenly, the 'projector' problem 
disappears, along with the head-mounted display one.

Note that 1024 / 96 == 1280 / 120.  This strongly suggests that Windows 
was designed to run on either 1024x768 or 1280x1024 screens with the same 
fraction of the screen for each "inch".

Using the same constant (10 2/3), we can compute effective DPI for any 
monitor:

	Pixels	"DPI"
	640	60
	800	75
	1024	96
	1280	120
	1600	150

-keith


Attachment: pgpUsYg1qZcPW.pgp
Description: PGP signature


Reply to: