Bug 61028 - Problems with OOXML custGeom and arcTo command
Summary: Problems with OOXML custGeom and arcTo command
Status: VERIFIED FIXED
Alias: None
Product: LibreOffice
Classification: Unclassified
Component: Draw (show other bugs)
Version:
(earliest affected)
3.6.4.3 release
Hardware: All All
: low normal
Assignee: Not Assigned
URL:
Whiteboard: target:7.2.0 target:7.1.1
Keywords:
: 104203 (view as bug list)
Depends on:
Blocks: PPTX-Shapes
  Show dependency treegraph
 
Reported: 2013-02-17 21:49 UTC by Regina Henschel
Modified: 2021-01-18 09:59 UTC (History)
5 users (show)

See Also:
Crash report or crash signature:


Attachments
Contains a custGeom with artTo command (14.03 KB, application/vnd.openxmlformats-officedocument.presentationml.presentation)
2013-02-17 21:49 UTC, Regina Henschel
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Regina Henschel 2013-02-17 21:49:11 UTC
Created attachment 75011 [details]
Contains a custGeom with artTo command

Open attached document. It contains the following OOXML custGeom:
  <p:spPr>
    <a:xfrm>
       <a:off x="1080000" y="720000" />
       <a:ext cx="2160000" cy="2160000" />
    </a:xfrm>
    <a:custGeom>
       <a:pathLst>
          <a:path w="6" h="6">
             <a:moveTo>
                <a:pt x="3" y="3" />
             </a:moveTo>
             <a:arcTo hR="3" wR="3" stAng="1800000" swAng="2700000" />
             <a:close />
          </a:path>
        </a:pathLst>
     </a:custGeom>
     <a:ln>
        <a:solidFill>
           <a:srgbClr val="FF0000" />
        </a:solidFill>
      </a:ln>
    </p:spPr>

LO shows the correct shape, a circle segment.

Now use "save as" and save it to .pptx format. Open the resulting file in PowerPoint or in LO. Notice, you get a square.

Open attached document again. Now use "save as" and save it to .odp format. Open the resulting file in PowerPoint2013 or in LO. Notice, the shape still exists, but the path is lost.

LO produces in .odp the element
<draw:enhanced-geometry
 draw:mirror-horizontal="false"
 draw:mirror-vertical="false"
 svg:viewBox="0 0 0 0"
 draw:type="ooxml-non-primitive"
 draw:enhanced-path="M 3 3 Z N"
 drawooo:enhanced-path="M 3 3 G 3 3 ?f0 ?f1 Z N">

It contains an attribute with an own namespace, but LO cannot read correctly, what it has written.

I wonder, why a way with own namespace was used. I have expected an enhanced path with T command.
Comment 1 Joel Madero 2013-02-19 17:10:29 UTC
I was able to verify on:
Version 3.6.4.3 (Build ID: 2ef5aff) using Bodhi Linux 2.2.0

Because of this I am updating the version field to reflect the oldest version that the bug has been seen on.

Marking as:
New (confirmed)
Normal (can prevent high quality work given certain circumstances)
Low (seems to be quite a chore to reproduce, basically you need to do save as multiple times to get the problem)
Comment 2 Radek Doulik 2013-04-05 12:16:16 UTC
Loads OK in master, where we handle the G command OK.

I cannot use the T command, because it doesn't cover all the functionality of drawingml arcTo command.

So if I understand it correctly, the document was saved with newer LO which supports already G command and loaded in older LO it doesn't look the same (because it uses draw:enhanced-path which is there to not break older versions with unknown commands) That is expected behavior, in current version it should survive save/load cycle.
Comment 3 Regina Henschel 2013-04-05 14:46:09 UTC
Which functionality is not supported by current ODF1.2? I'm alarmed, when something is introduced, that breaks interoperability.

