tdf#151674 rotate text starting point

Change-Id: Ibcfb4b102a58cad53c1ce5f569721e4557844b4d
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/141673
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
diff --git a/drawinglayer/source/processor2d/vclprocessor2d.cxx b/drawinglayer/source/processor2d/vclprocessor2d.cxx
index cf1ea90..24b71eb 100644
--- a/drawinglayer/source/processor2d/vclprocessor2d.cxx
+++ b/drawinglayer/source/processor2d/vclprocessor2d.cxx
@@ -293,7 +293,6 @@ void VclProcessor2D::RenderTextSimpleOrDecoratedPortionPrimitive2D(
            // set parameters and paint text snippet
            const basegfx::BColor aRGBFontColor(
                maBColorModifierStack.getModifiedColor(rTextCandidate.getFontColor()));
            const Point aStartPoint(aTextTranslate.getX(), aTextTranslate.getY());
            const vcl::text::ComplexTextLayoutFlags nOldLayoutMode(mpOutputDevice->GetLayoutMode());

            if (rTextCandidate.getFontAttribute().getRTL())
@@ -343,7 +342,8 @@ void VclProcessor2D::RenderTextSimpleOrDecoratedPortionPrimitive2D(
                getTransformFromMapMode(mpOutputDevice->GetMapMode()) * maCurrentTransformation);

            basegfx::B2DVector aCurrentScaling, aCurrentTranslate;
            aCombinedTransform.decompose(aCurrentScaling, aCurrentTranslate, fIgnoreRotate,
            double fCurrentRotate;
            aCombinedTransform.decompose(aCurrentScaling, aCurrentTranslate, fCurrentRotate,
                                         fIgnoreShearX);

            const Point aOrigin(basegfx::fround(aCurrentTranslate.getX() / aCurrentScaling.getX()),
@@ -351,6 +351,10 @@ void VclProcessor2D::RenderTextSimpleOrDecoratedPortionPrimitive2D(
            MapMode aMapMode(mpOutputDevice->GetMapMode().GetMapUnit(), aOrigin,
                             Fraction(aCurrentScaling.getX()), Fraction(aCurrentScaling.getY()));

            if (fCurrentRotate)
                aTextTranslate *= basegfx::utils::createRotateB2DHomMatrix(fCurrentRotate);
            const Point aStartPoint(aTextTranslate.getX(), aTextTranslate.getY());

            const bool bChangeMapMode(aMapMode != mpOutputDevice->GetMapMode());
            if (bChangeMapMode)
            {