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



diff --git a/st.c b/st.c
index 1b01353..1ccd8d7 100644
--- a/st.c
+++ b/st.c
@@ -3111,7 +3111,7 @@ xdraws(char *s, Glyph base, int x, int y, int charlen, 
int bytelen) {
                                                        winy + font->ascent,
                                                        (FcChar8 *)u8fs,
                                                        u8fblen);
-                                       xp += CEIL(font->width * cwscale * 
u8fl);
+                                       xp += xw.cw * u8fl;
 
                                }
                                break;
@@ -3121,7 +3121,7 @@ xdraws(char *s, Glyph base, int x, int y, int charlen, 
int bytelen) {
                        u8fblen += u8cblen;
                }
                if(doesexist) {
-                       if (oneatatime);
+                       if (oneatatime)
                                continue;
                        break;
                }
@@ -3184,7 +3184,7 @@ xdraws(char *s, Glyph base, int x, int y, int charlen, 
int bytelen) {
                                xp, winy + frc[i].font->ascent,
                                (FcChar8 *)u8c, u8cblen);
 
-               xp += CEIL(font->width * cwscale);
+               xp += xw.cw;
        }
 
        /*


Reply via email to