left_map;
const Param * param;
std::ofstream html_fout, css_fout;
diff --git a/src/HTMLRenderer/TextLineBuffer.cc b/src/HTMLRenderer/TextLineBuffer.cc
index a3ecc52..4c17afe 100644
--- a/src/HTMLRenderer/TextLineBuffer.cc
+++ b/src/HTMLRenderer/TextLineBuffer.cc
@@ -84,11 +84,12 @@ void HTMLRenderer::TextLineBuffer::flush(void)
}
ostream & out = renderer->html_fout;
- out << "install_left(x)
<< " h" << renderer->install_height(max_ascent)
<< "\">";
diff --git a/src/HTMLRenderer/export.cc b/src/HTMLRenderer/export.cc
index da6e40c..ef69417 100644
--- a/src/HTMLRenderer/export.cc
+++ b/src/HTMLRenderer/export.cc
@@ -166,5 +166,9 @@ void HTMLRenderer::export_height (long long height_id, double height)
{
css_fout << ".h" << height_id << "{height:" << round(height) << "px;}" << endl;
}
+void HTMLRenderer::export_left (long long left_id, double left)
+{
+ css_fout << ".L" << left_id << "{left:" << round(left) << "px;}" << endl;
+}
}
diff --git a/src/HTMLRenderer/install.cc b/src/HTMLRenderer/install.cc
index b540434..4dac8d2 100644
--- a/src/HTMLRenderer/install.cc
+++ b/src/HTMLRenderer/install.cc
@@ -321,5 +321,18 @@ long long HTMLRenderer::install_height(double height)
export_height(new_height_id, height);
return new_height_id;
}
+long long HTMLRenderer::install_left(double left)
+{
+ auto iter = left_map.lower_bound(left - param->h_eps);
+ if((iter != left_map.end()) && (abs(iter->first - left) < param->h_eps))
+ {
+ return iter->second;
+ }
+
+ long long new_left_id = left_map.size();
+ left_map.insert(make_pair(left, new_left_id));
+ export_left(new_left_id, left);
+ return new_left_id;
+}
} // namespace pdf2htmlEX