]> git.parisson.com Git - pdf.js.git/commitdiff
Fix the font inspector.
authorBrendan Dahl <brendan.dahl@gmail.com>
Wed, 15 Feb 2012 22:38:18 +0000 (14:38 -0800)
committerBrendan Dahl <brendan.dahl@gmail.com>
Wed, 15 Feb 2012 22:38:18 +0000 (14:38 -0800)
src/debugger.js
web/viewer.js

index 3741eb0f08f6f73d23f224f0c6ea1e7f61ba13a4..d647e74894e543c21575f9e800343bac406e8517 100644 (file)
@@ -7,31 +7,26 @@ var FontInspector = (function FontInspectorClosure() {
   var fonts;
   var panelWidth = 300;
   var active = false;
+  var fontAttribute = 'data-font-name';
   function removeSelection() {
-    var divs = document.getElementsByTagName('div');
+    var divs = document.querySelectorAll('div[' + fontAttribute + ']');
     for (var i = 0; i < divs.length; ++i) {
-      var div = divs[i], style = div.getAttribute('style');
-      if (!style || style.indexOf('pdfFont') < 0) continue;
-      var m = /(pdfFont\d+)/.exec(style);
-      div.dataset.fontName = '';
+      var div = divs[i];
       div.className = '';
     }
   }
   function resetSelection() {
-    var divs = document.getElementsByTagName('div');
+    var divs = document.querySelectorAll('div[' + fontAttribute + ']');
     for (var i = 0; i < divs.length; ++i) {
-      var div = divs[i], style = div.getAttribute('style');
-      if (!style || style.indexOf('pdfFont') < 0) continue;
-      var m = /(pdfFont\d+)/.exec(style);
-      div.dataset.fontName = m[1];
+      var div = divs[i];
       div.className = 'debuggerHideText';
     }
   }
   function selectFont(fontName, show) {
-    var divs = document.getElementsByTagName('div');
+    var divs = document.querySelectorAll('div[' + fontAttribute + '=' +
+                                         fontName + ']');
     for (var i = 0; i < divs.length; ++i) {
-      var div = divs[i], style = div.getAttribute('style');
-      if (div.dataset.fontName != fontName) continue;
+      var div = divs[i];
       div.className = show ? 'debuggerShowText' : 'debuggerHideText';
     }
   }
@@ -75,7 +70,7 @@ var FontInspector = (function FontInspectorClosure() {
         document.body.addEventListener('click', textLayerClick, true);
         resetSelection();
       } else {
-        document.body.removeEventListener('click', textLayerClick);
+        document.body.removeEventListener('click', textLayerClick, true);
         removeSelection();
       }
     },
index 5381f69c1d89918ac541364f0c768f82184ff1d9..602979e2e32c9d6b094c939a05d25cf21cf15915 100644 (file)
@@ -1085,6 +1085,7 @@ var TextLayerBuilder = function textLayerBuilder(textLayerDiv) {
     // vScale and hScale already contain the scaling to pixel units
     var fontHeight = fontSize * text.geom.vScale;
     textDiv.dataset.canvasWidth = text.canvasWidth * text.geom.hScale;
+    textDiv.dataset.fontName = fontName;
 
     textDiv.style.fontSize = fontHeight + 'px';
     textDiv.style.left = text.geom.x + 'px';