mirror of
https://github.com/mozilla/pdf.js.git
synced 2025-04-25 09:38:06 +02:00
Merge pull request #5172 from nnethercote/readCharCode-retval
Avoid an allocation in readCharCode().
This commit is contained in:
commit
c3691500fa
3 changed files with 21 additions and 16 deletions
|
@ -281,7 +281,7 @@ var CMap = (function CMapClosure() {
|
|||
return this._map;
|
||||
},
|
||||
|
||||
readCharCode: function(str, offset) {
|
||||
readCharCode: function(str, offset, out) {
|
||||
var c = 0;
|
||||
var codespaceRanges = this.codespaceRanges;
|
||||
var codespaceRangesLen = this.codespaceRanges.length;
|
||||
|
@ -295,12 +295,14 @@ var CMap = (function CMapClosure() {
|
|||
var low = codespaceRange[k++];
|
||||
var high = codespaceRange[k++];
|
||||
if (c >= low && c <= high) {
|
||||
return [c, n + 1];
|
||||
out.charcode = c;
|
||||
out.length = n + 1;
|
||||
return;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return [0, 1];
|
||||
out.charcode = 0;
|
||||
out.length = 1;
|
||||
}
|
||||
};
|
||||
return CMap;
|
||||
|
|
|
@ -4574,10 +4574,11 @@ var Font = (function FontClosure() {
|
|||
if (this.cMap) {
|
||||
// composite fonts have multi-byte strings convert the string from
|
||||
// single-byte to multi-byte
|
||||
var c = {};
|
||||
while (i < chars.length) {
|
||||
var c = this.cMap.readCharCode(chars, i);
|
||||
charcode = c[0];
|
||||
var length = c[1];
|
||||
this.cMap.readCharCode(chars, i, c);
|
||||
charcode = c.charcode;
|
||||
var length = c.length;
|
||||
i += length;
|
||||
glyph = this.charToGlyph(charcode);
|
||||
glyphs.push(glyph);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue