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) 
                     {


Reply via email to