Overview of MS Shell DLG and FontSubsitutes (282187)



The information in this article applies to:

  • Microsoft Windows XP Home Edition
  • Microsoft Windows XP Professional

This article was previously published under Q282187

SUMMARY

This article describes how system font mappings work.

MORE INFORMATION

The following registry key lists common fonts and their substitutions:

HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\Current Version\FontSubstitutes

When a program calls for a common system or dialog font, the FontSubsitution mapping is used to look up the appropriate font for the computer's system locale.

MS Shell Dlg

MS Shell Dlg is a mapping mechanism that enables U.S. English Microsoft Windows NT, and Microsoft Windows 2000 to support locales that have characters that are not contained in code page 1252. It is not a font but a face name for a nonexistent font. You can specify it during Setup in either the Windows NT Setup file or the Windows 2000 Setup file. You can also specify this when you are customizing a local computer by using the Regional Options tool in Control Panel:
  1. In the Regional Options tool, on the General tab, click Set default to set the locale.
  2. Click Advanced, and then click a locale for languages for non-unicode programs. This is also referred to as the "system locale."
  3. Click OK, and then restart the computer. The appropriate change occurs in the FontSubstitutes registry key.
There are two shell font mappings for Windows 2000 and Windows XP:
  • MS Shell Dlg: For compatibility with all previous Windows operating systems including Windows NT.
  • MS Shell Dlg 2: For programs that are native to Windows 2000 and Windows XP.
When the MS Shell Dlg mapping changes due to changing the system locale, this may have an unexpected effect on how programs display text, specifically when a program that uses MS Shell Dlg expects glyphs to be available from MS Shell Dlg that are not in the font to which it is currently mapped. This typically results in the display of the "default glyph." The default glyph varies from font to font, but commonly looks similar to a pipe symbol (|) or a small square, or rectangular box. You can manually change the font mapping if a single font will suit the needs of both the computer dialogs and the localized programs that are having display problems.

REFERENCES

For more information, refer to the following MSDN Web site (under Platform SDK, expand Base Services, and then expand International Features): You can also refer to the following Microsoft Web site:

Modification Type:MinorLast Reviewed:1/15/2006
Keywords:kbinfo KB282187