summaryrefslogtreecommitdiff
path: root/src/composite.c
diff options
context:
space:
mode:
authorEli Zaretskii <eliz@gnu.org>2015-05-30 19:25:53 +0300
committerEli Zaretskii <eliz@gnu.org>2015-05-30 19:25:53 +0300
commit643470ff797407b256eea380e0f41d3749400927 (patch)
treee83f536e29595ae218a41d6fb9a909c305247f81 /src/composite.c
parentba5f83dfe5dea1b9dd3fca5d21384afc92cd2060 (diff)
downloademacs-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.c6
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
{