bringing back utf32 encoding for wchar, fixes #10666

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@59968 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Stefan Csomor 2009-04-01 08:57:56 +00:00
parent 7ff1542d27
commit 2daa5d2c99

View File

@ -613,16 +613,18 @@ wxCFStringRef::wxCFStringRef( const wxString &st , wxFontEncoding WXUNUSED_IN_UN
// native = wchar_t 4 bytes for us
const wchar_t * const data = str.wc_str();
const size_t size = str.length()*sizeof(wchar_t);
CFStringBuiltInEncodings cfencoding = kCFStringEncodingUTF32Native;
#elif wxUSE_UNICODE_UTF8
// native = utf8
const char * const data = str.utf8_str();
const size_t size = str.utf8_length();
CFStringBuiltInEncodings cfencoding = kCFStringEncodingUTF8;
#else
#error "unsupported Unicode representation"
#endif
reset( CFStringCreateWithBytes( kCFAllocatorDefault,
(const UInt8*)data, size, kCFStringEncodingUTF8, false /* no BOM */ ) );
(const UInt8*)data, size, cfencoding, false /* no BOM */ ) );
#else // not wxUSE_UNICODE
reset( CFStringCreateWithCString( kCFAllocatorSystemDefault , str.c_str() ,
wxMacGetSystemEncFromFontEnc( encoding ) ) );