[CIDFontType2] Map characters missing in toUnicode to the private use area (bug 1028735 and issue 4881)
This commit is contained in:
parent
c5f4051a75
commit
a7c786775d
@ -2473,6 +2473,7 @@ var Font = (function FontClosure() {
|
||||
var toUnicode = properties.toUnicode;
|
||||
var isSymbolic = !!(properties.flags & FontFlags.Symbolic);
|
||||
var isIdentityUnicode = properties.isIdentityUnicode;
|
||||
var isCidFontType2 = (properties.type === 'CIDFontType2');
|
||||
var newMap = Object.create(null);
|
||||
var toFontChar = [];
|
||||
var usedFontCharCodes = [];
|
||||
@ -2483,12 +2484,18 @@ var Font = (function FontClosure() {
|
||||
var fontCharCode = originalCharCode;
|
||||
// First try to map the value to a unicode position if a non identity map
|
||||
// was created.
|
||||
if (!isIdentityUnicode && toUnicode[originalCharCode] !== undefined) {
|
||||
if (!isIdentityUnicode) {
|
||||
if (toUnicode[originalCharCode] !== undefined) {
|
||||
var unicode = toUnicode[fontCharCode];
|
||||
// TODO: Try to map ligatures to the correct spot.
|
||||
if (unicode.length === 1) {
|
||||
fontCharCode = unicode.charCodeAt(0);
|
||||
}
|
||||
} else if (isCidFontType2) {
|
||||
// For CIDFontType2, move characters not present in toUnicode
|
||||
// to the private use area (fixes bug 1028735 and issue 4881).
|
||||
fontCharCode = nextAvailableFontCharCode;
|
||||
}
|
||||
}
|
||||
// Try to move control characters, special characters and already mapped
|
||||
// characters to the private use area since they will not be drawn by
|
||||
|
1
test/pdfs/.gitignore
vendored
1
test/pdfs/.gitignore
vendored
@ -56,6 +56,7 @@
|
||||
!bug903856.pdf
|
||||
!bug850854.pdf
|
||||
!bug866395.pdf
|
||||
!bug1028735.pdf
|
||||
!basicapi.pdf
|
||||
!mixedfonts.pdf
|
||||
!shading_extend.pdf
|
||||
|
BIN
test/pdfs/bug1028735.pdf
Normal file
BIN
test/pdfs/bug1028735.pdf
Normal file
Binary file not shown.
@ -176,6 +176,15 @@
|
||||
"rounds": 1,
|
||||
"type": "eq"
|
||||
},
|
||||
{ "id": "bug1028735",
|
||||
"file": "pdfs/bug1028735.pdf",
|
||||
"md5": "5d1a2a87d176ff3b24e66af3cb2365be",
|
||||
"rounds": 1,
|
||||
"link": false,
|
||||
"firstPage": 1,
|
||||
"lastPage": 1,
|
||||
"type": "eq"
|
||||
},
|
||||
{ "id": "issue1512",
|
||||
"file": "pdfs/issue1512.pdf",
|
||||
"md5": "41a19fe03d522346ee3baa732403fca4",
|
||||
|
Loading…
Reference in New Issue
Block a user