Index: src/scratchpad/src/org/apache/poi/hslf/model/TextPainter.java =================================================================== --- src/scratchpad/src/org/apache/poi/hslf/model/TextPainter.java (revision 1415116) +++ src/scratchpad/src/org/apache/poi/hslf/model/TextPainter.java (working copy) @@ -120,6 +120,30 @@ break; } + //flip vertical + if(_shape.getFlipVertical()){ + graphics.translate(anchor.getX(), anchor.getY() + anchor.getHeight()); + graphics.scale(1, -1); + graphics.translate(-anchor.getX(), -anchor.getY()); + } + //flip horizontal + if(_shape.getFlipHorizontal()){ + graphics.translate(anchor.getX() + anchor.getWidth(), anchor.getY()); + graphics.scale(-1, 1); + graphics.translate(-anchor.getX() , -anchor.getY()); + } + //rotate transform + double angle = _shape.getRotation(); + + if(angle != 0){ + double centerX = anchor.getX() + anchor.getWidth()/2; + double centerY = anchor.getY() + anchor.getHeight()/2; + + graphics.translate(centerX, centerY); + graphics.rotate(Math.toRadians(angle)); + graphics.translate(-centerX, -centerY); + } + //finally draw the text fragments for (int i = 0; i < elem.length; i++) { y0 += elem[i].ascent;