Properly support custom CSS properties
Fix comment in bidi
This commit is contained in:
parent
2bc708305d
commit
6902ba51fa
@ -359,7 +359,7 @@ function bidi(text, startLevel) {
|
|||||||
directionality of that character is R.
|
directionality of that character is R.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
//dont mirror as this is already in the pdf
|
//dont mirror as characters are already mirrored in the pdf
|
||||||
|
|
||||||
// Finally, return string
|
// Finally, return string
|
||||||
|
|
||||||
|
51
src/util.js
51
src/util.js
@ -118,6 +118,57 @@ var Util = (function UtilClosure() {
|
|||||||
return Util;
|
return Util;
|
||||||
})();
|
})();
|
||||||
|
|
||||||
|
// optimised CSS custom property getter/setter
|
||||||
|
var CustomStyle = (function CustomStyleClosure() {
|
||||||
|
|
||||||
|
// As noted on: http://www.zachstronaut.com/posts/2009/02/17/
|
||||||
|
// animate-css-transforms-firefox-webkit.html
|
||||||
|
// in some versions of IE9 it is critical that ms appear in this list
|
||||||
|
// before Moz
|
||||||
|
var prefixes = ['ms', 'Moz', 'Webkit', 'O'];
|
||||||
|
var _cache = { };
|
||||||
|
|
||||||
|
function CustomStyle() {
|
||||||
|
}
|
||||||
|
|
||||||
|
CustomStyle.getProp = function get(propName, element) {
|
||||||
|
// check cache only when no element is given
|
||||||
|
if (arguments.length == 1 && typeof _cache[propName] == 'string') {
|
||||||
|
return _cache[propName];
|
||||||
|
}
|
||||||
|
|
||||||
|
element = element || document.documentElement;
|
||||||
|
var style = element.style, prefixed, uPropName;
|
||||||
|
|
||||||
|
// test standard property first
|
||||||
|
if (typeof style[propName] == 'string') {
|
||||||
|
return (_cache[propName] = propName);
|
||||||
|
}
|
||||||
|
|
||||||
|
// capitalize
|
||||||
|
uPropName = propName.charAt(0).toUpperCase() + propName.slice(1);
|
||||||
|
|
||||||
|
// test vendor specific properties
|
||||||
|
for (var i = 0, l = prefixes.length; i < l; i++) {
|
||||||
|
prefixed = prefixes[i] + uPropName;
|
||||||
|
if (typeof style[prefixed] == 'string') {
|
||||||
|
return (_cache[propName] = prefixed);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
//if all fails then set to undefined
|
||||||
|
return (_cache[propName] = 'undefined');
|
||||||
|
}
|
||||||
|
|
||||||
|
CustomStyle.setProp = function set(propName, element, str) {
|
||||||
|
var prop = this.getProp(propName);
|
||||||
|
if (prop != 'undefined')
|
||||||
|
element.style[prop] = str;
|
||||||
|
}
|
||||||
|
|
||||||
|
return CustomStyle;
|
||||||
|
})();
|
||||||
|
|
||||||
var PDFStringTranslateTable = [
|
var PDFStringTranslateTable = [
|
||||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||||
0x2D8, 0x2C7, 0x2C6, 0x2D9, 0x2DD, 0x2DB, 0x2DA, 0x2DC, 0, 0, 0, 0, 0, 0, 0,
|
0x2D8, 0x2C7, 0x2C6, 0x2D9, 0x2DD, 0x2DB, 0x2DA, 0x2DC, 0, 0, 0, 0, 0, 0, 0,
|
||||||
|
@ -1044,8 +1044,10 @@ var TextLayerBuilder = function textLayerBuilder(textLayerDiv) {
|
|||||||
// Adjust div width to match canvas text
|
// Adjust div width to match canvas text
|
||||||
// Due to the .offsetWidth calls, this is slow
|
// Due to the .offsetWidth calls, this is slow
|
||||||
// This needs to come after appending to the DOM
|
// This needs to come after appending to the DOM
|
||||||
textDiv.style.MozTransform = 'scale(' + textDiv.dataset.canvasWidth/textDiv.offsetWidth + ',1)';
|
CustomStyle.setProp('transform' , textDiv, 'scale('
|
||||||
textDiv.style.MozTransformOrigin = '0% 0%';
|
+ textDiv.dataset.canvasWidth/textDiv.offsetWidth
|
||||||
|
+ ',1)');
|
||||||
|
CustomStyle.setProp('transformOrigin' , textDiv, '0% 0%');
|
||||||
}
|
}
|
||||||
} // textLength > 0
|
} // textLength > 0
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user