LCOV - code coverage report
Current view: top level - sw/source/core/bastyp - init.cxx (source / functions) Hit Total Coverage
Test: commit c8344322a7af75b84dd3ca8f78b05543a976dfd5 Lines: 299 313 95.5 %
Date: 2015-06-13 12:38:46 Functions: 12 15 80.0 %
Legend: Lines: hit not hit

          Line data    Source code
       1             : /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
       2             : /*
       3             :  * This file is part of the LibreOffice project.
       4             :  *
       5             :  * This Source Code Form is subject to the terms of the Mozilla Public
       6             :  * License, v. 2.0. If a copy of the MPL was not distributed with this
       7             :  * file, You can obtain one at http://mozilla.org/MPL/2.0/.
       8             :  *
       9             :  * This file incorporates work covered by the following license notice:
      10             :  *
      11             :  *   Licensed to the Apache Software Foundation (ASF) under one or more
      12             :  *   contributor license agreements. See the NOTICE file distributed
      13             :  *   with this work for additional information regarding copyright
      14             :  *   ownership. The ASF licenses this file to you under the Apache
      15             :  *   License, Version 2.0 (the "License"); you may not use this file
      16             :  *   except in compliance with the License. You may obtain a copy of
      17             :  *   the License at http://www.apache.org/licenses/LICENSE-2.0 .
      18             :  */
      19             : 
      20             : #include <acmplwrd.hxx>
      21             : #include <boost/scoped_ptr.hpp>
      22             : #include <breakit.hxx>
      23             : #include <cellatr.hxx>
      24             : #include <checkit.hxx>
      25             : #include <cmdid.h>
      26             : #include <fesh.hxx>
      27             : #include <comphelper/processfactory.hxx>
      28             : #include <com/sun/star/i18n/CollatorOptions.hpp>
      29             : #include <com/sun/star/lang/XMultiServiceFactory.hpp>
      30             : #include <doc.hxx>
      31             : #include <editeng/acorrcfg.hxx>
      32             : #include <editeng/autokernitem.hxx>
      33             : #include <editeng/blinkitem.hxx>
      34             : #include <editeng/formatbreakitem.hxx>
      35             : #include <editeng/charhiddenitem.hxx>
      36             : #include <editeng/charreliefitem.hxx>
      37             : #include <editeng/charrotateitem.hxx>
      38             : #include <editeng/charscaleitem.hxx>
      39             : #include <editeng/cmapitem.hxx>
      40             : #include <editeng/charsetcoloritem.hxx>
      41             : #include <editeng/emphasismarkitem.hxx>
      42             : #include <editeng/escapementitem.hxx>
      43             : #include <editeng/forbiddenruleitem.hxx>
      44             : #include <editeng/frmdiritem.hxx>
      45             : #include <editeng/hngpnctitem.hxx>
      46             : #include <editeng/hyphenzoneitem.hxx>
      47             : #include <editeng/keepitem.hxx>
      48             : #include <editeng/kernitem.hxx>
      49             : #include <editeng/langitem.hxx>
      50             : #include <editeng/lrspitem.hxx>
      51             : #include <editeng/lspcitem.hxx>
      52             : #include <editeng/nhypitem.hxx>
      53             : #include <editeng/nlbkitem.hxx>
      54             : #include <editeng/opaqitem.hxx>
      55             : #include <editeng/orphitem.hxx>
      56             : #include <editeng/paravertalignitem.hxx>
      57             : #include <editeng/pbinitem.hxx>
      58             : #include <editeng/pgrditem.hxx>
      59             : #include <editeng/prntitem.hxx>
      60             : #include <editeng/protitem.hxx>
      61             : #include <editeng/prszitem.hxx>
      62             : #include <editeng/rsiditem.hxx>
      63             : #include <svl/grabbagitem.hxx>
      64             : #include <editeng/scriptspaceitem.hxx>
      65             : #include <editeng/shaditem.hxx>
      66             : #include <editeng/spltitem.hxx>
      67             : #include <editeng/svxacorr.hxx>
      68             : #include <editeng/swafopt.hxx>
      69             : #include <editeng/tstpitem.hxx>
      70             : #include <editeng/twolinesitem.hxx>
      71             : #include <editeng/ulspitem.hxx>
      72             : #include <editeng/unolingu.hxx>
      73             : #include <editeng/widwitem.hxx>
      74             : #include <editeng/wrlmitem.hxx>
      75             : #include <editeng/xmlcnitm.hxx>
      76             : #include <editsh.hxx>
      77             : #include <fchrfmt.hxx>
      78             : #include <fmtanchr.hxx>
      79             : #include <fmtautofmt.hxx>
      80             : #include <fmtclbl.hxx>
      81             : #include <fmtclds.hxx>
      82             : #include <fmtcnct.hxx>
      83             : #include <fmtcntnt.hxx>
      84             : #include <fmteiro.hxx>
      85             : #include <fmtflcnt.hxx>
      86             : #include <fmtfld.hxx>
      87             : #include <fmtfollowtextflow.hxx>
      88             : #include <fmtfordr.hxx>
      89             : #include <fmtfsize.hxx>
      90             : #include <fmtftn.hxx>
      91             : #include <fmtftntx.hxx>
      92             : #include <fmthdft.hxx>
      93             : #include <fmtinfmt.hxx>
      94             : #include <fmtline.hxx>
      95             : #include <fmtlsplt.hxx>
      96             : #include <fmtmeta.hxx>
      97             : #include <fmtornt.hxx>
      98             : #include <fmtpdsc.hxx>
      99             : #include <fmtrfmrk.hxx>
     100             : #include <fmtrowsplt.hxx>
     101             : #include <fmtruby.hxx>
     102             : #include <fmtsrnd.hxx>
     103             : #include <fmturl.hxx>
     104             : #include <fmtwrapinfluenceonobjpos.hxx>
     105             : #include <fntcache.hxx>
     106             : #include <grfatr.hxx>
     107             : #include <hfspacingitem.hxx>
     108             : #include <hintids.hxx>
     109             : #include <init.hxx>
     110             : #include <pam.hxx>
     111             : #include <paratr.hxx>
     112             : #include <proofreadingiterator.hxx>
     113             : #include <rtl/instance.hxx>
     114             : #include <svl/macitem.hxx>
     115             : #include <svx/dialogs.hrc>
     116             : #include <svx/xfillit0.hxx>
     117             : #include <svx/xflgrit.hxx>
     118             : #include <svx/sdtaitm.hxx>
     119             : #include <swcalwrp.hxx>
     120             : #include <SwStyleNameMapper.hxx>
     121             : #include <tblafmt.hxx>
     122             : #include <tgrditem.hxx>
     123             : #include <tools/globname.hxx>
     124             : #include <tox.hxx>
     125             : #include <unotools/charclass.hxx>
     126             : #include <unotools/collatorwrapper.hxx>
     127             : #include <unotools/syslocale.hxx>
     128             : #include <unotools/transliterationwrapper.hxx>
     129             : #include <vcl/mapmod.hxx>
     130             : #include <vcl/svapp.hxx>
     131             : #include <vcl/settings.hxx>
     132             : #include <viscrs.hxx>
     133             : 
     134             : using namespace ::com::sun::star;
     135             : 
     136             : // some ranges for sets in collections/ nodes
     137             : 
     138             : // AttrSet range for the 2 break attributes
     139             : sal_uInt16 aBreakSetRange[] = {
     140             :     RES_PAGEDESC, RES_BREAK,
     141             :     0
     142             : };
     143             : 
     144             : // AttrSet range for TextFormatColl
     145             : // list attributes ( RES_PARATR_LIST_BEGIN - RES_PARATR_LIST_END ) are not
     146             : // included in the paragraph style's itemset.
     147             : sal_uInt16 aTextFormatCollSetRange[] = {
     148             :     RES_FRMATR_BEGIN, RES_FRMATR_END-1,
     149             :     RES_CHRATR_BEGIN, RES_CHRATR_END-1,
     150             :     RES_PARATR_BEGIN, RES_PARATR_END-1,
     151             :     RES_UNKNOWNATR_BEGIN, RES_UNKNOWNATR_END-1,
     152             : 
     153             :     //UUUU FillAttribute support
     154             :     XATTR_FILL_FIRST, XATTR_FILL_LAST,
     155             : 
     156             :     0
     157             : };
     158             : 
     159             : // AttrSet range for GrfFormatColl
     160             : sal_uInt16 aGrfFormatCollSetRange[] = {
     161             :     RES_FRMATR_BEGIN, RES_FRMATR_END-1,
     162             :     RES_GRFATR_BEGIN, RES_GRFATR_END-1,
     163             :     RES_UNKNOWNATR_BEGIN, RES_UNKNOWNATR_END-1,
     164             :     0
     165             : };
     166             : 
     167             : // AttrSet range for TextNode
     168             : sal_uInt16 aTextNodeSetRange[] = {
     169             :     RES_FRMATR_BEGIN, RES_FRMATR_END-1,
     170             :     RES_CHRATR_BEGIN, RES_CHRATR_END-1,
     171             :     RES_PARATR_BEGIN, RES_PARATR_END-1,
     172             :     RES_PARATR_LIST_BEGIN, RES_PARATR_LIST_END-1,
     173             :     RES_UNKNOWNATR_BEGIN, RES_UNKNOWNATR_END-1,
     174             : 
     175             :     //UUUU FillAttribute support (paragraph FillStyle)
     176             :     XATTR_FILL_FIRST, XATTR_FILL_LAST,
     177             : 
     178             :     0
     179             : };
     180             : 
     181             : // AttrSet range for NoTextNode
     182             : sal_uInt16 aNoTextNodeSetRange[] = {
     183             :     RES_FRMATR_BEGIN, RES_FRMATR_END-1,
     184             :     RES_GRFATR_BEGIN, RES_GRFATR_END-1,
     185             :     RES_UNKNOWNATR_BEGIN, RES_UNKNOWNATR_END-1,
     186             :     0
     187             : };
     188             : 
     189             : sal_uInt16 aTableSetRange[] = {
     190             :     RES_FILL_ORDER,     RES_FRM_SIZE,
     191             :     RES_LR_SPACE,       RES_BREAK,
     192             :     RES_BACKGROUND,     RES_SHADOW,
     193             :     RES_HORI_ORIENT,    RES_HORI_ORIENT,
     194             :     RES_KEEP,           RES_KEEP,
     195             :     RES_LAYOUT_SPLIT,   RES_LAYOUT_SPLIT,
     196             :     RES_FRAMEDIR,       RES_FRAMEDIR,
     197             :     // #i29550#
     198             :     RES_COLLAPSING_BORDERS, RES_COLLAPSING_BORDERS,
     199             :     // <-- collapsing
     200             :     RES_UNKNOWNATR_BEGIN, RES_UNKNOWNATR_END-1,
     201             :     RES_FRMATR_GRABBAG, RES_FRMATR_GRABBAG,
     202             :     0
     203             : };
     204             : 
     205             : sal_uInt16 aTableLineSetRange[] = {
     206             :     RES_FILL_ORDER,     RES_FRM_SIZE,
     207             :     RES_LR_SPACE,       RES_UL_SPACE,
     208             :     RES_BACKGROUND,     RES_SHADOW,
     209             :     RES_ROW_SPLIT,      RES_ROW_SPLIT,
     210             :     RES_PROTECT,        RES_PROTECT,
     211             :     RES_VERT_ORIENT,    RES_VERT_ORIENT,
     212             :     RES_UNKNOWNATR_BEGIN, RES_UNKNOWNATR_END-1,
     213             :     RES_FRMATR_GRABBAG, RES_FRMATR_GRABBAG,
     214             :     0
     215             : };
     216             : 
     217             : sal_uInt16 aTableBoxSetRange[] = {
     218             :     RES_FILL_ORDER,     RES_FRM_SIZE,
     219             :     RES_LR_SPACE,       RES_UL_SPACE,
     220             :     RES_BACKGROUND,     RES_SHADOW,
     221             :     RES_PROTECT,        RES_PROTECT,
     222             :     RES_VERT_ORIENT,    RES_VERT_ORIENT,
     223             :     RES_FRAMEDIR,       RES_FRAMEDIR,
     224             :     RES_BOXATR_BEGIN,   RES_BOXATR_END-1,
     225             :     RES_UNKNOWNATR_BEGIN, RES_UNKNOWNATR_END-1,
     226             :     RES_FRMATR_GRABBAG, RES_FRMATR_GRABBAG,
     227             :     0
     228             : };
     229             : 
     230             : // AttrSet range for SwFrameFormat
     231             : sal_uInt16 aFrameFormatSetRange[] = {
     232             :     RES_FRMATR_BEGIN, RES_FRMATR_END-1,
     233             :     RES_UNKNOWNATR_BEGIN, RES_UNKNOWNATR_END-1,
     234             : 
     235             :     //UUUU FillAttribute support (TextFrame, OLE, Writer GraphicObject)
     236             :     XATTR_FILL_FIRST, XATTR_FILL_LAST,
     237             : 
     238             :     0
     239             : };
     240             : 
     241             : // AttrSet range for SwCharFormat
     242             : sal_uInt16 aCharFormatSetRange[] = {
     243             :     RES_CHRATR_BEGIN, RES_CHRATR_END-1,
     244             :     RES_UNKNOWNATR_BEGIN, RES_UNKNOWNATR_END-1,
     245             :     0
     246             : };
     247             : 
     248             : // AttrSet range for character autostyles
     249             : sal_uInt16 aCharAutoFormatSetRange[] = {
     250             :     RES_CHRATR_BEGIN, RES_CHRATR_END-1,
     251             :     RES_TXTATR_UNKNOWN_CONTAINER, RES_TXTATR_UNKNOWN_CONTAINER,
     252             :     RES_UNKNOWNATR_BEGIN, RES_UNKNOWNATR_END-1,
     253             :     0
     254             : };
     255             : 
     256             : // AttrSet range for SwPageDescFormat
     257             : sal_uInt16 aPgFrameFormatSetRange[] = {
     258             :     RES_FRMATR_BEGIN, RES_FRMATR_END-1,
     259             :     RES_UNKNOWNATR_BEGIN, RES_UNKNOWNATR_END-1,
     260             :     0
     261             : };
     262             : 
     263             : // create table for accessing default format attributes
     264             : SwDfltAttrTab aAttrTab;
     265             : 
     266             : SfxItemInfo aSlotTab[] =
     267             : {
     268             :     { SID_ATTR_CHAR_CASEMAP, SfxItemPoolFlags::POOLABLE },       // RES_CHRATR_CASEMAP
     269             :     { SID_ATTR_CHAR_CHARSETCOLOR, SfxItemPoolFlags::POOLABLE },  // RES_CHRATR_CHARSETCOLOR
     270             :     { SID_ATTR_CHAR_COLOR, SfxItemPoolFlags::POOLABLE },         // RES_CHRATR_COLOR
     271             :     { SID_ATTR_CHAR_CONTOUR, SfxItemPoolFlags::POOLABLE },       // RES_CHRATR_CONTOUR
     272             :     { SID_ATTR_CHAR_STRIKEOUT, SfxItemPoolFlags::POOLABLE },     // RES_CHRATR_CROSSEDOUT
     273             :     { SID_ATTR_CHAR_ESCAPEMENT, SfxItemPoolFlags::POOLABLE },    // RES_CHRATR_ESCAPEMENT
     274             :     { SID_ATTR_CHAR_FONT, SfxItemPoolFlags::POOLABLE },          // RES_CHRATR_FONT
     275             :     { SID_ATTR_CHAR_FONTHEIGHT, SfxItemPoolFlags::POOLABLE },    // RES_CHRATR_FONTSIZE
     276             :     { SID_ATTR_CHAR_KERNING, SfxItemPoolFlags::POOLABLE },       // RES_CHRATR_KERNING
     277             :     { SID_ATTR_CHAR_LANGUAGE, SfxItemPoolFlags::POOLABLE },      // RES_CHRATR_LANGUAGE
     278             :     { SID_ATTR_CHAR_POSTURE, SfxItemPoolFlags::POOLABLE },       // RES_CHRATR_POSTURE
     279             :     { SID_ATTR_CHAR_PROPSIZE, SfxItemPoolFlags::POOLABLE },      // RES_CHRATR_PROPORTIONALFONTSIZE
     280             :     { SID_ATTR_CHAR_SHADOWED, SfxItemPoolFlags::POOLABLE },      // RES_CHRATR_SHADOWED
     281             :     { SID_ATTR_CHAR_UNDERLINE, SfxItemPoolFlags::POOLABLE },     // RES_CHRATR_UNDERLINE
     282             :     { SID_ATTR_CHAR_WEIGHT, SfxItemPoolFlags::POOLABLE },        // RES_CHRATR_WEIGHT
     283             :     { SID_ATTR_CHAR_WORDLINEMODE, SfxItemPoolFlags::POOLABLE },  // RES_CHRATR_WORDLINEMODE
     284             :     { SID_ATTR_CHAR_AUTOKERN, SfxItemPoolFlags::POOLABLE },      // RES_CHRATR_AUTOKERN
     285             :     { SID_ATTR_FLASH, SfxItemPoolFlags::POOLABLE },              // RES_CHRATR_BLINK
     286             :     { 0, SfxItemPoolFlags::POOLABLE },                           // RES_CHRATR_NOLINEBREAK
     287             :     { 0, SfxItemPoolFlags::POOLABLE },                           // RES_CHRATR_NOHYPHEN
     288             :     { SID_ATTR_BRUSH_CHAR, SfxItemPoolFlags::POOLABLE },         // RES_CHRATR_BACKGROUND
     289             :     { SID_ATTR_CHAR_CJK_FONT, SfxItemPoolFlags::POOLABLE },      // RES_CHRATR_CJK_FONT
     290             :     { SID_ATTR_CHAR_CJK_FONTHEIGHT, SfxItemPoolFlags::POOLABLE },// RES_CHRATR_CJK_FONTSIZE
     291             :     { SID_ATTR_CHAR_CJK_LANGUAGE, SfxItemPoolFlags::POOLABLE },  // RES_CHRATR_CJK_LANGUAGE
     292             :     { SID_ATTR_CHAR_CJK_POSTURE, SfxItemPoolFlags::POOLABLE },   // RES_CHRATR_CJK_POSTURE
     293             :     { SID_ATTR_CHAR_CJK_WEIGHT, SfxItemPoolFlags::POOLABLE },    // RES_CHRATR_CJK_WEIGHT
     294             :     { SID_ATTR_CHAR_CTL_FONT, SfxItemPoolFlags::POOLABLE },      // RES_CHRATR_CTL_FONT
     295             :     { SID_ATTR_CHAR_CTL_FONTHEIGHT, SfxItemPoolFlags::POOLABLE },// RES_CHRATR_CTL_FONTSIZE
     296             :     { SID_ATTR_CHAR_CTL_LANGUAGE, SfxItemPoolFlags::POOLABLE },  // RES_CHRATR_CTL_LANGUAGE
     297             :     { SID_ATTR_CHAR_CTL_POSTURE, SfxItemPoolFlags::POOLABLE },   // RES_CHRATR_CTL_POSTURE
     298             :     { SID_ATTR_CHAR_CTL_WEIGHT, SfxItemPoolFlags::POOLABLE },    // RES_CHRATR_CTL_WEIGHT
     299             :     { SID_ATTR_CHAR_ROTATED, SfxItemPoolFlags::POOLABLE },       // RES_CHRATR_ROTATE
     300             :     { SID_ATTR_CHAR_EMPHASISMARK, SfxItemPoolFlags::POOLABLE },  // RES_CHRATR_EMPHASIS_MARK
     301             :     { SID_ATTR_CHAR_TWO_LINES, SfxItemPoolFlags::POOLABLE },     // RES_CHRATR_TWO_LINES
     302             :     { SID_ATTR_CHAR_SCALEWIDTH, SfxItemPoolFlags::POOLABLE },    // RES_CHRATR_SCALEW
     303             :     { SID_ATTR_CHAR_RELIEF, SfxItemPoolFlags::POOLABLE },        // RES_CHRATR_RELIEF
     304             :     { SID_ATTR_CHAR_HIDDEN, SfxItemPoolFlags::POOLABLE },        // RES_CHRATR_HIDDEN
     305             :     { SID_ATTR_CHAR_OVERLINE, SfxItemPoolFlags::POOLABLE },      // RES_CHRATR_OVERLINE
     306             :     { 0, SfxItemPoolFlags::POOLABLE },                           // RES_CHRATR_RSID
     307             :     { 0, SfxItemPoolFlags::POOLABLE },                           // RES_CHRATR_BOX
     308             :     { 0, SfxItemPoolFlags::POOLABLE },                           // RES_CHRATR_SHADOW
     309             :     { 0, SfxItemPoolFlags::POOLABLE },                           // RES_CHRATR_HIGHLIGHT
     310             :     { SID_ATTR_CHAR_GRABBAG, SfxItemPoolFlags::POOLABLE },       // RES_CHRATR_GRABBAG
     311             :     { 0, SfxItemPoolFlags::POOLABLE },                           // RES_CHRATR_BIDIRTL
     312             :     { 0, SfxItemPoolFlags::POOLABLE },                           // RES_CHRATR_IDCTHINT
     313             : 
     314             :     { 0, SfxItemPoolFlags::NONE },                               // RES_TXTATR_REFMARK
     315             :     { 0, SfxItemPoolFlags::NONE },                               // RES_TXTATR_TOXMARK
     316             :     { 0, SfxItemPoolFlags::NONE },                               // RES_TXTATR_META
     317             :     { 0, SfxItemPoolFlags::NONE },                               // RES_TXTATR_METAFIELD
     318             :     { 0, SfxItemPoolFlags::POOLABLE },                           // RES_TXTATR_AUTOFMT
     319             :     { FN_TXTATR_INET, SfxItemPoolFlags::NONE },                  // RES_TXTATR_INETFMT
     320             :     { 0, SfxItemPoolFlags::NONE },                               // RES_TXTATR_CHARFMT
     321             :     { SID_ATTR_CHAR_CJK_RUBY, SfxItemPoolFlags::NONE },          // RES_TXTATR_CJK_RUBY
     322             :     { 0, SfxItemPoolFlags::POOLABLE },                           // RES_TXTATR_UNKNOWN_CONTAINER
     323             :     { 0, SfxItemPoolFlags::NONE },                               // RES_TXTATR_INPUTFIELD
     324             : 
     325             :     { 0, SfxItemPoolFlags::NONE },                               // RES_TXTATR_FIELD
     326             :     { 0, SfxItemPoolFlags::NONE },                               // RES_TXTATR_FLYCNT
     327             :     { 0, SfxItemPoolFlags::NONE },                               // RES_TXTATR_FTN
     328             :     { 0, SfxItemPoolFlags::NONE },                               // RES_TXTATR_ANNOTATION
     329             :     { 0, SfxItemPoolFlags::POOLABLE },                           // RES_TXTATR_DUMMY3
     330             :     { 0, SfxItemPoolFlags::POOLABLE },                           // RES_TXTATR_DUMMY1
     331             :     { 0, SfxItemPoolFlags::POOLABLE },                           // RES_TXTATR_DUMMY2
     332             : 
     333             :     { SID_ATTR_PARA_LINESPACE, SfxItemPoolFlags::POOLABLE },     // RES_PARATR_LINESPACING
     334             :     { SID_ATTR_PARA_ADJUST, SfxItemPoolFlags::POOLABLE },        // RES_PARATR_ADJUST
     335             :     { SID_ATTR_PARA_SPLIT, SfxItemPoolFlags::POOLABLE },         // RES_PARATR_SPLIT
     336             :     { SID_ATTR_PARA_ORPHANS, SfxItemPoolFlags::POOLABLE },       // RES_PARATR_ORPHANS
     337             :     { SID_ATTR_PARA_WIDOWS, SfxItemPoolFlags::POOLABLE },        // RES_PARATR_WIDOWS
     338             :     { SID_ATTR_TABSTOP, SfxItemPoolFlags::POOLABLE },            // RES_PARATR_TABSTOP
     339             :     { SID_ATTR_PARA_HYPHENZONE, SfxItemPoolFlags::POOLABLE },    // RES_PARATR_HYPHENZONE
     340             :     { FN_FORMAT_DROPCAPS, SfxItemPoolFlags::NONE },              // RES_PARATR_DROP
     341             :     { SID_ATTR_PARA_REGISTER, SfxItemPoolFlags::POOLABLE },      // RES_PARATR_REGISTER
     342             :     { SID_ATTR_PARA_NUMRULE, SfxItemPoolFlags::POOLABLE },       // RES_PARATR_NUMRULE
     343             :     { SID_ATTR_PARA_SCRIPTSPACE, SfxItemPoolFlags::POOLABLE },   // RES_PARATR_SCRIPTSPACE
     344             :     { SID_ATTR_PARA_HANGPUNCTUATION, SfxItemPoolFlags::POOLABLE },// RES_PARATR_HANGINGPUNCTUATION
     345             : 
     346             :     { SID_ATTR_PARA_FORBIDDEN_RULES, SfxItemPoolFlags::POOLABLE },// RES_PARATR_FORBIDDEN_RULES
     347             :     { SID_PARA_VERTALIGN, SfxItemPoolFlags::POOLABLE },          // RES_PARATR_VERTALIGN
     348             :     { SID_ATTR_PARA_SNAPTOGRID, SfxItemPoolFlags::POOLABLE },    // RES_PARATR_SNAPTOGRID
     349             :     { SID_ATTR_BORDER_CONNECT, SfxItemPoolFlags::POOLABLE },     // RES_PARATR_CONNECT_BORDER
     350             : 
     351             :     { SID_ATTR_PARA_OUTLINE_LEVEL, SfxItemPoolFlags::POOLABLE }, // RES_PARATR_OUTLINELEVEL //#outline level
     352             :     { 0, SfxItemPoolFlags::POOLABLE },                           // RES_PARATR_RSID
     353             :     { 0, SfxItemPoolFlags::POOLABLE },                           // RES_PARATR_GRABBAG
     354             :     { 0, SfxItemPoolFlags::POOLABLE },                           // RES_PARATR_LIST_ID
     355             :     { 0, SfxItemPoolFlags::POOLABLE },                           // RES_PARATR_LIST_LEVEL
     356             :     { 0, SfxItemPoolFlags::POOLABLE },                           // RES_PARATR_LIST_ISRESTART
     357             :     { 0, SfxItemPoolFlags::POOLABLE },                           // RES_PARATR_LIST_RESTARTVALUE
     358             :     { 0, SfxItemPoolFlags::POOLABLE },                           // RES_PARATR_LIST_ISCOUNTED
     359             : 
     360             :     { 0, SfxItemPoolFlags::POOLABLE },                           // RES_FILL_ORDER
     361             :     { 0, SfxItemPoolFlags::POOLABLE },                           // RES_FRM_SIZE
     362             :     { SID_ATTR_PAGE_PAPERBIN, SfxItemPoolFlags::POOLABLE },      // RES_PAPER_BIN
     363             :     { SID_ATTR_LRSPACE, SfxItemPoolFlags::POOLABLE },            // RES_LR_SPACE
     364             :     { SID_ATTR_ULSPACE, SfxItemPoolFlags::POOLABLE },            // RES_UL_SPACE
     365             :     { 0, SfxItemPoolFlags::NONE },                               // RES_PAGEDESC
     366             :     { SID_ATTR_PARA_PAGEBREAK, SfxItemPoolFlags::POOLABLE },     // RES_BREAK
     367             :     { 0, SfxItemPoolFlags::NONE },                               // RES_CNTNT
     368             :     { 0, SfxItemPoolFlags::POOLABLE },                           // RES_HEADER
     369             :     { 0, SfxItemPoolFlags::POOLABLE },                           // RES_FOOTER
     370             :     { 0, SfxItemPoolFlags::POOLABLE },                           // RES_PRINT
     371             :     { FN_OPAQUE, SfxItemPoolFlags::POOLABLE },                   // RES_OPAQUE
     372             :     { FN_SET_PROTECT, SfxItemPoolFlags::POOLABLE },              // RES_PROTECT
     373             :     { FN_SURROUND, SfxItemPoolFlags::POOLABLE },                 // RES_SURROUND
     374             :     { FN_VERT_ORIENT, SfxItemPoolFlags::POOLABLE },              // RES_VERT_ORIENT
     375             :     { FN_HORI_ORIENT, SfxItemPoolFlags::POOLABLE },              // RES_HORI_ORIENT
     376             :     { 0, SfxItemPoolFlags::NONE },                               // RES_ANCHOR
     377             :     { SID_ATTR_BRUSH, SfxItemPoolFlags::POOLABLE },              // RES_BACKGROUND
     378             :     { SID_ATTR_BORDER_OUTER, SfxItemPoolFlags::POOLABLE },       // RES_BOX
     379             :     { SID_ATTR_BORDER_SHADOW, SfxItemPoolFlags::POOLABLE },      // RES_SHADOW
     380             :     { SID_ATTR_MACROITEM, SfxItemPoolFlags::POOLABLE },          // RES_FRMMACRO
     381             :     { FN_ATTR_COLUMNS, SfxItemPoolFlags::POOLABLE },             // RES_COL
     382             :     { SID_ATTR_PARA_KEEP, SfxItemPoolFlags::POOLABLE },          // RES_KEEP
     383             :     { 0, SfxItemPoolFlags::POOLABLE },                           // RES_URL
     384             :     { 0, SfxItemPoolFlags::POOLABLE },                           // RES_EDIT_IN_READONLY
     385             : 
     386             :     { 0, SfxItemPoolFlags::POOLABLE },                           // RES_LAYOUT_SPLIT
     387             :     { 0, SfxItemPoolFlags::NONE },                               // RES_CHAIN
     388             :     { 0, SfxItemPoolFlags::POOLABLE },                           // RES_TEXTGRID
     389             :     { FN_FORMAT_LINENUMBER, SfxItemPoolFlags::POOLABLE },        // RES_LINENUMBER
     390             :     { 0, SfxItemPoolFlags::POOLABLE },                           // RES_FTN_AT_TXTEND
     391             :     { 0, SfxItemPoolFlags::POOLABLE },                           // RES_END_AT_TXTEND
     392             :     { 0, SfxItemPoolFlags::POOLABLE },                           // RES_COLUMNBALANCE
     393             : 
     394             :     { SID_ATTR_FRAMEDIRECTION, SfxItemPoolFlags::POOLABLE },     // RES_FRAMEDIR
     395             : 
     396             :     { SID_ATTR_HDFT_DYNAMIC_SPACING, SfxItemPoolFlags::POOLABLE },// RES_HEADER_FOOTER_EAT_SPACING
     397             :     { FN_TABLE_ROW_SPLIT, SfxItemPoolFlags::POOLABLE },          // RES_ROW_SPLIT
     398             :     // #i18732# - use slot-id define in svx
     399             :     { SID_SW_FOLLOW_TEXT_FLOW, SfxItemPoolFlags::POOLABLE },     // RES_FOLLOW_TEXT_FLOW
     400             :     // #i29550#
     401             :     { SID_SW_COLLAPSING_BORDERS, SfxItemPoolFlags::POOLABLE },   // RES_COLLAPSING_BORDERS
     402             :     // #i28701#
     403             :     { SID_SW_WRAP_INFLUENCE_ON_OBJPOS, SfxItemPoolFlags::POOLABLE },// RES_WRAP_INFLUENCE_ON_OBJPOS
     404             :     { 0, SfxItemPoolFlags::NONE },                               // RES_AUTO_STYLE
     405             :     { 0, SfxItemPoolFlags::POOLABLE },                           // RES_FRMATR_STYLE_NAME
     406             :     { 0, SfxItemPoolFlags::POOLABLE },                           // RES_FRMATR_CONDITIONAL_STYLE_NAME
     407             :     { 0, SfxItemPoolFlags::POOLABLE },                           // RES_FRMATR_GRABBAG
     408             :     { 0, SfxItemPoolFlags::POOLABLE },                           // RES_TEXT_VERT_ADJUST
     409             : 
     410             :     { 0, SfxItemPoolFlags::POOLABLE },                           // RES_GRFATR_MIRRORGRF
     411             :     { SID_ATTR_GRAF_CROP, SfxItemPoolFlags::POOLABLE },          // RES_GRFATR_CROPGRF
     412             :     { 0, SfxItemPoolFlags::POOLABLE },                           // RES_GRFATR_ROTATION,
     413             :     { 0, SfxItemPoolFlags::POOLABLE },                           // RES_GRFATR_LUMINANCE,
     414             :     { 0, SfxItemPoolFlags::POOLABLE },                           // RES_GRFATR_CONTRAST,
     415             :     { 0, SfxItemPoolFlags::POOLABLE },                           // RES_GRFATR_CHANNELR,
     416             :     { 0, SfxItemPoolFlags::POOLABLE },                           // RES_GRFATR_CHANNELG,
     417             :     { 0, SfxItemPoolFlags::POOLABLE },                           // RES_GRFATR_CHANNELB,
     418             :     { 0, SfxItemPoolFlags::POOLABLE },                           // RES_GRFATR_GAMMA,
     419             :     { 0, SfxItemPoolFlags::POOLABLE },                           // RES_GRFATR_INVERT,
     420             :     { 0, SfxItemPoolFlags::POOLABLE },                           // RES_GRFATR_TRANSPARENCY,
     421             :     { 0, SfxItemPoolFlags::POOLABLE },                           // RES_GRFATR_DUMMY1,
     422             :     { 0, SfxItemPoolFlags::POOLABLE },                           // RES_GRFATR_DUMMY2,
     423             :     { 0, SfxItemPoolFlags::POOLABLE },                           // RES_GRFATR_DUMMY3,
     424             :     { 0, SfxItemPoolFlags::POOLABLE },                           // RES_GRFATR_DUMMY4,
     425             :     { 0, SfxItemPoolFlags::POOLABLE },                           // RES_GRFATR_DUMMY5,
     426             :     { 0, SfxItemPoolFlags::POOLABLE },                           // RES_GRFATR_DUMMY6,
     427             : 
     428             :     { 0, SfxItemPoolFlags::POOLABLE },                           // RES_BOXATR_FORMAT
     429             :     { 0, SfxItemPoolFlags::NONE },                               // RES_BOXATR_FORMULA,
     430             :     { 0, SfxItemPoolFlags::POOLABLE },                           // RES_BOXATR_VALUE
     431             : 
     432             :     { 0, SfxItemPoolFlags::POOLABLE }                            // RES_UNKNOWNATR_CONTAINER
     433             : };
     434             : 
     435             : sal_uInt16* SwAttrPool::pVersionMap1 = 0;
     436             : sal_uInt16* SwAttrPool::pVersionMap2 = 0;
     437             : sal_uInt16* SwAttrPool::pVersionMap3 = 0;
     438             : sal_uInt16* SwAttrPool::pVersionMap4 = 0;
     439             : // #i18732#
     440             : sal_uInt16* SwAttrPool::pVersionMap5 = 0;
     441             : sal_uInt16* SwAttrPool::pVersionMap6 = 0;
     442             : sal_uInt16* SwAttrPool::pVersionMap7 = 0;
     443             : 
     444             : std::vector<SvGlobalName*> *pGlobalOLEExcludeList = 0;
     445             : 
     446             : SwAutoCompleteWord* SwDoc::mpACmpltWords = 0;
     447             : 
     448             : SwCheckIt* pCheckIt = 0;
     449             : CharClass* pAppCharClass = 0;
     450             : 
     451             : CollatorWrapper* pCollator = 0,
     452             :                 *pCaseCollator = 0;
     453             : 
     454           0 : salhelper::SingletonRef<SwCalendarWrapper>* s_getCalendarWrapper()
     455             : {
     456           0 :     static salhelper::SingletonRef<SwCalendarWrapper> aCalendarWrapper;
     457           0 :     return &aCalendarWrapper;
     458             : }
     459             : 
     460          59 : void _InitCore()
     461             : {
     462             :     SfxPoolItem* pItem;
     463             : 
     464             :     // first initialize all attribute pointers with 0
     465          59 :     memset( aAttrTab, 0, (POOLATTR_END - POOLATTR_BEGIN) * sizeof( SfxPoolItem* ) );
     466             : 
     467          59 :     aAttrTab[ RES_CHRATR_CASEMAP- POOLATTR_BEGIN ] =        new SvxCaseMapItem( SVX_CASEMAP_NOT_MAPPED, RES_CHRATR_CASEMAP);
     468          59 :     aAttrTab[ RES_CHRATR_CHARSETCOLOR- POOLATTR_BEGIN ] =   new SvxCharSetColorItem(RES_CHRATR_CHARSETCOLOR);
     469          59 :     aAttrTab[ RES_CHRATR_COLOR- POOLATTR_BEGIN ] =          new SvxColorItem(RES_CHRATR_COLOR);
     470          59 :     aAttrTab[ RES_CHRATR_CONTOUR- POOLATTR_BEGIN ] =        new SvxContourItem( false, RES_CHRATR_CONTOUR );
     471          59 :     aAttrTab[ RES_CHRATR_CROSSEDOUT- POOLATTR_BEGIN ] =     new SvxCrossedOutItem( STRIKEOUT_NONE, RES_CHRATR_CROSSEDOUT );
     472          59 :     aAttrTab[ RES_CHRATR_ESCAPEMENT- POOLATTR_BEGIN ] =     new SvxEscapementItem( RES_CHRATR_ESCAPEMENT );
     473          59 :     aAttrTab[ RES_CHRATR_FONT- POOLATTR_BEGIN ] =           new SvxFontItem( RES_CHRATR_FONT );
     474             : 
     475          59 :     aAttrTab[ RES_CHRATR_FONTSIZE- POOLATTR_BEGIN ] =       new SvxFontHeightItem( 240, 100, RES_CHRATR_FONTSIZE );
     476          59 :     aAttrTab[ RES_CHRATR_KERNING- POOLATTR_BEGIN ] =        new SvxKerningItem( 0, RES_CHRATR_KERNING );
     477          59 :     aAttrTab[ RES_CHRATR_LANGUAGE- POOLATTR_BEGIN ] =       new SvxLanguageItem(LANGUAGE_DONTKNOW, RES_CHRATR_LANGUAGE );
     478          59 :     aAttrTab[ RES_CHRATR_POSTURE- POOLATTR_BEGIN ] =        new SvxPostureItem( ITALIC_NONE, RES_CHRATR_POSTURE );
     479          59 :     aAttrTab[ RES_CHRATR_PROPORTIONALFONTSIZE- POOLATTR_BEGIN ] = new SvxPropSizeItem( 100, RES_CHRATR_PROPORTIONALFONTSIZE );
     480          59 :     aAttrTab[ RES_CHRATR_SHADOWED- POOLATTR_BEGIN ] =       new SvxShadowedItem( false, RES_CHRATR_SHADOWED );
     481          59 :     aAttrTab[ RES_CHRATR_UNDERLINE- POOLATTR_BEGIN ] =      new SvxUnderlineItem( UNDERLINE_NONE, RES_CHRATR_UNDERLINE );
     482          59 :     aAttrTab[ RES_CHRATR_WEIGHT- POOLATTR_BEGIN ] =         new SvxWeightItem( WEIGHT_NORMAL, RES_CHRATR_WEIGHT );
     483          59 :     aAttrTab[ RES_CHRATR_RSID - POOLATTR_BEGIN ] =          new SvxRsidItem( 0, RES_CHRATR_RSID );
     484          59 :     aAttrTab[ RES_CHRATR_WORDLINEMODE- POOLATTR_BEGIN ] =   new SvxWordLineModeItem( false, RES_CHRATR_WORDLINEMODE );
     485          59 :     aAttrTab[ RES_CHRATR_AUTOKERN- POOLATTR_BEGIN ] =       new SvxAutoKernItem( false, RES_CHRATR_AUTOKERN );
     486          59 :     aAttrTab[ RES_CHRATR_BLINK - POOLATTR_BEGIN ] =         new SvxBlinkItem( false, RES_CHRATR_BLINK );
     487          59 :     aAttrTab[ RES_CHRATR_NOHYPHEN - POOLATTR_BEGIN ] =      new SvxNoHyphenItem( true, RES_CHRATR_NOHYPHEN );
     488          59 :     aAttrTab[ RES_CHRATR_NOLINEBREAK- POOLATTR_BEGIN ] =    new SvxNoLinebreakItem( true, RES_CHRATR_NOLINEBREAK );
     489          59 :     aAttrTab[ RES_CHRATR_BACKGROUND - POOLATTR_BEGIN ] =    new SvxBrushItem( RES_CHRATR_BACKGROUND );
     490             : 
     491             :     // CJK-Attributes
     492          59 :     aAttrTab[ RES_CHRATR_CJK_FONT - POOLATTR_BEGIN ] =      new SvxFontItem( RES_CHRATR_CJK_FONT );
     493          59 :     aAttrTab[ RES_CHRATR_CJK_FONTSIZE - POOLATTR_BEGIN ] =  new SvxFontHeightItem( 240, 100, RES_CHRATR_CJK_FONTSIZE );
     494          59 :     aAttrTab[ RES_CHRATR_CJK_LANGUAGE - POOLATTR_BEGIN ] =  new SvxLanguageItem(LANGUAGE_DONTKNOW, RES_CHRATR_CJK_LANGUAGE);
     495          59 :     aAttrTab[ RES_CHRATR_CJK_POSTURE - POOLATTR_BEGIN ] =   new SvxPostureItem(ITALIC_NONE, RES_CHRATR_CJK_POSTURE );
     496          59 :     aAttrTab[ RES_CHRATR_CJK_WEIGHT - POOLATTR_BEGIN ] =    new SvxWeightItem( WEIGHT_NORMAL, RES_CHRATR_CJK_WEIGHT );
     497             : 
     498             :     // CTL-Attributes
     499          59 :     aAttrTab[ RES_CHRATR_CTL_FONT - POOLATTR_BEGIN ] =      new SvxFontItem( RES_CHRATR_CTL_FONT );
     500          59 :     aAttrTab[ RES_CHRATR_CTL_FONTSIZE - POOLATTR_BEGIN ] =  new SvxFontHeightItem(  240, 100,  RES_CHRATR_CTL_FONTSIZE );
     501          59 :     aAttrTab[ RES_CHRATR_CTL_LANGUAGE - POOLATTR_BEGIN ] =  new SvxLanguageItem(LANGUAGE_DONTKNOW, RES_CHRATR_CTL_LANGUAGE);
     502          59 :     aAttrTab[ RES_CHRATR_CTL_POSTURE - POOLATTR_BEGIN ] =   new SvxPostureItem(ITALIC_NONE, RES_CHRATR_CTL_POSTURE );
     503          59 :     aAttrTab[ RES_CHRATR_CTL_WEIGHT - POOLATTR_BEGIN ] =    new SvxWeightItem( WEIGHT_NORMAL, RES_CHRATR_CTL_WEIGHT );
     504             : 
     505          59 :     aAttrTab[ RES_CHRATR_ROTATE - POOLATTR_BEGIN ] =        new SvxCharRotateItem( 0, false, RES_CHRATR_ROTATE );
     506          59 :     aAttrTab[ RES_CHRATR_EMPHASIS_MARK - POOLATTR_BEGIN ] = new SvxEmphasisMarkItem( EMPHASISMARK_NONE, RES_CHRATR_EMPHASIS_MARK );
     507          59 :     aAttrTab[ RES_CHRATR_TWO_LINES - POOLATTR_BEGIN ] =     new SvxTwoLinesItem( false, 0, 0, RES_CHRATR_TWO_LINES );
     508          59 :     aAttrTab[ RES_CHRATR_SCALEW - POOLATTR_BEGIN ] =        new SvxCharScaleWidthItem( 100, RES_CHRATR_SCALEW );
     509          59 :     aAttrTab[ RES_CHRATR_RELIEF - POOLATTR_BEGIN ] =        new SvxCharReliefItem( RELIEF_NONE, RES_CHRATR_RELIEF );
     510          59 :     aAttrTab[ RES_CHRATR_HIDDEN - POOLATTR_BEGIN ] =        new SvxCharHiddenItem( false, RES_CHRATR_HIDDEN );
     511          59 :     aAttrTab[ RES_CHRATR_OVERLINE- POOLATTR_BEGIN ] =       new SvxOverlineItem( UNDERLINE_NONE, RES_CHRATR_OVERLINE );
     512          59 :     aAttrTab[ RES_CHRATR_BOX - POOLATTR_BEGIN ] =           new SvxBoxItem( RES_CHRATR_BOX );
     513          59 :     aAttrTab[ RES_CHRATR_SHADOW - POOLATTR_BEGIN ] =        new SvxShadowItem( RES_CHRATR_SHADOW );
     514          59 :     aAttrTab[ RES_CHRATR_HIGHLIGHT - POOLATTR_BEGIN ] =     new SvxBrushItem( RES_CHRATR_HIGHLIGHT );
     515          59 :     aAttrTab[ RES_CHRATR_GRABBAG - POOLATTR_BEGIN ] =       new SfxGrabBagItem( RES_CHRATR_GRABBAG );
     516             : 
     517             : // CharakterAttr - MSWord weak char direction/script override emulation
     518          59 :     aAttrTab[ RES_CHRATR_BIDIRTL - POOLATTR_BEGIN ] = new SfxInt16Item( RES_CHRATR_BIDIRTL, sal_Int16(-1) );
     519          59 :     aAttrTab[ RES_CHRATR_IDCTHINT - POOLATTR_BEGIN ] = new SfxInt16Item( RES_CHRATR_IDCTHINT, sal_Int16(-1) );
     520             : 
     521          59 :     aAttrTab[ RES_TXTATR_REFMARK - POOLATTR_BEGIN ] =       new SwFormatRefMark( OUString() );
     522          59 :     aAttrTab[ RES_TXTATR_TOXMARK - POOLATTR_BEGIN ] =       new SwTOXMark;
     523          59 :     aAttrTab[ RES_TXTATR_META - POOLATTR_BEGIN ] =          SwFormatMeta::CreatePoolDefault(RES_TXTATR_META);
     524          59 :     aAttrTab[ RES_TXTATR_METAFIELD - POOLATTR_BEGIN ] =     SwFormatMeta::CreatePoolDefault(RES_TXTATR_METAFIELD);
     525          59 :     aAttrTab[ RES_TXTATR_AUTOFMT- POOLATTR_BEGIN ] =        new SwFormatAutoFormat;
     526          59 :     aAttrTab[ RES_TXTATR_INETFMT - POOLATTR_BEGIN ] =       new SwFormatINetFormat( OUString(), OUString() );
     527          59 :     aAttrTab[ RES_TXTATR_CHARFMT- POOLATTR_BEGIN ] =        new SwFormatCharFormat( 0 );
     528          59 :     aAttrTab[ RES_TXTATR_CJK_RUBY - POOLATTR_BEGIN ] =      new SwFormatRuby( OUString() );
     529          59 :     aAttrTab[ RES_TXTATR_UNKNOWN_CONTAINER - POOLATTR_BEGIN ] = new SvXMLAttrContainerItem( RES_TXTATR_UNKNOWN_CONTAINER );
     530          59 :     aAttrTab[ RES_TXTATR_INPUTFIELD - POOLATTR_BEGIN ] = new SwFormatField( RES_TXTATR_INPUTFIELD );
     531             : 
     532          59 :     aAttrTab[ RES_TXTATR_FIELD- POOLATTR_BEGIN ] =          new SwFormatField( RES_TXTATR_FIELD );
     533          59 :     aAttrTab[ RES_TXTATR_FLYCNT - POOLATTR_BEGIN ] =        new SwFormatFlyCnt( 0 );
     534          59 :     aAttrTab[ RES_TXTATR_FTN - POOLATTR_BEGIN ] =           new SwFormatFootnote;
     535          59 :     aAttrTab[ RES_TXTATR_ANNOTATION - POOLATTR_BEGIN ] = new SwFormatField( RES_TXTATR_ANNOTATION );
     536             : 
     537             : // TextAttr - Dummies
     538          59 :     aAttrTab[ RES_TXTATR_DUMMY1 - POOLATTR_BEGIN ] =        new SfxBoolItem( RES_TXTATR_DUMMY1 );
     539          59 :     aAttrTab[ RES_TXTATR_DUMMY2 - POOLATTR_BEGIN ] =        new SfxBoolItem( RES_TXTATR_DUMMY2 );
     540          59 :     aAttrTab[ RES_TXTATR_DUMMY3 - POOLATTR_BEGIN ] =        new SfxBoolItem( RES_TXTATR_DUMMY3 );
     541             : 
     542          59 :     aAttrTab[ RES_PARATR_LINESPACING- POOLATTR_BEGIN ] =    new SvxLineSpacingItem( LINE_SPACE_DEFAULT_HEIGHT, RES_PARATR_LINESPACING );
     543          59 :     aAttrTab[ RES_PARATR_ADJUST- POOLATTR_BEGIN ] =         new SvxAdjustItem( SVX_ADJUST_LEFT, RES_PARATR_ADJUST );
     544          59 :     aAttrTab[ RES_PARATR_SPLIT- POOLATTR_BEGIN ] =          new SvxFormatSplitItem( true, RES_PARATR_SPLIT );
     545          59 :     aAttrTab[ RES_PARATR_WIDOWS- POOLATTR_BEGIN ] =         new SvxWidowsItem( 0, RES_PARATR_WIDOWS );
     546          59 :     aAttrTab[ RES_PARATR_ORPHANS- POOLATTR_BEGIN ] =        new SvxOrphansItem( 0, RES_PARATR_ORPHANS );
     547          59 :     aAttrTab[ RES_PARATR_TABSTOP- POOLATTR_BEGIN ] =        new SvxTabStopItem( 1, SVX_TAB_DEFDIST, SVX_TAB_ADJUST_DEFAULT, RES_PARATR_TABSTOP );
     548             : 
     549          59 :     pItem = new SvxHyphenZoneItem( false, RES_PARATR_HYPHENZONE );
     550          59 :     static_cast<SvxHyphenZoneItem*>(pItem)->GetMaxHyphens() = 0; // Default: 0
     551          59 :     aAttrTab[ RES_PARATR_HYPHENZONE- POOLATTR_BEGIN ] =     pItem;
     552             : 
     553          59 :     aAttrTab[ RES_PARATR_DROP- POOLATTR_BEGIN ] =           new SwFormatDrop;
     554          59 :     aAttrTab[ RES_PARATR_REGISTER - POOLATTR_BEGIN ] =      new SwRegisterItem( false );
     555          59 :     aAttrTab[ RES_PARATR_NUMRULE - POOLATTR_BEGIN ] =       new SwNumRuleItem( OUString() );
     556             : 
     557          59 :     aAttrTab[ RES_PARATR_SCRIPTSPACE - POOLATTR_BEGIN ] =   new SvxScriptSpaceItem( true, RES_PARATR_SCRIPTSPACE );
     558          59 :     aAttrTab[ RES_PARATR_HANGINGPUNCTUATION - POOLATTR_BEGIN ] = new SvxHangingPunctuationItem( true, RES_PARATR_HANGINGPUNCTUATION );
     559          59 :     aAttrTab[ RES_PARATR_FORBIDDEN_RULES - POOLATTR_BEGIN ] = new SvxForbiddenRuleItem( true, RES_PARATR_FORBIDDEN_RULES );
     560          59 :     aAttrTab[ RES_PARATR_VERTALIGN - POOLATTR_BEGIN ] =     new SvxParaVertAlignItem( 0, RES_PARATR_VERTALIGN );
     561          59 :     aAttrTab[ RES_PARATR_SNAPTOGRID - POOLATTR_BEGIN ] =    new SvxParaGridItem( true, RES_PARATR_SNAPTOGRID );
     562          59 :     aAttrTab[ RES_PARATR_CONNECT_BORDER - POOLATTR_BEGIN ] = new SwParaConnectBorderItem;
     563             : 
     564          59 :     aAttrTab[ RES_PARATR_OUTLINELEVEL - POOLATTR_BEGIN ] =  new SfxUInt16Item( RES_PARATR_OUTLINELEVEL, 0 );
     565          59 :     aAttrTab[ RES_PARATR_RSID - POOLATTR_BEGIN ] =          new SvxRsidItem( 0, RES_PARATR_RSID );
     566          59 :     aAttrTab[ RES_PARATR_GRABBAG - POOLATTR_BEGIN ] =       new SfxGrabBagItem( RES_PARATR_GRABBAG );
     567             : 
     568          59 :     aAttrTab[ RES_PARATR_LIST_ID - POOLATTR_BEGIN ] =       new SfxStringItem( RES_PARATR_LIST_ID, OUString() );
     569          59 :     aAttrTab[ RES_PARATR_LIST_LEVEL - POOLATTR_BEGIN ] =    new SfxInt16Item( RES_PARATR_LIST_LEVEL, 0 );
     570          59 :     aAttrTab[ RES_PARATR_LIST_ISRESTART - POOLATTR_BEGIN ] = new SfxBoolItem( RES_PARATR_LIST_ISRESTART, false );
     571          59 :     aAttrTab[ RES_PARATR_LIST_RESTARTVALUE - POOLATTR_BEGIN ] = new SfxInt16Item( RES_PARATR_LIST_RESTARTVALUE, 1 );
     572          59 :     aAttrTab[ RES_PARATR_LIST_ISCOUNTED - POOLATTR_BEGIN ] = new SfxBoolItem( RES_PARATR_LIST_ISCOUNTED, true );
     573             : 
     574          59 :     aAttrTab[ RES_FILL_ORDER- POOLATTR_BEGIN ] =            new SwFormatFillOrder;
     575          59 :     aAttrTab[ RES_FRM_SIZE- POOLATTR_BEGIN ] =              new SwFormatFrmSize;
     576          59 :     aAttrTab[ RES_PAPER_BIN- POOLATTR_BEGIN ] =             new SvxPaperBinItem( RES_PAPER_BIN );
     577          59 :     aAttrTab[ RES_LR_SPACE- POOLATTR_BEGIN ] =              new SvxLRSpaceItem( RES_LR_SPACE );
     578          59 :     aAttrTab[ RES_UL_SPACE- POOLATTR_BEGIN ] =              new SvxULSpaceItem( RES_UL_SPACE );
     579          59 :     aAttrTab[ RES_PAGEDESC- POOLATTR_BEGIN ] =              new SwFormatPageDesc;
     580          59 :     aAttrTab[ RES_BREAK- POOLATTR_BEGIN ] =                 new SvxFormatBreakItem( SVX_BREAK_NONE, RES_BREAK);
     581          59 :     aAttrTab[ RES_CNTNT- POOLATTR_BEGIN ] =                 new SwFormatContent;
     582          59 :     aAttrTab[ RES_HEADER- POOLATTR_BEGIN ] =                new SwFormatHeader;
     583          59 :     aAttrTab[ RES_FOOTER- POOLATTR_BEGIN ] =                new SwFormatFooter;
     584          59 :     aAttrTab[ RES_PRINT- POOLATTR_BEGIN ] =                 new SvxPrintItem( RES_PRINT );
     585          59 :     aAttrTab[ RES_OPAQUE- POOLATTR_BEGIN ] =                new SvxOpaqueItem( RES_OPAQUE );
     586          59 :     aAttrTab[ RES_PROTECT- POOLATTR_BEGIN ] =               new SvxProtectItem( RES_PROTECT );
     587          59 :     aAttrTab[ RES_SURROUND- POOLATTR_BEGIN ] =              new SwFormatSurround;
     588          59 :     aAttrTab[ RES_VERT_ORIENT- POOLATTR_BEGIN ] =           new SwFormatVertOrient;
     589          59 :     aAttrTab[ RES_HORI_ORIENT- POOLATTR_BEGIN ] =           new SwFormatHoriOrient;
     590          59 :     aAttrTab[ RES_ANCHOR- POOLATTR_BEGIN ] =                new SwFormatAnchor;
     591          59 :     aAttrTab[ RES_BACKGROUND- POOLATTR_BEGIN ] =            new SvxBrushItem( RES_BACKGROUND );
     592          59 :     aAttrTab[ RES_BOX- POOLATTR_BEGIN ] =                   new SvxBoxItem( RES_BOX );
     593          59 :     aAttrTab[ RES_SHADOW- POOLATTR_BEGIN ] =                new SvxShadowItem( RES_SHADOW );
     594          59 :     aAttrTab[ RES_FRMMACRO- POOLATTR_BEGIN ] =              new SvxMacroItem( RES_FRMMACRO );
     595          59 :     aAttrTab[ RES_COL- POOLATTR_BEGIN ] =                   new SwFormatCol;
     596          59 :     aAttrTab[ RES_KEEP - POOLATTR_BEGIN ] =                 new SvxFormatKeepItem( false, RES_KEEP );
     597          59 :     aAttrTab[ RES_URL - POOLATTR_BEGIN ] =                  new SwFormatURL();
     598          59 :     aAttrTab[ RES_EDIT_IN_READONLY - POOLATTR_BEGIN ] =     new SwFormatEditInReadonly;
     599          59 :     aAttrTab[ RES_LAYOUT_SPLIT - POOLATTR_BEGIN ] =         new SwFormatLayoutSplit;
     600          59 :     aAttrTab[ RES_CHAIN - POOLATTR_BEGIN ] =                new SwFormatChain;
     601          59 :     aAttrTab[ RES_TEXTGRID - POOLATTR_BEGIN ] =             new SwTextGridItem;
     602          59 :     aAttrTab[ RES_HEADER_FOOTER_EAT_SPACING - POOLATTR_BEGIN ] = new SwHeaderAndFooterEatSpacingItem;
     603          59 :     aAttrTab[ RES_LINENUMBER - POOLATTR_BEGIN ] =           new SwFormatLineNumber;
     604          59 :     aAttrTab[ RES_FTN_AT_TXTEND - POOLATTR_BEGIN ] =        new SwFormatFootnoteAtTextEnd;
     605          59 :     aAttrTab[ RES_END_AT_TXTEND - POOLATTR_BEGIN ] =        new SwFormatEndAtTextEnd;
     606          59 :     aAttrTab[ RES_COLUMNBALANCE - POOLATTR_BEGIN ] =        new SwFormatNoBalancedColumns;
     607          59 :     aAttrTab[ RES_FRAMEDIR - POOLATTR_BEGIN ] =             new SvxFrameDirectionItem( FRMDIR_ENVIRONMENT, RES_FRAMEDIR );
     608          59 :     aAttrTab[ RES_ROW_SPLIT - POOLATTR_BEGIN ] =            new SwFormatRowSplit;
     609             : 
     610             :     // #i18732#
     611          59 :     aAttrTab[ RES_FOLLOW_TEXT_FLOW - POOLATTR_BEGIN ] =     new SwFormatFollowTextFlow(false);
     612             :     // collapsing borders #i29550#
     613          59 :     aAttrTab[ RES_COLLAPSING_BORDERS - POOLATTR_BEGIN ] =   new SfxBoolItem( RES_COLLAPSING_BORDERS, false );
     614             :     // #i28701#
     615             :     // #i35017# - constant name has changed
     616          59 :     aAttrTab[ RES_WRAP_INFLUENCE_ON_OBJPOS - POOLATTR_BEGIN ] = new SwFormatWrapInfluenceOnObjPos( text::WrapInfluenceOnPosition::ONCE_CONCURRENT );
     617             : 
     618          59 :     aAttrTab[ RES_AUTO_STYLE - POOLATTR_BEGIN ] =           new SwFormatAutoFormat( RES_AUTO_STYLE );
     619          59 :     aAttrTab[ RES_FRMATR_STYLE_NAME - POOLATTR_BEGIN ] =    new SfxStringItem( RES_FRMATR_STYLE_NAME, OUString());
     620          59 :     aAttrTab[ RES_FRMATR_CONDITIONAL_STYLE_NAME - POOLATTR_BEGIN ] = new SfxStringItem( RES_FRMATR_CONDITIONAL_STYLE_NAME, OUString() );
     621          59 :     aAttrTab[ RES_FRMATR_GRABBAG - POOLATTR_BEGIN ] = new SfxGrabBagItem(RES_FRMATR_GRABBAG);
     622          59 :     aAttrTab[ RES_TEXT_VERT_ADJUST - POOLATTR_BEGIN ] = new SdrTextVertAdjustItem(SDRTEXTVERTADJUST_TOP,RES_TEXT_VERT_ADJUST);
     623             : 
     624          59 :     aAttrTab[ RES_GRFATR_MIRRORGRF- POOLATTR_BEGIN ] =      new SwMirrorGrf;
     625          59 :     aAttrTab[ RES_GRFATR_CROPGRF- POOLATTR_BEGIN ] =        new SwCropGrf;
     626          59 :     aAttrTab[ RES_GRFATR_ROTATION - POOLATTR_BEGIN ] =      new SwRotationGrf;
     627          59 :     aAttrTab[ RES_GRFATR_LUMINANCE - POOLATTR_BEGIN ] =     new SwLuminanceGrf;
     628          59 :     aAttrTab[ RES_GRFATR_CONTRAST - POOLATTR_BEGIN ] =      new SwContrastGrf;
     629          59 :     aAttrTab[ RES_GRFATR_CHANNELR - POOLATTR_BEGIN ] =      new SwChannelRGrf;
     630          59 :     aAttrTab[ RES_GRFATR_CHANNELG - POOLATTR_BEGIN ] =      new SwChannelGGrf;
     631          59 :     aAttrTab[ RES_GRFATR_CHANNELB - POOLATTR_BEGIN ] =      new SwChannelBGrf;
     632          59 :     aAttrTab[ RES_GRFATR_GAMMA - POOLATTR_BEGIN ] =         new SwGammaGrf;
     633          59 :     aAttrTab[ RES_GRFATR_INVERT - POOLATTR_BEGIN ] =        new SwInvertGrf;
     634          59 :     aAttrTab[ RES_GRFATR_TRANSPARENCY - POOLATTR_BEGIN ] =  new SwTransparencyGrf;
     635          59 :     aAttrTab[ RES_GRFATR_DRAWMODE - POOLATTR_BEGIN ] =      new SwDrawModeGrf;
     636             : 
     637             : // GraphicAttr - Dummies
     638          59 :     aAttrTab[ RES_GRFATR_DUMMY1 - POOLATTR_BEGIN ] =        new SfxBoolItem( RES_GRFATR_DUMMY1 );
     639          59 :     aAttrTab[ RES_GRFATR_DUMMY2 - POOLATTR_BEGIN ] =        new SfxBoolItem( RES_GRFATR_DUMMY2 );
     640          59 :     aAttrTab[ RES_GRFATR_DUMMY3 - POOLATTR_BEGIN ] =        new SfxBoolItem( RES_GRFATR_DUMMY3 );
     641          59 :     aAttrTab[ RES_GRFATR_DUMMY4 - POOLATTR_BEGIN ] =        new SfxBoolItem( RES_GRFATR_DUMMY4 );
     642          59 :     aAttrTab[ RES_GRFATR_DUMMY5 - POOLATTR_BEGIN ] =        new SfxBoolItem( RES_GRFATR_DUMMY5 );
     643             : 
     644          59 :     aAttrTab[ RES_BOXATR_FORMAT- POOLATTR_BEGIN ] =         new SwTableBoxNumFormat;
     645          59 :     aAttrTab[ RES_BOXATR_FORMULA- POOLATTR_BEGIN ] =        new SwTableBoxFormula( OUString() );
     646          59 :     aAttrTab[ RES_BOXATR_VALUE- POOLATTR_BEGIN ] =          new SwTableBoxValue;
     647             : 
     648             :     aAttrTab[ RES_UNKNOWNATR_CONTAINER- POOLATTR_BEGIN ] =
     649          59 :                 new SvXMLAttrContainerItem( RES_UNKNOWNATR_CONTAINER );
     650             : 
     651             :     // get the correct fonts:
     652          59 :     ::GetDefaultFonts( *static_cast<SvxFontItem*>(aAttrTab[ RES_CHRATR_FONT- POOLATTR_BEGIN ]),
     653          59 :                        *static_cast<SvxFontItem*>(aAttrTab[ RES_CHRATR_CJK_FONT - POOLATTR_BEGIN ]),
     654         118 :                        *static_cast<SvxFontItem*>(aAttrTab[ RES_CHRATR_CTL_FONT - POOLATTR_BEGIN ]) );
     655             : 
     656             :     // 1. version - new attributes:
     657             :     //      - RES_CHRATR_BLINK
     658             :     //      - RES_CHRATR_NOHYPHEN
     659             :     //      - RES_CHRATR_NOLINEBREAK
     660             :     //      - RES_PARATR_REGISTER
     661             :     //      + 2 dummies for the "ranges"
     662          59 :     SwAttrPool::pVersionMap1 = new sal_uInt16[ 60 ];
     663             :     sal_uInt16 i;
     664        1062 :     for( i = 1; i <= 17; i++ )
     665        1003 :         SwAttrPool::pVersionMap1[ i-1 ] = i;
     666         649 :     for ( i = 18; i <= 27; ++i )
     667         590 :         SwAttrPool::pVersionMap1[ i-1 ] = i + 5;
     668         531 :     for ( i = 28; i <= 35; ++i )
     669         472 :         SwAttrPool::pVersionMap1[ i-1 ] = i + 7;
     670        1416 :     for ( i = 36; i <= 58; ++i )
     671        1357 :         SwAttrPool::pVersionMap1[ i-1 ] = i + 10;
     672         177 :     for ( i = 59; i <= 60; ++i )
     673         118 :         SwAttrPool::pVersionMap1[ i-1 ] = i + 12;
     674             : 
     675             :     // 2. version - new attributes:
     676             :     //      10 dummies for the frame "range"
     677          59 :     SwAttrPool::pVersionMap2 = new sal_uInt16[ 75 ];
     678        4189 :     for( i = 1; i <= 70; i++ )
     679        4130 :         SwAttrPool::pVersionMap2[ i-1 ] = i;
     680         354 :     for ( i = 71; i <= 75; ++i )
     681         295 :         SwAttrPool::pVersionMap2[ i-1 ] = i + 10;
     682             : 
     683             :     // 3. version:
     684             :     //      new attributes and dummies for the CJK version and
     685             :     //      new graphics attributes
     686          59 :     SwAttrPool::pVersionMap3 = new sal_uInt16[ 86 ];
     687        1298 :     for( i = 1; i <= 21; i++ )
     688        1239 :         SwAttrPool::pVersionMap3[ i-1 ] = i;
     689         413 :     for ( i = 22; i <= 27; ++i )
     690         354 :         SwAttrPool::pVersionMap3[ i-1 ] = i + 15;
     691        3304 :     for ( i = 28; i <= 82; ++i )
     692        3245 :         SwAttrPool::pVersionMap3[ i-1 ] = i + 20;
     693         295 :     for ( i = 83; i <= 86; ++i )
     694         236 :         SwAttrPool::pVersionMap3[ i-1 ] = i + 35;
     695             : 
     696             :     // 4. version:
     697             :     //      new paragraph attributes for CJK version
     698          59 :     SwAttrPool::pVersionMap4 = new sal_uInt16[ 121 ];
     699        3894 :     for( i = 1; i <= 65; i++ )
     700        3835 :         SwAttrPool::pVersionMap4[ i-1 ] = i;
     701        3363 :     for ( i = 66; i <= 121; ++i )
     702        3304 :         SwAttrPool::pVersionMap4[ i-1 ] = i + 9;
     703             : 
     704             :     // 5. version
     705             :     // #i18732# - setup new version map due to extension of
     706             :     // the frame attributes (RES_FRMATR_*) for binary filters.
     707          59 :     SwAttrPool::pVersionMap5 = new sal_uInt16[ 130 ];
     708        6490 :     for( i = 1; i <= 109; i++ )
     709        6431 :         SwAttrPool::pVersionMap5[ i-1 ] = i;
     710        1298 :     for ( i = 110; i <= 130; ++i )
     711        1239 :         SwAttrPool::pVersionMap5[ i-1 ] = i + 6;
     712             : 
     713             :     // 6. version:
     714             :     //      RES_CHARATR_OVERLINE
     715             :     //      new character attribute for overlining plus 2 dummies
     716             :     //      1. dummy -> RES_CHRATR_RSID
     717             :     //      2. dummy -> RES_CHRATR_BOX
     718          59 :     SwAttrPool::pVersionMap6 = new sal_uInt16[ 136 ];
     719        2242 :     for( i = 1; i <= 37; i++ )
     720        2183 :         SwAttrPool::pVersionMap6[ i-1 ] = i;
     721        5900 :     for ( i = 38; i <= 136; ++i )
     722        5841 :         SwAttrPool::pVersionMap6[ i-1 ] = i + 3;
     723             : 
     724             :     // 7. version:
     725             :     // New character attribute for character box shadow plus 3 dummies
     726          59 :     SwAttrPool::pVersionMap7 = new sal_uInt16[ 144 ];
     727        2419 :     for( i = 1; i <= 40; ++i )
     728        2360 :         SwAttrPool::pVersionMap7[ i-1 ] = i;
     729        6195 :     for ( i = 41; i <= 144; ++i )
     730        6136 :         SwAttrPool::pVersionMap7[ i-1 ] = i + 4;
     731             : 
     732          59 :     SwBreakIt::_Create( ::comphelper::getProcessComponentContext() );
     733          59 :     pCheckIt = NULL;
     734             : 
     735          59 :     _FrmInit();
     736          59 :     _TextInit();
     737             : 
     738          59 :     SwSelPaintRects::s_pMapMode = new MapMode;
     739          59 :     SwFntObj::pPixMap = new MapMode;
     740             : 
     741          59 :     pGlobalOLEExcludeList = new std::vector<SvGlobalName*>;
     742             : 
     743          59 :     const SvxSwAutoFormatFlags& rAFlags = SvxAutoCorrCfg::Get().GetAutoCorrect()->GetSwFlags();
     744             :     SwDoc::mpACmpltWords = new SwAutoCompleteWord( rAFlags.nAutoCmpltListLen,
     745          59 :                                             rAFlags.nAutoCmpltWordLen );
     746          59 : }
     747             : 
     748          59 : void _FinitCore()
     749             : {
     750          59 :     _FrmFinit();
     751          59 :     _TextFinit();
     752             : 
     753          59 :     sw::proofreadingiterator::dispose();
     754          59 :     SwBreakIt::_Delete();
     755          59 :     delete pCheckIt;
     756          59 :     delete pAppCharClass;
     757          59 :     delete pCollator;
     758          59 :     delete pCaseCollator;
     759             : 
     760             :     // destroy default TableAutoFormat
     761          59 :     delete SwTableAutoFormat::pDfltBoxAutoFormat;
     762             : 
     763          59 :     delete SwSelPaintRects::s_pMapMode;
     764          59 :     delete SwFntObj::pPixMap;
     765             : 
     766          59 :     delete SwEditShell::s_pAutoFormatFlags;
     767             : 
     768             : #if OSL_DEBUG_LEVEL > 0
     769             :     // free defaults to prevent assertions
     770             :     if ( aAttrTab[0]->GetRefCount() )
     771             :         SfxItemPool::ReleaseDefaults( aAttrTab, POOLATTR_END-POOLATTR_BEGIN, false);
     772             : #endif
     773          59 :     delete SwDoc::mpACmpltWords;
     774             : 
     775          59 :     delete SwStyleNameMapper::pTextUINameArray;
     776          59 :     delete SwStyleNameMapper::pListsUINameArray;
     777          59 :     delete SwStyleNameMapper::pExtraUINameArray;
     778          59 :     delete SwStyleNameMapper::pRegisterUINameArray;
     779          59 :     delete SwStyleNameMapper::pDocUINameArray;
     780          59 :     delete SwStyleNameMapper::pHTMLUINameArray;
     781          59 :     delete SwStyleNameMapper::pFrameFormatUINameArray;
     782          59 :     delete SwStyleNameMapper::pChrFormatUINameArray;
     783          59 :     delete SwStyleNameMapper::pHTMLChrFormatUINameArray;
     784          59 :     delete SwStyleNameMapper::pPageDescUINameArray;
     785          59 :     delete SwStyleNameMapper::pNumRuleUINameArray;
     786             : 
     787             :     // Delete programmatic name arrays also
     788          59 :     delete SwStyleNameMapper::pTextProgNameArray;
     789          59 :     delete SwStyleNameMapper::pListsProgNameArray;
     790          59 :     delete SwStyleNameMapper::pExtraProgNameArray;
     791          59 :     delete SwStyleNameMapper::pRegisterProgNameArray;
     792          59 :     delete SwStyleNameMapper::pDocProgNameArray;
     793          59 :     delete SwStyleNameMapper::pHTMLProgNameArray;
     794          59 :     delete SwStyleNameMapper::pFrameFormatProgNameArray;
     795          59 :     delete SwStyleNameMapper::pChrFormatProgNameArray;
     796          59 :     delete SwStyleNameMapper::pHTMLChrFormatProgNameArray;
     797          59 :     delete SwStyleNameMapper::pPageDescProgNameArray;
     798          59 :     delete SwStyleNameMapper::pNumRuleProgNameArray;
     799             : 
     800             :     // And finally, any hash tables that we used
     801          59 :     delete SwStyleNameMapper::pParaUIMap;
     802          59 :     delete SwStyleNameMapper::pCharUIMap;
     803          59 :     delete SwStyleNameMapper::pPageUIMap;
     804          59 :     delete SwStyleNameMapper::pFrameUIMap;
     805          59 :     delete SwStyleNameMapper::pNumRuleUIMap;
     806             : 
     807          59 :     delete SwStyleNameMapper::pParaProgMap;
     808          59 :     delete SwStyleNameMapper::pCharProgMap;
     809          59 :     delete SwStyleNameMapper::pPageProgMap;
     810          59 :     delete SwStyleNameMapper::pFrameProgMap;
     811          59 :     delete SwStyleNameMapper::pNumRuleProgMap;
     812             : 
     813             :     // delete all default attributes
     814        8909 :     for( sal_uInt16 n = 0; n < POOLATTR_END - POOLATTR_BEGIN; n++ )
     815             :     {
     816             :         SfxPoolItem* pHt;
     817        8850 :         if( 0 != ( pHt = aAttrTab[n] ))
     818        8850 :             delete pHt;
     819             :     }
     820             : 
     821          59 :     ::ClearFEShellTabCols();
     822             : 
     823          59 :     delete[] SwAttrPool::pVersionMap1;
     824          59 :     delete[] SwAttrPool::pVersionMap2;
     825          59 :     delete[] SwAttrPool::pVersionMap3;
     826          59 :     delete[] SwAttrPool::pVersionMap4;
     827             :     // #i18732#
     828          59 :     delete[] SwAttrPool::pVersionMap5;
     829          59 :     delete[] SwAttrPool::pVersionMap6;
     830          59 :     delete[] SwAttrPool::pVersionMap7;
     831             : 
     832          60 :     for ( size_t i = 0; i < pGlobalOLEExcludeList->size(); ++i )
     833           1 :         delete (*pGlobalOLEExcludeList)[i];
     834          59 :     delete pGlobalOLEExcludeList;
     835          59 : }
     836             : 
     837             : // returns the APP - CharClass instance - used for all ToUpper/ToLower/...
     838   134215533 : CharClass& GetAppCharClass()
     839             : {
     840   134215533 :     if ( !pAppCharClass )
     841             :     {
     842             :         pAppCharClass = new CharClass(
     843             :             ::comphelper::getProcessComponentContext(),
     844          49 :             SwBreakIt::Get()->GetLanguageTag( GetAppLanguageTag() ));
     845             :     }
     846   134215533 :     return *pAppCharClass;
     847             : }
     848             : 
     849           0 : void SwCalendarWrapper::LoadDefaultCalendar( sal_uInt16 eLang )
     850             : {
     851           0 :     sUniqueId.clear();
     852           0 :     if( eLang != nLang )
     853           0 :         loadDefaultCalendar( LanguageTag::convertToLocale( nLang = eLang ));
     854           0 : }
     855             : 
     856     5930402 : LanguageType GetAppLanguage()
     857             : {
     858     5930402 :     return Application::GetSettings().GetLanguageTag().getLanguageType();
     859             : }
     860             : 
     861          63 : const LanguageTag& GetAppLanguageTag()
     862             : {
     863          63 :     return Application::GetSettings().GetLanguageTag();
     864             : }
     865             : 
     866           1 : CollatorWrapper& GetAppCollator()
     867             : {
     868           1 :     if( !pCollator )
     869             :     {
     870           1 :         const lang::Locale& rLcl = g_pBreakIt->GetLocale( GetAppLanguage() );
     871             : 
     872           1 :         pCollator = new CollatorWrapper( ::comphelper::getProcessComponentContext() );
     873           1 :         pCollator->loadDefaultCollator( rLcl, SW_COLLATOR_IGNORES );
     874             :     }
     875           1 :     return *pCollator;
     876             : }
     877             : 
     878           0 : CollatorWrapper& GetAppCaseCollator()
     879             : {
     880           0 :     if( !pCaseCollator )
     881             :     {
     882           0 :         const lang::Locale& rLcl = g_pBreakIt->GetLocale( GetAppLanguage() );
     883             : 
     884           0 :         pCaseCollator = new CollatorWrapper( ::comphelper::getProcessComponentContext() );
     885           0 :         pCaseCollator->loadDefaultCollator( rLcl, 0 );
     886             :     }
     887           0 :     return *pCaseCollator;
     888             : }
     889             : 
     890             : namespace
     891             : {
     892          57 :     class TransWrp
     893             :     {
     894             :     private:
     895             :         boost::scoped_ptr< ::utl::TransliterationWrapper > xTransWrp;
     896             :     public:
     897          57 :         TransWrp()
     898          57 :         {
     899          57 :             uno::Reference< uno::XComponentContext > xContext = ::comphelper::getProcessComponentContext();
     900             : 
     901             :             xTransWrp.reset(new ::utl::TransliterationWrapper( xContext,
     902             :                     i18n::TransliterationModules_IGNORE_CASE |
     903             :                     i18n::TransliterationModules_IGNORE_KANA |
     904          57 :                     i18n::TransliterationModules_IGNORE_WIDTH ));
     905             : 
     906          57 :             xTransWrp->loadModuleIfNeeded( static_cast<sal_uInt16>(GetAppLanguage()) );
     907          57 :         }
     908        6546 :         const ::utl::TransliterationWrapper& getTransliterationWrapper() const
     909             :         {
     910        6546 :             return *xTransWrp;
     911             :         }
     912             :     };
     913             : 
     914             :     class theTransWrp : public rtl::Static<TransWrp, theTransWrp> {};
     915             : }
     916             : 
     917        6546 : const ::utl::TransliterationWrapper& GetAppCmpStrIgnore()
     918             : {
     919        6546 :     return theTransWrp::get().getTransliterationWrapper();
     920         177 : }
     921             : 
     922             : /* vim:set shiftwidth=4 softtabstop=4 expandtab: */

Generated by: LCOV version 1.11