summaryrefslogtreecommitdiffstats
path: root/libass/ass_font.c
diff options
context:
space:
mode:
authorGrigori Goronzy <greg@blackbox>2009-07-16 22:44:12 +0200
committerGrigori Goronzy <greg@blackbox>2009-07-17 00:21:51 +0200
commitb625c5a90cb8076612c0b1c8032db8629809b92e (patch)
tree7a219eb90f8312ec9cdf042192161ed7e88f19fb /libass/ass_font.c
parent4ebb07452a0d5026dc9b21c95d76ab757ae41c48 (diff)
downloadlibass-b625c5a90cb8076612c0b1c8032db8629809b92e.tar.bz2
libass-b625c5a90cb8076612c0b1c8032db8629809b92e.tar.xz
Tweak font metrics to match Windows GDI
Try to change ascender/descender calculation to be more compatible with Windows GDI and consequently, VSFilter.
Diffstat (limited to 'libass/ass_font.c')
-rw-r--r--libass/ass_font.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/libass/ass_font.c b/libass/ass_font.c
index 34ae292..35d34cf 100644
--- a/libass/ass_font.c
+++ b/libass/ass_font.c
@@ -268,8 +268,9 @@ void ass_font_get_asc_desc(ass_font_t *font, uint32_t ch, int *asc,
for (i = 0; i < font->n_faces; ++i) {
FT_Face face = font->faces[i];
if (FT_Get_Char_Index(face, ch)) {
- *asc = face->size->metrics.ascender;
- *desc = -face->size->metrics.descender;
+ int y_scale = face->size->metrics.y_scale;
+ *asc = FT_MulFix(face->ascender, y_scale);
+ *desc = FT_MulFix(-face->descender, y_scale);
return;
}
}