Bug 148966

Summary: FILEOPEN PPTX: extra paragraph after some 2-line text with link
Product: LibreOffice Reporter: Gerald Pfeifer <gerald>
Component: ImpressAssignee: Sarper Akdemir (allotropia) <sarper.akdemir.extern>
Status: RESOLVED FIXED    
Severity: normal CC: aron.budea, buzea.bogdan, sarper.akdemir.extern, timur
Priority: medium Keywords: filter:pptx
Version: Inherited From OOo   
Hardware: All   
OS: All   
See Also: https://bugs.documentfoundation.org/show_bug.cgi?id=154248
Whiteboard: target:7.6.0
Crash report or crash signature: Regression By:
Bug Depends on:    
Bug Blocks: 107899    
Attachments: Sample slide (PPTX)
Visual comparison Office 365 (left) vs LibreOffice 7.4 (right)
Sample slide (PPTX) with font changed to Calibri
Visual comparison Office 365 LibreOffice 7.4 with font changed to Calibri
Sample slide with font and link changes (PPTX)
Visual comparison Office 2016 and LibreOffice 7.4+ for sample with font changeS

Description Gerald Pfeifer 2022-05-06 14:55:18 UTC
Created attachment 179977 [details]
Sample slide (PPTX)

Comparing this slide (created/updated in PowerPoint) between Office 365
and Impress we see three instances where there is extra vertical space
between different text formats as shown by Impress.


Version: 7.4.0.0.alpha0+ / LibreOffice Community
Build ID: e9c50fbbc3b07ef927d133da9cf2395c55611e0f
CPU threads: 8; OS: Linux 5.17; UI render: default; VCL: gtk3
Locale: en-US (en_US.UTF-8); UI: en-US
Calc: threaded

...all the way back to

Version: 6.4.8.0.0+
Build ID: 99b065ec31d032fc08ab14f66430dac4fef904a5
CPU threads: 8; OS: Linux 5.17; 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

and

Version: 7.2.8.0.0+ / LibreOffice Community
Build ID: d293877ff029ae7c161ccfbade992485fd92fe75
CPU threads: 8; OS: Linux 5.17; UI render: default; VCL: gtk3
Locale: en-US (en_US.UTF-8); UI: en-US
TinderBox: Linux-rpm_deb-x86_64@86-TDF, Branch:libreoffice-7-2, Time: 2022-04-26_20:29:27
Comment 1 Gerald Pfeifer 2022-05-06 14:56:03 UTC
Created attachment 179978 [details]
Visual comparison Office 365 (left) vs LibreOffice 7.4 (right)
Comment 2 BogdanB 2022-05-07 12:42:57 UTC
Confirm the bug with
Version: 7.3.3.2 / LibreOffice Community
Build ID: d1d0ea68f081ee2800a922cac8f79445e4603348
CPU threads: 16; OS: Linux 5.13; UI render: default; VCL: gtk3
Locale: ro-RO (ro_RO.UTF-8); UI: en-US
Calc: threaded
Comment 3 Timur 2022-05-11 09:28:07 UTC
I set to Minor because this seems to be dependent on Poppins font and link. 
If we add some text after the link in MSO, new line is created after the link, before new text, in LO.
Comment 4 Gerald Pfeifer 2022-05-21 16:01:08 UTC
Created attachment 180286 [details]
Sample slide (PPTX) with font changed to Calibri

(In reply to Timur from comment #3)
> I set to Minor because this seems to be dependent on Poppins font and link.

Hmm, actually not. I changed the font from Poppins to Calibri and the
issue still appears.  See the attached alternate sample document.

Timur, do you mind reconsidering and moving this from minor to normal?
Comment 5 Gerald Pfeifer 2022-05-21 16:01:56 UTC
Created attachment 180287 [details]
Visual comparison Office 365 LibreOffice 7.4 with font changed to Calibri
Comment 6 Timur 2022-05-27 14:28:41 UTC
Created attachment 180434 [details]
Sample slide with font and link changes (PPTX)

Here is updated sample , to better track font and link changes.
Comment 7 Timur 2022-05-27 14:29:52 UTC
Created attachment 180435 [details]
Visual comparison Office 2016 and LibreOffice 7.4+ for sample with font changeS
Comment 8 Commit Notification 2023-02-23 12:19:38 UTC
Sarper Akdemir committed a patch related to this issue.
It has been pushed to "master":

https://git.libreoffice.org/core/commit/9da4a2518eea880a2c80515d1346effa7c8c8c11

related tdf#148966: rework sdr compatibility flags

It will be available in 7.6.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 9 Commit Notification 2023-02-28 11:31:35 UTC
Sarper Akdemir committed a patch related to this issue.
It has been pushed to "master":

https://git.libreoffice.org/core/commit/0bb169dcfa14e6db44bc0eaeabe12d0d3b62ffd8

tdf#148966: pptx: workaround for multiline fields followed by linebreaks

It will be available in 7.6.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 10 Sarper Akdemir (allotropia) 2023-03-06 09:20:32 UTC
The initial reported problem is fixed now. But the additional problems later demonstrated by Timur are not.

I have attempted to fix the latter case too. The existing multiline field wrapping is a two part hack. One part in ImpEditEngine::CreateLines the other in ImpEditEngine::Paint. Expanding the hack to fix those cases are not really feasible. Instead a proper refactor of the layouting/handling of fields both in EditMode and Paint are required to properly display and wrap multiline fields.
Comment 11 Gerald Pfeifer 2023-03-17 22:22:38 UTC
(In reply to Sarper Akdemir from comment #10)
> I have attempted to fix the latter case too. The existing multiline field
> wrapping is a two part hack. One part in ImpEditEngine::CreateLines the
> other in ImpEditEngine::Paint. Expanding the hack to fix those cases are not
> really feasible. Instead a proper refactor of the layouting/handling of
> fields both in EditMode and Paint are required to properly display and wrap
> multiline fields.

I filed bug #154248 to make sure we keep this (and Timur's reproducer).