Patch #775355 Unicode fix for STC
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_2_4_BRANCH@22223 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
@@ -2478,13 +2478,14 @@ inline wxString stc2wx(const char* str) {
|
|||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
inline wxString stc2wx(const char* str, size_t len) {
|
|
||||||
#if wxUSE_UNICODE
|
#if wxUSE_UNICODE
|
||||||
return wxString(str, wxConvUTF8, len);
|
wxString stc2wx(const char* str, size_t len);
|
||||||
#else
|
#else
|
||||||
|
inline wxString stc2wx(const char* str, size_t len) {
|
||||||
return wxString(str, len);
|
return wxString(str, len);
|
||||||
#endif
|
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
|
|
||||||
#if wxUSE_UNICODE
|
#if wxUSE_UNICODE
|
||||||
inline const wxWX2MBbuf wx2stc(const wxString& str) {
|
inline const wxWX2MBbuf wx2stc(const wxString& str) {
|
||||||
|
@@ -481,7 +481,7 @@ void SurfaceImpl::MeasureWidths(Font &font, const char *s, int len, int *positio
|
|||||||
// so figure it out and fix it!
|
// so figure it out and fix it!
|
||||||
i = 0;
|
i = 0;
|
||||||
size_t ui = 0;
|
size_t ui = 0;
|
||||||
while (i < len) {
|
while ((int)i < len) {
|
||||||
unsigned char uch = (unsigned char)s[i];
|
unsigned char uch = (unsigned char)s[i];
|
||||||
positions[i++] = tpos[ui];
|
positions[i++] = tpos[ui];
|
||||||
if (uch >= 0x80) {
|
if (uch >= 0x80) {
|
||||||
@@ -1223,6 +1223,22 @@ double ElapsedTime::Duration(bool reset) {
|
|||||||
|
|
||||||
//----------------------------------------------------------------------
|
//----------------------------------------------------------------------
|
||||||
|
|
||||||
|
#if wxUSE_UNICODE
|
||||||
|
wxString stc2wx(const char* str, size_t len)
|
||||||
|
{
|
||||||
|
char *buffer=new char[len+1];
|
||||||
|
strncpy(buffer, str, len);
|
||||||
|
buffer[len]=0;
|
||||||
|
|
||||||
|
wxString cstr(buffer, wxConvUTF8);
|
||||||
|
|
||||||
|
delete[] buffer;
|
||||||
|
return cstr;
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@@ -463,13 +463,14 @@ inline wxString stc2wx(const char* str) {
|
|||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
inline wxString stc2wx(const char* str, size_t len) {
|
|
||||||
#if wxUSE_UNICODE
|
#if wxUSE_UNICODE
|
||||||
return wxString(str, wxConvUTF8, len);
|
wxString stc2wx(const char* str, size_t len);
|
||||||
#else
|
#else
|
||||||
|
inline wxString stc2wx(const char* str, size_t len) {
|
||||||
return wxString(str, len);
|
return wxString(str, len);
|
||||||
#endif
|
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
|
|
||||||
#if wxUSE_UNICODE
|
#if wxUSE_UNICODE
|
||||||
inline const wxWX2MBbuf wx2stc(const wxString& str) {
|
inline const wxWX2MBbuf wx2stc(const wxString& str) {
|
||||||
|
Reference in New Issue
Block a user