You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@pdfbox.apache.org by ti...@apache.org on 2024/11/27 14:59:59 UTC

svn commit: r1922165 - /pdfbox/branches/3.0/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/font/PDFont.java

Author: tilman
Date: Wed Nov 27 14:59:58 2024
New Revision: 1922165

URL: http://svn.apache.org/viewvc?rev=1922165&view=rev
Log:
PDFBOX-5384: use workaround from PDF.js

Modified:
    pdfbox/branches/3.0/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/font/PDFont.java

Modified: pdfbox/branches/3.0/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/font/PDFont.java
URL: http://svn.apache.org/viewvc/pdfbox/branches/3.0/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/font/PDFont.java?rev=1922165&r1=1922164&r2=1922165&view=diff
==============================================================================
--- pdfbox/branches/3.0/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/font/PDFont.java (original)
+++ pdfbox/branches/3.0/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/font/PDFont.java Wed Nov 27 14:59:58 2024
@@ -144,7 +144,13 @@ public abstract class PDFont implements
             cmap = readCMap(toUnicode);
             if (cmap != null && !cmap.hasUnicodeMappings())
             {
-                LOG.warn("Invalid ToUnicode CMap in font " + getName());
+                String name = getName();
+                LOG.warn("Invalid ToUnicode CMap in font " + name);
+                if (name != null && (name.startsWith("Tahoma") || name.startsWith("Verdana")))
+                {
+                    // PDFBOX-5384: workaround inspired by PDF.js 15719 and 11242
+                    return null;
+                }
                 String cmapName = cmap.getName() != null ? cmap.getName() : "";
                 String ordering = cmap.getOrdering() != null ? cmap.getOrdering() : "";
                 COSName encoding = dict.getCOSName(COSName.ENCODING);