summarylogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--.SRCINFO2
-rw-r--r--PKGBUILD3
-rw-r--r--font-width-fix.patch26
3 files changed, 31 insertions, 0 deletions
diff --git a/.SRCINFO b/.SRCINFO
index 2a6f7d77c151..5496b05bc61c 100644
--- a/.SRCINFO
+++ b/.SRCINFO
@@ -17,6 +17,7 @@ pkgbase = rxvt-unicode-patched
source = urxvt.desktop
source = urxvtc.desktop
source = urxvt-tabbed.desktop
+ source = font-width-fix.patch
source = line-spacing-fix.patch
source = https://gist.githubusercontent.com/alexoj/df5bae7a4825cb596581/raw/75a1e75c2ae1ec5c0db68a29f8a6821e9e3d87a5/sgr-mouse-mode.patch
source = fix-smart-resize-with-x11-frame-borders.patch
@@ -24,6 +25,7 @@ pkgbase = rxvt-unicode-patched
sha1sums = b5a4507f85ebb7bac589db2e07d9bc40106720d9
sha1sums = 62c4ffecfce6967def394dd4d418b68652372ea2
sha1sums = cd204d608d114d39c80331efe0af0231ad6b7e18
+ sha1sums = 01ee8f212add79a158dcd4ed78d0ea1324bdc59b
sha1sums = b7fde1c46af45e831828738874f14b092b1e795f
sha1sums = dfbc8729c545105eff21e20ef3a4a3841a68a192
sha1sums = 6dfa49a211c48193c8d87fb9993ed459b2b4387b
diff --git a/PKGBUILD b/PKGBUILD
index 7481a2d2b716..29356af7b637 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -22,6 +22,7 @@ source=(http://dist.schmorp.de/rxvt-unicode/$_pkgname-$pkgver.tar.bz2
'urxvt.desktop'
'urxvtc.desktop'
'urxvt-tabbed.desktop'
+ 'font-width-fix.patch'
'line-spacing-fix.patch'
'https://gist.githubusercontent.com/alexoj/df5bae7a4825cb596581/raw/75a1e75c2ae1ec5c0db68a29f8a6821e9e3d87a5/sgr-mouse-mode.patch'
'fix-smart-resize-with-x11-frame-borders.patch' # will be in 9.22+
@@ -30,6 +31,7 @@ sha1sums=('e575b869782fbfed955f84f48b204ec888d91ba1'
'b5a4507f85ebb7bac589db2e07d9bc40106720d9'
'62c4ffecfce6967def394dd4d418b68652372ea2'
'cd204d608d114d39c80331efe0af0231ad6b7e18'
+ '01ee8f212add79a158dcd4ed78d0ea1324bdc59b'
'b7fde1c46af45e831828738874f14b092b1e795f'
'dfbc8729c545105eff21e20ef3a4a3841a68a192'
'6dfa49a211c48193c8d87fb9993ed459b2b4387b')
@@ -37,6 +39,7 @@ sha1sums=('e575b869782fbfed955f84f48b204ec888d91ba1'
prepare() {
cd $_pkgname-$pkgver
+ patch -p0 -i ../font-width-fix.patch
patch -p0 -i ../line-spacing-fix.patch
patch -p0 -i ../sgr-mouse-mode.patch
patch -p1 -i ../fix-smart-resize-with-x11-frame-borders.patch
diff --git a/font-width-fix.patch b/font-width-fix.patch
new file mode 100644
index 000000000000..811d9e615ab4
--- /dev/null
+++ b/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;
+ }
+
+