handle malformed cmap base character listings

This commit is contained in:
Eliot Jones
2019-12-19 15:27:12 +00:00
parent c30cd1b96d
commit 528df5c396

View File

@@ -13,6 +13,13 @@
{ {
if (!tokenScanner.MoveNext() || !(tokenScanner.CurrentToken is HexToken inputCode)) if (!tokenScanner.MoveNext() || !(tokenScanner.CurrentToken is HexToken inputCode))
{ {
if (tokenScanner.CurrentToken is OperatorToken op
&& (string.Equals(op.Data, "endbfchar", StringComparison.OrdinalIgnoreCase)
|| string.Equals(op.Data, "endcmap", StringComparison.OrdinalIgnoreCase)))
{
return;
}
throw new InvalidOperationException($"Base font characters definition contains invalid item at index {i}: {tokenScanner.CurrentToken}"); throw new InvalidOperationException($"Base font characters definition contains invalid item at index {i}: {tokenScanner.CurrentToken}");
} }