Coverage Report

Created: 2026-04-09 11:41

next uncovered line (L), next uncovered region (R), next uncovered branch (B)
/src/libreoffice/xmloff/source/text/txtprmap.cxx
Line
Count
Source
1
/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
2
/*
3
 * This file is part of the LibreOffice project.
4
 *
5
 * This Source Code Form is subject to the terms of the Mozilla Public
6
 * License, v. 2.0. If a copy of the MPL was not distributed with this
7
 * file, You can obtain one at http://mozilla.org/MPL/2.0/.
8
 *
9
 * This file incorporates work covered by the following license notice:
10
 *
11
 *   Licensed to the Apache Software Foundation (ASF) under one or more
12
 *   contributor license agreements. See the NOTICE file distributed
13
 *   with this work for additional information regarding copyright
14
 *   ownership. The ASF licenses this file to you under the Apache
15
 *   License, Version 2.0 (the "License"); you may not use this file
16
 *   except in compliance with the License. You may obtain a copy of
17
 *   the License at http://www.apache.org/licenses/LICENSE-2.0 .
18
 */
19
20
#include <xmloff/txtprmap.hxx>
21
#include <xmloff/xmlnamespace.hxx>
22
#include <xmloff/xmltoken.hxx>
23
#include <xmloff/maptype.hxx>
24
#include <xmloff/xmltypes.hxx>
25
#include "txtprhdl.hxx"
26
#include <xmlsdtypes.hxx>
27
#include <sal/log.hxx>
28
#include <rtl/ref.hxx>
29
#include <xmlprop.hxx>
30
31
using namespace ::com::sun::star;
32
using namespace ::xmloff::token;
33
34
#define M_E_( a, p, l, t, c ) \
35
    { a, p, l, t, c, SvtSaveOptions::ODFSVER_010, false }
36
37
#define M_EV_( a, p, l, t, c, v ) \
38
    { a, p, l, t, c, v, false }
39
40
#define M_ED_( a, p, l, t, c ) \
41
    { a, p, l, (t) | MID_FLAG_DEFAULT_ITEM_EXPORT, c, SvtSaveOptions::ODFSVER_010, false }
42
43
// text properties
44
#define MT_E( a, p, l, t, c ) \
45
    M_E_( a, p, l, (t|XML_TYPE_PROP_TEXT), c )
46
#define MT_ED( a, p, l, t, c ) \
47
    M_ED_( a, p, l, (t|XML_TYPE_PROP_TEXT), c )
48
49
// paragraph properties
50
#define MP_E( a, p, l, t, c ) \
51
    M_E_( a, p, l, (t|XML_TYPE_PROP_PARAGRAPH), c )
52
#define MP_ED( a, p, l, t, c ) \
53
    M_ED_( a, p, l, (t|XML_TYPE_PROP_PARAGRAPH), c )
54
55
// graphic properties
56
#define MG_E( a, p, l, t, c ) \
57
    M_E_( a, p, l, (t|XML_TYPE_PROP_GRAPHIC), c )
58
#define MG_ED( a, p, l, t, c ) \
59
    M_ED_( a, p, l, (t|XML_TYPE_PROP_GRAPHIC), c )
60
#define MG_EV( a, p, l, t, c, v ) \
61
    M_EV_( a, p, l, (t|XML_TYPE_PROP_GRAPHIC), c, v )
62
63
// section properties
64
#define MS_E( a, p, l, t, c ) \
65
    M_E_( a, p, l, (t|XML_TYPE_PROP_SECTION), c )
66
67
// ruby properties
68
#define MR_E( a, p, l, t, c ) \
69
    M_E_( a, p, l, (t|XML_TYPE_PROP_RUBY), c )
70
#define MR_EV( a, p, l, t, c, v ) \
71
    M_EV_( a, p, l, (t|XML_TYPE_PROP_RUBY), c, v )
72
73
// cell properties
74
#define MC_E( a, p, l, t, c ) \
75
    M_E_( a, p, l, (t|XML_TYPE_PROP_TABLE_CELL), c )
