Author: lehmi
Date: Sun Feb 3 16:03:58 2013
New Revision: 1441928
URL: http://svn.apache.org/viewvc?rev=1441928&view=rev
Log:
PDFBOX-1501: added workaround for endChar command having more than 1 number as
proposed by Rahee Ghurbhurn
Modified:
pdfbox/trunk/fontbox/src/main/java/org/apache/fontbox/cff/CharStringRenderer.java
Modified:
pdfbox/trunk/fontbox/src/main/java/org/apache/fontbox/cff/CharStringRenderer.java
URL:
http://svn.apache.org/viewvc/pdfbox/trunk/fontbox/src/main/java/org/apache/fontbox/cff/CharStringRenderer.java?rev=1441928&r1=1441927&r2=1441928&view=diff
==============================================================================
---
pdfbox/trunk/fontbox/src/main/java/org/apache/fontbox/cff/CharStringRenderer.java
(original)
+++
pdfbox/trunk/fontbox/src/main/java/org/apache/fontbox/cff/CharStringRenderer.java
Sun Feb 3 16:03:58 2013
@@ -21,6 +21,9 @@ import java.awt.geom.Point2D;
import java.awt.geom.Rectangle2D;
import java.util.List;
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+
/**
* This class represents a renderer for a charstring.
* @author Villu Ruusmann
@@ -29,7 +32,9 @@ import java.util.List;
public class CharStringRenderer extends CharStringHandler
{
// TODO CharStringRenderer as abstract Class with two inherited classes
according to the Charsstring type....
- private boolean isCharstringType1 = true;
+ private static final Log LOG =
LogFactory.getLog(CharStringRenderer.class);
+
+ private boolean isCharstringType1 = true;
private boolean isFirstCommand = true;
private GeneralPath path = null;
@@ -264,12 +269,15 @@ public class CharStringRenderer extends
{
closePath();
}
- if (numbers.size() == 1 )
+ if (numbers.size() % 2 == 1 )
{
setWidth(numbers.get(0));
+ if (numbers.size() > 1)
+ {
+ LOG.debug("endChar: too many numbers left, using the
first one, see PDFBOX-1501 for details");
+ }
}
}
-
if (isFirstCommand)
{
isFirstCommand = false;