office-gobmx/editeng
Miklos Vajna 1f127a2b9e sw layout: allow negative page border distances
Writer follows the CSS box model when it comes to page borders: there
can be a positive distance between the edge of the page and the border,
and again a positive distance between the border and the body frame.

This ensures that the page border never intersect with the body frame,
which is usually what users expect. Word, however, can work with 2
distances for border and text, both measured from the edge of the page,
leading to a page border, which is inside the body text. This is
described at great detail at
<https://wiki.openoffice.org/wiki/Writer/MSInteroperability/PageBorder#Importing_case_3:>.

Fix the problem by allowing negative border distances: this doesn't
influence the position or the size of the body frame, but it gives us a
way to position the border more towards the center of the page, leading
the matching layout between Writer and Word.

The doc model (to allow negative border distances), UNO API and DOCX
filter is updated in this commit. The ODT filter works without explicit
effort. Other filters are not yet updated in this commit.

Change-Id: I723e1bdb8dc6391129f1686f88826cc089f6fd67
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/135462
Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
Tested-by: Jenkins
2022-06-07 08:45:46 +02:00
..
inc Pick a better type for the GetAttrib nAttr parameter 2022-05-13 09:24:15 +02:00
qa
source sw layout: allow negative page border distances 2022-06-07 08:45:46 +02:00
uiconfig/ui
AllLangMoTarget_editeng.mk
CppunitTest_editeng_borderline.mk
CppunitTest_editeng_core.mk
CppunitTest_editeng_lookuptree.mk
CustomTarget_generated.mk
IwyuFilter_editeng.yaml
Library_editeng.mk
Makefile
Module_editeng.mk
README.md
UIConfig_editeng.mk

Edit Engine

In OpenOffice.org build DEV300m72 this module was split off from svx but it has no dependencies on svx (nor on sfx2) while in turn svx depends on editeng

Read more in the mailing list post: http://www.mail-archive.com/dev@openoffice.org/msg13237.html

If you build LibreOffice with dbgutil, you have some extended debug keys:

  • Ctrl+Alt+F1 - draws the paragraph rectangles in different colors
  • Ctrl+Alt+F11 - toggles dumping the edit engine state to the "editenginedump.log" on draw
  • Ctrl+Alt+F12 - dumps the current edit engine state to "editenginedump.log"