MCGR: Use BGradient in export of Fontwork to docx too

Transparency values are not exactly like in UI because converting
through rgb-color adds rounding inaccuracy. The unit tests are adjusted
accordingly. With only start and end values it was possible to use the
UI values directly. It would be possible to make special cases for
front and back value, but I think it is not worth the effort.

The previous solution had the error, that the stops were not mirrored
in case of non linear gradient. That is corrected now. The unit tests
are adjusted.

The previous solution had assumed that our 'intensity' at start or end
colors is the same as the 'lumMod' attribute in OOXML. However, this is
not the case. So now the 'intensity' is incorporated into the color.
Again, the unit tests are adjusted.

Change-Id: Id02e455dc09d12c5b453637fcb2bdc4f8f1529d1
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/152839
Tested-by: Jenkins
Reviewed-by: Regina Henschel <rb.henschel@t-online.de>
This commit is contained in:
Regina Henschel 2023-06-10 19:09:34 +02:00
parent 667c7ea976
commit 0028c2311c
7 changed files with 1237 additions and 279 deletions

View file

@ -0,0 +1,53 @@
# -*- 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/.
#
#*************************************************************************
$(eval $(call gb_CppunitTest_CppunitTest,oox_mcgr))
$(eval $(call gb_CppunitTest_use_externals,oox_mcgr,\
boost_headers \
libxml2 \
))
$(eval $(call gb_CppunitTest_add_exception_objects,oox_mcgr, \
oox/qa/unit/mcgr \
))
$(eval $(call gb_CppunitTest_use_libraries,oox_mcgr, \
comphelper \
cppu \
cppuhelper \
oox \
sal \
subsequenttest \
test \
unotest \
utl \
tl \
))
$(eval $(call gb_CppunitTest_use_sdk_api,oox_mcgr))
$(eval $(call gb_CppunitTest_use_ure,oox_mcgr))
$(eval $(call gb_CppunitTest_use_vcl,oox_mcgr))
$(eval $(call gb_CppunitTest_use_rdb,oox_mcgr,services))
$(eval $(call gb_CppunitTest_use_custom_headers,oox_mcgr,\
officecfg/registry \
))
$(eval $(call gb_CppunitTest_use_configuration,oox_mcgr))
$(eval $(call gb_CppunitTest_add_arguments,oox_mcgr, \
-env:arg-env=$(gb_Helper_LIBRARY_PATH_VAR)"$$$${$(gb_Helper_LIBRARY_PATH_VAR)+=$$$$$(gb_Helper_LIBRARY_PATH_VAR)}" \
))
# vim: set noet sw=4 ts=4:

View file

@ -34,6 +34,7 @@ $(eval $(call gb_Module_add_check_targets,oox,\
CppunitTest_oox_vml \
CppunitTest_oox_shape \
CppunitTest_oox_export \
CppunitTest_oox_mcgr \
))
endif

View file

