Bug 162691 - ODF 1.4: Use new handle attributes in export and import of ODF 1.4 documents.
Summary: ODF 1.4: Use new handle attributes in export and import of ODF 1.4 documents.
Status: RESOLVED FIXED
Alias: None
Product: LibreOffice
Classification: Unclassified
Component: filters and storage (show other bugs)
Version:
(earliest affected)
25.2.0.0 alpha0+
Hardware: All All
: medium normal
Assignee: Not Assigned
URL:
Whiteboard: target:25.2.0
Keywords:
Depends on:
Blocks: ODF-1.4-Support
  Show dependency treegraph
 
Reported: 2024-08-29 12:38 UTC by Xisco Faulí
Modified: 2024-11-13 23:34 UTC (History)
2 users (show)

See Also:
Crash report or crash signature:


Attachments
PolarHandle equal to that produced by LO 7.6. (28.85 KB, application/vnd.oasis.opendocument.text)
2024-10-15 17:16 UTC, Regina Henschel
Details
New polar attributes used, without old attributes (29.61 KB, application/vnd.oasis.opendocument.text)
2024-10-15 17:22 UTC, Regina Henschel
Details
new xy attributes used, without old attributes (30.79 KB, application/vnd.oasis.opendocument.text)
2024-10-15 17:26 UTC, Regina Henschel
Details
XY Handle equal to that produced by LO 7.6 (30.06 KB, application/vnd.oasis.opendocument.text)
2024-10-15 17:29 UTC, Regina Henschel
Details
I have extended the solution from Xisco with polar handles (73.95 KB, patch)
2024-11-02 21:24 UTC, Regina Henschel
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Xisco Faulí 2024-08-29 12:38:48 UTC
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.
Comment 1 Regina Henschel 2024-10-15 17:16:38 UTC
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.
Comment 2 Regina Henschel 2024-10-15 17:22:36 UTC
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
Comment 3 Regina Henschel 2024-10-15 17:26:58 UTC
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
Comment 4 Regina Henschel 2024-10-15 17:29:42 UTC
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.
Comment 5 Regina Henschel 2024-11-02 21:24:54 UTC
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.
Comment 6 Commit Notification 2024-11-12 13:05:30 UTC
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.
Comment 7 Regina Henschel 2024-11-13 23:34:25 UTC
Validation against ODF 1.3 is skipped because it is not implemented. Extending validation to older ODF versions is tracked in bug 163806.