https://bugs.winehq.org/show_bug.cgi?id=33190
--- Comment #18 from Ralf Habacker ralf.habacker@freenet.de --- (In reply to Ralf Habacker from comment #17)
Comment on attachment 47159 [details] Fix text rotation problem in GM_ADVANCED mode
Patch has been rejected because it does not fix the issue in a general way. https://www.winehq.org/pipermail/wine-devel/2014-January/102440.html
The patch decomposes the translation and rotation from the transform matrix and supports only the case that the matrix has uniform scale and shear and contains a rotation.
It is currently not clear if there is a common usable decomposition algorithm.
Published algorithms limits the implementation to uniform scaling for example: http://stackoverflow.com/questions/4361242/extract-rotation-scale-values-fro...
".. This only works if x and y are always scaled the same (uniform scaling). ..."
Others depends on a specific order of operations on the original matrix
http://research.cs.wisc.edu/graphics/Courses/838-s2002/Papers/polar-decomp.p...
".. QR Decomposition is a much better choice, though it still presents problems. Only when M is constructed by scaling then rotating will QR recover the original factors ..."
Polar decomposition is mentioned as a possible way t http://research.cs.wisc.edu/graphics/Courses/838-s2002/Papers/polar-decomp.p... with the drawback, that there is no explicit shear extraction.
"... As explained earlier, interaction is to blame; shear will be factored as rotation and stretch. As ... show, the appearance of a factored animation can be quite different from that of a direct animation for shear...."