https://bugs.documentfoundation.org/show_bug.cgi?id=99165

Armin Le Grand (CIB) <[email protected]> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|NEW                         |ASSIGNED
                 CC|                            |[email protected]
           Assignee|[email protected] |[email protected]
                   |desktop.org                 |

--- Comment #7 from Armin Le Grand (CIB) <[email protected]> ---
Found the reason. The example curves do not have control vectors in the common
point which represents the 'tip'. This leads to bezier segments that have
either start point and 1st control point equal (none set) or 2nd control point
and last point equal (none set).
These are mathematically valid bezier definitions (and get painted), but MS
Gdiplus fails in handling these to extract the needed vectors for generating
the Miter (and probably bevel) geometry. The tangent calculation(s)
(derivations) in point 0.0 and 1.0 get different (actually simplified). Our own
geometry stack in basegfx knows and handles that (see
B2DCubicBezier::getTangent), thus our internal geometry creation and
decompositions work well.
MS cannot handle that, but there is no alternative call to add such bezier
curves to a GraphicPath. Luckily, it is mathematically not hard to create
replacement vectors/points, unluckily this has to be checked and calculated
(and only for a detectable number of cases, too).
Checking how to do this best...

-- 
You are receiving this mail because:
You are the assignee for the bug.
_______________________________________________
Libreoffice-bugs mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/libreoffice-bugs

Reply via email to