@ -0,0 +1,662 @@
<?xml version="1.0" encoding="UTF-8"?>
<office:document xmlns:office="urn:oasis:names:tc:opendocument:xmlns:office:1.0" xmlns:ooo="http://openoffice.org/2004/office" xmlns:fo="urn:oasis:names:tc:opendocument:xmlns:xsl-fo-compatible:1.0" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:config="urn:oasis:names:tc:opendocument:xmlns:config:1.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:meta="urn:oasis:names:tc:opendocument:xmlns:meta:1.0" xmlns:style="urn:oasis:names:tc:opendocument:xmlns:style:1.0" xmlns:text="urn:oasis:names:tc:opendocument:xmlns:text:1.0" xmlns:rpt="http://openoffice.org/2005/report" xmlns:draw="urn:oasis:names:tc:opendocument:xmlns:drawing:1.0" xmlns:dr3d="urn:oasis:names:tc:opendocument:xmlns:dr3d:1.0" xmlns:svg="urn:oasis:names:tc:opendocument:xmlns:svg-compatible:1.0" xmlns:chart="urn:oasis:names:tc:opendocument:xmlns:chart:1.0" xmlns:table="urn:oasis:names:tc:opendocument:xmlns:table:1.0" xmlns:number="urn:oasis:names:tc:opendocument:xmlns:datastyle:1.0" xmlns:ooow="http://openoffice.org/2004/writer" xmlns:oooc="http://openoffice.org/2004/calc" xmlns:of="urn:oasis:names:tc:opendocument:xmlns:of:1.2" xmlns:xforms="http://www.w3.org/2002/xforms" xmlns:tableooo="http://openoffice.org/2009/table" xmlns:calcext="urn:org:documentfoundation:names:experimental:calc:xmlns:calcext:1.0" xmlns:drawooo="http://openoffice.org/2010/draw" xmlns:loext="urn:org:documentfoundation:names:experimental:office:xmlns:loext:1.0" xmlns:field="urn:openoffice:names:experimental:ooo-ms-interop:xmlns:field:1.0" xmlns:math="http://www.w3.org/1998/Math/MathML" xmlns:form="urn:oasis:names:tc:opendocument:xmlns:form:1.0" xmlns:script="urn:oasis:names:tc:opendocument:xmlns:script:1.0" xmlns:formx="urn:openoffice:names:experimental:ooxml-odf-interop:xmlns:form:1.0" xmlns:dom="http://www.w3.org/2001/xml-events" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xhtml="http://www.w3.org/1999/xhtml" xmlns:grddl="http://www.w3.org/2003/g/data-view#" xmlns:css3t="http://www.w3.org/TR/css3-text/" xmlns:presentation="urn:oasis:names:tc:opendocument:xmlns:presentation:1.0" xmlns:smil="urn:oasis:names:tc:opendocument:xmlns:smil-compatible:1.0" xmlns:anim="urn:oasis:names:tc:opendocument:xmlns:animation:1.0" xmlns:officeooo="http://openoffice.org/2009/office" office:version="1.3" office:mimetype="application/vnd.oasis.opendocument.presentation">
<office:meta><meta:creation-date>2023-06-08T12:15:12.978000000</meta:creation-date><dc:title>24x16impress</dc:title><meta:editing-duration>PT2M30S</meta:editing-duration><meta:editing-cycles>2</meta:editing-cycles><meta:generator>B2020/24.2.0.0.alpha0$Windows_X86_64 LibreOffice_project/ca9341cf60f3f9350662d30b61f6eadefca24667</meta:generator><meta:initial-creator>Regina Henschel</meta:initial-creator><dc:date>2023-06-08T12:17:40.279000000</dc:date><dc:creator>Regina Henschel</dc:creator><meta:document-statistic meta:object-count="8"/></office:meta>
<office:settings>
<config:config-item-set config:name="ooo:view-settings">
<config:config-item config:name="VisibleAreaTop" config:type="int">-245</config:config-item>
<config:config-item config:name="VisibleAreaLeft" config:type="int">-3142</config:config-item>
<config:config-item config:name="VisibleAreaWidth" config:type="int">30369</config:config-item>
<config:config-item config:name="VisibleAreaHeight" config:type="int">16510</config:config-item>
<config:config-item-map-indexed config:name="Views">
<config:config-item-map-entry>
<config:config-item config:name="ViewId" config:type="string">view1</config:config-item>
<config:config-item config:name="GridIsVisible" config:type="boolean">false</config:config-item>
<config:config-item config:name="GridIsFront" config:type="boolean">false</config:config-item>
<config:config-item config:name="IsSnapToGrid" config:type="boolean">true</config:config-item>
<config:config-item config:name="IsSnapToPageMargins" config:type="boolean">true</config:config-item>
<config:config-item config:name="IsSnapToSnapLines" config:type="boolean">true</config:config-item>
<config:config-item config:name="IsSnapToObjectFrame" config:type="boolean">true</config:config-item>
<config:config-item config:name="IsSnapToObjectPoints" config:type="boolean">false</config:config-item>
<config:config-item config:name="IsPlusHandlesAlwaysVisible" config:type="boolean">false</config:config-item>
<config:config-item config:name="IsFrameDragSingles" config:type="boolean">true</config:config-item>
<config:config-item config:name="EliminatePolyPointLimitAngle" config:type="int">1500</config:config-item>
<config:config-item config:name="IsEliminatePolyPoints" config:type="boolean">false</config:config-item>
<config:config-item config:name="VisibleLayers" config:type="base64Binary">Hw==</config:config-item>
<config:config-item config:name="PrintableLayers" config:type="base64Binary">Hw==</config:config-item>
<config:config-item config:name="LockedLayers" config:type="base64Binary"/>
<config:config-item config:name="NoAttribs" config:type="boolean">false</config:config-item>
<config:config-item config:name="NoColors" config:type="boolean">true</config:config-item>
<config:config-item config:name="RulerIsVisible" config:type="boolean">false</config:config-item>
<config:config-item config:name="PageKind" config:type="short">0</config:config-item>
<config:config-item config:name="SelectedPage" config:type="short">0</config:config-item>
<config:config-item config:name="IsLayerMode" config:type="boolean">false</config:config-item>
<config:config-item config:name="IsDoubleClickTextEdit" config:type="boolean">true</config:config-item>
<config:config-item config:name="IsClickChangeRotation" config:type="boolean">true</config:config-item>
<config:config-item config:name="SlidesPerRow" config:type="short">4</config:config-item>
<config:config-item config:name="EditMode" config:type="int">0</config:config-item>
<config:config-item config:name="VisibleAreaTop" config:type="int">-231</config:config-item>
<config:config-item config:name="VisibleAreaLeft" config:type="int">-11545</config:config-item>
<config:config-item config:name="VisibleAreaWidth" config:type="int">47915</config:config-item>
<config:config-item config:name="VisibleAreaHeight" config:type="int">16742</config:config-item>
<config:config-item config:name="GridCoarseWidth" config:type="int">2000</config:config-item>
<config:config-item config:name="GridCoarseHeight" config:type="int">2000</config:config-item>
<config:config-item config:name="GridFineWidth" config:type="int">500</config:config-item>
<config:config-item config:name="GridFineHeight" config:type="int">500</config:config-item>
<config:config-item config:name="GridSnapWidthXNumerator" config:type="int">2000</config:config-item>
<config:config-item config:name="GridSnapWidthXDenominator" config:type="int">4</config:config-item>
<config:config-item config:name="GridSnapWidthYNumerator" config:type="int">2000</config:config-item>
<config:config-item config:name="GridSnapWidthYDenominator" config:type="int">4</config:config-item>
<config:config-item config:name="IsAngleSnapEnabled" config:type="boolean">false</config:config-item>
<config:config-item config:name="SnapAngle" config:type="int">1500</config:config-item>
<config:config-item config:name="ZoomOnPage" config:type="boolean">true</config:config-item>
<config:config-item config:name="AnchoredTextOverflowLegacy" config:type="boolean">false</config:config-item>
<config:config-item config:name="LegacySingleLineFontwork" config:type="boolean">true</config:config-item>
<config:config-item config:name="ConnectorUseSnapRect" config:type="boolean">false</config:config-item>
<config:config-item config:name="IgnoreBreakAfterMultilineField" config:type="boolean">false</config:config-item>
</config:config-item-map-entry>
</config:config-item-map-indexed>
</config:config-item-set>
<config:config-item-set config:name="ooo:configuration-settings">
<config:config-item config:name="IsPrintBookletBack" config:type="boolean">true</config:config-item>
<config:config-item config:name="DefaultTabStop" config:type="int">1250</config:config-item>
<config:config-item config:name="PrinterName" config:type="string">EPSON6FC99C (WP-4025 Series)</config:config-item>
<config:config-item-map-indexed config:name="ForbiddenCharacters">
<config:config-item-map-entry>
<config:config-item config:name="Language" config:type="string">de</config:config-item>
<config:config-item config:name="Country" config:type="string">DE</config:config-item>
<config:config-item config:name="Variant" config:type="string"/>
<config:config-item config:name="BeginLine" config:type="string"/>
<config:config-item config:name="EndLine" config:type="string"/>
</config:config-item-map-entry>
</config:config-item-map-indexed>
<config:config-item config:name="PrinterSetup" config:type="base64Binary">iAv+/0VQU09ONkZDOTlDIChXUC00MDI1IFNlcmllcykAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAARVBTT04gV1AtNDAyNSBTZXJpZXMAAAAAAAAAAAAAAAAWAAEAWgoAAAAAAAAEAAhSAAAEdAAAM1ROVwAAAAAKAEUAUABTAE8ATgA2AEYAQwA5ADkAQwAgACgAVwBQAC0ANAAwADIANQAgAFMAZQByAGkAZQBzACkAAAAAAAAAAAABBAAB3AB0CQ+bgAcBAAkAmgs0CGQAAQAHAFgCAgABAFgCAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAAIAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB0CQAAAQEBAQABAAABAAAAAAAAAAAAAAA4AAAAfAgAALQIAABAAAAA9AgAAIAAAAAAAAAAAAAAAAMACQRFAFAAUwBPAE4AIABXAFAALQA0ADAAMgA1ACAAUwBlAHIAaQBlAHMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAABYAgAAAAAAAAAAAAABAAAAAgAAAAAAAQBYAlgCBwAAAAAACQA0CJoLHgAeAB4AHgA0CJoLOwORBAEAAAAOABYAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAYAAAAAAAAAAAACAAAAAAIAAAMAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAABkAGQANAiaCx4AHgAeAB4ACQAAAAAAAAAAAAAA//8AAAAAAAAAAB4AHgABAAAAAwDgAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAQAAgAAAAAAAAAAAAEAMgAyANT+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABYACoAAAAgAAEAAAAgAAAAQAAAAAYAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADs/wAAAAAAAAAAAABCAAAAAQAAALAAAAAAAAAAAAAAAAAAAAAeAB4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEBARIAQ09NUEFUX0RVUExFWF9NT0RFDwBEdXBsZXhNb2RlOjpPZmYMAFBSSU5URVJfTkFNRRwARVBTT042RkM5OUMgKFdQLTQwMjUgU2VyaWVzKQsARFJJVkVSX05BTUUUAEVQU09OIFdQLTQwMjUgU2VyaWVz</config:config-item>
<config:config-item config:name="PrinterPaperFromSetup" config:type="boolean">false</config:config-item>
<config:config-item config:name="IsPrintPageName" config:type="boolean">false</config:config-item>
<config:config-item config:name="IsPrintDate" config:type="boolean">false</config:config-item>
<config:config-item config:name="BitmapTableURL" config:type="string">$(inst)/share/palette%3B$(user)/config/standard.sob</config:config-item>
<config:config-item config:name="IsPrintTime" config:type="boolean">false</config:config-item>
<config:config-item config:name="ImagePreferredDPI" config:type="int">0</config:config-item>
<config:config-item config:name="CharacterCompressionType" config:type="short">0</config:config-item>
<config:config-item config:name="IsPrintHiddenPages" config:type="boolean">true</config:config-item>
<config:config-item config:name="IsPrintFitPage" config:type="boolean">false</config:config-item>
<config:config-item config:name="IsPrintTilePage" config:type="boolean">false</config:config-item>
<config:config-item config:name="SaveThumbnail" config:type="boolean">true</config:config-item>
<config:config-item config:name="IsPrintBooklet" config:type="boolean">false</config:config-item>
<config:config-item config:name="IsPrintBookletFront" config:type="boolean">true</config:config-item>
<config:config-item config:name="PrintQuality" config:type="int">0</config:config-item>
<config:config-item config:name="ColorTableURL" config:type="string">$(inst)/share/palette/html.soc</config:config-item>
<config:config-item config:name="DashTableURL" config:type="string">$(inst)/share/palette%3B$(user)/config/standard.sod</config:config-item>
<config:config-item config:name="LineEndTableURL" config:type="string">$(inst)/share/palette%3B$(user)/config/standard.soe</config:config-item>
<config:config-item config:name="HatchTableURL" config:type="string">$(inst)/share/palette%3B$(user)/config/standard.soh</config:config-item>
<config:config-item config:name="GradientTableURL" config:type="string">$(inst)/share/palette%3B$(user)/config/standard.sog</config:config-item>
<config:config-item config:name="ApplyUserData" config:type="boolean">true</config:config-item>
<config:config-item config:name="PageNumberFormat" config:type="int">4</config:config-item>
<config:config-item config:name="ParagraphSummation" config:type="boolean">false</config:config-item>
<config:config-item config:name="IsKernAsianPunctuation" config:type="boolean">false</config:config-item>
<config:config-item config:name="UpdateFromTemplate" config:type="boolean">true</config:config-item>
<config:config-item config:name="PrinterIndependentLayout" config:type="string">low-resolution</config:config-item>
<config:config-item config:name="LoadReadonly" config:type="boolean">false</config:config-item>
<config:config-item config:name="SaveVersionOnClose" config:type="boolean">false</config:config-item>
<config:config-item config:name="EmbedFonts" config:type="boolean">false</config:config-item>
<config:config-item config:name="EmbedComplexScriptFonts" config:type="boolean">true</config:config-item>
<config:config-item config:name="EmbedOnlyUsedFonts" config:type="boolean">false</config:config-item>
<config:config-item config:name="EmbedLatinScriptFonts" config:type="boolean">true</config:config-item>
<config:config-item config:name="EmbedAsianScriptFonts" config:type="boolean">true</config:config-item>
<config:config-item config:name="IsPrintDrawing" config:type="boolean">true</config:config-item>
<config:config-item config:name="IsPrintNotes" config:type="boolean">false</config:config-item>
<config:config-item config:name="IsPrintHandout" config:type="boolean">false</config:config-item>
<config:config-item config:name="IsPrintOutline" config:type="boolean">false</config:config-item>
<config:config-item config:name="SlidesPerHandout" config:type="short">6</config:config-item>
<config:config-item config:name="HandoutsHorizontal" config:type="boolean">true</config:config-item>
</config:config-item-set>
</office:settings>
<office:scripts>
<office:script script:language="ooo:Basic">
<ooo:libraries xmlns:ooo="http://openoffice.org/2004/office" xmlns:xlink="http://www.w3.org/1999/xlink"/>
</office:script>
</office:scripts>
<office:font-face-decls>
<style:font-face style:name="Arial Black" svg:font-family="&apos;Arial Black&apos;" style:font-family-generic="swiss" style:font-pitch="variable"/>
<style:font-face style:name="Liberation Sans" svg:font-family="&apos;Liberation Sans&apos;" style:font-family-generic="roman" style:font-pitch="variable"/>
<style:font-face style:name="Liberation Sans1" svg:font-family="&apos;Liberation Sans&apos;" style:font-family-generic="swiss" style:font-pitch="variable"/>
<style:font-face style:name="Liberation Serif" svg:font-family="&apos;Liberation Serif&apos;" style:font-family-generic="roman" style:font-pitch="variable"/>
<style:font-face style:name="Lucida Sans" svg:font-family="&apos;Lucida Sans&apos;" style:font-family-generic="system" style:font-pitch="variable"/>
<style:font-face style:name="MS Gothic" svg:font-family="&apos;MS Gothic&apos;" style:font-pitch="variable"/>
<style:font-face style:name="MS PGothic" svg:font-family="&apos;MS PGothic&apos;" style:font-family-generic="system" style:font-pitch="variable"/>
<style:font-face style:name="MS PGothic1" svg:font-family="&apos;MS PGothic&apos;" style:font-pitch="variable"/>
<style:font-face style:name="Microsoft YaHei" svg:font-family="&apos;Microsoft YaHei&apos;" style:font-family-generic="system" style:font-pitch="variable"/>
<style:font-face style:name="Noto Sans" svg:font-family="&apos;Noto Sans&apos;" style:font-family-generic="roman" style:font-pitch="variable"/>
<style:font-face style:name="Segoe UI" svg:font-family="&apos;Segoe UI&apos;" style:font-family-generic="system" style:font-pitch="variable"/>
<style:font-face style:name="Tahoma" svg:font-family="Tahoma" style:font-family-generic="system" style:font-pitch="variable"/>
<style:font-face style:name="Tahoma1" svg:font-family="Tahoma" style:font-pitch="variable"/>
</office:font-face-decls>
<office:styles>
<draw:gradient draw:name="Ausgefüllt" draw:style="linear" draw:start-color="#ffffff" draw:end-color="#cccccc" draw:start-intensity="100%" draw:end-intensity="100%" draw:angle="300deg" draw:border="0%">
<loext:gradient-stop svg:offset="0" loext:color-type="rgb" loext:color-value="#ffffff"/>
<loext:gradient-stop svg:offset="1" loext:color-type="rgb" loext:color-value="#cccccc"/></draw:gradient>
<draw:gradient draw:name="Ausgefüllt_20_blau" draw:display-name="Ausgefüllt blau" draw:style="linear" draw:start-color="#729fcf" draw:end-color="#355269" draw:start-intensity="100%" draw:end-intensity="100%" draw:angle="300deg" draw:border="0%">
<loext:gradient-stop svg:offset="0" loext:color-type="rgb" loext:color-value="#729fcf"/>
<loext:gradient-stop svg:offset="1" loext:color-type="rgb" loext:color-value="#355269"/></draw:gradient>
<draw:gradient draw:name="Ausgefüllt_20_gelb" draw:display-name="Ausgefüllt gelb" draw:style="linear" draw:start-color="#ffde59" draw:end-color="#b47804" draw:start-intensity="100%" draw:end-intensity="100%" draw:angle="300deg" draw:border="0%">
<loext:gradient-stop svg:offset="0" loext:color-type="rgb" loext:color-value="#ffde59"/>
<loext:gradient-stop svg:offset="1" loext:color-type="rgb" loext:color-value="#b47804"/></draw:gradient>
<draw:gradient draw:name="Ausgefüllt_20_grün" draw:display-name="Ausgefüllt grün" draw:style="linear" draw:start-color="#77bc65" draw:end-color="#127622" draw:start-intensity="100%" draw:end-intensity="100%" draw:angle="300deg" draw:border="0%">
<loext:gradient-stop svg:offset="0" loext:color-type="rgb" loext:color-value="#77bc65"/>
<loext:gradient-stop svg:offset="1" loext:color-type="rgb" loext:color-value="#127622"/></draw:gradient>
<draw:gradient draw:name="Ausgefüllt_20_rot" draw:display-name="Ausgefüllt rot" draw:style="linear" draw:start-color="#ff6d6d" draw:end-color="#c9211e" draw:start-intensity="100%" draw:end-intensity="100%" draw:angle="300deg" draw:border="0%">
<loext:gradient-stop svg:offset="0" loext:color-type="rgb" loext:color-value="#ff6d6d"/>
<loext:gradient-stop svg:offset="1" loext:color-type="rgb" loext:color-value="#c9211e"/></draw:gradient>
<draw:gradient draw:name="Formen" draw:style="rectangular" draw:cx="50%" draw:cy="50%" draw:start-color="#cccccc" draw:end-color="#ffffff" draw:start-intensity="100%" draw:end-intensity="100%" draw:angle="0deg" draw:border="0%">
<loext:gradient-stop svg:offset="0" loext:color-type="rgb" loext:color-value="#cccccc"/>
<loext:gradient-stop svg:offset="1" loext:color-type="rgb" loext:color-value="#ffffff"/></draw:gradient>
<draw:gradient draw:name="Purple2Cyan" draw:style="linear" draw:start-color="#ff1493" draw:end-color="#00ffff" draw:start-intensity="100%" draw:end-intensity="100%" draw:angle="30deg" draw:border="0%">
<loext:gradient-stop svg:offset="0" loext:color-type="rgb" loext:color-value="#ff1493"/>
<loext:gradient-stop svg:offset="0.3" loext:color-type="rgb" loext:color-value="#ffff00"/>
<loext:gradient-stop svg:offset="1" loext:color-type="rgb" loext:color-value="#00ffff"/></draw:gradient>
<draw:marker draw:name="Arrow" svg:viewBox="0 0 20 30" svg:d="M10 0l-10 30h20z"/>
<style:default-style style:family="graphic">
<style:graphic-properties svg:stroke-color="#3465a4" draw:fill-color="#729fcf" fo:wrap-option="no-wrap" style:writing-mode="lr-tb"/>
<style:paragraph-properties style:text-autospace="ideograph-alpha" style:punctuation-wrap="simple" style:line-break="strict" loext:tab-stop-distance="0cm" style:writing-mode="lr-tb" style:font-independent-line-spacing="false">
<style:tab-stops/>
</style:paragraph-properties>
<style:text-properties style:use-window-font-color="true" loext:opacity="0%" style:font-name="Liberation Serif" fo:font-size="24pt" fo:language="de" fo:country="DE" style:font-name-asian="Segoe UI" style:font-size-asian="24pt" style:language-asian="ja" style:country-asian="JP" style:font-name-complex="Tahoma" style:font-size-complex="24pt" style:language-complex="ar" style:country-complex="SA"/>
</style:default-style>
<style:style style:name="standard" style:family="graphic">
<style:graphic-properties draw:stroke="solid" svg:stroke-width="0cm" svg:stroke-color="#3465a4" draw:marker-start-width="0.2cm" draw:marker-start-center="false" draw:marker-end-width="0.2cm" draw:marker-end-center="false" draw:fill="solid" draw:fill-color="#729fcf" draw:textarea-horizontal-align="justify" fo:padding-top="0.125cm" fo:padding-bottom="0.125cm" fo:padding-left="0.25cm" fo:padding-right="0.25cm" draw:shadow="hidden" draw:shadow-offset-x="0.2cm" draw:shadow-offset-y="0.2cm" draw:shadow-color="#808080">
<text:list-style style:name="standard">
<text:list-level-style-bullet text:level="1" text:bullet-char="●">
<style:list-level-properties text:min-label-width="0.6cm"/>
<style:text-properties fo:font-family="StarSymbol" style:use-window-font-color="true" fo:font-size="45%"/>
</text:list-level-style-bullet>
<text:list-level-style-bullet text:level="2" text:bullet-char="●">
<style:list-level-properties text:space-before="0.6cm" text:min-label-width="0.6cm"/>
<style:text-properties fo:font-family="StarSymbol" style:use-window-font-color="true" fo:font-size="45%"/>
</text:list-level-style-bullet>
<text:list-level-style-bullet text:level="3" text:bullet-char="●">
<style:list-level-properties text:space-before="1.2cm" text:min-label-width="0.6cm"/>
<style:text-properties fo:font-family="StarSymbol" style:use-window-font-color="true" fo:font-size="45%"/>
</text:list-level-style-bullet>
<text:list-level-style-bullet text:level="4" text:bullet-char="●">
<style:list-level-properties text:space-before="1.8cm" text:min-label-width="0.6cm"/>
<style:text-properties fo:font-family="StarSymbol" style:use-window-font-color="true" fo:font-size="45%"/>
</text:list-level-style-bullet>
<text:list-level-style-bullet text:level="5" text:bullet-char="●">
<style:list-level-properties text:space-before="2.4cm" text:min-label-width="0.6cm"/>
<style:text-properties fo:font-family="StarSymbol" style:use-window-font-color="true" fo:font-size="45%"/>
</text:list-level-style-bullet>
<text:list-level-style-bullet text:level="6" text:bullet-char="●">
<style:list-level-properties text:space-before="3cm" text:min-label-width="0.6cm"/>
<style:text-properties fo:font-family="StarSymbol" style:use-window-font-color="true" fo:font-size="45%"/>
</text:list-level-style-bullet>
<text:list-level-style-bullet text:level="7" text:bullet-char="●">
<style:list-level-properties text:space-before="3.6cm" text:min-label-width="0.6cm"/>
<style:text-properties fo:font-family="StarSymbol" style:use-window-font-color="true" fo:font-size="45%"/>
</text:list-level-style-bullet>
<text:list-level-style-bullet text:level="8" text:bullet-char="●">
<style:list-level-properties text:space-before="4.2cm" text:min-label-width="0.6cm"/>
<style:text-properties fo:font-family="StarSymbol" style:use-window-font-color="true" fo:font-size="45%"/>
</text:list-level-style-bullet>
<text:list-level-style-bullet text:level="9" text:bullet-char="●">
<style:list-level-properties text:space-before="4.8cm" text:min-label-width="0.6cm"/>
<style:text-properties fo:font-family="StarSymbol" style:use-window-font-color="true" fo:font-size="45%"/>
</text:list-level-style-bullet>
<text:list-level-style-bullet text:level="10" text:bullet-char="●">
<style:list-level-properties text:space-before="5.4cm" text:min-label-width="0.6cm"/>
<style:text-properties fo:font-family="StarSymbol" style:use-window-font-color="true" fo:font-size="45%"/>
</text:list-level-style-bullet>
</text:list-style>
</style:graphic-properties>
<style:paragraph-properties fo:margin-left="0cm" fo:margin-right="0cm" fo:margin-top="0cm" fo:margin-bottom="0cm" fo:line-height="100%" fo:text-indent="0cm"/>
<style:text-properties fo:font-variant="normal" fo:text-transform="none" style:use-window-font-color="true" loext:opacity="0%" style:text-outline="false" style:text-line-through-style="none" style:text-line-through-type="none" style:font-name="Liberation Sans" fo:font-family="&apos;Liberation Sans&apos;" style:font-family-generic="roman" style:font-pitch="variable" fo:font-size="18pt" fo:font-style="normal" fo:text-shadow="none" style:text-underline-style="none" fo:font-weight="normal" style:letter-kerning="true" style:font-name-asian="MS PGothic" style:font-family-asian="&apos;MS PGothic&apos;" style:font-family-generic-asian="system" style:font-pitch-asian="variable" style:font-size-asian="18pt" style:font-style-asian="normal" style:font-weight-asian="normal" style:font-name-complex="Tahoma" style:font-family-complex="Tahoma" style:font-family-generic-complex="system" style:font-pitch-complex="variable" style:font-size-complex="18pt" style:font-style-complex="normal" style:font-weight-complex="normal" style:text-emphasize="none" style:font-relief="none" style:text-overline-style="none" style:text-overline-color="font-color"/>
</style:style>
<style:style style:name="objectwithoutfill" style:family="graphic" style:parent-style-name="standard">
<style:graphic-properties draw:fill="none"/>
</style:style>
<style:style style:name="Object_20_with_20_no_20_fill_20_and_20_no_20_line" style:display-name="Object with no fill and no line" style:family="graphic" style:parent-style-name="standard">
<style:graphic-properties draw:stroke="none" draw:fill="none"/>
</style:style>
<style:style style:name="Text" style:family="graphic">
<style:graphic-properties draw:stroke="solid" svg:stroke-color="#cccccc" draw:fill="solid" draw:fill-color="#eeeeee"/>
<style:text-properties style:font-name="Noto Sans" fo:font-family="&apos;Noto Sans&apos;" style:font-family-generic="roman" style:font-pitch="variable"/>
</style:style>
<style:style style:name="A4" style:family="graphic" style:parent-style-name="Text">
<style:graphic-properties draw:fill="none"/>
<style:text-properties fo:font-size="18pt"/>
</style:style>
<style:style style:name="Title_20_A4" style:display-name="Title A4" style:family="graphic" style:parent-style-name="A4">
<style:graphic-properties draw:stroke="none"/>
<style:text-properties fo:font-size="44pt"/>
</style:style>
<style:style style:name="Heading_20_A4" style:display-name="Heading A4" style:family="graphic" style:parent-style-name="A4">
<style:graphic-properties draw:stroke="none"/>
<style:text-properties fo:font-size="24pt"/>
</style:style>
<style:style style:name="Text_20_A4" style:display-name="Text A4" style:family="graphic" style:parent-style-name="A4">
<style:graphic-properties draw:stroke="none"/>
</style:style>
<style:style style:name="A0" style:family="graphic" style:parent-style-name="Text">
<style:graphic-properties draw:fill="none"/>
<style:text-properties fo:font-size="48pt"/>
</style:style>
<style:style style:name="Title_20_A0" style:display-name="Title A0" style:family="graphic" style:parent-style-name="A4">
<style:graphic-properties draw:stroke="none"/>
<style:text-properties fo:font-size="96pt"/>
</style:style>
<style:style style:name="Heading_20_A0" style:display-name="Heading A0" style:family="graphic" style:parent-style-name="A4">
<style:graphic-properties draw:stroke="none"/>
<style:text-properties fo:font-size="72pt"/>
</style:style>
<style:style style:name="Text_20_A0" style:display-name="Text A0" style:family="graphic" style:parent-style-name="A4">
<style:graphic-properties draw:stroke="none"/>
</style:style>
<style:style style:name="Graphic" style:family="graphic">
<style:graphic-properties draw:fill="solid" draw:fill-color="#ffffff"/>
<style:text-properties style:font-name="Liberation Sans" fo:font-family="&apos;Liberation Sans&apos;" style:font-family-generic="roman" style:font-pitch="variable" fo:font-size="18pt"/>
</style:style>
<style:style style:name="Shapes" style:family="graphic" style:parent-style-name="Graphic">
<style:graphic-properties draw:stroke="none" draw:fill="gradient" draw:fill-gradient-name="Formen"/>
<style:text-properties fo:font-size="14pt" fo:font-weight="bold"/>
</style:style>
<style:style style:name="Filled" style:family="graphic" style:parent-style-name="Shapes">
<style:graphic-properties draw:fill="gradient" draw:fill-gradient-name="Ausgefüllt"/>
</style:style>
<style:style style:name="Filled_20_Blue" style:display-name="Filled Blue" style:family="graphic" style:parent-style-name="Filled">
<style:graphic-properties draw:fill-gradient-name="Ausgefüllt_20_blau"/>
<style:text-properties fo:color="#ffffff" loext:opacity="100%"/>
</style:style>
<style:style style:name="Filled_20_Green" style:display-name="Filled Green" style:family="graphic" style:parent-style-name="Filled">
<style:graphic-properties draw:fill-gradient-name="Ausgefüllt_20_grün"/>
<style:text-properties fo:color="#ffffff" loext:opacity="100%" style:font-name="Liberation Sans" fo:font-family="&apos;Liberation Sans&apos;" style:font-family-generic="roman" style:font-pitch="variable"/>
</style:style>
<style:style style:name="Filled_20_Red" style:display-name="Filled Red" style:family="graphic" style:parent-style-name="Filled">
<style:graphic-properties draw:fill-gradient-name="Ausgefüllt_20_rot"/>
<style:text-properties fo:color="#ffffff" loext:opacity="100%"/>
</style:style>
<style:style style:name="Filled_20_Yellow" style:display-name="Filled Yellow" style:family="graphic" style:parent-style-name="Filled">
<style:graphic-properties draw:fill-gradient-name="Ausgefüllt_20_gelb"/>
<style:text-properties fo:color="#ffffff" loext:opacity="100%"/>
</style:style>
<style:style style:name="Outlined" style:family="graphic" style:parent-style-name="Shapes">
<style:graphic-properties draw:stroke="solid" svg:stroke-width="0.081cm" svg:stroke-color="#000000" draw:fill="none"/>
</style:style>
<style:style style:name="Outlined_20_Blue" style:display-name="Outlined Blue" style:family="graphic" style:parent-style-name="Outlined">
<style:graphic-properties svg:stroke-color="#355269"/>
<style:text-properties fo:color="#355269" loext:opacity="100%"/>
</style:style>
<style:style style:name="Outlined_20_Green" style:display-name="Outlined Green" style:family="graphic" style:parent-style-name="Outlined">
<style:graphic-properties svg:stroke-color="#127622"/>
<style:text-properties fo:color="#127622" loext:opacity="100%"/>
</style:style>
<style:style style:name="Outlined_20_Red" style:display-name="Outlined Red" style:family="graphic" style:parent-style-name="Outlined">
<style:graphic-properties svg:stroke-color="#c9211e"/>
<style:text-properties fo:color="#c9211e" loext:opacity="100%"/>
</style:style>
<style:style style:name="Outlined_20_Yellow" style:display-name="Outlined Yellow" style:family="graphic" style:parent-style-name="Outlined">
<style:graphic-properties draw:stroke="solid" svg:stroke-color="#b47804"/>
<style:text-properties fo:color="#b47804" loext:opacity="100%"/>
</style:style>
<style:style style:name="Lines" style:family="graphic" style:parent-style-name="Graphic">
<style:graphic-properties draw:stroke="solid" svg:stroke-color="#000000" draw:fill="none"/>
</style:style>
<style:style style:name="Arrow_20_Line" style:display-name="Arrow Line" style:family="graphic" style:parent-style-name="Lines">
<style:graphic-properties draw:marker-start="Arrow" draw:marker-start-width="0.2cm" draw:marker-end="Arrow" draw:marker-end-width="0.2cm" draw:show-unit="true"/>
</style:style>
<style:style style:name="Arrow_20_Dashed" style:display-name="Arrow Dashed" style:family="graphic" style:parent-style-name="Lines">
<style:graphic-properties draw:stroke="dash"/>
</style:style>
<style:style style:name="Objekt_20_ohne_20_Füllung_20_und_20_Linie" style:display-name="Objekt ohne Füllung und Linie" style:family="graphic" style:parent-style-name="standard">
<style:graphic-properties draw:stroke="none" draw:fill="none"/>
</style:style>
<style:style style:name="Standard-background" style:family="presentation">
<style:graphic-properties draw:stroke="none" draw:fill="none"/>
<style:text-properties style:letter-kerning="true"/>
</style:style>
<style:style style:name="Standard-backgroundobjects" style:family="presentation">
<style:graphic-properties draw:textarea-horizontal-align="justify" draw:shadow="hidden" draw:shadow-offset-x="0.2cm" draw:shadow-offset-y="0.2cm" draw:shadow-color="#808080"/>
<style:text-properties style:letter-kerning="true"/>
</style:style>
<style:style style:name="Standard-notes" style:family="presentation">
<style:graphic-properties draw:stroke="none" draw:fill="none"/>
<style:paragraph-properties fo:margin-left="0.6cm" fo:margin-right="0cm" fo:text-indent="-0.6cm"/>
<style:text-properties fo:font-variant="normal" fo:text-transform="none" style:use-window-font-color="true" loext:opacity="0%" style:text-outline="false" style:text-line-through-style="none" style:text-line-through-type="none" style:font-name="Liberation Sans" fo:font-family="&apos;Liberation Sans&apos;" style:font-family-generic="roman" style:font-pitch="variable" fo:font-size="20pt" fo:font-style="normal" fo:text-shadow="none" style:text-underline-style="none" fo:font-weight="normal" style:letter-kerning="true" fo:background-color="transparent" style:font-name-asian="MS PGothic" style:font-family-asian="&apos;MS PGothic&apos;" style:font-family-generic-asian="system" style:font-pitch-asian="variable" style:font-size-asian="20pt" style:font-style-asian="normal" style:font-weight-asian="normal" style:font-name-complex="Tahoma" style:font-family-complex="Tahoma" style:font-family-generic-complex="system" style:font-pitch-complex="variable" style:font-size-complex="20pt" style:font-style-complex="normal" style:font-weight-complex="normal" style:text-emphasize="none" style:font-relief="none" style:text-overline-style="none" style:text-overline-color="font-color"/>
</style:style>
<style:style style:name="Standard-outline1" style:family="presentation">
<style:graphic-properties draw:stroke="none" draw:fill="none" draw:auto-grow-height="false" draw:fit-to-size="false" style:shrink-to-fit="true">
<text:list-style style:name="Standard-outline1">
<text:list-level-style-bullet text:level="1" text:bullet-char="●">
<style:list-level-properties text:space-before="0.3cm" text:min-label-width="0.9cm"/>
<style:text-properties fo:font-family="StarSymbol" style:use-window-font-color="true" fo:font-size="45%"/>
</text:list-level-style-bullet>
<text:list-level-style-bullet text:level="2" text:bullet-char="">
<style:list-level-properties text:space-before="1.5cm" text:min-label-width="0.9cm"/>
<style:text-properties fo:font-family="StarSymbol" style:use-window-font-color="true" fo:font-size="75%"/>
</text:list-level-style-bullet>
<text:list-level-style-bullet text:level="3" text:bullet-char="●">
<style:list-level-properties text:space-before="2.8cm" text:min-label-width="0.8cm"/>
<style:text-properties fo:font-family="StarSymbol" style:use-window-font-color="true" fo:font-size="45%"/>
</text:list-level-style-bullet>
<text:list-level-style-bullet text:level="4" text:bullet-char="">
<style:list-level-properties text:space-before="4.2cm" text:min-label-width="0.6cm"/>
<style:text-properties fo:font-family="StarSymbol" style:use-window-font-color="true" fo:font-size="75%"/>
</text:list-level-style-bullet>
<text:list-level-style-bullet text:level="5" text:bullet-char="●">
<style:list-level-properties text:space-before="5.4cm" text:min-label-width="0.6cm"/>
<style:text-properties fo:font-family="StarSymbol" style:use-window-font-color="true" fo:font-size="45%"/>
</text:list-level-style-bullet>
<text:list-level-style-bullet text:level="6" text:bullet-char="●">
<style:list-level-properties text:space-before="6.6cm" text:min-label-width="0.6cm"/>
<style:text-properties fo:font-family="StarSymbol" style:use-window-font-color="true" fo:font-size="45%"/>
</text:list-level-style-bullet>
<text:list-level-style-bullet text:level="7" text:bullet-char="●">
<style:list-level-properties text:space-before="7.8cm" text:min-label-width="0.6cm"/>
<style:text-properties fo:font-family="StarSymbol" style:use-window-font-color="true" fo:font-size="45%"/>
</text:list-level-style-bullet>
<text:list-level-style-bullet text:level="8" text:bullet-char="●">
<style:list-level-properties text:space-before="9cm" text:min-label-width="0.6cm"/>
<style:text-properties fo:font-family="StarSymbol" style:use-window-font-color="true" fo:font-size="45%"/>
</text:list-level-style-bullet>
<text:list-level-style-bullet text:level="9" text:bullet-char="●">
<style:list-level-properties text:space-before="10.2cm" text:min-label-width="0.6cm"/>
<style:text-properties fo:font-family="StarSymbol" style:use-window-font-color="true" fo:font-size="45%"/>
</text:list-level-style-bullet>
<text:list-level-style-bullet text:level="10" text:bullet-char="●">
<style:list-level-properties text:space-before="11.4cm" text:min-label-width="0.6cm"/>
<style:text-properties fo:font-family="StarSymbol" style:use-window-font-color="true" fo:font-size="45%"/>
</text:list-level-style-bullet>
</text:list-style>
</style:graphic-properties>
<style:paragraph-properties fo:margin-left="0cm" fo:margin-right="0cm" fo:margin-top="0.507cm" fo:margin-bottom="0cm" fo:text-indent="0cm"/>
<style:text-properties fo:font-variant="normal" fo:text-transform="none" style:use-window-font-color="true" loext:opacity="0%" style:text-outline="false" style:text-line-through-style="none" style:text-line-through-type="none" style:font-name="Liberation Sans" fo:font-family="&apos;Liberation Sans&apos;" style:font-family-generic="roman" style:font-pitch="variable" fo:font-size="32.5pt" fo:font-style="normal" fo:text-shadow="none" style:text-underline-style="none" fo:font-weight="normal" style:letter-kerning="true" fo:background-color="transparent" style:font-name-asian="MS PGothic" style:font-family-asian="&apos;MS PGothic&apos;" style:font-family-generic-asian="system" style:font-pitch-asian="variable" style:font-size-asian="32pt" style:font-style-asian="normal" style:font-weight-asian="normal" style:font-name-complex="Tahoma" style:font-family-complex="Tahoma" style:font-family-generic-complex="system" style:font-pitch-complex="variable" style:font-size-complex="32pt" style:font-style-complex="normal" style:font-weight-complex="normal" style:text-emphasize="none" style:font-relief="none" style:text-overline-style="none" style:text-overline-color="font-color"/>
</style:style>
<style:style style:name="Standard-outline2" style:family="presentation" style:parent-style-name="Standard-outline1">
<style:paragraph-properties fo:margin-left="0cm" fo:margin-right="0cm" fo:margin-top="0.405cm" fo:margin-bottom="0cm" fo:text-indent="0cm"/>
<style:text-properties fo:font-size="28.5pt" style:font-size-asian="28pt" style:font-size-complex="28pt"/>
</style:style>
<style:style style:name="Standard-outline3" style:family="presentation" style:parent-style-name="Standard-outline2">
<style:paragraph-properties fo:margin-left="0cm" fo:margin-right="0cm" fo:margin-top="0.303cm" fo:margin-bottom="0cm" fo:text-indent="0cm"/>
<style:text-properties fo:font-size="24.3999996185303pt" style:font-size-asian="24pt" style:font-size-complex="24pt"/>
</style:style>
<style:style style:name="Standard-outline4" style:family="presentation" style:parent-style-name="Standard-outline3">
<style:paragraph-properties fo:margin-left="0cm" fo:margin-right="0cm" fo:margin-top="0.202cm" fo:margin-bottom="0cm" fo:text-indent="0cm"/>
<style:text-properties fo:font-size="20.2999992370605pt" style:font-size-asian="20pt" style:font-size-complex="20pt"/>
</style:style>
<style:style style:name="Standard-outline5" style:family="presentation" style:parent-style-name="Standard-outline4">
<style:paragraph-properties fo:margin-left="0cm" fo:margin-right="0cm" fo:margin-top="0.101cm" fo:margin-bottom="0cm" fo:text-indent="0cm"/>
<style:text-properties fo:font-size="20.2999992370605pt" style:font-size-asian="20pt" style:font-size-complex="20pt"/>
</style:style>
<style:style style:name="Standard-outline6" style:family="presentation" style:parent-style-name="Standard-outline5">
<style:paragraph-properties fo:margin-left="0cm" fo:margin-right="0cm" fo:margin-top="0.101cm" fo:margin-bottom="0cm" fo:text-indent="0cm"/>
<style:text-properties fo:font-size="20.2999992370605pt" style:font-size-asian="20pt" style:font-size-complex="20pt"/>
</style:style>
<style:style style:name="Standard-outline7" style:family="presentation" style:parent-style-name="Standard-outline6">
<style:paragraph-properties fo:margin-left="0cm" fo:margin-right="0cm" fo:margin-top="0.101cm" fo:margin-bottom="0cm" fo:text-indent="0cm"/>
<style:text-properties fo:font-size="20.2999992370605pt" style:font-size-asian="20pt" style:font-size-complex="20pt"/>
</style:style>
<style:style style:name="Standard-outline8" style:family="presentation" style:parent-style-name="Standard-outline7">
<style:paragraph-properties fo:margin-left="0cm" fo:margin-right="0cm" fo:margin-top="0.101cm" fo:margin-bottom="0cm" fo:text-indent="0cm"/>
<style:text-properties fo:font-size="20.2999992370605pt" style:font-size-asian="20pt" style:font-size-complex="20pt"/>
</style:style>
<style:style style:name="Standard-outline9" style:family="presentation" style:parent-style-name="Standard-outline8">
<style:paragraph-properties fo:margin-left="0cm" fo:margin-right="0cm" fo:margin-top="0.101cm" fo:margin-bottom="0cm" fo:text-indent="0cm"/>
<style:text-properties fo:font-size="20.2999992370605pt" style:font-size-asian="20pt" style:font-size-complex="20pt"/>
</style:style>
<style:style style:name="Standard-subtitle" style:family="presentation">
<style:graphic-properties draw:stroke="none" draw:fill="none" draw:textarea-vertical-align="middle">
<text:list-style style:name="Standard-subtitle">
<text:list-level-style-bullet text:level="1" text:bullet-char="●">
<style:list-level-properties text:min-label-width="0.6cm"/>
<style:text-properties fo:font-family="StarSymbol" style:use-window-font-color="true" fo:font-size="45%"/>
</text:list-level-style-bullet>
<text:list-level-style-bullet text:level="2" text:bullet-char="●">
<style:list-level-properties text:space-before="0.6cm" text:min-label-width="0.6cm"/>
<style:text-properties fo:font-family="StarSymbol" style:use-window-font-color="true" fo:font-size="45%"/>
</text:list-level-style-bullet>
<text:list-level-style-bullet text:level="3" text:bullet-char="●">
<style:list-level-properties text:space-before="1.2cm" text:min-label-width="0.6cm"/>
<style:text-properties fo:font-family="StarSymbol" style:use-window-font-color="true" fo:font-size="45%"/>
</text:list-level-style-bullet>
<text:list-level-style-bullet text:level="4" text:bullet-char="●">
<style:list-level-properties text:space-before="1.8cm" text:min-label-width="0.6cm"/>
<style:text-properties fo:font-family="StarSymbol" style:use-window-font-color="true" fo:font-size="45%"/>
</text:list-level-style-bullet>
<text:list-level-style-bullet text:level="5" text:bullet-char="●">
<style:list-level-properties text:space-before="2.4cm" text:min-label-width="0.6cm"/>
<style:text-properties fo:font-family="StarSymbol" style:use-window-font-color="true" fo:font-size="45%"/>
</text:list-level-style-bullet>
<text:list-level-style-bullet text:level="6" text:bullet-char="●">
<style:list-level-properties text:space-before="3cm" text:min-label-width="0.6cm"/>
<style:text-properties fo:font-family="StarSymbol" style:use-window-font-color="true" fo:font-size="45%"/>
</text:list-level-style-bullet>
<text:list-level-style-bullet text:level="7" text:bullet-char="●">
<style:list-level-properties text:space-before="3.6cm" text:min-label-width="0.6cm"/>
<style:text-properties fo:font-family="StarSymbol" style:use-window-font-color="true" fo:font-size="45%"/>
</text:list-level-style-bullet>
<text:list-level-style-bullet text:level="8" text:bullet-char="●">
<style:list-level-properties text:space-before="4.2cm" text:min-label-width="0.6cm"/>
<style:text-properties fo:font-family="StarSymbol" style:use-window-font-color="true" fo:font-size="45%"/>
</text:list-level-style-bullet>
<text:list-level-style-bullet text:level="9" text:bullet-char="●">
<style:list-level-properties text:space-before="4.8cm" text:min-label-width="0.6cm"/>
<style:text-properties fo:font-family="StarSymbol" style:use-window-font-color="true" fo:font-size="45%"/>
</text:list-level-style-bullet>
<text:list-level-style-bullet text:level="10" text:bullet-char="●">
<style:list-level-properties text:space-before="5.4cm" text:min-label-width="0.6cm"/>
<style:text-properties fo:font-family="StarSymbol" style:use-window-font-color="true" fo:font-size="45%"/>
</text:list-level-style-bullet>
</text:list-style>
</style:graphic-properties>
<style:paragraph-properties fo:margin-left="0cm" fo:margin-right="0cm" fo:text-align="center" fo:text-indent="0cm"/>
<style:text-properties fo:font-variant="normal" fo:text-transform="none" style:use-window-font-color="true" loext:opacity="0%" style:text-outline="false" style:text-line-through-style="none" style:text-line-through-type="none" style:font-name="Liberation Sans" fo:font-family="&apos;Liberation Sans&apos;" style:font-family-generic="roman" style:font-pitch="variable" fo:font-size="32pt" fo:font-style="normal" fo:text-shadow="none" style:text-underline-style="none" fo:font-weight="normal" style:letter-kerning="true" fo:background-color="transparent" style:font-name-asian="MS PGothic" style:font-family-asian="&apos;MS PGothic&apos;" style:font-family-generic-asian="system" style:font-pitch-asian="variable" style:font-size-asian="32pt" style:font-style-asian="normal" style:font-weight-asian="normal" style:font-name-complex="Tahoma" style:font-family-complex="Tahoma" style:font-family-generic-complex="system" style:font-pitch-complex="variable" style:font-size-complex="32pt" style:font-style-complex="normal" style:font-weight-complex="normal" style:text-emphasize="none" style:font-relief="none" style:text-overline-style="none" style:text-overline-color="font-color"/>
</style:style>
<style:style style:name="Standard-title" style:family="presentation">
<style:graphic-properties draw:stroke="none" draw:fill="none" draw:textarea-vertical-align="middle">
<text:list-style style:name="Standard-title">
<text:list-level-style-bullet text:level="1" text:bullet-char="●">
<style:list-level-properties text:min-label-width="0.6cm"/>
<style:text-properties fo:font-family="StarSymbol" style:use-window-font-color="true" fo:font-size="45%"/>
</text:list-level-style-bullet>
<text:list-level-style-bullet text:level="2" text:bullet-char="●">
<style:list-level-properties text:space-before="0.6cm" text:min-label-width="0.6cm"/>
<style:text-properties fo:font-family="StarSymbol" style:use-window-font-color="true" fo:font-size="45%"/>
</text:list-level-style-bullet>
<text:list-level-style-bullet text:level="3" text:bullet-char="●">
<style:list-level-properties text:space-before="1.2cm" text:min-label-width="0.6cm"/>
<style:text-properties fo:font-family="StarSymbol" style:use-window-font-color="true" fo:font-size="45%"/>
</text:list-level-style-bullet>
<text:list-level-style-bullet text:level="4" text:bullet-char="●">
<style:list-level-properties text:space-before="1.8cm" text:min-label-width="0.6cm"/>
<style:text-properties fo:font-family="StarSymbol" style:use-window-font-color="true" fo:font-size="45%"/>
</text:list-level-style-bullet>
<text:list-level-style-bullet text:level="5" text:bullet-char="●">
<style:list-level-properties text:space-before="2.4cm" text:min-label-width="0.6cm"/>
<style:text-properties fo:font-family="StarSymbol" style:use-window-font-color="true" fo:font-size="45%"/>
</text:list-level-style-bullet>
<text:list-level-style-bullet text:level="6" text:bullet-char="●">
<style:list-level-properties text:space-before="3cm" text:min-label-width="0.6cm"/>
<style:text-properties fo:font-family="StarSymbol" style:use-window-font-color="true" fo:font-size="45%"/>
</text:list-level-style-bullet>
<text:list-level-style-bullet text:level="7" text:bullet-char="●">
<style:list-level-properties text:space-before="3.6cm" text:min-label-width="0.6cm"/>
<style:text-properties fo:font-family="StarSymbol" style:use-window-font-color="true" fo:font-size="45%"/>
</text:list-level-style-bullet>
<text:list-level-style-bullet text:level="8" text:bullet-char="●">
<style:list-level-properties text:space-before="4.2cm" text:min-label-width="0.6cm"/>
<style:text-properties fo:font-family="StarSymbol" style:use-window-font-color="true" fo:font-size="45%"/>
</text:list-level-style-bullet>
<text:list-level-style-bullet text:level="9" text:bullet-char="●">
<style:list-level-properties text:space-before="4.8cm" text:min-label-width="0.6cm"/>
<style:text-properties fo:font-family="StarSymbol" style:use-window-font-color="true" fo:font-size="45%"/>
</text:list-level-style-bullet>
<text:list-level-style-bullet text:level="10" text:bullet-char="●">
<style:list-level-properties text:space-before="5.4cm" text:min-label-width="0.6cm"/>
<style:text-properties fo:font-family="StarSymbol" style:use-window-font-color="true" fo:font-size="45%"/>
</text:list-level-style-bullet>
</text:list-style>
</style:graphic-properties>
<style:paragraph-properties fo:text-align="center"/>
<style:text-properties fo:font-variant="normal" fo:text-transform="none" style:use-window-font-color="true" loext:opacity="0%" style:text-outline="false" style:text-line-through-style="none" style:text-line-through-type="none" style:font-name="Liberation Sans" fo:font-family="&apos;Liberation Sans&apos;" style:font-family-generic="roman" style:font-pitch="variable" fo:font-size="44.7000007629395pt" fo:font-style="normal" fo:text-shadow="none" style:text-underline-style="none" fo:font-weight="normal" style:letter-kerning="true" fo:background-color="transparent" style:font-name-asian="MS PGothic" style:font-family-asian="&apos;MS PGothic&apos;" style:font-family-generic-asian="system" style:font-pitch-asian="variable" style:font-size-asian="44pt" style:font-style-asian="normal" style:font-weight-asian="normal" style:font-name-complex="Tahoma" style:font-family-complex="Tahoma" style:font-family-generic-complex="system" style:font-pitch-complex="variable" style:font-size-complex="44pt" style:font-style-complex="normal" style:font-weight-complex="normal" style:text-emphasize="none" style:font-relief="none" style:text-overline-style="none" style:text-overline-color="font-color"/>
</style:style>
<style:presentation-page-layout style:name="AL0T22">
<presentation:placeholder presentation:object="handout" svg:x="2.058cm" svg:y="1.743cm" svg:width="23.912cm" svg:height="3.507cm"/>
</style:presentation-page-layout>
<style:presentation-page-layout style:name="AL1T0">
<presentation:placeholder presentation:object="title" svg:x="2.058cm" svg:y="1.743cm" svg:width="23.912cm" svg:height="3.507cm"/>
<presentation:placeholder presentation:object="subtitle" svg:x="2.058cm" svg:y="5.838cm" svg:width="23.912cm" svg:height="13.23cm"/>
</style:presentation-page-layout>
</office:styles>
<office:automatic-styles>
<style:page-layout style:name="PM0">
<style:page-layout-properties fo:margin-top="0cm" fo:margin-bottom="0cm" fo:margin-left="0cm" fo:margin-right="0cm" fo:page-width="21cm" fo:page-height="29.7cm" style:print-orientation="portrait"/>
</style:page-layout>
<style:page-layout style:name="PM1">
<style:page-layout-properties fo:margin-top="0cm" fo:margin-bottom="0cm" fo:margin-left="0cm" fo:margin-right="0cm" fo:page-width="24cm" fo:page-height="16cm" style:print-orientation="landscape"/>
</style:page-layout>
<style:style style:name="dp1" style:family="drawing-page">
<style:drawing-page-properties draw:background-size="border" draw:fill="none"/>
</style:style>
<style:style style:name="dp2" style:family="drawing-page">
<style:drawing-page-properties presentation:display-header="true" presentation:display-footer="true" presentation:display-page-number="false" presentation:display-date-time="true"/>
</style:style>
<style:style style:name="dp3" style:family="drawing-page">
<style:drawing-page-properties presentation:background-visible="true" presentation:background-objects-visible="true" presentation:display-footer="true" presentation:display-page-number="false" presentation:display-date-time="true"/>
</style:style>
<style:style style:name="gr1" style:family="graphic" style:parent-style-name="standard">
<style:graphic-properties draw:stroke="solid" svg:stroke-width="0.053cm" svg:stroke-color="#808080" draw:marker-start="" draw:marker-start-width="0.34cm" draw:marker-start-center="false" draw:marker-end="" draw:marker-end-width="0.34cm" draw:marker-end-center="false" draw:stroke-linejoin="miter" draw:fill="gradient" draw:fill-color="#ffffff" draw:secondary-fill-color="#d4ea6b" draw:fill-gradient-name="Purple2Cyan" draw:gradient-step-count="0" draw:opacity="100%" draw:textarea-horizontal-align="center" draw:textarea-vertical-align="middle" draw:auto-grow-height="false" draw:fit-to-size="false" style:shrink-to-fit="false" fo:min-height="5.48cm" fo:min-width="10.028cm" fo:padding-top="0.143cm" fo:padding-bottom="0.143cm" fo:padding-left="0.263cm" fo:padding-right="0.263cm" fo:wrap-option="wrap" draw:shadow="hidden" draw:shadow-offset-x="0.071cm" draw:shadow-offset-y="0.071cm" draw:shadow-color="#808080" draw:shadow-opacity="100%" style:writing-mode="lr-tb"/>
<style:paragraph-properties style:writing-mode="lr-tb"/>
</style:style>
<style:style style:name="gr2" style:family="graphic">
<style:graphic-properties style:protect="size"/>
</style:style>
<style:style style:name="pr1" style:family="presentation" style:parent-style-name="Standard-notes">
<style:graphic-properties draw:fill-color="#ffffff" draw:auto-grow-height="true" fo:min-height="13.364cm"/>
<style:paragraph-properties style:writing-mode="lr-tb"/>
</style:style>
<style:style style:name="P1" style:family="paragraph">
<style:paragraph-properties fo:margin-left="0cm" fo:margin-right="0cm" fo:margin-top="0cm" fo:margin-bottom="0cm" fo:line-height="100%" fo:text-align="start" fo:text-indent="0cm" style:punctuation-wrap="simple" style:line-break="normal" loext:tab-stop-distance="0cm" style:writing-mode="lr-tb">
<style:tab-stops/>
</style:paragraph-properties>
<style:text-properties fo:font-variant="normal" fo:text-transform="none" fo:color="#2a6099" loext:opacity="100%" style:text-outline="false" style:text-line-through-style="none" style:text-line-through-type="none" style:text-position="0% 100%" style:font-name="Arial Black" fo:font-size="24pt" fo:font-style="normal" fo:text-shadow="none" style:text-underline-style="none" fo:font-weight="normal" style:letter-kerning="true" style:font-name-asian="MS Gothic" style:font-size-asian="24pt" style:font-style-asian="normal" style:font-weight-asian="normal" style:font-name-complex="Tahoma1" style:font-size-complex="24pt" style:font-style-complex="normal" style:font-weight-complex="normal" style:text-emphasize="none" style:font-relief="none" style:text-overline-style="none" style:text-overline-color="font-color"/>
</style:style>
<style:style style:name="P2" style:family="paragraph">
<loext:graphic-properties draw:fill="gradient" draw:fill-color="#ffffff" draw:secondary-fill-color="#d4ea6b" draw:fill-gradient-name="Purple2Cyan" draw:gradient-step-count="0" draw:opacity="100%"/>
<style:paragraph-properties fo:margin-left="0cm" fo:margin-right="0cm" fo:margin-top="0cm" fo:margin-bottom="0cm" fo:line-height="100%" fo:text-align="start" fo:text-indent="0cm" style:punctuation-wrap="simple" style:line-break="normal" loext:tab-stop-distance="0cm" style:writing-mode="lr-tb">
<style:tab-stops/>
</style:paragraph-properties>
<style:text-properties fo:font-variant="normal" fo:text-transform="none" fo:color="#2a6099" loext:opacity="100%" style:text-outline="false" style:text-line-through-style="none" style:text-line-through-type="none" style:text-position="0% 100%" style:font-name="Arial Black" fo:font-size="24pt" fo:font-style="normal" fo:text-shadow="none" style:text-underline-style="none" fo:font-weight="normal" style:letter-kerning="true" style:font-name-asian="MS Gothic" style:font-size-asian="24pt" style:font-style-asian="normal" style:font-weight-asian="normal" style:font-name-complex="Tahoma1" style:font-size-complex="24pt" style:font-style-complex="normal" style:font-weight-complex="normal" style:text-emphasize="none" style:font-relief="none" style:text-overline-style="none" style:text-overline-color="font-color"/>
</style:style>
<style:style style:name="P3" style:family="paragraph">
<loext:graphic-properties draw:fill-color="#ffffff"/>
</style:style>
<style:style style:name="T1" style:family="text">
<style:text-properties fo:font-variant="normal" fo:text-transform="none" fo:color="#2a6099" loext:opacity="100%" style:text-outline="false" style:text-line-through-style="none" style:text-line-through-type="none" style:text-position="0% 100%" style:font-name="Arial Black" fo:font-size="24pt" fo:font-style="normal" fo:text-shadow="none" style:text-underline-style="none" fo:font-weight="normal" style:letter-kerning="true" style:font-name-asian="MS Gothic" style:font-size-asian="24pt" style:font-style-asian="normal" style:font-weight-asian="normal" style:font-name-complex="Tahoma1" style:font-size-complex="24pt" style:font-style-complex="normal" style:font-weight-complex="normal" style:text-emphasize="none" style:font-relief="none" style:text-overline-style="none" style:text-overline-color="font-color"/>
</style:style>
<text:list-style style:name="L1">
<text:list-level-style-bullet text:level="1" text:bullet-char="●">
<style:list-level-properties text:min-label-width="0.6cm"/>
<style:text-properties fo:font-family="StarSymbol" style:use-window-font-color="true" fo:font-size="45%"/>
</text:list-level-style-bullet>
<text:list-level-style-bullet text:level="2" text:bullet-char="●">
<style:list-level-properties text:space-before="0.6cm" text:min-label-width="0.6cm"/>
<style:text-properties fo:font-family="StarSymbol" style:use-window-font-color="true" fo:font-size="45%"/>
</text:list-level-style-bullet>
<text:list-level-style-bullet text:level="3" text:bullet-char="●">
<style:list-level-properties text:space-before="1.2cm" text:min-label-width="0.6cm"/>
<style:text-properties fo:font-family="StarSymbol" style:use-window-font-color="true" fo:font-size="45%"/>
</text:list-level-style-bullet>
<text:list-level-style-bullet text:level="4" text:bullet-char="●">
<style:list-level-properties text:space-before="1.8cm" text:min-label-width="0.6cm"/>
<style:text-properties fo:font-family="StarSymbol" style:use-window-font-color="true" fo:font-size="45%"/>
</text:list-level-style-bullet>
<text:list-level-style-bullet text:level="5" text:bullet-char="●">
<style:list-level-properties text:space-before="2.4cm" text:min-label-width="0.6cm"/>
<style:text-properties fo:font-family="StarSymbol" style:use-window-font-color="true" fo:font-size="45%"/>
</text:list-level-style-bullet>
<text:list-level-style-bullet text:level="6" text:bullet-char="●">
<style:list-level-properties text:space-before="3cm" text:min-label-width="0.6cm"/>
<style:text-properties fo:font-family="StarSymbol" style:use-window-font-color="true" fo:font-size="45%"/>
</text:list-level-style-bullet>
<text:list-level-style-bullet text:level="7" text:bullet-char="●">
<style:list-level-properties text:space-before="3.6cm" text:min-label-width="0.6cm"/>
<style:text-properties fo:font-family="StarSymbol" style:use-window-font-color="true" fo:font-size="45%"/>
</text:list-level-style-bullet>
<text:list-level-style-bullet text:level="8" text:bullet-char="●">
<style:list-level-properties text:space-before="4.2cm" text:min-label-width="0.6cm"/>
<style:text-properties fo:font-family="StarSymbol" style:use-window-font-color="true" fo:font-size="45%"/>
</text:list-level-style-bullet>
<text:list-level-style-bullet text:level="9" text:bullet-char="●">
<style:list-level-properties text:space-before="4.8cm" text:min-label-width="0.6cm"/>
<style:text-properties fo:font-family="StarSymbol" style:use-window-font-color="true" fo:font-size="45%"/>
</text:list-level-style-bullet>
<text:list-level-style-bullet text:level="10" text:bullet-char="●">
<style:list-level-properties text:space-before="5.4cm" text:min-label-width="0.6cm"/>
<style:text-properties fo:font-family="StarSymbol" style:use-window-font-color="true" fo:font-size="45%"/>
</text:list-level-style-bullet>
</text:list-style>
</office:automatic-styles>
<office:master-styles>
<draw:layer-set>
<draw:layer draw:name="layout"/>
<draw:layer draw:name="background"/>
<draw:layer draw:name="backgroundobjects"/>
<draw:layer draw:name="controls"/>
<draw:layer draw:name="measurelines"/>
</draw:layer-set>
<style:handout-master presentation:presentation-page-layout-name="AL0T22" style:page-layout-name="PM0" draw:style-name="dp2">
<draw:page-thumbnail draw:layer="backgroundobjects" svg:width="18.999cm" svg:height="12.665cm" svg:x="1cm" svg:y="8.517cm"/>
</style:handout-master>
<style:master-page style:name="Standard" style:page-layout-name="PM1" draw:style-name="dp1">
<loext:theme loext:name="Office Theme">
<loext:theme-colors loext:name="LibreOffice">
<loext:color loext:name="dark1" loext:color="#000000"/>
<loext:color loext:name="light1" loext:color="#ffffff"/>
<loext:color loext:name="dark2" loext:color="#000000"/>
<loext:color loext:name="light2" loext:color="#ffffff"/>
<loext:color loext:name="accent1" loext:color="#18a303"/>
<loext:color loext:name="accent2" loext:color="#0369a3"/>
<loext:color loext:name="accent3" loext:color="#a33e03"/>
<loext:color loext:name="accent4" loext:color="#8e03a3"/>
<loext:color loext:name="accent5" loext:color="#c99c00"/>
<loext:color loext:name="accent6" loext:color="#c9211e"/>
<loext:color loext:name="hyperlink" loext:color="#0000ee"/>
<loext:color loext:name="followed-hyperlink" loext:color="#551a8b"/>
</loext:theme-colors>
</loext:theme>
<draw:frame presentation:style-name="Standard-title" draw:layer="backgroundobjects" svg:width="21.599cm" svg:height="2.671cm" svg:x="1.2cm" svg:y="0.637cm" presentation:class="title" presentation:placeholder="true">
<draw:text-box/>
</draw:frame>
<draw:frame presentation:style-name="Standard-outline1" draw:layer="backgroundobjects" svg:width="21.599cm" svg:height="9.279cm" svg:x="1.2cm" svg:y="3.743cm" presentation:class="outline" presentation:placeholder="true">
<draw:text-box/>
</draw:frame>
<presentation:notes style:page-layout-name="PM0">
<draw:page-thumbnail presentation:style-name="Standard-title" draw:layer="backgroundobjects" svg:width="19.798cm" svg:height="11.136cm" svg:x="0.6cm" svg:y="2.257cm" presentation:class="page"/>
<draw:frame presentation:style-name="Standard-notes" draw:layer="backgroundobjects" svg:width="16.799cm" svg:height="13.364cm" svg:x="2.1cm" svg:y="14.107cm" presentation:class="notes" presentation:placeholder="true">
<draw:text-box/>
</draw:frame>
</presentation:notes>
</style:master-page>
</office:master-styles>
<office:body>
<office:presentation>
<draw:page draw:name="page1" draw:style-name="dp3" draw:master-page-name="Standard" presentation:presentation-page-layout-name="AL1T0">
<draw:custom-shape draw:name="ThreeStops" draw:style-name="gr1" draw:text-style-name="P2" draw:layer="layout" svg:width="10.553cm" svg:height="5.765cm" svg:x="4cm" svg:y="3.5cm">
<text:p text:style-name="P1"><text:span text:style-name="T1">Simple</text:span></text:p>
<draw:enhanced-geometry svg:viewBox="0 0 21600 21600" draw:mirror-horizontal="false" draw:mirror-vertical="false" draw:extrusion="false" draw:extrusion-depth="1cm 0" draw:extrusion-viewpoint="(3.472cm -3.472cm 25cm)" draw:extrusion-origin="0.5 -0.5" draw:extrusion-skew="50 -135" dr3d:projection="perspective" draw:extrusion-first-light-direction="(50000 -50000 10000)" draw:extrusion-second-light-direction="(-50000 0 10000)" dr3d:shade-mode="flat" draw:extrusion-metal="false" draw:extrusion-diffusion="0%" draw:extrusion-color="true" draw:extrusion-specularity="0%" draw:text-areas="0 0 21600 21600" draw:text-path="true" draw:text-path-mode="shape" draw:text-path-scale="path" draw:text-path-same-letter-heights="false" draw:type="fontwork-inflate" draw:modifiers="2950" draw:enhanced-path="M 0 ?f0 C 4100 ?f1 7300 0 10800 0 14300 0 17500 ?f1 21600 ?f0 N M 0 ?f2 C 4100 ?f3 7300 21600 10800 21600 14300 21600 17500 ?f3 21600 ?f2 N">
<draw:equation draw:name="f0" draw:formula="$0 "/>
<draw:equation draw:name="f1" draw:formula="1530*?f0 /4650"/>
<draw:equation draw:name="f2" draw:formula="21600-?f0 "/>
<draw:equation draw:name="f3" draw:formula="21600-?f1 "/>
<draw:handle draw:handle-position="left $0" draw:handle-range-y-minimum="0" draw:handle-range-y-maximum="4650"/>
</draw:enhanced-geometry>
</draw:custom-shape>
<presentation:notes draw:style-name="dp2">
<draw:page-thumbnail draw:style-name="gr2" draw:layer="layout" svg:width="19.798cm" svg:height="11.136cm" svg:x="0.6cm" svg:y="2.257cm" draw:page-number="1" presentation:class="page"/>
<draw:frame presentation:style-name="pr1" draw:text-style-name="P3" draw:layer="layout" svg:width="16.799cm" svg:height="13.364cm" svg:x="2.1cm" svg:y="14.107cm" presentation:class="notes" presentation:placeholder="true">
<draw:text-box/>
</draw:frame>
</presentation:notes>
</draw:page>
<presentation:settings presentation:mouse-visible="false"/>
</office:presentation>
</office:body>
</office:document>

