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 2020/06/11 04:44:44 UTC
svn commit: r1878736 -
/pdfbox/trunk/fontbox/src/main/java/org/apache/fontbox/cmap/CMapParser.java
Author: tilman
Date: Thu Jun 11 04:44:44 2020
New Revision: 1878736
URL: http://svn.apache.org/viewvc?rev=1878736&view=rev
Log:
PDFBOX-4872: avoid ClassCastException
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=1878736&r1=1878735&r2=1878736&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 Thu Jun 11 04:44:44 2020
@@ -105,28 +105,29 @@ public class CMapParser
if (previousToken != null)
{
- switch (op.op)
+ if (op.op.equals("usecmap") && previousToken instanceof LiteralName)
{
- case "usecmap":
- parseUsecmap((LiteralName) previousToken, result);
- break;
- case "begincodespacerange":
- parseBegincodespacerange((Number) previousToken, cmapStream, result);
- break;
- case "beginbfchar":
- parseBeginbfchar((Number) previousToken, cmapStream, result);
- break;
- case "beginbfrange":
- parseBeginbfrange((Number) previousToken, cmapStream, result);
- break;
- case "begincidchar":
- parseBegincidchar((Number) previousToken, cmapStream, result);
- break;
- case "begincidrange":
- parseBegincidrange((Integer) previousToken, cmapStream, result);
- break;
- default:
- break;
+ parseUsecmap((LiteralName) previousToken, result);
+ }
+ else if (op.op.equals("begincodespacerange") && previousToken instanceof Number)
+ {
+ parseBegincodespacerange((Number) previousToken, cmapStream, result);
+ }
+ else if (op.op.equals("beginbfchar") && previousToken instanceof Number)
+ {
+ parseBeginbfchar((Number) previousToken, cmapStream, result);
+ }
+ else if (op.op.equals("beginbfrange") && previousToken instanceof Number)
+ {
+ parseBeginbfrange((Number) previousToken, cmapStream, result);
+ }
+ else if (op.op.equals("begincidchar") && previousToken instanceof Number)
+ {
+ parseBegincidchar((Number) previousToken, cmapStream, result);
+ }
+ else if (op.op.equals("begincidrange") && previousToken instanceof Integer)
+ {
+ parseBegincidrange((Integer) previousToken, cmapStream, result);
}
}
}