X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/55bd3f34b68f55f2cdccf29f40581b7683b9e524..88e30f2b719c232adb42f2a8e7f5884b4547b3f4:/src/msw/fontutil.cpp diff --git a/src/msw/fontutil.cpp b/src/msw/fontutil.cpp index 065b899c61..f994a460a4 100644 --- a/src/msw/fontutil.cpp +++ b/src/msw/fontutil.cpp @@ -123,7 +123,26 @@ bool wxGetNativeFontEncoding(wxFontEncoding encoding, info->charset = ANSI_CHARSET; break; -#if !defined(__WIN16__) +#if !defined(__WIN16__) && !defined(__WXMICROWIN__) + + // The following four fonts are multi-byte charsets + case wxFONTENCODING_CP932: + info->charset = SHIFTJIS_CHARSET; + break; + + case wxFONTENCODING_CP936: + info->charset = GB2312_CHARSET; + break; + + case wxFONTENCODING_CP949: + info->charset = HANGUL_CHARSET; + break; + + case wxFONTENCODING_CP950: + info->charset = CHINESEBIG5_CHARSET; + break; + + // The rest are single byte encodings case wxFONTENCODING_CP1250: info->charset = EASTEUROPE_CHARSET; break; @@ -155,6 +174,8 @@ bool wxGetNativeFontEncoding(wxFontEncoding encoding, case wxFONTENCODING_CP874: info->charset = THAI_CHARSET; break; + + #endif // !Win16 case wxFONTENCODING_CP437: @@ -213,7 +234,7 @@ wxFontEncoding wxGetFontEncFromCharSet(int cs) fontEncoding = wxFONTENCODING_CP1252; break; -#ifdef __WIN32__ +#if defined(__WIN32__) && !defined(__WXMICROWIN__) case EASTEUROPE_CHARSET: fontEncoding = wxFONTENCODING_CP1250; break; @@ -245,6 +266,23 @@ wxFontEncoding wxGetFontEncFromCharSet(int cs) case THAI_CHARSET: fontEncoding = wxFONTENCODING_CP437; break; + + case SHIFTJIS_CHARSET: + fontEncoding = wxFONTENCODING_CP932; + break; + + case GB2312_CHARSET: + fontEncoding = wxFONTENCODING_CP936; + break; + + case HANGUL_CHARSET: + fontEncoding = wxFONTENCODING_CP949; + break; + + case CHINESEBIG5_CHARSET: + fontEncoding = wxFONTENCODING_CP950; + break; + #endif // Win32 case OEM_CHARSET: @@ -369,7 +407,9 @@ void wxFillLogFont(LOGFONT *logFont, const wxFont *font) wxFontEncoding encoding = font->GetEncoding(); if ( !wxGetNativeFontEncoding(encoding, &info) ) { +#if wxUSE_FONTMAP if ( !wxTheFontMapper->GetAltForEncoding(encoding, &info) ) +#endif // wxUSE_FONTMAP { // unsupported encoding, replace with the default info.charset = ANSI_CHARSET;