FreeBSD Bugzilla – Attachment 139420 Details for
Bug 185656
A x11/rxvt-unicode [PATCH] for the font width bug.
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Help
|
New Account
|
Log In
Remember
[x]
|
Forgot Password
Login:
[x]
[patch]
file.diff
file.diff (text/plain), 1.73 KB, created by
clutton
on 2014-01-11 08:50:00 UTC
(
hide
)
Description:
file.diff
Filename:
MIME Type:
Creator:
clutton
Created:
2014-01-11 08:50:00 UTC
Size:
1.73 KB
patch
obsolete
>diff --git a/x11/rxvt-unicode/files/patch-src_rxvtfont.C b/x11/rxvt-unicode/files/patch-src_rxvtfont.C >new file mode 100644 >index 0000000..83cbbfc >--- /dev/null >+++ b/x11/rxvt-unicode/files/patch-src_rxvtfont.C >@@ -0,0 +1,47 @@ >+--- src/rxvtfont.C 2013-03-27 18:59:20.000000000 +0200 >++++ /tmp/rxvtfont.C 2014-01-11 10:11:32.000000000 +0200 >+@@ -1237,11 +1237,22 @@ >+ >+ FT_Face face = XftLockFace (f); >+ >++/* >++ * use ascent, descent and height from XftFont *f instead of FT_Face face. >++ * this somehow reproduces the behaviour of the line height as seen on xterm. >++ >+ ascent = (face->size->metrics.ascender + 63) >> 6; >+ descent = (-face->size->metrics.descender + 63) >> 6; >+ height = max (ascent + descent, (face->size->metrics.height + 63) >> 6); >+ width = 0; >+ >++ */ >++ >++ ascent = f->ascent; >++ descent = f->descent; >++ height = max (ascent + descent, f->height); >++ width = 0; >++ >+ bool scalable = face->face_flags & FT_FACE_FLAG_SCALABLE; >+ >+ XftUnlockFace (f); >+@@ -1265,12 +1276,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; >+ }
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Diff
Attachments on
bug 185656
: 139420 |
139421