27 lines
834 B
Diff
27 lines
834 B
Diff
|
--- 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;
|
||
|
}
|
||
|
|
||
|
|