]> 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).
 - Fully implement wxStyledTextCtrl::PositionToXY() (troelsk).
 - Added wxDataViewListCtrl::{Set,Get}ItemData().
 - Added wxDataViewListCtrl::GetItemCount() (Kry).
+- Added support for Korean Johab and Vietnamese encodings (jank9201).
 
 GTK:
 
 
 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_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
     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_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_
 };
 
 #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_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
     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_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_CP1255,
     wxFONTENCODING_CP1256,
     wxFONTENCODING_CP1257,
+    wxFONTENCODING_CP1258,
+    wxFONTENCODING_CP1361,
     wxFONTENCODING_CP437,
     wxFONTENCODING_UTF7,
     wxFONTENCODING_UTF8,
     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 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)" ),
     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-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 },
     { 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 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_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 )
 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;
 
             fontEncoding = wxFONTENCODING_CP950;
             break;
 
+        case VIETNAMESE_CHARSET:
+            fontEncoding = wxFONTENCODING_CP1258;
+            break;
+
+        case JOHAB_CHARSET:
+            fontEncoding = wxFONTENCODING_CP1361;
+            break;
+
 #endif // Win32
 
         case OEM_CHARSET:
 #endif // Win32
 
         case OEM_CHARSET: