private float[] internalGetGlyphPositions(int start,int count,int offset,float[] result){
  if (result == null) {
    result=new float[offset + count * 2];
  }
  initPositions();
  for (int i=offset, e=offset + count * 2, p=start * 2; i < e; ++i, ++p) {
    result[i]=positions[p];
  }
  return result;
}

private float [ ] internalGetGlyphPositions ( int start , int count , int offset , float [ ] result ) { if ( result == null ) { result = new float [ offset + count * 2 ] ; } initPositions ( ) ; for ( int i = offset , e = offset + count * 2 , p = start * 2 ; i < e ; ++ i , ++ p ) { result [ i ] = positions [ p ] ; } return result ; }
copy glyph position data into a result array starting at the indicated offset in the array . if the passed - in result array is null , a new array will be allocated and returned . this is an internal method and does no extra argument checking .
