Bugfix: Invalid parsing of postscript function

This commit is contained in:
Jakub Melka
2021-02-26 19:21:27 +01:00
parent 8bd2ca6386
commit 5b8b1de2db
3 changed files with 17 additions and 1 deletions

View File

@@ -32,7 +32,8 @@ namespace pdf
PDFLexicalAnalyzer::PDFLexicalAnalyzer(const char* begin, const char* end) :
m_begin(begin),
m_current(begin),
m_end(end)
m_end(end),
m_tokenizingPostScriptFunction(false)
{
}
@@ -454,6 +455,16 @@ PDFLexicalAnalyzer::Token PDFLexicalAnalyzer::fetch()
return Token(TokenType::Command, std::move(command));
}
}
else if (m_tokenizingPostScriptFunction)
{
const char currentChar = lookChar();
if (currentChar == CHAR_LEFT_CURLY_BRACKET || currentChar == CHAR_RIGHT_CURLY_BRACKET)
{
return Token(TokenType::Command, QByteArray(1, fetchChar()));
}
error(tr("Unexpected character '%1' in the stream.").arg(currentChar));
}
else
{
error(tr("Unexpected character '%1' in the stream.").arg(lookChar()));