CMapParser.java (pdfbox-2.0.23-src) | : | CMapParser.java (pdfbox-2.0.24-src) | ||
---|---|---|---|---|
skipping to change at line 143 | skipping to change at line 143 | |||
// end of CMap reached, stop reading as there isn't any inte resting info anymore | // end of CMap reached, stop reading as there isn't any inte resting info anymore | |||
break; | break; | |||
} | } | |||
if (previousToken != null) | if (previousToken != null) | |||
{ | { | |||
if (op.op.equals("usecmap") && previousToken instanceof Lite ralName) | if (op.op.equals("usecmap") && previousToken instanceof Lite ralName) | |||
{ | { | |||
parseUsecmap((LiteralName) previousToken, result); | parseUsecmap((LiteralName) previousToken, result); | |||
} | } | |||
else if (op.op.equals("begincodespacerange") && previousToke n instanceof Number) | else if (previousToken instanceof Number) | |||
{ | { | |||
parseBegincodespacerange((Number) previousToken, cmapStr | if (op.op.equals("begincodespacerange")) | |||
eam, result); | { | |||
} | parseBegincodespacerange((Number) previousToken, cma | |||
else if (op.op.equals("beginbfchar") && previousToken instan | pStream, result); | |||
ceof Number) | } | |||
{ | else if (op.op.equals("beginbfchar")) | |||
parseBeginbfchar((Number) previousToken, cmapStream, res | { | |||
ult); | parseBeginbfchar((Number) previousToken, cmapStream, | |||
} | result); | |||
else if (op.op.equals("beginbfrange") && previousToken insta | } | |||
nceof Number) | else if (op.op.equals("beginbfrange")) | |||
{ | { | |||
parseBeginbfrange((Number) previousToken, cmapStream, re | parseBeginbfrange((Number) previousToken, cmapStream | |||
sult); | , result); | |||
} | } | |||
else if (op.op.equals("begincidchar") && previousToken insta | else if (op.op.equals("begincidchar")) | |||
nceof Number) | { | |||
{ | parseBegincidchar((Number) previousToken, cmapStream | |||
parseBegincidchar((Number) previousToken, cmapStream, re | , result); | |||
sult); | } | |||
} | else if (op.op.equals("begincidrange") && previousToken | |||
else if (op.op.equals("begincidrange") && previousToken inst | instanceof Integer) | |||
anceof Integer) | { | |||
{ | parseBegincidrange((Integer) previousToken, cmapStre | |||
parseBegincidrange((Integer) previousToken, cmapStream, | am, result); | |||
result); | } | |||
} | } | |||
} | } | |||
} | } | |||
else if (token instanceof LiteralName) | else if (token instanceof LiteralName) | |||
{ | { | |||
parseLiteralName((LiteralName) token, cmapStream, result); | parseLiteralName((LiteralName) token, cmapStream, result); | |||
} | } | |||
previousToken = token; | previousToken = token; | |||
} | } | |||
return result; | return result; | |||
skipping to change at line 473 | skipping to change at line 476 | |||
/** | /** | |||
* Returns an input stream containing the given "use" CMap. | * Returns an input stream containing the given "use" CMap. | |||
* | * | |||
* @param name Name of the given "use" CMap resource. | * @param name Name of the given "use" CMap resource. | |||
* @throws IOException if the CMap resource doesn't exist or if there is an error opening its | * @throws IOException if the CMap resource doesn't exist or if there is an error opening its | |||
* stream. | * stream. | |||
*/ | */ | |||
protected InputStream getExternalCMap(String name) throws IOException | protected InputStream getExternalCMap(String name) throws IOException | |||
{ | { | |||
return new BufferedInputStream(getClass().getResourceAsStream(name)); | InputStream resourceAsStream = getClass().getResourceAsStream(name); | |||
if (resourceAsStream == null) | ||||
{ | ||||
throw new IOException("Error: Could not find referenced cmap stream | ||||
" + name); | ||||
} | ||||
return new BufferedInputStream(resourceAsStream); | ||||
} | } | |||
private Object parseNextToken(PushbackInputStream is) throws IOException | private Object parseNextToken(PushbackInputStream is) throws IOException | |||
{ | { | |||
Object retval = null; | Object retval = null; | |||
int nextByte = is.read(); | int nextByte = is.read(); | |||
// skip whitespace | // skip whitespace | |||
while (nextByte == 0x09 || nextByte == 0x20 || nextByte == 0x0D || nextB yte == 0x0A) | while (nextByte == 0x09 || nextByte == 0x20 || nextByte == 0x0D || nextB yte == 0x0A) | |||
{ | { | |||
nextByte = is.read(); | nextByte = is.read(); | |||
End of changes. 3 change blocks. | ||||
28 lines changed or deleted | 34 lines changed or added |