|
|
@ -28,8 +28,8 @@ factory((root.pdfjsDistBuildPdfCombined = {})); |
|
|
|
// Use strict in our context only - users might not want it
|
|
|
|
// Use strict in our context only - users might not want it
|
|
|
|
'use strict'; |
|
|
|
'use strict'; |
|
|
|
|
|
|
|
|
|
|
|
var pdfjsVersion = '1.5.285'; |
|
|
|
var pdfjsVersion = '1.5.287'; |
|
|
|
var pdfjsBuild = 'bd47440'; |
|
|
|
var pdfjsBuild = 'c4db4dd'; |
|
|
|
|
|
|
|
|
|
|
|
var pdfjsFilePath = |
|
|
|
var pdfjsFilePath = |
|
|
|
typeof document !== 'undefined' && document.currentScript ? |
|
|
|
typeof document !== 'undefined' && document.currentScript ? |
|
|
@ -5235,8 +5235,8 @@ var CFFParser = (function CFFParserClosure() { |
|
|
|
var start = pos; |
|
|
|
var start = pos; |
|
|
|
var bytes = this.bytes; |
|
|
|
var bytes = this.bytes; |
|
|
|
var format = bytes[pos++]; |
|
|
|
var format = bytes[pos++]; |
|
|
|
var fdSelect = []; |
|
|
|
var fdSelect = [], rawBytes; |
|
|
|
var i; |
|
|
|
var i, invalidFirstGID = false; |
|
|
|
|
|
|
|
|
|
|
|
switch (format) { |
|
|
|
switch (format) { |
|
|
|
case 0: |
|
|
|
case 0: |
|
|
@ -5244,11 +5244,18 @@ var CFFParser = (function CFFParserClosure() { |
|
|
|
var id = bytes[pos++]; |
|
|
|
var id = bytes[pos++]; |
|
|
|
fdSelect.push(id); |
|
|
|
fdSelect.push(id); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
rawBytes = bytes.subarray(start, pos); |
|
|
|
break; |
|
|
|
break; |
|
|
|
case 3: |
|
|
|
case 3: |
|
|
|
var rangesCount = (bytes[pos++] << 8) | bytes[pos++]; |
|
|
|
var rangesCount = (bytes[pos++] << 8) | bytes[pos++]; |
|
|
|
for (i = 0; i < rangesCount; ++i) { |
|
|
|
for (i = 0; i < rangesCount; ++i) { |
|
|
|
var first = (bytes[pos++] << 8) | bytes[pos++]; |
|
|
|
var first = (bytes[pos++] << 8) | bytes[pos++]; |
|
|
|
|
|
|
|
if (i === 0 && first !== 0) { |
|
|
|
|
|
|
|
warn('parseFDSelect: The first range must have a first GID of 0' + |
|
|
|
|
|
|
|
' -- trying to recover.'); |
|
|
|
|
|
|
|
invalidFirstGID = true; |
|
|
|
|
|
|
|
first = 0; |
|
|
|
|
|
|
|
} |
|
|
|
var fdIndex = bytes[pos++]; |
|
|
|
var fdIndex = bytes[pos++]; |
|
|
|
var next = (bytes[pos] << 8) | bytes[pos + 1]; |
|
|
|
var next = (bytes[pos] << 8) | bytes[pos + 1]; |
|
|
|
for (var j = first; j < next; ++j) { |
|
|
|
for (var j = first; j < next; ++j) { |
|
|
@ -5257,13 +5264,19 @@ var CFFParser = (function CFFParserClosure() { |
|
|
|
} |
|
|
|
} |
|
|
|
// Advance past the sentinel(next).
|
|
|
|
// Advance past the sentinel(next).
|
|
|
|
pos += 2; |
|
|
|
pos += 2; |
|
|
|
|
|
|
|
rawBytes = bytes.subarray(start, pos); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if (invalidFirstGID) { |
|
|
|
|
|
|
|
rawBytes[3] = rawBytes[4] = 0; // Adjust the first range, first GID.
|
|
|
|
|
|
|
|
} |
|
|
|
break; |
|
|
|
break; |
|
|
|
default: |
|
|
|
default: |
|
|
|
error('Unknown fdselect format ' + format); |
|
|
|
error('parseFDSelect: Unknown format "' + format + '".'); |
|
|
|
break; |
|
|
|
break; |
|
|
|
} |
|
|
|
} |
|
|
|
var end = pos; |
|
|
|
assert(fdSelect.length === length, 'parseFDSelect: Invalid font data.'); |
|
|
|
return new CFFFDSelect(fdSelect, bytes.subarray(start, end)); |
|
|
|
|
|
|
|
|
|
|
|
return new CFFFDSelect(fdSelect, rawBytes); |
|
|
|
} |
|
|
|
} |
|
|
|
}; |
|
|
|
}; |
|
|
|
return CFFParser; |
|
|
|
return CFFParser; |
|
|
|