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