Documentation for TranslateCharsetInfo.
diff --git a/include/wingdi.h b/include/wingdi.h index 68216c09b..a9d5be7 100644 --- a/include/wingdi.h +++ b/include/wingdi.h
@@ -394,6 +394,18 @@ DECL_WINELIB_TYPE_AW(LPENUMLOGFONT) DECL_WINELIB_TYPE_AW(LPENUMLOGFONTEX) +/* + * The FONTSIGNATURE tells which Unicode ranges and which code pages + * have glyphs in a font. + * + * fsUsb 128-bit bitmap. The most significant bits are 10 (magic number). + * The remaining 126 bits map the Unicode ISO 10646 subranges + * for which the font provides glyphs. + * + * fsCsb 64-bit bitmap. The low 32 bits map the Windows codepages for + * which the font provides glyphs. The high 32 bits are for + * non Windows codepages. + */ typedef struct { DWORD fsUsb[4]; @@ -402,11 +414,17 @@ typedef struct { - UINT32 ciCharset; - UINT32 ciACP; + UINT32 ciCharset; /* character set */ + UINT32 ciACP; /* ANSI code page */ FONTSIGNATURE fs; } CHARSETINFO,*LPCHARSETINFO; +/* Flags for TranslateCharsetInfo */ +/* FIXME */ +#define TCI_SRCCHARSET +#define TCI_SRCCODEPAGE +#define TCI_SRCFONTSIG + /* Flags for ModifyWorldTransform */ #define MWT_IDENTITY 1 #define MWT_LEFTMULTIPLY 2
diff --git a/objects/font.c b/objects/font.c index b4e61aa..2795375 100644 --- a/objects/font.c +++ b/objects/font.c
@@ -1339,10 +1339,32 @@ } /************************************************************************* - * TranslateCharSetInfo [GDI32.382] + * TranslateCharsetInfo [GDI32.382] + * + * Fills a CHARSETINFO structure for a character set, code page, or + * font. This allows making the correspondance between different labelings + * (character set, Windows, ANSI, and OEM codepages, and Unicode ranges) + * of the same encoding. + * + * Only one codepage will be set in lpCs->fs. If TCI_SRCFONTSIG is used, + * only one codepage should be set in *lpSrc. + * + * RETURNS + * TRUE on success, FALSE on failure. + * + * BUGS + * Not implemented. */ -BOOL32 WINAPI TranslateCharSetInfo(LPDWORD lpSrc,LPCHARSETINFO lpCs,DWORD dwFlags) { - FIXME(font,"(%p,%p,0x%08lx), stub.\n",lpSrc,lpCs,dwFlags); +BOOL32 WINAPI TranslateCharsetInfo( + LPDWORD lpSrc, /* + if flags == TCI_SRCFONTSIG: pointer to fsCsb of a FONTSIGNATURE + if flags == TCI_SRCCHARSET: a character set value + if flags == TCI_SRCCODEPAGE: a code page value + */ + LPCHARSETINFO lpCs, /* structure to receive charset information */ + DWORD flags /* determines interpretation of lpSrc */ +) { + FIXME(font,"(%p,%p,0x%08lx), stub.\n",lpSrc,lpCs, flags); return TRUE; }
diff --git a/relay32/gdi32.spec b/relay32/gdi32.spec index 59e66c6..b58f73e 100644 --- a/relay32/gdi32.spec +++ b/relay32/gdi32.spec
@@ -385,7 +385,7 @@ 379 stub GdiWinWatchOpen 380 stub GetGlyphOutlineWow 381 stdcall GetTextCharsetInfo(long ptr long) GetTextCharsetInfo -382 stdcall TranslateCharsetInfo(ptr ptr long) TranslateCharSetInfo +382 stdcall TranslateCharsetInfo(ptr ptr long) TranslateCharsetInfo 383 stub UpdateICMRegKeyA 384 stub UpdateICMRegKeyW 385 stub gdiPlaySpoolStream