diff --git a/share/pdf2htmlEX.js b/share/pdf2htmlEX.js
index 7335550..7d9d4d7 100644
--- a/share/pdf2htmlEX.js
+++ b/share/pdf2htmlEX.js
@@ -10,168 +10,166 @@
* Copyright 2012 Lu Wang
*/
-var pdf2htmlEX = (function(){
- return {
- pages : [],
- page_boxes : [],
- container : null,
- selective_render_timer : null,
- default_scale_ratio : 1.0,
- cur_scale_ratio : 1.0,
+var pdf2htmlEX = {
+ pages : [],
+ page_boxes : [],
+ container : null,
+ selective_render_timer : null,
+ default_scale_ratio : 1.0,
+ cur_scale_ratio : 1.0,
- /* Constants */
- render_timeout : 200,
- scale_step : 0.9,
+ /* Constants */
+ render_timeout : 200,
+ scale_step : 0.9,
- init_before_loading_content : function() {
- /*hide all pages before loading, will reveal only visible ones later */
- this.pre_hide_pages();
- },
+ init_before_loading_content : function() {
+ /*hide all pages before loading, will reveal only visible ones later */
+ this.pre_hide_pages();
+ },
- init_after_loading_content : function() {
- this.pages = $(".p");
- this.page_boxes = $(".b");
- this.container = $("#pdf-main");
+ init_after_loading_content : function() {
+ this.pages = $(".p");
+ this.page_boxes = $(".b");
+ this.container = $("#pdf-main");
- if(this.pages.length > 0)
- {
- this.default_scale_ratio = this.cur_scale_ratio
- = $(this.pages[0]).height() / $(this.page_boxes[0]).height();
- }
+ if(this.pages.length > 0)
+ {
+ this.default_scale_ratio = this.cur_scale_ratio
+ = $(this.pages[0]).height() / $(this.page_boxes[0]).height();
+ }
- this.selective_render();
+ this.selective_render();
- var _ = this;
- this.container.scroll(function(){ _.schedule_render(); });
- this.zoom_fixer();
- },
+ var _ = this;
+ this.container.scroll(function(){ _.schedule_render(); });
+ this.zoom_fixer();
+ },
- init : function() {
- this.init_before_loading_content();
+ init : function() {
+ this.init_before_loading_content();
- var _ = this;
- $(document).ready(function(){_.init_after_loading_content();});
+ var _ = this;
+ $(document).ready(function(){_.init_after_loading_content();});
- return this;
- },
+ return this;
+ },
- pre_hide_pages : function() {
- /* pages might have not been loaded yet, so add a CSS rule */
- var s = '.b{display:none;}';
- var n = document.createElement("style");
- n.type = "text/css";
- if (n.styleSheet) {
- n.styleSheet.cssText = s;
- } else {
- n.appendChild(document.createTextNode(s));
- }
- document.getElementsByTagName("head")[0].appendChild(n);
- },
+ pre_hide_pages : function() {
+ /* pages might have not been loaded yet, so add a CSS rule */
+ var s = '.b{display:none;}';
+ var n = document.createElement("style");
+ n.type = "text/css";
+ if (n.styleSheet) {
+ n.styleSheet.cssText = s;
+ } else {
+ n.appendChild(document.createTextNode(s));
+ }
+ document.getElementsByTagName("head")[0].appendChild(n);
+ },
- hide_pages : function() {
- for(var i = 0, l = this.page_boxes.length; i < l; ++i)
- {
- $(this.page_boxes[i]).hide();
- }
- },
+ hide_pages : function() {
+ for(var i = 0, l = this.page_boxes.length; i < l; ++i)
+ {
+ $(this.page_boxes[i]).hide();
+ }
+ },
- selective_render : function () {
- /* hide (positional) invisible pages */
- var l = this.pages.length;
- var ch = this.container.height();
-
- var i;
- for(i = 0; i < l; ++i) {
- var cur_page = $(this.pages[i]);
+ selective_render : function () {
+ /* hide (positional) invisible pages */
+ var l = this.pages.length;
+ var ch = this.container.height();
+
+ var i;
+ for(i = 0; i < l; ++i) {
+ var cur_page = $(this.pages[i]);
- if(cur_page.offset().top + cur_page.height() >= 0) break;
- if(i > 0) $(this.page_boxes[i-1]).hide();
- }
+ if(cur_page.offset().top + cur_page.height() >= 0) break;
+ if(i > 0) $(this.page_boxes[i-1]).hide();
+ }
- if((i > 0) && (i < l)) $(this.page_boxes[i-1]).show();
+ if((i > 0) && (i < l)) $(this.page_boxes[i-1]).show();
- for(; i < l; ++i) {
- $(this.page_boxes[i]).show();
+ for(; i < l; ++i) {
+ $(this.page_boxes[i]).show();
- if($(this.pages[i]).offset().top > ch) break;
- }
+ if($(this.pages[i]).offset().top > ch) break;
+ }
- for(++i; i < l; ++i) {
- $(this.page_boxes[i]).hide();
- }
- },
+ for(++i; i < l; ++i) {
+ $(this.page_boxes[i]).hide();
+ }
+ },
- schedule_render : function() {
- if(this.selective_render_timer)
- clearTimeout(this.selective_render_timer);
+ schedule_render : function() {
+ if(this.selective_render_timer)
+ clearTimeout(this.selective_render_timer);
- var _ = this;
- this.selective_render_timer = setTimeout(function () {
- _.selective_render();
- }, this.render_timeout);
- },
+ var _ = this;
+ this.selective_render_timer = setTimeout(function () {
+ _.selective_render();
+ }, this.render_timeout);
+ },
- zoom_fixer : function () {
- /*
- * When user try to zoom in/out using ctrl + +/- or mouse wheel
- * handle this and prevent the default behaviours
- *
- * Code credit to PDF.js
- */
- var _ = this;
- // Firefox specific event, so that we can prevent browser from zooming
- $(window).on('DOMMouseScroll', function(e) {
- if (e.ctrlKey) {
- e.preventDefault();
- _.rescale(Math.pow(_.scale_step, e.detail), true);
- }
- });
-
- $(window).on('keydown', function keydown(e) {
- if (e.ctrlKey || e.metaKey) {
- switch (e.keyCode) {
- case 61: // FF/Mac '='
- case 107: // FF '+' and '='
- case 187: // Chrome '+'
- _.rescale(1.0 / _.scale_step, true);
- break;
- case 173: // FF/Mac '-'
- case 109: // FF '-'
- case 189: // Chrome '-'
- _.rescale(_.scale_step, true);
- break;
- case 48: // '0'
- _.rescale(_.default_scale_ratio, false);
- break;
- default:
- return;
- }
- }
+ zoom_fixer : function () {
+ /*
+ * When user try to zoom in/out using ctrl + +/- or mouse wheel
+ * handle this and prevent the default behaviours
+ *
+ * Code credit to PDF.js
+ */
+ var _ = this;
+ // Firefox specific event, so that we can prevent browser from zooming
+ $(window).on('DOMMouseScroll', function(e) {
+ if (e.ctrlKey) {
e.preventDefault();
- });
- },
-
- rescale : function (ratio, is_relative) {
- console.log('RESCALE');
-
- if(is_relative)
- ratio *= this.cur_scale_ratio;
-
- this.cur_scale_ratio = ratio;
- this.hide_pages();
-
- for(var i = 0, l = this.page_boxes.length; i < l; ++i)
- {
- var p = $(this.pages[i]);
- var pb = $(this.page_boxes[i]);
- p.height(pb.height() * ratio);
- p.width(pb.width() * ratio);
- pb.css('transform', 'scale('+ratio.toFixed(3)+')');
+ _.rescale(Math.pow(_.scale_step, e.detail), true);
}
+ });
- this.schedule_render();
- },
+ $(window).on('keydown', function keydown(e) {
+ if (e.ctrlKey || e.metaKey) {
+ switch (e.keyCode) {
+ case 61: // FF/Mac '='
+ case 107: // FF '+' and '='
+ case 187: // Chrome '+'
+ _.rescale(1.0 / _.scale_step, true);
+ break;
+ case 173: // FF/Mac '-'
+ case 109: // FF '-'
+ case 189: // Chrome '-'
+ _.rescale(_.scale_step, true);
+ break;
+ case 48: // '0'
+ _.rescale(_.default_scale_ratio, false);
+ break;
+ default:
+ return;
+ }
+ }
+ e.preventDefault();
+ });
+ },
- __last_member__ : 'no comma' /*,*/
- }.init();
-})();
+ rescale : function (ratio, is_relative) {
+ console.log('RESCALE');
+
+ if(is_relative)
+ ratio *= this.cur_scale_ratio;
+
+ this.cur_scale_ratio = ratio;
+ this.hide_pages();
+
+ for(var i = 0, l = this.page_boxes.length; i < l; ++i)
+ {
+ var p = $(this.pages[i]);
+ var pb = $(this.page_boxes[i]);
+ p.height(pb.height() * ratio);
+ p.width(pb.width() * ratio);
+ pb.css('transform', 'scale('+ratio.toFixed(3)+')');
+ }
+
+ this.schedule_render();
+ },
+
+ __last_member__ : 'no comma' /*,*/
+}.init();
diff --git a/src/pdf2htmlEX.cc b/src/pdf2htmlEX.cc
index 449482c..a24bdfc 100644
--- a/src/pdf2htmlEX.cc
+++ b/src/pdf2htmlEX.cc
@@ -73,7 +73,7 @@ void parse_options (int argc, char **argv)
.add("heps", ¶m.h_eps, 1.0, "max tolerated horizontal offset (in pixels)")
.add("veps", ¶m.v_eps, 1.0, "max tolerated vertical offset (in pixels)")
.add("space-threshold", ¶m.space_threshold, (1.0/8), "distance no thiner than (threshold * em) will be considered as a space character")
- .add("font-size-multiplier", ¶m.font_size_multiplier, 8.0, "setting a value greater than 1 would increase the rendering accuracy")
+ .add("font-size-multiplier", ¶m.font_size_multiplier, 4.0, "setting a value greater than 1 would increase the rendering accuracy")
.add("auto-hint", ¶m.auto_hint, 0, "[Experimental] Whether to generate hints for fonts")
.add("tounicode", ¶m.tounicode, 0, "Specify how to deal with ToUnicode map, 0 for auto, 1 for forced, -1 for disabled")
.add("space-as-offset", ¶m.space_as_offset, 0, "treat space characters as offsets")