summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGrigori Goronzy <greg@blackbox>2010-02-18 07:14:23 +0100
committerGrigori Goronzy <greg@blackbox>2010-04-11 01:59:28 +0200
commite051abe473badd3d29f398ba4ed522c437e503b6 (patch)
treee07d7bb5c571b41a02d194beaa1285312fa29622
parent6e9557cd6c54c99f0d6d9c11096a2f38be47493a (diff)
downloadlibass-e051abe473badd3d29f398ba4ed522c437e503b6.tar.bz2
libass-e051abe473badd3d29f398ba4ed522c437e503b6.tar.xz
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.
-rw-r--r--libass/ass_font.c3
1 files changed, 3 insertions, 0 deletions
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;
}
}