How Does EUDC Work for Drivers?

If a device driver sets the TC_TT_ABLE value in the dpCaps1 member or the TC_RA_ABLE value in the dpText member of the GDIINFO structure, GDI handles each EUDC character as a DBCS character and sets the appropriate bitmap data in the physical font. The driver does not need to handle EUDC characters separately.

If a device driver does not set the TC_TT_ABLE and TC_RA_ABLE values, GDI processes EUDC characters by passing them to either the driver's raster or text function depending on whether the driver sets the FEC_EUDC_ABLE value in the dpCapsFE member of the GDIINFO structure.

Device capability

With TC_RA_ABLE or TC_TT_ABLE

Without TC_RA_ABLE and TC_TT_ABLE *1

Font Type

Standard characters

EUDC

Standard characters

EUDC

DBCS GDI font

ExtTextOut (FONTINFO)

BitBlt

N/A

N/A

DBCS TrueType font

ExtTextOut (FONTINFO)

BitBlt

ExtTextOut (Engine DDI)

BitBlt *2

ExtTextOut *3 (Engine DDI)

WIFE font

ExtTextOut (FONTINFO)

BitBlt

BitBlt

BitBlt

DBCS device font

N/A

N/A

ExtTextOut

BitBlt *2

ExtTextOut *3 (Engine DDI)


*1 For an engine realized DBCS TrueType font, an EUDC font belonging to the DBCS TrueType font will be selected. For all device fonts, an EUDC font belonging to System font will be selected.

*2 If FEC_EUDC_ABLE of dpCapsFE isn't set, FE GDI calls driver BitBlt for EUDC characters. Note: FE Windows 3.1 drivers which can handle glyph indices will work under Windows 3.1 compatible layer. Only raster functions will be called for EUDC characters.

*3 If FEC_EUDC_ABLE of dpCapsFE is set, FE GDI calls driver's ExtTextOut with glyph indices.