From b1cf4d98ad98cb80e1ce793cd384516a2f8a0c1c Mon Sep 17 00:00:00 2001 From: Jonas Jenwald Date: Fri, 14 Aug 2015 15:49:39 +0200 Subject: [PATCH] Avoid more allocations for RTL text in bidi.js Instead of building the resulting string char-by-char for RTL text, which is inefficient, we can just as well `join` the `chars` array. --- src/core/bidi.js | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/src/core/bidi.js b/src/core/bidi.js index 511c5c14f..331dee9b1 100644 --- a/src/core/bidi.js +++ b/src/core/bidi.js @@ -412,14 +412,13 @@ var bidi = PDFJS.bidi = (function bidiClosure() { // don't mirror as characters are already mirrored in the pdf // Finally, return string - var result = ''; for (i = 0, ii = chars.length; i < ii; ++i) { var ch = chars[i]; - if (ch !== '<' && ch !== '>') { - result += ch; + if (ch === '<' || ch === '>') { + chars[i] = ''; } } - return createBidiText(result, isLTR); + return createBidiText(chars.join(''), isLTR); } return bidi;