Regarding commit 7e3cff3
authorEon S. Jeon <esjeon@hyunmu.am>
Sun, 11 Aug 2013 10:42:30 +0000 (06:42 -0400)
committerRoberto E. Vargas Caballero <k0ga@shike2.com>
Fri, 30 Aug 2013 05:50:05 +0000 (07:50 +0200)
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

st.c

diff --git a/st.c b/st.c
index 9733a9b..c751aa1 100644 (file)
--- 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;
        }
 
        /*