A few words about enduserdefined characters

by Michael S. Kaplan, published on 2005/06/27 21:56 -04:00, original URI: http://blogs.msdn.com/b/michkap/archive/2005/06/27/433186.aspx

EUDC stands for End User Defined Characters. The Platform SDK defines them simply:

End user defined characters (EUDC) are customized characters that users install for viewing and printing documents. They enable users to form names and other words using characters that are not available in standard screen and printer fonts. These characters are available only in Asian-language versions of the system.

I think I will quote a bit more from the Platform SDK; there is not much so I may as well use more of it....

An enduserdefined character is always associated with a double-byte character set (DBCS) and a TrueType font. Applications identify the specified character by using the character's assigned DBCS character value, and the system uses this value to locate shape and style information in a corresponding TrueType font. The shape and style information specifies how the character is drawn on the screen or printed page.

The DBCS character values that can be assigned depend on the specified character set. Each set has at least one range of reserved values for use as enduserdefined characters. The system or applications explicitly define these ranges by setting appropriate values under the EUDCCodeRange registry key. Each character set is identified by a unique code-page number.

To create an enduserdefined character, the user chooses a character value that is within the specified range and adds the shape and style information to the TrueType font in the entry that corresponds to that character value. Users create the shape and style information using an EUDC editor or by purchasing enduserdefined font packages from font vendors. Any DBCS TrueType font can contain enduserdefined characters. The font is called a separate EUDC font if it contains only enduserdefined characters. The font is an integrated EUDC font if it contains standard characters as well as enduserdefined characters.

Separate EUDC fonts are said to be either font-aware or font-unaware. A font-unaware font is designed to be a general purpose font that can be used with fonts of different font styles and of different implementations, such as GDI raster, WIFE, device, and TrueType fonts. A font-aware font is designed for use with a specific TrueType font.

The system default EUDC font is a font-unaware font that the system automatically associates with all DBCS fonts except those TrueType fonts that have explicitly associated font-aware fonts. Applications set the system default EUDC font by setting the value of the SystemDefaultEUDCFont name under the EUDC registry key. Similarly, applications can associate font-aware fonts with corresponding TrueType fonts by specifying a font name and associated font file under the EUDC key. Separate EUDC fonts cannot be associated with integrated EUDC fonts.

The system hides the system default EUDC and font-aware fonts. This means applications cannot enumerate or otherwise examine these fonts using GDI functions. Applications, such as EUDC editors and Control Panel, must use the registry entries to add, modify, and delete EUDC fonts.

Enduserdefined characters can also be used in Unicode-enabled applications. The reserved ranges for each character set are mapped to corresponding values in the Unicode private use area (values 0xE000 and higher).

Of course not a lot is said about the actual usage here, beyond the fact that East Asian versions of Windows allow you to create these custom characters.

But they are hugely important to many users in East Asia who need to define a custom look to an ideograph (or support a particular ideograph at all in some cases -- there are indeed characters that are not yet added to Unicode). The ability to add Han characters via the EUDC Editor is a pretty important feature for those who need it. I'll talk more about enduserdefined characters soon....


This post brought to you by "丹" (U+4e39, a CJK Unified Ideograph)

# it help on 20 Oct 2008 5:08 PM:

A really well explained article and has given me a nice idea for a project!

akash singh verma on 8 Jun 2009 9:35 AM:

how to convert english font to hindi font

Michael S. Kaplan on 8 Jun 2009 1:12 PM:

A bit offtopic here, no?

referenced by

2010/01/22 From TTE to EUF: Possible?

2007/05/21 MS Word says PUA is EA/CJK? TISNF!

2007/04/23 EUDC does not require ADMIN

2005/06/27 GDI, GDI+, EUDC, TextRenderer. Connection?

go to newer or older post, or back to index or month or day