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)