private IntHashtable ReadWidths(PdfArray ws)
{
IntHashtable hh = new IntHashtable();
if (ws == null)
return hh;
for (int k = 0; k < ws.Size; ++k) {
int c1 = ((PdfNumber)PdfReader.GetPdfObjectRelease(ws[k])).IntValue;
PdfObject obj = PdfReader.GetPdfObjectRelease(ws[++k]);
if (obj.IsArray()) {
PdfArray a2 = (PdfArray)obj;
for (int j = 0; j < a2.Size; ++j) {
int c2 = ((PdfNumber)PdfReader.GetPdfObjectRelease(a2[j])).IntValue;
hh[c1++] = c2;
}
}
else {
int c2 = ((PdfNumber)obj).IntValue;
int w = ((PdfNumber)PdfReader.GetPdfObjectRelease(ws[++k])).IntValue;
for (; c1 <= c2; ++c1)
hh[c1] = w;
}
}
return hh;
}