question: private void calcCoordinates ( final float x , final float [ ] [ ] Trm , float charSpacing ) { final float [ ] [ ] trm = new float [ 3 ] [ 3 ] ; for ( int xx = 0 ; xx < 3 ; xx ++ ) { System . arraycopy ( Trm [ xx ] , 0 , trm [ xx ] , 0 , 3 ) ; } x1 = x ; x2 = trm [ 2 ] [ 0 ] - ( charSpacing * trm [ 0 ] [ 0 ] ) ; if ( glyphData . isHorizontal ( ) ) { if ( trm [ 1 ] [ 0 ] < 0 ) { x1 = x + trm [ 1 ] [ 0 ] - ( charSpacing * trm [ 0 ] [ 0 ] ) ; x2 = trm [ 2 ] [ 0 ] ; } else if ( trm [ 1 ] [ 0 ] > 0 ) { x1 = x ; x2 = trm [ 2 ] [ 0 ] ; } } else if ( trm [ 1 ] [ 0 ] > 0 ) { x1 = trm [ 2 ] [ 0 ] ; x2 = x + trm [ 1 ] [ 0 ] - ( charSpacing * trm [ 0 ] [ 0 ] ) ; } else if ( trm [ 1 ] [ 0 ] < 0 ) { x2 = trm [ 2 ] [ 0 ] ; x1 = x + trm [ 1 ] [ 0 ] - ( charSpacing * trm [ 0 ] [ 0 ] ) ; } }
target:  Calculate the x coords for text here y coords are calculated in the method processTextArray(final byte[] stream,int startCommand,int dataPointer)