int [] subCharMap = new int[end-start];
for (int i=0; i<subCharMap.length; i++) {
subCharMap[i] = charMap[i+start-begin];
}
TextSpanLayout layout = getTextLayoutFactory().
createTextLayout(runaci, subCharMap,
offset, fontRenderContext);
TextRun run = new TextRun(layout, runaci, isChunkStart);
textRuns.add(run);
Point2D layoutAdvance = layout.getAdvance2D();
if (isChunkStart)
location = layout.getOffset();
// System.out.println("layoutAdv: " + layoutAdvance);
advance = new Point2D.Float(
(float) (advance.getX()+layoutAdvance.getX()),
(float) (advance.getY()+layoutAdvance.getY()));
++endChunk;
prevTextPath = textPath;
prevTextPathAdvance = layout.getTextPathAdvance();
if (aci.setIndex(end) == CharacterIterator.DONE) break;
isChunkStart = false;
} while (true);
// System.out.println("Adv: " + advance);
return new TextChunk(beginChunk, endChunk, location, advance);