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
pgp2Nuyz9CJJk.pgp
Description: PGP signature

