From fe4aca9faf29df2edce7f52009cba82e3619ae36 Mon Sep 17 00:00:00 2001 From: Lu Wang Date: Fri, 3 May 2013 15:19:09 +0800 Subject: [PATCH] reinitialize vertical_align in check_state --- src/HTMLRenderer/font.cc | 6 ++++++ src/HTMLRenderer/state.cc | 5 +++++ src/HTMLTextLine.cc | 2 -- 3 files changed, 11 insertions(+), 2 deletions(-) diff --git a/src/HTMLRenderer/font.cc b/src/HTMLRenderer/font.cc index e40f893..11aa060 100644 --- a/src/HTMLRenderer/font.cc +++ b/src/HTMLRenderer/font.cc @@ -203,6 +203,12 @@ void HTMLRenderer::embed_font(const string & filepath, GfxFont * font, FontInfo const char * used_map = nullptr; info.em_size = ffw_get_em_size(); + + if(param.debug) + { + cerr << "Em size: " << info.em_size << endl; + } + info.space_width = 0; if(!font->isCIDFont()) diff --git a/src/HTMLRenderer/state.cc b/src/HTMLRenderer/state.cc index 9fe888a..c3ccbe2 100644 --- a/src/HTMLRenderer/state.cc +++ b/src/HTMLRenderer/state.cc @@ -369,6 +369,11 @@ void HTMLRenderer::check_state_change(GfxState * state) new_line_state = max(new_line_state, NLS_NEWLINE); } } + else + { + // no vertical shift if no need to check position + cur_text_state.vertical_align = 0; + } // letter space // depends: draw_text_scale diff --git a/src/HTMLTextLine.cc b/src/HTMLTextLine.cc index c9b9536..598b95f 100644 --- a/src/HTMLTextLine.cc +++ b/src/HTMLTextLine.cc @@ -121,8 +121,6 @@ void HTMLTextLine::dump_text(ostream & out) { while(stack.back() != *iter) { - state_iter1->vertical_align += stack.back()->vertical_align; - stack.back()->end(out); stack.pop_back(); }