Besides my principal concerns about the command G, some comments:
 Save to .odp and reload is OK now with daily 4.Apr.
 Save to .pptx is still broken, reload results in a rectangle.
 Saved .odp file fails validation with Office-o-tron Validator.
 The part without drawooo, should give a solution that is at least so good as the .odp export of PowerPoint.
Comment 4 QA Administrators 2015-03-04 02:18:09 UTC Comment hidden (obsolete)
Comment 5 Buovjaga 2015-03-22 11:19:17 UTC
When saved as .pptx again, the shape turns into what looks like a diagonal line.

Win 7 Pro 64-bit, LibO Version: 4.4.1.2
Build ID: 45e2de17089c24a1fa810c8f975a7171ba4cd432
Locale: fi_FI
Comment 6 Regina Henschel 2015-03-22 12:21:23 UTC
When resaved as .odp or .pptx, the object has wrong size. Tested with
Version: 4.5.0.0.alpha0+
Build ID: 40b1e8266e47792d354cd457c652bfb0f0a21e69
TinderBox: Win-x86@62-TDF, Branch:MASTER, Time: 2015-02-11_00:13:43
Locale: de_DE

I still see no need for a G command. PowerPoint 2010 exports it to .odp with using A and W command. Introducing a G command breaks interoperability.
Comment 7 tommy27 2016-04-16 07:24:17 UTC Comment hidden (obsolete)
Comment 8 QA Administrators 2017-05-22 13:25:13 UTC Comment hidden (obsolete)
Comment 9 Regina Henschel 2017-05-22 18:06:41 UTC
When saved as pptx the shape is empty. <a:moveTo> exists, but <a:arcTo> is missing. When saved as odp, PowerPoint cannot read it. So roundtrip is still bad.

Tested with Version: 5.4.0.0.alpha1+
Build ID: 965494c544dd8f35ae83b7cf38549009da06c367
CPU threads: 4; OS: Windows 6.1; UI render: default; 
TinderBox: Win-x86@62-TDF, Branch:MASTER, Time: 2017-05-10_23:06:27
Locale: de-DE (de_DE); Calc: group
Comment 10 QA Administrators 2018-05-23 02:36:34 UTC Comment hidden (obsolete)
Comment 11 Regina Henschel 2018-05-23 22:11:25 UTC
Resaving in pptx has still an error. PP and LO show an empty slide for the resaved file.

Tested in Version: 6.1.0.0.alpha1+ (x64)
Build ID: 88051c660fc6759346a01bc559818d3e23f8f55c
CPU threads: 8; OS: Windows 10.0; UI render: default; 
Locale: de-DE (de_DE); Calc: CL
Comment 12 Commit Notification 2021-01-15 09:50:57 UTC
Tünde Tóth committed a patch related to this issue.
It has been pushed to "master":

https://git.libreoffice.org/core/commit/7337e7e74d8bde77a56552bcb7b40bf1668c87b7

tdf#61028 OOXML export: fix lost arcTo shape

It will be available in 7.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 13 NISZ LibreOffice Team 2021-01-15 12:57:47 UTC
*** Bug 104203 has been marked as a duplicate of this bug. ***
Comment 14 Xisco Faulí 2021-01-18 09:57:49 UTC
Verified in

Version: 7.2.0.0.alpha0+ / LibreOffice Community
Build ID: 6ce66560c59470a9eb76fbf80f439b452166d3e4
CPU threads: 4; OS: Linux 5.7; UI render: default; VCL: gtk3
Locale: en-US (en_US.UTF-8); UI: en-US
Calc: threaded

using the document from bug 104203. Nice fix!!

@Tünde Tóth, thanks for fixing this issue!!
Comment 15 Commit Notification 2021-01-18 09:59:41 UTC
Tünde Tóth committed a patch related to this issue.
It has been pushed to "libreoffice-7-1":

https://git.libreoffice.org/core/commit/6492679040db6415543119ada9d1124bd532ec6a

tdf#61028 OOXML export: fix lost arcTo shape

It will be available in 7.1.1.

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.