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 2010/09/18 16:14:43 UTC
svn commit: r998473 -
/pdfbox/trunk/fontbox/src/main/java/org/apache/fontbox/cmap/CMapParser.java
Author: lehmi
Date: Sat Sep 18 14:14:43 2010
New Revision: 998473
URL: http://svn.apache.org/viewvc?rev=998473&view=rev
Log:
PDFBOX-704: increased type safety to avoid class cast exceptions
Modified:
pdfbox/trunk/fontbox/src/main/java/org/apache/fontbox/cmap/CMapParser.java
Modified: pdfbox/trunk/fontbox/src/main/java/org/apache/fontbox/cmap/CMapParser.java
URL: http://svn.apache.org/viewvc/pdfbox/trunk/fontbox/src/main/java/org/apache/fontbox/cmap/CMapParser.java?rev=998473&r1=998472&r2=998473&view=diff
==============================================================================
--- pdfbox/trunk/fontbox/src/main/java/org/apache/fontbox/cmap/CMapParser.java (original)
+++ pdfbox/trunk/fontbox/src/main/java/org/apache/fontbox/cmap/CMapParser.java Sat Sep 18 14:14:43 2010
@@ -246,38 +246,59 @@ public class CMapParser
LiteralName literal = (LiteralName)token;
if (WMODE.equals(literal.name))
{
- int wmode = (Integer)parseNextToken(cmapStream);
- result.setWMode(wmode);
+ Object next = parseNextToken(cmapStream);
+ if (next instanceof Integer)
+ {
+ result.setWMode((Integer)next);
+ }
}
else if (CMAP_NAME.equals(literal.name))
{
- LiteralName name = (LiteralName)parseNextToken(cmapStream);
- result.setName(name.name);
+ Object next = parseNextToken(cmapStream);
+ if (next instanceof LiteralName)
+ {
+ result.setName(((LiteralName)next).name);
+ }
}
else if (CMAP_VERSION.equals(literal.name))
{
- String version = ((Double)parseNextToken(cmapStream)).toString();
- result.setVersion(version);
+ Object next = parseNextToken(cmapStream);
+ if (next instanceof String)
+ {
+ result.setVersion((String)next);
+ }
}
else if (CMAP_TYPE.equals(literal.name))
{
- int type = (Integer)parseNextToken(cmapStream);
- result.setType(type);
+ Object next = parseNextToken(cmapStream);
+ if (next instanceof Integer)
+ {
+ result.setType((Integer)next);
+ }
}
else if (REGISTRY.equals(literal.name))
{
- String registry = (String)parseNextToken(cmapStream);
- result.setRegistry(registry);
+ Object next = parseNextToken(cmapStream);
+ if (next instanceof String)
+ {
+ result.setRegistry((String)next);
+ }
}
else if (ORDERING.equals(literal.name))
{
- String ordering = (String)parseNextToken(cmapStream);
- result.setOrdering(ordering);
+ Object next = parseNextToken(cmapStream);
+ if (next instanceof String)
+ {
+ result.setOrdering((String)next);
+ }
}
else if (SUPPLEMENT.equals(literal.name))
{
- int supplement = (Integer)parseNextToken(cmapStream);
- result.setSupplement(supplement);
+ Object next = parseNextToken(cmapStream);
+ if (next instanceof Integer)
+ {
+ result.setSupplement((Integer)next);
+ }
}
}
previousToken = token;