From e051abe473badd3d29f398ba4ed522c437e503b6 Mon Sep 17 00:00:00 2001 From: Grigori Goronzy Date: Thu, 18 Feb 2010 07:14:23 +0100 Subject: Calculate vertical layout ascender/descender Calculate ascender for rotated glyphs from the maximum advance width. Works OK usually, but screws up with fonts that miss this information. --- libass/ass_font.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/libass/ass_font.c b/libass/ass_font.c index 109390f..6f1f4b7 100644 --- a/libass/ass_font.c +++ b/libass/ass_font.c @@ -286,6 +286,9 @@ void ass_font_get_asc_desc(ASS_Font *font, uint32_t ch, int *asc, *asc = FT_MulFix(face->ascender, y_scale); *desc = FT_MulFix(-face->descender, y_scale); } + if (font->desc.vertical) { + *asc = FT_MulFix(face->max_advance_width, y_scale); + } return; } } -- cgit v1.2.3