The Design of Software (CLOSED)

A public forum for discussing the design of software, from the user interface to the code architecture. Now closed.

The "Design of Software" discussion group has been merged with the main Joel on Software discussion group.

The archives will remain online indefinitely.

Are there any apps that behave properly under "Large Fonts"?

Are there any commonly used desktop Windows applications that behave properly under the "Large Fonts" setting on Windows XP? Many apps like Word and Excel will enlarge the menus and title bars, but text on buttons in simple message boxes remains the standard default size. MS Outlook (2003) on the other hand, does at least enlarge the left side treeview, but the right side list view remains small text.

Is there a single app out there that bothers to create forms based on dialog units and actually display large fonts, and correspondingly larger forms and controls, in all places?

If you have written a desktop app, does it work properly with "large fonts"?
Paul Mansour Send private email
Saturday, May 19, 2007
 
 
I have tested my desktop app (accounting software) specially for large fonts.  One reason I changed my display routines to use html rendering is because html automatically reflows text depending on size, font and direction.  It also separates display logic from business logic.  Old type dialog units are gone in my software.  It now uses html even for dialogs.  Also html rendering is very useful for right to left languages and complex scripting like Indian languages.  Also with html the users can override software settings with their own CSS.
Donald Duck
Sunday, May 20, 2007
 
 
I believe Paint Shop Pro works with large fonts, or at least it used to.

The size of the font in buttons and message boxes is set independently of resolution. Go to Display Properties/Appearance/Advanced to see the current settings.
Mark Ransom Send private email
Sunday, May 20, 2007
 
 
Mark -- I checked out regular old Paint, not Pro, and it also appeears to do message boxes correctly. As you note, there is an additional setting for text in message boxes, but many apps (Word, Excel, etc) completely ignore this setting. I imagine they build their own message box with a standard form, rather than calling the Windows message box object, and don't bother to pick up the large font setting.
Paul Mansour Send private email
Sunday, May 20, 2007
 
 
I think that the pressing issue of the era is: why do so many sites not allow you to increase text size?  I hit the back button.
Tom C
Sunday, May 20, 2007
 
 
That's one reason to upgrade to Vista: the new desktop scaling finally fixes all this crap.  Absolutely EVERYTHING is enlarged so there won't be layout corruption in GUIs, and you won't need to zoom web pages anymore.  Hallelujah!
Chris Nahr
Sunday, May 20, 2007
 
 
"I think that the pressing issue of the era is: why do so many sites not allow you to increase text size?"

No, the real pressing issue is: why are there still people left who use Internet Explorer, which AFAIK is the only browser that doesn't forcibly increase the text size when the user wants it increased, whether the site likes it or not?

"That's one reason to upgrade to Vista: the new desktop scaling finally fixes all this crap."

Yes, it's nice that Windows has finally caught up with Linux in this regard.
Iago
Sunday, May 20, 2007
 
 
==why are there still people left who use Internet Explorer, which AFAIK is the only browser that doesn't forcibly increase the text size==

Internet Explorer 7 has zoom which increases everything. Time for upgrade?

Responsibility is site author's, not the browsers. In CSS you can set size in points, centimeters, inches, percent, or pixels. All units are scaled even in very old browsers, except pixels.

Pixels have their purpose, but there are far too many ignorant designers who insist on using them for everything.
yury at xtransform Send private email
Sunday, May 20, 2007
 
 
> If you have written a desktop app, does
> it work properly with "large fonts"?

When Windows XP first came out I vaguely recall one or two users reported bugs with the Zeus editor and the "large fonts" setting.

From what I remember, at the time Windows XP didn't even provide a method to determine if the user had in fact configured the desktop for large fonts. In the end, to fix the problem I had to code in some sort of hack to detect "large fonts".

On a related topic, recently I discovered that unlike the Windows Classic style taskbar, the Windows XP style taskbar no longer uses the GetText Win32 API to get the button text.

So IMHO a lot of these GUI/Desktop issues are not always the fault of the applications.
Jussi Jumppanen
Monday, May 21, 2007
 
 
"No, the real pressing issue is: why are there still people left who use Internet Explorer, which AFAIK is the only browser that doesn't forcibly increase the text size when the user wants it increased, whether the site likes it or not?"

What are you talking about?  I prefer IE to FF.  FF has many stupidities like view picture opening in a separate page that IE does not have.  And if you click Tools/Internet options/Accessibility and Check Ignore fonts/styles/sizes.  You can make the text any size you want, whether the site likes it or not.
Donald Duck
Monday, May 21, 2007
 
 
Well, "View Image" opens in the current page for me.
Chris
Monday, May 21, 2007
 
 
Nope, I checked just now.  View Image replaces the page with the image, instead of replacing the Image placeholder. Ver. 2.0.0.3 (the latest).
Donald Duck
Monday, May 21, 2007
 
 
The 'View Image' was possible the main reason I reverted back to IE. I regularly visit one slow site where some of the images don't always download first time.

