office-gobmx/sw/ooxmlexport_setup.mk
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

100 lines
2.5 KiB
Makefile

# -*- Mode: makefile-gmake; tab-width: 4; indent-tabs-mode: t -*-
#*************************************************************************
#
# This file is part of the LibreOffice project.
#
# This Source Code Form is subject to the terms of the Mozilla Public
# License, v. 2.0. If a copy of the MPL was not distributed with this
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
#
#*************************************************************************
define sw_ooxmlexport_libraries
comphelper \
cppu \
cppuhelper \
editeng \
sal \
sfx \
svl \
sw \
swqahelper \
test \
tl \
unotest \
utl \
vcl \
svxcore
endef
# template for ooxmlexport tests (there are several so that they can be run in parallel)
define sw_ooxmlexport_test
$(eval $(call gb_CppunitTest_CppunitTest,sw_ooxmlexport$(1)))
$(eval $(call gb_CppunitTest_use_common_precompiled_header,sw_ooxmlexport$(1)))
$(eval $(call gb_CppunitTest_add_exception_objects,sw_ooxmlexport$(1), \
sw/qa/extras/ooxmlexport/ooxmlexport$(1) \
))
$(eval $(call gb_CppunitTest_use_libraries,sw_ooxmlexport$(1), \
$(sw_ooxmlexport_libraries) \
))
$(eval $(call gb_CppunitTest_use_externals,sw_ooxmlexport$(1),\
boost_headers \
libxml2 \
))
$(eval $(call gb_CppunitTest_set_include,sw_ooxmlexport$(1),\
-I$(SRCDIR)/sw/inc \
-I$(SRCDIR)/sw/source/core/inc \
-I$(SRCDIR)/sw/source/uibase/inc \
-I$(SRCDIR)/sw/qa/inc \
$$(INCLUDE) \
))
$(eval $(call gb_CppunitTest_use_api,sw_ooxmlexport$(1),\
udkapi \
offapi \
oovbaapi \
))
$(eval $(call gb_CppunitTest_use_ure,sw_ooxmlexport$(1)))
$(eval $(call gb_CppunitTest_use_vcl,sw_ooxmlexport$(1)))
$(eval $(call gb_CppunitTest_use_rdb,sw_ooxmlexport$(1),services))
$(eval $(call gb_CppunitTest_use_configuration,sw_ooxmlexport$(1)))
$(eval $(call gb_CppunitTest_use_uiconfigs,sw_ooxmlexport$(1),\
modules/swriter \
sfx \
svt \
))
$(eval $(call gb_CppunitTest_use_packages,sw_ooxmlexport$(1),\
oox_customshapes \
oox_generated \
))
$(call gb_CppunitTest_get_target,sw_ooxmlexport$(1)) : $(call gb_Library_get_target,iti)
$(eval $(call gb_CppunitTest_use_more_fonts,sw_ooxmlexport$(1)))
ifeq ($(OS),WNT)
# gpgme-w32spawn.exe is needed in workdir/LinkTarget/Executable
$(eval $(call gb_CppunitTest_use_packages,sw_ooxmlexport$(1),\
$(call gb_Helper_optional,GPGMEPP,gpgmepp)\
))
endif
$(eval $(call gb_CppunitTest_add_arguments,sw_ooxmlexport$(1), \
-env:arg-env=$(gb_Helper_LIBRARY_PATH_VAR)"$$$${$(gb_Helper_LIBRARY_PATH_VAR)+=$$$$$(gb_Helper_LIBRARY_PATH_VAR)}" \
))
endef
# vim: set noet sw=4 ts=4: