From 8b4ecd68ea0f644ecfc3cec9806ecc88809620c8 Mon Sep 17 00:00:00 2001 From: Lu Wang Date: Sun, 16 Sep 2012 21:34:07 +0800 Subject: [PATCH] use old behaviour of em/asc/des --- src/HTMLRenderer/LineBuffer.cc | 1 + src/HTMLRenderer/text.cc | 4 +++- src/ff.c | 4 ++-- 3 files changed, 6 insertions(+), 3 deletions(-) diff --git a/src/HTMLRenderer/LineBuffer.cc b/src/HTMLRenderer/LineBuffer.cc index 6ad6eb3..25c73ea 100644 --- a/src/HTMLRenderer/LineBuffer.cc +++ b/src/HTMLRenderer/LineBuffer.cc @@ -85,6 +85,7 @@ void HTMLRenderer::LineBuffer::flush(void) << "\"" << " class=\"l t" << tm_id << " h" << renderer->install_height(max_ascent) + << "\" data-asc=\"" << max_ascent << "\">"; auto cur_state_iter = states.begin(); diff --git a/src/HTMLRenderer/text.cc b/src/HTMLRenderer/text.cc index d47a25d..b4cf367 100644 --- a/src/HTMLRenderer/text.cc +++ b/src/HTMLRenderer/text.cc @@ -359,9 +359,11 @@ void HTMLRenderer::embed_font(const string & filepath, GfxFont * font, FontInfo { // read metrics - int em = ff_get_em_size(); +// int em = ff_get_em_size(); int ascent = ff_get_max_ascent(); int descent = ff_get_max_descent(); + int em = ascent + descent; + if(em != 0) { info.ascent = ((double)ascent) / em; diff --git a/src/ff.c b/src/ff.c index c45a0c1..9d45897 100644 --- a/src/ff.c +++ b/src/ff.c @@ -229,14 +229,14 @@ int ff_get_max_descent(void) void ff_set_ascent(int a) { cur_fv->sf->pfminfo.os2_winascent = a; -// cur_fv->sf->pfminfo.os2_typoascent = a; + cur_fv->sf->pfminfo.os2_typoascent = a; cur_fv->sf->pfminfo.hhead_ascent = a; } void ff_set_descent(int d) { cur_fv->sf->pfminfo.os2_windescent = d; -// cur_fv->sf->pfminfo.os2_typodescent = -d; + cur_fv->sf->pfminfo.os2_typodescent = -d; cur_fv->sf->pfminfo.hhead_descent = -d; }