if (limit > info.length) {
limit = info.length;
}
GeneralPath result = new GeneralPath();
int glyphIndex = 0;
for (int i=start; i<limit; i++) {
glyphIndex = getChar2Glyph()[i];
result.append(getGlyphVector().getGlyphVisualBounds(glyphIndex), false);
}
// Shift to the segment's coordinates
result.transform(AffineTransform.getTranslateInstance(x, y));
return result;
}