@SuppressWarnings("deprecation")
public void gdipDrawNormalChars(Graphics2D g, Font fnt, char str[],
int len, float x, float y) {
long graphicsInfo = ((WinGDIPGraphics2D)g).getGraphicsInfo();
WindowsFont wf = (WindowsFont)(fnt.getPeer());
long font = wf.getFontHandle();
char[] chars = new char[len];
double positions[] = new double[len*2];
double matrix[] = new double[6];
AffineTransform at = new AffineTransform(fnt.getTransform());
at.getMatrix(matrix);
at.preConcatenate(AffineTransform.getTranslateInstance(x, y));
float xPos = 0;
float yPos = 0;
int count = 0;
for (int i=0; i < len; i++){
char c = str[i];
Glyph gl = wf.getGlyph(c);
// We compare advances because width
// of a char can be 0 (e.g. "Space" char)
float advance = gl.getGlyphPointMetrics().getAdvance();
if ( advance != 0){