]> git.saurik.com Git - wxWidgets.git/commitdiff
Add support for CP1258 (Vietnamese) and CP1361 (Korean Johab) encodings.
authorVadim Zeitlin <vadim@wxwidgets.org>
Fri, 1 Jun 2012 11:01:46 +0000 (11:01 +0000)
committerVadim Zeitlin <vadim@wxwidgets.org>
Fri, 1 Jun 2012 11:01:46 +0000 (11:01 +0000)
Recognize these encodings names and translate them to/from the corresponding
charset constants in wxMSW.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@71630 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

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

index 0b66531330079e036f9adeaaa6dd64e3180a8725..01526ba6a9b02cd4ffcd567ab730b88ba2883856 100644 (file)
@@ -560,6 +560,7 @@ All (GUI):
 - Fully implement wxStyledTextCtrl::PositionToXY() (troelsk).
 - Added wxDataViewListCtrl::{Set,Get}ItemData().
 - Added wxDataViewListCtrl::GetItemCount() (Kry).
+- Added support for Korean Johab and Vietnamese encodings (jank9201).
 
 GTK:
 
index 0a649c423b4f859147ec3075b65535ef4d0446da..65dc4cd78fd858c34d3632a15efa97cb42ed8bfd 100644 (file)
@@ -65,6 +65,8 @@ enum wxFontEncoding
     wxFONTENCODING_CP1255,          // WinHebrew
     wxFONTENCODING_CP1256,          // WinArabic
     wxFONTENCODING_CP1257,          // WinBaltic (same as Latin 7)
+    wxFONTENCODING_CP1258,          // WinVietnamese
+    wxFONTENCODING_CP1361,          // Johab Korean character set.
     wxFONTENCODING_CP12_MAX,
 
     wxFONTENCODING_UTF7,            // UTF-7 Unicode encoding
@@ -151,7 +153,11 @@ enum wxFontEncoding
     wxFONTENCODING_SHIFT_JIS = wxFONTENCODING_CP932, // Shift JIS
 
         // Korean (CP 949 not actually the same but close enough)
-    wxFONTENCODING_EUC_KR = wxFONTENCODING_CP949
+    wxFONTENCODING_EUC_KR = wxFONTENCODING_CP949,
+    wxFONTENCODING_JOHAB = wxFONTENCODING_CP1361,
+
+        // Vietnamese
+    wxFONTENCODING_VIETNAMESE = wxFONTENCODING_CP1258
 };
 
 #endif // _WX_FONTENC_H_
index dab6d19b2a2bb4c4abc7b0f56cfcf9872b29918d..38238a2216679f7d9c0c8ec622c2d387520112d6 100644 (file)
@@ -191,6 +191,8 @@ enum wxFontEncoding
     wxFONTENCODING_CP1255,          //!< WinHebrew
     wxFONTENCODING_CP1256,          //!< WinArabic
     wxFONTENCODING_CP1257,          //!< WinBaltic (same as Latin 7)
+    wxFONTENCODING_CP1258,          //!< WinVietnamese (since 2.9.4)
+    wxFONTENCODING_CP1361,          //!< Johab Korean character set (since 2.9.4)
     wxFONTENCODING_CP12_MAX,
 
     wxFONTENCODING_UTF7,            //!< UTF-7 Unicode encoding
@@ -262,7 +264,9 @@ enum wxFontEncoding
     wxFONTENCODING_GB2312 = wxFONTENCODING_CP936, //!< Simplified Chinese
     wxFONTENCODING_BIG5 = wxFONTENCODING_CP950,   //!< Traditional Chinese
     wxFONTENCODING_SHIFT_JIS = wxFONTENCODING_CP932, //!< Shift JIS
-    wxFONTENCODING_EUC_KR = wxFONTENCODING_CP949 //!< Korean
+    wxFONTENCODING_EUC_KR = wxFONTENCODING_CP949, //!< Korean
+    wxFONTENCODING_JOHAB = wxFONTENCODING_CP1361, //!< Korean Johab (since 2.9.4)
+    wxFONTENCODING_VIETNAMESE = wxFONTENCODING_CP1258 //!< Vietnamese (since 2.9.4)
 };
 
 
