if ( info == null )
return null;
//retrieve the glyphvector containing the glyph
//for 'charnum'
GVTGlyphVector it = info.layout.getGlyphVector();
Shape b = null;
if (info.glyphIndexStart == info.glyphIndexEnd) {
if (it.isGlyphVisible(info.glyphIndexStart)) {
b = it.getGlyphCellBounds(info.glyphIndexStart);
}
} else {
GeneralPath path = null;
for (int k = info.glyphIndexStart; k <= info.glyphIndexEnd; k++) {
if (it.isGlyphVisible(k)) {
Rectangle2D gb = it.getGlyphCellBounds(k);
if (path == null) {
path = new GeneralPath(gb);
} else {
path.append(gb, false);
}