]> git.saurik.com Git - wxWidgets.git/commitdiff
applied DBCS patch
authorVadim Zeitlin <vadim@wxwidgets.org>
Fri, 9 Nov 2001 00:15:04 +0000 (00:15 +0000)
committerVadim Zeitlin <vadim@wxwidgets.org>
Fri, 9 Nov 2001 00:15:04 +0000 (00:15 +0000)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12363 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

docs/changes.txt
include/wx/fontenc.h
src/common/fontmap.cpp
src/msw/fontutil.cpp

index 0cff66130a8c442ebcf9c153ae93447a790098ce..38874afa951ebed71774b38610a7ab2addc57320 100644 (file)
@@ -63,6 +63,10 @@ All (GUI):
 - wxDirSelector() added (Paul A. Thiessen)
 - wxGrid cell editing veto support (Roger Gammans)
 
+wxMSW:
+
+- support for the DBCS fonts (CP 932, 936, 949, 950) (Nathan Cook)
+
 wxHTML:
 
 - new HTML parser with correct parsing of character entities and fixes
index f9cf688ed5da1bc597616d01d68713e8a50c9291..da71674ad484b6e95bbd67558d019986936d97ed 100644 (file)
@@ -54,6 +54,10 @@ enum wxFontEncoding
     wxFONTENCODING_CP866,           // and another one
         // and for Windows
     wxFONTENCODING_CP874,           // WinThai
+    wxFONTENCODING_CP932,           // Japanese (shift-JIS)
+    wxFONTENCODING_CP936,           // Chiniese simplified (GB)
+    wxFONTENCODING_CP949,           // Korean (Hangul charset)
+    wxFONTENCODING_CP950,           // Chinese (traditional - Big5)
     wxFONTENCODING_CP1250,          // WinLatin2
     wxFONTENCODING_CP1251,          // WinCyrillic
     wxFONTENCODING_CP1252,          // WinLatin1
index 0ef4622bdf1255edbb79e6c1aa50bfd5b0e247ea..0b1d8ee4cdd525b27b7b81eabe53c435f1537af0 100644 (file)
@@ -88,6 +88,10 @@ static wxFontEncoding gs_encodings[] =
     wxFONTENCODING_ISO8859_14,
     wxFONTENCODING_ISO8859_15,
     wxFONTENCODING_KOI8,
+    wxFONTENCODING_CP932,
+    wxFONTENCODING_CP936,
+    wxFONTENCODING_CP949,
+    wxFONTENCODING_CP950,
     wxFONTENCODING_CP1250,
     wxFONTENCODING_CP1251,
     wxFONTENCODING_CP1252,
@@ -120,6 +124,10 @@ static const wxChar* gs_encodingDescs[] =
     wxTRANSLATE( "Celtic (ISO-8859-14)" ),
     wxTRANSLATE( "Western European with Euro (ISO-8859-15)" ),
     wxTRANSLATE( "KOI8-R" ),
+    wxTRANSLATE( "Windows Japanese (CP 932)" ),
+    wxTRANSLATE( "Windows Chiniese Simplified (CP 936)" ),
+    wxTRANSLATE( "Windows Korean (CP 949)" ),
+    wxTRANSLATE( "Windows Chinese Traditional (CP 950)" ),
     wxTRANSLATE( "Windows Central European (CP 1250)" ),
     wxTRANSLATE( "Windows Cyrillic (CP 1251)" ),
     wxTRANSLATE( "Windows Western European (CP 1252)" ),
@@ -152,6 +160,10 @@ static const wxChar* gs_encodingNames[] =
     wxT( "iso-8859-14" ),
     wxT( "iso-8859-15" ),
     wxT( "koi8-r" ),
+    wxT( "windows-932" ),
+    wxT( "windows-936" ),
+    wxT( "windows-949" ),
+    wxT( "windows-950" ),
     wxT( "windows-1250" ),
     wxT( "windows-1251" ),
     wxT( "windows-1252" ),
index 22d308ceecc83a28559ef680f71c548b34f22fbe..f994a460a4ee0277ac66e9ef0594580b075a0d15 100644 (file)
@@ -124,6 +124,25 @@ bool wxGetNativeFontEncoding(wxFontEncoding encoding,
             break;
 
 #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:
@@ -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: