diff options
author | Eli Zaretskii <eliz@gnu.org> | 2015-05-30 19:25:53 +0300 |
---|---|---|
committer | Eli Zaretskii <eliz@gnu.org> | 2015-05-30 19:25:53 +0300 |
commit | 643470ff797407b256eea380e0f41d3749400927 (patch) | |
tree | e83f536e29595ae218a41d6fb9a909c305247f81 /src/composite.c | |
parent | ba5f83dfe5dea1b9dd3fca5d21384afc92cd2060 (diff) | |
download | emacs-643470ff797407b256eea380e0f41d3749400927.tar.gz |
Fix display of composite characters with large fonts
* src/xdisp.c (x_produce_glyphs): Call normal_char_ascent_descent
for reasonable values of font ascent and descent.
(get_font_ascent_descent): New function.
* src/composite.c (composition_gstring_width): Call
get_font_ascent_descent for reasonable values of font ascent and
descent.
* dispextern.h: Add prototype for get_font_ascent_descent.
Diffstat (limited to 'src/composite.c')
-rw-r--r-- | src/composite.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/src/composite.c b/src/composite.c index 577b97920f4..e942eef3006 100644 --- a/src/composite.c +++ b/src/composite.c @@ -732,9 +732,11 @@ composition_gstring_width (Lisp_Object gstring, ptrdiff_t from, ptrdiff_t to, if (FONT_OBJECT_P (font_object)) { struct font *font = XFONT_OBJECT (font_object); + int font_ascent, font_descent; - metrics->ascent = font->ascent; - metrics->descent = font->descent; + get_font_ascent_descent (font, &font_ascent, &font_descent); + metrics->ascent = font_ascent; + metrics->descent = font_descent; } else { |