Source: rxvt-unicode-256color
Version: 9.11-1.1
Severity: normal
Tags: patch

Hi,

When using xft with hinting enabled and certain fonts, rxvt-unicode displays
a large gap between font glyphs.

The attached patch taken from ArchLinux fixes this issue.

I have tested it myself with success and I now enjoy from a really nice
looking terminal.

Thanks for considering this patch for the next upload, and thanks for your
work.

Cheers,
Julien

-- System Information:
Debian Release: wheezy/sid
  APT prefers unstable
  APT policy: (500, 'unstable'), (400, 'experimental')
Architecture: amd64 (x86_64)

Kernel: Linux 2.6.39-1-amd64 (SMP w/2 CPU cores)
Locale: LANG=fr_FR.utf8, LC_CTYPE=fr_FR.utf8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash

Versions of packages rxvt-unicode-256color depends on:
ii  base-passwd                   3.5.22     Debian base system master password
ii  libc6                         2.13-4     Embedded GNU C Library: Shared lib
ii  libfontconfig1                2.8.0-2.2  generic font configuration library
ii  libgcc1                       1:4.6.0-10 GCC support library
ii  libgdk-pixbuf2.0-0            2.23.3-3   GDK Pixbuf library
ii  libglib2.0-0                  2.28.6-1   The GLib library of C routines
ii  libperl5.12                   5.12.3-7   shared Perl library
ii  libx11-6                      2:1.4.3-1  X11 client-side library
ii  libxft2                       2.2.0-2    FreeType-based font drawing librar
ii  libxrender1                   1:0.9.6-1  X Rendering Extension client libra
ii  ncurses-term                  5.9-1      additional terminal type definitio

Versions of packages rxvt-unicode-256color recommends:
ii  ttf-dejavu                    2.33-1     Metapackage to pull in ttf-dejavu-
ii  ttf-sazanami-gothic           20040629-8 Sazanami Gothic Japanese TrueType 

rxvt-unicode-256color suggests no packages.

-- no debconf information

-- 
  .''`.   Julien Valroff ~ <jul...@kirya.net> ~ <jul...@debian.org>    
 : :'  :  Debian Developer & Free software contributor
 `. `'`   http://www.kirya.net/
   `-     4096R/ E1D8 5796 8214 4687 E416  948C 859F EF67 258E 26B1
diff -urN -x .pc rxvt-unicode-9.11/debian/changelog rxvt-unicode-9.11.new/debian/changelog
--- rxvt-unicode-9.11/debian/changelog	2011-05-06 13:23:58.000000000 +0200
+++ rxvt-unicode-9.11.new/debian/changelog	2011-05-27 07:05:29.228792331 +0200
@@ -1,3 +1,10 @@
+rxvt-unicode (9.11-1.1) unstable; urgency=low
+
+  * Non-maintainer upload.
+  * Add patch from ArchLinux to fix xft fonts display glitches 
+
+ -- Julien Valroff <jul...@debian.org>  Fri, 27 May 2011 07:03:56 +0200
+
 rxvt-unicode (9.11-1) unstable; urgency=low
 
   * New upstream release
diff -urN -x .pc rxvt-unicode-9.11/debian/patches/13_font-width-fix.diff rxvt-unicode-9.11.new/debian/patches/13_font-width-fix.diff
--- rxvt-unicode-9.11/debian/patches/13_font-width-fix.diff	1970-01-01 01:00:00.000000000 +0100
+++ rxvt-unicode-9.11.new/debian/patches/13_font-width-fix.diff	2011-05-27 21:26:34.508565815 +0200
@@ -0,0 +1,29 @@
+Description: Prevent large font glyphs spacing when using xft 
+ and hinting with some fonts
+Origin: http://aur.archlinux.org/packages.php?ID=44649
+Last-Update: 2011-05-27
+
+--- a/src/rxvtfont.C
++++ b/src/rxvtfont.C
+@@ -1262,12 +1262,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;
+         }
diff -urN -x .pc rxvt-unicode-9.11/debian/patches/series rxvt-unicode-9.11.new/debian/patches/series
--- rxvt-unicode-9.11/debian/patches/series	2011-05-06 13:23:58.000000000 +0200
+++ rxvt-unicode-9.11.new/debian/patches/series	2011-05-27 18:46:14.055639210 +0200
@@ -5,3 +5,4 @@
 08_rebuild_docs.diff
 11_fix_lexgrog.diff
 12_hyphen_minus_sign.diff
+13_font-width-fix.diff

Reply via email to