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 2014/07/09 21:28:01 UTC
svn commit: r1609275 -
/pdfbox/branches/1.8/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/common/COSArrayList.java
Author: tilman
Date: Wed Jul 9 19:28:00 2014
New Revision: 1609275
URL: http://svn.apache.org/r1609275
Log:
PDFBOX-2198: resolve indirect reference in font widths
Modified:
pdfbox/branches/1.8/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/common/COSArrayList.java
Modified: pdfbox/branches/1.8/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/common/COSArrayList.java
URL: http://svn.apache.org/viewvc/pdfbox/branches/1.8/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/common/COSArrayList.java?rev=1609275&r1=1609274&r2=1609275&view=diff
==============================================================================
--- pdfbox/branches/1.8/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/common/COSArrayList.java (original)
+++ pdfbox/branches/1.8/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/common/COSArrayList.java Wed Jul 9 19:28:00 2014
@@ -31,6 +31,7 @@ import java.util.Collection;
import java.util.Iterator;
import java.util.List;
import java.util.ListIterator;
+import org.apache.pdfbox.cos.COSObject;
/**
* This is an implementation of a List that will sync its contents to a COSArray.
@@ -287,17 +288,26 @@ public class COSArrayList<E> implements
*
* @return The list of Float objects.
*/
- public static List<Float> convertFloatCOSArrayToList( COSArray floatArray )
+ public static List<Float> convertFloatCOSArrayToList(COSArray floatArray)
{
List<Float> retval = null;
- if( floatArray != null )
+ if (floatArray != null)
{
List<Float> numbers = new ArrayList<Float>();
- for( int i=0; i<floatArray.size(); i++ )
+ for (int i = 0; i < floatArray.size(); i++)
{
- numbers.add( new Float( ((COSNumber)floatArray.get( i )).floatValue() ) );
+ COSNumber num;
+ if (floatArray.get(i) instanceof COSObject)
+ {
+ num = (COSNumber) ((COSObject) floatArray.get(i)).getObject();
+ }
+ else
+ {
+ num = (COSNumber) floatArray.get(i);
+ }
+ numbers.add(num.floatValue());
}
- retval = new COSArrayList<Float>( numbers, floatArray );
+ retval = new COSArrayList<Float>(numbers, floatArray);
}
return retval;
}