View file

@ -0,0 +1,331 @@
<?xml version="1.0" encoding="UTF-8"?>
<office:document xmlns:office="urn:oasis:names:tc:opendocument:xmlns:office:1.0" xmlns:ooo="http://openoffice.org/2004/office" xmlns:fo="urn:oasis:names:tc:opendocument:xmlns:xsl-fo-compatible:1.0" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:config="urn:oasis:names:tc:opendocument:xmlns:config:1.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:meta="urn:oasis:names:tc:opendocument:xmlns:meta:1.0" xmlns:style="urn:oasis:names:tc:opendocument:xmlns:style:1.0" xmlns:text="urn:oasis:names:tc:opendocument:xmlns:text:1.0" xmlns:rpt="http://openoffice.org/2005/report" xmlns:draw="urn:oasis:names:tc:opendocument:xmlns:drawing:1.0" xmlns:dr3d="urn:oasis:names:tc:opendocument:xmlns:dr3d:1.0" xmlns:svg="urn:oasis:names:tc:opendocument:xmlns:svg-compatible:1.0" xmlns:chart="urn:oasis:names:tc:opendocument:xmlns:chart:1.0" xmlns:table="urn:oasis:names:tc:opendocument:xmlns:table:1.0" xmlns:number="urn:oasis:names:tc:opendocument:xmlns:datastyle:1.0" xmlns:ooow="http://openoffice.org/2004/writer" xmlns:oooc="http://openoffice.org/2004/calc" xmlns:of="urn:oasis:names:tc:opendocument:xmlns:of:1.2" xmlns:xforms="http://www.w3.org/2002/xforms" xmlns:tableooo="http://openoffice.org/2009/table" xmlns:calcext="urn:org:documentfoundation:names:experimental:calc:xmlns:calcext:1.0" xmlns:drawooo="http://openoffice.org/2010/draw" xmlns:loext="urn:org:documentfoundation:names:experimental:office:xmlns:loext:1.0" xmlns:field="urn:openoffice:names:experimental:ooo-ms-interop:xmlns:field:1.0" xmlns:math="http://www.w3.org/1998/Math/MathML" xmlns:form="urn:oasis:names:tc:opendocument:xmlns:form:1.0" xmlns:script="urn:oasis:names:tc:opendocument:xmlns:script:1.0" xmlns:formx="urn:openoffice:names:experimental:ooxml-odf-interop:xmlns:form:1.0" xmlns:dom="http://www.w3.org/2001/xml-events" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xhtml="http://www.w3.org/1999/xhtml" xmlns:grddl="http://www.w3.org/2003/g/data-view#" xmlns:css3t="http://www.w3.org/TR/css3-text/" xmlns:officeooo="http://openoffice.org/2009/office" office:version="1.3" office:mimetype="application/vnd.oasis.opendocument.text">
<office:meta><meta:creation-date>2023-06-08T12:08:34.452000000</meta:creation-date><dc:title>A6quer</dc:title><meta:editing-duration>PT2M6S</meta:editing-duration><meta:editing-cycles>2</meta:editing-cycles><meta:generator>B2020/24.2.0.0.alpha0$Windows_X86_64 LibreOffice_project/ca9341cf60f3f9350662d30b61f6eadefca24667</meta:generator><meta:initial-creator>Regina Henschel</meta:initial-creator><dc:date>2023-06-08T12:10:27.725000000</dc:date><dc:creator>Regina Henschel</dc:creator><meta:document-statistic meta:table-count="0" meta:image-count="0" meta:object-count="0" meta:page-count="1" meta:paragraph-count="0" meta:word-count="0" meta:character-count="0" meta:non-whitespace-character-count="0"/><meta:template xlink:type="simple" xlink:actuate="onRequest" xlink:title="A6quer" xlink:href="../../../../../../Build_forCommit/core/Build_forCommit/userContinue/user/template/A6quer.ott" meta:date="2023-06-08T12:08:29.922000000"/></office:meta>
<office:settings>
<config:config-item-set config:name="ooo:view-settings">
<config:config-item config:name="ViewAreaTop" config:type="long">0</config:config-item>
<config:config-item config:name="ViewAreaLeft" config:type="long">0</config:config-item>
<config:config-item config:name="ViewAreaWidth" config:type="long">30249</config:config-item>
<config:config-item config:name="ViewAreaHeight" config:type="long">9082</config:config-item>
<config:config-item config:name="ShowRedlineChanges" config:type="boolean">true</config:config-item>
<config:config-item config:name="InBrowseMode" config:type="boolean">false</config:config-item>
<config:config-item-map-indexed config:name="Views">
<config:config-item-map-entry>
<config:config-item config:name="ViewId" config:type="string">view2</config:config-item>
<config:config-item config:name="ViewLeft" config:type="long">8223</config:config-item>
<config:config-item config:name="ViewTop" config:type="long">1000</config:config-item>
<config:config-item config:name="VisibleLeft" config:type="long">0</config:config-item>
<config:config-item config:name="VisibleTop" config:type="long">0</config:config-item>
<config:config-item config:name="VisibleRight" config:type="long">30247</config:config-item>
<config:config-item config:name="VisibleBottom" config:type="long">9081</config:config-item>
<config:config-item config:name="ZoomType" config:type="short">0</config:config-item>
<config:config-item config:name="ViewLayoutColumns" config:type="short">1</config:config-item>
<config:config-item config:name="ViewLayoutBookMode" config:type="boolean">false</config:config-item>
<config:config-item config:name="ZoomFactor" config:type="short">100</config:config-item>
<config:config-item config:name="IsSelectedFrame" config:type="boolean">false</config:config-item>
<config:config-item config:name="KeepRatio" config:type="boolean">false</config:config-item>
<config:config-item config:name="AnchoredTextOverflowLegacy" config:type="boolean">false</config:config-item>
<config:config-item config:name="LegacySingleLineFontwork" config:type="boolean">true</config:config-item>
<config:config-item config:name="ConnectorUseSnapRect" config:type="boolean">false</config:config-item>
<config:config-item config:name="IgnoreBreakAfterMultilineField" config:type="boolean">false</config:config-item>
</config:config-item-map-entry>
</config:config-item-map-indexed>
</config:config-item-set>
<config:config-item-set config:name="ooo:configuration-settings">
<config:config-item config:name="AlignTabStopPosition" config:type="boolean">true</config:config-item>
<config:config-item config:name="PrinterSetup" config:type="base64Binary"/>
<config:config-item config:name="AddParaTableSpacing" config:type="boolean">false</config:config-item>
<config:config-item config:name="IgnoreFirstLineIndentInNumbering" config:type="boolean">false</config:config-item>
<config:config-item config:name="TabAtLeftIndentForParagraphsInList" config:type="boolean">false</config:config-item>
<config:config-item config:name="IsKernAsianPunctuation" config:type="boolean">false</config:config-item>
<config:config-item config:name="ChartAutoUpdate" config:type="boolean">true</config:config-item>
<config:config-item config:name="LinkUpdateMode" config:type="short">1</config:config-item>
<config:config-item config:name="FieldAutoUpdate" config:type="boolean">true</config:config-item>
<config:config-item config:name="UnxForceZeroExtLeading" config:type="boolean">false</config:config-item>
<config:config-item config:name="UseOldNumbering" config:type="boolean">false</config:config-item>
<config:config-item config:name="AddParaTableSpacingAtStart" config:type="boolean">false</config:config-item>
<config:config-item config:name="PrinterName" config:type="string"/>
<config:config-item config:name="InvertBorderSpacing" config:type="boolean">false</config:config-item>
<config:config-item config:name="RedlineProtectionKey" config:type="base64Binary"/>
<config:config-item config:name="UseFormerTextWrapping" config:type="boolean">false</config:config-item>
<config:config-item config:name="PrinterPaperFromSetup" config:type="boolean">false</config:config-item>
<config:config-item config:name="BackgroundParaOverDrawings" config:type="boolean">false</config:config-item>
<config:config-item config:name="CurrentDatabaseCommand" config:type="string"/>
<config:config-item config:name="CharacterCompressionType" config:type="short">0</config:config-item>
<config:config-item config:name="DisableOffPagePositioning" config:type="boolean">false</config:config-item>
<config:config-item config:name="ApplyUserData" config:type="boolean">true</config:config-item>
<config:config-item config:name="SaveThumbnail" config:type="boolean">true</config:config-item>
<config:config-item config:name="SaveVersionOnClose" config:type="boolean">false</config:config-item>
<config:config-item config:name="StylesNoDefault" config:type="boolean">false</config:config-item>
<config:config-item config:name="SaveGlobalDocumentLinks" config:type="boolean">false</config:config-item>
<config:config-item config:name="CurrentDatabaseDataSource" config:type="string"/>
<config:config-item config:name="CurrentDatabaseCommandType" config:type="int">0</config:config-item>
<config:config-item config:name="EmbeddedDatabaseName" config:type="string"/>
<config:config-item config:name="UpdateFromTemplate" config:type="boolean">true</config:config-item>
<config:config-item config:name="PrinterIndependentLayout" config:type="string">high-resolution</config:config-item>
<config:config-item config:name="IsLabelDocument" config:type="boolean">false</config:config-item>
<config:config-item config:name="ClippedPictures" config:type="boolean">false</config:config-item>
<config:config-item config:name="AddFrameOffsets" config:type="boolean">false</config:config-item>
<config:config-item config:name="AddVerticalFrameOffsets" config:type="boolean">false</config:config-item>
<config:config-item config:name="AddExternalLeading" config:type="boolean">true</config:config-item>
<config:config-item config:name="UnbreakableNumberings" config:type="boolean">false</config:config-item>
<config:config-item config:name="HeaderSpacingBelowLastPara" config:type="boolean">false</config:config-item>
<config:config-item config:name="TabsRelativeToIndent" config:type="boolean">true</config:config-item>
<config:config-item config:name="TableRowKeep" config:type="boolean">false</config:config-item>
<config:config-item config:name="OutlineLevelYieldsNumbering" config:type="boolean">false</config:config-item>
<config:config-item config:name="AllowPrintJobCancel" config:type="boolean">true</config:config-item>
<config:config-item config:name="TabOverflow" config:type="boolean">true</config:config-item>
<config:config-item config:name="UseFormerLineSpacing" config:type="boolean">false</config:config-item>
<config:config-item config:name="AddParaSpacingToTableCells" config:type="boolean">false</config:config-item>
<config:config-item config:name="DoNotCaptureDrawObjsOnPage" config:type="boolean">false</config:config-item>
<config:config-item config:name="ConsiderTextWrapOnObjPos" config:type="boolean">false</config:config-item>
<config:config-item config:name="AddParaLineSpacingToTableCells" config:type="boolean">false</config:config-item>
<config:config-item config:name="CollapseEmptyCellPara" config:type="boolean">true</config:config-item>
<config:config-item config:name="UseFormerObjectPositioning" config:type="boolean">false</config:config-item>
<config:config-item config:name="EmbedSystemFonts" config:type="boolean">false</config:config-item>
<config:config-item config:name="DoNotJustifyLinesWithManualBreak" config:type="boolean">true</config:config-item>
<config:config-item config:name="DoNotResetParaAttrsForNumFont" config:type="boolean">false</config:config-item>
<config:config-item config:name="FloattableNomargins" config:type="boolean">false</config:config-item>
<config:config-item config:name="IgnoreTabsAndBlanksForLineCalculation" config:type="boolean">false</config:config-item>
<config:config-item config:name="LoadReadonly" config:type="boolean">false</config:config-item>
<config:config-item config:name="ClipAsCharacterAnchoredWriterFlyFrames" config:type="boolean">false</config:config-item>
<config:config-item config:name="UseOldPrinterMetrics" config:type="boolean">false</config:config-item>
<config:config-item config:name="Rsid" config:type="int">1621794</config:config-item>
<config:config-item config:name="RsidRoot" config:type="int">1306543</config:config-item>
<config:config-item config:name="ProtectForm" config:type="boolean">false</config:config-item>
<config:config-item config:name="MsWordCompTrailingBlanks" config:type="boolean">false</config:config-item>
<config:config-item config:name="MsWordCompMinLineHeightByFly" config:type="boolean">false</config:config-item>
<config:config-item config:name="MathBaselineAlignment" config:type="boolean">true</config:config-item>
<config:config-item config:name="SmallCapsPercentage66" config:type="boolean">false</config:config-item>
<config:config-item config:name="EmbedFonts" config:type="boolean">false</config:config-item>
<config:config-item config:name="PrintDrawings" config:type="boolean">true</config:config-item>
<config:config-item config:name="EmbedComplexScriptFonts" config:type="boolean">true</config:config-item>
<config:config-item config:name="EmbedOnlyUsedFonts" config:type="boolean">false</config:config-item>
<config:config-item config:name="EmbedLatinScriptFonts" config:type="boolean">true</config:config-item>
<config:config-item config:name="EmbedAsianScriptFonts" config:type="boolean">true</config:config-item>
<config:config-item config:name="TabOverMargin" config:type="boolean">false</config:config-item>
<config:config-item config:name="ApplyParagraphMarkFormatToNumbering" config:type="boolean">false</config:config-item>
<config:config-item config:name="TabOverSpacing" config:type="boolean">false</config:config-item>
<config:config-item config:name="TreatSingleColumnBreakAsPageBreak" config:type="boolean">false</config:config-item>
<config:config-item config:name="SurroundTextWrapSmall" config:type="boolean">false</config:config-item>
<config:config-item config:name="PropLineSpacingShrinksFirstLine" config:type="boolean">true</config:config-item>
<config:config-item config:name="SubtractFlysAnchoredAtFlys" config:type="boolean">false</config:config-item>
<config:config-item config:name="EmptyDbFieldHidesPara" config:type="boolean">false</config:config-item>
<config:config-item config:name="ContinuousEndnotes" config:type="boolean">false</config:config-item>
<config:config-item config:name="ProtectBookmarks" config:type="boolean">false</config:config-item>
<config:config-item config:name="ProtectFields" config:type="boolean">false</config:config-item>
<config:config-item config:name="FrameAutowidthWithMorePara" config:type="boolean">false</config:config-item>
<config:config-item config:name="GutterAtTop" config:type="boolean">false</config:config-item>
<config:config-item config:name="FootnoteInColumnToPageEnd" config:type="boolean">true</config:config-item>
<config:config-item config:name="ImagePreferredDPI" config:type="int">0</config:config-item>
<config:config-item config:name="AutoFirstLineIndentDisregardLineSpace" config:type="boolean">true</config:config-item>
<config:config-item config:name="HyphenateURLs" config:type="boolean">false</config:config-item>
<config:config-item config:name="NoNumberingShowFollowBy" config:type="boolean">false</config:config-item>
<config:config-item config:name="DropCapPunctuation" config:type="boolean">true</config:config-item>
<config:config-item config:name="UseVariableWidthNBSP" config:type="boolean">false</config:config-item>
<config:config-item config:name="PrintAnnotationMode" config:type="short">0</config:config-item>
<config:config-item config:name="PrintPageBackground" config:type="boolean">true</config:config-item>
<config:config-item config:name="PrintBlackFonts" config:type="boolean">false</config:config-item>
<config:config-item config:name="PrintControls" config:type="boolean">true</config:config-item>
<config:config-item config:name="PrintLeftPages" config:type="boolean">true</config:config-item>
<config:config-item config:name="PrintGraphics" config:type="boolean">true</config:config-item>
<config:config-item config:name="PrintEmptyPages" config:type="boolean">true</config:config-item>
<config:config-item config:name="PrintHiddenText" config:type="boolean">false</config:config-item>
<config:config-item config:name="PrintTextPlaceholder" config:type="boolean">false</config:config-item>
<config:config-item config:name="PrintProspect" config:type="boolean">false</config:config-item>
<config:config-item config:name="PrintProspectRTL" config:type="boolean">false</config:config-item>
<config:config-item config:name="PrintReversed" config:type="boolean">false</config:config-item>
<config:config-item config:name="PrintRightPages" config:type="boolean">true</config:config-item>
<config:config-item config:name="PrintFaxName" config:type="string"/>
<config:config-item config:name="PrintPaperFromSetup" config:type="boolean">false</config:config-item>
<config:config-item config:name="PrintTables" config:type="boolean">true</config:config-item>
<config:config-item config:name="PrintSingleJobs" config:type="boolean">false</config:config-item>
</config:config-item-set>
</office:settings>
<office:scripts>
<office:script script:language="ooo:Basic">
<ooo:libraries xmlns:ooo="http://openoffice.org/2004/office" xmlns:xlink="http://www.w3.org/1999/xlink"/>
</office:script>
</office:scripts>
<office:font-face-decls>
<style:font-face style:name="Arial Black" svg:font-family="&apos;Arial Black&apos;" style:font-family-generic="swiss" style:font-pitch="variable"/>
<style:font-face style:name="MS Gothic" svg:font-family="&apos;MS Gothic&apos;" style:font-pitch="variable"/>
<style:font-face style:name="Noto Sans" svg:font-family="&apos;Noto Sans&apos;" style:font-family-generic="swiss"/>
<style:font-face style:name="Noto Sans CJK TC Regular" svg:font-family="&apos;Noto Sans CJK TC Regular&apos;" style:font-family-generic="swiss"/>
<style:font-face style:name="Noto Sans Hebrew" svg:font-family="&apos;Noto Sans Hebrew&apos;" style:font-family-generic="swiss"/>
<style:font-face style:name="Tahoma" svg:font-family="Tahoma" style:font-pitch="variable"/>
</office:font-face-decls>
<office:styles>
<draw:gradient draw:name="Purple2Cyan" draw:style="linear" draw:start-color="#ff1493" draw:end-color="#00ffff" draw:start-intensity="100%" draw:end-intensity="100%" draw:angle="30deg" draw:border="0%">
<loext:gradient-stop svg:offset="0" loext:color-type="rgb" loext:color-value="#ff1493"/>
<loext:gradient-stop svg:offset="0.3" loext:color-type="rgb" loext:color-value="#ffff00"/>
<loext:gradient-stop svg:offset="1" loext:color-type="rgb" loext:color-value="#00ffff"/></draw:gradient>
<style:default-style style:family="graphic">
<style:graphic-properties svg:stroke-color="#3465a4" draw:fill-color="#729fcf" fo:wrap-option="no-wrap" draw:shadow-offset-x="3mm" draw:shadow-offset-y="3mm" draw:start-line-spacing-horizontal="2.83mm" draw:start-line-spacing-vertical="2.83mm" draw:end-line-spacing-horizontal="2.83mm" draw:end-line-spacing-vertical="2.83mm" style:writing-mode="lr-tb" style:flow-with-text="false"/>
<style:paragraph-properties style:text-autospace="ideograph-alpha" style:line-break="strict" loext:tab-stop-distance="0mm" style:font-independent-line-spacing="false">
<style:tab-stops/>
</style:paragraph-properties>
<style:text-properties style:use-window-font-color="true" loext:opacity="0%" style:font-name="Noto Sans" fo:font-size="12pt" fo:language="de" fo:country="DE" style:letter-kerning="true" style:font-name-asian="Noto Sans CJK TC Regular" style:font-size-asian="10.5pt" style:language-asian="ja" style:country-asian="JP" style:font-name-complex="Noto Sans Hebrew" style:font-size-complex="12pt" style:language-complex="ar" style:country-complex="SA"/>
</style:default-style>
<style:default-style style:family="paragraph">
<style:paragraph-properties fo:orphans="2" fo:widows="2" fo:hyphenation-ladder-count="no-limit" style:text-autospace="ideograph-alpha" style:punctuation-wrap="hanging" style:line-break="strict" style:tab-stop-distance="12.51mm" style:writing-mode="lr-tb"/>
<style:text-properties style:use-window-font-color="true" loext:opacity="0%" style:font-name="Noto Sans" fo:font-size="12pt" fo:language="de" fo:country="DE" style:letter-kerning="true" style:font-name-asian="Noto Sans CJK TC Regular" style:font-size-asian="10.5pt" style:language-asian="ja" style:country-asian="JP" style:font-name-complex="Noto Sans Hebrew" style:font-size-complex="12pt" style:language-complex="ar" style:country-complex="SA" fo:hyphenate="false" fo:hyphenation-remain-char-count="2" fo:hyphenation-push-char-count="2" loext:hyphenation-no-caps="false" loext:hyphenation-no-last-word="false" loext:hyphenation-word-char-count="5" loext:hyphenation-zone="no-limit"/>
</style:default-style>
<style:default-style style:family="table">
<style:table-properties table:border-model="collapsing"/>
</style:default-style>
<style:default-style style:family="table-row">
<style:table-row-properties fo:keep-together="auto"/>
</style:default-style>
<style:style style:name="Standard" style:family="paragraph" style:class="text"/>
<style:style style:name="Heading" style:family="paragraph" style:parent-style-name="Standard" style:next-style-name="Text_20_body" style:class="text">
<style:paragraph-properties fo:margin-top="4.23mm" fo:margin-bottom="2.12mm" style:contextual-spacing="false" fo:keep-with-next="always"/>
<style:text-properties style:font-name="Noto Sans" fo:font-family="&apos;Noto Sans&apos;" style:font-family-generic="swiss" fo:font-size="14pt" style:font-name-asian="Noto Sans CJK TC Regular" style:font-family-asian="&apos;Noto Sans CJK TC Regular&apos;" style:font-family-generic-asian="swiss" style:font-size-asian="14pt" style:font-name-complex="Noto Sans Hebrew" style:font-family-complex="&apos;Noto Sans Hebrew&apos;" style:font-family-generic-complex="swiss" style:font-size-complex="14pt"/>
</style:style>
<style:style style:name="Text_20_body" style:display-name="Text body" style:family="paragraph" style:parent-style-name="Standard" style:class="text">
<style:paragraph-properties fo:margin-top="0mm" fo:margin-bottom="2.47mm" style:contextual-spacing="false" fo:line-height="115%"/>
</style:style>
<style:style style:name="List" style:family="paragraph" style:parent-style-name="Text_20_body" style:class="list">
<style:text-properties style:font-name="Noto Sans" fo:font-family="&apos;Noto Sans&apos;" style:font-family-generic="swiss" style:font-name-asian="Noto Sans CJK TC Regular" style:font-family-asian="&apos;Noto Sans CJK TC Regular&apos;" style:font-family-generic-asian="swiss" style:font-size-asian="12pt" style:font-name-complex="Noto Sans Hebrew" style:font-family-complex="&apos;Noto Sans Hebrew&apos;" style:font-family-generic-complex="swiss"/>
</style:style>
<style:style style:name="Caption" style:family="paragraph" style:parent-style-name="Standard" style:class="extra">
<style:paragraph-properties fo:margin-top="2.12mm" fo:margin-bottom="2.12mm" style:contextual-spacing="false" text:number-lines="false" text:line-number="0"/>
<style:text-properties style:font-name="Noto Sans" fo:font-family="&apos;Noto Sans&apos;" style:font-family-generic="swiss" fo:font-size="12pt" fo:font-style="italic" style:font-name-asian="Noto Sans CJK TC Regular" style:font-family-asian="&apos;Noto Sans CJK TC Regular&apos;" style:font-family-generic-asian="swiss" style:font-size-asian="12pt" style:font-style-asian="italic" style:font-name-complex="Noto Sans Hebrew" style:font-family-complex="&apos;Noto Sans Hebrew&apos;" style:font-family-generic-complex="swiss" style:font-size-complex="12pt" style:font-style-complex="italic"/>
</style:style>
<style:style style:name="Index" style:family="paragraph" style:parent-style-name="Standard" style:class="index">
<style:paragraph-properties text:number-lines="false" text:line-number="0"/>
<style:text-properties style:font-name="Noto Sans" fo:font-family="&apos;Noto Sans&apos;" style:font-family-generic="swiss" style:font-name-asian="Noto Sans CJK TC Regular" style:font-family-asian="&apos;Noto Sans CJK TC Regular&apos;" style:font-family-generic-asian="swiss" style:font-size-asian="12pt" style:font-name-complex="Noto Sans Hebrew" style:font-family-complex="&apos;Noto Sans Hebrew&apos;" style:font-family-generic-complex="swiss"/>
</style:style>
<text:outline-style style:name="Outline">
<text:outline-level-style text:level="1" loext:num-list-format="%1%" style:num-format="">
<style:list-level-properties text:list-level-position-and-space-mode="label-alignment">
<style:list-level-label-alignment text:label-followed-by="listtab"/>
</style:list-level-properties>
</text:outline-level-style>
<text:outline-level-style text:level="2" loext:num-list-format="%2%" style:num-format="">
<style:list-level-properties text:list-level-position-and-space-mode="label-alignment">
<style:list-level-label-alignment text:label-followed-by="listtab"/>
</style:list-level-properties>
</text:outline-level-style>
<text:outline-level-style text:level="3" loext:num-list-format="%3%" style:num-format="">
<style:list-level-properties text:list-level-position-and-space-mode="label-alignment">
<style:list-level-label-alignment text:label-followed-by="listtab"/>
</style:list-level-properties>
</text:outline-level-style>
<text:outline-level-style text:level="4" loext:num-list-format="%4%" style:num-format="">
<style:list-level-properties text:list-level-position-and-space-mode="label-alignment">
<style:list-level-label-alignment text:label-followed-by="listtab"/>
</style:list-level-properties>
</text:outline-level-style>
<text:outline-level-style text:level="5" loext:num-list-format="%5%" style:num-format="">
<style:list-level-properties text:list-level-position-and-space-mode="label-alignment">
<style:list-level-label-alignment text:label-followed-by="listtab"/>
</style:list-level-properties>
</text:outline-level-style>
<text:outline-level-style text:level="6" loext:num-list-format="%6%" style:num-format="">
<style:list-level-properties text:list-level-position-and-space-mode="label-alignment">
<style:list-level-label-alignment text:label-followed-by="listtab"/>
</style:list-level-properties>
</text:outline-level-style>
<text:outline-level-style text:level="7" loext:num-list-format="%7%" style:num-format="">
<style:list-level-properties text:list-level-position-and-space-mode="label-alignment">
<style:list-level-label-alignment text:label-followed-by="listtab"/>
</style:list-level-properties>
</text:outline-level-style>
<text:outline-level-style text:level="8" loext:num-list-format="%8%" style:num-format="">
<style:list-level-properties text:list-level-position-and-space-mode="label-alignment">
<style:list-level-label-alignment text:label-followed-by="listtab"/>
</style:list-level-properties>
</text:outline-level-style>
<text:outline-level-style text:level="9" loext:num-list-format="%9%" style:num-format="">
<style:list-level-properties text:list-level-position-and-space-mode="label-alignment">
<style:list-level-label-alignment text:label-followed-by="listtab"/>
</style:list-level-properties>
</text:outline-level-style>
<text:outline-level-style text:level="10" loext:num-list-format="%10%" style:num-format="">
<style:list-level-properties text:list-level-position-and-space-mode="label-alignment">
<style:list-level-label-alignment text:label-followed-by="listtab"/>
</style:list-level-properties>
</text:outline-level-style>
</text:outline-style>
<text:notes-configuration text:note-class="footnote" style:num-format="1" text:start-value="0" text:footnotes-position="page" text:start-numbering-at="document"/>
<text:notes-configuration text:note-class="endnote" style:num-format="i" text:start-value="0"/>
<text:linenumbering-configuration text:number-lines="false" text:offset="4.99mm" style:num-format="1" text:number-position="left" text:increment="5"/>
<style:default-page-layout>
<style:page-layout-properties style:writing-mode="lr-tb" style:layout-grid-standard-mode="true"/>
</style:default-page-layout>
<loext:theme loext:name="Office Theme">
<loext:theme-colors loext:name="LibreOffice">
<loext:color loext:name="dark1" loext:color="#000000"/>
<loext:color loext:name="light1" loext:color="#ffffff"/>
<loext:color loext:name="dark2" loext:color="#000000"/>
<loext:color loext:name="light2" loext:color="#ffffff"/>
<loext:color loext:name="accent1" loext:color="#18a303"/>
<loext:color loext:name="accent2" loext:color="#0369a3"/>
<loext:color loext:name="accent3" loext:color="#a33e03"/>
<loext:color loext:name="accent4" loext:color="#8e03a3"/>
<loext:color loext:name="accent5" loext:color="#c99c00"/>
<loext:color loext:name="accent6" loext:color="#c9211e"/>
<loext:color loext:name="hyperlink" loext:color="#0000ee"/>
<loext:color loext:name="followed-hyperlink" loext:color="#551a8b"/>
</loext:theme-colors>
</loext:theme>
</office:styles>
<office:automatic-styles>
<style:style style:name="P1" style:family="paragraph">
<style:paragraph-properties fo:margin-left="0mm" fo:margin-right="0mm" fo:margin-top="0mm" fo:margin-bottom="0mm" fo:line-height="100%" fo:text-align="start" fo:text-indent="0mm" style:punctuation-wrap="simple" style:line-break="normal" loext:tab-stop-distance="0mm" style:writing-mode="lr-tb">
<style:tab-stops/>
</style:paragraph-properties>
<style:text-properties fo:font-variant="normal" fo:text-transform="none" fo:color="#2a6099" loext:opacity="100%" style:text-outline="false" style:text-line-through-style="none" style:text-line-through-type="none" style:text-position="0% 100%" style:font-name="Arial Black" fo:font-size="24pt" fo:font-style="normal" fo:text-shadow="none" style:text-underline-style="none" fo:font-weight="normal" style:letter-kerning="true" style:font-name-asian="MS Gothic" style:font-size-asian="24pt" style:font-style-asian="normal" style:font-weight-asian="normal" style:font-name-complex="Tahoma" style:font-size-complex="24pt" style:font-style-complex="normal" style:font-weight-complex="normal" style:text-emphasize="none" style:font-relief="none" style:text-overline-style="none" style:text-overline-color="font-color"/>
</style:style>
<style:style style:name="P2" style:family="paragraph">
<loext:graphic-properties draw:fill="gradient" draw:fill-color="#ffffff" draw:secondary-fill-color="#d4ea6b" draw:fill-gradient-name="Purple2Cyan" draw:gradient-step-count="0" draw:opacity="100%"/>
<style:paragraph-properties fo:margin-left="0mm" fo:margin-right="0mm" fo:margin-top="0mm" fo:margin-bottom="0mm" fo:line-height="100%" fo:text-align="start" fo:text-indent="0mm" style:punctuation-wrap="simple" style:line-break="normal" loext:tab-stop-distance="0mm" style:writing-mode="lr-tb">
<style:tab-stops/>
</style:paragraph-properties>
<style:text-properties fo:font-variant="normal" fo:text-transform="none" fo:color="#2a6099" loext:opacity="100%" style:text-outline="false" style:text-line-through-style="none" style:text-line-through-type="none" style:text-position="0% 100%" style:font-name="Arial Black" fo:font-size="24pt" fo:font-style="normal" fo:text-shadow="none" style:text-underline-style="none" fo:font-weight="normal" style:letter-kerning="true" style:font-name-asian="MS Gothic" style:font-size-asian="24pt" style:font-style-asian="normal" style:font-weight-asian="normal" style:font-name-complex="Tahoma" style:font-size-complex="24pt" style:font-style-complex="normal" style:font-weight-complex="normal" style:text-emphasize="none" style:font-relief="none" style:text-overline-style="none" style:text-overline-color="font-color"/>
</style:style>
<style:style style:name="T1" style:family="text">
<style:text-properties fo:font-variant="normal" fo:text-transform="none" fo:color="#2a6099" loext:opacity="100%" style:text-outline="false" style:text-line-through-style="none" style:text-line-through-type="none" style:text-position="0% 100%" style:font-name="Arial Black" fo:font-size="24pt" fo:font-style="normal" fo:text-shadow="none" style:text-underline-style="none" fo:font-weight="normal" style:letter-kerning="true" style:font-name-asian="MS Gothic" style:font-size-asian="24pt" style:font-style-asian="normal" style:font-weight-asian="normal" style:font-name-complex="Tahoma" style:font-size-complex="24pt" style:font-style-complex="normal" style:font-weight-complex="normal" style:text-emphasize="none" style:font-relief="none" style:text-overline-style="none" style:text-overline-color="font-color"/>
</style:style>
<style:style style:name="gr1" style:family="graphic">
<style:graphic-properties draw:stroke="solid" svg:stroke-width="0.53mm" svg:stroke-color="#808080" draw:marker-start="" draw:marker-start-width="3.4mm" draw:marker-start-center="false" draw:marker-end="" draw:marker-end-width="3.4mm" draw:marker-end-center="false" draw:stroke-linejoin="miter" draw:fill="gradient" draw:fill-color="#ffffff" draw:secondary-fill-color="#d4ea6b" draw:fill-gradient-name="Purple2Cyan" draw:gradient-step-count="0" draw:opacity="100%" draw:textarea-horizontal-align="center" draw:textarea-vertical-align="middle" draw:auto-grow-height="false" draw:fit-to-size="false" style:shrink-to-fit="false" fo:min-height="41.45mm" fo:min-width="83.36mm" fo:padding-top="1.43mm" fo:padding-bottom="1.43mm" fo:padding-left="2.63mm" fo:padding-right="2.63mm" fo:wrap-option="wrap" draw:shadow="hidden" draw:shadow-offset-x="0.71mm" draw:shadow-offset-y="0.71mm" draw:shadow-color="#808080" draw:shadow-opacity="100%" style:writing-mode="lr-tb" style:run-through="foreground" style:wrap="run-through" style:number-wrapped-paragraphs="no-limit" style:vertical-pos="from-top" style:vertical-rel="paragraph-content" style:horizontal-pos="from-left" style:horizontal-rel="paragraph-content" draw:wrap-influence-on-position="once-concurrent" loext:allow-overlap="true" style:flow-with-text="false"/>
<style:paragraph-properties style:writing-mode="lr-tb"/>
</style:style>
<style:page-layout style:name="pm1">
<style:page-layout-properties fo:page-width="148.01mm" fo:page-height="105mm" style:num-format="1" style:print-orientation="landscape" fo:margin-top="4.99mm" fo:margin-bottom="4.99mm" fo:margin-left="4.99mm" fo:margin-right="4.99mm" style:writing-mode="lr-tb" style:layout-grid-color="#c0c0c0" style:layout-grid-lines="44" style:layout-grid-base-height="5.5mm" style:layout-grid-ruby-height="0mm" style:layout-grid-mode="none" style:layout-grid-ruby-below="false" style:layout-grid-print="true" style:layout-grid-display="true" style:layout-grid-base-width="3.7mm" style:layout-grid-snap-to="true" style:footnote-max-height="0mm" loext:margin-gutter="0mm">
<style:footnote-sep style:width="0.18mm" style:distance-before-sep="1.01mm" style:distance-after-sep="1.01mm" style:line-style="solid" style:adjustment="left" style:rel-width="25%" style:color="#000000"/>
</style:page-layout-properties>
<style:header-style/>
<style:footer-style/>
</style:page-layout>
<style:style style:name="dp1" style:family="drawing-page">
<style:drawing-page-properties draw:background-size="full"/>
</style:style>
</office:automatic-styles>
<office:master-styles>
<style:master-page style:name="Standard" style:page-layout-name="pm1" draw:style-name="dp1"/>
</office:master-styles>
<office:body>
<office:text>
<text:sequence-decls>
<text:sequence-decl text:display-outline-level="0" text:name="Illustration"/>
<text:sequence-decl text:display-outline-level="0" text:name="Table"/>
<text:sequence-decl text:display-outline-level="0" text:name="Text"/>
<text:sequence-decl text:display-outline-level="0" text:name="Drawing"/>
<text:sequence-decl text:display-outline-level="0" text:name="Figure"/>
</text:sequence-decls>
<text:p text:style-name="Standard"><draw:custom-shape text:anchor-type="paragraph" draw:z-index="0" draw:name="ThreeStops" draw:style-name="gr1" draw:text-style-name="P2" svg:width="88.61mm" svg:height="44.3mm" svg:x="22.28mm" svg:y="13.71mm">
<text:p text:style-name="P1"><text:span text:style-name="T1">Simple</text:span></text:p>
<draw:enhanced-geometry svg:viewBox="0 0 21600 21600" draw:mirror-horizontal="false" draw:mirror-vertical="false" draw:extrusion="false" draw:extrusion-depth="10mm 0" draw:extrusion-viewpoint="(34.72mm -34.72mm 250mm)" draw:extrusion-origin="0.5 -0.5" draw:extrusion-skew="50 -135" dr3d:projection="perspective" draw:extrusion-first-light-direction="(50000 -50000 10000)" draw:extrusion-second-light-direction="(-50000 0 10000)" dr3d:shade-mode="flat" draw:extrusion-metal="false" draw:extrusion-diffusion="0%" draw:extrusion-color="true" draw:extrusion-specularity="0%" draw:text-areas="0 0 21600 21600" draw:text-path="true" draw:text-path-mode="shape" draw:text-path-scale="path" draw:text-path-same-letter-heights="false" draw:type="fontwork-inflate" draw:modifiers="2950" draw:enhanced-path="M 0 ?f0 C 4100 ?f1 7300 0 10800 0 14300 0 17500 ?f1 21600 ?f0 N M 0 ?f2 C 4100 ?f3 7300 21600 10800 21600 14300 21600 17500 ?f3 21600 ?f2 N">
<draw:equation draw:name="f0" draw:formula="$0 "/>
<draw:equation draw:name="f1" draw:formula="1530*?f0 /4650"/>
<draw:equation draw:name="f2" draw:formula="21600-?f0 "/>
<draw:equation draw:name="f3" draw:formula="21600-?f1 "/>
<draw:handle draw:handle-position="left $0" draw:handle-range-y-minimum="0" draw:handle-range-y-maximum="4650"/>
</draw:enhanced-geometry>
</draw:custom-shape></text:p>
</office:text>
</office:body>
</office:document>

