From: root Date: Sat, 18 Jun 2005 10:59:21 +0000 (+0000) Subject: *** empty log message *** X-Git-Url: http://git.openbox.org/?a=commitdiff_plain;h=fa815d0ae1e39092dbcd97cb1a5ce9e430a48884;p=dana%2Furxvt.git *** empty log message *** --- diff --git a/Changes b/Changes index 9af1ab49..7a1d8682 100644 --- a/Changes +++ b/Changes @@ -22,6 +22,12 @@ WISH: just for fun, do shade and tint with XRender. - rewrote the low-level xft drawing function ("xft backend" for the hipper parts of the world) to hopefully cope better with proportional chars mixed with fixed-width ones. + - rxvt is now much more careful (read: slower) with potentially + overlapping xft characters. It usually overshoots and redraws + more than required, but that's better than undershooting and + cutting pieces off of characters. + - rxvt is now more restrictive in what font heights it accepts for + fonts that will likely overshoot or underhsoot lines. 5.5 Sat Apr 23 22:31:36 CEST 2005 - re-enabled modifer state matching as in 5.3, but implement diff --git a/doc/rxvt.1.html b/doc/rxvt.1.html index cf1770ac..a38c4c44 100644 --- a/doc/rxvt.1.html +++ b/doc/rxvt.1.html @@ -338,7 +338,7 @@ Put scrollbar on right/left; resource scrollBar_right.
-st|+st
-Display normal (non XTerm/NeXT) scrollbar without/with a trough; +Display rxvt (non XTerm/NeXT) scrollbar without/with a trough; resource scrollBar_floating.

