Bug 157019 - FILEOPEN PPTX: Round corners of rectangle shape render as square corners
Summary: FILEOPEN PPTX: Round corners of rectangle shape render as square corners
Status: VERIFIED FIXED
Alias: None
Product: LibreOffice
Classification: Unclassified
Component: Impress (show other bugs)
Version:
(earliest affected)
6.4 all versions
Hardware: All All
: medium normal
Assignee: Tibor Nagy
URL:
Whiteboard: target:25.2.0 target:24.8.3
Keywords:
Depends on: 78156 157285 160490
Blocks: PPTX-Shapes
  Show dependency treegraph
 
Reported: 2023-08-30 17:40 UTC by Gerald Pfeifer
Modified: 2024-10-25 13:59 UTC (History)
3 users (show)

See Also:
Crash report or crash signature:


Attachments
Sample slide (PPTX) (2.38 MB, application/vnd.openxmlformats-officedocument.presentationml.presentation)
2023-08-30 17:40 UTC, Gerald Pfeifer
Details
Visual comparison PowerPoint (left) vs Impress (right) (105.04 KB, image/png)
2023-08-30 17:41 UTC, Gerald Pfeifer
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Gerald Pfeifer 2023-08-30 17:40:39 UTC
Created attachment 189264 [details]
Sample slide (PPTX)

1. Open the sample document.
2. Observe how the three rectangles I marked with an orange border 
   show square corners instead of round corners (in PowerPoint).

Version: 24.2.0.0.alpha0+ (X86_64) / LibreOffice Community
Build ID: 642f2d7177ea3e6c365da2c2082a50a5137cd988
CPU threads: 8; OS: Linux 6.4; UI render: default; VCL: gtk3
Locale: en-US (en_US.UTF-8); UI: en-US

...back all the way to at least

Version: 6.4.8.0.0+
Build ID: 99b065ec31d032fc08ab14f66430dac4fef904a5
CPU threads: 8; OS: Linux 6.4; UI render: default; VCL: gtk3; 
TinderBox: Linux-rpm_deb-x86_64@86-TDF, Branch:libreoffice-6-4, Time: 2020-10-08_08:57:08
Locale: en-US (en_US.UTF-8); UI-Language: en-US
Comment 1 Gerald Pfeifer 2023-08-30 17:41:21 UTC
Created attachment 189265 [details]
Visual comparison PowerPoint (left) vs Impress (right)
Comment 2 Regina Henschel 2023-08-30 20:19:28 UTC
The shapes are derived from the outline placeholders. LibreOffice takes the type of shape and the size from the definition on the master slide. It imports them as "css.presentation.OutlineShape" which is in fact a text box.

It might be possible to detect the special case "rounded rectangle" and set the rounded corner of the text box accordingly.

A text box does not have a property "Resize shape to fit text" but only "Fit height to text". But that property does not shrink the shape automatically, when its content is smaller than the current size, but only expand height if the content would overflow otherwise. Therefore the shapes are too large. Here the import needs to look at the shape on the slide and use its current size instead of using the size from the master page. I don't know why the size is correct for the third object.

A further problem is, that the layout of the master page has four outline placeholders. That is not possible in LibreOffice, we have maximal two outline placeholders. There exists a feature request to allow further layouts, bug 78156. 

It might be useful to split this report to address one issue at a time and to simplify the example file as much as possible. Do you have PowerPoint on hand to create specific examples?
Comment 3 Gerald Pfeifer 2023-09-17 04:32:00 UTC
(In reply to Regina Henschel from comment #2)
> The shapes are derived from the outline placeholders. LibreOffice ...

Thank you for sharing this background and the analysis, Regina!

> It might be useful to split this report to address one issue at a 
> time and to simplify the example file as much as possible. Do you 
> have PowerPoint on hand to create specific examples?

I meant to create a sibling covering the height of the boxes, simply
did not have the time back then. Now done as bug #157285 .

And you referred to the existing bug #bug 78156 wrt. allowing for
further layouts. Is there another aspect to cover.


I do not have access to PowerPoint, only the web-based version which
is very limited, but which I used to create the example file. Not sure
how to make this significantly simpler still? Can you help, maybe?
Comment 4 Stéphane Guillou (stragu) 2023-09-29 21:39:35 UTC
Ok, let's set this one to "new" and make it depend on the two other reports. Of course, smaller sample document are welcome.

Regina, this isn't the same issue as in bug 103200 comment 7, is it?
Comment 5 Commit Notification 2024-06-27 19:56:38 UTC
Tibor Nagy committed a patch related to this issue.
It has been pushed to "master":

https://git.libreoffice.org/core/commit/df61a5846197a01c10322ac54731b6df7e0faf07

tdf#157019 PPTX import: Workaround for object placeholder shape preset

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 6 Gerald Pfeifer 2024-06-28 10:30:19 UTC
Happily verifying with today's daily build:

  Version: 25.2.0.0.alpha0+ (X86_64) / LibreOffice Community
  Build ID: 97833217ebacd77d01b8e06ee1eb05cc06c17afc
  CPU threads: 12; OS: Linux 6.9; UI render: default; VCL: gtk3
  Locale: en-US (en_US.UTF-8); UI: en-US
Comment 7 Commit Notification 2024-10-25 13:59:19 UTC
Tibor Nagy committed a patch related to this issue.
It has been pushed to "libreoffice-24-8":

https://git.libreoffice.org/core/commit/54f264dbc741326b897396a2cd8a2df5655ad0fe

tdf#157019 PPTX import: Workaround for object placeholder shape preset

It will be available in 24.8.3.

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.