From b1cf4d98ad98cb80e1ce793cd384516a2f8a0c1c Mon Sep 17 00:00:00 2001
From: Jonas Jenwald <jonas.jenwald@gmail.com>
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;