Create the glyph mapping correctly for composite Type1, i.e. CIDFontType0, fonts (issue 11740)
This updates `Type1Font.getGlyphMapping` with a code-path "borrowed" from `CFFFont.getGlyphMapping`.
This commit is contained in:
parent
6a8c591301
commit
938d519192
@ -3635,6 +3635,22 @@ var Type1Font = (function Type1FontClosure() {
|
||||
|
||||
getGlyphMapping: function Type1Font_getGlyphMapping(properties) {
|
||||
var charstrings = this.charstrings;
|
||||
|
||||
if (properties.composite) {
|
||||
const charCodeToGlyphId = Object.create(null);
|
||||
// Map CIDs directly to GIDs.
|
||||
for (
|
||||
let glyphId = 0, charstringsLen = charstrings.length;
|
||||
glyphId < charstringsLen;
|
||||
glyphId++
|
||||
) {
|
||||
const charCode = properties.cMap.charCodeOf(glyphId);
|
||||
// Add 1 because glyph 0 is duplicated.
|
||||
charCodeToGlyphId[charCode] = glyphId + 1;
|
||||
}
|
||||
return charCodeToGlyphId;
|
||||
}
|
||||
|
||||
var glyphNames = [".notdef"],
|
||||
glyphId;
|
||||
for (glyphId = 0; glyphId < charstrings.length; glyphId++) {
|
||||
|
1
test/pdfs/.gitignore
vendored
1
test/pdfs/.gitignore
vendored
@ -206,6 +206,7 @@
|
||||
!bug1011159.pdf
|
||||
!issue5734.pdf
|
||||
!issue4875.pdf
|
||||
!issue11740_reduced.pdf
|
||||
!issue4881.pdf
|
||||
!issue5994.pdf
|
||||
!issue6151.pdf
|
||||
|
BIN
test/pdfs/issue11740_reduced.pdf
Normal file
BIN
test/pdfs/issue11740_reduced.pdf
Normal file
Binary file not shown.
@ -904,6 +904,12 @@
|
||||
"link": false,
|
||||
"type": "eq"
|
||||
},
|
||||
{ "id": "issue11740",
|
||||
"file": "pdfs/issue11740_reduced.pdf",
|
||||
"md5": "f3f2957f171af52229c6e749e8a5572b",
|
||||
"rounds": 1,
|
||||
"type": "eq"
|
||||
},
|
||||
{ "id": "issue10491",
|
||||
"file": "pdfs/issue10491.pdf",
|
||||
"md5": "0759ec46739b13bb0b66170a18d33d4f",
|
||||
|
Loading…
Reference in New Issue
Block a user