|
|
@ -3245,28 +3245,22 @@ xdraws(char *s, Glyph base, int x, int y, int charlen, int bytelen) { |
|
|
|
bytelen -= u8cblen; |
|
|
|
bytelen -= u8cblen; |
|
|
|
|
|
|
|
|
|
|
|
doesexist = XftCharExists(xw.dpy, font->match, unicodep); |
|
|
|
doesexist = XftCharExists(xw.dpy, font->match, unicodep); |
|
|
|
if(oneatatime || !doesexist || bytelen <= 0) { |
|
|
|
if(doesexist) { |
|
|
|
if(oneatatime || bytelen <= 0) { |
|
|
|
u8fl++; |
|
|
|
if(doesexist) { |
|
|
|
u8fblen += u8cblen; |
|
|
|
u8fl++; |
|
|
|
if(!oneatatime && bytelen > 0) |
|
|
|
u8fblen += u8cblen; |
|
|
|
continue; |
|
|
|
} |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if(u8fl > 0) { |
|
|
|
|
|
|
|
XftDrawStringUtf8(xw.draw, fg, |
|
|
|
|
|
|
|
font->match, xp, |
|
|
|
|
|
|
|
winy + font->ascent, |
|
|
|
|
|
|
|
(FcChar8 *)u8fs, |
|
|
|
|
|
|
|
u8fblen); |
|
|
|
|
|
|
|
xp += xw.cw * u8fl; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
break; |
|
|
|
|
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
u8fl++; |
|
|
|
if(u8fl > 0) { |
|
|
|
u8fblen += u8cblen; |
|
|
|
XftDrawStringUtf8(xw.draw, fg, |
|
|
|
|
|
|
|
font->match, xp, |
|
|
|
|
|
|
|
winy + font->ascent, |
|
|
|
|
|
|
|
(FcChar8 *)u8fs, |
|
|
|
|
|
|
|
u8fblen); |
|
|
|
|
|
|
|
xp += xw.cw * u8fl; |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
break; |
|
|
|
} |
|
|
|
} |
|
|
|
if(doesexist) { |
|
|
|
if(doesexist) { |
|
|
|
if(oneatatime) |
|
|
|
if(oneatatime) |
|
|
|