diff --git a/include/wx/osx/core/cfstring.h b/include/wx/osx/core/cfstring.h index 66a86760da..385527e75e 100644 --- a/include/wx/osx/core/cfstring.h +++ b/include/wx/osx/core/cfstring.h @@ -71,6 +71,7 @@ public: wxString AsString( wxFontEncoding encoding = wxFONTENCODING_DEFAULT ) const; static wxString AsString( CFStringRef ref, wxFontEncoding encoding = wxFONTENCODING_DEFAULT ) ; + static wxString AsStringWithNormalizationFormC( CFStringRef ref, wxFontEncoding encoding = wxFONTENCODING_DEFAULT ) ; #if wxOSX_USE_COCOA_OR_IPHONE static wxString AsString( NSString* ref, wxFontEncoding encoding = wxFONTENCODING_DEFAULT ) ; #endif diff --git a/src/osx/core/cfstring.cpp b/src/osx/core/cfstring.cpp index c3bfcce19b..9182556e4c 100644 --- a/src/osx/core/cfstring.cpp +++ b/src/osx/core/cfstring.cpp @@ -632,6 +632,18 @@ wxCFStringRef::wxCFStringRef( const wxString &st , wxFontEncoding WXUNUSED_IN_UN } } +wxString wxCFStringRef::AsStringWithNormalizationFormC( CFStringRef ref, wxFontEncoding encoding ) +{ + if ( !ref ) + return wxEmptyString ; + + CFMutableStringRef cfMutableString = CFStringCreateMutableCopy(NULL, 0, ref); + CFStringNormalize(cfMutableString,kCFStringNormalizationFormC); + wxString str = wxCFStringRef::AsString(ref,encoding); + CFRelease(cfMutableString); + return str; +} + wxString wxCFStringRef::AsString( CFStringRef ref, wxFontEncoding WXUNUSED_IN_UNICODE(encoding) ) { if ( !ref )