public float GetWidth(int startIdx, int lastIdx)
{
char c = (char)0;
PdfChunk ck = null;
float width = 0;
for (; startIdx <= lastIdx; ++startIdx) {
bool surrogate = Utilities.IsSurrogatePair(text, startIdx);
if (surrogate) {
width += detailChunks[startIdx].GetCharWidth(Utilities.ConvertToUtf32(text, startIdx));
++startIdx;
}
else {
c = text[startIdx];
ck = detailChunks[startIdx];
if (PdfChunk.NoPrint(ck.GetUnicodeEquivalent(c)))
continue;
width += detailChunks[startIdx].GetCharWidth(c);
}
}
return width;
}