You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@pdfbox.apache.org by le...@apache.org on 2011/03/26 17:18:12 UTC

svn commit: r1085755 - in /pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/font: PDCIDFont.java PDFont.java PDSimpleFont.java

Author: lehmi
Date: Sat Mar 26 16:18:11 2011
New Revision: 1085755

URL: http://svn.apache.org/viewvc?rev=1085755&view=rev
Log:
PDFBOX-940: add embedded cmaps to the cmap-cache

Modified:
    pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/font/PDCIDFont.java
    pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/font/PDFont.java
    pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/font/PDSimpleFont.java

Modified: pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/font/PDCIDFont.java
URL: http://svn.apache.org/viewvc/pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/font/PDCIDFont.java?rev=1085755&r1=1085754&r2=1085755&view=diff
==============================================================================
--- pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/font/PDCIDFont.java (original)
+++ pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/font/PDCIDFont.java Sat Mar 26 16:18:11 2011
@@ -309,6 +309,10 @@ public abstract class PDCIDFont extends 
             {
                 cidSystemInfo = "Identity-H";
             }
+            else if (cidSystemInfo.startsWith("Adobe-UCS-"))
+            {
+                cidSystemInfo = "Adobe-Identity-UCS";
+            }
             else
             {
                 cidSystemInfo = cidSystemInfo.substring(0,cidSystemInfo.lastIndexOf("-"))+"-UCS2";
@@ -318,7 +322,7 @@ public abstract class PDCIDFont extends 
             {
                 String resourceName = resourceRootCMAP + cidSystemInfo;
                 try {
-                    parseCmap( resourceRootCMAP, ResourceLoader.loadResource( resourceName ), null );
+                    parseCmap( resourceRootCMAP, ResourceLoader.loadResource( resourceName ) );
                     if( cmap == null)
                     {
                         log.error("Error: Could not parse predefined CMAP file for '" + cidSystemInfo + "'" );

Modified: pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/font/PDFont.java
URL: http://svn.apache.org/viewvc/pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/font/PDFont.java?rev=1085755&r1=1085754&r2=1085755&view=diff
==============================================================================
--- pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/font/PDFont.java (original)
+++ pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/font/PDFont.java Sat Mar 26 16:18:11 2011
@@ -538,7 +538,7 @@ public abstract class PDFont implements 
         return retval;
     }
 
-    protected void parseCmap( String cmapRoot, InputStream cmapStream, COSName encodingName )
+    protected void parseCmap( String cmapRoot, InputStream cmapStream)
     {
         if( cmapStream != null )
         {
@@ -546,10 +546,7 @@ public abstract class PDFont implements 
             try 
             {
                 cmap = parser.parse( cmapRoot, cmapStream );
-                if( encodingName != null )
-                {
-                    cmapObjects.put( encodingName.getName(), cmap );
-                }
+                cmapObjects.put( cmap.getName(), cmap );
             }
             catch (IOException exception) {}
         }

Modified: pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/font/PDSimpleFont.java
URL: http://svn.apache.org/viewvc/pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/font/PDSimpleFont.java?rev=1085755&r1=1085754&r2=1085755&view=diff
==============================================================================
--- pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/font/PDSimpleFont.java (original)
+++ pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/font/PDSimpleFont.java Sat Mar 26 16:18:11 2011
@@ -377,7 +377,7 @@ public abstract class PDSimpleFont exten
                     COSStream encodingStream = (COSStream)encoding;
                     try 
                     {
-                        parseCmap( null, encodingStream.getUnfilteredStream(), null );
+                        parseCmap( null, encodingStream.getUnfilteredStream() );
                     }
                     catch(IOException exception) 
                     {
@@ -393,7 +393,7 @@ public abstract class PDSimpleFont exten
         {
             String resourceName = resourceRootCMAP + cmapName;
             try {
-                parseCmap( resourceRootCMAP, ResourceLoader.loadResource( resourceName ), encodingName );
+                parseCmap( resourceRootCMAP, ResourceLoader.loadResource( resourceName ) );
                 if( cmap == null && encodingName == null)
                 {
                     log.error("Error: Could not parse predefined CMAP file for '" + cmapName + "'" );
@@ -417,7 +417,7 @@ public abstract class PDSimpleFont exten
             if ( toUnicode instanceof COSStream )
             {
                 try {
-                    parseCmap(null, ((COSStream)toUnicode).getUnfilteredStream(), null);
+                    parseCmap(null, ((COSStream)toUnicode).getUnfilteredStream());
                 }
                 catch(IOException exception) 
                 {
@@ -433,7 +433,7 @@ public abstract class PDSimpleFont exten
                     cmapName = encodingName.getName();
                     String resourceName = resourceRootCMAP + cmapName;
                     try {
-                        parseCmap( resourceRootCMAP, ResourceLoader.loadResource( resourceName ), encodingName );
+                        parseCmap( resourceRootCMAP, ResourceLoader.loadResource( resourceName ));
                     }
                     catch(IOException exception) 
                     {