Re: Problems with unittest testEffectExtentInline

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Miklos,

Miklos Vajna schrieb am 10.06.2021 um 09:30:
Hi Regina,

On Wed, Jun 09, 2021 at 03:33:59PM +0200, Regina Henschel <rb.henschel@xxxxxxxxxxx> wrote:
I'm currently working on https://gerrit.libreoffice.org/c/core/+/115668
WIP improve wrap margins in docx filters

My current state is, that distances needed for shadow and glow, for rotation
and for fat stroke/border are read from docx, and they are written to docx
from docx and from odt. That works for "normal" cases besides +-1Twip
rounding errors somewhere and border thickness for frames, which is not yet
implemented.

But I have trouble with unittest testEffectExtentInline [1]. The document in
testEffectExtentInline would need a negative bottom margin (UI wrap distance
from text). But that is not possible in LO, bug tdf#141880. The test does
not fail in current LO, because it does not determine the actual values of
the image, but simple writes out the values from InteropGrabBag. If the user
changes the rotate angle to 90deg (and put it back to vertical 'top to base
line') or sets the bottom margin to 1cm for example, the exported docx file
has unsuitable effectExtent. That results currently in a wrong line height
in Word.

Would it help to empty the grab-bag when the user modifies the rotation
(or modifies the object in any way)?

The problem is more general. What should happen, if the Word document contains settings, that cannot (yet) be represented in LibreOffice? The difference in the test document is so small that it is not visible. If the difference would be larger, the following text lines will be shifted down, in the attached file about 2mm. Such difference can produce layout changes e.g. in position of automatic page break.

If the values of the grab-Bag are set on export instead of the values actually used in LibreOffice, the layout of the exported document would be the same as the original document in Word. But the layout of the exported document would be different in Word than in LibreOffice.

If the document is saved with the actual values uses by LibreOffice, then the layout of the exported document is the same in Word and LibreOffice, but different from the original one.

So I think, to remove the properties from grab-bag would not help. There are differences anyway.

Word has no UI to modify effectExtent directly. So I wonder how the test document was created. Creating it newly in Word would not result in the effectExtent values currently in the test document.


The idea with grab-bag was to use that during export, and the UI to
empty them grab-bag when the user modifies the object. In practice, I
think only impress shapes drop the smartart grab-gag on text edit,
nothing else implements such emptying.

Such removal would be far beyond my patch.

I could make a new test document. The original problem was, that zero effectExtent values were written. That would be caught with a new test document the same. Or adding a tolerance? Because we use Twip and not EMU there is a loss of accuracy anyway. What do you think?

Kind regards
Regina

Attachment: ManualEffectExtent.docx
Description: application/vnd.openxmlformats-officedocument.wordprocessingml.document

_______________________________________________
LibreOffice mailing list
LibreOffice@xxxxxxxxxxxxxxxxxxxxx
https://lists.freedesktop.org/mailman/listinfo/libreoffice

[Index of Archives]     [LARTC]     [Bugtraq]     [Yosemite Forum]     [Photo]

  Powered by Linux