Microsoft KB Archive/154878

{| = Troubleshooting Spell Checking in Mail Clients =
 * width="100%"|

Last reviewed: December 17, 1997

Article ID: Q154878 The information in this article applies to:
 * Microsoft Internet Mail and News version 1.0 for Windows 95
 * Microsoft Outlook Express version 4.0 for Windows 95
 * Microsoft Outlook Express version 4.0 for Windows NT 4.0

IMPORTANT: This article contains information about editing the registry. Before you edit the registry, you should first make a backup copy of the registry files (System.dat and User.dat). Both are hidden files in the Windows folder.

SUMMARY
This article provides basic troubleshooting steps that you can use if you encounter problems with spell checking in Internet Mail and News 1.0 and Outlook Express 4.0.

MORE INFORMATION
Internet Mail and News and Outlook Express use the 32-bit shared spelling engine (if it is available). For example, Microsoft Works 4.0 and the Microsoft Office for Windows 95 products install the 32-bit shared spelling engine. If a program does not have a public application programming interface (API) for its spelling checker, Internet Mail and News and Outlook Express cannot use that program's spelling checker.

To locate problems with spell checking in Internet Mail and News or Outlook Express, you need to determine the following items:


 * Is spelling available?
 * What language is being used?

Determining If Spell Checking Is Available
If spell checking is available in Internet Mail and News, the Check Spelling command is available on the Mail menu and the Spelling tab appears in the Options dialog box.

If spell checking is available in Outlook Express, the Spelling command is available on the Tools menu and the Spelling tab appears in the Options dialog box.

If these are not available, spell checking is disabled or the dictionary file or 32-bit spell checking engine is missing or damaged.

How Internet Mail and News and Outlook Express Enables Spell Checking
Internet Mail and News and Outlook Express determines whether or not to enable spell checking by using the following steps:

 The language to be used is determined. This results in a "language ID," which is a 4-digit code.  The language ID is used to determine from the registry what dictionary and spelling engine to load. The key that is used is      HKEY_LOCAL_MACHINE\Software\Microsoft\Shared Tools\Proofing Tools\ Spelling\\Normal. where  is the appropriate 4-digit language ID. Two values are in this registry key: "Dictionary," which contains a full path to the dictionary file for that language, and "Engine," which contains a full path to the 32-bit spell checking engine.   If these values are present, spell checking is enabled. If either the Dictionary or Engine value is missing from the registry under the determined language, spell checking is disabled. If either of the files pointed to by the above values cannot be opened, spelling is enabled, but does not work. 

Determining the Language Used
WARNING: Using Registry Editor incorrectly can cause serious problems that may require you to reinstall Windows 95. Microsoft cannot guarantee that problems resulting from the incorrect use of Registry Editor can be solved. Use Registry Editor at your own risk.

NOTE: For information about how to edit the registry, view the Changing Keys And Values online Help topic in Registry Editor (Regedit.exe). Note that you should make a backup copy of the registry files (System.dat and User.dat) before you edit the registry.

Look at the

SpellLangID value under the following registry key: HKEY_CURRENT_USER\Software\Microsoft\Internet Mail and News If this contains a string consisting of 4 digits, it is used as the language ID. You can use this string to force the use of a particular language. If this value does not exist, the default language (as determined by the GetUserDefaultLangID function) is used.

If the dictionary cannot be found based on this registry key, all of the keys under

HKEY_LOCAL_MACHINE\Software\Microsoft\Shared Tools\Proofing Tools\Spelling are enumerated to determine if they can be used. The first 4-digit code that is found is used, even if it does not contain valid engine and dictionary values. Language codes include:

Language           Code American           1033 Australian         3081 British            2057 Catalan            1027 Czechoslovakian    1029 Danish             1030 Dutch              1043 Finnish            1035 French             1036 FrenchCanadian     3084 German             1031 Greek              1032 Hungarian          1038 Italian            1040 NorskBokmal        1044 NorskNynorsk       2068 Polish             1045 PortBrazil         1046 PortIberian        2070 Russian            1049 Spanish            1034 Swedish            1053 Turkish            1055 If the language determined by using the steps above does not match the language of the dictionary installed, either install the correct dictionary, or modify the registry keys to match the versions correctly. The

HKEY_LOCAL_MACHINE\Software\Microsoft\Shared Tools\Proofing Tools\ Custom Dictionaries registry key contains a string value named "1" that has a path to the custom dictionary. Spell checking works if this value is not present and the custom dictionary is created (in the Windows\Msapps\Proof folder). If this value contains an invalid path, spell checking does not start.

Microsoft Works 4.0
If you install Microsoft Works version 4.0, Works Setup sets the path to the custom dictionary to C:\Windows\Msapps\Proof\Custom.dic in the following registry key:

Hkey_Local_Machine\Software\Microsoft\Shared Tools\Proofing Tools\ Custom Dictionaries The path should actually be: C:\Program Files\Common Files\Microsoft Shared\Proof\Custom.dic Use Registry Editor to set this path for the key listed above. This allows the system to find the spelling engine, which makes it available for use in Internet Mail and News.
 * }