Lines 26-32
Link Here
|
26 |
FriBidiChar *logicalString = new FriBidiChar[text.length() + 1]; |
26 |
FriBidiChar *logicalString = new FriBidiChar[text.length() + 1]; |
27 |
FriBidiChar *visualString = new FriBidiChar[text.length() + 1]; |
27 |
FriBidiChar *visualString = new FriBidiChar[text.length() + 1]; |
28 |
|
28 |
|
29 |
int ucsLength = fribidi_utf8_to_unicode(const_cast<char*>(text.c_str()), |
29 |
int ucsLength = fribidi_charset_to_unicode(FRIBIDI_CHAR_SET_UTF8, const_cast<char*>(text.c_str()), |
30 |
text.length(), logicalString); |
30 |
text.length(), logicalString); |
31 |
fribidi_boolean ok = fribidi_log2vis(logicalString, ucsLength, &base, |
31 |
fribidi_boolean ok = fribidi_log2vis(logicalString, ucsLength, &base, |
32 |
visualString, NULL, NULL, NULL); |
32 |
visualString, NULL, NULL, NULL); |
Lines 37-43
Link Here
|
37 |
} |
37 |
} |
38 |
|
38 |
|
39 |
char *buffer = new char[text.length() + 1]; |
39 |
char *buffer = new char[text.length() + 1]; |
40 |
int length = fribidi_unicode_to_utf8(visualString, ucsLength, buffer); |
40 |
int length = fribidi_unicode_to_charset(FRIBIDI_CHAR_SET_UTF8, visualString, ucsLength, buffer); |
41 |
std::string result = std::string(buffer, length); |
41 |
std::string result = std::string(buffer, length); |
42 |
delete[] buffer; |
42 |
delete[] buffer; |
43 |
delete[] visualString; |
43 |
delete[] visualString; |