diff --git a/src/HTMLTextLine.cc b/src/HTMLTextLine.cc index dc358d4..49e64f8 100644 --- a/src/HTMLTextLine.cc +++ b/src/HTMLTextLine.cc @@ -247,7 +247,11 @@ void HTMLTextLine::dump_text(ostream & out) if(!(state_iter1->hash_umask & State::umask_by_id(State::WORD_SPACE_ID))) { double space_off = state_iter1->single_space_offset(); - if(std::abs(target - space_off) <= param.h_eps) + if((std::abs(target - space_off) <= param.h_eps) + // Chrome/webkit don't apply CSS word-spacing to leading spaces, so we don't + // convert leading offsets to spaces. See also issue #412 and chromium issue #404444. + // TODO after browsers having this bug have vanished, just remove the line below. + && ((state_iter1->word_space == 0) || (cur_offset_iter->start_idx != 0))) { Unicode u = ' '; writeUnicodes(out, &u, 1);