LCOV - code coverage report
Current view: top level - xmloff/source/text - txtprmap.cxx (source / functions) Hit Total Coverage
Test: libreoffice_filtered.info Lines: 32 34 94.1 %
Date: 2012-08-25 Functions: 4 5 80.0 %
Legend: Lines: hit not hit | Branches: + taken - not taken # not executed Branches: 14 18 77.8 %

           Branch data     Line data    Source code
       1                 :            : /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
       2                 :            : /*************************************************************************
       3                 :            :  *
       4                 :            :  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
       5                 :            :  *
       6                 :            :  * Copyright 2000, 2010 Oracle and/or its affiliates.
       7                 :            :  *
       8                 :            :  * OpenOffice.org - a multi-platform office productivity suite
       9                 :            :  *
      10                 :            :  * This file is part of OpenOffice.org.
      11                 :            :  *
      12                 :            :  * OpenOffice.org is free software: you can redistribute it and/or modify
      13                 :            :  * it under the terms of the GNU Lesser General Public License version 3
      14                 :            :  * only, as published by the Free Software Foundation.
      15                 :            :  *
      16                 :            :  * OpenOffice.org is distributed in the hope that it will be useful,
      17                 :            :  * but WITHOUT ANY WARRANTY; without even the implied warranty of
      18                 :            :  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
      19                 :            :  * GNU Lesser General Public License version 3 for more details
      20                 :            :  * (a copy is included in the LICENSE file that accompanied this code).
      21                 :            :  *
      22                 :            :  * You should have received a copy of the GNU Lesser General Public License
      23                 :            :  * version 3 along with OpenOffice.org.  If not, see
      24                 :            :  * <http://www.openoffice.org/license.html>
      25                 :            :  * for a copy of the LGPLv3 License.
      26                 :            :  *
      27                 :            :  ************************************************************************/
      28                 :            : 
      29                 :            : 
      30                 :            : #include <xmloff/txtprmap.hxx>
      31                 :            : 
      32                 :            : #include <tools/debug.hxx>
      33                 :            : 
      34                 :            : #include <xmloff/xmlnmspe.hxx>
      35                 :            : #include <xmloff/xmltoken.hxx>
      36                 :            : #include "txtprhdl.hxx"
      37                 :            : 
      38                 :            : using namespace ::com::sun::star;
      39                 :            : using namespace ::com::sun::star::uno;
      40                 :            : using namespace ::xmloff::token;
      41                 :            : 
      42                 :            : #define _M_E( a, p, l, t, c ) \
      43                 :            :     { a, sizeof(a)-1, XML_NAMESPACE_##p, XML_##l, t, c, SvtSaveOptions::ODFVER_010 }
      44                 :            : 
      45                 :            : #define _M_EV( a, p, l, t, c, v ) \
      46                 :            :     { a, sizeof(a)-1, XML_NAMESPACE_##p, XML_##l, t, c, v }
      47                 :            : 
      48                 :            : #define _M_ED( a, p, l, t, c ) \
      49                 :            :     { a, sizeof(a)-1, XML_NAMESPACE_##p, XML_##l, (t) | MID_FLAG_DEFAULT_ITEM_EXPORT, c, SvtSaveOptions::ODFVER_010 }
      50                 :            : 
      51                 :            : // text properties
      52                 :            : #define MT_E( a, p, l, t, c ) \
      53                 :            :     _M_E( a, p, l, (t|XML_TYPE_PROP_TEXT), c )
      54                 :            : #define MT_ED( a, p, l, t, c ) \
      55                 :            :     _M_ED( a, p, l, (t|XML_TYPE_PROP_TEXT), c )
      56                 :            : 
      57                 :            : // paragraph properties
      58                 :            : #define MP_E( a, p, l, t, c ) \
      59                 :            :     _M_E( a, p, l, (t|XML_TYPE_PROP_PARAGRAPH), c )
      60                 :            : #define MP_ED( a, p, l, t, c ) \
      61                 :            :     _M_ED( a, p, l, (t|XML_TYPE_PROP_PARAGRAPH), c )
      62                 :            : 
      63                 :            : // graphic properties
      64                 :            : #define MG_E( a, p, l, t, c ) \
      65                 :            :     _M_E( a, p, l, (t|XML_TYPE_PROP_GRAPHIC), c )
      66                 :            : #define MG_ED( a, p, l, t, c ) \
      67                 :            :     _M_ED( a, p, l, (t|XML_TYPE_PROP_GRAPHIC), c )
      68                 :            : #define MG_EV( a, p, l, t, c, v ) \
      69                 :            :     _M_EV( a, p, l, (t|XML_TYPE_PROP_GRAPHIC), c, v )
      70                 :            : 
      71                 :            : // section properties
      72                 :            : #define MS_E( a, p, l, t, c ) \
      73                 :            :     _M_E( a, p, l, (t|XML_TYPE_PROP_SECTION), c )
      74                 :            : 
      75                 :            : // ruby properties
      76                 :            : #define MR_E( a, p, l, t, c ) \
      77                 :            :     _M_E( a, p, l, (t|XML_TYPE_PROP_RUBY), c )
      78                 :            : 
      79                 :            : #define M_END() \
      80                 :            :     { NULL, 0, 0, XML_TOKEN_INVALID, 0, 0, SvtSaveOptions::ODFVER_010 }
      81                 :            : 
      82                 :            : 
      83                 :            : XMLPropertyMapEntry aXMLParaPropMap[] =
      84                 :            : {
      85                 :            :     // RES_UNKNOWNATR_CONTAINER
      86                 :            :     MP_E( "ParaUserDefinedAttributes", TEXT, XMLNS, XML_TYPE_ATTRIBUTE_CONTAINER | MID_FLAG_SPECIAL_ITEM, 0 ),
      87                 :            :     // RES_LR_SPACE
      88                 :            :     // !!! DO NOT REORDER THE MARGINS !!!
      89                 :            :     MP_E( "ParaLeftMargin",         FO, MARGIN,     XML_TYPE_MEASURE|MID_FLAG_MULTI_PROPERTY, CTF_PARAMARGINALL ),
      90                 :            :     MP_E( "ParaLeftMarginRelative", FO, MARGIN,     XML_TYPE_PERCENT16, CTF_PARAMARGINALL_REL ),
      91                 :            :     MP_E( "ParaLeftMargin",         FO, MARGIN_LEFT,        XML_TYPE_MEASURE|MID_FLAG_MULTI_PROPERTY, CTF_PARALEFTMARGIN ),
      92                 :            :     MP_E( "ParaLeftMarginRelative", FO, MARGIN_LEFT,        XML_TYPE_PERCENT16, CTF_PARALEFTMARGIN_REL ),
      93                 :            :     MP_E( "ParaRightMargin",            FO, MARGIN_RIGHT,       XML_TYPE_MEASURE|MID_FLAG_MULTI_PROPERTY, CTF_PARARIGHTMARGIN ),
      94                 :            :     MP_E( "ParaRightMarginRelative",    FO, MARGIN_RIGHT,       XML_TYPE_PERCENT16, CTF_PARARIGHTMARGIN_REL ),
      95                 :            :     // RES_UL_SPACE
      96                 :            :     MP_E( "ParaTopMargin",          FO, MARGIN_TOP,         XML_TYPE_MEASURE|MID_FLAG_MULTI_PROPERTY, CTF_PARATOPMARGIN ),
      97                 :            :     MP_E( "ParaTopMarginRelative",  FO, MARGIN_TOP,         XML_TYPE_PERCENT16, CTF_PARATOPMARGIN_REL ),
      98                 :            :     MP_E( "ParaBottomMargin",       FO, MARGIN_BOTTOM,      XML_TYPE_MEASURE|MID_FLAG_MULTI_PROPERTY, CTF_PARABOTTOMMARGIN ),
      99                 :            :     MP_E( "ParaBottomMarginRelative",FO,    MARGIN_BOTTOM,      XML_TYPE_PERCENT16, CTF_PARABOTTOMMARGIN_REL ),
     100                 :            :     { "ParaContextMargin", sizeof("ParaContextMargin")-1, XML_NAMESPACE_STYLE, XML_CONTEXTUAL_SPACING, XML_TYPE_BOOL|XML_TYPE_PROP_PARAGRAPH, 0, SvtSaveOptions::ODFVER_012_EXT_COMPAT },
     101                 :            :     // RES_CHRATR_CASEMAP
     102                 :            :     MT_E( "CharCaseMap",        FO,     FONT_VARIANT,       XML_TYPE_TEXT_CASEMAP_VAR,  0 ),
     103                 :            :     MT_E( "CharCaseMap",        FO,     TEXT_TRANSFORM,     XML_TYPE_TEXT_CASEMAP,  0 ),
     104                 :            :     // RES_CHRATR_COLOR
     105                 :            :     MT_ED( "CharColor",     FO,     COLOR,              XML_TYPE_COLORAUTO|MID_FLAG_MERGE_PROPERTY, 0 ),
     106                 :            :     MT_ED( "CharColor",     STYLE,  USE_WINDOW_FONT_COLOR,  XML_TYPE_ISAUTOCOLOR|MID_FLAG_MERGE_PROPERTY,   0 ),
     107                 :            :     // RES_CHRATR_CONTOUR
     108                 :            :     MT_E( "CharContoured",  STYLE,  TEXT_OUTLINE,       XML_TYPE_BOOL,  0 ),
     109                 :            :     // RES_CHRATR_CROSSEDOUT
     110                 :            :     MT_E( "CharStrikeout",  STYLE,  TEXT_LINE_THROUGH_STYLE,    XML_TYPE_TEXT_CROSSEDOUT_STYLE|MID_FLAG_MERGE_PROPERTY, 0),
     111                 :            :     MT_E( "CharStrikeout",  STYLE,  TEXT_LINE_THROUGH_TYPE,     XML_TYPE_TEXT_CROSSEDOUT_TYPE|MID_FLAG_MERGE_PROPERTY,  0),
     112                 :            :     MT_E( "CharStrikeout",  STYLE,  TEXT_LINE_THROUGH_WIDTH,    XML_TYPE_TEXT_CROSSEDOUT_WIDTH|MID_FLAG_MERGE_PROPERTY, 0),
     113                 :            :     MT_E( "CharStrikeout",  STYLE,  TEXT_LINE_THROUGH_TEXT,     XML_TYPE_TEXT_CROSSEDOUT_TEXT|MID_FLAG_MERGE_PROPERTY,  0),
     114                 :            :     // RES_CHRATR_ESCAPEMENT
     115                 :            :     MT_E( "CharEscapement",      STYLE, TEXT_POSITION,  XML_TYPE_TEXT_ESCAPEMENT|MID_FLAG_MERGE_ATTRIBUTE|MID_FLAG_MULTI_PROPERTY, 0 ),
     116                 :            :     MT_E( "CharEscapementHeight", STYLE, TEXT_POSITION, XML_TYPE_TEXT_ESCAPEMENT_HEIGHT|MID_FLAG_MERGE_ATTRIBUTE|MID_FLAG_MULTI_PROPERTY, 0 ),
     117                 :            :     // RES_CHRATR_FONT
     118                 :            :     MT_ED( "CharFontName",  STYLE,  FONT_NAME,          XML_TYPE_STRING|MID_FLAG_SPECIAL_ITEM_IMPORT, CTF_FONTNAME ),
     119                 :            :     MT_ED( "CharFontName",  FO,     FONT_FAMILY,        XML_TYPE_TEXT_FONTFAMILYNAME|MID_FLAG_SPECIAL_ITEM_IMPORT, CTF_FONTFAMILYNAME ),
     120                 :            :     MT_ED( "CharFontStyleName",STYLE,   FONT_STYLE_NAME,    XML_TYPE_STRING, CTF_FONTSTYLENAME ),
     121                 :            :     MT_ED( "CharFontFamily",    STYLE,  FONT_FAMILY_GENERIC,XML_TYPE_TEXT_FONTFAMILY, CTF_FONTFAMILY ),
     122                 :            :     MT_ED( "CharFontPitch", STYLE,  FONT_PITCH,         XML_TYPE_TEXT_FONTPITCH, CTF_FONTPITCH ),
     123                 :            :     MT_ED( "CharFontCharSet",   STYLE,  FONT_CHARSET,       XML_TYPE_TEXT_FONTENCODING, CTF_FONTCHARSET ),
     124                 :            :     // RES_CHRATR_FONTSIZE
     125                 :            :     MT_ED( "CharHeight",          FO,   FONT_SIZE,          XML_TYPE_CHAR_HEIGHT|MID_FLAG_MULTI_PROPERTY, CTF_CHARHEIGHT ),
     126                 :            :     MT_ED( "CharPropHeight",FO, FONT_SIZE,          XML_TYPE_CHAR_HEIGHT_PROP|MID_FLAG_MULTI_PROPERTY, CTF_CHARHEIGHT_REL ),
     127                 :            :     MT_ED( "CharDiffHeight",STYLE,FONT_SIZE_REL,        XML_TYPE_CHAR_HEIGHT_DIFF, CTF_CHARHEIGHT_DIFF ),
     128                 :            :     // RES_CHRATR_KERNING
     129                 :            :     MT_E( "CharKerning",        FO,     LETTER_SPACING,     XML_TYPE_TEXT_KERNING, 0 ),
     130                 :            :     // RES_CHRATR_LANGUAGE
     131                 :            :     MT_ED( "CharLocale",        FO,     LANGUAGE,           XML_TYPE_CHAR_LANGUAGE|MID_FLAG_MERGE_PROPERTY, 0 ),
     132                 :            :     MT_ED( "CharLocale",        FO,     COUNTRY,            XML_TYPE_CHAR_COUNTRY|MID_FLAG_MERGE_PROPERTY, 0 ),
     133                 :            :     // RES_CHRATR_POSTURE
     134                 :            :     MT_E( "CharPosture",        FO,     FONT_STYLE,         XML_TYPE_TEXT_POSTURE, 0 ),
     135                 :            :     // RES_CHRATR_PROPORTIONALFONTSIZE
     136                 :            :     // TODO: not used?
     137                 :            :     // RES_CHRATR_SHADOWED
     138                 :            :     MT_E( "CharShadowed",   FO,     TEXT_SHADOW,        XML_TYPE_TEXT_SHADOWED, 0 ),
     139                 :            :     // RES_CHRATR_UNDERLINE
     140                 :            :     MT_E( "CharUnderline",  STYLE,  TEXT_UNDERLINE_STYLE,       XML_TYPE_TEXT_UNDERLINE_STYLE|MID_FLAG_MERGE_PROPERTY, CTF_UNDERLINE ),
     141                 :            :     MT_E( "CharUnderline",  STYLE,  TEXT_UNDERLINE_TYPE,        XML_TYPE_TEXT_UNDERLINE_TYPE|MID_FLAG_MERGE_PROPERTY, 0 ),
     142                 :            :     MT_E( "CharUnderline",  STYLE,  TEXT_UNDERLINE_WIDTH,       XML_TYPE_TEXT_UNDERLINE_WIDTH|MID_FLAG_MERGE_PROPERTY, 0 ),
     143                 :            :     MT_E( "CharUnderlineColor", STYLE,  TEXT_UNDERLINE_COLOR,       XML_TYPE_TEXT_UNDERLINE_COLOR|MID_FLAG_MULTI_PROPERTY, CTF_UNDERLINE_COLOR  ),
     144                 :            :     MT_E( "CharUnderlineHasColor",  STYLE,  TEXT_UNDERLINE_COLOR,       XML_TYPE_TEXT_UNDERLINE_HASCOLOR|MID_FLAG_MERGE_ATTRIBUTE, CTF_UNDERLINE_HASCOLOR   ),
     145                 :            :     // RES_CHRATR_WEIGHT
     146                 :            :     MT_E( "CharWeight",     FO,     FONT_WEIGHT,        XML_TYPE_TEXT_WEIGHT, 0 ),
     147                 :            :         // RES_CHRATR_RSID
     148                 :            :     { "Rsid", sizeof("Rsid")-1, XML_NAMESPACE_OFFICE_EXT, XML_RSID, XML_TYPE_HEX|XML_TYPE_PROP_TEXT, 0, SvtSaveOptions::ODFVER_012_EXT_COMPAT },
     149                 :            :         // RES_PARATR_RSID
     150                 :            :     { "ParRsid", sizeof("ParRsid")-1, XML_NAMESPACE_OFFICE_EXT, XML_PARRSID, XML_TYPE_HEX|XML_TYPE_PROP_TEXT, 0, SvtSaveOptions::ODFVER_012_EXT_COMPAT },
     151                 :            :     // RES_CHRATR_WORDLINEMODE
     152                 :            :     MT_E( "CharWordMode",   STYLE,  TEXT_UNDERLINE_MODE,        XML_TYPE_TEXT_LINE_MODE|MID_FLAG_MERGE_PROPERTY, 0 ),
     153                 :            :     MT_E( "CharWordMode",   STYLE,  TEXT_OVERLINE_MODE,     XML_TYPE_TEXT_LINE_MODE|MID_FLAG_MERGE_PROPERTY, 0 ),
     154                 :            :     MT_E( "CharWordMode",   STYLE,  TEXT_LINE_THROUGH_MODE,     XML_TYPE_TEXT_LINE_MODE|MID_FLAG_MERGE_PROPERTY, 0 ),
     155                 :            :     // RES_CHRATR_AUTOKERN
     156                 :            :     MT_E( "CharAutoKerning",    STYLE,  LETTER_KERNING,     XML_TYPE_BOOL, 0 ),
     157                 :            :     // RES_CHRATR_BLINK
     158                 :            :     MT_E( "CharFlash",      STYLE,  TEXT_BLINKING,      XML_TYPE_BOOL, 0 ),
     159                 :            :     // RES_CHRATR_NOHYPHEN
     160                 :            :     // TODO: not used?
     161                 :            :     // RES_CHRATR_NOLINEBREAK
     162                 :            :     // TODO: not used?
     163                 :            :     // RES_CHRATR_BACKGROUND
     164                 :            :     MT_E( "CharBackColor",  FO, BACKGROUND_COLOR, XML_TYPE_COLORTRANSPARENT|MID_FLAG_MULTI_PROPERTY, 0 ),
     165                 :            :     MT_E( "CharBackTransparent",    FO, BACKGROUND_COLOR, XML_TYPE_ISTRANSPARENT|MID_FLAG_MERGE_ATTRIBUTE, 0 ),
     166                 :            :     MT_E( "CharBackColor",  FO, TEXT_BACKGROUND_COLOR, XML_TYPE_COLOR|MID_FLAG_SPECIAL_ITEM_EXPORT, CTF_OLDTEXTBACKGROUND ),
     167                 :            :     // RES_CHRATR_CJK_FONT
     168                 :            :     MT_ED( "CharFontNameAsian", STYLE,  FONT_NAME_ASIAN,            XML_TYPE_STRING|MID_FLAG_SPECIAL_ITEM_IMPORT, CTF_FONTNAME_CJK ),
     169                 :            :     MT_ED( "CharFontNameAsian", STYLE,      FONT_FAMILY_ASIAN,      XML_TYPE_TEXT_FONTFAMILYNAME|MID_FLAG_SPECIAL_ITEM_IMPORT, CTF_FONTFAMILYNAME_CJK ),
     170                 :            :     MT_ED( "CharFontStyleNameAsian",STYLE,  FONT_STYLE_NAME_ASIAN,  XML_TYPE_STRING, CTF_FONTSTYLENAME_CJK ),
     171                 :            :     MT_ED( "CharFontFamilyAsian",   STYLE,  FONT_FAMILY_GENERIC_ASIAN,XML_TYPE_TEXT_FONTFAMILY, CTF_FONTFAMILY_CJK ),
     172                 :            :     MT_ED( "CharFontPitchAsian",    STYLE,  FONT_PITCH_ASIAN,           XML_TYPE_TEXT_FONTPITCH, CTF_FONTPITCH_CJK ),
     173                 :            :     MT_ED( "CharFontCharSetAsian",  STYLE,  FONT_CHARSET_ASIAN,     XML_TYPE_TEXT_FONTENCODING, CTF_FONTCHARSET_CJK ),
     174                 :            :     // RES_CHRATR_CJK_FONTSIZE
     175                 :            :     MT_ED( "CharHeightAsian",         STYLE,    FONT_SIZE_ASIAN,            XML_TYPE_CHAR_HEIGHT|MID_FLAG_MULTI_PROPERTY, CTF_CHARHEIGHT_CJK ),
     176                 :            :     MT_ED( "CharPropHeightAsian",STYLE, FONT_SIZE_ASIAN,            XML_TYPE_CHAR_HEIGHT_PROP|MID_FLAG_MULTI_PROPERTY, CTF_CHARHEIGHT_REL_CJK ),
     177                 :            :     MT_ED( "CharDiffHeightAsian",STYLE,FONT_SIZE_REL_ASIAN,     XML_TYPE_CHAR_HEIGHT_DIFF, CTF_CHARHEIGHT_DIFF_CJK ),
     178                 :            :     // RES_CHRATR_CJK_LANGUAGE
     179                 :            :     MT_ED( "CharLocaleAsian",       STYLE,      LANGUAGE_ASIAN,             XML_TYPE_CHAR_LANGUAGE|MID_FLAG_MERGE_PROPERTY, 0 ),
     180                 :            :     MT_ED( "CharLocaleAsian",       STYLE,      COUNTRY_ASIAN,          XML_TYPE_CHAR_COUNTRY|MID_FLAG_MERGE_PROPERTY, 0 ),
     181                 :            :     // RES_CHRATR_CJK_POSTURE
     182                 :            :     MT_E( "CharPostureAsian",       STYLE,      FONT_STYLE_ASIAN,           XML_TYPE_TEXT_POSTURE, 0 ),
     183                 :            :     // RES_CHRATR_CJK_WEIGHT
     184                 :            :     MT_E( "CharWeightAsian",        STYLE,      FONT_WEIGHT_ASIAN,      XML_TYPE_TEXT_WEIGHT, 0 ),
     185                 :            :     // RES_CHRATR_CTL_FONT
     186                 :            :     MT_ED( "CharFontNameComplex",   STYLE,  FONT_NAME_COMPLEX,          XML_TYPE_STRING|MID_FLAG_SPECIAL_ITEM_IMPORT, CTF_FONTNAME_CTL ),
     187                 :            :     MT_ED( "CharFontNameComplex",   STYLE,      FONT_FAMILY_COMPLEX,        XML_TYPE_TEXT_FONTFAMILYNAME|MID_FLAG_SPECIAL_ITEM_IMPORT, CTF_FONTFAMILYNAME_CTL ),
     188                 :            :     MT_ED( "CharFontStyleNameComplex",STYLE,    FONT_STYLE_NAME_COMPLEX,    XML_TYPE_STRING, CTF_FONTSTYLENAME_CTL ),
     189                 :            :     MT_ED( "CharFontFamilyComplex", STYLE,  FONT_FAMILY_GENERIC_COMPLEX,XML_TYPE_TEXT_FONTFAMILY, CTF_FONTFAMILY_CTL ),
     190                 :            :     MT_ED( "CharFontPitchComplex",  STYLE,  FONT_PITCH_COMPLEX,         XML_TYPE_TEXT_FONTPITCH, CTF_FONTPITCH_CTL ),
     191                 :            :     MT_ED( "CharFontCharSetComplex",    STYLE,  FONT_CHARSET_COMPLEX,       XML_TYPE_TEXT_FONTENCODING, CTF_FONTCHARSET_CTL ),
     192                 :            :     // RES_CHRATR_CTL_FONTSIZE
     193                 :            :     MT_ED( "CharHeightComplex",       STYLE,    FONT_SIZE_COMPLEX,          XML_TYPE_CHAR_HEIGHT|MID_FLAG_MULTI_PROPERTY, CTF_CHARHEIGHT_CTL ),
     194                 :            :     MT_ED( "CharPropHeightComplex",STYLE,   FONT_SIZE_COMPLEX,          XML_TYPE_CHAR_HEIGHT_PROP|MID_FLAG_MULTI_PROPERTY, CTF_CHARHEIGHT_REL_CTL ),
     195                 :            :     MT_ED( "CharDiffHeightComplex",STYLE,FONT_SIZE_REL_COMPLEX,     XML_TYPE_CHAR_HEIGHT_DIFF, CTF_CHARHEIGHT_DIFF_CTL ),
     196                 :            :     // RES_CHRATR_CTL_LANGUAGE
     197                 :            :     MT_ED( "CharLocaleComplex",     STYLE,      LANGUAGE_COMPLEX,           XML_TYPE_CHAR_LANGUAGE|MID_FLAG_MERGE_PROPERTY, 0 ),
     198                 :            :     MT_ED( "CharLocaleComplex",     STYLE,      COUNTRY_COMPLEX,            XML_TYPE_CHAR_COUNTRY|MID_FLAG_MERGE_PROPERTY, 0 ),
     199                 :            :     // RES_CHRATR_CTL_POSTURE
     200                 :            :     MT_E( "CharPostureComplex",     STYLE,      FONT_STYLE_COMPLEX,         XML_TYPE_TEXT_POSTURE, 0 ),
     201                 :            :     // RES_CHRATR_CTL_WEIGHT
     202                 :            :     MT_E( "CharWeightComplex",      STYLE,      FONT_WEIGHT_COMPLEX,        XML_TYPE_TEXT_WEIGHT, 0 ),
     203                 :            :     // RES_CHRATR_ROTATE
     204                 :            :     MT_E( "CharRotation",           STYLE,      TEXT_ROTATION_ANGLE,        XML_TYPE_TEXT_ROTATION_ANGLE, 0 ),
     205                 :            :     MT_E( "CharRotationIsFitToLine",    STYLE,      TEXT_ROTATION_SCALE,        XML_TYPE_TEXT_ROTATION_SCALE, 0 ),
     206                 :            :     // RES_CHRATR_EMPHASIS_MARK
     207                 :            :     MT_E( "CharEmphasis",           STYLE,      TEXT_EMPHASIZE,             XML_TYPE_TEXT_EMPHASIZE, 0 ),
     208                 :            :     // RES_CHRATR_TWO_LINES
     209                 :            :     MT_E( "CharCombineIsOn",            STYLE,      TEXT_COMBINE,               XML_TYPE_TEXT_COMBINE, 0 ),
     210                 :            :     MT_E( "CharCombinePrefix",      STYLE,      TEXT_COMBINE_START_CHAR,    XML_TYPE_TEXT_COMBINECHAR, 0 ),
     211                 :            :     MT_E( "CharCombineSuffix",      STYLE,      TEXT_COMBINE_END_CHAR,      XML_TYPE_TEXT_COMBINECHAR, 0 ),
     212                 :            :     // RES_CHRATR_SCALEW
     213                 :            :     MT_E( "CharScaleWidth",         STYLE,      TEXT_SCALE,                 XML_TYPE_PERCENT16, 0 ),
     214                 :            :     //RES_CHRATR_RELIEF
     215                 :            :     MT_E( "CharRelief",             STYLE,      FONT_RELIEF,                XML_TYPE_TEXT_FONT_RELIEF, 0 ),
     216                 :            :     // RES_CHRATR_HIDDEN
     217                 :            :     MT_E( "CharHidden",              TEXT,       DISPLAY,                    XML_TYPE_TEXT_HIDDEN_AS_DISPLAY|MID_FLAG_SPECIAL_ITEM_IMPORT, CTF_TEXT_DISPLAY ),
     218                 :            :     // RES_CHRATR_OVERLINE
     219                 :            :     MT_E( "CharOverline",   STYLE,  TEXT_OVERLINE_STYLE,        XML_TYPE_TEXT_OVERLINE_STYLE|MID_FLAG_MERGE_PROPERTY, 0 ),
     220                 :            :     MT_E( "CharOverline",   STYLE,  TEXT_OVERLINE_TYPE,     XML_TYPE_TEXT_OVERLINE_TYPE|MID_FLAG_MERGE_PROPERTY, 0 ),
     221                 :            :     MT_E( "CharOverline",   STYLE,  TEXT_OVERLINE_WIDTH,        XML_TYPE_TEXT_OVERLINE_WIDTH|MID_FLAG_MERGE_PROPERTY, 0 ),
     222                 :            :     MT_E( "CharOverlineColor",  STYLE,  TEXT_OVERLINE_COLOR,        XML_TYPE_TEXT_OVERLINE_COLOR|MID_FLAG_MULTI_PROPERTY, 0 ),
     223                 :            :     MT_E( "CharOverlineHasColor",   STYLE,  TEXT_OVERLINE_COLOR,        XML_TYPE_TEXT_OVERLINE_HASCOLOR|MID_FLAG_MERGE_ATTRIBUTE, 0 ),
     224                 :            : 
     225                 :            :     // RES_TXTATR_INETFMT
     226                 :            :     // TODO
     227                 :            :     // RES_TXTATR_REFMARK
     228                 :            :     // TODO
     229                 :            :     // RES_TXTATR_TOXMARK
     230                 :            :     // TODO
     231                 :            :     // RES_TXTATR_CHARFMT
     232                 :            : //  M_E_SI( TEXT,   style_name,         RES_TXTATR_CHARFMT, 0 ),
     233                 :            :     // RES_TXTATR_CJK_RUBY
     234                 :            :     // TODO
     235                 :            :     // RES_TXTATR_FIELD
     236                 :            :     // TODO
     237                 :            :     // RES_TXTATR_FLYCNT
     238                 :            :     // TODO
     239                 :            :     // RES_TXTATR_FTN
     240                 :            :     // TODO
     241                 :            :     // RES_TXTATR_SOFTHYPH
     242                 :            :     // TODO
     243                 :            :     // RES_TXTATR_HARDBLANK
     244                 :            :     // TODO
     245                 :            : 
     246                 :            :     // RES_PARATR_LINESPACING
     247                 :            :     MP_E( "ParaLineSpacing",        FO,     LINE_HEIGHT,            XML_TYPE_LINE_SPACE_FIXED, 0 ),
     248                 :            :     MP_E( "ParaLineSpacing",        STYLE,  LINE_HEIGHT_AT_LEAST,   XML_TYPE_LINE_SPACE_MINIMUM, 0 ),
     249                 :            :     MP_E( "ParaLineSpacing",        STYLE,  LINE_SPACING,           XML_TYPE_LINE_SPACE_DISTANCE, 0 ),
     250                 :            :     // RES_PARATR_ADJUST
     251                 :            :     MP_E( "ParaAdjust",         FO,     TEXT_ALIGN,         XML_TYPE_TEXT_ADJUST, CTF_SD_SHAPE_PARA_ADJUST ),
     252                 :            :     MP_E( "ParaLastLineAdjust", FO,     TEXT_ALIGN_LAST,    XML_TYPE_TEXT_ADJUSTLAST, CTF_PARA_ADJUSTLAST ),
     253                 :            :     MP_E( "ParaExpandSingleWord",STYLE, JUSTIFY_SINGLE_WORD,XML_TYPE_BOOL, 0 ),
     254                 :            :     // RES_PARATR_SPLIT
     255                 :            :     MP_E( "ParaSplit",          FO,     KEEP_TOGETHER,      XML_TYPE_TEXT_SPLIT, 0 ),
     256                 :            :     // RES_PARATR_ORPHANS
     257                 :            :     MP_E( "ParaOrphans",            FO,     ORPHANS,            XML_TYPE_NUMBER8, 0 ),
     258                 :            :     // RES_PARATR_WIDOWS
     259                 :            :     MP_E( "ParaWidows",         FO,     WIDOWS,             XML_TYPE_NUMBER8, 0 ),
     260                 :            :     // RES_PARATR_TABSTOP
     261                 :            :     MP_ED( "ParaTabStops",      STYLE,  TAB_STOPS,          MID_FLAG_ELEMENT_ITEM|XML_TYPE_TEXT_TABSTOP, CTF_TABSTOP ), // this is not realy a string!
     262                 :            :     // RES_PARATR_HYPHENZONE
     263                 :            :     MT_E( "ParaIsHyphenation",  FO,     HYPHENATE,          XML_TYPE_BOOL, 0 ),
     264                 :            :     MT_E( "ParaHyphenationMaxLeadingChars", FO, HYPHENATION_REMAIN_CHAR_COUNT, XML_TYPE_NUMBER16_NO_ZERO, 0 ),
     265                 :            :     MT_E( "ParaHyphenationMaxTrailingChars",FO, HYPHENATION_PUSH_CHAR_COUNT, XML_TYPE_NUMBER16_NO_ZERO, 0 ),
     266                 :            :     MP_E( "ParaHyphenationMaxHyphens",  FO, HYPHENATION_LADDER_COUNT, XML_TYPE_NUMBER16_NONE, 0 ),
     267                 :            :     // RES_PARATR_DROP
     268                 :            :     MP_E( "DropCapWholeWord",   STYLE,  LENGTH,     MID_FLAG_SPECIAL_ITEM|XML_TYPE_BOOL, CTF_DROPCAPWHOLEWORD ),
     269                 :            :     MP_E( "DropCapCharStyleName",   STYLE,  STYLE_NAME, MID_FLAG_SPECIAL_ITEM|XML_TYPE_STRING, CTF_DROPCAPCHARSTYLE ),
     270                 :            :     MP_E( "DropCapFormat",      STYLE,  DROP_CAP,   MID_FLAG_ELEMENT_ITEM|XML_TYPE_TEXT_DROPCAP, CTF_DROPCAPFORMAT ),
     271                 :            :     // RES_PARATR_REGISTER
     272                 :            :     MP_E( "ParaRegisterModeActive", STYLE,  REGISTER_TRUE,  XML_TYPE_BOOL, 0 ),
     273                 :            :     // RES_PARATR_NUMRULE
     274                 :            :     MP_E( "NumberingStyleName", STYLE,  LIST_STYLE_NAME,    MID_FLAG_SPECIAL_ITEM|XML_TYPE_STYLENAME, CTF_NUMBERINGSTYLENAME ),
     275                 :            :     MP_E( "NumberingRules",     TEXT,   ENABLE_NUMBERING,   MID_FLAG_NO_PROPERTY|XML_TYPE_BOOL, CTF_ALIEN_ATTRIBUTE_IMPORT ),
     276                 :            : 
     277                 :            :     // RES_FILL_ORDER
     278                 :            :     // not required
     279                 :            :     // RES_FRM_SIZE
     280                 :            :     // not required
     281                 :            :     // RES_PAPER_BIN
     282                 :            :     // not required
     283                 :            :     // RES_LR_SPACE
     284                 :            : 
     285                 :            :     MP_E( "ParaFirstLineIndent",        FO, TEXT_INDENT,        XML_TYPE_MEASURE|MID_FLAG_MULTI_PROPERTY, CTF_PARAFIRSTLINE ),
     286                 :            :     MP_E( "ParaFirstLineIndentRelative",    FO, TEXT_INDENT,    XML_TYPE_PERCENT, CTF_PARAFIRSTLINE_REL ),
     287                 :            :     MP_E( "ParaIsAutoFirstLineIndent",  STYLE, AUTO_TEXT_INDENT,    XML_TYPE_BOOL, 0 ),
     288                 :            :     // RES_PAGEDESC
     289                 :            :     MP_E( "PageDescName",           STYLE,  MASTER_PAGE_NAME,           MID_FLAG_SPECIAL_ITEM|XML_TYPE_STYLENAME, CTF_PAGEDESCNAME ),
     290                 :            :     MP_E( "PageNumberOffset",       STYLE,  PAGE_NUMBER,            XML_TYPE_NUMBER16_AUTO, 0 ),
     291                 :            :     // RES_BREAK : TODO: does this work?
     292                 :            :     MP_E( "BreakType",      FO, BREAK_BEFORE,       XML_TYPE_TEXT_BREAKBEFORE|MID_FLAG_MULTI_PROPERTY, 0 ),
     293                 :            :     MP_E( "BreakType",      FO, BREAK_AFTER,        XML_TYPE_TEXT_BREAKAFTER, 0 ),
     294                 :            :     // RES_CNTNT
     295                 :            :     // not required
     296                 :            :     // RES_HEADER
     297                 :            :     // not required
     298                 :            :     // RES_FOOTER
     299                 :            :     // not required
     300                 :            :     // RES_PRINT
     301                 :            :     // not required
     302                 :            :     // RES_OPAQUE
     303                 :            :     // not required
     304                 :            :     // RES_PROTECT
     305                 :            :     // not required
     306                 :            :     // RES_SURROUND
     307                 :            :     // not required
     308                 :            :     // RES_VERT_ORIENT
     309                 :            :     // not required
     310                 :            :     // RES_HORI_ORIENT
     311                 :            :     // not required
     312                 :            :     // RES_ANCHOR
     313                 :            :     // not required
     314                 :            :     // RES_BACKGROUND
     315                 :            :     MP_E( "ParaBackColor",  FO, BACKGROUND_COLOR,       XML_TYPE_COLORTRANSPARENT|MID_FLAG_MULTI_PROPERTY, 0 ),
     316                 :            :     MP_E( "ParaBackTransparent",    FO, BACKGROUND_COLOR,       XML_TYPE_ISTRANSPARENT|MID_FLAG_MERGE_ATTRIBUTE, 0 ),
     317                 :            :     MP_E( "ParaBackGraphicLocation",    STYLE,  POSITION,   MID_FLAG_SPECIAL_ITEM|XML_TYPE_BUILDIN_CMP_ONLY, CTF_BACKGROUND_POS  ),
     318                 :            :     MP_E( "ParaBackGraphicFilter",STYLE,    FILTER_NAME,    MID_FLAG_SPECIAL_ITEM|XML_TYPE_STRING, CTF_BACKGROUND_FILTER ),
     319                 :            :     MP_E( "ParaBackGraphicURL", STYLE,  BACKGROUND_IMAGE,   MID_FLAG_ELEMENT_ITEM|XML_TYPE_STRING, CTF_BACKGROUND_URL ),
     320                 :            :     // RES_BOX
     321                 :            :     MP_E( "LeftBorder",         STYLE,  BORDER_LINE_WIDTH,        XML_TYPE_BORDER_WIDTH, CTF_ALLBORDERWIDTH ),
     322                 :            :     MP_E( "LeftBorder",         STYLE,  BORDER_LINE_WIDTH_LEFT,   XML_TYPE_BORDER_WIDTH, CTF_LEFTBORDERWIDTH ),
     323                 :            :     MP_E( "RightBorder",            STYLE,  BORDER_LINE_WIDTH_RIGHT,  XML_TYPE_BORDER_WIDTH, CTF_RIGHTBORDERWIDTH ),
     324                 :            :     MP_E( "TopBorder",          STYLE,  BORDER_LINE_WIDTH_TOP,    XML_TYPE_BORDER_WIDTH, CTF_TOPBORDERWIDTH ),
     325                 :            :     MP_E( "BottomBorder",       STYLE,  BORDER_LINE_WIDTH_BOTTOM, XML_TYPE_BORDER_WIDTH, CTF_BOTTOMBORDERWIDTH ),
     326                 :            : 
     327                 :            :     MP_E( "LeftBorderDistance", FO,     PADDING,                  XML_TYPE_MEASURE|MID_FLAG_MULTI_PROPERTY, CTF_ALLBORDERDISTANCE ), // need special import filtering
     328                 :            :     MP_E( "LeftBorderDistance", FO,     PADDING_LEFT,             XML_TYPE_MEASURE|MID_FLAG_MULTI_PROPERTY, CTF_LEFTBORDERDISTANCE ),
     329                 :            :     MP_E( "RightBorderDistance",    FO,     PADDING_RIGHT,            XML_TYPE_MEASURE|MID_FLAG_MULTI_PROPERTY, CTF_RIGHTBORDERDISTANCE ),
     330                 :            :     MP_E( "TopBorderDistance",  FO,     PADDING_TOP,              XML_TYPE_MEASURE|MID_FLAG_MULTI_PROPERTY, CTF_TOPBORDERDISTANCE ),
     331                 :            :     MP_E( "BottomBorderDistance",FO,    PADDING_BOTTOM,           XML_TYPE_MEASURE|MID_FLAG_MULTI_PROPERTY, CTF_BOTTOMBORDERDISTANCE ),
     332                 :            : 
     333                 :            :     MP_E( "LeftBorder",         FO,     BORDER,                   XML_TYPE_BORDER, CTF_ALLBORDER ),
     334                 :            :     MP_E( "LeftBorder",         FO,     BORDER_LEFT,              XML_TYPE_BORDER, CTF_LEFTBORDER ),
     335                 :            :     MP_E( "RightBorder",            FO,     BORDER_RIGHT,             XML_TYPE_BORDER, CTF_RIGHTBORDER ),
     336                 :            :     MP_E( "TopBorder",          FO,     BORDER_TOP,               XML_TYPE_BORDER, CTF_TOPBORDER ),
     337                 :            :     MP_E( "BottomBorder",       FO,     BORDER_BOTTOM,            XML_TYPE_BORDER, CTF_BOTTOMBORDER ),
     338                 :            :     // RES_SHADOW
     339                 :            :     MP_E( "ParaShadowFormat",   STYLE,  SHADOW,     XML_TYPE_TEXT_SHADOW, 0 ),
     340                 :            :     // RES_FRMMACRO
     341                 :            :     // not required
     342                 :            :     // RES_COL
     343                 :            :     // not required
     344                 :            :     // RES_KEEP
     345                 :            :     MP_E( "ParaKeepTogether",   FO, KEEP_WITH_NEXT,     XML_TYPE_TEXT_KEEP, 0 ),
     346                 :            :     // RES_URL
     347                 :            :     // not required
     348                 :            :     // RES_EDIT_IN_READONLY
     349                 :            :     // not required
     350                 :            :     // RES_LAYOUT_SPLIT
     351                 :            :     // not required
     352                 :            :     // RES_CHAIN
     353                 :            :     // not required
     354                 :            : 
     355                 :            :     // RES_LINENUMBER
     356                 :            :     MP_E( "ParaLineNumberCount",    TEXT,   NUMBER_LINES,           XML_TYPE_BOOL, 0 ),
     357                 :            :     MP_E( "ParaLineNumberStartValue", TEXT, LINE_NUMBER,            XML_TYPE_NUMBER, 0 ),
     358                 :            : 
     359                 :            :     // RES_FTN_AT_TXTEND
     360                 :            :     // not required
     361                 :            :     // RES_END_AT_TXTEND
     362                 :            :     // not required
     363                 :            :     MP_ED( "ParaIsCharacterDistance", STYLE, TEXT_AUTOSPACE, XML_TYPE_TEXT_AUTOSPACE, 0 ),
     364                 :            :     MP_ED( "ParaIsHangingPunctuation", STYLE, PUNCTUATION_WRAP, XML_TYPE_TEXT_PUNCTUATION_WRAP, 0 ),
     365                 :            :     MP_ED( "ParaIsForbiddenRules", STYLE, LINE_BREAK, XML_TYPE_TEXT_LINE_BREAK, 0 ),
     366                 :            :     MP_E( "TabStopDistance", STYLE, TAB_STOP_DISTANCE, XML_TYPE_MEASURE, 0 ),
     367                 :            : 
     368                 :            :     // RES_PARATR_VERTALIGN
     369                 :            :     MP_E( "ParaVertAlignment", STYLE, VERTICAL_ALIGN,   XML_TYPE_TEXT_VERTICAL_ALIGN, 0 ),
     370                 :            : 
     371                 :            :     // RES_PARATR_SNAPTOGRID
     372                 :            :     MP_E( "SnapToGrid", STYLE, SNAP_TO_LAYOUT_GRID, XML_TYPE_BOOL, 0 ),
     373                 :            : 
     374                 :            :     MP_ED( "WritingMode",      STYLE, WRITING_MODE,       XML_TYPE_TEXT_WRITING_MODE_WITH_DEFAULT, CTF_TEXTWRITINGMODE ),
     375                 :            : 
     376                 :            :     MP_E( "ParaIsConnectBorder", STYLE, JOIN_BORDER,  XML_TYPE_BOOL, 0 ),
     377                 :            : 
     378                 :            :     MP_E( "DefaultOutlineLevel", STYLE, DEFAULT_OUTLINE_LEVEL, XML_TYPE_TEXT_NUMBER8_ONE_BASED|MID_FLAG_SPECIAL_ITEM_EXPORT|MID_FLAG_NO_PROPERTY_IMPORT, CTF_DEFAULT_OUTLINE_LEVEL ),
     379                 :            : 
     380                 :            :     MP_ED( "FontIndependentLineSpacing", STYLE, FONT_INDEPENDENT_LINE_SPACING, XML_TYPE_BOOL, 0 ),
     381                 :            : 
     382                 :            :     M_END()
     383                 :            : };
     384                 :            : 
     385                 :            : 
     386                 :            : XMLPropertyMapEntry aXMLAdditionalTextDefaultsMap[] =
     387                 :            : {
     388                 :            :     // RES_FOLLOW_TEXT_FLOW - DVO, OD 01.10.2003 #i18732#
     389                 :            :     MG_ED( "IsFollowingTextFlow", STYLE, FLOW_WITH_TEXT,      XML_TYPE_BOOL, 0 ),
     390                 :            : 
     391                 :            :     // OD 2004-05-05 #i28701# - RES_WRAP_INFLUENCE_ON_OBJPOS
     392                 :            :     MG_ED( "WrapInfluenceOnPosition", DRAW, WRAP_INFLUENCE_ON_POSITION, XML_TYPE_WRAP_INFLUENCE_ON_POSITION, 0 ),
     393                 :            : 
     394                 :            :     M_END()
     395                 :            : };
     396                 :            : 
     397                 :            : XMLPropertyMapEntry aXMLTextPropMap[] =
     398                 :            : {
     399                 :            :     // RES_CHRATR_CASEMAP
     400                 :            :     MT_E( "CharCaseMap",        FO,     FONT_VARIANT,       XML_TYPE_TEXT_CASEMAP_VAR,  0 ),
     401                 :            :     MT_E( "CharCaseMap",        FO,     TEXT_TRANSFORM,     XML_TYPE_TEXT_CASEMAP,  0 ),
     402                 :            :     // RES_CHRATR_COLOR
     403                 :            :     MT_ED( "CharColor",     FO,     COLOR,              XML_TYPE_COLORAUTO|MID_FLAG_MERGE_PROPERTY, 0 ),
     404                 :            :     MT_ED( "CharColor",     STYLE,  USE_WINDOW_FONT_COLOR,  XML_TYPE_ISAUTOCOLOR|MID_FLAG_MERGE_PROPERTY,   0 ),
     405                 :            :     // RES_CHRATR_CONTOUR
     406                 :            :     MT_E( "CharContoured",  STYLE,  TEXT_OUTLINE,       XML_TYPE_BOOL,  0 ),
     407                 :            :     // RES_CHRATR_CROSSEDOUT
     408                 :            :     MT_E( "CharStrikeout",  STYLE,  TEXT_LINE_THROUGH_STYLE,    XML_TYPE_TEXT_CROSSEDOUT_STYLE|MID_FLAG_MERGE_PROPERTY, 0),
     409                 :            :     MT_E( "CharStrikeout",  STYLE,  TEXT_LINE_THROUGH_TYPE,     XML_TYPE_TEXT_CROSSEDOUT_TYPE|MID_FLAG_MERGE_PROPERTY,  0),
     410                 :            :     MT_E( "CharStrikeout",  STYLE,  TEXT_LINE_THROUGH_WIDTH,    XML_TYPE_TEXT_CROSSEDOUT_WIDTH|MID_FLAG_MERGE_PROPERTY, 0),
     411                 :            :     MT_E( "CharStrikeout",  STYLE,  TEXT_LINE_THROUGH_TEXT,     XML_TYPE_TEXT_CROSSEDOUT_TEXT|MID_FLAG_MERGE_PROPERTY,  0),
     412                 :            :     // RES_CHRATR_ESCAPEMENT
     413                 :            :     MT_E( "CharEscapement",      STYLE, TEXT_POSITION,  XML_TYPE_TEXT_ESCAPEMENT|MID_FLAG_MERGE_ATTRIBUTE|MID_FLAG_MULTI_PROPERTY, 0 ),
     414                 :            :     MT_E( "CharEscapementHeight", STYLE, TEXT_POSITION, XML_TYPE_TEXT_ESCAPEMENT_HEIGHT|MID_FLAG_MERGE_ATTRIBUTE|MID_FLAG_MULTI_PROPERTY, 0 ),
     415                 :            :     // RES_CHRATR_FONT
     416                 :            :     MT_ED( "CharFontName",  STYLE,  FONT_NAME,          XML_TYPE_STRING|MID_FLAG_SPECIAL_ITEM_IMPORT, CTF_FONTNAME ),
     417                 :            :     MT_ED( "CharFontName",  FO,     FONT_FAMILY,        XML_TYPE_TEXT_FONTFAMILYNAME|MID_FLAG_SPECIAL_ITEM_IMPORT, CTF_FONTFAMILYNAME ),
     418                 :            :     MT_ED( "CharFontStyleName",STYLE,   FONT_STYLE_NAME,    XML_TYPE_STRING, CTF_FONTSTYLENAME ),
     419                 :            :     MT_ED( "CharFontFamily",    STYLE,  FONT_FAMILY_GENERIC,XML_TYPE_TEXT_FONTFAMILY, CTF_FONTFAMILY ),
     420                 :            :     MT_ED( "CharFontPitch", STYLE,  FONT_PITCH,         XML_TYPE_TEXT_FONTPITCH, CTF_FONTPITCH ),
     421                 :            :     MT_ED( "CharFontCharSet",   STYLE,  FONT_CHARSET,       XML_TYPE_TEXT_FONTENCODING, CTF_FONTCHARSET ),
     422                 :            :     // RES_CHRATR_FONTSIZE
     423                 :            :     MT_ED( "CharHeight",          FO,   FONT_SIZE,          XML_TYPE_CHAR_HEIGHT|MID_FLAG_MULTI_PROPERTY, CTF_CHARHEIGHT ),
     424                 :            :     MT_ED( "CharPropHeight",FO, FONT_SIZE,          XML_TYPE_CHAR_HEIGHT_PROP|MID_FLAG_MULTI_PROPERTY, CTF_CHARHEIGHT_REL ),
     425                 :            :     MT_ED( "CharDiffHeight",STYLE,FONT_SIZE_REL,        XML_TYPE_CHAR_HEIGHT_DIFF, CTF_CHARHEIGHT_DIFF ),
     426                 :            :     // RES_CHRATR_KERNING
     427                 :            :     MT_E( "CharKerning",        FO,     LETTER_SPACING,     XML_TYPE_TEXT_KERNING, 0 ),
     428                 :            :     // RES_CHRATR_LANGUAGE
     429                 :            :     MT_ED( "CharLocale",        FO,     LANGUAGE,           XML_TYPE_CHAR_LANGUAGE|MID_FLAG_MERGE_PROPERTY, 0 ),
     430                 :            :     MT_ED( "CharLocale",        FO,     COUNTRY,            XML_TYPE_CHAR_COUNTRY|MID_FLAG_MERGE_PROPERTY, 0 ),
     431                 :            :     // RES_CHRATR_POSTURE
     432                 :            :     MT_E( "CharPosture",        FO,     FONT_STYLE,         XML_TYPE_TEXT_POSTURE, 0 ),
     433                 :            :     // RES_CHRATR_PROPORTIONALFONTSIZE
     434                 :            :     // TODO: not used?
     435                 :            :     // RES_CHRATR_SHADOWED
     436                 :            :     MT_E( "CharShadowed",   FO,     TEXT_SHADOW,        XML_TYPE_TEXT_SHADOWED, 0 ),
     437                 :            :     // VALIDATED UP TO THIS LINE
     438                 :            :     // RES_CHRATR_UNDERLINE
     439                 :            :     MT_E( "CharUnderline",  STYLE,  TEXT_UNDERLINE_STYLE,       XML_TYPE_TEXT_UNDERLINE_STYLE|MID_FLAG_MERGE_PROPERTY, CTF_UNDERLINE ),
     440                 :            :     MT_E( "CharUnderline",  STYLE,  TEXT_UNDERLINE_TYPE,        XML_TYPE_TEXT_UNDERLINE_TYPE|MID_FLAG_MERGE_PROPERTY, 0 ),
     441                 :            :     MT_E( "CharUnderline",  STYLE,  TEXT_UNDERLINE_WIDTH,       XML_TYPE_TEXT_UNDERLINE_WIDTH|MID_FLAG_MERGE_PROPERTY, 0 ),
     442                 :            :     MT_E( "CharUnderlineColor", STYLE,  TEXT_UNDERLINE_COLOR,       XML_TYPE_TEXT_UNDERLINE_COLOR|MID_FLAG_MULTI_PROPERTY, CTF_UNDERLINE_COLOR  ),
     443                 :            :     MT_E( "CharUnderlineHasColor",  STYLE,  TEXT_UNDERLINE_COLOR,       XML_TYPE_TEXT_UNDERLINE_HASCOLOR|MID_FLAG_MERGE_ATTRIBUTE, CTF_UNDERLINE_HASCOLOR   ),
     444                 :            :     // RES_CHRATR_WEIGHT
     445                 :            :     MT_E( "CharWeight",     FO,     FONT_WEIGHT,        XML_TYPE_TEXT_WEIGHT, 0 ),
     446                 :            :         // RES_CHRATR_RSID
     447                 :            :     { "Rsid", sizeof("Rsid")-1, XML_NAMESPACE_OFFICE_EXT, XML_RSID, XML_TYPE_HEX|XML_TYPE_PROP_TEXT, 0, SvtSaveOptions::ODFVER_012_EXT_COMPAT },
     448                 :            :         // RES_PARATR_RSID
     449                 :            :     { "ParRsid", sizeof("ParRsid")-1, XML_NAMESPACE_OFFICE_EXT, XML_PARRSID, XML_TYPE_HEX|XML_TYPE_PROP_TEXT, 0, SvtSaveOptions::ODFVER_012_EXT_COMPAT },
     450                 :            :     // RES_CHRATR_WORDLINEMODE
     451                 :            :     MT_E( "CharWordMode",   STYLE,  TEXT_UNDERLINE_MODE,        XML_TYPE_TEXT_LINE_MODE|MID_FLAG_MERGE_PROPERTY, 0 ),
     452                 :            :     MT_E( "CharWordMode",   STYLE,  TEXT_OVERLINE_MODE,     XML_TYPE_TEXT_LINE_MODE|MID_FLAG_MERGE_PROPERTY, 0 ),
     453                 :            :     MT_E( "CharWordMode",   STYLE,  TEXT_LINE_THROUGH_MODE,     XML_TYPE_TEXT_LINE_MODE|MID_FLAG_MERGE_PROPERTY, 0 ),
     454                 :            :     // RES_CHRATR_AUTOKERN
     455                 :            :     MT_E( "CharAutoKerning",    STYLE,  LETTER_KERNING,     XML_TYPE_BOOL, 0 ),
     456                 :            :     // RES_CHRATR_BLINK
     457                 :            :     MT_E( "CharFlash",      STYLE,  TEXT_BLINKING,      XML_TYPE_BOOL, 0 ),
     458                 :            :     // RES_CHRATR_NOHYPHEN
     459                 :            :     // TODO: not used?
     460                 :            :     // RES_CHRATR_NOLINEBREAK
     461                 :            :     // TODO: not used?
     462                 :            :     // RES_CHRATR_BACKGROUND
     463                 :            :     MT_E( "CharBackColor",  FO, BACKGROUND_COLOR, XML_TYPE_COLORTRANSPARENT|MID_FLAG_MULTI_PROPERTY, 0 ),
     464                 :            :     MT_E( "CharBackTransparent",    FO, BACKGROUND_COLOR, XML_TYPE_ISTRANSPARENT|MID_FLAG_MERGE_ATTRIBUTE, 0 ),
     465                 :            :     MT_E( "CharBackColor",  FO, TEXT_BACKGROUND_COLOR, XML_TYPE_COLOR|MID_FLAG_SPECIAL_ITEM_EXPORT, CTF_OLDTEXTBACKGROUND ),
     466                 :            :     // RES_CHRATR_CJK_FONT
     467                 :            :     MT_ED( "CharFontNameAsian", STYLE,  FONT_NAME_ASIAN,            XML_TYPE_STRING|MID_FLAG_SPECIAL_ITEM_IMPORT, CTF_FONTNAME_CJK ),
     468                 :            :     MT_ED( "CharFontNameAsian", STYLE,      FONT_FAMILY_ASIAN,      XML_TYPE_TEXT_FONTFAMILYNAME|MID_FLAG_SPECIAL_ITEM_IMPORT, CTF_FONTFAMILYNAME_CJK ),
     469                 :            :     MT_ED( "CharFontStyleNameAsian",STYLE,  FONT_STYLE_NAME_ASIAN,  XML_TYPE_STRING, CTF_FONTSTYLENAME_CJK ),
     470                 :            :     MT_ED( "CharFontFamilyAsian",   STYLE,  FONT_FAMILY_GENERIC_ASIAN,XML_TYPE_TEXT_FONTFAMILY, CTF_FONTFAMILY_CJK ),
     471                 :            :     MT_ED( "CharFontPitchAsian",    STYLE,  FONT_PITCH_ASIAN,           XML_TYPE_TEXT_FONTPITCH, CTF_FONTPITCH_CJK ),
     472                 :            :     MT_ED( "CharFontCharSetAsian",  STYLE,  FONT_CHARSET_ASIAN,     XML_TYPE_TEXT_FONTENCODING, CTF_FONTCHARSET_CJK ),
     473                 :            :     // RES_CHRATR_CJK_FONTSIZE
     474                 :            :     MT_ED( "CharHeightAsian",         STYLE,    FONT_SIZE_ASIAN,            XML_TYPE_CHAR_HEIGHT|MID_FLAG_MULTI_PROPERTY, CTF_CHARHEIGHT_CJK ),
     475                 :            :     MT_ED( "CharPropHeightAsian",STYLE, FONT_SIZE_ASIAN,            XML_TYPE_CHAR_HEIGHT_PROP|MID_FLAG_MULTI_PROPERTY, CTF_CHARHEIGHT_REL_CJK ),
     476                 :            :     MT_ED( "CharDiffHeightAsian",STYLE,FONT_SIZE_REL_ASIAN,     XML_TYPE_CHAR_HEIGHT_DIFF, CTF_CHARHEIGHT_DIFF_CJK ),
     477                 :            :     // RES_CHRATR_CJK_LANGUAGE
     478                 :            :     MT_ED( "CharLocaleAsian",       STYLE,      LANGUAGE_ASIAN,             XML_TYPE_CHAR_LANGUAGE|MID_FLAG_MERGE_PROPERTY, 0 ),
     479                 :            :     MT_ED( "CharLocaleAsian",       STYLE,      COUNTRY_ASIAN,          XML_TYPE_CHAR_COUNTRY|MID_FLAG_MERGE_PROPERTY, 0 ),
     480                 :            :     // RES_CHRATR_CJK_POSTURE
     481                 :            :     MT_E( "CharPostureAsian",       STYLE,      FONT_STYLE_ASIAN,           XML_TYPE_TEXT_POSTURE, 0 ),
     482                 :            :     // RES_CHRATR_CJK_WEIGHT
     483                 :            :     MT_E( "CharWeightAsian",        STYLE,      FONT_WEIGHT_ASIAN,      XML_TYPE_TEXT_WEIGHT, 0 ),
     484                 :            :     // RES_CHRATR_CTL_FONT
     485                 :            :     MT_ED( "CharFontNameComplex",   STYLE,  FONT_NAME_COMPLEX,          XML_TYPE_STRING|MID_FLAG_SPECIAL_ITEM_IMPORT, CTF_FONTNAME_CTL ),
     486                 :            :     MT_ED( "CharFontNameComplex",   STYLE,      FONT_FAMILY_COMPLEX,        XML_TYPE_TEXT_FONTFAMILYNAME|MID_FLAG_SPECIAL_ITEM_IMPORT, CTF_FONTFAMILYNAME_CTL ),
     487                 :            :     MT_ED( "CharFontStyleNameComplex",STYLE,    FONT_STYLE_NAME_COMPLEX,    XML_TYPE_STRING, CTF_FONTSTYLENAME_CTL ),
     488                 :            :     MT_ED( "CharFontFamilyComplex", STYLE,  FONT_FAMILY_GENERIC_COMPLEX,XML_TYPE_TEXT_FONTFAMILY, CTF_FONTFAMILY_CTL ),
     489                 :            :     MT_ED( "CharFontPitchComplex",  STYLE,  FONT_PITCH_COMPLEX,         XML_TYPE_TEXT_FONTPITCH, CTF_FONTPITCH_CTL ),
     490                 :            :     MT_ED( "CharFontCharSetComplex",    STYLE,  FONT_CHARSET_COMPLEX,       XML_TYPE_TEXT_FONTENCODING, CTF_FONTCHARSET_CTL ),
     491                 :            :     // RES_CHRATR_CTL_FONTSIZE
     492                 :            :     MT_ED( "CharHeightComplex",       STYLE,    FONT_SIZE_COMPLEX,          XML_TYPE_CHAR_HEIGHT|MID_FLAG_MULTI_PROPERTY, CTF_CHARHEIGHT_CTL ),
     493                 :            :     MT_ED( "CharPropHeightComplex",STYLE,   FONT_SIZE_COMPLEX,          XML_TYPE_CHAR_HEIGHT_PROP|MID_FLAG_MULTI_PROPERTY, CTF_CHARHEIGHT_REL_CTL ),
     494                 :            :     MT_ED( "CharDiffHeightComplex",STYLE,FONT_SIZE_REL_COMPLEX,     XML_TYPE_CHAR_HEIGHT_DIFF, CTF_CHARHEIGHT_DIFF_CTL ),
     495                 :            :     // RES_CHRATR_CTL_LANGUAGE
     496                 :            :     MT_ED( "CharLocaleComplex",     STYLE,      LANGUAGE_COMPLEX,           XML_TYPE_CHAR_LANGUAGE|MID_FLAG_MERGE_PROPERTY, 0 ),
     497                 :            :     MT_ED( "CharLocaleComplex",     STYLE,      COUNTRY_COMPLEX,            XML_TYPE_CHAR_COUNTRY|MID_FLAG_MERGE_PROPERTY, 0 ),
     498                 :            :     // RES_CHRATR_CTL_POSTURE
     499                 :            :     MT_E( "CharPostureComplex",     STYLE,      FONT_STYLE_COMPLEX,         XML_TYPE_TEXT_POSTURE, 0 ),
     500                 :            :     // RES_CHRATR_CTL_WEIGHT
     501                 :            :     MT_E( "CharWeightComplex",      STYLE,      FONT_WEIGHT_COMPLEX,        XML_TYPE_TEXT_WEIGHT, 0 ),
     502                 :            :     // RES_CHRATR_ROTATE
     503                 :            :     MT_E( "CharRotation",           STYLE,      TEXT_ROTATION_ANGLE,        XML_TYPE_TEXT_ROTATION_ANGLE, 0 ),
     504                 :            :     MT_E( "CharRotationIsFitToLine",    STYLE,      TEXT_ROTATION_SCALE,        XML_TYPE_TEXT_ROTATION_SCALE, 0 ),
     505                 :            :     // RES_CHRATR_EMPHASIS_MARK
     506                 :            :     MT_E( "CharEmphasis",           STYLE,      TEXT_EMPHASIZE,             XML_TYPE_TEXT_EMPHASIZE, 0 ),
     507                 :            :     // RES_CHRATR_TWO_LINES
     508                 :            :     MT_E( "CharCombineIsOn",            STYLE,      TEXT_COMBINE,               XML_TYPE_TEXT_COMBINE|MID_FLAG_MULTI_PROPERTY, 0 ),
     509                 :            :     MT_E( "CharCombinePrefix",      STYLE,      TEXT_COMBINE_START_CHAR,    XML_TYPE_TEXT_COMBINECHAR, 0 ),
     510                 :            :     MT_E( "CharCombineSuffix",      STYLE,      TEXT_COMBINE_END_CHAR,      XML_TYPE_TEXT_COMBINECHAR, 0 ),
     511                 :            :     // RES_CHRATR_SCALEW
     512                 :            :     MT_E( "CharScaleWidth",         STYLE,      TEXT_SCALE,                 XML_TYPE_PERCENT16, 0 ),
     513                 :            :     // combined characters field, does not correspond to a property
     514                 :            :     MT_E( "",                       STYLE,      TEXT_COMBINE,               XML_TYPE_TEXT_COMBINE_CHARACTERS|MID_FLAG_NO_PROPERTY, CTF_COMBINED_CHARACTERS_FIELD ),
     515                 :            :     //RES_CHRATR_RELIEF
     516                 :            :     MT_E( "CharRelief",             STYLE,      FONT_RELIEF,                XML_TYPE_TEXT_FONT_RELIEF, 0 ),
     517                 :            :     // RES_CHRATR_HIDDEN
     518                 :            :     MT_E( "CharHidden",              TEXT,       DISPLAY,                    XML_TYPE_TEXT_HIDDEN_AS_DISPLAY|MID_FLAG_SPECIAL_ITEM_IMPORT, CTF_TEXT_DISPLAY ),
     519                 :            :     // RES_CHRATR_OVERLINE
     520                 :            :     MT_E( "CharOverline",   STYLE,  TEXT_OVERLINE_STYLE,        XML_TYPE_TEXT_OVERLINE_STYLE|MID_FLAG_MERGE_PROPERTY, 0 ),
     521                 :            :     MT_E( "CharOverline",   STYLE,  TEXT_OVERLINE_TYPE,     XML_TYPE_TEXT_OVERLINE_TYPE|MID_FLAG_MERGE_PROPERTY, 0 ),
     522                 :            :     MT_E( "CharOverline",   STYLE,  TEXT_OVERLINE_WIDTH,        XML_TYPE_TEXT_OVERLINE_WIDTH|MID_FLAG_MERGE_PROPERTY, 0 ),
     523                 :            :     MT_E( "CharOverlineColor",  STYLE,  TEXT_OVERLINE_COLOR,        XML_TYPE_TEXT_OVERLINE_COLOR|MID_FLAG_MULTI_PROPERTY, 0 ),
     524                 :            :     MT_E( "CharOverlineHasColor",   STYLE,  TEXT_OVERLINE_COLOR,        XML_TYPE_TEXT_OVERLINE_HASCOLOR|MID_FLAG_MERGE_ATTRIBUTE, 0 ),
     525                 :            : 
     526                 :            :     // RES_TXTATR_INETFMT
     527                 :            :     MT_E( "HyperLinkURL",           TEXT,       XMLNS,                      XML_TYPE_STRING|MID_FLAG_NO_PROPERTY_IMPORT,    CTF_HYPERLINK_URL ),
     528                 :            :     // RES_TXTATR_REFMARK
     529                 :            :     // TODO
     530                 :            :     // RES_TXTATR_TOXMARK
     531                 :            :     // TODO
     532                 :            :     // RES_TXTATR_CHARFMT
     533                 :            :     MT_E( "CharStyleName",          TEXT,       STYLE_NAME,                 XML_TYPE_STRING|MID_FLAG_NO_PROPERTY_IMPORT,    CTF_CHAR_STYLE_NAME ),
     534                 :            :     // RES_TXTATR_CJK_RUBY
     535                 :            :     // TODO
     536                 :            :     // RES_TXTATR_FIELD
     537                 :            :     // TODO
     538                 :            :     // RES_TXTATR_FLYCNT
     539                 :            :     // TODO
     540                 :            :     // RES_TXTATR_FTN
     541                 :            :     // TODO
     542                 :            :     // RES_TXTATR_SOFTHYPH
     543                 :            :     // TODO
     544                 :            :     // RES_TXTATR_HARDBLANK
     545                 :            :     // TODO
     546                 :            :     // RES_UNKNOWNATR_CONTAINER
     547                 :            :     MT_E( "TextUserDefinedAttributes", TEXT, XMLNS, XML_TYPE_ATTRIBUTE_CONTAINER | MID_FLAG_SPECIAL_ITEM, 0 ),
     548                 :            :     MT_ED( "ParaIsCharacterDistance", STYLE, TEXT_AUTOSPACE, XML_TYPE_TEXT_AUTOSPACE, 0 ),
     549                 :            :     MT_ED( "ParaIsHangingPunctuation", STYLE, PUNCTUATION_WRAP, XML_TYPE_TEXT_PUNCTUATION_WRAP, 0 ),
     550                 :            :     MT_ED( "ParaIsForbiddenRules", STYLE, LINE_BREAK, XML_TYPE_TEXT_LINE_BREAK, 0 ),
     551                 :            :     MT_E( "TabStopDistance", STYLE, TAB_STOP_DISTANCE, XML_TYPE_MEASURE, 0 ),
     552                 :            : 
     553                 :            :     M_END()
     554                 :            : };
     555                 :            : 
     556                 :            : XMLPropertyMapEntry aXMLFramePropMap[] =
     557                 :            : {
     558                 :            :     // RES_FILL_ORDER
     559                 :            :     // TODO: not required???
     560                 :            :     // RES_FRM_SIZE
     561                 :            :     MG_ED( "Width",         SVG, WIDTH,             XML_TYPE_MEASURE, CTF_FRAMEWIDTH_ABS ),
     562                 :            :     MG_ED( "Width",         FO,  MIN_WIDTH,         XML_TYPE_MEASURE|MID_FLAG_MULTI_PROPERTY, CTF_FRAMEWIDTH_MIN_ABS ),
     563                 :            :     MG_ED( "RelativeWidth", FO,  MIN_WIDTH,         XML_TYPE_TEXT_REL_WIDTH_HEIGHT, CTF_FRAMEWIDTH_MIN_REL ),
     564                 :            :     MG_ED( "RelativeWidth", STYLE, REL_WIDTH,       XML_TYPE_TEXT_REL_WIDTH_HEIGHT, CTF_FRAMEWIDTH_REL ),
     565                 :            :     MG_ED( "WidthType",     FO, TEXT_BOX,           XML_TYPE_NUMBER16|MID_FLAG_SPECIAL_ITEM_IMPORT, CTF_FRAMEWIDTH_TYPE ),
     566                 :            : //  M_ED( "RelativeWidth",  STYLE, REL_WIDTH,       XML_TYPE_TEXT_REL_WIDTH_HEIGHT|MID_FLAG_MULTI_PROPERTY, 0 ),
     567                 :            : //  M_ED( "IsSyncWidthToHeight",STYLE, REL_WIDTH,   XML_TYPE_TEXT_SYNC_WIDTH_HEIGHT|MID_FLAG_MULTI_PROPERTY, 0 ),
     568                 :            : 
     569                 :            :     MG_ED( "Height",            SVG, HEIGHT,            XML_TYPE_MEASURE, CTF_FRAMEHEIGHT_ABS ),
     570                 :            :     MG_ED( "Height",            FO, MIN_HEIGHT,         XML_TYPE_MEASURE|MID_FLAG_MULTI_PROPERTY, CTF_FRAMEHEIGHT_MIN_ABS ),
     571                 :            :     MG_ED( "RelativeHeight",    FO, MIN_HEIGHT,         XML_TYPE_TEXT_REL_WIDTH_HEIGHT, CTF_FRAMEHEIGHT_MIN_REL ),
     572                 :            :     MG_ED( "RelativeHeight",    STYLE, REL_HEIGHT,      XML_TYPE_TEXT_REL_WIDTH_HEIGHT, CTF_FRAMEHEIGHT_REL ),
     573                 :            : //  M_ED( "RelativeHeight", STYLE, REL_HEIGHT,      XML_TYPE_TEXT_REL_WIDTH_HEIGHT|MID_FLAG_MULTI_PROPERTY, CTF_FRAMEHEIGHT_REL ),
     574                 :            : //  M_ED( "IsSyncHeightToWidth",STYLE, REL_HEIGHT,  XML_TYPE_TEXT_SYNC_WIDTH_HEIGHT|MID_FLAG_MULTI_PROPERTY, CTF_SYNCHEIGHT ),
     575                 :            : //  M_ED( "IsSyncHeightToWidth",STYLE, REL_HEIGHT,  XML_TYPE_TEXT_SYNC_WIDTH_HEIGHT_MIN, CTF_SYNCHEIGHT_MIN ),
     576                 :            :     MG_ED( "SizeType",      FO, TEXT_BOX,           XML_TYPE_NUMBER16|MID_FLAG_SPECIAL_ITEM_IMPORT, CTF_SIZETYPE ),
     577                 :            :     // RES_PAPER_BIN
     578                 :            :     // not required
     579                 :            :     // RES_ANCHOR
     580                 :            :     // moved to here because it is not used for automatic styles
     581                 :            :     MG_ED( "AnchorType",            TEXT,   ANCHOR_TYPE,            XML_TYPE_TEXT_ANCHOR_TYPE, CTF_ANCHORTYPE ),
     582                 :            :     // AnchorPage number is not required for styles!
     583                 :            :     MG_ED( "HoriOrientPosition",    SVG,    X,        XML_TYPE_MEASURE, 0 ),
     584                 :            :     MG_ED( "VertOrientPosition",    SVG,    Y,        XML_TYPE_MEASURE, 0 ),
     585                 :            :     // ***** The map for automatic styles starts here *****
     586                 :            :     // RES_LR_SPACE
     587                 :            :     MG_E( "LeftMargin",             FO, MARGIN,     XML_TYPE_MEASURE,  CTF_MARGINALL ),
     588                 :            :     MG_E( "LeftMargin",             FO, MARGIN_LEFT,        XML_TYPE_MEASURE,  CTF_MARGINLEFT ),
     589                 :            :     MG_E( "RightMargin",                FO, MARGIN_RIGHT,       XML_TYPE_MEASURE, CTF_MARGINRIGHT ),
     590                 :            :     // RES_UL_SPACE
     591                 :            :     MG_E( "TopMargin",              FO, MARGIN_TOP,         XML_TYPE_MEASURE, CTF_MARGINTOP ),
     592                 :            :     MG_E( "BottomMargin",           FO, MARGIN_BOTTOM,      XML_TYPE_MEASURE, CTF_MARGINBOTTOM ),
     593                 :            :     // RES_PAGEDESC
     594                 :            :     // not required
     595                 :            :     // RES_BREAK
     596                 :            :     // not required
     597                 :            :     // RES_CNTNT
     598                 :            :     // not required (accessed using API)
     599                 :            :     // RES_HEADER
     600                 :            :     // not required
     601                 :            :     // RES_FOOTER
     602                 :            :     // not required
     603                 :            :     // RES_PRINT
     604                 :            :     MG_E( "Print",                  STYLE,  PRINT_CONTENT,  XML_TYPE_BOOL, 0 ),
     605                 :            :     // RES_OPAQUE
     606                 :            :     MG_ED( "Opaque",                    STYLE,  RUN_THROUGH,    XML_TYPE_TEXT_OPAQUE, 0 ),
     607                 :            :     // RES_PROTECT
     608                 :            :     MG_E( "ContentProtected",       STYLE,  PROTECT,        XML_TYPE_TEXT_PROTECT_CONTENT|MID_FLAG_MERGE_ATTRIBUTE|MID_FLAG_MULTI_PROPERTY, 0 ),
     609                 :            :     MG_E( "SizeProtected",      STYLE,  PROTECT,        XML_TYPE_TEXT_PROTECT_SIZE|MID_FLAG_MERGE_ATTRIBUTE|MID_FLAG_MULTI_PROPERTY, 0 ),
     610                 :            :     MG_E( "PositionProtected",      STYLE,  PROTECT,        XML_TYPE_TEXT_PROTECT_POSITION|MID_FLAG_MERGE_ATTRIBUTE|MID_FLAG_MULTI_PROPERTY, 0 ),
     611                 :            :     // RES_SURROUND
     612                 :            :     MG_ED( "TextWrap",              STYLE,  WRAP,   XML_TYPE_TEXT_WRAP, CTF_WRAP ),
     613                 :            :     MG_ED( "SurroundAnchorOnly",        STYLE,  NUMBER_WRAPPED_PARAGRAPHS,  XML_TYPE_TEXT_PARAGRAPH_ONLY, CTF_WRAP_PARAGRAPH_ONLY ),
     614                 :            :     MG_E( "SurroundContour",            STYLE,  WRAP_CONTOUR,   XML_TYPE_BOOL, CTF_WRAP_CONTOUR ),
     615                 :            :     MG_E( "ContourOutside",         STYLE,  WRAP_CONTOUR_MODE,  XML_TYPE_TEXT_WRAP_OUTSIDE, CTF_WRAP_CONTOUR_MODE ),
     616                 :            :     // RES_VERT_ORIENT
     617                 :            :     MG_ED( "VertOrient",                STYLE,  VERTICAL_POS,         XML_TYPE_TEXT_VERTICAL_POS, CTF_VERTICALPOS ),
     618                 :            :     MG_ED( "VertOrient",                STYLE,  VERTICAL_POS,         XML_TYPE_TEXT_VERTICAL_POS_AT_CHAR, CTF_VERTICALPOS_ATCHAR ),
     619                 :            :     MG_ED( "VertOrient",                STYLE,  VERTICAL_REL,         XML_TYPE_TEXT_VERTICAL_REL_AS_CHAR|MID_FLAG_MULTI_PROPERTY, CTF_VERTICALREL_ASCHAR ),
     620                 :            :     MG_ED( "VertOrientRelation",        STYLE,  VERTICAL_REL,         XML_TYPE_TEXT_VERTICAL_REL, CTF_VERTICALREL ),
     621                 :            :     MG_ED( "VertOrientRelation",        STYLE,  VERTICAL_REL,         XML_TYPE_TEXT_VERTICAL_REL_PAGE|MID_FLAG_SPECIAL_ITEM_IMPORT, CTF_VERTICALREL_PAGE ),
     622                 :            :     MG_ED( "VertOrientRelation",        STYLE,  VERTICAL_REL,         XML_TYPE_TEXT_VERTICAL_REL_FRAME|MID_FLAG_SPECIAL_ITEM_IMPORT, CTF_VERTICALREL_FRAME ),
     623                 :            :     // RES_HORI_ORIENT
     624                 :            :     MG_ED( "HoriOrient",                STYLE,  HORIZONTAL_POS,       XML_TYPE_TEXT_HORIZONTAL_POS|MID_FLAG_MULTI_PROPERTY, CTF_HORIZONTALPOS ),
     625                 :            :     MG_ED( "PageToggle",        STYLE,  HORIZONTAL_POS,       XML_TYPE_TEXT_HORIZONTAL_MIRROR, CTF_HORIZONTALMIRROR ),
     626                 :            :     MG_ED( "HoriOrient",                STYLE,  HORIZONTAL_POS,       XML_TYPE_TEXT_HORIZONTAL_POS_MIRRORED|MID_FLAG_SPECIAL_ITEM_IMPORT, CTF_HORIZONTALPOS_MIRRORED ),
     627                 :            :     MG_ED( "HoriOrientRelation",        STYLE,  HORIZONTAL_REL,       XML_TYPE_TEXT_HORIZONTAL_REL, CTF_HORIZONTALREL ),
     628                 :            :     MG_ED( "HoriOrientRelation",        STYLE,  HORIZONTAL_REL,       XML_TYPE_TEXT_HORIZONTAL_REL_FRAME|MID_FLAG_SPECIAL_ITEM_IMPORT, CTF_HORIZONTALREL_FRAME ),
     629                 :            :     // RES_ANCHOR
     630                 :            :     // see above
     631                 :            :     // RES_BACKGROUND
     632                 :            :     MG_ED( "BackColorRGB",  FO, BACKGROUND_COLOR,       XML_TYPE_COLORTRANSPARENT|MID_FLAG_MULTI_PROPERTY, 0 ),
     633                 :            :     MG_ED( "BackTransparent",   FO, BACKGROUND_COLOR,       XML_TYPE_ISTRANSPARENT|MID_FLAG_MERGE_ATTRIBUTE|MID_FLAG_MULTI_PROPERTY, CTF_BACKGROUND_TRANSPARENT ),
     634                 :            :     MG_ED( "BackColorTransparency", STYLE, BACKGROUND_TRANSPARENCY, XML_TYPE_PERCENT8, CTF_BACKGROUND_TRANSPARENCY ),
     635                 :            : 
     636                 :            :     MG_E( "BackGraphicTransparency", STYLE, BACKGROUND_IMAGE_TRANSPARENCY, MID_FLAG_SPECIAL_ITEM|XML_TYPE_PERCENT8, CTF_BACKGROUND_TRANSPARENCY ),
     637                 :            :     MG_E( "BackGraphicLocation",    STYLE,  POSITION,   MID_FLAG_SPECIAL_ITEM|XML_TYPE_BUILDIN_CMP_ONLY, CTF_BACKGROUND_POS  ),
     638                 :            :     MG_E( "BackGraphicFilter",STYLE,    FILTER_NAME,    MID_FLAG_SPECIAL_ITEM|XML_TYPE_STRING, CTF_BACKGROUND_FILTER ),
     639                 :            :     MG_E( "BackGraphicURL", STYLE,  BACKGROUND_IMAGE,   MID_FLAG_ELEMENT_ITEM|XML_TYPE_STRING, CTF_BACKGROUND_URL ),
     640                 :            : 
     641                 :            :     // RES_BOX
     642                 :            :     MG_ED( "LeftBorder",            STYLE,  BORDER_LINE_WIDTH,        XML_TYPE_BORDER_WIDTH, CTF_ALLBORDERWIDTH ),
     643                 :            :     MG_ED( "LeftBorder",            STYLE,  BORDER_LINE_WIDTH_LEFT,   XML_TYPE_BORDER_WIDTH, CTF_LEFTBORDERWIDTH ),
     644                 :            :     MG_ED( "RightBorder",           STYLE,  BORDER_LINE_WIDTH_RIGHT,  XML_TYPE_BORDER_WIDTH, CTF_RIGHTBORDERWIDTH ),
     645                 :            :     MG_ED( "TopBorder",         STYLE,  BORDER_LINE_WIDTH_TOP,    XML_TYPE_BORDER_WIDTH, CTF_TOPBORDERWIDTH ),
     646                 :            :     MG_ED( "BottomBorder",      STYLE,  BORDER_LINE_WIDTH_BOTTOM, XML_TYPE_BORDER_WIDTH, CTF_BOTTOMBORDERWIDTH ),
     647                 :            : 
     648                 :            :     MG_ED( "LeftBorderDistance",    FO,     PADDING,                  XML_TYPE_MEASURE, CTF_ALLBORDERDISTANCE ), // need special import filtering
     649                 :            :     MG_ED( "LeftBorderDistance",    FO,     PADDING_LEFT,             XML_TYPE_MEASURE, CTF_LEFTBORDERDISTANCE ),
     650                 :            :     MG_ED( "RightBorderDistance",   FO,     PADDING_RIGHT,            XML_TYPE_MEASURE, CTF_RIGHTBORDERDISTANCE ),
     651                 :            :     MG_ED( "TopBorderDistance", FO,     PADDING_TOP,              XML_TYPE_MEASURE, CTF_TOPBORDERDISTANCE ),
     652                 :            :     MG_ED( "BottomBorderDistance",FO,   PADDING_BOTTOM,           XML_TYPE_MEASURE, CTF_BOTTOMBORDERDISTANCE ),
     653                 :            : 
     654                 :            :     // There is an additional property for controls!
     655                 :            :     MG_ED( "LeftBorder",            FO,     BORDER,                   XML_TYPE_BORDER|MID_FLAG_MULTI_PROPERTY, CTF_ALLBORDER ),
     656                 :            :     MG_ED( "LeftBorder",            FO,     BORDER_LEFT,              XML_TYPE_BORDER, CTF_LEFTBORDER ),
     657                 :            :     MG_ED( "RightBorder",           FO,     BORDER_RIGHT,             XML_TYPE_BORDER, CTF_RIGHTBORDER ),
     658                 :            :     MG_ED( "TopBorder",         FO,     BORDER_TOP,               XML_TYPE_BORDER, CTF_TOPBORDER ),
     659                 :            :     MG_ED( "BottomBorder",      FO,     BORDER_BOTTOM,            XML_TYPE_BORDER, CTF_BOTTOMBORDER ),
     660                 :            :     // RES_SHADOW
     661                 :            :     MG_E( "ShadowFormat",       STYLE,  SHADOW,                 XML_TYPE_TEXT_SHADOW, 0 ),
     662                 :            :     // RES_FRMMACRO
     663                 :            :     // TODO
     664                 :            :     // RES_COL
     665                 :            :     MG_E( "TextColumns",            STYLE,  COLUMNS,    MID_FLAG_ELEMENT_ITEM|XML_TYPE_TEXT_COLUMNS, CTF_TEXTCOLUMNS ),
     666                 :            :     // RES_KEEP
     667                 :            :     // not required
     668                 :            :     // RES_URL
     669                 :            :     // not required (exprted as draw:a element)
     670                 :            :     // RES_EDIT_IN_READONLY
     671                 :            :     MG_ED( "EditInReadonly",        STYLE,  EDITABLE,                   XML_TYPE_BOOL, 0 ),
     672                 :            :     // RES_LAYOUT_SPLIT
     673                 :            :     // not required
     674                 :            :     // RES_CHAIN
     675                 :            :     // not required (exported at text:text-box element)
     676                 :            :     // RES_LINENUMBER
     677                 :            :     // not required
     678                 :            :     // RES_FTN_AT_TXTEND
     679                 :            :     // not required
     680                 :            :     // RES_END_AT_TXTEND
     681                 :            :     // not required
     682                 :            :     // RES_COLUMNBALANCE
     683                 :            :     // TODO
     684                 :            :     // RES_UNKNOWNATR_CONTAINER
     685                 :            : //  M_E_SE( TEXT, xmlns, RES_UNKNOWNATR_CONTAINER, 0 ),
     686                 :            :     // RES_GRFATR_MIRRORGRF (vertical MUST be processed after horizontal!)
     687                 :            :     MG_E( "HoriMirroredOnEvenPages",        STYLE,  MIRROR,     XML_TYPE_TEXT_MIRROR_HORIZONTAL_LEFT|MID_FLAG_MERGE_ATTRIBUTE|MID_FLAG_MULTI_PROPERTY, 0 ),
     688                 :            :     MG_E( "HoriMirroredOnOddPages",     STYLE,  MIRROR,     XML_TYPE_TEXT_MIRROR_HORIZONTAL_RIGHT|MID_FLAG_MERGE_ATTRIBUTE|MID_FLAG_MULTI_PROPERTY, 0 ),
     689                 :            :     MG_E( "VertMirrored",       STYLE,  MIRROR,     XML_TYPE_TEXT_MIRROR_VERTICAL|MID_FLAG_MERGE_ATTRIBUTE|MID_FLAG_MULTI_PROPERTY, 0 ),
     690                 :            :     // RES_GRFATR_CROPGRF
     691                 :            :     MG_EV( "GraphicCrop",           FO,     CLIP,       XML_TYPE_TEXT_CLIP, CTF_TEXT_CLIP, SvtSaveOptions::ODFVER_012 ),
     692                 :            :     MG_E( "GraphicCrop",            FO,     CLIP,       XML_TYPE_TEXT_CLIP11, CTF_TEXT_CLIP11 ),
     693                 :            :     // RES_GRFATR_ROTATION
     694                 :            :     // not required (exported as svg:transform attribute)
     695                 :            :     // RES_GRFATR_LUMINANCE
     696                 :            :     MG_E( "AdjustLuminance",  DRAW, LUMINANCE,          XML_TYPE_PERCENT16, 0 ),        // signed?
     697                 :            :     // RES_GRFATR_CONTRAST
     698                 :            :     MG_E( "AdjustContrast", DRAW,   CONTRAST,           XML_TYPE_PERCENT16, 0 ),        // signed?
     699                 :            :     // RES_GRFATR_CHANNELR
     700                 :            :     MG_E( "AdjustRed",      DRAW, RED,                  XML_TYPE_PERCENT16, 0 ),        // signed?
     701                 :            :     // RES_GRFATR_CHANNELG
     702                 :            :     MG_E( "AdjustGreen",        DRAW, GREEN,                XML_TYPE_PERCENT16, 0 ),        // signed?
     703                 :            :     // RES_GRFATR_CHANNELB
     704                 :            :     MG_E( "AdjustBlue",     DRAW, BLUE,                 XML_TYPE_PERCENT16, 0 ),        // signed?
     705                 :            :     // RES_GRFATR_GAMMA
     706                 :            :     MG_E( "Gamma",          DRAW, GAMMA,                XML_TYPE_DOUBLE_PERCENT, 0 ),           // signed?
     707                 :            :     // RES_GRFATR_INVERT
     708                 :            :     MG_E( "GraphicIsInverted", DRAW, COLOR_INVERSION,       XML_TYPE_BOOL, 0 ),
     709                 :            :     // RES_GRFATR_TRANSPARENCY
     710                 :            :     MG_E( "Transparency",   DRAW, IMAGE_OPACITY,        XML_TYPE_NEG_PERCENT16|MID_FLAG_MULTI_PROPERTY, 0 ), // #i25616#
     711                 :            :     // RES_GRFATR_DRAWMODE
     712                 :            :     MG_E( "GraphicColorMode", DRAW, COLOR_MODE,         XML_TYPE_COLOR_MODE, 0 ),
     713                 :            :     MG_E( "WritingMode",      STYLE, WRITING_MODE,       XML_TYPE_TEXT_WRITING_MODE_WITH_DEFAULT, 0 ),
     714                 :            :     // RES_FOLLOW_TEXT_FLOW - DVO, OD 01.10.2003 #i18732#
     715                 :            :     MG_E( "IsFollowingTextFlow", DRAW, FLOW_WITH_TEXT,      XML_TYPE_BOOL|MID_FLAG_SPECIAL_ITEM_EXPORT, CTF_OLD_FLOW_WITH_TEXT ),
     716                 :            :     MG_E( "IsFollowingTextFlow", STYLE, FLOW_WITH_TEXT,     XML_TYPE_BOOL, 0 ),
     717                 :            :     // OD 2004-05-05 #i28701# - RES_WRAP_INFLUENCE_ON_OBJPOS
     718                 :            :     MG_E( "WrapInfluenceOnPosition", DRAW, WRAP_INFLUENCE_ON_POSITION, XML_TYPE_WRAP_INFLUENCE_ON_POSITION, 0 ),
     719                 :            : 
     720                 :            :     // special entries for floating frames
     721                 :            :     MG_E( "",           DRAW,   FRAME_DISPLAY_SCROLLBAR,    XML_TYPE_BOOL|MID_FLAG_NO_PROPERTY|MID_FLAG_MULTI_PROPERTY, CTF_FRAME_DISPLAY_SCROLLBAR ),
     722                 :            :     MG_E( "",           DRAW,   FRAME_DISPLAY_BORDER,   XML_TYPE_BOOL|MID_FLAG_NO_PROPERTY|MID_FLAG_MULTI_PROPERTY, CTF_FRAME_DISPLAY_BORDER ),
     723                 :            :     MG_E( "",           DRAW,   FRAME_MARGIN_HORIZONTAL,    XML_TYPE_MEASURE_PX|MID_FLAG_NO_PROPERTY|MID_FLAG_MULTI_PROPERTY,   CTF_FRAME_MARGIN_HORI ),
     724                 :            :     MG_E( "",           DRAW,   FRAME_MARGIN_VERTICAL,  XML_TYPE_MEASURE_PX|MID_FLAG_NO_PROPERTY|MID_FLAG_MULTI_PROPERTY,   CTF_FRAME_MARGIN_VERT ),
     725                 :            :     MG_E( "",           DRAW,   VISIBLE_AREA_LEFT,      XML_TYPE_MEASURE|MID_FLAG_NO_PROPERTY|MID_FLAG_MULTI_PROPERTY,  CTF_OLE_VIS_AREA_LEFT ),
     726                 :            :     MG_E( "",           DRAW,   VISIBLE_AREA_TOP,       XML_TYPE_MEASURE|MID_FLAG_NO_PROPERTY|MID_FLAG_MULTI_PROPERTY,  CTF_OLE_VIS_AREA_TOP ),
     727                 :            :     MG_E( "",           DRAW,   VISIBLE_AREA_WIDTH,     XML_TYPE_MEASURE|MID_FLAG_NO_PROPERTY|MID_FLAG_MULTI_PROPERTY,  CTF_OLE_VIS_AREA_WIDTH ),
     728                 :            :     MG_E( "",           DRAW,   VISIBLE_AREA_HEIGHT,    XML_TYPE_MEASURE|MID_FLAG_NO_PROPERTY|MID_FLAG_MULTI_PROPERTY,  CTF_OLE_VIS_AREA_HEIGHT ),
     729                 :            :     MG_E( "",           DRAW,   DRAW_ASPECT,            XML_TYPE_TEXT_DRAW_ASPECT|MID_FLAG_NO_PROPERTY|MID_FLAG_MULTI_PROPERTY, CTF_OLE_DRAW_ASPECT ),
     730                 :            :     MG_E( "UserDefinedAttributes", TEXT, XMLNS, XML_TYPE_ATTRIBUTE_CONTAINER | MID_FLAG_SPECIAL_ITEM, 0 ),
     731                 :            : 
     732                 :            :     M_END()
     733                 :            : };
     734                 :            : 
     735                 :            : XMLPropertyMapEntry aXMLShapePropMap[] =
     736                 :            : {
     737                 :            :     // RES_LR_SPACE
     738                 :            :     MG_E( "LeftMargin",             FO, MARGIN_LEFT,        XML_TYPE_MEASURE,  0),
     739                 :            :     MG_E( "RightMargin",                FO, MARGIN_RIGHT,       XML_TYPE_MEASURE, 0 ),
     740                 :            :     // RES_UL_SPACE
     741                 :            :     MG_E( "TopMargin",              FO, MARGIN_TOP,         XML_TYPE_MEASURE, 0 ),
     742                 :            :     MG_E( "BottomMargin",           FO, MARGIN_BOTTOM,      XML_TYPE_MEASURE, 0 ),
     743                 :            :     // RES_OPAQUE
     744                 :            :     MG_ED( "Opaque",                    STYLE,  RUN_THROUGH,    XML_TYPE_TEXT_OPAQUE, 0 ),
     745                 :            :     // RES_SURROUND
     746                 :            :     MG_E( "TextWrap",               STYLE,  WRAP,   XML_TYPE_TEXT_WRAP, CTF_WRAP ),
     747                 :            :     MG_E( "SurroundAnchorOnly",     STYLE,  NUMBER_WRAPPED_PARAGRAPHS,  XML_TYPE_TEXT_PARAGRAPH_ONLY, CTF_WRAP_PARAGRAPH_ONLY ),
     748                 :            :     MG_E( "SurroundContour",            STYLE,  WRAP_CONTOUR,   XML_TYPE_BOOL, CTF_WRAP_CONTOUR ),
     749                 :            :     MG_E( "ContourOutside",         STYLE,  WRAP_CONTOUR_MODE,  XML_TYPE_TEXT_WRAP_OUTSIDE, CTF_WRAP_CONTOUR_MODE ),
     750                 :            :     // Use own CTF ids for positioning attributes (#i28749#)
     751                 :            :     // RES_VERT_ORIENT
     752                 :            :     MG_E( "VertOrient",         STYLE,  VERTICAL_POS,   XML_TYPE_TEXT_VERTICAL_POS, CTF_SHAPE_VERTICALPOS ),
     753                 :            :     // Add property for at-character anchored shapes (#i26791#)
     754                 :            :     MG_E( "VertOrient",         STYLE,  VERTICAL_POS,   XML_TYPE_TEXT_VERTICAL_POS_AT_CHAR, CTF_SHAPE_VERTICALPOS_ATCHAR ),
     755                 :            :     MG_E( "VertOrient",         STYLE,  VERTICAL_REL,   XML_TYPE_TEXT_VERTICAL_REL_AS_CHAR|MID_FLAG_MULTI_PROPERTY, CTF_VERTICALREL_ASCHAR ),
     756                 :            :     MG_E( "VertOrientRelation", STYLE,  VERTICAL_REL,   XML_TYPE_TEXT_VERTICAL_REL, CTF_SHAPE_VERTICALREL ),
     757                 :            :     MG_E( "VertOrientRelation", STYLE,  VERTICAL_REL,   XML_TYPE_TEXT_VERTICAL_REL_PAGE|MID_FLAG_SPECIAL_ITEM_IMPORT, CTF_SHAPE_VERTICALREL_PAGE ),
     758                 :            :     MG_E( "VertOrientRelation", STYLE,  VERTICAL_REL,   XML_TYPE_TEXT_VERTICAL_REL_FRAME|MID_FLAG_SPECIAL_ITEM_IMPORT, CTF_SHAPE_VERTICALREL_FRAME ),
     759                 :            :     // RES_HORI_ORIENT
     760                 :            :     MG_E( "HoriOrient",         STYLE,  HORIZONTAL_POS, XML_TYPE_TEXT_HORIZONTAL_POS|MID_FLAG_MULTI_PROPERTY, CTF_SHAPE_HORIZONTALPOS ),
     761                 :            :     MG_E( "PageToggle",         STYLE,  HORIZONTAL_POS, XML_TYPE_TEXT_HORIZONTAL_MIRROR, CTF_SHAPE_HORIZONTALMIRROR ),
     762                 :            :     MG_E( "HoriOrient",         STYLE,  HORIZONTAL_POS, XML_TYPE_TEXT_HORIZONTAL_POS_MIRRORED|MID_FLAG_SPECIAL_ITEM_IMPORT, CTF_SHAPE_HORIZONTALPOS_MIRRORED ),
     763                 :            :     MG_E( "HoriOrientRelation", STYLE,  HORIZONTAL_REL, XML_TYPE_TEXT_HORIZONTAL_REL, CTF_SHAPE_HORIZONTALREL ),
     764                 :            :     MG_E( "HoriOrientRelation", STYLE,  HORIZONTAL_REL, XML_TYPE_TEXT_HORIZONTAL_REL_FRAME|MID_FLAG_SPECIAL_ITEM_IMPORT, CTF_SHAPE_HORIZONTALREL_FRAME ),
     765                 :            :     // RES_WRAP_INFLUENCE_ON_OBJPOS (#i28701#)
     766                 :            :     MG_ED( "WrapInfluenceOnPosition", DRAW, WRAP_INFLUENCE_ON_POSITION, XML_TYPE_WRAP_INFLUENCE_ON_POSITION, 0 ),
     767                 :            :     // UserDefinedAttributes is already contained in the map this one is
     768                 :            :     // chained to.
     769                 :            : 
     770                 :            :     // RES_FOLLOW_TEXT_FLOW (#i26791#)
     771                 :            :     MG_ED( "IsFollowingTextFlow", STYLE, FLOW_WITH_TEXT,      XML_TYPE_BOOL, 0 ),
     772                 :            : 
     773                 :            :     M_END()
     774                 :            : };
     775                 :            : 
     776                 :            : XMLPropertyMapEntry aXMLSectionPropMap[] =
     777                 :            : {
     778                 :            :     // RES_COL
     779                 :            :     MS_E( "TextColumns",            STYLE,  COLUMNS,    MID_FLAG_ELEMENT_ITEM|XML_TYPE_TEXT_COLUMNS, CTF_TEXTCOLUMNS ),
     780                 :            : 
     781                 :            :     // RES_BACKGROUND
     782                 :            :     MS_E( "BackColor",  FO, BACKGROUND_COLOR,       XML_TYPE_COLORTRANSPARENT|MID_FLAG_MULTI_PROPERTY, 0 ),
     783                 :            :     MS_E( "BackTransparent",    FO, BACKGROUND_COLOR,       XML_TYPE_ISTRANSPARENT|MID_FLAG_MERGE_ATTRIBUTE, 0 ),
     784                 :            :     MS_E( "BackGraphicLocation",    STYLE,  POSITION,   MID_FLAG_SPECIAL_ITEM|XML_TYPE_BUILDIN_CMP_ONLY, CTF_BACKGROUND_POS  ),
     785                 :            :     MS_E( "BackGraphicFilter",STYLE,    FILTER_NAME,    MID_FLAG_SPECIAL_ITEM|XML_TYPE_STRING, CTF_BACKGROUND_FILTER ),
     786                 :            :     MS_E( "BackGraphicURL", STYLE,  BACKGROUND_IMAGE,   MID_FLAG_ELEMENT_ITEM|XML_TYPE_STRING, CTF_BACKGROUND_URL ),
     787                 :            : 
     788                 :            :     // move protect-flag into section element
     789                 :            : //  M_E( "IsProtected",         STYLE,  PROTECT,    XML_TYPE_BOOL, 0 ),
     790                 :            : 
     791                 :            :     MS_E( "DontBalanceTextColumns", TEXT, DONT_BALANCE_TEXT_COLUMNS, XML_TYPE_BOOL, 0 ),
     792                 :            : 
     793                 :            :     MS_E( "WritingMode",      STYLE, WRITING_MODE,       XML_TYPE_TEXT_WRITING_MODE_WITH_DEFAULT, 0 ),
     794                 :            : 
     795                 :            :     MS_E( "SectionLeftMargin",      FO, MARGIN_LEFT,        XML_TYPE_MEASURE,  0),
     796                 :            :     MS_E( "SectionRightMargin",     FO, MARGIN_RIGHT,       XML_TYPE_MEASURE,  0),
     797                 :            : 
     798                 :            :     // section footnote settings
     799                 :            :     MS_E( "FootnoteIsOwnNumbering",     TEXT,   _EMPTY, MID_FLAG_SPECIAL_ITEM|XML_TYPE_BOOL,    CTF_SECTION_FOOTNOTE_NUM_OWN ),
     800                 :            :     MS_E( "FootnoteIsRestartNumbering", TEXT,   _EMPTY, MID_FLAG_SPECIAL_ITEM|XML_TYPE_BOOL,    CTF_SECTION_FOOTNOTE_NUM_RESTART ),
     801                 :            :     MS_E( "FootnoteRestartNumberingAt", TEXT,   _EMPTY, MID_FLAG_SPECIAL_ITEM|XML_TYPE_NUMBER16,CTF_SECTION_FOOTNOTE_NUM_RESTART_AT ),
     802                 :            :     MS_E( "FootnoteNumberingType",      TEXT,   _EMPTY, MID_FLAG_SPECIAL_ITEM|XML_TYPE_NUMBER16,CTF_SECTION_FOOTNOTE_NUM_TYPE ),
     803                 :            :     MS_E( "FootnoteNumberingPrefix",        TEXT,   _EMPTY, MID_FLAG_SPECIAL_ITEM|XML_TYPE_STRING,  CTF_SECTION_FOOTNOTE_NUM_PREFIX ),
     804                 :            :     MS_E( "FootnoteNumberingSuffix",        TEXT,   _EMPTY, MID_FLAG_SPECIAL_ITEM|XML_TYPE_STRING,  CTF_SECTION_FOOTNOTE_NUM_SUFFIX ),
     805                 :            :     MS_E( "FootnoteIsCollectAtTextEnd", TEXT,   NOTES_CONFIGURATION,    MID_FLAG_ELEMENT_ITEM|XML_TYPE_BOOL,    CTF_SECTION_FOOTNOTE_END ),
     806                 :            : 
     807                 :            :     // section footnote settings
     808                 :            :     MS_E( "EndnoteIsOwnNumbering",      TEXT,   _EMPTY,     MID_FLAG_SPECIAL_ITEM|XML_TYPE_BOOL,    CTF_SECTION_ENDNOTE_NUM_OWN ),
     809                 :            :     MS_E( "EndnoteIsRestartNumbering",  TEXT,   _EMPTY,     MID_FLAG_SPECIAL_ITEM|XML_TYPE_BOOL,    CTF_SECTION_ENDNOTE_NUM_RESTART ),
     810                 :            :     MS_E( "EndnoteRestartNumberingAt",  TEXT,   _EMPTY,     MID_FLAG_SPECIAL_ITEM|XML_TYPE_NUMBER16,CTF_SECTION_ENDNOTE_NUM_RESTART_AT ),
     811                 :            :     MS_E( "EndnoteNumberingType",       TEXT,   _EMPTY,     MID_FLAG_SPECIAL_ITEM|XML_TYPE_NUMBER16,CTF_SECTION_ENDNOTE_NUM_TYPE ),
     812                 :            :     MS_E( "EndnoteNumberingPrefix",     TEXT,   _EMPTY,     MID_FLAG_SPECIAL_ITEM|XML_TYPE_STRING,  CTF_SECTION_ENDNOTE_NUM_PREFIX ),
     813                 :            :     MS_E( "EndnoteNumberingSuffix",     TEXT,   _EMPTY,     MID_FLAG_SPECIAL_ITEM|XML_TYPE_STRING,  CTF_SECTION_ENDNOTE_NUM_SUFFIX ),
     814                 :            :     MS_E( "EndnoteIsCollectAtTextEnd",  TEXT,   NOTES_CONFIGURATION,        MID_FLAG_ELEMENT_ITEM|XML_TYPE_BOOL,    CTF_SECTION_ENDNOTE_END ),
     815                 :            :     MS_E( "UserDefinedAttributes",      TEXT,   XMLNS,      XML_TYPE_ATTRIBUTE_CONTAINER | MID_FLAG_SPECIAL_ITEM, 0 ),
     816                 :            :     // RES_EDIT_IN_READONLY
     817                 :            :     MS_E( "EditInReadonly",             STYLE,  EDITABLE,  XML_TYPE_BOOL, 0 ),
     818                 :            :     M_END()
     819                 :            : };
     820                 :            : 
     821                 :            : XMLPropertyMapEntry aXMLRubyPropMap[] =
     822                 :            : {
     823                 :            :     MR_E( "RubyAdjust", STYLE, RUBY_ALIGN, XML_TYPE_TEXT_RUBY_ADJUST, 0 ),
     824                 :            :     MR_E( "RubyIsAbove",    STYLE, RUBY_POSITION, XML_TYPE_TEXT_RUBY_POSITION, 0 ),
     825                 :            :     M_END()
     826                 :            : };
     827                 :            : 
     828                 :            : 
     829                 :            : XMLPropertyMapEntry aXMLTableDefaultsMap[] =
     830                 :            : {
     831                 :            :     // RES_COLLAPSING_BORDERS: only occurs in tables, but we need to
     832                 :            :     // read/write the default for this item
     833                 :            :     _M_ED( "CollapsingBorders", TABLE, BORDER_MODEL, XML_TYPE_PROP_TABLE | XML_TYPE_BORDER_MODEL | MID_FLAG_NO_PROPERTY_IMPORT, CTF_BORDER_MODEL ),
     834                 :            : 
     835                 :            :     M_END()
     836                 :            : };
     837                 :            : 
     838                 :            : XMLPropertyMapEntry aXMLTableRowDefaultsMap[] =
     839                 :            : {
     840                 :            :     // RES_ROW_SPLIT: only occurs in table rows, but we need to
     841                 :            :     // read/write the default for this item
     842                 :            :     _M_ED( "IsSplitAllowed", FO, KEEP_TOGETHER, XML_TYPE_PROP_TABLE_ROW | XML_TYPE_TEXT_NKEEP | MID_FLAG_NO_PROPERTY_IMPORT, CTF_KEEP_TOGETHER ),
     843                 :            : 
     844                 :            :     M_END()
     845                 :            : };
     846                 :            : 
     847                 :       4932 : XMLPropertyMapEntry *lcl_txtprmap_getMap( sal_uInt16 nType )
     848                 :            : {
     849                 :       4932 :     XMLPropertyMapEntry *pMap = 0;
     850   [ +  +  +  +  :       4932 :     switch( nType )
          +  +  +  +  +  
                +  +  - ]
     851                 :            :     {
     852                 :            :     case TEXT_PROP_MAP_TEXT:
     853                 :        563 :         pMap = aXMLTextPropMap;
     854                 :        563 :         break;
     855                 :            :     case TEXT_PROP_MAP_SHAPE_PARA:
     856                 :       1173 :         pMap = &(aXMLParaPropMap[1]);
     857                 :            :         OSL_ENSURE( pMap->meXMLName == XML_MARGIN, "shape para map changed" );
     858                 :       1173 :         break;
     859                 :            :     case TEXT_PROP_MAP_PARA:
     860                 :        559 :         pMap = aXMLParaPropMap;
     861                 :        559 :         break;
     862                 :            :     case TEXT_PROP_MAP_FRAME:
     863                 :        685 :         pMap = aXMLFramePropMap;
     864                 :        685 :         break;
     865                 :            :     case TEXT_PROP_MAP_AUTO_FRAME:
     866                 :         77 :         pMap = &(aXMLFramePropMap[13]);
     867                 :            :         OSL_ENSURE( pMap->meXMLName == XML_MARGIN, "frame map changed" );
     868                 :         77 :         break;
     869                 :            :     case TEXT_PROP_MAP_SHAPE:
     870                 :         42 :         pMap = aXMLShapePropMap;
     871                 :         42 :         break;
     872                 :            :     case TEXT_PROP_MAP_SECTION:
     873                 :        559 :         pMap = aXMLSectionPropMap;
     874                 :        559 :         break;
     875                 :            :     case TEXT_PROP_MAP_RUBY:
     876                 :        559 :         pMap = aXMLRubyPropMap;
     877                 :        559 :         break;
     878                 :            :     case TEXT_PROP_MAP_TEXT_ADDITIONAL_DEFAULTS:
     879                 :        421 :         pMap = aXMLAdditionalTextDefaultsMap;
     880                 :        421 :         break;
     881                 :            :     case TEXT_PROP_MAP_TABLE_DEFAULTS:
     882                 :        147 :         pMap = aXMLTableDefaultsMap;
     883                 :        147 :         break;
     884                 :            :     case TEXT_PROP_MAP_TABLE_ROW_DEFAULTS:
     885                 :        147 :         pMap = aXMLTableRowDefaultsMap;
     886                 :        147 :         break;
     887                 :            :     }
     888                 :            :     DBG_ASSERT( pMap, "illegal map type" );
     889                 :       4932 :     return pMap;
     890                 :            : }
     891                 :            : 
     892                 :          0 : const XMLPropertyMapEntry* XMLTextPropertySetMapper::getPropertyMapForType( sal_uInt16 _nType )
     893                 :            : {
     894                 :          0 :     return lcl_txtprmap_getMap( _nType );
     895                 :            : }
     896                 :            : 
     897                 :       4932 : XMLTextPropertySetMapper::XMLTextPropertySetMapper( sal_uInt16 nType ) :
     898                 :       4932 :     XMLPropertySetMapper( lcl_txtprmap_getMap( nType ),
     899 [ +  - ][ +  - ]:       9864 :                           new XMLTextPropertyHandlerFactory )
     900                 :            : {
     901                 :       4932 : }
     902                 :            : 
     903                 :       4932 : XMLTextPropertySetMapper::~XMLTextPropertySetMapper()
     904                 :            : {
     905         [ -  + ]:       9864 : }
     906                 :            : 
     907                 :            : /* vim:set shiftwidth=4 softtabstop=4 expandtab: */

Generated by: LCOV version 1.10