summaryrefslogtreecommitdiff
path: root/pcr/rxvt-unicode-pixbuf/font-width-fix.patch
diff options
context:
space:
mode:
authorAndreas Grapentin <andreas@grapentin.org>2018-01-25 20:44:51 +0100
committerAndreas Grapentin <andreas@grapentin.org>2018-01-25 20:45:26 +0100
commit0a5dd8e972c24cef6a5c9e5e9d24e81e6492000c (patch)
treeba0b5974214a0472a010b161b9503ad5f1557f01 /pcr/rxvt-unicode-pixbuf/font-width-fix.patch
parent26d470e976690421b6eb4e5cfa7d98236746ef4e (diff)
pcr/rxvt-unicode-pixbuf: added
Diffstat (limited to 'pcr/rxvt-unicode-pixbuf/font-width-fix.patch')
-rw-r--r--pcr/rxvt-unicode-pixbuf/font-width-fix.patch26
1 files changed, 26 insertions, 0 deletions
diff --git a/pcr/rxvt-unicode-pixbuf/font-width-fix.patch b/pcr/rxvt-unicode-pixbuf/font-width-fix.patch
new file mode 100644
index 000000000..811d9e615
--- /dev/null
+++ b/pcr/rxvt-unicode-pixbuf/font-width-fix.patch
@@ -0,0 +1,26 @@
+--- src/rxvtfont.C.bukind 2007-11-30 14:36:33.000000000 +0600
++++ src/rxvtfont.C 2007-11-30 14:39:29.000000000 +0600
+@@ -1171,12 +1171,21 @@
+ XGlyphInfo g;
+ XftTextExtents16 (disp, f, &ch, 1, &g);
+
++/*
++ * bukind: don't use g.width as a width of a character!
++ * instead use g.xOff, see e.g.: http://keithp.com/~keithp/render/Xft.tutorial
++
+ g.width -= g.x;
+
+ int wcw = WCWIDTH (ch);
+ if (wcw > 0) g.width = (g.width + wcw - 1) / wcw;
+
+ if (width < g.width ) width = g.width;
++ */
++ int wcw = WCWIDTH (ch);
++ if (wcw > 1) g.xOff = g.xOff / wcw;
++ if (width < g.xOff) width = g.xOff;
++
+ if (height < g.height ) height = g.height;
+ if (glheight < g.height - g.y) glheight = g.height - g.y;
+ }
+
+