76
77
#define MAP_ODF13(name,prefix,token,type,context)  { name, prefix, token, type, context, SvtSaveOptions::ODFSVER_013, false }
78
79
// extensions import/export
80
#define MAP_EXT(name,prefix,token,type,context)  { name, prefix, token, type, context, SvtSaveOptions::ODFSVER_FUTURE_EXTENDED, false }
81
// extensions import only
82
#define MAP_EXT_I(name,prefix,token,type,context)  { name, prefix, token, type, context, SvtSaveOptions::ODFSVER_FUTURE_EXTENDED, true }
83
84
#define M_END() { nullptr }
85
86
#define MAP_(name,prefix,token,type,context)  { name, prefix, token, type, context, SvtSaveOptions::ODFSVER_010, false }
87
#define GMAP(name,prefix,token,type,context) MAP_(name,prefix,token,static_cast<sal_Int32>(type|XML_TYPE_PROP_GRAPHIC),context)
88
89
XMLPropertyMapEntry constexpr aXMLParaPropMap[] =
90
{
91
    // RES_UNKNOWNATR_CONTAINER
92
    MP_E( PROP_ParaUserDefinedAttributes,      XML_NAMESPACE_TEXT, XML_XMLNS, XML_TYPE_ATTRIBUTE_CONTAINER | MID_FLAG_SPECIAL_ITEM, 0 ),
93
94
    // fill attributes for paragraph backgrounds
95
    // #i125045# moved to the front to be able to exclude these in lcl_txtprmap_getMap
96
    // for TextPropMap::SHAPE_PARA to not have these double for Shapes (which already have these)
97
    GMAP( PROP_FillStyle,                      XML_NAMESPACE_DRAW, XML_FILL,                   XML_SW_TYPE_FILLSTYLE, 0 ),
98
    GMAP( PROP_FillColor,                      XML_NAMESPACE_DRAW, XML_FILL_COLOR,             XML_TYPE_COLOR, 0 ),
99
    GMAP( PROP_FillColor2,                     XML_NAMESPACE_DRAW, XML_SECONDARY_FILL_COLOR,   XML_TYPE_COLOR, 0 ),
100
    GMAP( PROP_FillGradientName,               XML_NAMESPACE_DRAW, XML_FILL_GRADIENT_NAME,     XML_TYPE_STYLENAME|MID_FLAG_NO_PROPERTY_IMPORT, CTF_FILLGRADIENTNAME ),
101
    GMAP( PROP_FillGradientStepCount,          XML_NAMESPACE_DRAW, XML_GRADIENT_STEP_COUNT,    XML_TYPE_NUMBER16, 0 ),
102
    GMAP( PROP_FillHatchName,                  XML_NAMESPACE_DRAW, XML_FILL_HATCH_NAME,        XML_TYPE_STYLENAME|MID_FLAG_NO_PROPERTY_IMPORT, CTF_FILLHATCHNAME ),
103
    GMAP( PROP_FillBackground,                 XML_NAMESPACE_DRAW, XML_FILL_HATCH_SOLID,       XML_TYPE_BOOL, 0 ),
104
    GMAP( PROP_FillBitmapName,                 XML_NAMESPACE_DRAW, XML_FILL_IMAGE_NAME,        XML_TYPE_STYLENAME|MID_FLAG_NO_PROPERTY_IMPORT, CTF_FILLBITMAPNAME ),
105
    GMAP( PROP_FillTransparence,               XML_NAMESPACE_DRAW, XML_OPACITY,                XML_TYPE_NEG_PERCENT16|MID_FLAG_MULTI_PROPERTY, 0 ),    // exists in SW, too
106
    GMAP( PROP_FillTransparenceGradientName,   XML_NAMESPACE_DRAW, XML_OPACITY_NAME,           XML_TYPE_STYLENAME|MID_FLAG_NO_PROPERTY_IMPORT, CTF_FILLTRANSNAME ),
107
    GMAP( PROP_FillBitmapSizeX,                XML_NAMESPACE_DRAW, XML_FILL_IMAGE_WIDTH,       XML_SW_TYPE_FILLBITMAPSIZE|MID_FLAG_MULTI_PROPERTY, 0 ),
108
    GMAP( PROP_FillBitmapLogicalSize,          XML_NAMESPACE_DRAW, XML_FILL_IMAGE_WIDTH,       XML_SW_TYPE_LOGICAL_SIZE|MID_FLAG_MULTI_PROPERTY, 0 ),
109
    GMAP( PROP_FillBitmapSizeY,                XML_NAMESPACE_DRAW, XML_FILL_IMAGE_HEIGHT,      XML_SW_TYPE_FILLBITMAPSIZE|MID_FLAG_MULTI_PROPERTY, 0 ),
110
    GMAP( PROP_FillBitmapLogicalSize,          XML_NAMESPACE_DRAW, XML_FILL_IMAGE_HEIGHT,      XML_SW_TYPE_LOGICAL_SIZE|MID_FLAG_MULTI_PROPERTY, 0 ),
111
    GMAP( PROP_FillBitmapMode,                 XML_NAMESPACE_STYLE,XML_REPEAT,                 XML_SW_TYPE_BITMAP_MODE|MID_FLAG_MULTI_PROPERTY, 0 ),
112
    GMAP( PROP_FillBitmapPositionOffsetX,      XML_NAMESPACE_DRAW, XML_FILL_IMAGE_REF_POINT_X, XML_TYPE_PERCENT, 0 ),
113
    GMAP( PROP_FillBitmapPositionOffsetY,      XML_NAMESPACE_DRAW, XML_FILL_IMAGE_REF_POINT_Y, XML_TYPE_PERCENT, 0 ),
114
    GMAP( PROP_FillBitmapRectanglePoint,       XML_NAMESPACE_DRAW, XML_FILL_IMAGE_REF_POINT,   XML_SW_TYPE_BITMAP_REFPOINT, 0 ),
115
    GMAP( PROP_FillBitmapOffsetX,              XML_NAMESPACE_DRAW, XML_TILE_REPEAT_OFFSET,     XML_SW_TYPE_BITMAPREPOFFSETX|MID_FLAG_MULTI_PROPERTY, CTF_REPEAT_OFFSET_X ),
116
    GMAP( PROP_FillBitmapOffsetY,              XML_NAMESPACE_DRAW, XML_TILE_REPEAT_OFFSET,     XML_SW_TYPE_BITMAPREPOFFSETY|MID_FLAG_MULTI_PROPERTY, CTF_REPEAT_OFFSET_Y ),
117
118
    // RES_LR_SPACE
119
    // !!! DO NOT REORDER THE MARGINS !!!
120
    // - The all margin implementation enumerates the margin properties by relative index.
121
    MP_E( PROP_ParaLeftMargin,          XML_NAMESPACE_FO, XML_MARGIN,       XML_TYPE_MEASURE|MID_FLAG_MULTI_PROPERTY, CTF_PARAMARGINALL ),
122
    MP_E( PROP_ParaLeftMarginRelative,  XML_NAMESPACE_FO, XML_MARGIN,       XML_TYPE_PERCENT16, CTF_PARAMARGINALL_REL ),
123
    MP_E( PROP_ParaLeftMargin,          XML_NAMESPACE_FO, XML_MARGIN_LEFT,  XML_TYPE_MEASURE|MID_FLAG_MULTI_PROPERTY, CTF_PARALEFTMARGIN ),
124
    MP_E( PROP_ParaLeftMarginRelative,  XML_NAMESPACE_FO, XML_MARGIN_LEFT,  XML_TYPE_PERCENT16, CTF_PARALEFTMARGIN_REL ),
125
    MP_E( PROP_ParaRightMargin,         XML_NAMESPACE_FO, XML_MARGIN_RIGHT, XML_TYPE_MEASURE|MID_FLAG_MULTI_PROPERTY, CTF_PARARIGHTMARGIN ),
126
    MP_E( PROP_ParaRightMarginRelative, XML_NAMESPACE_FO, XML_MARGIN_RIGHT, XML_TYPE_PERCENT16, CTF_PARARIGHTMARGIN_REL ),
127
    // RES_UL_SPACE
128
    MP_E( PROP_ParaTopMargin,            XML_NAMESPACE_FO,    XML_MARGIN_TOP,         XML_TYPE_MEASURE|MID_FLAG_MULTI_PROPERTY, CTF_PARATOPMARGIN ),
129
    MP_E( PROP_ParaTopMarginRelative,    XML_NAMESPACE_FO,    XML_MARGIN_TOP,         XML_TYPE_PERCENT16, CTF_PARATOPMARGIN_REL ),
130
    MP_E( PROP_ParaBottomMargin,         XML_NAMESPACE_FO,    XML_MARGIN_BOTTOM,      XML_TYPE_MEASURE|MID_FLAG_MULTI_PROPERTY, CTF_PARABOTTOMMARGIN ),
131
    MP_E( PROP_ParaBottomMarginRelative, XML_NAMESPACE_FO,    XML_MARGIN_BOTTOM,      XML_TYPE_PERCENT16, CTF_PARABOTTOMMARGIN_REL ),
132
    MAP_ODF13( PROP_ParaContextMargin,   XML_NAMESPACE_STYLE, XML_CONTEXTUAL_SPACING, XML_TYPE_BOOL|XML_TYPE_PROP_PARAGRAPH, 0 ),    // ODF 1.3 OFFICE-3767 and was written by LO<=4.2
133
    MAP_ODF13( PROP_ParaContextMargin,   XML_NAMESPACE_LO_EXT, XML_CONTEXTUAL_SPACING, XML_TYPE_BOOL|XML_TYPE_PROP_PARAGRAPH, 0 ),     // extension namespace
134
    // RES_CHRATR_CASEMAP
135
    MT_E( PROP_CharCaseMap, XML_NAMESPACE_FO, XML_FONT_VARIANT,   XML_TYPE_TEXT_CASEMAP_VAR, 0 ),
136
    MT_E( PROP_CharCaseMap, XML_NAMESPACE_FO, XML_TEXT_TRANSFORM, XML_TYPE_TEXT_CASEMAP,     0 ),
137
    // RES_CHRATR_COLOR
138
    MT_ED( PROP_CharColor,            XML_NAMESPACE_FO,     XML_COLOR,                 XML_TYPE_COLORAUTO|MID_FLAG_MERGE_PROPERTY,   0 ),
139
    MT_ED( PROP_CharColor,            XML_NAMESPACE_STYLE,  XML_USE_WINDOW_FONT_COLOR, XML_TYPE_ISAUTOCOLOR|MID_FLAG_MERGE_PROPERTY, 0 ),
140
    MAP_EXT_I( PROP_CharTransparence, XML_NAMESPACE_DRAW,   XML_OPACITY,               XML_TYPE_NEG_PERCENT16 | XML_TYPE_PROP_TEXT,  0 ),
141
    MAP_EXT( PROP_CharTransparence,   XML_NAMESPACE_LO_EXT, XML_OPACITY,               XML_TYPE_NEG_PERCENT16 | XML_TYPE_PROP_TEXT,  0 ),
142
    MAP_EXT( PROP_CharComplexColor,   XML_NAMESPACE_LO_EXT, XML_CHAR_COMPLEX_COLOR,    XML_TYPE_COMPLEX_COLOR|XML_TYPE_PROP_TEXT|MID_FLAG_ELEMENT_ITEM, CTF_COMPLEX_COLOR ),
143
    // RES_CHRATR_CONTOUR
144
    MT_E( PROP_CharContoured, XML_NAMESPACE_STYLE, XML_TEXT_OUTLINE, XML_TYPE_BOOL, 0 ),
145
    // RES_CHRATR_CROSSEDOUT
146
    MT_E( PROP_CharStrikeout, XML_NAMESPACE_STYLE, XML_TEXT_LINE_THROUGH_STYLE, XML_TYPE_TEXT_CROSSEDOUT_STYLE|MID_FLAG_MERGE_PROPERTY, 0 ),
147
    MT_E( PROP_CharStrikeout, XML_NAMESPACE_STYLE, XML_TEXT_LINE_THROUGH_TYPE,  XML_TYPE_TEXT_CROSSEDOUT_TYPE|MID_FLAG_MERGE_PROPERTY,  0 ),
148
    MT_E( PROP_CharStrikeout, XML_NAMESPACE_STYLE, XML_TEXT_LINE_THROUGH_WIDTH, XML_TYPE_TEXT_CROSSEDOUT_WIDTH|MID_FLAG_MERGE_PROPERTY, 0 ),
149
    MT_E( PROP_CharStrikeout, XML_NAMESPACE_STYLE, XML_TEXT_LINE_THROUGH_TEXT,  XML_TYPE_TEXT_CROSSEDOUT_TEXT|MID_FLAG_MERGE_PROPERTY,  0 ),
150
    // RES_CHRATR_ESCAPEMENT
151
    MT_E( PROP_CharEscapement,       XML_NAMESPACE_STYLE, XML_TEXT_POSITION, XML_TYPE_TEXT_ESCAPEMENT|MID_FLAG_MERGE_ATTRIBUTE|MID_FLAG_MULTI_PROPERTY, 0 ),
152
    MT_E( PROP_CharEscapementHeight, XML_NAMESPACE_STYLE, XML_TEXT_POSITION, XML_TYPE_TEXT_ESCAPEMENT_HEIGHT|MID_FLAG_MERGE_ATTRIBUTE|MID_FLAG_MULTI_PROPERTY, 0 ),
153
    // RES_CHRATR_FONT
154
    MT_ED( PROP_CharFontName,      XML_NAMESPACE_STYLE, XML_FONT_NAME,           XML_TYPE_STRING|MID_FLAG_SPECIAL_ITEM_IMPORT, CTF_FONTNAME ),
155
    MT_ED( PROP_CharFontName,      XML_NAMESPACE_FO,    XML_FONT_FAMILY,         XML_TYPE_TEXT_FONTFAMILYNAME|MID_FLAG_SPECIAL_ITEM_IMPORT, CTF_FONTFAMILYNAME ),
156
    MT_ED( PROP_CharFontStyleName, XML_NAMESPACE_STYLE, XML_FONT_STYLE_NAME,     XML_TYPE_STRING, CTF_FONTSTYLENAME ),
157
    MT_ED( PROP_CharFontFamily,    XML_NAMESPACE_STYLE, XML_FONT_FAMILY_GENERIC, XML_TYPE_TEXT_FONTFAMILY, CTF_FONTFAMILY ),
158
    MT_ED( PROP_CharFontPitch,     XML_NAMESPACE_STYLE, XML_FONT_PITCH,          XML_TYPE_TEXT_FONTPITCH, CTF_FONTPITCH ),
159
    MT_ED( PROP_CharFontCharSet,   XML_NAMESPACE_STYLE, XML_FONT_CHARSET,        XML_TYPE_TEXT_FONTENCODING, CTF_FONTCHARSET ),
160
    // RES_CHRATR_FONTSIZE
161
    MT_ED( PROP_CharHeight,     XML_NAMESPACE_FO,    XML_FONT_SIZE,     XML_TYPE_CHAR_HEIGHT|MID_FLAG_MULTI_PROPERTY, CTF_CHARHEIGHT ),
162
    MT_ED( PROP_CharPropHeight, XML_NAMESPACE_FO,    XML_FONT_SIZE,     XML_TYPE_CHAR_HEIGHT_PROP|MID_FLAG_MULTI_PROPERTY, CTF_CHARHEIGHT_REL ),
163
    MT_ED( PROP_CharDiffHeight, XML_NAMESPACE_STYLE, XML_FONT_SIZE_REL, XML_TYPE_CHAR_HEIGHT_DIFF, CTF_CHARHEIGHT_DIFF ),
164
    // RES_CHRATR_KERNING
165
    MT_E( PROP_CharKerning, XML_NAMESPACE_FO, XML_LETTER_SPACING,     XML_TYPE_TEXT_KERNING, 0 ),
166
    // RES_CHRATR_LANGUAGE
167
    MT_ED( PROP_CharLocale, XML_NAMESPACE_STYLE, XML_RFC_LANGUAGE_TAG, XML_TYPE_CHAR_RFC_LANGUAGE_TAG|MID_FLAG_MERGE_PROPERTY, 0 ),
168
    MT_ED( PROP_CharLocale, XML_NAMESPACE_FO,    XML_LANGUAGE,         XML_TYPE_CHAR_LANGUAGE|MID_FLAG_MERGE_PROPERTY,         0 ),
169
    MT_ED( PROP_CharLocale, XML_NAMESPACE_FO,    XML_SCRIPT,           XML_TYPE_CHAR_SCRIPT|MID_FLAG_MERGE_PROPERTY,           0 ),
170
    MT_ED( PROP_CharLocale, XML_NAMESPACE_FO,    XML_COUNTRY,          XML_TYPE_CHAR_COUNTRY|MID_FLAG_MERGE_PROPERTY,          0 ),
171
    // RES_CHRATR_POSTURE
172
    MT_E( PROP_CharPosture, XML_NAMESPACE_FO, XML_FONT_STYLE, XML_TYPE_TEXT_POSTURE, 0 ),
173
    // RES_CHRATR_UNUSED1
174
    // RES_CHRATR_SHADOWED
175
    MT_E( PROP_CharShadowed, XML_NAMESPACE_FO, XML_TEXT_SHADOW, XML_TYPE_TEXT_SHADOWED, 0 ),
176
    // RES_CHRATR_UNDERLINE
177
    MT_E( PROP_CharUnderline,         XML_NAMESPACE_STYLE, XML_TEXT_UNDERLINE_STYLE, XML_TYPE_TEXT_UNDERLINE_STYLE|MID_FLAG_MERGE_PROPERTY,  CTF_UNDERLINE ),
178
    MT_E( PROP_CharUnderline,         XML_NAMESPACE_STYLE, XML_TEXT_UNDERLINE_TYPE,  XML_TYPE_TEXT_UNDERLINE_TYPE|MID_FLAG_MERGE_PROPERTY,  0 ),
179
    MT_E( PROP_CharUnderline,         XML_NAMESPACE_STYLE, XML_TEXT_UNDERLINE_WIDTH, XML_TYPE_TEXT_UNDERLINE_WIDTH|MID_FLAG_MERGE_PROPERTY, 0 ),
180
    MT_E( PROP_CharUnderlineColor,    XML_NAMESPACE_STYLE, XML_TEXT_UNDERLINE_COLOR, XML_TYPE_TEXT_UNDERLINE_COLOR|MID_FLAG_MULTI_PROPERTY,  CTF_UNDERLINE_COLOR  ),
181
    MT_E( PROP_CharUnderlineHasColor, XML_NAMESPACE_STYLE, XML_TEXT_UNDERLINE_COLOR, XML_TYPE_TEXT_UNDERLINE_HASCOLOR|MID_FLAG_MERGE_ATTRIBUTE, CTF_UNDERLINE_HASCOLOR   ),
182
    // RES_CHRATR_WEIGHT
183
    MT_E( PROP_CharWeight, XML_NAMESPACE_FO, XML_FONT_WEIGHT, XML_TYPE_TEXT_WEIGHT, 0 ),
184
    // RES_CHRATR_RSID
185
    { PROP_Rsid, XML_NAMESPACE_OFFICE_EXT, XML_RSID, XML_TYPE_HEX|XML_TYPE_PROP_TEXT, 0, SvtSaveOptions::ODFSVER_FUTURE_EXTENDED, false },
186
    // RES_PARATR_RSID
187
    { PROP_ParRsid, XML_NAMESPACE_OFFICE_EXT, XML_PARRSID, XML_TYPE_HEX|XML_TYPE_PROP_TEXT, 0, SvtSaveOptions::ODFSVER_FUTURE_EXTENDED, false },
188
    // RES_CHRATR_WORDLINEMODE
189
    MT_E( PROP_CharWordMode, XML_NAMESPACE_STYLE, XML_TEXT_UNDERLINE_MODE,    XML_TYPE_TEXT_LINE_MODE|MID_FLAG_MERGE_PROPERTY, 0 ),
190
    MT_E( PROP_CharWordMode, XML_NAMESPACE_STYLE, XML_TEXT_OVERLINE_MODE,     XML_TYPE_TEXT_LINE_MODE|MID_FLAG_MERGE_PROPERTY, 0 ),
191
    MT_E( PROP_CharWordMode, XML_NAMESPACE_STYLE, XML_TEXT_LINE_THROUGH_MODE, XML_TYPE_TEXT_LINE_MODE|MID_FLAG_MERGE_PROPERTY, 0 ),
192
    // RES_CHRATR_AUTOKERN
193
    MT_E( PROP_CharAutoKerning, XML_NAMESPACE_STYLE, XML_LETTER_KERNING, XML_TYPE_BOOL, 0 ),
194
    // RES_CHRATR_BLINK
195
    MT_E( PROP_CharFlash, XML_NAMESPACE_STYLE, XML_TEXT_BLINKING, XML_TYPE_BOOL, 0 ),
196
    // RES_CHRATR_NOHYPHEN
197
    // TODO: only for words, PROP_ParaIsHyphenation is for paragraphs: check them
198
    // RES_CHRATR_UNUSED2
199
    // RES_CHRATR_BACKGROUND
200
    MT_E( PROP_CharBackColor,       XML_NAMESPACE_FO, XML_BACKGROUND_COLOR,      XML_TYPE_COLORTRANSPARENT|MID_FLAG_MULTI_PROPERTY, CTF_CHAR_BACKGROUND ),
201
    MT_E( PROP_CharBackTransparent, XML_NAMESPACE_FO, XML_BACKGROUND_COLOR,      XML_TYPE_ISTRANSPARENT|MID_FLAG_MERGE_ATTRIBUTE, CTF_CHAR_BACKGROUND_TRANSPARENCY),
202
    MT_E( PROP_CharBackColor,       XML_NAMESPACE_FO, XML_TEXT_BACKGROUND_COLOR, XML_TYPE_COLOR|MID_FLAG_SPECIAL_ITEM_EXPORT, CTF_OLDTEXTBACKGROUND ),
203
    // RES_CHRATR_CJK_FONT
204
    MT_ED( PROP_CharFontNameAsian,      XML_NAMESPACE_STYLE, XML_FONT_NAME_ASIAN,           XML_TYPE_STRING|MID_FLAG_SPECIAL_ITEM_IMPORT, CTF_FONTNAME_CJK ),
205
    MT_ED( PROP_CharFontNameAsian,      XML_NAMESPACE_STYLE, XML_FONT_FAMILY_ASIAN,         XML_TYPE_TEXT_FONTFAMILYNAME|MID_FLAG_SPECIAL_ITEM_IMPORT, CTF_FONTFAMILYNAME_CJK ),
206
    MT_ED( PROP_CharFontStyleNameAsian, XML_NAMESPACE_STYLE, XML_FONT_STYLE_NAME_ASIAN,     XML_TYPE_STRING, CTF_FONTSTYLENAME_CJK ),
207
    MT_ED( PROP_CharFontFamilyAsian,    XML_NAMESPACE_STYLE, XML_FONT_FAMILY_GENERIC_ASIAN, XML_TYPE_TEXT_FONTFAMILY, CTF_FONTFAMILY_CJK ),
208
    MT_ED( PROP_CharFontPitchAsian,     XML_NAMESPACE_STYLE, XML_FONT_PITCH_ASIAN,          XML_TYPE_TEXT_FONTPITCH, CTF_FONTPITCH_CJK ),
209
    MT_ED( PROP_CharFontCharSetAsian,   XML_NAMESPACE_STYLE, XML_FONT_CHARSET_ASIAN,        XML_TYPE_TEXT_FONTENCODING, CTF_FONTCHARSET_CJK ),
210
    // RES_CHRATR_CJK_FONTSIZE
211
    MT_ED( PROP_CharHeightAsian,     XML_NAMESPACE_STYLE, XML_FONT_SIZE_ASIAN,     XML_TYPE_CHAR_HEIGHT|MID_FLAG_MULTI_PROPERTY, CTF_CHARHEIGHT_CJK ),
212
    MT_ED( PROP_CharPropHeightAsian, XML_NAMESPACE_STYLE, XML_FONT_SIZE_ASIAN,     XML_TYPE_CHAR_HEIGHT_PROP|MID_FLAG_MULTI_PROPERTY, CTF_CHARHEIGHT_REL_CJK ),
213
    MT_ED( PROP_CharDiffHeightAsian, XML_NAMESPACE_STYLE, XML_FONT_SIZE_REL_ASIAN, XML_TYPE_CHAR_HEIGHT_DIFF, CTF_CHARHEIGHT_DIFF_CJK ),
214
    // RES_CHRATR_CJK_LANGUAGE
215
    MT_ED( PROP_CharLocaleAsian, XML_NAMESPACE_STYLE, XML_RFC_LANGUAGE_TAG_ASIAN, XML_TYPE_CHAR_RFC_LANGUAGE_TAG|MID_FLAG_MERGE_PROPERTY, 0 ),
216
    MT_ED( PROP_CharLocaleAsian, XML_NAMESPACE_STYLE, XML_LANGUAGE_ASIAN,         XML_TYPE_CHAR_LANGUAGE|MID_FLAG_MERGE_PROPERTY,         0 ),
217
    MT_ED( PROP_CharLocaleAsian, XML_NAMESPACE_STYLE, XML_SCRIPT_ASIAN,           XML_TYPE_CHAR_SCRIPT|MID_FLAG_MERGE_PROPERTY,           0 ),
218
    MT_ED( PROP_CharLocaleAsian, XML_NAMESPACE_STYLE, XML_COUNTRY_ASIAN,          XML_TYPE_CHAR_COUNTRY|MID_FLAG_MERGE_PROPERTY,          0 ),
219
    // RES_CHRATR_CJK_POSTURE
220
    MT_E( PROP_CharPostureAsian, XML_NAMESPACE_STYLE, XML_FONT_STYLE_ASIAN, XML_TYPE_TEXT_POSTURE, 0 ),
221
    // RES_CHRATR_CJK_WEIGHT
222
    MT_E( PROP_CharWeightAsian, XML_NAMESPACE_STYLE, XML_FONT_WEIGHT_ASIAN, XML_TYPE_TEXT_WEIGHT, 0 ),
223
    // RES_CHRATR_CTL_FONT
224
    MT_ED( PROP_CharFontNameComplex,      XML_NAMESPACE_STYLE, XML_FONT_NAME_COMPLEX,           XML_TYPE_STRING|MID_FLAG_SPECIAL_ITEM_IMPORT, CTF_FONTNAME_CTL ),
225
    MT_ED( PROP_CharFontNameComplex,      XML_NAMESPACE_STYLE, XML_FONT_FAMILY_COMPLEX,         XML_TYPE_TEXT_FONTFAMILYNAME|MID_FLAG_SPECIAL_ITEM_IMPORT, CTF_FONTFAMILYNAME_CTL ),
226
    MT_ED( PROP_CharFontStyleNameComplex, XML_NAMESPACE_STYLE, XML_FONT_STYLE_NAME_COMPLEX,     XML_TYPE_STRING, CTF_FONTSTYLENAME_CTL ),
227
    MT_ED( PROP_CharFontFamilyComplex,    XML_NAMESPACE_STYLE, XML_FONT_FAMILY_GENERIC_COMPLEX, XML_TYPE_TEXT_FONTFAMILY, CTF_FONTFAMILY_CTL ),
228
    MT_ED( PROP_CharFontPitchComplex,     XML_NAMESPACE_STYLE, XML_FONT_PITCH_COMPLEX,          XML_TYPE_TEXT_FONTPITCH, CTF_FONTPITCH_CTL ),
229
    MT_ED( PROP_CharFontCharSetComplex,   XML_NAMESPACE_STYLE, XML_FONT_CHARSET_COMPLEX,        XML_TYPE_TEXT_FONTENCODING, CTF_FONTCHARSET_CTL ),
230
    // RES_CHRATR_CTL_FONTSIZE
231
    MT_ED( PROP_CharHeightComplex,     XML_NAMESPACE_STYLE, XML_FONT_SIZE_COMPLEX,     XML_TYPE_CHAR_HEIGHT|MID_FLAG_MULTI_PROPERTY, CTF_CHARHEIGHT_CTL ),
232
    MT_ED( PROP_CharPropHeightComplex, XML_NAMESPACE_STYLE, XML_FONT_SIZE_COMPLEX,     XML_TYPE_CHAR_HEIGHT_PROP|MID_FLAG_MULTI_PROPERTY, CTF_CHARHEIGHT_REL_CTL ),
233
    MT_ED( PROP_CharDiffHeightComplex, XML_NAMESPACE_STYLE, XML_FONT_SIZE_REL_COMPLEX, XML_TYPE_CHAR_HEIGHT_DIFF, CTF_CHARHEIGHT_DIFF_CTL ),
234
    // RES_CHRATR_CTL_LANGUAGE
235
    MT_ED( PROP_CharLocaleComplex, XML_NAMESPACE_STYLE, XML_RFC_LANGUAGE_TAG_COMPLEX, XML_TYPE_CHAR_RFC_LANGUAGE_TAG|MID_FLAG_MERGE_PROPERTY, 0 ),
236
    MT_ED( PROP_CharLocaleComplex, XML_NAMESPACE_STYLE, XML_LANGUAGE_COMPLEX,         XML_TYPE_CHAR_LANGUAGE|MID_FLAG_MERGE_PROPERTY,         0 ),
237
    MT_ED( PROP_CharLocaleComplex, XML_NAMESPACE_STYLE, XML_SCRIPT_COMPLEX,           XML_TYPE_CHAR_SCRIPT|MID_FLAG_MERGE_PROPERTY,           0 ),
238
    MT_ED( PROP_CharLocaleComplex, XML_NAMESPACE_STYLE, XML_COUNTRY_COMPLEX,          XML_TYPE_CHAR_COUNTRY|MID_FLAG_MERGE_PROPERTY,          0 ),
239
    // RES_CHRATR_CTL_POSTURE
240
    MT_E( PROP_CharPostureComplex, XML_NAMESPACE_STYLE, XML_FONT_STYLE_COMPLEX, XML_TYPE_TEXT_POSTURE, 0 ),
241
    // RES_CHRATR_CTL_WEIGHT
242
    MT_E( PROP_CharWeightComplex, XML_NAMESPACE_STYLE, XML_FONT_WEIGHT_COMPLEX, XML_TYPE_TEXT_WEIGHT, 0 ),
243
    // RES_CHRATR_ROTATE
244
    MT_E( PROP_CharRotation,            XML_NAMESPACE_STYLE, XML_TEXT_ROTATION_ANGLE, XML_TYPE_TEXT_ROTATION_ANGLE, 0 ),
245
    MT_E( PROP_CharRotationIsFitToLine, XML_NAMESPACE_STYLE, XML_TEXT_ROTATION_SCALE, XML_TYPE_TEXT_ROTATION_SCALE, 0 ),
246
    // RES_CHRATR_EMPHASIS_MARK
247
    MT_E( PROP_CharEmphasis, XML_NAMESPACE_STYLE, XML_TEXT_EMPHASIZE, XML_TYPE_TEXT_EMPHASIZE, 0 ),
248
    // RES_CHRATR_TWO_LINES
249
    MT_E( PROP_CharCombineIsOn,   XML_NAMESPACE_STYLE, XML_TEXT_COMBINE,            XML_TYPE_TEXT_COMBINE, 0 ),
250
    MT_E( PROP_CharCombinePrefix, XML_NAMESPACE_STYLE, XML_TEXT_COMBINE_START_CHAR, XML_TYPE_TEXT_COMBINECHAR, 0 ),
251
    MT_E( PROP_CharCombineSuffix, XML_NAMESPACE_STYLE, XML_TEXT_COMBINE_END_CHAR,   XML_TYPE_TEXT_COMBINECHAR, 0 ),
252
    // RES_CHRATR_SCALEW
253
    MT_E( PROP_CharScaleWidth, XML_NAMESPACE_STYLE, XML_TEXT_SCALE, XML_TYPE_PERCENT16, 0 ),
254
    //RES_CHRATR_RELIEF
255
    MT_E( PROP_CharRelief, XML_NAMESPACE_STYLE, XML_FONT_RELIEF, XML_TYPE_TEXT_FONT_RELIEF, 0 ),
256
    MAP_EXT( PROP_CharOpticalSizing, XML_NAMESPACE_LO_EXT, XML_FONT_OPTICAL_SIZING, XML_TYPE_TEXT_FONT_OPTICAL_SIZING | XML_TYPE_PROP_TEXT, 0 ),
257
    MAP_EXT( PROP_CharFontVariations, XML_NAMESPACE_LO_EXT, XML_FONT_VARIATION_SETTINGS, XML_TYPE_STRING | XML_TYPE_PROP_TEXT, 0 ),
258
    // RES_CHRATR_HIDDEN
259
    MT_E( PROP_CharHidden, XML_NAMESPACE_TEXT, XML_DISPLAY, XML_TYPE_TEXT_HIDDEN_AS_DISPLAY|MID_FLAG_SPECIAL_ITEM_IMPORT, CTF_TEXT_DISPLAY ),
260
    // RES_CHRATR_OVERLINE
261
    MT_E( PROP_CharOverline,         XML_NAMESPACE_STYLE, XML_TEXT_OVERLINE_STYLE, XML_TYPE_TEXT_OVERLINE_STYLE|MID_FLAG_MERGE_PROPERTY,     0 ),
262
    MT_E( PROP_CharOverline,         XML_NAMESPACE_STYLE, XML_TEXT_OVERLINE_TYPE,  XML_TYPE_TEXT_OVERLINE_TYPE|MID_FLAG_MERGE_PROPERTY,      0 ),
263
    MT_E( PROP_CharOverline,         XML_NAMESPACE_STYLE, XML_TEXT_OVERLINE_WIDTH, XML_TYPE_TEXT_OVERLINE_WIDTH|MID_FLAG_MERGE_PROPERTY,     0 ),
264
    MT_E( PROP_CharOverlineColor,    XML_NAMESPACE_STYLE, XML_TEXT_OVERLINE_COLOR, XML_TYPE_TEXT_OVERLINE_COLOR|MID_FLAG_MULTI_PROPERTY,     0 ),
265
    MT_E( PROP_CharOverlineHasColor, XML_NAMESPACE_STYLE, XML_TEXT_OVERLINE_COLOR, XML_TYPE_TEXT_OVERLINE_HASCOLOR|MID_FLAG_MERGE_ATTRIBUTE, 0 ),
266
    // RES_CHRATR_BOX
267
    MAP_EXT( PROP_CharLeftBorder,     XML_NAMESPACE_LO_EXT, XML_BORDER_LINE_WIDTH,        XML_TYPE_BORDER_WIDTH|XML_TYPE_PROP_TEXT, CTF_CHARALLBORDERWIDTH ),
268
    MAP_EXT( PROP_CharLeftBorder,     XML_NAMESPACE_LO_EXT, XML_BORDER_LINE_WIDTH_LEFT,   XML_TYPE_BORDER_WIDTH|XML_TYPE_PROP_TEXT, CTF_CHARLEFTBORDERWIDTH ),
269
    MAP_EXT( PROP_CharRightBorder,    XML_NAMESPACE_LO_EXT, XML_BORDER_LINE_WIDTH_RIGHT,  XML_TYPE_BORDER_WIDTH|XML_TYPE_PROP_TEXT, CTF_CHARRIGHTBORDERWIDTH ),
270
    MAP_EXT( PROP_CharTopBorder,      XML_NAMESPACE_LO_EXT, XML_BORDER_LINE_WIDTH_TOP,    XML_TYPE_BORDER_WIDTH|XML_TYPE_PROP_TEXT, CTF_CHARTOPBORDERWIDTH ),
271
    MAP_EXT( PROP_CharBottomBorder,   XML_NAMESPACE_LO_EXT, XML_BORDER_LINE_WIDTH_BOTTOM, XML_TYPE_BORDER_WIDTH|XML_TYPE_PROP_TEXT, CTF_CHARBOTTOMBORDERWIDTH ),
272
    MAP_EXT_I( PROP_CharLeftBorder,   XML_NAMESPACE_STYLE,  XML_BORDER_LINE_WIDTH,        XML_TYPE_BORDER_WIDTH|XML_TYPE_PROP_TEXT, CTF_CHARALLBORDERWIDTH ),
273
    MAP_EXT_I( PROP_CharLeftBorder,   XML_NAMESPACE_STYLE,  XML_BORDER_LINE_WIDTH_LEFT,   XML_TYPE_BORDER_WIDTH|XML_TYPE_PROP_TEXT, CTF_CHARLEFTBORDERWIDTH ),
274
    MAP_EXT_I( PROP_CharRightBorder,  XML_NAMESPACE_STYLE,  XML_BORDER_LINE_WIDTH_RIGHT,  XML_TYPE_BORDER_WIDTH|XML_TYPE_PROP_TEXT, CTF_CHARRIGHTBORDERWIDTH ),
275
    MAP_EXT_I( PROP_CharTopBorder,    XML_NAMESPACE_STYLE,  XML_BORDER_LINE_WIDTH_TOP,    XML_TYPE_BORDER_WIDTH|XML_TYPE_PROP_TEXT, CTF_CHARTOPBORDERWIDTH ),
276
    MAP_EXT_I( PROP_CharBottomBorder, XML_NAMESPACE_STYLE,  XML_BORDER_LINE_WIDTH_BOTTOM, XML_TYPE_BORDER_WIDTH|XML_TYPE_PROP_TEXT, CTF_CHARBOTTOMBORDERWIDTH ),
277
278
    MAP_EXT( PROP_CharLeftBorderDistance,     XML_NAMESPACE_LO_EXT, XML_PADDING,        XML_TYPE_MEASURE|XML_TYPE_PROP_TEXT, CTF_CHARALLBORDERDISTANCE ),
279
    MAP_EXT( PROP_CharLeftBorderDistance,     XML_NAMESPACE_LO_EXT, XML_PADDING_LEFT,   XML_TYPE_MEASURE|XML_TYPE_PROP_TEXT, CTF_CHARLEFTBORDERDISTANCE ),
280
    MAP_EXT( PROP_CharRightBorderDistance,    XML_NAMESPACE_LO_EXT, XML_PADDING_RIGHT,  XML_TYPE_MEASURE|XML_TYPE_PROP_TEXT, CTF_CHARRIGHTBORDERDISTANCE ),
281
    MAP_EXT( PROP_CharTopBorderDistance,      XML_NAMESPACE_LO_EXT, XML_PADDING_TOP,    XML_TYPE_MEASURE|XML_TYPE_PROP_TEXT, CTF_CHARTOPBORDERDISTANCE ),
282
    MAP_EXT( PROP_CharBottomBorderDistance,   XML_NAMESPACE_LO_EXT, XML_PADDING_BOTTOM, XML_TYPE_MEASURE|XML_TYPE_PROP_TEXT, CTF_CHARBOTTOMBORDERDISTANCE ),
283
    MAP_EXT_I( PROP_CharLeftBorderDistance,   XML_NAMESPACE_FO, XML_PADDING,        XML_TYPE_MEASURE|XML_TYPE_PROP_TEXT, CTF_CHARALLBORDERDISTANCE ),
284
    MAP_EXT_I( PROP_CharLeftBorderDistance,   XML_NAMESPACE_FO, XML_PADDING_LEFT,   XML_TYPE_MEASURE|XML_TYPE_PROP_TEXT, CTF_CHARLEFTBORDERDISTANCE ),
285
    MAP_EXT_I( PROP_CharRightBorderDistance,  XML_NAMESPACE_FO, XML_PADDING_RIGHT,  XML_TYPE_MEASURE|XML_TYPE_PROP_TEXT, CTF_CHARRIGHTBORDERDISTANCE ),
286
    MAP_EXT_I( PROP_CharTopBorderDistance,    XML_NAMESPACE_FO, XML_PADDING_TOP,    XML_TYPE_MEASURE|XML_TYPE_PROP_TEXT, CTF_CHARTOPBORDERDISTANCE ),
287
    MAP_EXT_I( PROP_CharBottomBorderDistance, XML_NAMESPACE_FO, XML_PADDING_BOTTOM, XML_TYPE_MEASURE|XML_TYPE_PROP_TEXT, CTF_CHARBOTTOMBORDERDISTANCE ),
288
289
    MAP_EXT( PROP_CharLeftBorder,     XML_NAMESPACE_LO_EXT, XML_BORDER,        XML_TYPE_BORDER|XML_TYPE_PROP_TEXT, CTF_CHARALLBORDER ),
290
    MAP_EXT( PROP_CharLeftBorder,     XML_NAMESPACE_LO_EXT, XML_BORDER_LEFT,   XML_TYPE_BORDER|XML_TYPE_PROP_TEXT, CTF_CHARLEFTBORDER ),
291
    MAP_EXT( PROP_CharRightBorder,    XML_NAMESPACE_LO_EXT, XML_BORDER_RIGHT,  XML_TYPE_BORDER|XML_TYPE_PROP_TEXT, CTF_CHARRIGHTBORDER ),
292
    MAP_EXT( PROP_CharTopBorder,      XML_NAMESPACE_LO_EXT, XML_BORDER_TOP,    XML_TYPE_BORDER|XML_TYPE_PROP_TEXT, CTF_CHARTOPBORDER ),
293
    MAP_EXT( PROP_CharBottomBorder,   XML_NAMESPACE_LO_EXT, XML_BORDER_BOTTOM, XML_TYPE_BORDER|XML_TYPE_PROP_TEXT, CTF_CHARBOTTOMBORDER ),
294
    MAP_EXT_I( PROP_CharLeftBorder,   XML_NAMESPACE_FO,     XML_BORDER,        XML_TYPE_BORDER|XML_TYPE_PROP_TEXT, CTF_CHARALLBORDER ),
295
    MAP_EXT_I( PROP_CharLeftBorder,   XML_NAMESPACE_FO,     XML_BORDER_LEFT,   XML_TYPE_BORDER|XML_TYPE_PROP_TEXT, CTF_CHARLEFTBORDER ),
296
    MAP_EXT_I( PROP_CharRightBorder,  XML_NAMESPACE_FO,     XML_BORDER_RIGHT,  XML_TYPE_BORDER|XML_TYPE_PROP_TEXT, CTF_CHARRIGHTBORDER ),
297
    MAP_EXT_I( PROP_CharTopBorder,    XML_NAMESPACE_FO,     XML_BORDER_TOP,    XML_TYPE_BORDER|XML_TYPE_PROP_TEXT, CTF_CHARTOPBORDER ),
298
    MAP_EXT_I( PROP_CharBottomBorder, XML_NAMESPACE_FO,     XML_BORDER_BOTTOM, XML_TYPE_BORDER|XML_TYPE_PROP_TEXT, CTF_CHARBOTTOMBORDER ),
299
    // RES_CHRATR_SHADOW
300
    MAP_EXT( PROP_CharShadowFormat,   XML_NAMESPACE_LO_EXT, XML_SHADOW, XML_TYPE_TEXT_SHADOW|XML_TYPE_PROP_TEXT, 0 ),
301
    MAP_EXT_I( PROP_CharShadowFormat, XML_NAMESPACE_STYLE,  XML_SHADOW, XML_TYPE_TEXT_SHADOW|XML_TYPE_PROP_TEXT, 0 ),
302
    // RES_CHRATR_HIGHLIGHT
303
    MT_E( PROP_CharHighlight, XML_NAMESPACE_FO, XML_BACKGROUND_COLOR, XML_TYPE_COLORTRANSPARENT|MID_FLAG_MULTI_PROPERTY| MID_FLAG_NO_PROPERTY_IMPORT, CTF_CHAR_HIGHLIGHT ),
304
    // RES_TXTATR_INETFMT
305
    // TODO
306
    // RES_TXTATR_REFMARK
307
    // TODO
308
    // RES_TXTATR_TOXMARK
309
    // TODO
310
    // RES_TXTATR_CHARFMT
311
//  M_E_SI( TEXT,   style_name,         RES_TXTATR_CHARFMT, 0 ),
312
    // RES_TXTATR_CJK_RUBY
313
    // TODO
314
    // RES_TXTATR_FIELD
315
    // TODO
316
    // RES_TXTATR_FLYCNT
317
    // TODO
318
    // RES_TXTATR_FTN
319
    // TODO
320
    // RES_TXTATR_SOFTHYPH
321
    // TODO
322
    // RES_TXTATR_HARDBLANK
323
    // TODO
324
325
    // RES_PARATR_LINESPACING
326
    MP_E( PROP_ParaLineSpacing, XML_NAMESPACE_FO,    XML_LINE_HEIGHT,          XML_TYPE_LINE_SPACE_FIXED,    0 ),
327
    MP_E( PROP_ParaLineSpacing, XML_NAMESPACE_STYLE, XML_LINE_HEIGHT_AT_LEAST, XML_TYPE_LINE_SPACE_MINIMUM,  0 ),
328
    MP_E( PROP_ParaLineSpacing, XML_NAMESPACE_STYLE, XML_LINE_SPACING,         XML_TYPE_LINE_SPACE_DISTANCE, 0 ),
329
    // RES_PARATR_ADJUST
330
    MP_E( PROP_ParaAdjust,           XML_NAMESPACE_FO,    XML_TEXT_ALIGN,          XML_TYPE_TEXT_ADJUST,     CTF_SD_SHAPE_PARA_ADJUST ),
331
    MP_E( PROP_ParaLastLineAdjust,   XML_NAMESPACE_FO,    XML_TEXT_ALIGN_LAST,     XML_TYPE_TEXT_ADJUSTLAST, CTF_PARA_ADJUSTLAST ),
332
    MP_E( PROP_ParaExpandSingleWord, XML_NAMESPACE_STYLE, XML_JUSTIFY_SINGLE_WORD, XML_TYPE_BOOL,            0 ),
333
    // RES_PARATR_SPLIT
334
    MP_E( PROP_ParaSplit, XML_NAMESPACE_FO, XML_KEEP_TOGETHER, XML_TYPE_TEXT_SPLIT, 0 ),
335
    // RES_PARATR_ORPHANS
336
    MP_E( PROP_ParaOrphans, XML_NAMESPACE_FO, XML_ORPHANS, XML_TYPE_NUMBER8, 0 ),
337
    // RES_PARATR_WIDOWS
338
    MP_E( PROP_ParaWidows, XML_NAMESPACE_FO, XML_WIDOWS, XML_TYPE_NUMBER8, 0 ),
339
    // RES_PARATR_TABSTOP
340
    MP_ED( PROP_ParaTabStops, XML_NAMESPACE_STYLE, XML_TAB_STOPS, MID_FLAG_ELEMENT_ITEM|XML_TYPE_TEXT_TABSTOP, CTF_TABSTOP ), // this is not really a string!
341
    // RES_PARATR_HYPHENZONE
342
    MT_E( PROP_ParaIsHyphenation,               XML_NAMESPACE_FO,     XML_HYPHENATE,                     XML_TYPE_BOOL,                             0 ),
343
    MT_E( PROP_ParaHyphenationMaxLeadingChars,  XML_NAMESPACE_FO,     XML_HYPHENATION_REMAIN_CHAR_COUNT, XML_TYPE_NUMBER16_NO_ZERO,                 0 ),
344
    MT_E( PROP_ParaHyphenationMaxTrailingChars, XML_NAMESPACE_FO,     XML_HYPHENATION_PUSH_CHAR_COUNT,   XML_TYPE_NUMBER16_NO_ZERO,                 0 ),
345
    MP_E( PROP_ParaHyphenationMaxHyphens,       XML_NAMESPACE_FO,     XML_HYPHENATION_LADDER_COUNT,      XML_TYPE_NUMBER16_NONE,                    0 ),
346
    MAP_EXT( PROP_ParaHyphenationNoCaps,        XML_NAMESPACE_LO_EXT, XML_HYPHENATION_NO_CAPS,           XML_TYPE_BOOL|XML_TYPE_PROP_TEXT,          0 ),
347
    MAP_EXT( PROP_ParaHyphenationNoLastWord,    XML_NAMESPACE_LO_EXT, XML_HYPHENATION_NO_LAST_WORD,      XML_TYPE_BOOL|XML_TYPE_PROP_TEXT,          0 ),
348
    MAP_EXT( PROP_ParaHyphenationMinWordLength, XML_NAMESPACE_LO_EXT, XML_HYPHENATION_WORD_CHAR_COUNT,   XML_TYPE_NUMBER16_NONE|XML_TYPE_PROP_TEXT, 0 ),
349
    MAP_EXT( PROP_ParaHyphenationZone,          XML_NAMESPACE_LO_EXT, XML_HYPHENATION_ZONE,              XML_TYPE_NUMBER16_NONE|XML_TYPE_PROP_TEXT, 0 ),
350
    MAP_EXT( PROP_ParaHyphenationZoneAlways,    XML_NAMESPACE_LO_EXT, XML_HYPHENATION_ZONE_ALWAYS,       XML_TYPE_NUMBER16_NONE|XML_TYPE_PROP_TEXT, 0 ),
351
    MAP_EXT( PROP_ParaHyphenationZoneColumn,    XML_NAMESPACE_LO_EXT, XML_HYPHENATION_ZONE_COLUMN,       XML_TYPE_NUMBER16_NONE|XML_TYPE_PROP_TEXT, 0 ),
352
    MAP_EXT( PROP_ParaHyphenationZonePage,      XML_NAMESPACE_LO_EXT, XML_HYPHENATION_ZONE_PAGE,         XML_TYPE_NUMBER16_NONE|XML_TYPE_PROP_TEXT, 0 ),
353
    MAP_EXT( PROP_ParaHyphenationZoneSpread,    XML_NAMESPACE_LO_EXT, XML_HYPHENATION_ZONE_SPREAD,       XML_TYPE_NUMBER16_NONE|XML_TYPE_PROP_TEXT, 0 ),
354
    MAP_EXT( PROP_ParaHyphenationCompoundMinLeadingChars, XML_NAMESPACE_LO_EXT, XML_HYPHENATION_COMPOUND_REMAIN_CHAR_COUNT, XML_TYPE_NUMBER16_NONE|XML_TYPE_PROP_TEXT,  0 ),
355
    MAP_EXT( PROP_ParaHyphenationCompoundMinTrailingChars, XML_NAMESPACE_LO_EXT, XML_HYPHENATION_COMPOUND_PUSH_CHAR_COUNT,  XML_TYPE_NUMBER16_NONE|XML_TYPE_PROP_TEXT,  0 ),
356
    MP_E( PROP_ParaHyphenationKeep,             XML_NAMESPACE_FO,     XML_HYPHENATION_KEEP,              XML_TYPE_HYPHENATION_KEEP,                 0 ),
357
    MAP_EXT( PROP_ParaHyphenationKeepType,      XML_NAMESPACE_LO_EXT, XML_HYPHENATION_KEEP_TYPE,         XML_TYPE_HYPHENATION_KEEP_TYPE|XML_TYPE_PROP_PARAGRAPH,           0 ),
358
    MAP_EXT( PROP_ParaHyphenationKeepLine,      XML_NAMESPACE_LO_EXT, XML_HYPHENATION_KEEP_LINE,         XML_TYPE_BOOL|XML_TYPE_PROP_PARAGRAPH,          0 ),
359
    // RES_PARATR_DROP
360
    MP_E( PROP_DropCapWholeWord,     XML_NAMESPACE_STYLE, XML_LENGTH,     MID_FLAG_SPECIAL_ITEM|XML_TYPE_BOOL,         CTF_DROPCAPWHOLEWORD ),
361
    MP_E( PROP_DropCapCharStyleName, XML_NAMESPACE_STYLE, XML_STYLE_NAME, MID_FLAG_SPECIAL_ITEM|XML_TYPE_STRING,       CTF_DROPCAPCHARSTYLE ),
362
    MP_E( PROP_DropCapFormat,        XML_NAMESPACE_STYLE, XML_DROP_CAP,   MID_FLAG_ELEMENT_ITEM|XML_TYPE_TEXT_DROPCAP, CTF_DROPCAPFORMAT ),
363
    // RES_PARATR_REGISTER
364
    MP_E( PROP_ParaRegisterModeActive, XML_NAMESPACE_STYLE, XML_REGISTER_TRUE, XML_TYPE_BOOL, 0 ),
365
    // RES_PARATR_NUMRULE
366
    MP_E( PROP_NumberingStyleName, XML_NAMESPACE_STYLE, XML_LIST_STYLE_NAME, MID_FLAG_SPECIAL_ITEM|XML_TYPE_STYLENAME, CTF_NUMBERINGSTYLENAME ),
367
368
    // RES_FILL_ORDER
369
    // not required
370
    // RES_FRM_SIZE
371
    // not required
372
    // RES_PAPER_BIN
373
    // not required
374
    // RES_LR_SPACE
375
376
    MP_E( PROP_ParaFirstLineIndent,         XML_NAMESPACE_FO,    XML_TEXT_INDENT,      XML_TYPE_MEASURE|MID_FLAG_MULTI_PROPERTY, CTF_PARAFIRSTLINE ),
377
    MP_E( PROP_ParaFirstLineIndentRelative, XML_NAMESPACE_FO,    XML_TEXT_INDENT,      XML_TYPE_PERCENT,                         CTF_PARAFIRSTLINE_REL ),
378
    MP_E( PROP_ParaIsAutoFirstLineIndent,   XML_NAMESPACE_STYLE, XML_AUTO_TEXT_INDENT, XML_TYPE_BOOL,                            0 ),
379
    // RES_PAGEDESC
380
    MP_E( PROP_PageDescName,     XML_NAMESPACE_STYLE, XML_MASTER_PAGE_NAME, MID_FLAG_SPECIAL_ITEM|XML_TYPE_STYLENAME,            CTF_PAGEDESCNAME ),
381
    MP_E( PROP_PageNumberOffset, XML_NAMESPACE_STYLE, XML_PAGE_NUMBER,      XML_TYPE_NUMBER16_AUTO|MID_FLAG_SPECIAL_ITEM_EXPORT, CTF_PAGENUMBEROFFSET ),
382
    // RES_BREAK : TODO: does this work?
383
    MP_E( PROP_BreakType, XML_NAMESPACE_FO, XML_BREAK_BEFORE, XML_TYPE_TEXT_BREAKBEFORE|MID_FLAG_MULTI_PROPERTY, 0 ),
384
    MP_E( PROP_BreakType, XML_NAMESPACE_FO, XML_BREAK_AFTER,  XML_TYPE_TEXT_BREAKAFTER,                          0 ),
385
    // RES_CNTNT
386
    // not required
387
    // RES_HEADER
388
    // not required
389
    // RES_FOOTER
390
    // not required
391
    // RES_PRINT
392
    // not required
393
    // RES_OPAQUE
394
    // not required
395
    // RES_PROTECT
396
    // not required
397
    // RES_SURROUND
398
    // not required
399
    // RES_VERT_ORIENT
400
    // not required
401
    // RES_HORI_ORIENT
402
    // not required
403
    // RES_ANCHOR
404
    // not required
405
    // RES_BACKGROUND
406
    // DO NOT REORDER these!
407
    MP_E( PROP_ParaBackColor,           XML_NAMESPACE_FO,    XML_BACKGROUND_COLOR, XML_TYPE_COLORTRANSPARENT|MID_FLAG_MULTI_PROPERTY, 0 ),
408
    MP_E( PROP_ParaBackTransparent,     XML_NAMESPACE_FO,    XML_BACKGROUND_COLOR, XML_TYPE_ISTRANSPARENT|MID_FLAG_MERGE_ATTRIBUTE,   0 ),
409
    MP_E( PROP_ParaBackGraphicLocation, XML_NAMESPACE_STYLE, XML_POSITION,         MID_FLAG_SPECIAL_ITEM|XML_TYPE_BUILDIN_CMP_ONLY,   CTF_BACKGROUND_POS  ),
410
    MP_E( PROP_ParaBackGraphicFilter,   XML_NAMESPACE_STYLE, XML_FILTER_NAME,      MID_FLAG_SPECIAL_ITEM|XML_TYPE_STRING,          CTF_BACKGROUND_FILTER ),
411
    MP_E( PROP_ParaBackGraphic,         XML_NAMESPACE_STYLE, XML_BACKGROUND_IMAGE, MID_FLAG_ELEMENT_ITEM|XML_TYPE_GRAPHIC, CTF_BACKGROUND_URL ),
412
413
    // RES_BOX
414
    MP_E( PROP_LeftBorder,   XML_NAMESPACE_STYLE, XML_BORDER_LINE_WIDTH,        XML_TYPE_BORDER_WIDTH, CTF_ALLBORDERWIDTH ),
415
    MP_E( PROP_LeftBorder,   XML_NAMESPACE_STYLE, XML_BORDER_LINE_WIDTH_LEFT,   XML_TYPE_BORDER_WIDTH, CTF_LEFTBORDERWIDTH ),
416
    MP_E( PROP_RightBorder,  XML_NAMESPACE_STYLE, XML_BORDER_LINE_WIDTH_RIGHT,  XML_TYPE_BORDER_WIDTH, CTF_RIGHTBORDERWIDTH ),
417
    MP_E( PROP_TopBorder,    XML_NAMESPACE_STYLE, XML_BORDER_LINE_WIDTH_TOP,    XML_TYPE_BORDER_WIDTH, CTF_TOPBORDERWIDTH ),
418
    MP_E( PROP_BottomBorder, XML_NAMESPACE_STYLE, XML_BORDER_LINE_WIDTH_BOTTOM, XML_TYPE_BORDER_WIDTH, CTF_BOTTOMBORDERWIDTH ),
419
420
    MP_E( PROP_LeftBorderDistance,   XML_NAMESPACE_FO, XML_PADDING,        XML_TYPE_MEASURE|MID_FLAG_MULTI_PROPERTY, CTF_ALLBORDERDISTANCE ), // need special import filtering
421
    MP_E( PROP_LeftBorderDistance,   XML_NAMESPACE_FO, XML_PADDING_LEFT,   XML_TYPE_MEASURE|MID_FLAG_MULTI_PROPERTY, CTF_LEFTBORDERDISTANCE ),
422
    MP_E( PROP_RightBorderDistance,  XML_NAMESPACE_FO, XML_PADDING_RIGHT,  XML_TYPE_MEASURE|MID_FLAG_MULTI_PROPERTY, CTF_RIGHTBORDERDISTANCE ),
423
    MP_E( PROP_TopBorderDistance,    XML_NAMESPACE_FO, XML_PADDING_TOP,    XML_TYPE_MEASURE|MID_FLAG_MULTI_PROPERTY, CTF_TOPBORDERDISTANCE ),
424
    MP_E( PROP_BottomBorderDistance, XML_NAMESPACE_FO, XML_PADDING_BOTTOM, XML_TYPE_MEASURE|MID_FLAG_MULTI_PROPERTY, CTF_BOTTOMBORDERDISTANCE ),
425
426
    MP_E( PROP_LeftBorder,   XML_NAMESPACE_FO, XML_BORDER,        XML_TYPE_BORDER, CTF_ALLBORDER ),
427
    MP_E( PROP_LeftBorder,   XML_NAMESPACE_FO, XML_BORDER_LEFT,   XML_TYPE_BORDER, CTF_LEFTBORDER ),
428
    MP_E( PROP_RightBorder,  XML_NAMESPACE_FO, XML_BORDER_RIGHT,  XML_TYPE_BORDER, CTF_RIGHTBORDER ),
429
    MP_E( PROP_TopBorder,    XML_NAMESPACE_FO, XML_BORDER_TOP,    XML_TYPE_BORDER, CTF_TOPBORDER ),
430
    MP_E( PROP_BottomBorder, XML_NAMESPACE_FO, XML_BORDER_BOTTOM, XML_TYPE_BORDER, CTF_BOTTOMBORDER ),
431
    // RES_SHADOW
432
    MP_E( PROP_ParaShadowFormat, XML_NAMESPACE_STYLE, XML_SHADOW, XML_TYPE_TEXT_SHADOW, 0 ),
433
    // RES_FRMMACRO
434
    // not required
435
    // RES_COL
436
    // not required
437
    // RES_KEEP
438
    MP_E( PROP_ParaKeepTogether, XML_NAMESPACE_FO, XML_KEEP_WITH_NEXT, XML_TYPE_TEXT_KEEP, 0 ),
439
    // RES_URL
440
    // not required
441
    // RES_EDIT_IN_READONLY
442
    // not required
443
    // RES_LAYOUT_SPLIT
444
    // not required
445
    // RES_CHAIN
446
    // not required
447
448
    // RES_LINENUMBER
449
    MP_E( PROP_ParaLineNumberCount,      XML_NAMESPACE_TEXT, XML_NUMBER_LINES, XML_TYPE_BOOL,   0 ),
450
    MP_E( PROP_ParaLineNumberStartValue, XML_NAMESPACE_TEXT, XML_LINE_NUMBER,  XML_TYPE_NUMBER, 0 ),
451
452
    // RES_FTN_AT_TXTEND
453
    // not required
454
    // RES_END_AT_TXTEND
455
    // not required
456
    MP_ED( PROP_ParaIsCharacterDistance,        XML_NAMESPACE_STYLE,  XML_TEXT_AUTOSPACE,    XML_TYPE_TEXT_AUTOSPACE,                  0 ),
457
    MP_ED( PROP_ParaIsHangingPunctuation,       XML_NAMESPACE_STYLE,  XML_PUNCTUATION_WRAP,  XML_TYPE_TEXT_PUNCTUATION_WRAP,           0 ),
458
    MP_ED( PROP_ParaIsForbiddenRules,           XML_NAMESPACE_STYLE,  XML_LINE_BREAK,        XML_TYPE_TEXT_LINE_BREAK,                 0 ),
459
    MP_E( PROP_TabStopDistance,                 XML_NAMESPACE_STYLE,  XML_TAB_STOP_DISTANCE, XML_TYPE_MEASURE,                         0 ),
460
    MAP_EXT_I( PROP_ParaTabStopDefaultDistance, XML_NAMESPACE_STYLE,  XML_TAB_STOP_DISTANCE, XML_TYPE_MEASURE|XML_TYPE_PROP_PARAGRAPH, 0 ),
461
    MAP_EXT( PROP_ParaTabStopDefaultDistance,   XML_NAMESPACE_LO_EXT, XML_TAB_STOP_DISTANCE, XML_TYPE_MEASURE|XML_TYPE_PROP_PARAGRAPH, 0 ),
462
463
    // RES_PARATR_VERTALIGN
464
    MP_E( PROP_ParaVertAlignment, XML_NAMESPACE_STYLE, XML_VERTICAL_ALIGN, XML_TYPE_TEXT_VERTICAL_ALIGN, 0 ),
465
466
    // RES_PARATR_SNAPTOGRID
467
    MP_E( PROP_SnapToGrid, XML_NAMESPACE_STYLE, XML_SNAP_TO_LAYOUT_GRID, XML_TYPE_BOOL, 0 ),
468
469
    MP_ED( PROP_WritingMode, XML_NAMESPACE_STYLE, XML_WRITING_MODE, XML_TYPE_TEXT_WRITING_MODE_WITH_DEFAULT, CTF_TEXTWRITINGMODE ),
470
471
    // RES_PARATR_AUTOFRAMEDIR
472
    MP_E( PROP_WritingModeAutomatic, XML_NAMESPACE_STYLE, XML_WRITING_MODE_AUTOMATIC, XML_TYPE_BOOL, 0 ),
473
474
    MP_E( PROP_ParaIsConnectBorder, XML_NAMESPACE_STYLE, XML_JOIN_BORDER, XML_TYPE_BOOL, 0 ),
475
476
    MP_E( PROP_DefaultOutlineLevel, XML_NAMESPACE_STYLE, XML_DEFAULT_OUTLINE_LEVEL, XML_TYPE_TEXT_NUMBER8_ONE_BASED|MID_FLAG_SPECIAL_ITEM_EXPORT|MID_FLAG_NO_PROPERTY_IMPORT, CTF_DEFAULT_OUTLINE_LEVEL ),
477
478
    MP_ED( PROP_FontIndependentLineSpacing, XML_NAMESPACE_STYLE, XML_FONT_INDEPENDENT_LINE_SPACING, XML_TYPE_BOOL, 0 ),
479
480
    MAP_EXT( PROP_ListAutoFormat, XML_NAMESPACE_LO_EXT, XML_MARKER_STYLE_NAME, XML_TYPE_STYLENAME|XML_TYPE_PROP_PARAGRAPH, 0 ),
481
482
    MAP_EXT( PROP_ParaLeftMarginUnit, XML_NAMESPACE_LO_EXT, XML_MARGIN_LEFT, XML_TYPE_PROP_PARAGRAPH|XML_TYPE_UNIT_MEASURE|MID_FLAG_MULTI_PROPERTY, 0 ),
483
    MAP_EXT_I( PROP_ParaLeftMargin, XML_NAMESPACE_LO_EXT, XML_MARGIN_LEFT, XML_TYPE_PROP_PARAGRAPH|XML_TYPE_MEASURE|MID_FLAG_MULTI_PROPERTY, CTF_PARALEFTMARGIN ),
484
    MAP_EXT_I( PROP_ParaLeftMarginRelative, XML_NAMESPACE_LO_EXT, XML_MARGIN_LEFT, XML_TYPE_PROP_PARAGRAPH|XML_TYPE_PERCENT16, CTF_PARALEFTMARGIN_REL ),
485
    MAP_EXT( PROP_ParaRightMarginUnit, XML_NAMESPACE_LO_EXT, XML_MARGIN_RIGHT, XML_TYPE_PROP_PARAGRAPH|XML_TYPE_UNIT_MEASURE|MID_FLAG_MULTI_PROPERTY, 0 ),
486
    MAP_EXT_I( PROP_ParaRightMargin, XML_NAMESPACE_LO_EXT, XML_MARGIN_RIGHT, XML_TYPE_PROP_PARAGRAPH|XML_TYPE_MEASURE|MID_FLAG_MULTI_PROPERTY, CTF_PARARIGHTMARGIN ),
487
    MAP_EXT_I( PROP_ParaRightMarginRelative, XML_NAMESPACE_LO_EXT, XML_MARGIN_RIGHT, XML_TYPE_PROP_PARAGRAPH|XML_TYPE_PERCENT16, CTF_PARARIGHTMARGIN_REL ),
488
    MAP_EXT( PROP_ParaFirstLineIndentUnit, XML_NAMESPACE_LO_EXT, XML_TEXT_INDENT, XML_TYPE_PROP_PARAGRAPH|XML_TYPE_UNIT_MEASURE|MID_FLAG_MULTI_PROPERTY, 0 ),
489
    MAP_EXT_I( PROP_ParaFirstLineIndent, XML_NAMESPACE_LO_EXT, XML_TEXT_INDENT, XML_TYPE_PROP_PARAGRAPH|XML_TYPE_MEASURE|MID_FLAG_MULTI_PROPERTY, CTF_PARAFIRSTLINE ),
490
    MAP_EXT_I( PROP_ParaFirstLineIndentRelative, XML_NAMESPACE_LO_EXT, XML_TEXT_INDENT, XML_TYPE_PROP_PARAGRAPH|XML_TYPE_PERCENT, CTF_PARAFIRSTLINE_REL ),
491
    MAP_EXT( PROP_ParaWordSpacing, XML_NAMESPACE_LO_EXT, XML_WORD_SPACING, XML_TYPE_PROP_PARAGRAPH|XML_TYPE_PERCENT16, 0 ),
492
    MAP_EXT( PROP_ParaWordSpacingMinimum, XML_NAMESPACE_LO_EXT, XML_WORD_SPACING_MINIMUM, XML_TYPE_PROP_PARAGRAPH|XML_TYPE_PERCENT16, 0 ),
493
    MAP_EXT( PROP_ParaWordSpacingMaximum, XML_NAMESPACE_LO_EXT, XML_WORD_SPACING_MAXIMUM, XML_TYPE_PROP_PARAGRAPH|XML_TYPE_PERCENT16, 0 ),
494
    MAP_EXT( PROP_ParaLetterSpacingMinimum, XML_NAMESPACE_LO_EXT, XML_LETTER_SPACING_MINIMUM, XML_TYPE_PROP_PARAGRAPH|XML_TYPE_PERCENT16, 0 ),
495
    MAP_EXT( PROP_ParaLetterSpacingMaximum, XML_NAMESPACE_LO_EXT, XML_LETTER_SPACING_MAXIMUM, XML_TYPE_PROP_PARAGRAPH|XML_TYPE_PERCENT16, 0 ),
496
    MAP_EXT( PROP_ParaScaleWidthMinimum, XML_NAMESPACE_LO_EXT, XML_TEXT_SCALE_MINIMUM, XML_TYPE_PROP_PARAGRAPH|XML_TYPE_PERCENT16, 0 ),
497
    MAP_EXT( PROP_ParaScaleWidthMaximum, XML_NAMESPACE_LO_EXT, XML_TEXT_SCALE_MAXIMUM, XML_TYPE_PROP_PARAGRAPH|XML_TYPE_PERCENT16, 0 ),
498
499
    MT_ED( PROP_CharScriptHint, XML_NAMESPACE_STYLE, XML_SCRIPT_TYPE, XML_TYPE_TEXT_SCRIPT_TYPE|MID_FLAG_MERGE_PROPERTY, 0 ),
500
501
    M_END()
502
};
503
504
505
XMLPropertyMapEntry constexpr aXMLAdditionalTextDefaultsMap[] =
506
{
507
    // RES_FOLLOW_TEXT_FLOW - DVO #i18732#
508
    MG_ED( PROP_IsFollowingTextFlow, XML_NAMESPACE_STYLE, XML_FLOW_WITH_TEXT, XML_TYPE_BOOL, 0 ),
509
510
    // #i28701# - RES_WRAP_INFLUENCE_ON_OBJPOS
511
    MG_ED( PROP_WrapInfluenceOnPosition, XML_NAMESPACE_DRAW, XML_WRAP_INFLUENCE_ON_POSITION, XML_TYPE_WRAP_INFLUENCE_ON_POSITION, 0 ),
512
513
    M_END()
514
};
515
516
XMLPropertyMapEntry constexpr aXMLTextPropMap[] =
517
{
518
    // RES_CHRATR_CASEMAP
519
    MT_E( PROP_CharCaseMap, XML_NAMESPACE_FO, XML_FONT_VARIANT,   XML_TYPE_TEXT_CASEMAP_VAR, 0 ),
520
    MT_E( PROP_CharCaseMap, XML_NAMESPACE_FO, XML_TEXT_TRANSFORM, XML_TYPE_TEXT_CASEMAP,     0 ),
521
    // RES_CHRATR_COLOR
522
    MT_ED( PROP_CharColor,            XML_NAMESPACE_FO,     XML_COLOR,                 XML_TYPE_COLORAUTO|MID_FLAG_MERGE_PROPERTY,   0 ),
523
    MT_ED( PROP_CharColor,            XML_NAMESPACE_STYLE,  XML_USE_WINDOW_FONT_COLOR, XML_TYPE_ISAUTOCOLOR|MID_FLAG_MERGE_PROPERTY, 0 ),
524
    MAP_EXT_I( PROP_CharTransparence, XML_NAMESPACE_DRAW,   XML_OPACITY,               XML_TYPE_NEG_PERCENT16 | XML_TYPE_PROP_TEXT,  0 ),
525
    MAP_EXT( PROP_CharTransparence,   XML_NAMESPACE_LO_EXT, XML_OPACITY,               XML_TYPE_NEG_PERCENT16 | XML_TYPE_PROP_TEXT,  0 ),
526
    MAP_EXT( PROP_CharComplexColor,   XML_NAMESPACE_LO_EXT, XML_CHAR_COMPLEX_COLOR,    XML_TYPE_COMPLEX_COLOR|XML_TYPE_PROP_TEXT|MID_FLAG_ELEMENT_ITEM, CTF_COMPLEX_COLOR ),
527
    // RES_CHRATR_CONTOUR
528
    MT_E( PROP_CharContoured, XML_NAMESPACE_STYLE, XML_TEXT_OUTLINE, XML_TYPE_BOOL, 0 ),
529
    // RES_CHRATR_CROSSEDOUT
530
    MT_E( PROP_CharStrikeout, XML_NAMESPACE_STYLE, XML_TEXT_LINE_THROUGH_STYLE, XML_TYPE_TEXT_CROSSEDOUT_STYLE|MID_FLAG_MERGE_PROPERTY, 0),
531
    MT_E( PROP_CharStrikeout, XML_NAMESPACE_STYLE, XML_TEXT_LINE_THROUGH_TYPE,  XML_TYPE_TEXT_CROSSEDOUT_TYPE|MID_FLAG_MERGE_PROPERTY,  0),
532
    MT_E( PROP_CharStrikeout, XML_NAMESPACE_STYLE, XML_TEXT_LINE_THROUGH_WIDTH, XML_TYPE_TEXT_CROSSEDOUT_WIDTH|MID_FLAG_MERGE_PROPERTY, 0),
533
    MT_E( PROP_CharStrikeout, XML_NAMESPACE_STYLE, XML_TEXT_LINE_THROUGH_TEXT,  XML_TYPE_TEXT_CROSSEDOUT_TEXT|MID_FLAG_MERGE_PROPERTY,  0),
534
    // RES_CHRATR_ESCAPEMENT
535
    MT_E( PROP_CharEscapement,       XML_NAMESPACE_STYLE, XML_TEXT_POSITION, XML_TYPE_TEXT_ESCAPEMENT|MID_FLAG_MERGE_ATTRIBUTE|MID_FLAG_MULTI_PROPERTY, 0 ),
536
    MT_E( PROP_CharEscapementHeight, XML_NAMESPACE_STYLE, XML_TEXT_POSITION, XML_TYPE_TEXT_ESCAPEMENT_HEIGHT|MID_FLAG_MERGE_ATTRIBUTE|MID_FLAG_MULTI_PROPERTY, 0 ),
537
    // RES_CHRATR_FONT
538
    MT_ED( PROP_CharFontName,      XML_NAMESPACE_STYLE, XML_FONT_NAME,           XML_TYPE_STRING|MID_FLAG_SPECIAL_ITEM_IMPORT, CTF_FONTNAME ),
539
    MT_ED( PROP_CharFontName,      XML_NAMESPACE_FO,    XML_FONT_FAMILY,         XML_TYPE_TEXT_FONTFAMILYNAME|MID_FLAG_SPECIAL_ITEM_IMPORT, CTF_FONTFAMILYNAME ),
540
    MT_ED( PROP_CharFontStyleName, XML_NAMESPACE_STYLE, XML_FONT_STYLE_NAME,     XML_TYPE_STRING, CTF_FONTSTYLENAME ),
541
    MT_ED( PROP_CharFontFamily,    XML_NAMESPACE_STYLE, XML_FONT_FAMILY_GENERIC, XML_TYPE_TEXT_FONTFAMILY, CTF_FONTFAMILY ),
542
    MT_ED( PROP_CharFontPitch,     XML_NAMESPACE_STYLE, XML_FONT_PITCH,          XML_TYPE_TEXT_FONTPITCH, CTF_FONTPITCH ),
543
    MT_ED( PROP_CharFontCharSet,   XML_NAMESPACE_STYLE, XML_FONT_CHARSET,        XML_TYPE_TEXT_FONTENCODING, CTF_FONTCHARSET ),
544
    // RES_CHRATR_FONTSIZE
545
    MT_ED( PROP_CharHeight,     XML_NAMESPACE_FO,    XML_FONT_SIZE,     XML_TYPE_CHAR_HEIGHT|MID_FLAG_MULTI_PROPERTY,      CTF_CHARHEIGHT ),
546
    MT_ED( PROP_CharPropHeight, XML_NAMESPACE_FO,    XML_FONT_SIZE,     XML_TYPE_CHAR_HEIGHT_PROP|MID_FLAG_MULTI_PROPERTY, CTF_CHARHEIGHT_REL ),
547
    MT_ED( PROP_CharDiffHeight, XML_NAMESPACE_STYLE, XML_FONT_SIZE_REL, XML_TYPE_CHAR_HEIGHT_DIFF,                         CTF_CHARHEIGHT_DIFF ),
548
    // RES_CHRATR_KERNING
549
    MT_E( PROP_CharKerning, XML_NAMESPACE_FO, XML_LETTER_SPACING, XML_TYPE_TEXT_KERNING, 0 ),
550
    // RES_CHRATR_LANGUAGE
551
    MT_ED( PROP_CharLocale, XML_NAMESPACE_STYLE, XML_RFC_LANGUAGE_TAG, XML_TYPE_CHAR_RFC_LANGUAGE_TAG|MID_FLAG_MERGE_PROPERTY, 0 ),
552
    MT_ED( PROP_CharLocale, XML_NAMESPACE_FO,    XML_LANGUAGE,         XML_TYPE_CHAR_LANGUAGE|MID_FLAG_MERGE_PROPERTY,         0 ),
553
    MT_ED( PROP_CharLocale, XML_NAMESPACE_FO,    XML_SCRIPT,           XML_TYPE_CHAR_SCRIPT|MID_FLAG_MERGE_PROPERTY,           0 ),
554
    MT_ED( PROP_CharLocale, XML_NAMESPACE_FO,    XML_COUNTRY,          XML_TYPE_CHAR_COUNTRY|MID_FLAG_MERGE_PROPERTY,          0 ),
555
    // RES_CHRATR_POSTURE
556
    MT_E( PROP_CharPosture, XML_NAMESPACE_FO, XML_FONT_STYLE, XML_TYPE_TEXT_POSTURE, 0 ),
557
    // RES_CHRATR_UNUSED1
558
    // RES_CHRATR_SHADOWED
559
    MT_E( PROP_CharShadowed, XML_NAMESPACE_FO, XML_TEXT_SHADOW, XML_TYPE_TEXT_SHADOWED, 0 ),
560
    // VALIDATED UP TO THIS LINE
561
    // RES_CHRATR_UNDERLINE
562
    MT_E( PROP_CharUnderline,         XML_NAMESPACE_STYLE, XML_TEXT_UNDERLINE_STYLE, XML_TYPE_TEXT_UNDERLINE_STYLE|MID_FLAG_MERGE_PROPERTY, CTF_UNDERLINE ),
563
    MT_E( PROP_CharUnderline,         XML_NAMESPACE_STYLE, XML_TEXT_UNDERLINE_TYPE,  XML_TYPE_TEXT_UNDERLINE_TYPE|MID_FLAG_MERGE_PROPERTY, 0 ),
564
    MT_E( PROP_CharUnderline,         XML_NAMESPACE_STYLE, XML_TEXT_UNDERLINE_WIDTH, XML_TYPE_TEXT_UNDERLINE_WIDTH|MID_FLAG_MERGE_PROPERTY, 0 ),
565
    MT_E( PROP_CharUnderlineColor,    XML_NAMESPACE_STYLE, XML_TEXT_UNDERLINE_COLOR, XML_TYPE_TEXT_UNDERLINE_COLOR|MID_FLAG_MULTI_PROPERTY, CTF_UNDERLINE_COLOR  ),
566
    MT_E( PROP_CharUnderlineHasColor, XML_NAMESPACE_STYLE, XML_TEXT_UNDERLINE_COLOR, XML_TYPE_TEXT_UNDERLINE_HASCOLOR|MID_FLAG_MERGE_ATTRIBUTE, CTF_UNDERLINE_HASCOLOR   ),
567
    // RES_CHRATR_WEIGHT
568
    MT_E( PROP_CharWeight, XML_NAMESPACE_FO, XML_FONT_WEIGHT, XML_TYPE_TEXT_WEIGHT, 0 ),
569
    // RES_CHRATR_RSID
570
    { PROP_Rsid, XML_NAMESPACE_OFFICE_EXT, XML_RSID, XML_TYPE_HEX|XML_TYPE_PROP_TEXT, 0, SvtSaveOptions::ODFSVER_FUTURE_EXTENDED, false },
571
    // RES_PARATR_RSID
572
    { PROP_ParRsid, XML_NAMESPACE_OFFICE_EXT, XML_PARRSID, XML_TYPE_HEX|XML_TYPE_PROP_TEXT, 0, SvtSaveOptions::ODFSVER_FUTURE_EXTENDED, false },
573
    // RES_CHRATR_WORDLINEMODE
574
    MT_E( PROP_CharWordMode, XML_NAMESPACE_STYLE, XML_TEXT_UNDERLINE_MODE,    XML_TYPE_TEXT_LINE_MODE|MID_FLAG_MERGE_PROPERTY, 0 ),
575
    MT_E( PROP_CharWordMode, XML_NAMESPACE_STYLE, XML_TEXT_OVERLINE_MODE,     XML_TYPE_TEXT_LINE_MODE|MID_FLAG_MERGE_PROPERTY, 0 ),
576
    MT_E( PROP_CharWordMode, XML_NAMESPACE_STYLE, XML_TEXT_LINE_THROUGH_MODE, XML_TYPE_TEXT_LINE_MODE|MID_FLAG_MERGE_PROPERTY, 0 ),
577
    // RES_CHRATR_AUTOKERN
578
    MT_E( PROP_CharAutoKerning, XML_NAMESPACE_STYLE, XML_LETTER_KERNING, XML_TYPE_BOOL, 0 ),
579
    // RES_CHRATR_BLINK
580
    MT_E( PROP_CharFlash, XML_NAMESPACE_STYLE, XML_TEXT_BLINKING, XML_TYPE_BOOL, 0 ),
581
    // RES_CHRATR_NOHYPHEN
582
    MT_E( PROP_CharNoHyphenation, XML_NAMESPACE_FO, XML_HYPHENATE, XML_TYPE_NBOOL, 0 ),
583
    // RES_CHRATR_UNUSED2
584
    // RES_CHRATR_BACKGROUND
585
    MT_E( PROP_CharBackColor,       XML_NAMESPACE_FO,     XML_BACKGROUND_COLOR,      XML_TYPE_COLORTRANSPARENT|MID_FLAG_MULTI_PROPERTY, CTF_CHAR_BACKGROUND ),
586
    MT_E( PROP_CharBackTransparent, XML_NAMESPACE_FO,     XML_BACKGROUND_COLOR,      XML_TYPE_ISTRANSPARENT|MID_FLAG_MERGE_ATTRIBUTE, CTF_CHAR_BACKGROUND_TRANSPARENCY),
587
    { PROP_CharShadingValue,        XML_NAMESPACE_LO_EXT, XML_CHAR_SHADING_VALUE,    XML_TYPE_NUMBER|XML_TYPE_PROP_TEXT, 0, SvtSaveOptions::ODFSVER_FUTURE_EXTENDED, false },
588
    MT_E( PROP_CharBackColor,       XML_NAMESPACE_FO,     XML_TEXT_BACKGROUND_COLOR, XML_TYPE_COLOR|MID_FLAG_SPECIAL_ITEM_EXPORT, CTF_OLDTEXTBACKGROUND ),
589
    // RES_CHRATR_CJK_FONT
590
    MT_ED( PROP_CharFontNameAsian,      XML_NAMESPACE_STYLE, XML_FONT_NAME_ASIAN,           XML_TYPE_STRING|MID_FLAG_SPECIAL_ITEM_IMPORT, CTF_FONTNAME_CJK ),
591
    MT_ED( PROP_CharFontNameAsian,      XML_NAMESPACE_STYLE, XML_FONT_FAMILY_ASIAN,         XML_TYPE_TEXT_FONTFAMILYNAME|MID_FLAG_SPECIAL_ITEM_IMPORT, CTF_FONTFAMILYNAME_CJK ),
592
    MT_ED( PROP_CharFontStyleNameAsian, XML_NAMESPACE_STYLE, XML_FONT_STYLE_NAME_ASIAN,     XML_TYPE_STRING, CTF_FONTSTYLENAME_CJK ),
593
    MT_ED( PROP_CharFontFamilyAsian,    XML_NAMESPACE_STYLE, XML_FONT_FAMILY_GENERIC_ASIAN, XML_TYPE_TEXT_FONTFAMILY, CTF_FONTFAMILY_CJK ),
594
    MT_ED( PROP_CharFontPitchAsian,     XML_NAMESPACE_STYLE, XML_FONT_PITCH_ASIAN,          XML_TYPE_TEXT_FONTPITCH, CTF_FONTPITCH_CJK ),
595
    MT_ED( PROP_CharFontCharSetAsian,   XML_NAMESPACE_STYLE, XML_FONT_CHARSET_ASIAN,        XML_TYPE_TEXT_FONTENCODING, CTF_FONTCHARSET_CJK ),
596
    // RES_CHRATR_CJK_FONTSIZE
597
    MT_ED( PROP_CharHeightAsian,     XML_NAMESPACE_STYLE, XML_FONT_SIZE_ASIAN, XML_TYPE_CHAR_HEIGHT|MID_FLAG_MULTI_PROPERTY, CTF_CHARHEIGHT_CJK ),
598
    MT_ED( PROP_CharPropHeightAsian, XML_NAMESPACE_STYLE, XML_FONT_SIZE_ASIAN, XML_TYPE_CHAR_HEIGHT_PROP|MID_FLAG_MULTI_PROPERTY, CTF_CHARHEIGHT_REL_CJK ),
599
    MT_ED( PROP_CharDiffHeightAsian, XML_NAMESPACE_STYLE, XML_FONT_SIZE_REL_ASIAN, XML_TYPE_CHAR_HEIGHT_DIFF, CTF_CHARHEIGHT_DIFF_CJK ),
600
    // RES_CHRATR_CJK_LANGUAGE
601
    MT_ED( PROP_CharLocaleAsian, XML_NAMESPACE_STYLE, XML_RFC_LANGUAGE_TAG_ASIAN, XML_TYPE_CHAR_RFC_LANGUAGE_TAG|MID_FLAG_MERGE_PROPERTY, 0 ),
602
    MT_ED( PROP_CharLocaleAsian, XML_NAMESPACE_STYLE, XML_LANGUAGE_ASIAN,         XML_TYPE_CHAR_LANGUAGE|MID_FLAG_MERGE_PROPERTY,         0 ),
603
    MT_ED( PROP_CharLocaleAsian, XML_NAMESPACE_STYLE, XML_SCRIPT_ASIAN,           XML_TYPE_CHAR_SCRIPT|MID_FLAG_MERGE_PROPERTY,           0 ),
604
    MT_ED( PROP_CharLocaleAsian, XML_NAMESPACE_STYLE, XML_COUNTRY_ASIAN,          XML_TYPE_CHAR_COUNTRY|MID_FLAG_MERGE_PROPERTY,          0 ),
605
    // RES_CHRATR_CJK_POSTURE
606
    MT_E( PROP_CharPostureAsian, XML_NAMESPACE_STYLE, XML_FONT_STYLE_ASIAN, XML_TYPE_TEXT_POSTURE, 0 ),
607
    // RES_CHRATR_CJK_WEIGHT
608
    MT_E( PROP_CharWeightAsian, XML_NAMESPACE_STYLE, XML_FONT_WEIGHT_ASIAN, XML_TYPE_TEXT_WEIGHT, 0 ),
609
    // RES_CHRATR_CTL_FONT
610
    MT_ED( PROP_CharFontNameComplex,      XML_NAMESPACE_STYLE, XML_FONT_NAME_COMPLEX,           XML_TYPE_STRING|MID_FLAG_SPECIAL_ITEM_IMPORT, CTF_FONTNAME_CTL ),
611
    MT_ED( PROP_CharFontNameComplex,      XML_NAMESPACE_STYLE, XML_FONT_FAMILY_COMPLEX,         XML_TYPE_TEXT_FONTFAMILYNAME|MID_FLAG_SPECIAL_ITEM_IMPORT, CTF_FONTFAMILYNAME_CTL ),
612
    MT_ED( PROP_CharFontStyleNameComplex, XML_NAMESPACE_STYLE, XML_FONT_STYLE_NAME_COMPLEX,     XML_TYPE_STRING, CTF_FONTSTYLENAME_CTL ),
613
    MT_ED( PROP_CharFontFamilyComplex,    XML_NAMESPACE_STYLE, XML_FONT_FAMILY_GENERIC_COMPLEX, XML_TYPE_TEXT_FONTFAMILY, CTF_FONTFAMILY_CTL ),
614
    MT_ED( PROP_CharFontPitchComplex,     XML_NAMESPACE_STYLE, XML_FONT_PITCH_COMPLEX,          XML_TYPE_TEXT_FONTPITCH, CTF_FONTPITCH_CTL ),
615
    MT_ED( PROP_CharFontCharSetComplex,   XML_NAMESPACE_STYLE, XML_FONT_CHARSET_COMPLEX,        XML_TYPE_TEXT_FONTENCODING, CTF_FONTCHARSET_CTL ),
616
    // RES_CHRATR_CTL_FONTSIZE
617
    MT_ED( PROP_CharHeightComplex,     XML_NAMESPACE_STYLE, XML_FONT_SIZE_COMPLEX,     XML_TYPE_CHAR_HEIGHT|MID_FLAG_MULTI_PROPERTY, CTF_CHARHEIGHT_CTL ),
618
    MT_ED( PROP_CharPropHeightComplex, XML_NAMESPACE_STYLE, XML_FONT_SIZE_COMPLEX,     XML_TYPE_CHAR_HEIGHT_PROP|MID_FLAG_MULTI_PROPERTY, CTF_CHARHEIGHT_REL_CTL ),
619
    MT_ED( PROP_CharDiffHeightComplex, XML_NAMESPACE_STYLE, XML_FONT_SIZE_REL_COMPLEX, XML_TYPE_CHAR_HEIGHT_DIFF, CTF_CHARHEIGHT_DIFF_CTL ),
620
    // RES_CHRATR_CTL_LANGUAGE
621
    MT_ED( PROP_CharLocaleComplex, XML_NAMESPACE_STYLE, XML_RFC_LANGUAGE_TAG_COMPLEX, XML_TYPE_CHAR_RFC_LANGUAGE_TAG|MID_FLAG_MERGE_PROPERTY, 0 ),
622
    MT_ED( PROP_CharLocaleComplex, XML_NAMESPACE_STYLE, XML_LANGUAGE_COMPLEX,         XML_TYPE_CHAR_LANGUAGE|MID_FLAG_MERGE_PROPERTY,         0 ),
623
    MT_ED( PROP_CharLocaleComplex, XML_NAMESPACE_STYLE, XML_SCRIPT_COMPLEX,           XML_TYPE_CHAR_SCRIPT|MID_FLAG_MERGE_PROPERTY,           0 ),
624
    MT_ED( PROP_CharLocaleComplex, XML_NAMESPACE_STYLE, XML_COUNTRY_COMPLEX,          XML_TYPE_CHAR_COUNTRY|MID_FLAG_MERGE_PROPERTY,          0 ),
625
    // RES_CHRATR_CTL_POSTURE
626
    MT_E( PROP_CharPostureComplex, XML_NAMESPACE_STYLE, XML_FONT_STYLE_COMPLEX, XML_TYPE_TEXT_POSTURE, 0 ),
627
    // RES_CHRATR_CTL_WEIGHT
628
    MT_E( PROP_CharWeightComplex, XML_NAMESPACE_STYLE, XML_FONT_WEIGHT_COMPLEX, XML_TYPE_TEXT_WEIGHT, 0 ),
629
    // RES_CHRATR_ROTATE
630
    MT_E( PROP_CharRotation,            XML_NAMESPACE_STYLE, XML_TEXT_ROTATION_ANGLE, XML_TYPE_TEXT_ROTATION_ANGLE, 0 ),
631
    MT_E( PROP_CharRotationIsFitToLine, XML_NAMESPACE_STYLE, XML_TEXT_ROTATION_SCALE, XML_TYPE_TEXT_ROTATION_SCALE, 0 ),
632
    // RES_CHRATR_EMPHASIS_MARK
633
    MT_E( PROP_CharEmphasis, XML_NAMESPACE_STYLE, XML_TEXT_EMPHASIZE, XML_TYPE_TEXT_EMPHASIZE, 0 ),
634
    // RES_CHRATR_TWO_LINES
635
    MT_E( PROP_CharCombineIsOn,   XML_NAMESPACE_STYLE, XML_TEXT_COMBINE,            XML_TYPE_TEXT_COMBINE|MID_FLAG_MULTI_PROPERTY, 0 ),
636
    MT_E( PROP_CharCombinePrefix, XML_NAMESPACE_STYLE, XML_TEXT_COMBINE_START_CHAR, XML_TYPE_TEXT_COMBINECHAR, 0 ),
637
    MT_E( PROP_CharCombineSuffix, XML_NAMESPACE_STYLE, XML_TEXT_COMBINE_END_CHAR,   XML_TYPE_TEXT_COMBINECHAR, 0 ),
638
    // RES_CHRATR_SCALEW
639
    MT_E( PROP_CharScaleWidth, XML_NAMESPACE_STYLE, XML_TEXT_SCALE, XML_TYPE_PERCENT16, 0 ),
640
    // combined characters field, does not correspond to a property
641
    MT_E( PROP_, XML_NAMESPACE_STYLE, XML_TEXT_COMBINE, XML_TYPE_TEXT_COMBINE_CHARACTERS|MID_FLAG_NO_PROPERTY, CTF_COMBINED_CHARACTERS_FIELD ),
642
    //RES_CHRATR_RELIEF
643
    MT_E( PROP_CharRelief, XML_NAMESPACE_STYLE, XML_FONT_RELIEF, XML_TYPE_TEXT_FONT_RELIEF, 0 ),
644
    MAP_EXT( PROP_CharOpticalSizing, XML_NAMESPACE_LO_EXT, XML_FONT_OPTICAL_SIZING, XML_TYPE_TEXT_FONT_OPTICAL_SIZING | XML_TYPE_PROP_TEXT, 0 ),
645
    MAP_EXT( PROP_CharFontVariations, XML_NAMESPACE_LO_EXT, XML_FONT_VARIATION_SETTINGS, XML_TYPE_STRING | XML_TYPE_PROP_TEXT, 0 ),
646
    // RES_CHRATR_HIDDEN
647
    MT_E( PROP_CharHidden, XML_NAMESPACE_TEXT, XML_DISPLAY, XML_TYPE_TEXT_HIDDEN_AS_DISPLAY|MID_FLAG_SPECIAL_ITEM_IMPORT, CTF_TEXT_DISPLAY ),
648
    // RES_CHRATR_OVERLINE
649
    MT_E( PROP_CharOverline,         XML_NAMESPACE_STYLE, XML_TEXT_OVERLINE_STYLE, XML_TYPE_TEXT_OVERLINE_STYLE|MID_FLAG_MERGE_PROPERTY,     0 ),
650
    MT_E( PROP_CharOverline,         XML_NAMESPACE_STYLE, XML_TEXT_OVERLINE_TYPE,  XML_TYPE_TEXT_OVERLINE_TYPE|MID_FLAG_MERGE_PROPERTY,      0 ),
651
    MT_E( PROP_CharOverline,         XML_NAMESPACE_STYLE, XML_TEXT_OVERLINE_WIDTH, XML_TYPE_TEXT_OVERLINE_WIDTH|MID_FLAG_MERGE_PROPERTY,     0 ),
652
    MT_E( PROP_CharOverlineColor,    XML_NAMESPACE_STYLE, XML_TEXT_OVERLINE_COLOR, XML_TYPE_TEXT_OVERLINE_COLOR|MID_FLAG_MULTI_PROPERTY,     0 ),
653
    MT_E( PROP_CharOverlineHasColor, XML_NAMESPACE_STYLE, XML_TEXT_OVERLINE_COLOR, XML_TYPE_TEXT_OVERLINE_HASCOLOR|MID_FLAG_MERGE_ATTRIBUTE, 0 ),
654
    // RES_CHRATR_BOX
655
    MAP_EXT( PROP_CharLeftBorder,     XML_NAMESPACE_LO_EXT, XML_BORDER_LINE_WIDTH,        XML_TYPE_BORDER_WIDTH|XML_TYPE_PROP_TEXT, CTF_CHARALLBORDERWIDTH ),
656
    MAP_EXT( PROP_CharLeftBorder,     XML_NAMESPACE_LO_EXT, XML_BORDER_LINE_WIDTH_LEFT,   XML_TYPE_BORDER_WIDTH|XML_TYPE_PROP_TEXT, CTF_CHARLEFTBORDERWIDTH ),
657
    MAP_EXT( PROP_CharRightBorder,    XML_NAMESPACE_LO_EXT, XML_BORDER_LINE_WIDTH_RIGHT,  XML_TYPE_BORDER_WIDTH|XML_TYPE_PROP_TEXT, CTF_CHARRIGHTBORDERWIDTH ),
658
    MAP_EXT( PROP_CharTopBorder,      XML_NAMESPACE_LO_EXT, XML_BORDER_LINE_WIDTH_TOP,    XML_TYPE_BORDER_WIDTH|XML_TYPE_PROP_TEXT, CTF_CHARTOPBORDERWIDTH ),
659
    MAP_EXT( PROP_CharBottomBorder,   XML_NAMESPACE_LO_EXT, XML_BORDER_LINE_WIDTH_BOTTOM, XML_TYPE_BORDER_WIDTH|XML_TYPE_PROP_TEXT, CTF_CHARBOTTOMBORDERWIDTH ),
660
    MAP_EXT_I( PROP_CharLeftBorder,   XML_NAMESPACE_STYLE,  XML_BORDER_LINE_WIDTH,        XML_TYPE_BORDER_WIDTH|XML_TYPE_PROP_TEXT, CTF_CHARALLBORDERWIDTH ),
661
    MAP_EXT_I( PROP_CharLeftBorder,   XML_NAMESPACE_STYLE,  XML_BORDER_LINE_WIDTH_LEFT,   XML_TYPE_BORDER_WIDTH|XML_TYPE_PROP_TEXT, CTF_CHARLEFTBORDERWIDTH ),
662
    MAP_EXT_I( PROP_CharRightBorder,  XML_NAMESPACE_STYLE,  XML_BORDER_LINE_WIDTH_RIGHT,  XML_TYPE_BORDER_WIDTH|XML_TYPE_PROP_TEXT, CTF_CHARRIGHTBORDERWIDTH ),
663
    MAP_EXT_I( PROP_CharTopBorder,    XML_NAMESPACE_STYLE,  XML_BORDER_LINE_WIDTH_TOP,    XML_TYPE_BORDER_WIDTH|XML_TYPE_PROP_TEXT, CTF_CHARTOPBORDERWIDTH ),
664
    MAP_EXT_I( PROP_CharBottomBorder, XML_NAMESPACE_STYLE,  XML_BORDER_LINE_WIDTH_BOTTOM, XML_TYPE_BORDER_WIDTH|XML_TYPE_PROP_TEXT, CTF_CHARBOTTOMBORDERWIDTH ),
665
666
    MAP_EXT( PROP_CharLeftBorderDistance,     XML_NAMESPACE_LO_EXT, XML_PADDING,        XML_TYPE_MEASURE|XML_TYPE_PROP_TEXT, CTF_CHARALLBORDERDISTANCE ),
667
    MAP_EXT( PROP_CharLeftBorderDistance,     XML_NAMESPACE_LO_EXT, XML_PADDING_LEFT,   XML_TYPE_MEASURE|XML_TYPE_PROP_TEXT, CTF_CHARLEFTBORDERDISTANCE ),
668
    MAP_EXT( PROP_CharRightBorderDistance,    XML_NAMESPACE_LO_EXT, XML_PADDING_RIGHT,  XML_TYPE_MEASURE|XML_TYPE_PROP_TEXT, CTF_CHARRIGHTBORDERDISTANCE ),
669
    MAP_EXT( PROP_CharTopBorderDistance,      XML_NAMESPACE_LO_EXT, XML_PADDING_TOP,    XML_TYPE_MEASURE|XML_TYPE_PROP_TEXT, CTF_CHARTOPBORDERDISTANCE ),
670
    MAP_EXT( PROP_CharBottomBorderDistance,   XML_NAMESPACE_LO_EXT, XML_PADDING_BOTTOM, XML_TYPE_MEASURE|XML_TYPE_PROP_TEXT, CTF_CHARBOTTOMBORDERDISTANCE ),
671
    MAP_EXT_I( PROP_CharLeftBorderDistance,   XML_NAMESPACE_FO, XML_PADDING,        XML_TYPE_MEASURE|XML_TYPE_PROP_TEXT, CTF_CHARALLBORDERDISTANCE ),
672
    MAP_EXT_I( PROP_CharLeftBorderDistance,   XML_NAMESPACE_FO, XML_PADDING_LEFT,   XML_TYPE_MEASURE|XML_TYPE_PROP_TEXT, CTF_CHARLEFTBORDERDISTANCE ),
673
    MAP_EXT_I( PROP_CharRightBorderDistance,  XML_NAMESPACE_FO, XML_PADDING_RIGHT,  XML_TYPE_MEASURE|XML_TYPE_PROP_TEXT, CTF_CHARRIGHTBORDERDISTANCE ),
674
    MAP_EXT_I( PROP_CharTopBorderDistance,    XML_NAMESPACE_FO, XML_PADDING_TOP,    XML_TYPE_MEASURE|XML_TYPE_PROP_TEXT, CTF_CHARTOPBORDERDISTANCE ),
675
    MAP_EXT_I( PROP_CharBottomBorderDistance, XML_NAMESPACE_FO, XML_PADDING_BOTTOM, XML_TYPE_MEASURE|XML_TYPE_PROP_TEXT, CTF_CHARBOTTOMBORDERDISTANCE ),
676
677
    MAP_EXT( PROP_CharLeftBorder,     XML_NAMESPACE_LO_EXT, XML_BORDER,        XML_TYPE_BORDER|XML_TYPE_PROP_TEXT, CTF_CHARALLBORDER ),
678
    MAP_EXT( PROP_CharLeftBorder,     XML_NAMESPACE_LO_EXT, XML_BORDER_LEFT,   XML_TYPE_BORDER|XML_TYPE_PROP_TEXT, CTF_CHARLEFTBORDER ),
679
    MAP_EXT( PROP_CharRightBorder,    XML_NAMESPACE_LO_EXT, XML_BORDER_RIGHT,  XML_TYPE_BORDER|XML_TYPE_PROP_TEXT, CTF_CHARRIGHTBORDER ),
680
    MAP_EXT( PROP_CharTopBorder,      XML_NAMESPACE_LO_EXT, XML_BORDER_TOP,    XML_TYPE_BORDER|XML_TYPE_PROP_TEXT, CTF_CHARTOPBORDER ),
681
    MAP_EXT( PROP_CharBottomBorder,   XML_NAMESPACE_LO_EXT, XML_BORDER_BOTTOM, XML_TYPE_BORDER|XML_TYPE_PROP_TEXT, CTF_CHARBOTTOMBORDER ),
682
    MAP_EXT_I( PROP_CharLeftBorder,   XML_NAMESPACE_FO, XML_BORDER,        XML_TYPE_BORDER|XML_TYPE_PROP_TEXT, CTF_CHARALLBORDER ),
683
    MAP_EXT_I( PROP_CharLeftBorder,   XML_NAMESPACE_FO, XML_BORDER_LEFT,   XML_TYPE_BORDER|XML_TYPE_PROP_TEXT, CTF_CHARLEFTBORDER ),
684
    MAP_EXT_I( PROP_CharRightBorder,  XML_NAMESPACE_FO, XML_BORDER_RIGHT,  XML_TYPE_BORDER|XML_TYPE_PROP_TEXT, CTF_CHARRIGHTBORDER ),
685
    MAP_EXT_I( PROP_CharTopBorder,    XML_NAMESPACE_FO, XML_BORDER_TOP,    XML_TYPE_BORDER|XML_TYPE_PROP_TEXT, CTF_CHARTOPBORDER ),
686
    MAP_EXT_I( PROP_CharBottomBorder, XML_NAMESPACE_FO, XML_BORDER_BOTTOM, XML_TYPE_BORDER|XML_TYPE_PROP_TEXT, CTF_CHARBOTTOMBORDER ),
687
    // RES_CHRATR_SHADOW
688
    MAP_EXT( PROP_CharShadowFormat,   XML_NAMESPACE_LO_EXT, XML_SHADOW, XML_TYPE_TEXT_SHADOW|XML_TYPE_PROP_TEXT, 0 ),
689
    MAP_EXT_I( PROP_CharShadowFormat, XML_NAMESPACE_STYLE,  XML_SHADOW, XML_TYPE_TEXT_SHADOW|XML_TYPE_PROP_TEXT, 0 ),
690
    // RES_CHRATR_HIGHLIGHT
691
    MT_E( PROP_CharHighlight, XML_NAMESPACE_FO, XML_BACKGROUND_COLOR, XML_TYPE_COLORTRANSPARENT|MID_FLAG_MULTI_PROPERTY|MID_FLAG_NO_PROPERTY_IMPORT, CTF_CHAR_HIGHLIGHT ),
692
    // RES_TXTATR_INETFMT
693
    MT_E( PROP_HyperLinkURL, XML_NAMESPACE_TEXT, XML_XMLNS, XML_TYPE_STRING|MID_FLAG_NO_PROPERTY_IMPORT, CTF_HYPERLINK_URL ),
694
    // RES_TXTATR_REFMARK
695
    // TODO
696
    // RES_TXTATR_TOXMARK
697
    // TODO
698
    // RES_TXTATR_CHARFMT
699
    MT_E( PROP_CharStyleName, XML_NAMESPACE_TEXT, XML_STYLE_NAME, XML_TYPE_STRING|MID_FLAG_NO_PROPERTY_IMPORT, CTF_CHAR_STYLE_NAME ),
700
    // RES_TXTATR_CJK_RUBY
701
    // TODO
702
    // RES_TXTATR_FIELD
703
    // TODO
704
    // RES_TXTATR_FLYCNT
705
    // TODO
706
    // RES_TXTATR_FTN
707
    // TODO
708
    // RES_TXTATR_SOFTHYPH
709
    // TODO
710
    // RES_TXTATR_HARDBLANK
711
    // TODO
712
    // RES_UNKNOWNATR_CONTAINER
713
    MT_E( PROP_TextUserDefinedAttributes, XML_NAMESPACE_TEXT,  XML_XMLNS,             XML_TYPE_ATTRIBUTE_CONTAINER | MID_FLAG_SPECIAL_ITEM, 0 ),
714
    MT_ED( PROP_ParaIsCharacterDistance,  XML_NAMESPACE_STYLE, XML_TEXT_AUTOSPACE,    XML_TYPE_TEXT_AUTOSPACE,                              0 ),
715
    MT_ED( PROP_ParaIsHangingPunctuation, XML_NAMESPACE_STYLE, XML_PUNCTUATION_WRAP,  XML_TYPE_TEXT_PUNCTUATION_WRAP,                       0 ),
716
    MT_ED( PROP_ParaIsForbiddenRules,     XML_NAMESPACE_STYLE, XML_LINE_BREAK,        XML_TYPE_TEXT_LINE_BREAK,                             0 ),
717
    MT_E( PROP_TabStopDistance,           XML_NAMESPACE_STYLE, XML_TAB_STOP_DISTANCE, XML_TYPE_MEASURE,                                     0 ),
718
719
    MT_ED( PROP_CharScriptHint,           XML_NAMESPACE_STYLE, XML_SCRIPT_TYPE,       XML_TYPE_TEXT_SCRIPT_TYPE|MID_FLAG_MERGE_PROPERTY,    0 ),
720
721
    M_END()
722
};
723
724
XMLPropertyMapEntry constexpr aXMLFramePropMap[] =
725
{
726
    // RES_FILL_ORDER
727
    // TODO: not required???
728
    // RES_FRM_SIZE
729
    MG_ED( PROP_Width,           XML_NAMESPACE_SVG,   XML_WIDTH,     XML_TYPE_MEASURE, CTF_FRAMEWIDTH_ABS ),
730
    MG_ED( PROP_Width,           XML_NAMESPACE_FO,    XML_MIN_WIDTH, XML_TYPE_MEASURE|MID_FLAG_MULTI_PROPERTY, CTF_FRAMEWIDTH_MIN_ABS ),
731
    MG_ED( PROP_RelativeWidth,   XML_NAMESPACE_FO,    XML_MIN_WIDTH, XML_TYPE_TEXT_REL_WIDTH_HEIGHT, CTF_FRAMEWIDTH_MIN_REL ),
732
    MG_ED( PROP_RelativeWidth,   XML_NAMESPACE_STYLE, XML_REL_WIDTH, XML_TYPE_TEXT_REL_WIDTH_HEIGHT, CTF_FRAMEWIDTH_REL ),
733
    MG_ED( PROP_WidthType,       XML_NAMESPACE_FO,    XML_TEXT_BOX,  XML_TYPE_NUMBER16|MID_FLAG_SPECIAL_ITEM_IMPORT, CTF_FRAMEWIDTH_TYPE ),
734
//  M_ED( "RelativeWidth",       XML_NAMESPACE_STYLE, XML_REL_WIDTH, XML_TYPE_TEXT_REL_WIDTH_HEIGHT|MID_FLAG_MULTI_PROPERTY, 0 ),
735
//  M_ED( "IsSyncWidthToHeight", XML_NAMESPACE_STYLE, XML_REL_WIDTH, XML_TYPE_TEXT_SYNC_WIDTH_HEIGHT|MID_FLAG_MULTI_PROPERTY, 0 ),
736
737
    MG_ED( PROP_Height,          XML_NAMESPACE_SVG,   XML_HEIGHT,     XML_TYPE_MEASURE, CTF_FRAMEHEIGHT_ABS ),
738
    MG_ED( PROP_Height,          XML_NAMESPACE_FO,    XML_MIN_HEIGHT, XML_TYPE_MEASURE|MID_FLAG_MULTI_PROPERTY, CTF_FRAMEHEIGHT_MIN_ABS ),
739
    MG_ED( PROP_RelativeHeight,  XML_NAMESPACE_FO,    XML_MIN_HEIGHT, XML_TYPE_TEXT_REL_WIDTH_HEIGHT, CTF_FRAMEHEIGHT_MIN_REL ),
740
    MG_ED( PROP_RelativeHeight,  XML_NAMESPACE_STYLE, XML_REL_HEIGHT, XML_TYPE_TEXT_REL_WIDTH_HEIGHT, CTF_FRAMEHEIGHT_REL ),
741
//  M_ED( "RelativeHeight",      XML_NAMESPACE_STYLE, XML_REL_HEIGHT, XML_TYPE_TEXT_REL_WIDTH_HEIGHT|MID_FLAG_MULTI_PROPERTY, CTF_FRAMEHEIGHT_REL ),
742
//  M_ED( "IsSyncHeightToWidth", XML_NAMESPACE_STYLE, XML_REL_HEIGHT, XML_TYPE_TEXT_SYNC_WIDTH_HEIGHT|MID_FLAG_MULTI_PROPERTY, CTF_SYNCHEIGHT ),
743
//  M_ED( "IsSyncHeightToWidth", XML_NAMESPACE_STYLE, XML_REL_HEIGHT, XML_TYPE_TEXT_SYNC_WIDTH_HEIGHT_MIN, CTF_SYNCHEIGHT_MIN ),
744
    MG_ED( PROP_SizeType,        XML_NAMESPACE_FO,    XML_TEXT_BOX,   XML_TYPE_NUMBER16|MID_FLAG_SPECIAL_ITEM_IMPORT, CTF_SIZETYPE ),
745
    // RES_PAPER_BIN
746
    // not required
747
    // RES_ANCHOR
748
    // moved to here because it is not used for automatic styles
749
    MG_ED( PROP_AnchorType, XML_NAMESPACE_TEXT, XML_ANCHOR_TYPE, XML_TYPE_TEXT_ANCHOR_TYPE, CTF_ANCHORTYPE ),
750
    // AnchorPage number is not required for styles!
751
    MG_ED( PROP_HoriOrientPosition, XML_NAMESPACE_SVG, XML_X, XML_TYPE_MEASURE, 0 ),
752
    MG_ED( PROP_VertOrientPosition, XML_NAMESPACE_SVG, XML_Y, XML_TYPE_MEASURE, 0 ),
753
    // ***** The map for automatic styles starts here *****
754
    // RES_LR_SPACE
755
    MG_E( PROP_LeftMargin,  XML_NAMESPACE_FO, XML_MARGIN,       XML_TYPE_MEASURE, CTF_MARGINALL ),
756
    MG_E( PROP_LeftMargin,  XML_NAMESPACE_FO, XML_MARGIN_LEFT,  XML_TYPE_MEASURE, CTF_MARGINLEFT ),
757
    MG_E( PROP_RightMargin, XML_NAMESPACE_FO, XML_MARGIN_RIGHT, XML_TYPE_MEASURE, CTF_MARGINRIGHT ),
758
    // RES_UL_SPACE
759
    MG_E( PROP_TopMargin,    XML_NAMESPACE_FO, XML_MARGIN_TOP,    XML_TYPE_MEASURE, CTF_MARGINTOP ),
760
    MG_E( PROP_BottomMargin, XML_NAMESPACE_FO, XML_MARGIN_BOTTOM, XML_TYPE_MEASURE, CTF_MARGINBOTTOM ),
761
    // RES_PAGEDESC
762
    // not required
763
    // RES_BREAK
764
    // not required
765
    // RES_CNTNT
766
    // not required (accessed using API)
767
    // RES_HEADER
768
    // not required
769
    // RES_FOOTER
770
    // not required
771
    // RES_PRINT
772
    MG_E( PROP_Print, XML_NAMESPACE_STYLE, XML_PRINT_CONTENT, XML_TYPE_BOOL, 0 ),
773
    // RES_OPAQUE
774
    MG_ED( PROP_Opaque, XML_NAMESPACE_STYLE, XML_RUN_THROUGH, XML_TYPE_TEXT_OPAQUE, 0 ),
775
    // RES_PROTECT
776
    MG_E( PROP_ContentProtected,  XML_NAMESPACE_STYLE, XML_PROTECT, XML_TYPE_TEXT_PROTECT_CONTENT|MID_FLAG_MERGE_ATTRIBUTE|MID_FLAG_MULTI_PROPERTY, 0 ),
777
    MG_E( PROP_SizeProtected,     XML_NAMESPACE_STYLE, XML_PROTECT, XML_TYPE_TEXT_PROTECT_SIZE|MID_FLAG_MERGE_ATTRIBUTE|MID_FLAG_MULTI_PROPERTY, 0 ),
778
    MG_E( PROP_PositionProtected, XML_NAMESPACE_STYLE, XML_PROTECT, XML_TYPE_TEXT_PROTECT_POSITION|MID_FLAG_MERGE_ATTRIBUTE|MID_FLAG_MULTI_PROPERTY, 0 ),
779
    // RES_SURROUND
780
    MG_ED( PROP_TextWrap,           XML_NAMESPACE_STYLE, XML_WRAP,                      XML_TYPE_TEXT_WRAP, CTF_WRAP ),
781
    MG_ED( PROP_SurroundAnchorOnly, XML_NAMESPACE_STYLE, XML_NUMBER_WRAPPED_PARAGRAPHS, XML_TYPE_TEXT_PARAGRAPH_ONLY, CTF_WRAP_PARAGRAPH_ONLY ),
782
    MG_E( PROP_SurroundContour,     XML_NAMESPACE_STYLE, XML_WRAP_CONTOUR,              XML_TYPE_BOOL, CTF_WRAP_CONTOUR ),
783
    MG_E( PROP_ContourOutside,      XML_NAMESPACE_STYLE, XML_WRAP_CONTOUR_MODE,         XML_TYPE_TEXT_WRAP_OUTSIDE, CTF_WRAP_CONTOUR_MODE ),
784
    // RES_VERT_ORIENT
785
    MG_ED( PROP_VertOrient,             XML_NAMESPACE_STYLE,  XML_VERTICAL_POS, XML_TYPE_TEXT_VERTICAL_POS, CTF_VERTICALPOS ),
786
    MG_ED( PROP_VertOrient,             XML_NAMESPACE_STYLE,  XML_VERTICAL_POS, XML_TYPE_TEXT_VERTICAL_POS_AT_CHAR, CTF_VERTICALPOS_ATCHAR ),
787
    MG_ED( PROP_VertOrient,             XML_NAMESPACE_STYLE,  XML_VERTICAL_REL, XML_TYPE_TEXT_VERTICAL_REL_AS_CHAR|MID_FLAG_MULTI_PROPERTY, CTF_VERTICALREL_ASCHAR ),
788
    MG_ED( PROP_VertOrientRelation,     XML_NAMESPACE_STYLE,  XML_VERTICAL_REL, XML_TYPE_TEXT_VERTICAL_REL, CTF_VERTICALREL ),
789
    MG_ED( PROP_VertOrientRelation,     XML_NAMESPACE_STYLE,  XML_VERTICAL_REL, XML_TYPE_TEXT_VERTICAL_REL_PAGE|MID_FLAG_SPECIAL_ITEM_IMPORT, CTF_VERTICALREL_PAGE ),
790
    MG_ED( PROP_VertOrientRelation,     XML_NAMESPACE_STYLE,  XML_VERTICAL_REL, XML_TYPE_TEXT_VERTICAL_REL_FRAME|MID_FLAG_SPECIAL_ITEM_IMPORT, CTF_VERTICALREL_FRAME ),
791
    MAP_EXT_I( PROP_VertOrientRelation, XML_NAMESPACE_LO_EXT, XML_VERTICAL_REL, XML_TYPE_TEXT_VERTICAL_REL|XML_TYPE_PROP_GRAPHIC|MID_FLAG_DEFAULT_ITEM_EXPORT, CTF_VERTICALREL ),
792
    MAP_EXT_I( PROP_VertOrientRelation, XML_NAMESPACE_LO_EXT, XML_VERTICAL_REL, XML_TYPE_TEXT_VERTICAL_REL_PAGE|MID_FLAG_SPECIAL_ITEM_IMPORT|XML_TYPE_PROP_GRAPHIC|MID_FLAG_DEFAULT_ITEM_EXPORT, CTF_VERTICALREL_PAGE ),
793
    MAP_EXT_I( PROP_VertOrientRelation, XML_NAMESPACE_LO_EXT, XML_VERTICAL_REL, XML_TYPE_TEXT_VERTICAL_REL_FRAME|MID_FLAG_SPECIAL_ITEM_IMPORT|XML_TYPE_PROP_GRAPHIC|MID_FLAG_DEFAULT_ITEM_EXPORT, CTF_VERTICALREL_FRAME ),
794
    // RES_HORI_ORIENT
795
    MG_ED( PROP_HoriOrient,         XML_NAMESPACE_STYLE, XML_HORIZONTAL_POS, XML_TYPE_TEXT_HORIZONTAL_POS|MID_FLAG_MULTI_PROPERTY, CTF_HORIZONTALPOS ),
796
    MG_ED( PROP_PageToggle,         XML_NAMESPACE_STYLE, XML_HORIZONTAL_POS, XML_TYPE_TEXT_HORIZONTAL_MIRROR, CTF_HORIZONTALMIRROR ),
797
    MG_ED( PROP_HoriOrient,         XML_NAMESPACE_STYLE, XML_HORIZONTAL_POS, XML_TYPE_TEXT_HORIZONTAL_POS_MIRRORED|MID_FLAG_SPECIAL_ITEM_IMPORT, CTF_HORIZONTALPOS_MIRRORED ),
798
    MG_ED( PROP_HoriOrientRelation, XML_NAMESPACE_STYLE, XML_HORIZONTAL_REL, XML_TYPE_TEXT_HORIZONTAL_REL, CTF_HORIZONTALREL ),
799
    MG_ED( PROP_HoriOrientRelation, XML_NAMESPACE_STYLE, XML_HORIZONTAL_REL, XML_TYPE_TEXT_HORIZONTAL_REL_FRAME|MID_FLAG_SPECIAL_ITEM_IMPORT, CTF_HORIZONTALREL_FRAME ),
800
    // RES_ANCHOR
801
    // see above
802
    // RES_BACKGROUND
803
    // DO NOT REORDER these!
804
    MG_ED( PROP_BackColorRGB,          XML_NAMESPACE_FO,     XML_BACKGROUND_COLOR,              XML_TYPE_COLORTRANSPARENT|MID_FLAG_MULTI_PROPERTY, 0 ),
805
    MG_ED( PROP_BackTransparent,       XML_NAMESPACE_FO,     XML_BACKGROUND_COLOR,              XML_TYPE_ISTRANSPARENT|MID_FLAG_MERGE_ATTRIBUTE|MID_FLAG_MULTI_PROPERTY, CTF_BACKGROUND_TRANSPARENT ),
806
    MG_ED( PROP_BackColorTransparency, XML_NAMESPACE_STYLE,  XML_BACKGROUND_TRANSPARENCY,       XML_TYPE_PERCENT8, CTF_BACKGROUND_TRANSPARENCY ),
807
808
    MG_E( PROP_BackGraphicTransparency, XML_NAMESPACE_STYLE, XML_BACKGROUND_IMAGE_TRANSPARENCY, MID_FLAG_SPECIAL_ITEM|XML_TYPE_PERCENT8, CTF_BACKGROUND_TRANSPARENCY ),
809
    MG_E( PROP_BackGraphicLocation,     XML_NAMESPACE_STYLE, XML_POSITION,                      MID_FLAG_SPECIAL_ITEM|XML_TYPE_BUILDIN_CMP_ONLY, CTF_BACKGROUND_POS  ),
810
    MG_E( PROP_BackGraphicFilter,       XML_NAMESPACE_STYLE, XML_FILTER_NAME,                   MID_FLAG_SPECIAL_ITEM|XML_TYPE_STRING, CTF_BACKGROUND_FILTER ),
811
    MG_E( PROP_BackGraphic,             XML_NAMESPACE_STYLE, XML_BACKGROUND_IMAGE,              MID_FLAG_ELEMENT_ITEM|XML_TYPE_GRAPHIC, CTF_BACKGROUND_URL ),
812
813
    // fill attributes
814
    GMAP( PROP_FillStyle,                      XML_NAMESPACE_DRAW,  XML_FILL,                   XML_SW_TYPE_FILLSTYLE, 0 ),
815
    GMAP( PROP_FillColor,                      XML_NAMESPACE_DRAW,  XML_FILL_COLOR,             XML_TYPE_COLOR, 0 ),
816
    GMAP( PROP_FillColor2,                     XML_NAMESPACE_DRAW,  XML_SECONDARY_FILL_COLOR,   XML_TYPE_COLOR, 0 ),
817
    GMAP( PROP_FillGradientName,               XML_NAMESPACE_DRAW,  XML_FILL_GRADIENT_NAME,     XML_TYPE_STYLENAME|MID_FLAG_NO_PROPERTY_IMPORT, CTF_FILLGRADIENTNAME ),
818
    GMAP( PROP_FillGradientStepCount,          XML_NAMESPACE_DRAW,  XML_GRADIENT_STEP_COUNT,    XML_TYPE_NUMBER16, 0 ),
819
    GMAP( PROP_FillHatchName,                  XML_NAMESPACE_DRAW,  XML_FILL_HATCH_NAME,        XML_TYPE_STYLENAME|MID_FLAG_NO_PROPERTY_IMPORT, CTF_FILLHATCHNAME ),
820
    GMAP( PROP_FillBackground,                 XML_NAMESPACE_DRAW,  XML_FILL_HATCH_SOLID,       XML_TYPE_BOOL, 0 ),
821
    GMAP( PROP_FillBitmapName,                 XML_NAMESPACE_DRAW,  XML_FILL_IMAGE_NAME,        XML_TYPE_STYLENAME|MID_FLAG_NO_PROPERTY_IMPORT, CTF_FILLBITMAPNAME ),
822
    GMAP( PROP_FillTransparence,               XML_NAMESPACE_DRAW,  XML_OPACITY,                XML_TYPE_NEG_PERCENT16|MID_FLAG_MULTI_PROPERTY, 0 ),    // exists in SW, too
823
    GMAP( PROP_FillTransparenceGradientName,   XML_NAMESPACE_DRAW,  XML_OPACITY_NAME,           XML_TYPE_STYLENAME|MID_FLAG_NO_PROPERTY_IMPORT, CTF_FILLTRANSNAME ),
824
    GMAP( PROP_FillBitmapSizeX,                XML_NAMESPACE_DRAW,  XML_FILL_IMAGE_WIDTH,       XML_SW_TYPE_FILLBITMAPSIZE|MID_FLAG_MULTI_PROPERTY, 0 ),
825
    GMAP( PROP_FillBitmapLogicalSize,          XML_NAMESPACE_DRAW,  XML_FILL_IMAGE_WIDTH,       XML_SW_TYPE_LOGICAL_SIZE|MID_FLAG_MULTI_PROPERTY, 0 ),
826
    GMAP( PROP_FillBitmapSizeY,                XML_NAMESPACE_DRAW,  XML_FILL_IMAGE_HEIGHT,      XML_SW_TYPE_FILLBITMAPSIZE|MID_FLAG_MULTI_PROPERTY, 0 ),
827
    GMAP( PROP_FillBitmapLogicalSize,          XML_NAMESPACE_DRAW,  XML_FILL_IMAGE_HEIGHT,      XML_SW_TYPE_LOGICAL_SIZE|MID_FLAG_MULTI_PROPERTY, 0 ),
828
    GMAP( PROP_FillBitmapMode,                 XML_NAMESPACE_STYLE, XML_REPEAT,                 XML_SW_TYPE_BITMAP_MODE|MID_FLAG_MULTI_PROPERTY, 0 ),
829
    GMAP( PROP_FillBitmapPositionOffsetX,      XML_NAMESPACE_DRAW,  XML_FILL_IMAGE_REF_POINT_X, XML_TYPE_PERCENT, 0 ),
830
    GMAP( PROP_FillBitmapPositionOffsetY,      XML_NAMESPACE_DRAW,  XML_FILL_IMAGE_REF_POINT_Y, XML_TYPE_PERCENT, 0 ),
831
    GMAP( PROP_FillBitmapRectanglePoint,       XML_NAMESPACE_DRAW,  XML_FILL_IMAGE_REF_POINT,   XML_SW_TYPE_BITMAP_REFPOINT, 0 ),
832
    GMAP( PROP_FillBitmapOffsetX,              XML_NAMESPACE_DRAW,  XML_TILE_REPEAT_OFFSET,     XML_SW_TYPE_BITMAPREPOFFSETX|MID_FLAG_MULTI_PROPERTY, CTF_REPEAT_OFFSET_X ),
833
    GMAP( PROP_FillBitmapOffsetY,              XML_NAMESPACE_DRAW,  XML_TILE_REPEAT_OFFSET,     XML_SW_TYPE_BITMAPREPOFFSETY|MID_FLAG_MULTI_PROPERTY, CTF_REPEAT_OFFSET_Y ),
834
835
    // RES_BOX
836
    MG_ED( PROP_LeftBorder,   XML_NAMESPACE_STYLE, XML_BORDER_LINE_WIDTH,        XML_TYPE_BORDER_WIDTH, CTF_ALLBORDERWIDTH ),
837
    MG_ED( PROP_LeftBorder,   XML_NAMESPACE_STYLE, XML_BORDER_LINE_WIDTH_LEFT,   XML_TYPE_BORDER_WIDTH, CTF_LEFTBORDERWIDTH ),
838
    MG_ED( PROP_RightBorder,  XML_NAMESPACE_STYLE, XML_BORDER_LINE_WIDTH_RIGHT,  XML_TYPE_BORDER_WIDTH, CTF_RIGHTBORDERWIDTH ),
839
    MG_ED( PROP_TopBorder,    XML_NAMESPACE_STYLE, XML_BORDER_LINE_WIDTH_TOP,    XML_TYPE_BORDER_WIDTH, CTF_TOPBORDERWIDTH ),
840
    MG_ED( PROP_BottomBorder, XML_NAMESPACE_STYLE, XML_BORDER_LINE_WIDTH_BOTTOM, XML_TYPE_BORDER_WIDTH, CTF_BOTTOMBORDERWIDTH ),
841
842
    MG_ED( PROP_LeftBorderDistance,   XML_NAMESPACE_FO, XML_PADDING,        XML_TYPE_MEASURE, CTF_ALLBORDERDISTANCE ), // need special import filtering
843
    MG_ED( PROP_LeftBorderDistance,   XML_NAMESPACE_FO, XML_PADDING_LEFT,   XML_TYPE_MEASURE, CTF_LEFTBORDERDISTANCE ),
844
    MG_ED( PROP_RightBorderDistance,  XML_NAMESPACE_FO, XML_PADDING_RIGHT,  XML_TYPE_MEASURE, CTF_RIGHTBORDERDISTANCE ),
845
    MG_ED( PROP_TopBorderDistance,    XML_NAMESPACE_FO, XML_PADDING_TOP,    XML_TYPE_MEASURE, CTF_TOPBORDERDISTANCE ),
846
    MG_ED( PROP_BottomBorderDistance, XML_NAMESPACE_FO, XML_PADDING_BOTTOM, XML_TYPE_MEASURE, CTF_BOTTOMBORDERDISTANCE ),
847
848
    // There is an additional property for controls!
849
    MG_ED( PROP_LeftBorder,   XML_NAMESPACE_FO, XML_BORDER,        XML_TYPE_BORDER|MID_FLAG_MULTI_PROPERTY, CTF_ALLBORDER ),
850
    MG_ED( PROP_LeftBorder,   XML_NAMESPACE_FO, XML_BORDER_LEFT,   XML_TYPE_BORDER,                         CTF_LEFTBORDER ),
851
    MG_ED( PROP_RightBorder,  XML_NAMESPACE_FO, XML_BORDER_RIGHT,  XML_TYPE_BORDER,                         CTF_RIGHTBORDER ),
852
    MG_ED( PROP_TopBorder,    XML_NAMESPACE_FO, XML_BORDER_TOP,    XML_TYPE_BORDER,                         CTF_TOPBORDER ),
853
    MG_ED( PROP_BottomBorder, XML_NAMESPACE_FO, XML_BORDER_BOTTOM, XML_TYPE_BORDER,                         CTF_BOTTOMBORDER ),
854
    // RES_SHADOW
855
    MG_E( PROP_ShadowFormat,       XML_NAMESPACE_STYLE, XML_SHADOW,         XML_TYPE_TEXT_SHADOW, 0 ),
856
    MG_E( PROP_ShadowTransparence, XML_NAMESPACE_DRAW,  XML_SHADOW_OPACITY, XML_TYPE_NEG_PERCENT, 0 ),
857
    // RES_FRMMACRO
858
    // TODO
859
    // RES_COL
860
    MG_E( PROP_TextColumns, XML_NAMESPACE_STYLE, XML_COLUMNS, MID_FLAG_ELEMENT_ITEM|XML_TYPE_TEXT_COLUMNS, CTF_TEXTCOLUMNS ),
861
    // RES_KEEP
862
    // not required
863
    // RES_URL
864
    // not required (exported as draw:a element)
865
    // RES_EDIT_IN_READONLY
866
    MG_ED( PROP_EditInReadonly, XML_NAMESPACE_STYLE, XML_EDITABLE, XML_TYPE_BOOL, 0 ),
867
    // RES_LAYOUT_SPLIT
868
    // not required
869
    // RES_CHAIN
870
    // not required (exported at text:text-box element)
871
    // RES_LINENUMBER
872
    // not required
873
    // RES_FTN_AT_TXTEND
874
    // not required
875
    // RES_END_AT_TXTEND
876
    // not required
877
    // RES_COLUMNBALANCE
878
    // TODO
879
    // RES_UNKNOWNATR_CONTAINER
880
//  M_E_SE( TEXT, xmlns, RES_UNKNOWNATR_CONTAINER, 0 ),
881
    // RES_GRFATR_MIRRORGRF (vertical MUST be processed after horizontal!)
882
    MG_E( PROP_HoriMirroredOnEvenPages, XML_NAMESPACE_STYLE, XML_MIRROR, XML_TYPE_TEXT_MIRROR_HORIZONTAL_LEFT|MID_FLAG_MERGE_ATTRIBUTE|MID_FLAG_MULTI_PROPERTY, 0 ),
883
    MG_E( PROP_HoriMirroredOnOddPages,  XML_NAMESPACE_STYLE, XML_MIRROR, XML_TYPE_TEXT_MIRROR_HORIZONTAL_RIGHT|MID_FLAG_MERGE_ATTRIBUTE|MID_FLAG_MULTI_PROPERTY, 0 ),
884
    MG_E( PROP_VertMirrored,            XML_NAMESPACE_STYLE, XML_MIRROR, XML_TYPE_TEXT_MIRROR_VERTICAL|MID_FLAG_MERGE_ATTRIBUTE|MID_FLAG_MULTI_PROPERTY, 0 ),
885
    // RES_GRFATR_CROPGRF
886
    MG_EV( PROP_GraphicCrop, XML_NAMESPACE_FO, XML_CLIP, XML_TYPE_TEXT_CLIP, CTF_TEXT_CLIP, SvtSaveOptions::ODFSVER_012 ),
887
    MG_E( PROP_GraphicCrop,  XML_NAMESPACE_FO, XML_CLIP, XML_TYPE_TEXT_CLIP11, CTF_TEXT_CLIP11 ),
888
    // RES_GRFATR_ROTATION
889
    // not required (exported as svg:transform attribute)
890
    // RES_GRFATR_LUMINANCE
891
    MG_E( PROP_AdjustLuminance, XML_NAMESPACE_DRAW, XML_LUMINANCE, XML_TYPE_PERCENT16, 0 ),        // signed?
892
    // RES_GRFATR_CONTRAST
893
    MG_E( PROP_AdjustContrast, XML_NAMESPACE_DRAW, XML_CONTRAST, XML_TYPE_PERCENT16, 0 ),        // signed?
894
    // RES_GRFATR_CHANNELR
895
    MG_E( PROP_AdjustRed, XML_NAMESPACE_DRAW, XML_RED, XML_TYPE_PERCENT16, 0 ),        // signed?
896
    // RES_GRFATR_CHANNELG
897
    MG_E( PROP_AdjustGreen, XML_NAMESPACE_DRAW, XML_GREEN, XML_TYPE_PERCENT16, 0 ),        // signed?
898
    // RES_GRFATR_CHANNELB
899
    MG_E( PROP_AdjustBlue, XML_NAMESPACE_DRAW, XML_BLUE, XML_TYPE_PERCENT16, 0 ),        // signed?
900
    // RES_GRFATR_GAMMA
901
    MG_E( PROP_Gamma, XML_NAMESPACE_DRAW, XML_GAMMA, XML_TYPE_DOUBLE_PERCENT, 0 ),           // signed?
902
    // RES_GRFATR_INVERT
903
    MG_E( PROP_GraphicIsInverted, XML_NAMESPACE_DRAW, XML_COLOR_INVERSION, XML_TYPE_BOOL, 0 ),
904
    // RES_GRFATR_TRANSPARENCY
905
    MG_E( PROP_Transparency, XML_NAMESPACE_DRAW, XML_IMAGE_OPACITY, XML_TYPE_NEG_PERCENT16|MID_FLAG_MULTI_PROPERTY, 0 ), // #i25616#
906
    // RES_GRFATR_DRAWMODE
907
    MG_E( PROP_GraphicColorMode, XML_NAMESPACE_DRAW,   XML_COLOR_MODE,   XML_TYPE_COLOR_MODE, 0 ),
908
    MG_E( PROP_WritingMode,      XML_NAMESPACE_STYLE,  XML_WRITING_MODE, XML_TYPE_TEXT_WRITING_MODE_WITH_DEFAULT, 0 ),
909
    MAP_EXT_I( PROP_WritingMode, XML_NAMESPACE_LO_EXT, XML_WRITING_MODE, XML_TYPE_TEXT_WRITING_MODE_WITH_DEFAULT|XML_TYPE_PROP_GRAPHIC, 0),
910
    // RES_FOLLOW_TEXT_FLOW - DVO #i18732#
911
    MG_E( PROP_IsFollowingTextFlow, XML_NAMESPACE_DRAW,  XML_FLOW_WITH_TEXT, XML_TYPE_BOOL|MID_FLAG_SPECIAL_ITEM_EXPORT, CTF_OLD_FLOW_WITH_TEXT ),
912
    MG_E( PROP_IsFollowingTextFlow, XML_NAMESPACE_STYLE, XML_FLOW_WITH_TEXT, XML_TYPE_BOOL, 0 ),
913
    // #i28701# - RES_WRAP_INFLUENCE_ON_OBJPOS
914
    MG_E( PROP_WrapInfluenceOnPosition, XML_NAMESPACE_DRAW,   XML_WRAP_INFLUENCE_ON_POSITION, XML_TYPE_WRAP_INFLUENCE_ON_POSITION, 0 ),
915
    MAP_EXT( PROP_AllowOverlap,         XML_NAMESPACE_LO_EXT, XML_ALLOW_OVERLAP,              XML_TYPE_BOOL|XML_TYPE_PROP_GRAPHIC, 0 ),
916
    MAP_EXT( PROP_WrapTextAtFlyStart,   XML_NAMESPACE_LO_EXT, XML_WRAP_TEXT_AT_FRAME_START,   XML_TYPE_BOOL|XML_TYPE_PROP_GRAPHIC, 0 ),
917
918
    // special entries for floating frames
919
    MG_E( PROP_, XML_NAMESPACE_DRAW, XML_FRAME_DISPLAY_SCROLLBAR, XML_TYPE_BOOL|MID_FLAG_NO_PROPERTY|MID_FLAG_MULTI_PROPERTY, CTF_FRAME_DISPLAY_SCROLLBAR ),
920
    MG_E( PROP_, XML_NAMESPACE_DRAW, XML_FRAME_DISPLAY_BORDER,    XML_TYPE_BOOL|MID_FLAG_NO_PROPERTY|MID_FLAG_MULTI_PROPERTY, CTF_FRAME_DISPLAY_BORDER ),
921
    MG_E( PROP_, XML_NAMESPACE_DRAW, XML_FRAME_MARGIN_HORIZONTAL, XML_TYPE_MEASURE_PX|MID_FLAG_NO_PROPERTY|MID_FLAG_MULTI_PROPERTY,   CTF_FRAME_MARGIN_HORI ),
922
    MG_E( PROP_, XML_NAMESPACE_DRAW, XML_FRAME_MARGIN_VERTICAL,   XML_TYPE_MEASURE_PX|MID_FLAG_NO_PROPERTY|MID_FLAG_MULTI_PROPERTY,   CTF_FRAME_MARGIN_VERT ),
923
    MG_E( PROP_, XML_NAMESPACE_DRAW, XML_VISIBLE_AREA_LEFT,       XML_TYPE_MEASURE|MID_FLAG_NO_PROPERTY|MID_FLAG_MULTI_PROPERTY,  CTF_OLE_VIS_AREA_LEFT ),
924
    MG_E( PROP_, XML_NAMESPACE_DRAW, XML_VISIBLE_AREA_TOP,        XML_TYPE_MEASURE|MID_FLAG_NO_PROPERTY|MID_FLAG_MULTI_PROPERTY,  CTF_OLE_VIS_AREA_TOP ),
925
    MG_E( PROP_, XML_NAMESPACE_DRAW, XML_VISIBLE_AREA_WIDTH,      XML_TYPE_MEASURE|MID_FLAG_NO_PROPERTY|MID_FLAG_MULTI_PROPERTY,  CTF_OLE_VIS_AREA_WIDTH ),
926
    MG_E( PROP_, XML_NAMESPACE_DRAW, XML_VISIBLE_AREA_HEIGHT,     XML_TYPE_MEASURE|MID_FLAG_NO_PROPERTY|MID_FLAG_MULTI_PROPERTY,  CTF_OLE_VIS_AREA_HEIGHT ),
927
    MG_E( PROP_, XML_NAMESPACE_DRAW, XML_DRAW_ASPECT,             XML_TYPE_TEXT_DRAW_ASPECT|MID_FLAG_NO_PROPERTY|MID_FLAG_MULTI_PROPERTY, CTF_OLE_DRAW_ASPECT ),
928
929
    MG_E( PROP_UserDefinedAttributes,     XML_NAMESPACE_TEXT,   XML_XMLNS,                   XML_TYPE_ATTRIBUTE_CONTAINER | MID_FLAG_SPECIAL_ITEM, 0 ),
930
    MAP_EXT( PROP_RelativeWidthRelation,  XML_NAMESPACE_LO_EXT, XML_REL_WIDTH_REL,           XML_TYPE_TEXT_HORIZONTAL_REL|XML_TYPE_PROP_GRAPHIC, CTF_RELWIDTHREL),
931
    MAP_EXT( PROP_RelativeHeightRelation, XML_NAMESPACE_LO_EXT, XML_REL_HEIGHT_REL,          XML_TYPE_TEXT_VERTICAL_REL|XML_TYPE_PROP_GRAPHIC, CTF_RELHEIGHTREL),
932
    MG_E(PROP_TextVerticalAdjust,         XML_NAMESPACE_DRAW,   XML_TEXTAREA_VERTICAL_ALIGN, XML_TYPE_VERTICAL_ALIGN, 0),
933
    MAP_EXT(PROP_Decorative,              XML_NAMESPACE_LO_EXT, XML_DECORATIVE,              XML_TYPE_BOOL|XML_TYPE_PROP_GRAPHIC, 0),
934
935
    M_END()
936
};
937
938
XMLPropertyMapEntry constexpr aXMLShapePropMap[] =
939
{
940
    // RES_LR_SPACE
941
    MG_E( PROP_LeftMargin,  XML_NAMESPACE_FO, XML_MARGIN_LEFT,  XML_TYPE_MEASURE,  0),
942
    MG_E( PROP_RightMargin, XML_NAMESPACE_FO, XML_MARGIN_RIGHT, XML_TYPE_MEASURE, 0 ),
943
    // RES_UL_SPACE
944
    MG_E( PROP_TopMargin,    XML_NAMESPACE_FO, XML_MARGIN_TOP,    XML_TYPE_MEASURE, 0 ),
945
    MG_E( PROP_BottomMargin, XML_NAMESPACE_FO, XML_MARGIN_BOTTOM, XML_TYPE_MEASURE, 0 ),
946
    // RES_OPAQUE
947
    MG_ED( PROP_Opaque, XML_NAMESPACE_STYLE, XML_RUN_THROUGH, XML_TYPE_TEXT_OPAQUE, 0 ),
948
    // RES_SURROUND
949
    MG_E( PROP_TextWrap,           XML_NAMESPACE_STYLE, XML_WRAP,                      XML_TYPE_TEXT_WRAP, CTF_WRAP ),
950
    MG_E( PROP_SurroundAnchorOnly, XML_NAMESPACE_STYLE, XML_NUMBER_WRAPPED_PARAGRAPHS, XML_TYPE_TEXT_PARAGRAPH_ONLY, CTF_WRAP_PARAGRAPH_ONLY ),
951
    MG_E( PROP_SurroundContour,    XML_NAMESPACE_STYLE, XML_WRAP_CONTOUR,              XML_TYPE_BOOL, CTF_WRAP_CONTOUR ),
952
    MG_E( PROP_ContourOutside,     XML_NAMESPACE_STYLE, XML_WRAP_CONTOUR_MODE,         XML_TYPE_TEXT_WRAP_OUTSIDE, CTF_WRAP_CONTOUR_MODE ),
953
    // Use own CTF ids for positioning attributes (#i28749#)
954
    // RES_VERT_ORIENT
955
    MG_E( PROP_VertOrient, XML_NAMESPACE_STYLE, XML_VERTICAL_POS, XML_TYPE_TEXT_VERTICAL_POS, CTF_SHAPE_VERTICALPOS ),
956
    // Add property for at-character anchored shapes (#i26791#)
957
    MG_E( PROP_VertOrient,              XML_NAMESPACE_STYLE,  XML_VERTICAL_POS, XML_TYPE_TEXT_VERTICAL_POS_AT_CHAR, CTF_SHAPE_VERTICALPOS_ATCHAR ),
958
    MG_E( PROP_VertOrient,              XML_NAMESPACE_STYLE,  XML_VERTICAL_REL, XML_TYPE_TEXT_VERTICAL_REL_AS_CHAR|MID_FLAG_MULTI_PROPERTY, CTF_VERTICALREL_ASCHAR ),
959
    MG_E( PROP_VertOrientRelation,      XML_NAMESPACE_STYLE,  XML_VERTICAL_REL, XML_TYPE_TEXT_VERTICAL_REL, CTF_SHAPE_VERTICALREL ),
960
    MG_E( PROP_VertOrientRelation,      XML_NAMESPACE_STYLE,  XML_VERTICAL_REL, XML_TYPE_TEXT_VERTICAL_REL_PAGE|MID_FLAG_SPECIAL_ITEM_IMPORT, CTF_SHAPE_VERTICALREL_PAGE ),
961
    MG_E( PROP_VertOrientRelation,      XML_NAMESPACE_STYLE,  XML_VERTICAL_REL, XML_TYPE_TEXT_VERTICAL_REL_FRAME|MID_FLAG_SPECIAL_ITEM_IMPORT, CTF_SHAPE_VERTICALREL_FRAME ),
962
    MAP_EXT_I( PROP_VertOrientRelation, XML_NAMESPACE_LO_EXT, XML_VERTICAL_REL, XML_TYPE_TEXT_VERTICAL_REL|XML_TYPE_PROP_GRAPHIC, CTF_VERTICALREL ),
963
    MAP_EXT_I( PROP_VertOrientRelation, XML_NAMESPACE_LO_EXT, XML_VERTICAL_REL, XML_TYPE_TEXT_VERTICAL_REL_PAGE|MID_FLAG_SPECIAL_ITEM_IMPORT|XML_TYPE_PROP_GRAPHIC, CTF_VERTICALREL_PAGE ),
964
    MAP_EXT_I( PROP_VertOrientRelation, XML_NAMESPACE_LO_EXT, XML_VERTICAL_REL, XML_TYPE_TEXT_VERTICAL_REL_FRAME|MID_FLAG_SPECIAL_ITEM_IMPORT|XML_TYPE_PROP_GRAPHIC, CTF_VERTICALREL_FRAME ),
965
    // RES_HORI_ORIENT
966
    MG_E( PROP_HoriOrient,         XML_NAMESPACE_STYLE, XML_HORIZONTAL_POS, XML_TYPE_TEXT_HORIZONTAL_POS|MID_FLAG_MULTI_PROPERTY, CTF_SHAPE_HORIZONTALPOS ),
967
    MG_E( PROP_PageToggle,         XML_NAMESPACE_STYLE, XML_HORIZONTAL_POS, XML_TYPE_TEXT_HORIZONTAL_MIRROR, CTF_SHAPE_HORIZONTALMIRROR ),
968
    MG_E( PROP_HoriOrient,         XML_NAMESPACE_STYLE, XML_HORIZONTAL_POS, XML_TYPE_TEXT_HORIZONTAL_POS_MIRRORED|MID_FLAG_SPECIAL_ITEM_IMPORT, CTF_SHAPE_HORIZONTALPOS_MIRRORED ),
969
    MG_E( PROP_HoriOrientRelation, XML_NAMESPACE_STYLE, XML_HORIZONTAL_REL, XML_TYPE_TEXT_HORIZONTAL_REL, CTF_SHAPE_HORIZONTALREL ),
970
    MG_E( PROP_HoriOrientRelation, XML_NAMESPACE_STYLE, XML_HORIZONTAL_REL, XML_TYPE_TEXT_HORIZONTAL_REL_FRAME|MID_FLAG_SPECIAL_ITEM_IMPORT, CTF_SHAPE_HORIZONTALREL_FRAME ),
971
    // RES_WRAP_INFLUENCE_ON_OBJPOS (#i28701#)
972
    MG_ED( PROP_WrapInfluenceOnPosition, XML_NAMESPACE_DRAW,   XML_WRAP_INFLUENCE_ON_POSITION, XML_TYPE_WRAP_INFLUENCE_ON_POSITION, 0 ),
973
    MAP_EXT( PROP_AllowOverlap,          XML_NAMESPACE_LO_EXT, XML_ALLOW_OVERLAP,              XML_TYPE_BOOL|XML_TYPE_PROP_GRAPHIC, 0 ),
974
    // UserDefinedAttributes is already contained in the map this one is
975
    // chained to.
976
977
    // RES_FOLLOW_TEXT_FLOW (#i26791#)
978
    MG_ED( PROP_IsFollowingTextFlow, XML_NAMESPACE_STYLE, XML_FLOW_WITH_TEXT, XML_TYPE_BOOL, 0 ),
979
980
    // RES_FRM_SIZE
981
    MAP_EXT( PROP_RelativeWidthRelation,  XML_NAMESPACE_LO_EXT, XML_REL_WIDTH_REL, XML_TYPE_TEXT_HORIZONTAL_REL|XML_TYPE_PROP_GRAPHIC, CTF_RELWIDTHREL ),
982
    MAP_EXT( PROP_RelativeHeightRelation, XML_NAMESPACE_LO_EXT, XML_REL_HEIGHT_REL, XML_TYPE_TEXT_VERTICAL_REL|XML_TYPE_PROP_GRAPHIC, CTF_RELHEIGHTREL ),
983
984
    M_END()
985
};
986
987
XMLPropertyMapEntry constexpr aXMLSectionPropMap[] =
988
{
989
    // RES_COL
990
    MS_E( PROP_TextColumns, XML_NAMESPACE_STYLE, XML_COLUMNS, MID_FLAG_ELEMENT_ITEM|XML_TYPE_TEXT_COLUMNS, CTF_TEXTCOLUMNS ),
991
992
    // RES_BACKGROUND
993
    // DO NOT REORDER these!
994
    MS_E( PROP_BackColor,           XML_NAMESPACE_FO,    XML_BACKGROUND_COLOR, XML_TYPE_COLORTRANSPARENT|MID_FLAG_MULTI_PROPERTY, 0 ),
995
    MS_E( PROP_BackTransparent,     XML_NAMESPACE_FO,    XML_BACKGROUND_COLOR, XML_TYPE_ISTRANSPARENT|MID_FLAG_MERGE_ATTRIBUTE, 0 ),
996
    MS_E( PROP_BackGraphicLocation, XML_NAMESPACE_STYLE, XML_POSITION,         MID_FLAG_SPECIAL_ITEM|XML_TYPE_BUILDIN_CMP_ONLY, CTF_BACKGROUND_POS  ),
997
    MS_E( PROP_BackGraphicFilter,   XML_NAMESPACE_STYLE, XML_FILTER_NAME,      MID_FLAG_SPECIAL_ITEM|XML_TYPE_STRING, CTF_BACKGROUND_FILTER ),
998
    MS_E( PROP_BackGraphic,         XML_NAMESPACE_STYLE, XML_BACKGROUND_IMAGE, MID_FLAG_ELEMENT_ITEM|XML_TYPE_GRAPHIC, CTF_BACKGROUND_URL ),
999
1000
    // move protect-flag into section element
1001
//  M_E( "IsProtected",         STYLE,  PROTECT,    XML_TYPE_BOOL, 0 ),
1002
1003
    MS_E( PROP_DontBalanceTextColumns, XML_NAMESPACE_TEXT, XML_DONT_BALANCE_TEXT_COLUMNS, XML_TYPE_BOOL, 0 ),
1004
1005
    MS_E( PROP_WritingMode, XML_NAMESPACE_STYLE, XML_WRITING_MODE, XML_TYPE_TEXT_WRITING_MODE_WITH_DEFAULT, 0 ),
1006
1007
    MS_E( PROP_SectionLeftMargin,  XML_NAMESPACE_FO, XML_MARGIN_LEFT,  XML_TYPE_MEASURE, 0 ),
1008
    MS_E( PROP_SectionRightMargin, XML_NAMESPACE_FO, XML_MARGIN_RIGHT, XML_TYPE_MEASURE, 0 ),
1009
1010
    // section footnote settings
1011
    MS_E( PROP_FootnoteIsOwnNumbering,     XML_NAMESPACE_TEXT, XML__EMPTY,              MID_FLAG_SPECIAL_ITEM|XML_TYPE_BOOL,    CTF_SECTION_FOOTNOTE_NUM_OWN ),
1012
    MS_E( PROP_FootnoteIsRestartNumbering, XML_NAMESPACE_TEXT, XML__EMPTY,              MID_FLAG_SPECIAL_ITEM|XML_TYPE_BOOL,    CTF_SECTION_FOOTNOTE_NUM_RESTART ),
1013
    MS_E( PROP_FootnoteRestartNumberingAt, XML_NAMESPACE_TEXT, XML__EMPTY,              MID_FLAG_SPECIAL_ITEM|XML_TYPE_NUMBER16, CTF_SECTION_FOOTNOTE_NUM_RESTART_AT ),
1014
    MS_E( PROP_FootnoteNumberingType,      XML_NAMESPACE_TEXT, XML__EMPTY,              MID_FLAG_SPECIAL_ITEM|XML_TYPE_NUMBER16, CTF_SECTION_FOOTNOTE_NUM_TYPE ),
1015
    MS_E( PROP_FootnoteNumberingPrefix,    XML_NAMESPACE_TEXT, XML__EMPTY,              MID_FLAG_SPECIAL_ITEM|XML_TYPE_STRING,  CTF_SECTION_FOOTNOTE_NUM_PREFIX ),
1016
    MS_E( PROP_FootnoteNumberingSuffix,    XML_NAMESPACE_TEXT, XML__EMPTY,              MID_FLAG_SPECIAL_ITEM|XML_TYPE_STRING,  CTF_SECTION_FOOTNOTE_NUM_SUFFIX ),
1017
    MS_E( PROP_FootnoteIsCollectAtTextEnd, XML_NAMESPACE_TEXT, XML_NOTES_CONFIGURATION, MID_FLAG_ELEMENT_ITEM|XML_TYPE_BOOL,    CTF_SECTION_FOOTNOTE_END ),
1018
1019
    // section footnote settings
1020
    MS_E( PROP_EndnoteIsOwnNumbering,     XML_NAMESPACE_TEXT, XML__EMPTY,              MID_FLAG_SPECIAL_ITEM|XML_TYPE_BOOL,    CTF_SECTION_ENDNOTE_NUM_OWN ),
1021
    MS_E( PROP_EndnoteIsRestartNumbering, XML_NAMESPACE_TEXT, XML__EMPTY,              MID_FLAG_SPECIAL_ITEM|XML_TYPE_BOOL,    CTF_SECTION_ENDNOTE_NUM_RESTART ),
1022
    MS_E( PROP_EndnoteRestartNumberingAt, XML_NAMESPACE_TEXT, XML__EMPTY,              MID_FLAG_SPECIAL_ITEM|XML_TYPE_NUMBER16, CTF_SECTION_ENDNOTE_NUM_RESTART_AT ),
1023
    MS_E( PROP_EndnoteNumberingType,      XML_NAMESPACE_TEXT, XML__EMPTY,              MID_FLAG_SPECIAL_ITEM|XML_TYPE_NUMBER16, CTF_SECTION_ENDNOTE_NUM_TYPE ),
1024
    MS_E( PROP_EndnoteNumberingPrefix,    XML_NAMESPACE_TEXT, XML__EMPTY,              MID_FLAG_SPECIAL_ITEM|XML_TYPE_STRING,  CTF_SECTION_ENDNOTE_NUM_PREFIX ),
1025
    MS_E( PROP_EndnoteNumberingSuffix,    XML_NAMESPACE_TEXT, XML__EMPTY,              MID_FLAG_SPECIAL_ITEM|XML_TYPE_STRING,  CTF_SECTION_ENDNOTE_NUM_SUFFIX ),
1026
    MS_E( PROP_EndnoteIsCollectAtTextEnd, XML_NAMESPACE_TEXT, XML_NOTES_CONFIGURATION, MID_FLAG_ELEMENT_ITEM|XML_TYPE_BOOL,    CTF_SECTION_ENDNOTE_END ),
1027
    MS_E( PROP_UserDefinedAttributes,     XML_NAMESPACE_TEXT, XML_XMLNS,               XML_TYPE_ATTRIBUTE_CONTAINER | MID_FLAG_SPECIAL_ITEM, 0 ),
1028
    // RES_EDIT_IN_READONLY
1029
    MS_E( PROP_EditInReadonly, XML_NAMESPACE_STYLE, XML_EDITABLE, XML_TYPE_BOOL, 0 ),
1030
    M_END()
1031
};
1032
1033
XMLPropertyMapEntry constexpr aXMLRubyPropMap[] =
1034
{
1035
    MR_E( PROP_RubyAdjust,    XML_NAMESPACE_STYLE,  XML_RUBY_ALIGN,    XML_TYPE_TEXT_RUBY_ADJUST,   0 ),
1036
    MR_E( PROP_RubyIsAbove,   XML_NAMESPACE_STYLE,  XML_RUBY_POSITION, XML_TYPE_TEXT_RUBY_IS_ABOVE, 0 ),
1037
    MR_EV( PROP_RubyPosition, XML_NAMESPACE_LO_EXT, XML_RUBY_POSITION, XML_TYPE_TEXT_RUBY_POSITION, 0, SvtSaveOptions::ODFSVER_FUTURE_EXTENDED),
1038
    M_END()
1039
};
1040
1041
1042
XMLPropertyMapEntry constexpr aXMLTableDefaultsMap[] =
1043
{
1044
    // RES_COLLAPSING_BORDERS: only occurs in tables, but we need to
1045
    // read/write the default for this item
1046
    M_ED_( PROP_CollapsingBorders, XML_NAMESPACE_TABLE, XML_BORDER_MODEL, XML_TYPE_PROP_TABLE | XML_TYPE_BORDER_MODEL | MID_FLAG_NO_PROPERTY_IMPORT, CTF_BORDER_MODEL ),
1047
1048
    M_END()
1049
};
1050
1051
XMLPropertyMapEntry constexpr aXMLTableRowDefaultsMap[] =
1052
{
1053
    // RES_ROW_SPLIT: only occurs in table rows, but we need to
1054
    // read/write the default for this item
1055
    M_ED_( PROP_IsSplitAllowed, XML_NAMESPACE_FO, XML_KEEP_TOGETHER, XML_TYPE_PROP_TABLE_ROW | XML_TYPE_TEXT_NKEEP | MID_FLAG_NO_PROPERTY_IMPORT, CTF_KEEP_TOGETHER ),
1056
1057
    M_END()
1058
};
1059
1060
XMLPropertyMapEntry constexpr aXMLCellPropMap[] =
1061
{
1062
    MC_E( PROP_BackColor,            XML_NAMESPACE_FO,    XML_BACKGROUND_COLOR, XML_TYPE_COLORTRANSPARENT|MID_FLAG_MULTI_PROPERTY, 0 ),
1063
    MC_E( PROP_Border,               XML_NAMESPACE_FO,    XML_BORDER,           XML_TYPE_BORDER,                                   0 ),
1064
    MC_E( PROP_LeftBorder,           XML_NAMESPACE_FO,    XML_BORDER_LEFT,      XML_TYPE_BORDER,                                   0 ),
1065
    MC_E( PROP_RightBorder,          XML_NAMESPACE_FO,    XML_BORDER_RIGHT,     XML_TYPE_BORDER,                                   0 ),
1066
    MC_E( PROP_TopBorder,            XML_NAMESPACE_FO,    XML_BORDER_TOP,       XML_TYPE_BORDER,                                   0 ),
1067
    MC_E( PROP_BottomBorder,         XML_NAMESPACE_FO,    XML_BORDER_BOTTOM,    XML_TYPE_BORDER,                                   0 ),
1068
    MC_E( PROP_BorderDistance,       XML_NAMESPACE_FO,    XML_PADDING,          XML_TYPE_MEASURE|MID_FLAG_MULTI_PROPERTY,          0 ),
1069
    MC_E( PROP_LeftBorderDistance,   XML_NAMESPACE_FO,    XML_PADDING_LEFT,     XML_TYPE_MEASURE|MID_FLAG_MULTI_PROPERTY,          0 ),
1070
    MC_E( PROP_RightBorderDistance,  XML_NAMESPACE_FO,    XML_PADDING_RIGHT,    XML_TYPE_MEASURE|MID_FLAG_MULTI_PROPERTY,          0 ),
1071
    MC_E( PROP_TopBorderDistance,    XML_NAMESPACE_FO,    XML_PADDING_TOP,      XML_TYPE_MEASURE|MID_FLAG_MULTI_PROPERTY,          0 ),
1072
    MC_E( PROP_BottomBorderDistance, XML_NAMESPACE_FO,    XML_PADDING_BOTTOM,   XML_TYPE_MEASURE|MID_FLAG_MULTI_PROPERTY,          0 ),
1073
    MC_E( PROP_VertOrient,           XML_NAMESPACE_STYLE, XML_VERTICAL_ALIGN,   XML_TYPE_TEXT_VERTICAL_POS,                        0 ),
1074
    MC_E( PROP_WritingMode,          XML_NAMESPACE_STYLE, XML_WRITING_MODE,     XML_TYPE_TEXT_WRITING_MODE_WITH_DEFAULT,           0 ),
1075
    MC_E( PROP_NumberFormat,         XML_NAMESPACE_STYLE, XML_DATA_STYLE_NAME,  XML_TYPE_NUMBER|MID_FLAG_SPECIAL_ITEM_EXPORT,      0 ),
1076
    // paragraph properties
1077
    MP_E( PROP_ParaAdjust, XML_NAMESPACE_FO, XML_TEXT_ALIGN, XML_TYPE_TEXT_ADJUST, 0 ),
1078
    // text properties
1079
    MT_ED( PROP_CharColor,            XML_NAMESPACE_FO,     XML_COLOR,                   XML_TYPE_COLORAUTO|MID_FLAG_MERGE_PROPERTY,                0 ),
1080
    MT_ED( PROP_CharColor,            XML_NAMESPACE_STYLE,  XML_USE_WINDOW_FONT_COLOR,   XML_TYPE_ISAUTOCOLOR|MID_FLAG_MERGE_PROPERTY,              0 ),
1081
    MAP_EXT( PROP_CharComplexColor,   XML_NAMESPACE_LO_EXT, XML_CHAR_COMPLEX_COLOR,      XML_TYPE_COMPLEX_COLOR|XML_TYPE_PROP_TEXT|MID_FLAG_ELEMENT_ITEM, CTF_COMPLEX_COLOR),
1082
    MT_E( PROP_CharShadowed,          XML_NAMESPACE_FO,     XML_TEXT_SHADOW,             XML_TYPE_TEXT_SHADOWED,                                    0 ),
1083
    MT_E( PROP_CharContoured,         XML_NAMESPACE_STYLE,  XML_TEXT_OUTLINE,            XML_TYPE_BOOL,                                             0 ),
1084
    MT_E( PROP_CharStrikeout,         XML_NAMESPACE_STYLE,  XML_TEXT_LINE_THROUGH_STYLE, XML_TYPE_TEXT_CROSSEDOUT_STYLE|MID_FLAG_MERGE_PROPERTY,    0 ),
1085
    MT_E( PROP_CharStrikeout,         XML_NAMESPACE_STYLE,  XML_TEXT_LINE_THROUGH_TYPE,  XML_TYPE_TEXT_CROSSEDOUT_TYPE|MID_FLAG_MERGE_PROPERTY,     0 ),
1086
    MT_E( PROP_CharStrikeout,         XML_NAMESPACE_STYLE,  XML_TEXT_LINE_THROUGH_WIDTH, XML_TYPE_TEXT_CROSSEDOUT_WIDTH|MID_FLAG_MERGE_PROPERTY,    0 ),
1087
    MT_E( PROP_CharStrikeout,         XML_NAMESPACE_STYLE,  XML_TEXT_LINE_THROUGH_TEXT,  XML_TYPE_TEXT_CROSSEDOUT_TEXT|MID_FLAG_MERGE_PROPERTY,     0 ),
1088
    MT_E( PROP_CharUnderline,         XML_NAMESPACE_STYLE,  XML_TEXT_UNDERLINE_STYLE,    XML_TYPE_TEXT_UNDERLINE_STYLE|MID_FLAG_MERGE_PROPERTY,     0 ),
1089
    MT_E( PROP_CharUnderline,         XML_NAMESPACE_STYLE,  XML_TEXT_UNDERLINE_TYPE,     XML_TYPE_TEXT_UNDERLINE_TYPE|MID_FLAG_MERGE_PROPERTY,      0 ),
1090
    MT_E( PROP_CharUnderline,         XML_NAMESPACE_STYLE,  XML_TEXT_UNDERLINE_WIDTH,    XML_TYPE_TEXT_UNDERLINE_WIDTH|MID_FLAG_MERGE_PROPERTY,     0 ),
1091
    MT_E( PROP_CharUnderlineColor,    XML_NAMESPACE_STYLE,  XML_TEXT_UNDERLINE_COLOR,    XML_TYPE_TEXT_UNDERLINE_COLOR|MID_FLAG_MULTI_PROPERTY,     0 ),
1092
    MT_E( PROP_CharUnderlineHasColor, XML_NAMESPACE_STYLE,  XML_TEXT_UNDERLINE_COLOR,    XML_TYPE_TEXT_UNDERLINE_HASCOLOR|MID_FLAG_MERGE_ATTRIBUTE, 0 ),
1093
    // STANDARD FONT
1094
    MT_ED( PROP_CharHeight, XML_NAMESPACE_FO, XML_FONT_SIZE,   XML_TYPE_CHAR_HEIGHT|MID_FLAG_MULTI_PROPERTY, 0 ),
1095
    MT_E( PROP_CharWeight,  XML_NAMESPACE_FO, XML_FONT_WEIGHT, XML_TYPE_TEXT_WEIGHT,                         0 ),
1096
    MT_E( PROP_CharPosture, XML_NAMESPACE_FO, XML_FONT_STYLE,  XML_TYPE_TEXT_POSTURE,                        0 ),
1097
    // RES_CHRATR_FONT
1098
    MT_ED( PROP_CharFontName,      XML_NAMESPACE_STYLE, XML_FONT_NAME,           XML_TYPE_STRING|MID_FLAG_SPECIAL_ITEM_IMPORT,              CTF_FONTNAME       ),
1099
    MT_ED( PROP_CharFontName,      XML_NAMESPACE_FO,    XML_FONT_FAMILY,         XML_TYPE_TEXT_FONTFAMILYNAME|MID_FLAG_SPECIAL_ITEM_IMPORT, CTF_FONTFAMILYNAME ),
1100
    MT_ED( PROP_CharFontStyleName, XML_NAMESPACE_STYLE, XML_FONT_STYLE_NAME,     XML_TYPE_STRING,                                           CTF_FONTSTYLENAME  ),
1101
    MT_ED( PROP_CharFontFamily,    XML_NAMESPACE_STYLE, XML_FONT_FAMILY_GENERIC, XML_TYPE_TEXT_FONTFAMILY,                                  CTF_FONTFAMILY     ),
1102
    MT_ED( PROP_CharFontPitch,     XML_NAMESPACE_STYLE, XML_FONT_PITCH,          XML_TYPE_TEXT_FONTPITCH,                                   CTF_FONTPITCH      ),
1103
    MT_ED( PROP_CharFontCharSet,   XML_NAMESPACE_STYLE, XML_FONT_CHARSET,        XML_TYPE_TEXT_FONTENCODING,                                CTF_FONTCHARSET    ),
1104
    // CJK FONT
1105
    MT_ED( PROP_CharHeightAsian, XML_NAMESPACE_STYLE, XML_FONT_SIZE_ASIAN,   XML_TYPE_CHAR_HEIGHT|MID_FLAG_MULTI_PROPERTY, 0 ),
1106
    MT_E( PROP_CharWeightAsian,  XML_NAMESPACE_STYLE, XML_FONT_WEIGHT_ASIAN, XML_TYPE_TEXT_WEIGHT,                         0 ),
1107
    MT_E( PROP_CharPostureAsian, XML_NAMESPACE_STYLE, XML_FONT_STYLE_ASIAN,  XML_TYPE_TEXT_POSTURE,                        0 ),
1108
    // RES_CHRATR_CJK_FONT
1109
    MT_ED( PROP_CharFontNameAsian,      XML_NAMESPACE_STYLE, XML_FONT_NAME_ASIAN,           XML_TYPE_STRING|MID_FLAG_SPECIAL_ITEM_IMPORT,              CTF_FONTNAME_CJK       ),
1110
    MT_ED( PROP_CharFontNameAsian,      XML_NAMESPACE_STYLE, XML_FONT_FAMILY_ASIAN,         XML_TYPE_TEXT_FONTFAMILYNAME|MID_FLAG_SPECIAL_ITEM_IMPORT, CTF_FONTFAMILYNAME_CJK ),
1111
    MT_ED( PROP_CharFontStyleNameAsian, XML_NAMESPACE_STYLE, XML_FONT_STYLE_NAME_ASIAN,     XML_TYPE_STRING,                                           CTF_FONTSTYLENAME_CJK  ),
1112
    MT_ED( PROP_CharFontFamilyAsian,    XML_NAMESPACE_STYLE, XML_FONT_FAMILY_GENERIC_ASIAN, XML_TYPE_TEXT_FONTFAMILY,                                  CTF_FONTFAMILY_CJK     ),
1113
    MT_ED( PROP_CharFontPitchAsian,     XML_NAMESPACE_STYLE, XML_FONT_PITCH_ASIAN,          XML_TYPE_TEXT_FONTPITCH,                                   CTF_FONTPITCH_CJK      ),
1114
    MT_ED( PROP_CharFontCharSetAsian,   XML_NAMESPACE_STYLE, XML_FONT_CHARSET_ASIAN,        XML_TYPE_TEXT_FONTENCODING,                                CTF_FONTCHARSET_CJK    ),
1115
    // CTL FONT
1116
    MT_ED( PROP_CharHeightComplex, XML_NAMESPACE_STYLE, XML_FONT_SIZE_COMPLEX,   XML_TYPE_CHAR_HEIGHT|MID_FLAG_MULTI_PROPERTY, 0),
1117
    MT_E( PROP_CharWeightComplex,  XML_NAMESPACE_STYLE, XML_FONT_WEIGHT_COMPLEX, XML_TYPE_TEXT_WEIGHT,                         0),
1118
    MT_E( PROP_CharPostureComplex, XML_NAMESPACE_STYLE, XML_FONT_STYLE_COMPLEX,  XML_TYPE_TEXT_POSTURE,                        0),
1119
    // RES_CHRATR_CTL_FONT
1120
    MT_ED( PROP_CharFontNameComplex,      XML_NAMESPACE_STYLE, XML_FONT_NAME_COMPLEX,           XML_TYPE_STRING|MID_FLAG_SPECIAL_ITEM_IMPORT,  CTF_FONTNAME_CTL),
1121
    MT_ED( PROP_CharFontNameComplex,      XML_NAMESPACE_STYLE, XML_FONT_FAMILY_COMPLEX,         XML_TYPE_TEXT_FONTFAMILYNAME|MID_FLAG_SPECIAL_ITEM_IMPORT, CTF_FONTFAMILYNAME_CTL),
1122
    MT_ED( PROP_CharFontStyleNameComplex, XML_NAMESPACE_STYLE, XML_FONT_STYLE_NAME_COMPLEX,     XML_TYPE_STRING, CTF_FONTSTYLENAME_CTL),
1123
    MT_ED( PROP_CharFontFamilyComplex,    XML_NAMESPACE_STYLE, XML_FONT_FAMILY_GENERIC_COMPLEX, XML_TYPE_TEXT_FONTFAMILY, CTF_FONTFAMILY_CTL),
1124
    MT_ED( PROP_CharFontPitchComplex,     XML_NAMESPACE_STYLE, XML_FONT_PITCH_COMPLEX,          XML_TYPE_TEXT_FONTPITCH, CTF_FONTPITCH_CTL),
1125
    MT_ED( PROP_CharFontCharSetComplex,   XML_NAMESPACE_STYLE, XML_FONT_CHARSET_COMPLEX,        XML_TYPE_TEXT_FONTENCODING, CTF_FONTCHARSET_CTL),
1126
1127
    M_END()
1128
};
1129
1130
static XMLPropertyMapEntry const *lcl_txtprmap_getMap( TextPropMap nType )
1131
285k
{
1132
285k
    XMLPropertyMapEntry const *pMap = nullptr;
1133
285k
    switch( nType )
1134
285k
    {
1135
34.7k
    case TextPropMap::TEXT:
1136
34.7k
        pMap = aXMLTextPropMap;
1137
34.7k
        break;
1138
62.4k
    case TextPropMap::SHAPE_PARA:
1139
        // #i125045# use [21] instead of [1] for text props for Shapes, indices
1140
        // [1..20] contain the DrawingLayer FillStyle attributes corresponding to
1141
        // [XATTR_FILL_FIRST .. XATTR_FILL_LAST] and would be double since Shapes
1142
        // already contain these (usually in aXMLSDProperties)
1143
62.4k
        pMap = &(aXMLParaPropMap[21]);
1144
62.4k
        assert( pMap->meXMLName == XML_MARGIN && " shape para map changed" );
1145
62.4k
        break;
1146
34.7k
    case TextPropMap::PARA:
1147
34.7k
        pMap = aXMLParaPropMap;
1148
34.7k
        break;
1149
43.8k
    case TextPropMap::FRAME:
1150
43.8k
        pMap = aXMLFramePropMap;
1151
43.8k
        break;
1152
23
    case TextPropMap::AUTO_FRAME:
1153
23
        pMap = &(aXMLFramePropMap[13]);
1154
23
        assert( pMap->meXMLName == XML_MARGIN && " frame map changed" );
1155
23
        break;
1156
0
    case TextPropMap::SHAPE:
1157
0
        pMap = aXMLShapePropMap;
1158
0
        break;
1159
34.7k
    case TextPropMap::SECTION:
1160
34.7k
        pMap = aXMLSectionPropMap;
1161
34.7k
        break;
1162
34.7k
    case TextPropMap::RUBY:
1163
34.7k
        pMap = aXMLRubyPropMap;
1164
34.7k
        break;
1165
28.7k
    case TextPropMap::TEXT_ADDITIONAL_DEFAULTS:
1166
28.7k
        pMap = aXMLAdditionalTextDefaultsMap;
1167
28.7k
        break;
1168
2.08k
    case TextPropMap::TABLE_DEFAULTS:
1169
2.08k
        pMap = aXMLTableDefaultsMap;
1170
2.08k
        break;
1171
2.09k
    case TextPropMap::TABLE_ROW_DEFAULTS:
1172
2.09k
        pMap = aXMLTableRowDefaultsMap;
1173
2.09k
        break;
1174
6.87k
    case TextPropMap::CELL:
1175
6.87k
        pMap = aXMLCellPropMap;
1176
6.87k
        break;
1177
285k
    }
1178
285k
    SAL_WARN_IF( !pMap, "xmloff", "illegal map type" );
1179
285k
    return pMap;
1180
285k
}
1181
1182
const XMLPropertyMapEntry* XMLTextPropertySetMapper::getPropertyMapForType( TextPropMap _nType )
1183
0
{
1184
0
    return lcl_txtprmap_getMap( _nType );
1185
0
}
1186
1187
XMLTextPropertySetMapper::XMLTextPropertySetMapper( TextPropMap nType, bool bForExport ) :
1188
285k
    XMLPropertySetMapper( lcl_txtprmap_getMap( nType ),
1189
285k
                          new XMLTextPropertyHandlerFactory, bForExport )
1190
285k
{
1191
285k
}
1192
1193
XMLTextPropertySetMapper::~XMLTextPropertySetMapper()
1194
285k
{
1195
285k
}
1196
1197
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */