Avoid more allocations in bidi().
This commit is contained in:
parent
2e93a0cc98
commit
3759c11f42
@ -140,9 +140,11 @@ var bidi = PDFJS.bidi = (function bidiClosure() {
|
||||
}
|
||||
}
|
||||
|
||||
function BidiResult(str, isLTR, vertical) {
|
||||
this.str = str;
|
||||
this.dir = (vertical ? 'ttb' : (isLTR ? 'ltr' : 'rtl'));
|
||||
function createBidiText(str, isLTR, vertical) {
|
||||
return {
|
||||
str: str,
|
||||
dir: (vertical ? 'ttb' : (isLTR ? 'ltr' : 'rtl'))
|
||||
};
|
||||
}
|
||||
|
||||
// These are used in bidi(), which is called frequently. We re-use them on
|
||||
@ -154,7 +156,7 @@ var bidi = PDFJS.bidi = (function bidiClosure() {
|
||||
var isLTR = true;
|
||||
var strLength = str.length;
|
||||
if (strLength === 0 || vertical) {
|
||||
return new BidiResult(str, isLTR, vertical);
|
||||
return createBidiText(str, isLTR, vertical);
|
||||
}
|
||||
|
||||
// Get types and fill arrays
|
||||
@ -188,7 +190,7 @@ var bidi = PDFJS.bidi = (function bidiClosure() {
|
||||
// - If more than 30% chars are rtl then string is primarily rtl
|
||||
if (numBidi === 0) {
|
||||
isLTR = true;
|
||||
return new BidiResult(str, isLTR);
|
||||
return createBidiText(str, isLTR);
|
||||
}
|
||||
|
||||
if (startLevel == -1) {
|
||||
@ -453,7 +455,7 @@ var bidi = PDFJS.bidi = (function bidiClosure() {
|
||||
result += ch;
|
||||
}
|
||||
}
|
||||
return new BidiResult(result, isLTR);
|
||||
return createBidiText(result, isLTR);
|
||||
}
|
||||
|
||||
return bidi;
|
||||
|
@ -812,11 +812,7 @@ var PartialEvaluator = (function PartialEvaluatorClosure() {
|
||||
|
||||
if (chunkBuf.length > 0) {
|
||||
var chunk = chunkBuf.join('');
|
||||
var bidiResult = PDFJS.bidi(chunk, -1, font.vertical);
|
||||
var bidiText = {
|
||||
str: bidiResult.str,
|
||||
dir: bidiResult.dir
|
||||
};
|
||||
var bidiText = PDFJS.bidi(chunk, -1, font.vertical);
|
||||
var renderParams = textState.calcRenderParams(preprocessor.ctm);
|
||||
var fontHeight = textState.fontSize * renderParams.vScale;
|
||||
var fontAscent = font.ascent ? font.ascent * fontHeight :
|
||||
|
Loading…
x
Reference in New Issue
Block a user