[Bug 33190] Font display problem text and dc rotation using GM_ADVANCED graphics mode

wine-bugs at winehq.org wine-bugs at winehq.org
Mon Nov 24 06:17:09 CST 2014


https://bugs.winehq.org/show_bug.cgi?id=33190

--- Comment #18 from Ralf Habacker <ralf.habacker at 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-from-2d-transformation-matrix?rq=1

".. 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.pdf

".. 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.pdf
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...."

-- 
Do not reply to this email, post in Bugzilla using the
above URL to reply.
You are receiving this mail because:
You are watching all bug changes.



More information about the wine-bugs mailing list