Created attachment 154013 [details]
TextBoxRotation.pptx demonstrates the error
Open attached document. It contains an arrow with text at the left and a screenshot from PowerPoint365 on the right. The text is rotated with 20 degree by the attribute "rot" of the bodyPr element. The blue dashed rectangle illustrates the unrotated text area, the green rectangle the rotated text area.
Error: The text is sheared.
The rotation angle is put into TextPreRotateAngle. That results in a matrix-multiplication order scale-matrix * rotation-matrix in ViewContactOfSdrObjCustomShape::createViewIndependentPrimitive2DSequence().
The decompose algorithm in B2DHomMatrix::decompose uses the column-vectors to detect shear. With this multiplication order the column-vectors are not orthogonal, and thus results in a shear angle.
If the rotation angle is put into TextRotateAngle, then the matrix-multiplication order is rotation-matrix * scale-matrix. Then the column-vectors are orthogonal and shear angle is zero.
*** Bug 127439 has been marked as a duplicate of this bug. ***
Created attachment 154695 [details]
AnalyseError.odt contains the mathematical reason of the error
Created attachment 160657 [details]
Comparison MSO 2010 and LibreOffice 7.0 master