Now to be fair, the command is slightly different. In IE the command is 'Show Picture'. I think this is a hang-up from the days of dialup where you might not download pictures by default.
Adrian
Monday, May 21, 2007
 
 
No, it is not a hang up from dial up days.  I use DSL and I pay based on bandwidth used.  I get 3GB free usage a month.  If I turn on show pictures by default I would use up that 3GB in a week.  If it is off I never use more than 500 MB a month other than software downloads.
Donald Duck
Monday, May 21, 2007
 
 
Browsing experience is also fast in text only mode with pictures off by default.
Donald Duck
Monday, May 21, 2007
 
 
Not many apps bothered, but if I remember properly, "large fonts" was a display adapter setting that was below the GDI software layer and so it was hard to be sure of a consistent layout across different hardware. But then again I don't think many developers tested high contrast colour schemes either.
Brendan Send private email
Tuesday, May 22, 2007
 
 
I don't think so.  Large Fonts in XP simply increases the size of the system fonts, that's all.  If you query the default menu font you get the bigger font back, so you can use that size to scale your application.
Chris Nahr
Wednesday, May 23, 2007
 
 
The Large Fonts setting in Windows XP and prior merely changes the pixels per inch reported by Windows from 96 to 120. Microsoft's conversion formula for points to pixels scales by the PPI, indirectly resulting in larger fonts.

http://support.microsoft.com/?kbid=74299

Dialog templates are specified in dialog units, which are based on the font size. Thus they get larger automatically.

Microsoft provided an article to help get the other details right.

http://msdn2.microsoft.com/en-us/library/ms969894.aspx

Vista apparently changes things - the PPI is always reported as 96 regardless of your display settings, unless your program explicitly indicates that it is DPI-aware. Apparently they saw that nobody was taking their advice.

http://msdn2.microsoft.com/en-us/library/ms701681.aspx
Mark Ransom Send private email
Wednesday, May 23, 2007
 
 
> If you query the default menu font you get
> the bigger font back, so you can use that
> size to scale your application.

This is the sort of hack I ended up using, but it's still a hack.

The question remains, why doesn't windows offer a direct method of determining if large fonts are active?
Jussi Jumppanen
Wednesday, May 23, 2007
 
 
Huh?  That's not a hack, that's the obvious and correct method of reacting to varying font sizes: query the actual size of the font!  What else should Windows do?  They could offer an API function that wraps this exact call for you -- get the font, return the size.  Not worth the effort IMO.
Chris Nahr
Thursday, May 24, 2007
 
 
Mark, I don't really know what you're talking about.  The first link you gave seems to have no relationship to the rest of your post, and it's also not true that font size and dpi setting are linked in XP.  (Yes, some MSDN Library articles claim that, but they're wrong.)

Large Fonts in XP gives you large sytem fonts, nothing else.  It is controlled by this setting:

Display Properties -> Appearance -> Font Size

120 dpi is a separate setting in that OS that attempts to scale all GDI drawing, but poorly so.  It is controlled by this separate setting:

Display Properties -> Settings -> Advanced -> DPI Setting

Please note specifically that changing Font Size to Large does NOT change the DPI Setting from its default value of 96.  It also does not require a reboot.

I've played around at length with both settings in XP, due to my poor eyesight, and I can assure you they're quite different.
Chris Nahr
Thursday, May 24, 2007
 
 
As for Vista, it completely eliminates the Font Size setting and only offers DPI scaling (which is only reported to Vista-aware applications, as you said).

Scaling works much better than it did under XP, so the Font Size setting is obsolete.  Its only real purpose in XP was to offer an alternative to DPI scaling which worked so poorly on that system.
Chris Nahr
Thursday, May 24, 2007
 
 
My investigations match what Chris says above. The Font size and DPI settings are very different. I'm glad to hear Vista eliminates the Large Font settings. It seems that it was some sort of kluge anyway. It appears that as long as you use a coordinate system that is in device independent units (like dialog units), things work fine under different DPI settings.
Paul Mansour Send private email
Thursday, May 24, 2007
 
 
Sorry, my bad. It has been a couple of years since I was affected by this personally, and it used to work the way I described. I wasn't aware that XP had two different settings; previous versions of Windows had only one.
Mark Ransom Send private email
Thursday, May 24, 2007
 
 
> Huh?  That's not a hack, that's the obvious and
> correct method of reacting to varying font sizes:

From memory, this was my so called "hack" approach:

  1) Take a fix string lets say "WXYZ"
  2) Pick a system font and see what size the string comes to using this font
  3) If the size is greater than some X value I know large fonts must be selected

Now I am not sure if this is the same approach you are describing but to me this is a hack.

For example:

  1) How do I know this test works for all versions of windows?
  2) What happens if some future version of windows changes the underlying system font use by the test?
  3) Is it possible for the user tweak the Windows UI to break this test? I would assume possibly yes.

I only spent a few days looking into this issue and while the solution I finally came up seemed to work, I was never happy with it.
Jussi Jumppanen
Monday, May 28, 2007
 
 
I see.  The part where you take a string does sound like a hack, but you don't have to do that!  All you need to know is the default menu font (which is always the correctly scaled GUI font).  Then you just look at the height of that font and scale your UI to that.

With .NET you can use the System.Drawing.SystemFonts.MenuFont property for this purpose.  There should be a corresponding Win32 function somewhere... this .NET property constructs a LOGFONT handle to get the menu font.
Chris Nahr
Tuesday, May 29, 2007
 
 
Hmm, looking at my code I see that I'm now using SystemFonts.MessageBoxFont rather than MenuFont to determine the system default font... but I think those two are always the same.  So try the font that's being used either for menus or for message boxes.
Chris Nahr
Tuesday, May 29, 2007
 
 

This topic is archived. No further replies will be accepted.

Other recent topics Other recent topics
 
Powered by FogBugz