System stops working after update with per font end-user-defined characters (EUDC) enabled

Applies to: Windows 10, version 1607Windows 10, version 1703Windows 10, version 1709

Symptom


If you enable per font end-user-defined characters (EUDC), the system will stop working and a blue screen will appear at startup. This is not a common setting in non-Asian regions.

Workaround


1. If you have already installed an affected update, you will need to uninstall that update, reboot and login to Windows.

2. Within RegEdit, navigate to HKEY_CURRENT_USER\EUDC

3. Find all per-font EUDC registry keys under the subkey. If the EUDC is linked to only one font file, go to step 4. If the EUDC is linked to more than one base fonts, go to step 5.

4. For each per-font EUDC, you will need to edit the value of the key to add “,FontFaceName” to the end of each. The text does not need to be “FontFaceName”, it can be a name that makes sense in your scenario. 

Example: This is a per-font EUDC under code page 936, the base font name is “新宋体”, the key value is “C:\Users\LocalAdminUser\AppData\Local\Microsoft\Windows\EUDC\MyTest.TTE”

Regedit

After add “,TestFont” to the key value, it becomes “C:\Users\LocalAdminUser\AppData\Local\Microsoft\Windows\EUDC\MyTest.TTE,TestFont”

Regedit

5. If the same EUDC font file is linked to multiple base fonts, you will need to clone that EUDC font file and give it different names when linking it to different base fonts.

Example – In the following screenshot, the same EUDC font file MyTest2.TTE is linked to both Microsoft YaHei UI and 黑体. In this case the EUDC font will not work for 黑体. The workaround is to clone MyTest2.TTE to another file, such as MyTest3.TTE. Then link the new EUDC font file MyTest3.TTE to 黑体.

Regedit

After applying the workaround (note the last registry key now shows MyTest3.TTE instead of MyTest2.TTE):

Regedit

6. Repeat these steps for all other USER EUDC settings under HKEY_USERS\SID\EUDC.

7. Close Regedit. Logout and back into Windows and verify per-font EUDC works as expected.

8. You may now install the affected updates.

Prerequisites


 There are no prerequisites for using this workaround.