From: Bruno Haible Date: Sat, 12 Dec 2009 13:49:18 +0000 (+0100) Subject: Add comment. X-Git-Tag: v0.18~93 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=d50aa0427d248841a7166dbd71b60b577ebf3823;p=thirdparty%2Fgettext.git Add comment. --- diff --git a/gettext-runtime/intl/ChangeLog b/gettext-runtime/intl/ChangeLog index e7448acb7..4372b160d 100644 --- a/gettext-runtime/intl/ChangeLog +++ b/gettext-runtime/intl/ChangeLog @@ -1,3 +1,7 @@ +2009-12-12 Bruno Haible + + * localcharset.c (locale_charset): Add comment about use of GetACP. + 2009-12-12 Bruno Haible * intl-compat.c: Untabify. diff --git a/gettext-runtime/intl/localcharset.c b/gettext-runtime/intl/localcharset.c index 5f13f84e0..8506eed54 100644 --- a/gettext-runtime/intl/localcharset.c +++ b/gettext-runtime/intl/localcharset.c @@ -450,7 +450,19 @@ locale_charset (void) static char buf[2 + 10 + 1]; - /* Woe32 has a function returning the locale's codepage as a number. */ + /* Woe32 has a function returning the locale's codepage as a number. + When the output goes to a console window, in Windows 95, it would have + been appropriate to use GetOEMCP() instead of GetACP(). But this has + been corrected: In Windows XP SP3, consoles accept output in the + GetACP() encoding. The GetConsoleOutputCP() function still returns + the same as GetOEMCP() (not GetACP()!), but the font handling in the + console actually uses the GetACP() encoding. If you want to "correct" + this by calling SetConsoleOutputCP(GetACP()), then for a TrueType font + it has no visible effect on the displayed glyphs, whereas when a raster + font is in use, the console performs an extra conversion from GetOEMCP() + to GetACP() encoding, thus changing the effective codepage of the + console from GetACP() to GetOEMCP()! In summary, GetConsoleOutputCP() + and SetConsoleOutputCP() are now completely broken. */ sprintf (buf, "CP%u", GetACP ()); codeset = buf;