View file

@ -1012,7 +1012,7 @@ CPPUNIT_TEST_FIXTURE(Test, testFontworkDistance)
CPPUNIT_TEST_FIXTURE(Test, testFontworkLinGradientRGBColor)
{
// The document has a Fontwork shape with UI settings: linear gradient fill with angle 330deg,
// start color #ffff00 (Yellow) with 'Brightness' 80%, end color #4682B4 (Steel Blue), Transition
// start color #ffff00 (Yellow) with 'Intensity' 80%, end color #4682B4 (Steel Blue), Transition
// Start 25% and solid transparency 30%.
// Without fix the gradient was not exported at all.
loadFromURL(u"tdf51195_Fontwork_linearGradient.fodt");
@ -1040,15 +1040,15 @@ CPPUNIT_TEST_FIXTURE(Test, testFontworkLinGradientRGBColor)
assertXPath(pXmlDoc, sElement + "w14:textFill/w14:gradFill/w14:lin", "scaled", "0");
// Make sure the color stops have correct position and color
// The 'intensity' property in the UI has a different algorithm than the 'lumMod' attribute in
// OOXML. Therefore it cannot be exported as 'lumMod' but need to be incorporated into the color.
sElement += "w14:textFill/w14:gradFill/w14:gsLst/";
assertXPath(pXmlDoc, sElement + "w14:gs[1]", "pos", "0");
assertXPath(pXmlDoc, sElement + "w14:gs[1]/w14:srgbClr", "val", "ffff00");
assertXPath(pXmlDoc, sElement + "w14:gs[1]/w14:srgbClr/w14:lumMod", "val", "80000");
assertXPath(pXmlDoc, sElement + "w14:gs[1]/w14:srgbClr", "val", "cccc00");
assertXPath(pXmlDoc, sElement + "w14:gs[1]/w14:srgbClr/w14:alpha", "val", "30000");
assertXPath(pXmlDoc, sElement + "w14:gs[2]", "pos", "25000");
assertXPath(pXmlDoc, sElement + "w14:gs[2]/w14:srgbClr", "val", "ffff00");
assertXPath(pXmlDoc, sElement + "w14:gs[2]/w14:srgbClr/w14:lumMod", "val", "80000");
assertXPath(pXmlDoc, sElement + "w14:gs[2]/w14:srgbClr", "val", "cccc00");
assertXPath(pXmlDoc, sElement + "w14:gs[2]/w14:srgbClr/w14:alpha", "val", "30000");
assertXPath(pXmlDoc, sElement + "w14:gs[3]", "pos", "100000");
@ -1081,7 +1081,7 @@ CPPUNIT_TEST_FIXTURE(Test, testFontworkAxialGradientTransparency)
// Make sure w14:textFill and w14:gradFill elements exist with child elements
assertXPath(pXmlDoc, sElement + "w14:textFill/w14:gradFill/w14:gsLst", 1);
assertXPath(pXmlDoc, sElement + "w14:textFill/w14:gradFill/w14:gsLst/w14:gs", 6);
assertXPath(pXmlDoc, sElement + "w14:textFill/w14:gradFill/w14:gsLst/w14:gs", 3);
// 160deg gradient rotation = 290deg (360deg-160deg+90deg) color transition direction
assertXPath(pXmlDoc, sElement + "w14:textFill/w14:gradFill/w14:lin", "ang", "17400000");
assertXPath(pXmlDoc, sElement + "w14:textFill/w14:gradFill/w14:lin", "scaled", "0");
@ -1089,31 +1089,21 @@ CPPUNIT_TEST_FIXTURE(Test, testFontworkAxialGradientTransparency)
// Make sure the color stops have correct position and color
sElement += "w14:textFill/w14:gradFill/w14:gsLst/";
// gradient is in transparency, color is always the same.
for (char ch = '1'; ch <= '6'; ++ch)
for (char ch = '1'; ch <= '3'; ++ch)
{
assertXPath(pXmlDoc, sElement + "w14:gs[" + OStringChar(ch) + "]/w14:schemeClr", "val",
"accent3");
assertXPath(pXmlDoc, sElement + "w14:gs[" + OStringChar(ch) + "]/w14:schemeClr/w14:lumMod",
"val", "75000");
}
// outer transparency
assertXPath(pXmlDoc, sElement + "w14:gs[1]", "pos", "0");
assertXPath(pXmlDoc, sElement + "w14:gs[1]/w14:schemeClr/w14:alpha", "val", "90000");
// border, same transparency
assertXPath(pXmlDoc, sElement + "w14:gs[2]", "pos", "20000");
assertXPath(pXmlDoc, sElement + "w14:gs[2]/w14:schemeClr/w14:alpha", "val", "90000");
// gradient to inner transparency at center
assertXPath(pXmlDoc, sElement + "w14:gs[3]", "pos", "50000");
assertXPath(pXmlDoc, sElement + "w14:gs[3]/w14:schemeClr/w14:alpha", "val", "5000");
// from inner transparency at center
assertXPath(pXmlDoc, sElement + "w14:gs[4]", "pos", "50000");
assertXPath(pXmlDoc, sElement + "w14:gs[4]/w14:schemeClr/w14:alpha", "val", "5000");
// mirrored gradient to outer transparency
assertXPath(pXmlDoc, sElement + "w14:gs[5]", "pos", "80000");
assertXPath(pXmlDoc, sElement + "w14:gs[5]/w14:schemeClr/w14:alpha", "val", "90000");
// mirrored border
assertXPath(pXmlDoc, sElement + "w14:gs[6]", "pos", "100000");
assertXPath(pXmlDoc, sElement + "w14:gs[6]/w14:schemeClr/w14:alpha", "val", "90000");
// transparency values are not exactly like in UI because converting through rgb-color.
// border 40% in UI means 20% on each side.
assertXPath(pXmlDoc, sElement + "w14:gs[1]", "pos", "20000");
assertXPath(pXmlDoc, sElement + "w14:gs[1]/w14:schemeClr/w14:alpha", "val", "89800");
assertXPath(pXmlDoc, sElement + "w14:gs[2]", "pos", "50000");
assertXPath(pXmlDoc, sElement + "w14:gs[2]/w14:schemeClr/w14:alpha", "val", "4710");
assertXPath(pXmlDoc, sElement + "w14:gs[3]", "pos", "80000");
assertXPath(pXmlDoc, sElement + "w14:gs[3]/w14:schemeClr/w14:alpha", "val", "89800");
}
CPPUNIT_TEST_FIXTURE(Test, testFontworkRadialGradient)
@ -1147,12 +1137,13 @@ CPPUNIT_TEST_FIXTURE(Test, testFontworkRadialGradient)
{ { "l", "75000" }, { "t", "20000" }, { "r", "25000" }, { "b", "80000" } });
// Make sure the color stops have correct position and color
// The first stop is duplicated to force Word to render the gradient same as LO.
sElement += "w14:textFill/w14:gradFill/w14:gsLst/";
assertXPath(pXmlDoc, sElement + "w14:gs[1]", "pos", "0");
assertXPath(pXmlDoc, sElement + "w14:gs[1]/w14:srgbClr", "val", "ff0000");
assertXPath(pXmlDoc, sElement + "w14:gs[2]", "pos", "90000");
assertXPath(pXmlDoc, sElement + "w14:gs[2]/w14:srgbClr", "val", "40e0d0");
assertXPath(pXmlDoc, sElement + "w14:gs[3]", "pos", "100000");
assertXPath(pXmlDoc, sElement + "w14:gs[2]", "pos", "0");
assertXPath(pXmlDoc, sElement + "w14:gs[2]/w14:srgbClr", "val", "ff0000");
assertXPath(pXmlDoc, sElement + "w14:gs[3]", "pos", "90000");
assertXPath(pXmlDoc, sElement + "w14:gs[3]/w14:srgbClr", "val", "40e0d0");
}
@ -1187,16 +1178,16 @@ CPPUNIT_TEST_FIXTURE(Test, testFontworkEllipticalGradient)
{ { "l", "50000" }, { "t", "50000" }, { "r", "50000" }, { "b", "50000" } });
// Make sure the color stops have correct position and color
// transparency values are not exactly like in UI because converting through rgb-color.
sElement += "w14:textFill/w14:gradFill/w14:gsLst/";
assertXPath(pXmlDoc, sElement + "w14:gs[1]", "pos", "0");
assertXPath(pXmlDoc, sElement + "w14:gs[1]/w14:srgbClr", "val", "00008b");
assertXPath(pXmlDoc, sElement + "w14:gs[1]/w14:srgbClr/w14:alpha", 0);
assertXPath(pXmlDoc, sElement + "w14:gs[2]", "pos", "50000");
// stop is duplicated to force Word to same rendering as LO does.
assertXPath(pXmlDoc, sElement + "w14:gs[2]", "pos", "0");
assertXPath(pXmlDoc, sElement + "w14:gs[2]/w14:srgbClr", "val", "00008b");
assertXPath(pXmlDoc, sElement + "w14:gs[2]/w14:srgbClr/w14:alpha", "val", "70000");
assertXPath(pXmlDoc, sElement + "w14:gs[3]", "pos", "100000");
assertXPath(pXmlDoc, sElement + "w14:gs[3]", "pos", "50000");
assertXPath(pXmlDoc, sElement + "w14:gs[3]/w14:srgbClr", "val", "00008b");
assertXPath(pXmlDoc, sElement + "w14:gs[3]/w14:srgbClr/w14:alpha", "val", "70000");
assertXPath(pXmlDoc, sElement + "w14:gs[3]/w14:srgbClr/w14:alpha", "val", "69800");
}
CPPUNIT_TEST_FIXTURE(Test, testFontworkSquareGradient)
@ -1230,16 +1221,15 @@ CPPUNIT_TEST_FIXTURE(Test, testFontworkSquareGradient)
{ { "l", "100000" }, { "t", "50000" }, { "r", "0" }, { "b", "50000" } });
// Make sure the color stops have correct position and color
// The 'intensity' property in the UI has a different algorithm than the 'lumMod' attribute in
// OOXML. Therefore it cannot be exported as 'lumMod' but need to be incorporated into the color.
sElement += "w14:textFill/w14:gradFill/w14:gsLst/";
assertXPath(pXmlDoc, sElement + "w14:gs[1]", "pos", "0");
assertXPath(pXmlDoc, sElement + "w14:gs[1]/w14:srgbClr", "val", "ffff6e");
assertXPath(pXmlDoc, sElement + "w14:gs[1]/w14:srgbClr/w14:lumMod", "val", "90000");
assertXPath(pXmlDoc, sElement + "w14:gs[1]/w14:srgbClr", "val", "e6e663");
assertXPath(pXmlDoc, sElement + "w14:gs[2]", "pos", "0");
assertXPath(pXmlDoc, sElement + "w14:gs[2]/w14:srgbClr", "val", "ffff6e");
assertXPath(pXmlDoc, sElement + "w14:gs[2]/w14:srgbClr/w14:lumMod", "val", "90000");
assertXPath(pXmlDoc, sElement + "w14:gs[2]/w14:srgbClr", "val", "e6e663");
assertXPath(pXmlDoc, sElement + "w14:gs[3]", "pos", "100000");
assertXPath(pXmlDoc, sElement + "w14:gs[3]/w14:srgbClr", "val", "49b3ef");
assertXPath(pXmlDoc, sElement + "w14:gs[3]/w14:srgbClr/w14:lumMod", "val", "40000");
assertXPath(pXmlDoc, sElement + "w14:gs[3]/w14:srgbClr", "val", "1d4860");
}
CPPUNIT_TEST_FIXTURE(Test, testFontworkRectGradient)
@ -1273,22 +1263,24 @@ CPPUNIT_TEST_FIXTURE(Test, testFontworkRectGradient)
{ { "l", "50000" }, { "t", "50000" }, { "r", "50000" }, { "b", "50000" } });
// Make sure the color stops have correct position and color
// transparency values are not exactly like in UI because converting through rgb-color.
sElement += "w14:textFill/w14:gradFill/w14:gsLst/";
assertXPath(pXmlDoc, sElement + "w14:gs[1]", "pos", "0");
assertXPath(pXmlDoc, sElement + "w14:gs[1]/w14:schemeClr", "val", "accent4");
assertXPath(pXmlDoc, sElement + "w14:gs[1]/w14:schemeClr/w14:lumMod", "val", "40000");
assertXPath(pXmlDoc, sElement + "w14:gs[1]/w14:schemeClr/w14:lumOff", "val", "60000");
assertXPath(pXmlDoc, sElement + "w14:gs[1]/w14:schemeClr/w14:alpha", "val", "5000");
assertXPath(pXmlDoc, sElement + "w14:gs[2]", "pos", "90000");
assertXPath(pXmlDoc, sElement + "w14:gs[1]/w14:schemeClr/w14:alpha", "val", "4710");
// The first stop is duplicated to force Word to render the gradient same as LO.
assertXPath(pXmlDoc, sElement + "w14:gs[2]", "pos", "0");
assertXPath(pXmlDoc, sElement + "w14:gs[2]/w14:schemeClr", "val", "accent4");
assertXPath(pXmlDoc, sElement + "w14:gs[2]/w14:schemeClr/w14:lumMod", "val", "40000");
assertXPath(pXmlDoc, sElement + "w14:gs[2]/w14:schemeClr/w14:lumOff", "val", "60000");
assertXPath(pXmlDoc, sElement + "w14:gs[2]/w14:schemeClr/w14:alpha", "val", "70000");
assertXPath(pXmlDoc, sElement + "w14:gs[3]", "pos", "100000");
assertXPath(pXmlDoc, sElement + "w14:gs[2]/w14:schemeClr/w14:alpha", "val", "4710");
assertXPath(pXmlDoc, sElement + "w14:gs[3]", "pos", "90000");
assertXPath(pXmlDoc, sElement + "w14:gs[3]/w14:schemeClr", "val", "accent4");
assertXPath(pXmlDoc, sElement + "w14:gs[3]/w14:schemeClr/w14:lumMod", "val", "40000");
assertXPath(pXmlDoc, sElement + "w14:gs[3]/w14:schemeClr/w14:lumOff", "val", "60000");
assertXPath(pXmlDoc, sElement + "w14:gs[3]/w14:schemeClr/w14:alpha", "val", "70000");
assertXPath(pXmlDoc, sElement + "w14:gs[3]/w14:schemeClr/w14:alpha", "val", "69800");
}
CPPUNIT_TEST_FIXTURE(Test, testThemeColorTransparency)

