diff options
author | Grigori Goronzy <greg@blackbox> | 2010-02-18 07:14:23 +0100 |
---|---|---|
committer | Grigori Goronzy <greg@blackbox> | 2010-04-11 01:59:28 +0200 |
commit | e051abe473badd3d29f398ba4ed522c437e503b6 (patch) | |
tree | e07d7bb5c571b41a02d194beaa1285312fa29622 /libass/ass_font.c | |
parent | 6e9557cd6c54c99f0d6d9c11096a2f38be47493a (diff) | |
download | libass-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.
Diffstat (limited to 'libass/ass_font.c')
-rw-r--r-- | libass/ass_font.c | 3 |
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; } } |