From b3ad6e2c7651b96e9028550e3df1db0321e5911e Mon Sep 17 00:00:00 2001 From: Brendan Dahl Date: Fri, 21 Aug 2020 15:25:07 -0700 Subject: [PATCH] Fix handling of symbolic fonts and unicode cmaps. In issue 12120, the font has a 1,0 cmap and is marked symbolic which according to the spec means we should directly use the cmap instead of the extra steps that are defined in 9.6.6.4. However, just fixing that caused bug 1057544 to break. The font in bug 1057544 has a 0,1 cmap (Unicode 1.1) which we were not using, but is easy to support. We're also easily able to support some of the other unicode cmaps, so I added those as well. --- src/core/fonts.js | 29 ++++++++++++++--------------- test/pdfs/.gitignore | 2 ++ test/pdfs/bug1057544.pdf | Bin 0 -> 31609 bytes test/pdfs/issue12120_reduced.pdf | Bin 0 -> 21859 bytes test/test_manifest.json | 12 ++++++++++++ 5 files changed, 28 insertions(+), 15 deletions(-) create mode 100644 test/pdfs/bug1057544.pdf create mode 100644 test/pdfs/issue12120_reduced.pdf diff --git a/src/core/fonts.js b/src/core/fonts.js index 355aca39956c48..00bd9d4d69735f 100644 --- a/src/core/fonts.js +++ b/src/core/fonts.js @@ -1610,7 +1610,12 @@ var Font = (function FontClosure() { continue; } - if (platformId === 0 && encodingId === 0) { + if ( + platformId === 0 && + (encodingId === 0 || // Unicode Default + encodingId === 1 || // Unicode 1.1 + encodingId === 3) // Unicode BMP + ) { useTable = true; // Continue the loop since there still may be a higher priority // table. @@ -2793,24 +2798,17 @@ var Font = (function FontClosure() { var cmapMappings = cmapTable.mappings; var cmapMappingsLength = cmapMappings.length; - // The spec seems to imply that if the font is symbolic the encoding - // should be ignored, this doesn't appear to work for 'preistabelle.pdf' - // where the the font is symbolic and it has an encoding. + // If the font has an encoding and is not symbolic then follow the + // rules in section 9.6.6.4 of the spec on how to map 3,1 and 1,0 + // cmaps. If no preferred cmap is found we also fallback to this code + // since it can use differences and the post table to create mappings. if ( (properties.hasEncoding && + !this.isSymbolicFont && ((cmapPlatformId === 3 && cmapEncodingId === 1) || (cmapPlatformId === 1 && cmapEncodingId === 0))) || - (cmapPlatformId === -1 && - cmapEncodingId === -1 && // Temporary hack - !!getEncoding(properties.baseEncodingName)) + (cmapPlatformId === -1 && cmapEncodingId === -1) ) { - // Temporary hack - // When no preferred cmap table was found and |baseEncodingName| is - // one of the predefined encodings, we seem to obtain a better - // |charCodeToGlyphId| map from the code below (fixes bug 1057544). - // TODO: Note that this is a hack which should be removed as soon as - // we have proper support for more exotic cmap tables. - var baseEncoding = []; if ( properties.baseEncodingName === "MacRomanEncoding" || @@ -2834,6 +2832,7 @@ var Font = (function FontClosure() { if (!glyphName) { continue; } + // Ensure that non-standard glyph names are resolved to valid ones. standardGlyphName = recoverGlyphName(glyphName, glyphsUnicodeMap); @@ -2867,7 +2866,7 @@ var Font = (function FontClosure() { } } } - } else if (cmapPlatformId === 0 && cmapEncodingId === 0) { + } else if (cmapPlatformId === 0) { // Default Unicode semantics, use the charcodes as is. for (let i = 0; i < cmapMappingsLength; ++i) { charCodeToGlyphId[cmapMappings[i].charCode] = diff --git a/test/pdfs/.gitignore b/test/pdfs/.gitignore index 3da0e6caba35d9..8b3ad5998351a4 100644 --- a/test/pdfs/.gitignore +++ b/test/pdfs/.gitignore @@ -88,6 +88,7 @@ !issue10665_reduced.pdf !issue11016_reduced.pdf !issue11045.pdf +!bug1057544.pdf !issue11150_reduced.pdf !issue11242_reduced.pdf !issue11279.pdf @@ -192,6 +193,7 @@ !issue4260_reduced.pdf !bug1250079.pdf !bug1473809.pdf +!issue12120_reduced.pdf !pdfjsbad1586.pdf !freeculture.pdf !issue6006.pdf diff --git a/test/pdfs/bug1057544.pdf b/test/pdfs/bug1057544.pdf new file mode 100644 index 0000000000000000000000000000000000000000..4c1611c4cba4935b54788b90f44bd191b5857d65 GIT binary patch literal 31609 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 a=J7Z3G4%f#;utW-FRrn$u=o$M@&5sZSuxiD literal 0 HcmV?d00001 diff --git a/test/pdfs/issue12120_reduced.pdf b/test/pdfs/issue12120_reduced.pdf new file mode 100644 index 0000000000000000000000000000000000000000..7f791793aea0a90713baae7a13d90e96e909199c GIT binary patch literal 21859 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