|
@@ -28,8 +28,8 @@ factory((root.pdfjsDistBuildPdfCombined = {}));
|
|
|
// Use strict in our context only - users might not want it
|
|
|
'use strict';
|
|
|
|
|
|
-var pdfjsVersion = '1.4.181';
|
|
|
-var pdfjsBuild = '13d440d';
|
|
|
+var pdfjsVersion = '1.4.183';
|
|
|
+var pdfjsBuild = 'ff3ce97';
|
|
|
|
|
|
var pdfjsFilePath =
|
|
|
typeof document !== 'undefined' && document.currentScript ?
|
|
@@ -25122,7 +25122,7 @@ var FontRendererFactory = (function FontRendererFactoryClosure() {
|
|
|
}
|
|
|
|
|
|
function lookupCmap(ranges, unicode) {
|
|
|
- var code = unicode.charCodeAt(0);
|
|
|
+ var code = unicode.charCodeAt(0), gid = 0;
|
|
|
var l = 0, r = ranges.length - 1;
|
|
|
while (l < r) {
|
|
|
var c = (l + r + 1) >> 1;
|
|
@@ -25133,10 +25133,13 @@ var FontRendererFactory = (function FontRendererFactoryClosure() {
|
|
|
}
|
|
|
}
|
|
|
if (ranges[l].start <= code && code <= ranges[l].end) {
|
|
|
- return (ranges[l].idDelta + (ranges[l].ids ?
|
|
|
- ranges[l].ids[code - ranges[l].start] : code)) & 0xFFFF;
|
|
|
+ gid = (ranges[l].idDelta + (ranges[l].ids ?
|
|
|
+ ranges[l].ids[code - ranges[l].start] : code)) & 0xFFFF;
|
|
|
}
|
|
|
- return 0;
|
|
|
+ return {
|
|
|
+ charCode: code,
|
|
|
+ glyphId: gid,
|
|
|
+ };
|
|
|
}
|
|
|
|
|
|
function compileGlyf(code, cmds, font) {
|
|
@@ -25436,14 +25439,14 @@ var FontRendererFactory = (function FontRendererFactoryClosure() {
|
|
|
x = stack.pop();
|
|
|
cmds.push({cmd: 'save'});
|
|
|
cmds.push({cmd: 'translate', args: [x, y]});
|
|
|
- var gid = lookupCmap(font.cmap, String.fromCharCode(
|
|
|
+ var cmap = lookupCmap(font.cmap, String.fromCharCode(
|
|
|
font.glyphNameMap[StandardEncoding[achar]]));
|
|
|
- compileCharString(font.glyphs[gid], cmds, font);
|
|
|
+ compileCharString(font.glyphs[cmap.glyphId], cmds, font);
|
|
|
cmds.push({cmd: 'restore'});
|
|
|
|
|
|
- gid = lookupCmap(font.cmap, String.fromCharCode(
|
|
|
+ cmap = lookupCmap(font.cmap, String.fromCharCode(
|
|
|
font.glyphNameMap[StandardEncoding[bchar]]));
|
|
|
- compileCharString(font.glyphs[gid], cmds, font);
|
|
|
+ compileCharString(font.glyphs[cmap.glyphId], cmds, font);
|
|
|
}
|
|
|
return;
|
|
|
case 18: // hstemhm
|
|
@@ -25595,14 +25598,19 @@ var FontRendererFactory = (function FontRendererFactoryClosure() {
|
|
|
|
|
|
function CompiledFont(fontMatrix) {
|
|
|
this.compiledGlyphs = Object.create(null);
|
|
|
+ this.compiledCharCodeToGlyphId = Object.create(null);
|
|
|
this.fontMatrix = fontMatrix;
|
|
|
}
|
|
|
CompiledFont.prototype = {
|
|
|
getPathJs: function (unicode) {
|
|
|
- var gid = lookupCmap(this.cmap, unicode);
|
|
|
- var fn = this.compiledGlyphs[gid];
|
|
|
+ var cmap = lookupCmap(this.cmap, unicode);
|
|
|
+ var fn = this.compiledGlyphs[cmap.glyphId];
|
|
|
if (!fn) {
|
|
|
- this.compiledGlyphs[gid] = fn = this.compileGlyph(this.glyphs[gid]);
|
|
|
+ fn = this.compileGlyph(this.glyphs[cmap.glyphId]);
|
|
|
+ this.compiledGlyphs[cmap.glyphId] = fn;
|
|
|
+ }
|
|
|
+ if (this.compiledCharCodeToGlyphId[cmap.charCode] === undefined) {
|
|
|
+ this.compiledCharCodeToGlyphId[cmap.charCode] = cmap.glyphId;
|
|
|
}
|
|
|
return fn;
|
|
|
},
|
|
@@ -25629,8 +25637,9 @@ var FontRendererFactory = (function FontRendererFactoryClosure() {
|
|
|
},
|
|
|
|
|
|
hasBuiltPath: function (unicode) {
|
|
|
- var gid = lookupCmap(this.cmap, unicode);
|
|
|
- return gid in this.compiledGlyphs;
|
|
|
+ var cmap = lookupCmap(this.cmap, unicode);
|
|
|
+ return (this.compiledGlyphs[cmap.glyphId] !== undefined &&
|
|
|
+ this.compiledCharCodeToGlyphId[cmap.charCode] !== undefined);
|
|
|
}
|
|
|
};
|
|
|
|
|
@@ -25640,8 +25649,6 @@ var FontRendererFactory = (function FontRendererFactoryClosure() {
|
|
|
|
|
|
this.glyphs = glyphs;
|
|
|
this.cmap = cmap;
|
|
|
-
|
|
|
- this.compiledGlyphs = [];
|
|
|
}
|
|
|
|
|
|
Util.inherit(TrueTypeCompiled, CompiledFont, {
|
|
@@ -25653,13 +25660,13 @@ var FontRendererFactory = (function FontRendererFactoryClosure() {
|
|
|
function Type2Compiled(cffInfo, cmap, fontMatrix, glyphNameMap) {
|
|
|
fontMatrix = fontMatrix || [0.001, 0, 0, 0.001, 0, 0];
|
|
|
CompiledFont.call(this, fontMatrix);
|
|
|
+
|
|
|
this.glyphs = cffInfo.glyphs;
|
|
|
this.gsubrs = cffInfo.gsubrs || [];
|
|
|
this.subrs = cffInfo.subrs || [];
|
|
|
this.cmap = cmap;
|
|
|
this.glyphNameMap = glyphNameMap || getGlyphsUnicode();
|
|
|
|
|
|
- this.compiledGlyphs = [];
|
|
|
this.gsubrsBias = (this.gsubrs.length < 1240 ?
|
|
|
107 : (this.gsubrs.length < 33900 ? 1131 : 32768));
|
|
|
this.subrsBias = (this.subrs.length < 1240 ?
|