YOUR ARE VIEWING ARTICLE

Illegal Characters in Path

Illegal Characters in Path

When printing a card from either CardExchange® Producer or CardExchange® Visitor, you may get the following error.

Screenshot 2022 04 26 at 16.14.25

This exception occurs because of corrupt fonts values in the following registry key: (HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Fonts).
When using WPF printing (System.Printing), it builds a list of fonts by combining the font names from registry and Windows Font Directory path. If there are any illegal characters in the path, we know there are, then the WPF application throws the exception that we see in the stack traces above.

The fix for this issue is pretty straight forward. We can find the corrupt font values in registry and fix them by opening and saving the key. When we open, and then save the key, it seems to remove the bad character(s) from the string. However, finding the corrupt fonts manually is not so easy as you could have hundreds of font entries in the registry.

To make it easier Bradford Systems has written a small .NET (4.0) application that will loop through all the font entries in the registry, identify the bad one(s) and fix them automatically.
The utility can be downloaded here.

Please, note that the utility may not always solve the problem. In that case, you will have to remove the fonts that cause the problem manually from the registry. Often, you can recognize these fonts by their name (strange names) or by the fact that they are stored on a non-default locations.

TOPICS

CATEGORY

AUTHOR
Support Team

PUBLISHED
August 07, 2017

MODIFIED
April 27, 2022

US business only within scope

ISO/IEC 27001:2013 

United States

2010 Elkins Way, Suite 1122
Brentwood, CA 94513

Monday – Friday
9am – 5pm (EST)
+1 (925) 529 4999

Netherlands

Smallepad 32
3811 MG Amersfoort

Monday – Friday
9am – 5pm (CET)
+31 (0)20 2251 447

© 2023 CardExchange Solutions, Inc.