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