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';
}
}
document.body.addEventListener('click', textLayerClick, true);
resetSelection();
} else {
- document.body.removeEventListener('click', textLayerClick);
+ document.body.removeEventListener('click', textLayerClick, true);
removeSelection();
}
},
// 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';