Merge pull request #4353 from nnethercote/more-Array-joins

Use Array.join() to build up strings in more places.
This commit is contained in:
Yury Delendik 2014-03-02 23:26:22 -06:00
commit ba95e0b07b
3 changed files with 27 additions and 22 deletions

View File

@ -291,11 +291,13 @@ var PDFDocument = (function PDFDocumentClosure() {
function find(stream, needle, limit, backwards) {
var pos = stream.pos;
var end = stream.end;
var str = '';
var strBuf = [];
if (pos + limit > end)
limit = end - pos;
for (var n = 0; n < limit; ++n)
str += String.fromCharCode(stream.getByte());
for (var n = 0; n < limit; ++n) {
strBuf.push(String.fromCharCode(stream.getByte()));
}
var str = strBuf.join('');
stream.pos = pos;
var index = backwards ? str.lastIndexOf(needle) : str.indexOf(needle);
if (index == -1)

View File

@ -2382,11 +2382,11 @@ var Font = (function FontClosure() {
}
function arrayToString(arr) {
var str = '';
for (var i = 0, ii = arr.length; i < ii; ++i)
str += String.fromCharCode(arr[i]);
return str;
var strBuf = [];
for (var i = 0, ii = arr.length; i < ii; ++i) {
strBuf.push(String.fromCharCode(arr[i]));
}
return strBuf.join('');
}
function int16(bytes) {
@ -2801,10 +2801,11 @@ var Font = (function FontClosure() {
for (var i = 0, ii = strings.length; i < ii; i++) {
var str = proto[1][i] || strings[i];
var strUnicode = '';
for (var j = 0, jj = str.length; j < jj; j++)
strUnicode += string16(str.charCodeAt(j));
stringsUnicode.push(strUnicode);
var strBufUnicode = [];
for (var j = 0, jj = str.length; j < jj; j++) {
strBufUnicode.push(string16(str.charCodeAt(j)));
}
stringsUnicode.push(strBufUnicode.join(''));
}
var names = [strings, stringsUnicode];

View File

@ -386,11 +386,12 @@ var XRefParseException = (function XRefParseExceptionClosure() {
function bytesToString(bytes) {
var str = '';
var strBuf = [];
var length = bytes.length;
for (var n = 0; n < length; ++n)
str += String.fromCharCode(bytes[n]);
return str;
for (var n = 0; n < length; ++n) {
strBuf.push(String.fromCharCode(bytes[n]));
}
return strBuf.join('');
}
function stringToBytes(str) {
@ -715,19 +716,20 @@ var PDFStringTranslateTable = [
];
function stringToPDFString(str) {
var i, n = str.length, str2 = '';
var i, n = str.length, strBuf = [];
if (str[0] === '\xFE' && str[1] === '\xFF') {
// UTF16BE BOM
for (i = 2; i < n; i += 2)
str2 += String.fromCharCode(
(str.charCodeAt(i) << 8) | str.charCodeAt(i + 1));
for (i = 2; i < n; i += 2) {
strBuf.push(String.fromCharCode(
(str.charCodeAt(i) << 8) | str.charCodeAt(i + 1)));
}
} else {
for (i = 0; i < n; ++i) {
var code = PDFStringTranslateTable[str.charCodeAt(i)];
str2 += code ? String.fromCharCode(code) : str.charAt(i);
strBuf.push(code ? String.fromCharCode(code) : str.charAt(i));
}
}
return str2;
return strBuf.join('');
}
function stringToUTF8String(str) {