73
oox/qa/unit/mcgr.cxx Normal file
View file

@ -0,0 +1,73 @@
/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
/*
* 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/.
*/
#include <test/unoapixml_test.hxx>
using namespace ::com::sun::star;
namespace
{
/// Covers tests for multi-color gradient (MCGR) feature, available since LO 7.6.0.
class TestMCGR : public UnoApiXmlTest
{
public:
TestMCGR()
: UnoApiXmlTest("/oox/qa/unit/data/")
{
}
};
CPPUNIT_TEST_FIXTURE(TestMCGR, testFontworkColorGradient)
{
// Given a document with three-color gradient on a Fontwork.
loadFromURL(u"MCGR_FontworkColorGradient.fodp");
// Save it to PPTX
save("Impress Office Open XML");
// And make sure a multi-color gradient fill is exported.
xmlDocUniquePtr pXmlDoc = parseExport("ppt/slides/slide1.xml");
// linear gradient with 30deg angle
assertXPath(pXmlDoc, "//a:r/a:rPr/a:gradFill/a:lin", "ang", "3600000");
// three color stops, no transparency
const OString sPath = "//a:r/a:rPr/a:gradFill/a:gsLst/";
assertXPath(pXmlDoc, sPath + "a:gs", 3);
assertXPath(pXmlDoc, sPath + "a:gs[1]", "pos", "0");
assertXPath(pXmlDoc, sPath + "a:gs[1]/a:srgbClr", "val", "ff1493");
assertXPath(pXmlDoc, sPath + "a:gs[2]", "pos", "30000");
assertXPath(pXmlDoc, sPath + "a:gs[2]/a:srgbClr", "val", "ffff00");
assertXPath(pXmlDoc, sPath + "a:gs[3]", "pos", "100000");
assertXPath(pXmlDoc, sPath + "a:gs[3]/a:srgbClr", "val", "00ffff");
}
CPPUNIT_TEST_FIXTURE(TestMCGR, testFontworkColorGradientWord)
{
// Fontwork is handled different in Word than in PowerPoint documents. So we need a separate
// test for a text document.
// Given a document with three-color gradient on a Fontwork.
loadFromURL(u"MCGR_FontworkColorGradient.fodt");
// Save it to DOCX
save("Office Open XML Text");
// And make sure a multi-color gradient fill is exported.
xmlDocUniquePtr pXmlDoc = parseExport("word/document.xml");
// linear gradient with 30deg angle
assertXPath(pXmlDoc, "//w14:lin", "ang", "3600000");
// three color stops, no transparency
const OString sPath = "//w14:gradFill/w14:gsLst/";
assertXPath(pXmlDoc, sPath + "w14:gs", 3);
assertXPath(pXmlDoc, sPath + "w14:gs[1]", "pos", "0");
assertXPath(pXmlDoc, sPath + "w14:gs[1]/w14:srgbClr", "val", "ff1493");
assertXPath(pXmlDoc, sPath + "w14:gs[2]", "pos", "30000");
assertXPath(pXmlDoc, sPath + "w14:gs[2]/w14:srgbClr", "val", "ffff00");
assertXPath(pXmlDoc, sPath + "w14:gs[3]", "pos", "100000");
assertXPath(pXmlDoc, sPath + "w14:gs[3]/w14:srgbClr", "val", "00ffff");
}
}
CPPUNIT_PLUGIN_IMPLEMENT();
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */

