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;
}