handle indirect references appearing in cid font widths array #174

This commit is contained in:
Eliot Jones
2020-05-10 15:46:38 +01:00
parent f91acefcfa
commit 0512bb1e4f

View File

@@ -166,7 +166,7 @@
var counter = 0; var counter = 0;
while (counter < size) while (counter < size)
{ {
var firstCode = (NumericToken)widthArray.Data[counter++]; var firstCode = DirectObjectFinder.Get<NumericToken>(widthArray.Data[counter++], pdfScanner);
var next = widthArray.Data[counter++]; var next = widthArray.Data[counter++];
if (DirectObjectFinder.TryGet(next, pdfScanner, out ArrayToken array)) if (DirectObjectFinder.TryGet(next, pdfScanner, out ArrayToken array))
{ {
@@ -175,14 +175,14 @@
for (var i = 0; i < arraySize; i++) for (var i = 0; i < arraySize; i++)
{ {
var width = (NumericToken)array.Data[i]; var width = DirectObjectFinder.Get<NumericToken>(array.Data[i], pdfScanner);
widths[startRange + i] = width.Double; widths[startRange + i] = width.Double;
} }
} }
else else
{ {
var secondCode = (NumericToken)next; var secondCode = DirectObjectFinder.Get<NumericToken>(next, pdfScanner);
var rangeWidth = (NumericToken)widthArray.Data[counter++]; var rangeWidth = DirectObjectFinder.Get<NumericToken>(widthArray.Data[counter++], pdfScanner);
var startRange = firstCode.Int; var startRange = firstCode.Int;
var endRange = secondCode.Int; var endRange = secondCode.Int;
var width = rangeWidth.Double; var width = rangeWidth.Double;