spmenu/libs/rtl.c

27 lines
613 B
C
Raw Normal View History

void
apply_fribidi(char *str)
{
#if !USERTL
return;
#endif
FriBidiStrIndex len = strlen(str);
FriBidiChar logical[BUFSIZ];
FriBidiChar visual[BUFSIZ];
FriBidiParType base = FRIBIDI_PAR_ON;
FriBidiCharSet charset;
fribidi_boolean result;
fribidi_text[0] = 0;
2023-03-06 21:19:12 +01:00
if (len>0) {
charset = fribidi_parse_charset("UTF-8");
len = fribidi_charset_to_unicode(charset, str, len, logical);
result = fribidi_log2vis(logical, len, &base, visual, NULL, NULL, NULL);
len = fribidi_unicode_to_charset(charset, visual, len, fribidi_text);
}
2023-03-06 21:19:12 +01:00
if (result)
return;
else
return;
}