@@ -764,7 +764,7 @@ Use the specified colour for the scrollbar [default #B2B2B2].
Use the specified colour for the scrollbar's trough area [default -#969696]. Only relevant for normal (non XTerm/NeXT) scrollbar. +#969696]. Only relevant for rxvt (non XTerm/NeXT) scrollbar.

borderColor: colour
@@ -894,7 +894,7 @@ xterm style selection.
Set scrollbar style to rxvt, plain, next or xterm. plain is -the author's favourite.. +the author's favourite.

title: string
diff --git a/doc/rxvt.1.man.in b/doc/rxvt.1.man.in index fb7ea088..73c62b29 100644 --- a/doc/rxvt.1.man.in +++ b/doc/rxvt.1.man.in @@ -129,7 +129,7 @@ .\" ======================================================================== .\" .IX Title "rxvt 1" -.TH rxvt 1 "2005-04-22" "5.5" "RXVT-UNICODE" +.TH rxvt 1 "2005-06-18" "5.5" "RXVT-UNICODE" .SH "NAME" rxvt\-unicode (ouR XVT, unicode) \- (a VT102 emulator for the X window system) .SH "SYNOPSIS" @@ -336,7 +336,7 @@ This only takes effect if \fB\-si\fR is also given; resource Put scrollbar on right/left; resource \fBscrollBar_right\fR. .IP "\fB\-st\fR|\fB+st\fR" 4 .IX Item "-st|+st" -Display normal (non XTerm/NeXT) scrollbar without/with a trough; +Display rxvt (non XTerm/NeXT) scrollbar without/with a trough; resource \fBscrollBar_floating\fR. .IP "\fB\-ptab\fR|\fB+ptab\fR" 4 .IX Item "-ptab|+ptab" @@ -628,7 +628,7 @@ Use the specified colour for the scrollbar [default #B2B2B2]. .IP "\fBtroughColor:\fR \fIcolour\fR" 4 .IX Item "troughColor: colour" Use the specified colour for the scrollbar's trough area [default -#969696]. Only relevant for normal (non XTerm/NeXT) scrollbar. +#969696]. Only relevant for rxvt (non XTerm/NeXT) scrollbar. .IP "\fBborderColor:\fR \fIcolour\fR" 4 .IX Item "borderColor: colour" The colour of the border around the text area and between the scrollbar @@ -726,7 +726,7 @@ xterm style selection. .IP "\fBscrollstyle:\fR \fImode\fR" 4 .IX Item "scrollstyle: mode" Set scrollbar style to \fBrxvt\fR, \fBplain\fR, \fBnext\fR or \fBxterm\fR. \fBplain\fR is -the author's favourite.. +the author's favourite. .IP "\fBtitle:\fR \fIstring\fR" 4 .IX Item "title: string" Set window title string, the default title is the command-line diff --git a/doc/rxvt.1.txt b/doc/rxvt.1.txt index c7652a4e..16e38a74 100644 --- a/doc/rxvt.1.txt +++ b/doc/rxvt.1.txt @@ -206,7 +206,7 @@ OPTIONS Put scrollbar on right/left; resource scrollBar_right. -st|+st - Display normal (non XTerm/NeXT) scrollbar without/with a trough; + Display rxvt (non XTerm/NeXT) scrollbar without/with a trough; resource scrollBar_floating. -ptab|+ptab @@ -483,7 +483,7 @@ RESOURCES (available also as long-options) troughColor: *colour* Use the specified colour for the scrollbar's trough area [default - #969696]. Only relevant for normal (non XTerm/NeXT) scrollbar. + #969696]. Only relevant for rxvt (non XTerm/NeXT) scrollbar. borderColor: *colour* The colour of the border around the text area and between the @@ -579,7 +579,7 @@ RESOURCES (available also as long-options) scrollstyle: *mode* Set scrollbar style to rxvt, plain, next or xterm. plain is the - author's favourite.. + author's favourite. title: *string* Set window title string, the default title is the command-line diff --git a/src/rxvtfont.C b/src/rxvtfont.C index 0531e822..c449943b 100644 --- a/src/rxvtfont.C +++ b/src/rxvtfont.C @@ -853,7 +853,7 @@ rxvt_font_x11::load (const rxvt_fontprop &prop) int dir_ret, asc_ret, des_ret; XTextExtents16 (f, &ch, 1, &dir_ret, &asc_ret, &des_ret, &g); - int wcw = wcwidth (*t); if (wcw > 0) g.width = g.width / wcw; + int wcw = wcwidth (*t); if (wcw > 0) g.width = (g.width + wcw - 1) / wcw; if (width < g.width) width = g.width; } @@ -938,7 +938,7 @@ rxvt_font_x11::has_char (unicode_t unicode, const rxvt_fontprop *prop, bool &car // check character against base font bounding box int w = xcs->width; int wcw = wcwidth (unicode); - if (wcw > 0) w /= wcw; + if (wcw > 0) w = (w + wcw - 1) / wcw; careful = w > prop->width; if (careful && w > prop->width * MAX_OVERLAP >> 2) @@ -1156,6 +1156,8 @@ rxvt_font_xft::load (const rxvt_fontprop &prop) XftUnlockFace (f); + int glheight = height; + for (uint16_t *t = extent_test_chars + NUM_EXTENT_TEST_CHARS; t-- > extent_test_chars; ) { FcChar16 ch = *t; @@ -1173,15 +1175,18 @@ rxvt_font_xft::load (const rxvt_fontprop &prop) XGlyphInfo g; XftTextExtents16 (disp, f, &ch, 1, &g); + g.width -= g.x; + int wcw = wcwidth (ch); - if (wcw > 0) g.width = g.width / wcw; + if (wcw > 0) g.width = (g.width + wcw - 1) / wcw; - if (width < g.width) width = g.width; - if (height < g.height) height = g.height; + if (width < g.width ) width = g.width; + if (height < g.height ) height = g.height; + if (glheight < g.height - g.y) glheight = g.height - g.y; } if (prop.height == rxvt_fontprop::unset - || height <= prop.height + || (height <= prop.height && glheight <= prop.height) || height <= 2 || !scalable) break; @@ -1232,9 +1237,9 @@ rxvt_font_xft::has_char (unicode_t unicode, const rxvt_fontprop *prop, bool &car XGlyphInfo g; XftTextExtents32 (DISPLAY, f, &ch, 1, &g); - int w = g.width; + int w = g.width - g.x; int wcw = wcwidth (unicode); - if (wcw > 0) w /= wcw; + if (wcw > 0) w = (w + wcw - 1) / wcw; careful = w > prop->width; if (careful && w > prop->width * MAX_OVERLAP >> 2) diff --git a/src/version.h b/src/version.h index cfabe814..58cd5eb6 100644 --- a/src/version.h +++ b/src/version.h @@ -1,3 +1,3 @@ // VERSION _must_ be \d.\d+ -#define VERSION "5.5" +#define VERSION "5.6" #define DATE "2005-04-23"