Hello.
I reviewed and tested commit 
7e3cff3, and made a patch that fixes some
problems in it.
1. There's a semicolon after an if statement, which is obviously a
typo.
2. The current way of calculating text position in "xdraws" yields
inconsistent results in some cases. This is due to the use of
"font->width", which varies. Instead, "xw.cw" has to be used as the
character width.
Sincerely,
Eon
 
                                                        winy + font->ascent,
                                                        (FcChar8 *)u8fs,
                                                        u8fblen);
-                                       xp += CEIL(font->width * cwscale * u8fl);
+                                       xp += xw.cw * u8fl;
 
                                }
                                break;
                        u8fblen += u8cblen;
                }
                if(doesexist) {
-                       if (oneatatime);
+                       if (oneatatime)
                                continue;
                        break;
                }
                                xp, winy + frc[i].font->ascent,
                                (FcChar8 *)u8c, u8cblen);
 
-               xp += CEIL(font->width * cwscale);
+               xp += xw.cw;
        }
 
        /*