From: Gerd Moellmann Date: Tue, 3 Apr 2001 11:25:12 +0000 (+0000) Subject: (x_use_underline_position_properties): New variable. X-Git-Tag: emacs-pretest-21.0.101~36 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=a72d5ce5f36654979ab6972c485f3900297f29e6;p=emacs.git (x_use_underline_position_properties): New variable. (x_draw_glyph_string): Use it. (syms_of_xterm): DEFVAR_BOOL it. --- diff --git a/src/xterm.c b/src/xterm.c index 26e0c539b77..f4cce32b5fa 100644 --- a/src/xterm.c +++ b/src/xterm.c @@ -256,6 +256,10 @@ static int any_help_event_p; int x_stretch_cursor_p; +/* Non-zero means make use of UNDERLINE_POSITION font properties. */ + +int x_use_underline_position_properties; + /* This is a chain of structures for all the X displays currently in use. */ @@ -4498,7 +4502,8 @@ x_draw_glyph_string (s) ROUND ((maximum descent) / 2), with ROUND(x) = floor (x + 0.5) */ - if (XGetFontProperty (s->font, XA_UNDERLINE_POSITION, &tem)) + if (x_use_underline_position_properties + && XGetFontProperty (s->font, XA_UNDERLINE_POSITION, &tem)) y = s->ybase + (long) tem; else if (s->face->font) y = s->ybase + (s->face->font->max_bounds.descent + 1) / 2; @@ -14411,6 +14416,14 @@ For example, if a block cursor is over a tab, it will be drawn as\n\ wide as that tab on the display."); x_stretch_cursor_p = 0; + DEFVAR_BOOL ("x-use-underline-position-properties", + &x_use_underline_position_properties, + "*Non-nil means make use of UNDERLINE_POSITION font properties.\n\ +Nil means ignore them. If you encounter fonts with bogus\n\ +UNDERLINE_POSITION font properties, for example 7x13 on XFree prior\n\ +to 4.1, set this to nil."); + x_use_underline_position_properties = 1; + DEFVAR_LISP ("x-toolkit-scroll-bars", &Vx_toolkit_scroll_bars, "What X toolkit scroll bars Emacs uses.\n\ A value of nil means Emacs doesn't use X toolkit scroll bars.\n\