Our highly internationalized OS uses DPI, aka Dots Per In-.... um, never mind!
by Michael S. Kaplan, published on 2006/07/24 03:01 -04:00, original URI: http://blogs.msdn.com/b/michkap/archive/2006/07/24/676072.aspx
Windows has an impressive story when it comes to both internationalization and localization. I mean, sure there are occasionally things that I don't like, but most of those bugs get fixed and I hope they will all eventually be addressed one way or another.
But there is one issue that in the minds of many irrefutably shows that Windows is a product from a US company....
It is in the whole issue of the DPI (a.k.a. Dots Per Inch) setting.
Even looking at Vista (under the theory that the longer we wait, the more that has been fixed!):
If you click on that Custom DPI button, you are show a nice ruler that is clearly using inches:
Of course generally DPI is meant to be used in the case of printers, where it really is referring to literal inches, an issue that is difficult to quantify if you don't really know much about inches (for those of you who are more metrically inclined, we are talking about 2.54 cm).
The use of inches when we are talking about the screen as we are here is one step sillier, since we are actually talking about screen inches. This is a concept not really found in nature since they are not actually inches anyway. So you can play with the setting to try andf see what it does:
That ruler and the font sample, perhaps due to people at Microsoft being self consciously aware of the fact that the whole setting is stupidly described, try to put it in terms that people will better understand the consequences of.
Given that, why bother involving inches here specifically? Or if nothing else, there is that Measurement System setting in Regional and Language Options that one can customize:
People have on occasion taken issue with the contrast there being one of U.S. versus Metric. I think that there are only like three countries that have not embraced the metric system in an official capacity: the USA, Liberia, and Myanmar. Which is definitely a list that we want to be a part of, right? (eye roll implied)
Okay, so with the whole setting so poorly described, there is no reason to not simply at a minimum embrace this setting in Regional and Language Options. In fact, this is exactly what Windows Journal (available in Vista) does. If you take the Options dialog for Windows Journal:
Clicking on that Display Measurements... button will also show a ruler, but the ruler will depend on that Regional and Language Options setting to decide whether to show:
with literal instructions involving getting your own ruler and putting against the ruler on the screen. Which makes it even cooler that they use the RLO setting to decide what kind of ruler to show, if you ask me. :-)
Other attempts are made if you look at Access, at VB, and at WinForms, where the scale measurement can either follow Regional and Language Options or can have the scale changed to use twips or pixels instead.
It is all a valuable attempt to redeem the DPI (or at least the description of it), but I would go a step further if it were up to me....
I recall being right near Bill Vaughn in front of the crowd San Fransisco when he made the impromptu suggestion of the infamous "Visual Fred" tag for Visual Basic.NET:
I think Visual Basic .NET is not bad — it’s just different. In my opinion, it would have been far easier on everyone if they had just called it something else — anything else. Visual Fred would have been better. That way developers would know that it’s just another language.
The whole issue of DPI would be much easier if we followed Bill's example -- just got rid of the inches and talked about DPF -- Dots Per Fred. And we simply defined Fred as some arbitrary computer screen measurement. We could if nothing else get rid of use of a term that we shouldn't be using anyway for screen attributes!
This post brought to you by ၍ (U+104d, a.k.a. MYANMAR SYMBOL COMPLETED)
Jeroen Vos on 24 Jul 2006 4:07 AM:
I think, where you said "for those of you who are more metrically inclined, we are talking about 2.54 inches", you meant "for those of you who are more metrically inclined, we are talking about 2.54 centimeters".
Besides that, as always a great post.
Phylyp on 24 Jul 2006 4:55 AM:
>for those of you who are more metrically inclined, we are talking about 2.54 inches
Methinks it ought to be 2.54 cm.
God, I am *such* a nitpicker!
c2j2 on 24 Jul 2006 5:30 AM:
Two mistakes, though :-)
" (for those of you who are more metrically inclined, we are talking about 2.54 inches)." Well, 2.54 cm, right?
"DPV -- Dots Per Fred" - how do you spell "Fred"?
Funny, the whole issue of DPI, but that's an historical issue.
Chris J on 24 Jul 2006 7:28 AM:
The UK, although technically metric, a large number of the population still uses the imperial system by default, although this is changing as the population moves. I'm 30 and I still think of distances in feet and inches. I meausre my furniture in feet and do the conversion to mm later when I remember Ikea doesn't actually do measurements in feet... :-)
On top of that, we measure distances twixt town in miles, fuel economy is miles per gallon even though we buy petrol by the litre, we buy beer (and often milk) in pints (the latter being rather bizarre: due to EU regulations, the metric value has to have as much prominence, if not more so on the packaging, so often you'll be buying 568ml of milk). We get whether forecasts that will give us both degrees C and F, etc, but wind speeds are miles-per-hour.
If there is going to be a measurement system option in Vista, it really does need a separate UK setting or the ability to customise it fully :-)
Oh yeah, and what he said (above) about yer mistakes :-)
Michael S. Kaplan on 24 Jul 2006 8:49 AM:
Ok, fixed a few of these problems people have pointed out. :-)
Dean Harding on 24 Jul 2006 9:12 AM:
Don't get me started on DPI in Vista... I'm sure it's getting worse, not better... hopefully just a result of using beta software though!
Christoph Päper on 24 Jul 2006 10:04 AM:
It’s not just dots per inch that is often bothering me, but for instance when you discover notorious rounding errors as in print dialogs etc. where A4 is rarely shown as 210 mm * 297 mm exactly (e.g. the latest version of Adobe Reader gets it right, sometimes at least), but with a nonsensical and false precision to two decimal places. It then seems everything was done internally in (integer) points (of the PostScript kind, i.e. 72 to the inch exactly), probably just because fonts continue to be used with them, but without the average (metric) user being able to mentally relate his MS Word (or similar) setting to the actual size on the print-out---how much easier millimetres would be! You can maybe expect typographers, typesetters and designers to learn a “specialised” measurement system, but the normal (office) user should be saved from it.
Then there are other, more serious, more stupid bugs as in Apple’s Page, where some input fields allow a step size of one unit only, be it pt or mm, i.e. I lose precision when using my preferred system of measurement.
And who put dpis in digital images that weren’t scanned and/or are not intended to be printed? It just doesn’t make any sense at all. If anything the source and/or target dimensions should be stored (and shown), separately.
Btw., is the default “negative sign symbol” a true minus (U+2212) in Vista?
John Hudson on 24 Jul 2006 12:56 PM:
Michael, perhaps you could comment -- maybe in a new post? -- on UI scaleability in Vista and whether it is improved with regard to custom font sizes. My experience with XP has been that although I can set custom dpi to match my actual monitor dpi (145), this causes numerous problems in menus, dialogue boxes, etc., and I've found that it is better to use the 120dpi setting, for which more UI design seems optimised.
I'm not sure whether this constitutes me lying to the operating system or the operating system lying to me. :(
Rosyna on 24 Jul 2006 1:38 PM:
I guess the thing that annoys me most is how Microsoft redefined an "inch". That is, they extended the length of the inch to cover 96 pixels when the first 72 pixels cover the exact same distance as an OS running in 72dpi.
This interaction causes an ugly non-WYSIWYG side effect, Windows takes that larger inch, divides it into 72 pieces, and calls each piece a point. Since the inch is larger on Windows, this has the effect of making a 12 point font display larger than the same font on paper (which uses a real inch). it also means the font size on webpages on windows are always much larger unless you specify them in pixels on the webpage, but because of a nasty bug in Internet Explorer, there's no way to change the size of pages displayed like this by increasing the font size.
Ben Cooke on 24 Jul 2006 2:12 PM:
When I first started using Windows '95 I encountered that DPI picker in my tinkering. I grabbed a handy rule and put it up to my screen and configured my computer to use proper inches... fortunately in Britain we have measuring devices with both units.
I didn't keep it like this for long, though. At best, everything looked cramped and freaky because it was designed for the "Windows inch". At worst (and this happened in more than a handful of applications) app UIs would get completely broken, often due to mixing pixel-based images with text in dialogs where the text gets scaled (being in twips and all) but the images do not.
It's kinda sad that an application (Windows Journal) has had to re-invent this supposedly system-wide setting because badly-written applications have made the real setting all but useless. If only we had invented sooner monitors that can tell Windows their DPI so that these so-called developers would have got called out as the hacks they are. Of course, the Windows API gets some of the blame for itself being inconsistent in its handling of units, but I shant grouse about that any further as it's too late to do anything about it now.
I'm being such a grumpy old man today.
Michael Dunn_ on 24 Jul 2006 10:35 PM:
It would be so much easier if the whole world just measured everything in Planck units
go to newer or older post, or back to index or month or day