Re: backward compatibility in Vista
"David Wilkinson" <firstname.lastname@example.org> wrote in message
David Ching wrote:
In order to get ClearType in even XP, you just do a search/replace in the
.rc file (or whatever the Delphi equivalent is) and replace "MS Sans
Serif" with "MS Shell Dlg". This produces great results in XP, and from
what I can tell, Vista.
Yes, this is what I do (in fact I learned this from you a while back, if I
recall). But it doesn't give Segoe UI 9 on Vista.
Hmm, so what happens if you specify Segoe UI in the .rc file and run the app
on XP or 2000? What font will be used? One wonders why Microsoft didn't
create a MS Shell Dlg 2 which defaults to Segoe UI on Vista, Tahoma on XP,
and MS Sans Serif on the others. Instead, they defined MS Shell Dlg 2 as:
Windows 2000 and later: MS Shell Dlg 2 maps to Tahoma, which is the default
font used throughout the operating system. An application that runs only on
this operating system can specify DS_SHELLFONT with MS Shell Dlg 2 to map to
Tahoma. However, an application that also runs on Windows NT 4.0,
Windows 95, Windows 98, or Windows Me should specify DS_SHELLFONT with MS
Shell Dlg instead of MS Shell Dlg 2.
I had never even heard of MS Shell Dlg 2 before!
Then MS tells us at http://msdn2.microsoft.com/EN-US/library/aa511282.aspx:
Windows Vista or later - Use the appropriate Segoe UI font.
Windows? XP and Windows 2000 - use the 8 point MS Shell Dlg 2 pseudo font,
which maps to Tahoma.
earlier versions of Windows -use 8 point MS Shell Dlg pseudo font, which
maps to Tahoma on Windows 2000 and Windows XP, and to MS Sans Serif on
Windows 95, Windows 98, Windows Millennium Edition, and Windows NT 4.0.
I'm not sure what we should do if we author for Segoe UI yet need to run on
XP and 2000. What should we use? Why is this so difficult?