View file

@ -19,6 +19,8 @@
#include <drawingml/fontworkhelpers.hxx>
#include <basegfx/utils/bgradient.hxx>
#include <basegfx/utils/gradienttools.hxx>
#include <comphelper/propertysequence.hxx>
#include <comphelper/propertyvalue.hxx>
#include <comphelper/sequence.hxx>
@ -33,7 +35,7 @@
#include <tools/color.hxx>
#include <tools/helpers.hxx>
#include <com/sun/star/awt/Gradient.hpp>
#include <com/sun/star/awt/Gradient2.hpp>
#include <com/sun/star/beans/PropertyAttribute.hpp>
#include <com/sun/star/beans/PropertyValue.hpp>
#include <com/sun/star/beans/XPropertySet.hpp>
@ -1123,8 +1125,8 @@ void lcl_addColorTransformationToGrabBagStack(const model::ComplexColor& rComple
void lcl_getGradientsFromShape(const uno::Reference<beans::XPropertySet>& rXPropSet,
const uno::Reference<beans::XPropertySetInfo>& rXPropSetInfo,
awt::Gradient& rColorGradient, bool& rbHasColorGradient,
awt::Gradient& rTransparenceGradient,
awt::Gradient2& rColorGradient, bool& rbHasColorGradient,
awt::Gradient2& rTransparenceGradient,
bool& rbHasTransparenceGradient)
{
OUString sColorGradientName;
@ -1144,249 +1146,94 @@ void lcl_getGradientsFromShape(const uno::Reference<beans::XPropertySet>& rXProp
&& (rXPropSet->getPropertyValue(u"FillTransparenceGradient") >>= rTransparenceGradient);
}
// Returns color without transparency and without intensity. rnPos is position in gradient
// definition from 0 (= 0%) to 100 (=100%), without considering the gradient type. The border is at
// 0% side. The caller takes care to use a suitable position and gradient.
::Color lcl_getColorFromColorGradient(const awt::Gradient& rColorGradient, const sal_Int32 rnPos)
{
sal_Int16 nBorder = rColorGradient.Border; // Border is in percent
::Color aStartColor(ColorTransparency, rColorGradient.StartColor);
if (rnPos <= 0 || rnPos <= nBorder || nBorder >= 100)
return aStartColor;
::Color aEndColor(ColorTransparency, rColorGradient.EndColor);
if (rnPos >= 100)
return aEndColor;
// linear interpolation for nBorder < rnpos < 100 in each color component
auto ColorInterpolate = [rnPos, nBorder](sal_uInt8 nStartC, sal_uInt8 nEndC) -> sal_uInt8 {
return std::clamp<sal_uInt8>(
std::lround((nStartC * (100 - rnPos) + nEndC * (rnPos - nBorder)) / (100.0 - nBorder)),
0, 255);
};
sal_uInt8 nInterpolatedRed = ColorInterpolate(aStartColor.GetRed(), aEndColor.GetRed());
sal_uInt8 nInterpolatedGreen = ColorInterpolate(aStartColor.GetGreen(), aEndColor.GetGreen());
sal_uInt8 nInterpolatedBlue = ColorInterpolate(aStartColor.GetBlue(), aEndColor.GetBlue());
return ::Color(nInterpolatedRed, nInterpolatedGreen, nInterpolatedBlue);
}
// returns intensity in percent. rnPos is position in gradient definition from
// 0 (= 0%) to 100 (=100%), without considering the gradient type. The border is at 0% side.
// The caller takes care to use a suitable position and gradient.
sal_Int16 lcl_getIntensityFromColorGradient(const awt::Gradient& rColorGradient,
const sal_Int32 rnPos)
{
sal_Int16 nBorder = rColorGradient.Border; // Border is in percent
sal_Int16 nStartIntensity = rColorGradient.StartIntensity;
if (rnPos <= 0 || rnPos <= nBorder || nBorder >= 100)
return nStartIntensity;
sal_Int32 nEndIntensity = rColorGradient.EndIntensity;
if (rnPos >= 100)
return nEndIntensity;
// linear interpolation for nBorder < npos < 100
return std::lround((nStartIntensity * (100 - rnPos) + nEndIntensity * (rnPos - nBorder))
/ (100.0 - nBorder));
}
// returns transparency in percent. rnPos is position in gradient definition from
// 0 (= 0%) to 100 (=100%), without considering the gradient type. The border is at 0% side.
// The caller takes care to use a suitable position and gradient.
sal_Int16 lcl_getAlphaFromTransparenceGradient(const awt::Gradient& rTransparenceGradient,
const sal_Int32 rnPos)
{
sal_Int16 nBorder = rTransparenceGradient.Border; // Border is in percent
// The transparency is not in Start- or EndIntensity, but encoded into the Color as gray.
::Color aStartColor(ColorTransparency, rTransparenceGradient.StartColor);
if (rnPos <= 0 || rnPos <= nBorder || nBorder >= 100)
return std::lround(aStartColor.GetRed() * 100 / 255.0);
::Color aEndColor(ColorTransparency, rTransparenceGradient.EndColor);
if (rnPos >= 100)
return std::lround(aEndColor.GetRed() * 100 / 255.0);
// linear interpolation for nBorder < npos < 100
return std::lround(
(aStartColor.GetRed() * (100 - rnPos) + aEndColor.GetRed() * (rnPos - nBorder))
/ (100.0 - nBorder) * 100 / 255.0);
}
GradientStopColor
lcl_createGradientStopColor(const uno::Reference<beans::XPropertySet>& rXPropSet,
const uno::Reference<beans::XPropertySetInfo>& rXPropSetInfo,
const awt::Gradient& rColorGradient, const bool& rbHasColorGradient,
const awt::Gradient& rTransparenceGradient,
const bool& rbHasTransparenceGradient, const sal_Int32& rnPos)
{
// Component mnValue of Transformation struct is in 1/100th percent (e.g 80% = 8000) in range
// -10000 to +10000. Constants are used in converting from API values below.
constexpr sal_Int16 nFactorToHthPerc = 100;
constexpr sal_Int16 nMaxHthPerc = 10000;
GradientStopColor aStopColor;
if (rbHasTransparenceGradient)
{
// Color
if (rbHasColorGradient)
{
// a color gradient is yet not enabled to use theme colors
aStopColor.RGBColor = lcl_getColorFromColorGradient(rColorGradient, rnPos);
sal_Int16 nIntensity = lcl_getIntensityFromColorGradient(rColorGradient, rnPos);
if (nIntensity != 100)
aStopColor.TTColor.addTransformation(
{ model::TransformationType::LumMod,
std::clamp<sal_Int16>(nIntensity * nFactorToHthPerc, -nMaxHthPerc,
nMaxHthPerc) });
}
else // solid color
{
// fill color might be a theme color
if (!(FontworkHelpers::getThemeColorFromShape("FillComplexColor", rXPropSet,
aStopColor.TTColor)))
{
// no theme color, use FillColor
sal_Int32 nFillColor(0);
if (rXPropSetInfo->hasPropertyByName("FillColor"))
rXPropSet->getPropertyValue(u"FillColor") >>= nFillColor;
aStopColor.RGBColor = ::Color(ColorTransparency, nFillColor);
aStopColor.TTColor = model::ComplexColor();
}
}
// transparency
// Mixed gradient types for color and transparency are not possible in oox. For now we act as
// if gradient geometries are identical. That is the case if we get the gradient from oox
// import.
sal_Int16 nAlpha = lcl_getAlphaFromTransparenceGradient(rTransparenceGradient, rnPos);
// model::TransformationType::Alpha is designed to be used with a:alpha, which has opacity.
// Therefore convert transparency to opacity.
if (nAlpha > 0)
aStopColor.TTColor.addTransformation(
{ model::TransformationType::Alpha,
std::clamp<sal_Int16>(nMaxHthPerc - nAlpha * nFactorToHthPerc, -nMaxHthPerc,
nMaxHthPerc) });
return aStopColor;
}
// else solid transparency or no transparency
// color
if (rbHasColorGradient)
{
// a color gradient is yet not enabled to use theme colors
aStopColor.RGBColor = lcl_getColorFromColorGradient(rColorGradient, rnPos);
aStopColor.TTColor = model::ComplexColor();
sal_Int16 nIntensity = lcl_getIntensityFromColorGradient(rColorGradient, rnPos);
if (nIntensity != 100)
aStopColor.TTColor.addTransformation(
{ model::TransformationType::LumMod,
std::clamp<sal_Int16>(nIntensity * nFactorToHthPerc, -nMaxHthPerc,
nMaxHthPerc) });
}
else
{
// solid color and solid transparency
SAL_WARN("oox.drawingml", "method should not be called in this case");
if (!(FontworkHelpers::getThemeColorFromShape("FillComplexColor", rXPropSet,
aStopColor.TTColor)))
{
// no theme color, use FillColor
sal_Int32 nFillColor(0);
if (rXPropSetInfo->hasPropertyByName(u"FillColor"))
rXPropSet->getPropertyValue(u"FillColor") >>= nFillColor;
aStopColor.RGBColor = ::Color(ColorTransparency, nFillColor);
aStopColor.TTColor = model::ComplexColor();
}
}
// Maybe transparency from FillTransparence
// model::TransformationType::Alpha is designed to be used with a:alpha, which has opacity.
// Therefore convert transparency to opacity.
sal_Int16 nAlpha(0);
if (rXPropSetInfo->hasPropertyByName(u"FillTransparence")
&& (rXPropSet->getPropertyValue(u"FillTransparence") >>= nAlpha) && nAlpha > 0)
aStopColor.TTColor.addTransformation(
{ model::TransformationType::Alpha,
std::clamp<sal_Int16>(nMaxHthPerc - nAlpha * nFactorToHthPerc, -nMaxHthPerc,
nMaxHthPerc) });
return aStopColor;
}
ColorMapType lcl_createColorMapFromShapeProps(
const uno::Reference<beans::XPropertySet>& rXPropSet,
const uno::Reference<beans::XPropertySetInfo>& rXPropSetInfo,
const awt::Gradient& rColorGradient, const bool& rbHasColorGradient,
const awt::Gradient& rTransparenceGradient, const bool& rbHasTransparenceGradient)
const awt::Gradient2& rColorGradient, const bool& rbHasColorGradient,
const awt::Gradient2& rTransparenceGradient, const bool& rbHasTransparenceGradient)
{
ColorMapType aColorMap;
awt::Gradient aColorGradient = rColorGradient;
awt::Gradient aTransparenceGradient = rTransparenceGradient;
// AXIAL has reversed gradient direction. Change it so, that 'border' is at 'start'.
if (rbHasColorGradient && aColorGradient.Style == awt::GradientStyle_AXIAL)
{
std::swap<sal_Int32>(aColorGradient.StartColor, aColorGradient.EndColor);
std::swap<sal_Int16>(aColorGradient.StartIntensity, aColorGradient.EndIntensity);
}
if (rbHasTransparenceGradient && aTransparenceGradient.Style == awt::GradientStyle_AXIAL)
{
std::swap<sal_Int32>(aTransparenceGradient.StartColor, aTransparenceGradient.EndColor);
std::swap<sal_Int16>(aTransparenceGradient.StartIntensity,
aTransparenceGradient.EndIntensity);
}
// LibreOffice can use color gradients and transparency gradients with different geometries.
// That is not possible in OOXML, so a fill might look different in Word. But a round-trip
// with gradients imported from Word, should work well.
// A GradientStopColor includes color and transparency.
// The key of aColorMap has same unit as the w14:pos attribute of <w14:gs> element in oox.
GradientStopColor aStartStopColor
= lcl_createGradientStopColor(rXPropSet, rXPropSetInfo, aColorGradient, rbHasColorGradient,
aTransparenceGradient, rbHasTransparenceGradient, 0);
aColorMap.insert(std::pair{ 0, aStartStopColor });
GradientStopColor aEndStopColor
= lcl_createGradientStopColor(rXPropSet, rXPropSetInfo, aColorGradient, rbHasColorGradient,
aTransparenceGradient, rbHasTransparenceGradient, 100);
aColorMap.insert(std::pair{ 100000, aEndStopColor });
// We add additional GradientStopColor in case of borders.
// Word has transparency not as separate gradient but as color transformation in a color
// gradient. Thus we synchronize the gradients. Then they have same offsets and count.
basegfx::BColor aSingleColor;
basegfx::BGradient aColorBGradient;
basegfx::BColorStops aColorStops;
if (rbHasColorGradient)
{
// We only use the color border for now. If the transparency gradient has a total different
// geometry than the color gradient, a description is not possible in oox.
// ToDo: If geometries only differ in border, emulation is possible.
sal_Int32 nBorderPos = aColorGradient.Border * 1000;
if (nBorderPos > 0)
aColorMap.insert(std::pair{ nBorderPos, aStartStopColor });
aColorBGradient = basegfx::BGradient(rColorGradient);
aColorBGradient.tryToApplyStartEndIntensity();
aColorBGradient.tryToApplyBorder();
aColorBGradient.tryToApplyAxial();
basegfx::utils::prepareColorStops(aColorBGradient, aColorStops, aSingleColor);
// All gradient styles but LINEAR and AXIAL (which is already converted to LINEAR) need the
// stops sequence reverse.
if (awt::GradientStyle_LINEAR != aColorBGradient.GetGradientStyle())
aColorStops.reverseColorStops();
}
else if (rbHasTransparenceGradient)
else
{
sal_Int32 nBorderPos = aTransparenceGradient.Border * 1000;
if (nBorderPos > 0)
aColorMap.insert(std::pair{ nBorderPos, aStartStopColor });
sal_Int32 nFillColor(0);
if (rXPropSetInfo->hasPropertyByName("FillColor"))
rXPropSet->getPropertyValue(u"FillColor") >>= nFillColor;
aSingleColor = ::Color(ColorTransparency, nFillColor).getBColor().clamp();
}
// In case of AXIAL we compress the gradient to half wide and mirror it to the other half.
if ((rbHasColorGradient && aColorGradient.Style == awt::GradientStyle_AXIAL)
|| (!rbHasColorGradient && rbHasTransparenceGradient
&& aTransparenceGradient.Style == awt::GradientStyle_AXIAL))
basegfx::BColor aSingleTrans;
basegfx::BGradient aTransBGradient;
basegfx::BColorStops aTransStops;
if (rbHasTransparenceGradient)
{
ColorMapType aHelpColorMap(aColorMap);
aColorMap.clear();
for (auto it = aHelpColorMap.begin(); it != aHelpColorMap.end(); ++it)
{
aColorMap.insert(std::pair{ (*it).first / 2, (*it).second });
aColorMap.insert(std::pair{ 100000 - (*it).first / 2, (*it).second });
}
aTransBGradient = basegfx::BGradient(rTransparenceGradient);
aTransBGradient.tryToApplyStartEndIntensity(); // usually 100%, but might be set by macro
aTransBGradient.tryToApplyBorder();
aTransBGradient.tryToApplyAxial();
basegfx::utils::prepareColorStops(aTransBGradient, aTransStops, aSingleTrans);
// All gradient styles but LINEAR and AXIAL (which is already converted to LINEAR) need the
// stops sequence reverse.
if (awt::GradientStyle_LINEAR != aTransBGradient.GetGradientStyle())
aTransStops.reverseColorStops();
}
else if ((rbHasColorGradient && aColorGradient.Style != awt::GradientStyle_LINEAR)
|| (!rbHasColorGradient && rbHasTransparenceGradient
&& aTransparenceGradient.Style != awt::GradientStyle_LINEAR))
else
{
// only LINEAR has same direction as Word, the others are reverse.
ColorMapType aHelpColorMap(aColorMap);
aColorMap.clear();
for (auto it = aHelpColorMap.begin(); it != aHelpColorMap.end(); ++it)
sal_Int16 nAPITrans(0);
if (rXPropSetInfo->hasPropertyByName(u"FillTransparence"))
rXPropSet->getPropertyValue(u"FillTransparence") >>= nAPITrans;
// API transparency is in range 0..100, BColor in range [0.0, 1.0].
aSingleTrans = basegfx::BColor(nAPITrans * 0.01).clamp();
}
basegfx::utils::synchronizeColorStops(aColorStops, aTransStops, aSingleColor, aSingleTrans);
ColorMapType aColorMap;
// If we have no color gradient, the fix fill color might be a theme color. In that case we use
// it instead of the color from the color stop.
GradientStopColor aFixColor;
bool bUseThemeColor(!rbHasColorGradient
&& FontworkHelpers::getThemeColorFromShape("FillComplexColor", rXPropSet,
aFixColor.TTColor));
for (auto itC = aColorStops.begin(), itT = aTransStops.begin();
itC != aColorStops.end() && itT != aTransStops.end(); ++itC, ++itT)
{
GradientStopColor aNextStopColor = aFixColor;
if (!bUseThemeColor)
{
aColorMap.insert(std::pair{ 100000 - (*it).first, (*it).second });
aNextStopColor.TTColor = model::ComplexColor();
aNextStopColor.RGBColor = ::Color((*itC).getStopColor());
}
// model::TransformationType::Alpha is opacity in range 0..10000,
// BColor is transparency in range [0.0, 1.0]
sal_Int16 nAlpha = std::clamp<sal_Int16>(
10000 - std::lround((*itT).getStopColor().luminance() * 10000.0), 0, 10000);
if (nAlpha < 10000)
aNextStopColor.TTColor.addTransformation({ model::TransformationType::Alpha, nAlpha });
sal_Int32 nPosition
= static_cast<sal_Int32>(std::lround((*itC).getStopOffset() * 100000.0));
aColorMap.insert(std::pair{ nPosition, aNextStopColor });
}
// If a gradient has only two stops, MS Office renders it with a non-linear method which looks
@ -1397,7 +1244,6 @@ ColorMapType lcl_createColorMapFromShapeProps(
auto it = aColorMap.begin();
aColorMap.insert(std::pair{ 0, (*it).second });
}
return aColorMap;
}
} // end namespace
@ -1439,9 +1285,9 @@ void FontworkHelpers::createCharInteropGrabBagUpdatesFromShapeProps(
}
case drawing::FillStyle_GRADIENT:
{
awt::Gradient aColorGradient;
awt::Gradient2 aColorGradient;
bool bHasColorGradient(false);
awt::Gradient aTransparenceGradient;
awt::Gradient2 aTransparenceGradient;
bool bHasTransparenceGradient(false);
lcl_getGradientsFromShape(rXPropSet, xPropSetInfo, aColorGradient, bHasColorGradient,
aTransparenceGradient, bHasTransparenceGradient);
@ -1475,8 +1321,8 @@ void FontworkHelpers::createCharInteropGrabBagUpdatesFromShapeProps(
}
lcl_addColorTransformationToGrabBagStack((*it).second.TTColor, pGrabBagStack);
pGrabBagStack
->pop(); // maCurrentElement:'gs', maPropertyList:'attributes', 'srgbClr' or 'schemeClr'
pGrabBagStack->pop();
// maCurrentElement:'gs', maPropertyList:'attributes', 'srgbClr' or 'schemeClr'
pGrabBagStack->pop(); // maCurrentElement:'gsLst', maPropertyList: at least two 'gs'
}
pGrabBagStack->pop(); // maCurrentElement:'gradFill', maPropertyList: gsLst