Link: https://issues.oasis-open.org/browse/OFFICE-4110 ODF 1.4 replaces the attributes draw:handle-polar and draw:handle-position with the new attributes draw:handle-position-x draw:handle-position-y, draw:handle-polar-pole-x, draw:handle-polar-pole-y, draw:handle-polar-radius, and draw:handle-polar-angle. Task is to write these new attributes in addition to the old attributes. The old attributes are deprecated but may be written, so we keep them for backward compatibility. The import from ODF 1.4 must use the new attributes and ignore the old ones. Only ODF import and export is affected.
Created attachment 197060 [details] PolarHandle equal to that produced by LO 7.6. Make sure: save to ODF 1.3 has draw:handle-position and draw:handle-polar attributes. save to ODF 1.3 has none of the four draw:handle-polar-foo attributes. save to ODF 1.3 has neither draw:handle-position-x nor draw:handle-position-y save to ODF 1.4 has all of the four draw:handle-polar-foo attributes. save to ODF 1.4 has draw:handle-position and draw:handle-polar attributes.
Created attachment 197061 [details] New polar attributes used, without old attributes Make sure: save to ODF 1.3 has draw:handle-position and draw:handle-polar attributes. save to ODF 1.3 has none of the four draw:handle-polar-foo attributes. save to ODF 1.3 has neither draw:handle-position-x nor draw:handle-position-y save to ODF 1.4 has all of the four draw:handle-polar-foo attributes. save to ODF 1.4 has draw:handle-position and draw:handle-polar attributes. object has correct UNO values after opening. Those are CustomShapeGeometry -> Handles -> [0] -> Position -> First: Type 2, Value 1 CustomShapeGeometry -> Handles -> [0] -> Position -> Second: Type 2, Value 0 CustomShapeGeometry -> Handles -> [0] -> Polar -> First: Type 0, Value 10800 CustomShapeGeometry -> Handles -> [0] -> Polar -> Second: Type 0, Value 10800
Created attachment 197062 [details] new xy attributes used, without old attributes Make sure: save to ODF 1.3 has draw:handle-position attribute. save to ODF 1.3 has none of the four draw:handle-polar-foo attributes. save to ODF 1.3 has neither draw:handle-position-x nor draw:handle-position-y save to ODF 1.4 has draw:handle-position-x and draw:handle-position-y attributes. save to ODF 1.4 has draw:handle-position attribute. object has correct UNO values after opening. Those are CustomShapeGeometry -> Handles -> [0] -> Position -> First: Type 2, Value 0 CustomShapeGeometry -> Handles -> [0] -> Position -> Second: Type 2, Value 1
Created attachment 197063 [details] XY Handle equal to that produced by LO 7.6 Make sure: save to ODF 1.3 has draw:handle-position attribute. save to ODF 1.3 has none of the four draw:handle-polar-foo attributes. save to ODF 1.3 has neither draw:handle-position-x nor draw:handle-position-y save to ODF 1.4 has draw:handle-position-x and draw:handle-position-y attributes. save to ODF 1.4 has draw:handle-position attribute.
Created attachment 197360 [details] I have extended the solution from Xisco with polar handles I think, xy-handle and polar handles should be implemented at the same time.
Xisco Fauli committed a patch related to this issue. It has been pushed to "master": https://git.libreoffice.org/core/commit/3dcd0f4a4cd62f56e75c5f62df9284dc24882f72 tdf#162691: ODF 1.4 Add support for xy and polar handle new attributes It will be available in 25.2.0. The patch should be included in the daily builds available at https://dev-builds.libreoffice.org/daily/ in the next 24-48 hours. More information about daily builds can be found at: https://wiki.documentfoundation.org/Testing_Daily_Builds Affected users are encouraged to test the fix and report feedback.
Validation against ODF 1.3 is skipped because it is not implemented. Extending validation to older ODF versions is tracked in bug 163806.