index c9a529a63afe2cf9b6f1f0fe18cf6581f2c6c80a..5693f8c0adf939975b4368a8e5fb5c862fd8abc1 100644 (file)
@@ -88,6 +88,8 @@ static const wxFontEncoding gs_encodings[] =
     wxFONTENCODING_CP1255,
     wxFONTENCODING_CP1256,
     wxFONTENCODING_CP1257,
+    wxFONTENCODING_CP1258,
+    wxFONTENCODING_CP1361,
     wxFONTENCODING_CP437,
     wxFONTENCODING_UTF7,
     wxFONTENCODING_UTF8,
@@ -175,6 +177,8 @@ static const char* const gs_encodingDescs[] =
     wxTRANSLATE( "Windows Hebrew (CP 1255)" ),
     wxTRANSLATE( "Windows Arabic (CP 1256)" ),
     wxTRANSLATE( "Windows Baltic (CP 1257)" ),
+    wxTRANSLATE( "Windows Vietnamese (CP 1258)" ),
+    wxTRANSLATE( "Windows Johab (CP 1361)" ),
     wxTRANSLATE( "Windows/DOS OEM (CP 437)" ),
     wxTRANSLATE( "Unicode 7 bit (UTF-7)" ),
     wxTRANSLATE( "Unicode 8 bit (UTF-8)" ),
@@ -277,6 +281,8 @@ static const wxChar* const gs_encodingNames[][9] =
     { wxT( "WINDOWS-1255" ),wxT( "CP1255" ),wxT( "MS1255" ),wxT( "IBM-1255" ),NULL },
     { wxT( "WINDOWS-1256" ),wxT( "CP1256" ),wxT( "MS1256" ),wxT( "IBM-1256" ),NULL },
     { wxT( "WINDOWS-1257" ),wxT( "CP1257" ),wxT( "MS1257" ),wxT( "IBM-1257" ),NULL },
+    { wxT( "WINDOWS-1258" ),wxT( "CP1258" ),wxT( "MS1258" ),wxT( "IBM-1258" ),NULL },
+    { wxT( "WINDOWS-1361" ),wxT( "CP1361" ),wxT( "MS1361" ),wxT( "IBM-1361" ), wxT( "JOHAB" ), NULL },
     { wxT( "WINDOWS-437" ), wxT( "CP437" ), wxT( "MS437" ), wxT( "IBM-437" ), NULL },
 
     { wxT( "UTF-7" ), wxT("UTF7"), NULL },
@@ -750,6 +756,14 @@ wxFontMapperBase::NonInteractiveCharsetToEncoding(const wxString& charset)
                         case 950:
                             encoding = wxFONTENCODING_CP950;
                             break;
+
+                        case 1258:
+                            encoding = wxFONTENCODING_CP1258;
+                            break;
+
+                        case 1361:
+                            encoding = wxFONTENCODING_CP1361;
+                            break;
                     }
                 }
             }
index 4f969fa5d4536bc68308f2848ab50693495278c2..ee567ab31d8d670fadd506b6f6b7c25e567f8239 100644 (file)
@@ -99,6 +99,8 @@ wxENUM_MEMBER( wxFONTENCODING_CP1254 )
 wxENUM_MEMBER( wxFONTENCODING_CP1255 )
 wxENUM_MEMBER( wxFONTENCODING_CP1256 )
 wxENUM_MEMBER( wxFONTENCODING_CP1257 )
+wxENUM_MEMBER( wxFONTENCODING_CP1258 )
+wxENUM_MEMBER( wxFONTENCODING_CP1361 )
 wxENUM_MEMBER( wxFONTENCODING_CP12_MAX )
 wxENUM_MEMBER( wxFONTENCODING_UTF7 )
 wxENUM_MEMBER( wxFONTENCODING_UTF8 )
index 03367c7bc37e293c17bd393a120be41a1cbc1af4..f7c3952b154bc910f7f8ec572d95caf1c88486b3 100644 (file)
@@ -251,6 +251,14 @@ wxFontEncoding wxGetFontEncFromCharSet(int cs)
             fontEncoding = wxFONTENCODING_CP950;
             break;
 
+        case VIETNAMESE_CHARSET:
+            fontEncoding = wxFONTENCODING_CP1258;
+            break;
+
+        case JOHAB_CHARSET:
+            fontEncoding = wxFONTENCODING_CP1361;
+            break;
+
 #endif // Win32
 
         case OEM_CHARSET: