https://issues.apache.org/ooo/show_bug.cgi?id=121382
--- Comment #4 from Armin Le Grand <[email protected]> --- ALG: I am not sure, but I would take the metric (the length) directly. Normally this is done by sqrt(x*x + y*y), but in this case only 90 or 270 deg can be used. I would use something like: for( i = 0, nSum = 0; i < nLen; i++ ) { // #121382# text may be rotated 90 or 270 degrees, so aMappedSize.Width may be zero // and aMappedSize.Height has to be used const Size aMappedSize(ImplMap(Size(pDXArry[i], 0))); const sal_Int32 nSize(std::max(aMappedSize.Width(), aMappedSize.Height())); nSum += nSize; pDXArry[ i ] = nSum; } You wrote that .eM11 and .eM22 are *both* close to zero, in tat case it would not work. I guess that .eM11 and .eM22 are the scalers of a homogen matrix, so when rotated not both should be zero. Just my 2 cents... -- You are receiving this mail because: You are on the CC list for the bug. You are the assignee for the bug.
