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