From f79c182314f04a77c67f09bfe8b16b0c3f3288fc Mon Sep 17 00:00:00 2001 From: Brendan Dahl Date: Mon, 30 Sep 2013 21:40:28 -0700 Subject: [PATCH] Proper glyph selection for CIDFontType0C fonts. --- src/core/fonts.js | 18 +++++++++++------- test/pdfs/bug921409.pdf | Bin 0 -> 44438 bytes test/test_manifest.json | 7 +++++++ 3 files changed, 18 insertions(+), 7 deletions(-) create mode 100644 test/pdfs/bug921409.pdf diff --git a/src/core/fonts.js b/src/core/fonts.js index 154c3f087..f4f8ef9a4 100644 --- a/src/core/fonts.js +++ b/src/core/fonts.js @@ -5529,18 +5529,22 @@ var CFFFont = (function CFFFontClosure() { var unassignedUnicodeItems = []; var inverseEncoding = []; var gidStart = 0; - // Even though the CFF font may not actually be a CID font is could have - // CID information in the font descriptor. - if (this.properties.cidSystemInfo) { - // According to section 9.7.4.2 if the font is actually a CID font then - // we should use the charset to map CIDs to GIDs. If it is not actually - // a CID font then CIDs can be mapped directly to GIDs. + // According to section 9.7.4.2 CIDFontType0C glyph selection should be + // handled differently. + if (this.properties.subtype === 'CIDFontType0C') { if (this.cff.isCIDFont) { + // If the font is actually a CID font then we should use the charset + // to map CIDs to GIDs. inverseEncoding = charsets; } else { - for (var i = 0, ii = charsets.length; i < charsets.length; i++) { + // If it is NOT actually a CID font then CIDs should be mapped + // directly to GIDs. + inverseEncoding = []; + for (var i = 0, ii = cff.charStrings.count; i < ii; i++) { inverseEncoding.push(i); } + // Use the identity map for charsets as well. + charsets = inverseEncoding; } } else { for (var charcode in encoding) { diff --git a/test/pdfs/bug921409.pdf b/test/pdfs/bug921409.pdf new file mode 100644 index 0000000000000000000000000000000000000000..1e133003124616304a2265326133d70e758093aa GIT binary patch literal 44438 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 w;n1-AWJSpdK;ck#aq*;l