PDFBOX-4549: assume Identity-H when ToUnicode stream has no entries and ToUnicode Ordering and Encoding have Identity-H
git-svn-id: https://svn.apache.org/repos/asf/pdfbox/trunk@1859444 13f79535-47bb-0310-9956-ffa450edef68
diff --git a/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/font/PDFont.java b/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/font/PDFont.java
index 85600d0..5136541 100644
--- a/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/font/PDFont.java
+++ b/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/font/PDFont.java
@@ -138,6 +138,12 @@
if (cmap != null && !cmap.hasUnicodeMappings())
{
LOG.warn("Invalid ToUnicode CMap in font " + getName());
+ if (COSName.IDENTITY_H.equals(dict.getDictionaryObject(COSName.ENCODING)) &&
+ COSName.IDENTITY_H.getName().equals(cmap.getOrdering()))
+ {
+ // assume that if encoding is identity, then the reverse is also true
+ cmap = CMapManager.getPredefinedCMap(COSName.IDENTITY_H.getName());
+ }
}
}
catch (IOException ex)