[Libreoffice-commits] core.git: chart2/source comphelper/source dbaccess/source editeng/source extensions/source filter/source forms/source include/comphelper include/editeng include/svl include/svx linguistic/source reportdesign/source sc/source sd/source sfx2/source starmath/source svl/source svtools/source svx/source sw/inc sw/source xmloff/source

Stephan Bergmann sbergman at redhat.com
Wed Dec 11 06:39:25 PST 2013


 chart2/source/model/filter/XMLFilter.cxx                    |   45 
 chart2/source/tools/ErrorBar.cxx                            |   32 
 comphelper/source/property/genericpropertyset.cxx           |   10 
 comphelper/source/property/propertysethelper.cxx            |   20 
 comphelper/source/property/propertysetinfo.cxx              |   31 
 dbaccess/source/core/dataaccess/databasedocument.cxx        |   17 
 editeng/source/accessibility/AccessibleEditableTextPara.cxx |    6 
 editeng/source/uno/unofield.cxx                             |   50 
 editeng/source/uno/unoipset.cxx                             |    8 
 editeng/source/uno/unotext.cxx                              |   16 
 editeng/source/xml/xmltxtexp.cxx                            |    8 
 editeng/source/xml/xmltxtimp.cxx                            |    2 
 extensions/source/bibliography/bibload.cxx                  |    4 
 filter/source/xmlfilteradaptor/XmlFilterAdaptor.cxx         |   15 
 forms/source/richtext/richtextunowrapper.cxx                |    6 
 include/comphelper/TypeGeneration.hxx                       |    2 
 include/comphelper/propertysetinfo.hxx                      |   11 
 include/editeng/unotext.hxx                                 |  132 
 include/svl/itemprop.hxx                                    |   14 
 include/svx/unoprov.hxx                                     |    2 
 include/svx/unoshprp.hxx                                    |  496 -
 linguistic/source/lngopt.cxx                                |   82 
 reportdesign/source/core/api/ReportDefinition.cxx           |   13 
 reportdesign/source/filter/xml/xmlColumn.cxx                |    8 
 reportdesign/source/filter/xml/xmlHelper.cxx                |   48 
 reportdesign/source/filter/xml/xmlfilter.cxx                |   17 
 sc/source/core/data/dptabsrc.cxx                            |   72 
 sc/source/filter/xml/xmlwrap.cxx                            |   59 
 sc/source/ui/unoobj/addruno.cxx                             |   28 
 sc/source/ui/unoobj/afmtuno.cxx                             |  110 
 sc/source/ui/unoobj/appluno.cxx                             |   38 
 sc/source/ui/unoobj/cellsuno.cxx                            | 1244 ++--
 sc/source/ui/unoobj/chart2uno.cxx                           |   14 
 sc/source/ui/unoobj/confuno.cxx                             |   62 
 sc/source/ui/unoobj/dapiuno.cxx                             |   64 
 sc/source/ui/unoobj/datauno.cxx                             |   72 
 sc/source/ui/unoobj/defltuno.cxx                            |   42 
 sc/source/ui/unoobj/docuno.cxx                              |  115 
 sc/source/ui/unoobj/fielduno.cxx                            |   44 
 sc/source/ui/unoobj/fmtuno.cxx                              |   22 
 sc/source/ui/unoobj/linkuno.cxx                             |   12 
 sc/source/ui/unoobj/nameuno.cxx                             |   14 
 sc/source/ui/unoobj/notesuno.cxx                            |    2 
 sc/source/ui/unoobj/optuno.cxx                              |   26 
 sc/source/ui/unoobj/shapeuno.cxx                            |   17 
 sc/source/ui/unoobj/srchuno.cxx                             |   26 
 sc/source/ui/unoobj/styleuno.cxx                            |  504 -
 sc/source/ui/unoobj/targuno.cxx                             |    6 
 sc/source/ui/unoobj/textuno.cxx                             |    4 
 sc/source/ui/unoobj/tokenuno.cxx                            |   12 
 sc/source/ui/unoobj/viewuno.cxx                             |   58 
 sd/source/core/stlsheet.cxx                                 |   22 
 sd/source/core/text/textapi.cxx                             |   10 
 sd/source/filter/xml/sdxmlwrp.cxx                           |   81 
 sd/source/ui/slideshow/slideshow.cxx                        |   32 
 sd/source/ui/unoidl/UnoDocumentSettings.cxx                 |  100 
 sd/source/ui/unoidl/unolayer.cxx                            |   14 
 sd/source/ui/unoidl/unomodel.cxx                            |   30 
 sd/source/ui/unoidl/unoobj.cxx                              |   64 
 sd/source/ui/unoidl/unopage.cxx                             |  240 
 sd/source/ui/unoidl/unopback.cxx                            |    2 
 sd/source/ui/unoidl/unosrch.cxx                             |    8 
 sfx2/source/doc/iframe.cxx                                  |   18 
 sfx2/source/doc/plugin.cxx                                  |    8 
 starmath/source/mathmlexport.cxx                            |   18 
 starmath/source/mathmlimport.cxx                            |   18 
 starmath/source/unomodel.cxx                                |  138 
 svl/source/items/itemprop.cxx                               |   17 
 svl/source/numbers/numfmuno.cxx                             |   38 
 svtools/source/graphic/descriptor.cxx                       |   21 
 svtools/source/graphic/renderer.cxx                         |   11 
 svtools/source/uno/unoimap.cxx                              |   61 
 svx/source/form/dataaccessdescriptor.cxx                    |   50 
 svx/source/table/cell.cxx                                   |   38 
 svx/source/unodraw/unopool.cxx                              |    4 
 svx/source/unodraw/unoprov.cxx                              |  631 +-
 svx/source/unodraw/unoshape.cxx                             |    4 
 svx/source/unogallery/unogalitem.cxx                        |   16 
 sw/inc/unomap.hxx                                           |    2 
 sw/source/core/access/accpara.cxx                           |    4 
 sw/source/core/fields/textapi.cxx                           |   18 
 sw/source/core/unocore/unomap.cxx                           | 3250 +++++-------
 sw/source/core/unocore/unoobj.cxx                           |    8 
 sw/source/core/unocore/unosett.cxx                          |   82 
 sw/source/filter/xml/swxml.cxx                              |   86 
 sw/source/filter/xml/wrtxml.cxx                             |   67 
 sw/source/ui/uno/unomailmerge.cxx                           |    3 
 xmloff/source/core/xmlexp.cxx                               |   14 
 xmloff/source/meta/MetaExportComponent.cxx                  |    8 
 89 files changed, 4524 insertions(+), 4474 deletions(-)

New commits:
commit 123e2c3e9350463fde38fbcbb522e3d6d8340ee6
Author: Stephan Bergmann <sbergman at redhat.com>
Date:   Wed Dec 11 15:37:26 2013 +0100

    Revert "Don't hold css::uno::Type instances by pointer"
    
    This reverts commit 90f91088d238469b4a2262c91de3117ba40f5bde for now:
    Ach, old GCC doesn't like plain string literals to initialize members
    of OUString type...
    
    Change-Id: I50563a00406259bb5d41831e2a2796762450d097

diff --git a/chart2/source/model/filter/XMLFilter.cxx b/chart2/source/model/filter/XMLFilter.cxx
index 8d8e8e8..8c563b1 100644
--- a/chart2/source/model/filter/XMLFilter.cxx
+++ b/chart2/source/model/filter/XMLFilter.cxx
@@ -61,6 +61,7 @@ using ::osl::MutexGuard;
 namespace
 {
 #define LOCAL_CONST_STR(i, x) sal_Char const i[sizeof(x)] = x
+#define MAP_LEN(x) x, sizeof(x) - 1
 
 LOCAL_CONST_STR( sXML_metaStreamName,       "meta.xml");
 LOCAL_CONST_STR( sXML_styleStreamName,      "styles.xml" );
@@ -339,28 +340,28 @@ sal_Int32 XMLFilter::impl_Import(
 
         // create XPropertySet with extra informatio for the filter
         /** property map for import info set */
-        comphelper::PropertyMapEntry const aImportInfoMap[] =
+        comphelper::PropertyMapEntry aImportInfoMap[] =
         {
             // necessary properties for XML progress bar at load time
-            { "ProgressRange",   0, ::getCppuType((const sal_Int32*)0), ::com::sun::star::beans::PropertyAttribute::MAYBEVOID, 0},
-            { "ProgressMax",     0, ::getCppuType((const sal_Int32*)0), ::com::sun::star::beans::PropertyAttribute::MAYBEVOID, 0},
-            { "ProgressCurrent", 0, ::getCppuType((const sal_Int32*)0), ::com::sun::star::beans::PropertyAttribute::MAYBEVOID, 0},
-            { "PrivateData", 0,
-                ::getCppuType( (Reference<XInterface> *)0 ),
+            { MAP_LEN( "ProgressRange" ),   0, &::getCppuType((const sal_Int32*)0), ::com::sun::star::beans::PropertyAttribute::MAYBEVOID, 0},
+            { MAP_LEN( "ProgressMax" ),     0, &::getCppuType((const sal_Int32*)0), ::com::sun::star::beans::PropertyAttribute::MAYBEVOID, 0},
+            { MAP_LEN( "ProgressCurrent" ), 0, &::getCppuType((const sal_Int32*)0), ::com::sun::star::beans::PropertyAttribute::MAYBEVOID, 0},
+            { MAP_LEN( "PrivateData" ), 0,
+                &::getCppuType( (Reference<XInterface> *)0 ),
                 ::com::sun::star::beans::PropertyAttribute::MAYBEVOID, 0 },
-            { "BaseURI", 0,
-                ::getCppuType( (OUString *)0 ),
+            { MAP_LEN( "BaseURI" ), 0,
+                &::getCppuType( (OUString *)0 ),
                 ::com::sun::star::beans::PropertyAttribute::MAYBEVOID, 0 },
-            { "StreamRelPath", 0,
-                ::getCppuType( (OUString *)0 ),
+            { MAP_LEN( "StreamRelPath" ), 0,
+                &::getCppuType( (OUString *)0 ),
                 ::com::sun::star::beans::PropertyAttribute::MAYBEVOID, 0 },
-            { "StreamName", 0,
-                ::getCppuType( (OUString *)0 ),
+            { MAP_LEN( "StreamName" ), 0,
+                &::getCppuType( (OUString *)0 ),
                 ::com::sun::star::beans::PropertyAttribute::MAYBEVOID, 0 },
-            { "BuildId", 0,
-                ::getCppuType( (OUString *)0 ),
+            { MAP_LEN( "BuildId" ), 0,
+                &::getCppuType( (OUString *)0 ),
                 ::com::sun::star::beans::PropertyAttribute::MAYBEVOID, 0 },
-            {}
+            { NULL, 0, 0, NULL, 0, 0 }
         };
         uno::Reference< beans::XPropertySet > xImportInfo(
                     comphelper::GenericPropertySet_CreateInstance(
@@ -613,14 +614,14 @@ sal_Int32 XMLFilter::impl_Export(
             m_xContext, xStorage );
 
         // property map for export info set
-        comphelper::PropertyMapEntry const aExportInfoMap[] =
+        comphelper::PropertyMapEntry aExportInfoMap[] =
         {
-            { "UsePrettyPrinting", 0, ::getBooleanCppuType(), beans::PropertyAttribute::MAYBEVOID, 0},
-            { "BaseURI", 0, ::getCppuType( (OUString *)0 ), beans::PropertyAttribute::MAYBEVOID, 0 },
-            { "StreamRelPath", 0, ::getCppuType( (OUString *)0 ), beans::PropertyAttribute::MAYBEVOID, 0 },
-            { "StreamName", 0, ::getCppuType( (OUString *)0 ), beans::PropertyAttribute::MAYBEVOID, 0 },
-            { "ExportTableNumberList", 0, ::getBooleanCppuType(), beans::PropertyAttribute::MAYBEVOID, 0 },
-            {}
+            { MAP_LEN("UsePrettyPrinting"), 0, &::getBooleanCppuType(), beans::PropertyAttribute::MAYBEVOID, 0},
+            { MAP_LEN("BaseURI"), 0, &::getCppuType( (OUString *)0 ), beans::PropertyAttribute::MAYBEVOID, 0 },
+            { MAP_LEN("StreamRelPath"), 0, &::getCppuType( (OUString *)0 ), beans::PropertyAttribute::MAYBEVOID, 0 },
+            { MAP_LEN("StreamName"), 0, &::getCppuType( (OUString *)0 ), beans::PropertyAttribute::MAYBEVOID, 0 },
+            { MAP_LEN("ExportTableNumberList"), 0, &::getBooleanCppuType(), beans::PropertyAttribute::MAYBEVOID, 0 },
+            { NULL, 0, 0, NULL, 0, 0 }
         };
 
         uno::Reference< beans::XPropertySet > xInfoSet =
diff --git a/chart2/source/tools/ErrorBar.cxx b/chart2/source/tools/ErrorBar.cxx
index 24eb6d9..3e305b9 100644
--- a/chart2/source/tools/ErrorBar.cxx
+++ b/chart2/source/tools/ErrorBar.cxx
@@ -55,22 +55,22 @@ const SfxItemPropertySet* GetErrorBarPropertySet()
 {
     static const SfxItemPropertyMapEntry aErrorBarPropertyMap_Impl[] =
     {
-        {"ShowPositiveError",0,getBooleanCppuType(), 0, 0},
-        {"ShowNegativeError",1,getBooleanCppuType(), 0, 0},
-        {"PositiveError",2,getCppuType((const double*)0),0,0},
-        {"NegativeError",3,getCppuType((const double*)0), 0, 0},
-        {"PercentageError",4,getCppuType((const double*)0), 0, 0},
-        {"ErrorBarStyle",5,getCppuType((sal_Int32*)0),0,0},
-        {"ErrorBarRangePositive",6,getCppuType((OUString*)0),0,0}, // read-only for export
-        {"ErrorBarRangeNegative",7,getCppuType((OUString*)0),0,0}, // read-only for export
-        {"Weight",8,getCppuType((const double*)0),0,0},
-        {"LineStyle",9,getCppuType((com::sun::star::drawing::LineStyle*)0),0,0},
-        {"LineDash",10,getCppuType((drawing::LineDash*)0),0,0},
-        {"LineWidth",11,getCppuType((sal_Int32*)0),0,0},
-        {"LineColor",12,getCppuType((com::sun::star::util::Color*)0),0,0},
-        {"LineTransparence",13,getCppuType((sal_Int16*)0),0,0},
-        {"LineJoint",14,getCppuType((com::sun::star::drawing::LineJoint*)0),0,0},
-        {}
+        {MAP_CHAR_LEN("ShowPositiveError"),0,&getBooleanCppuType(), 0, 0},
+        {MAP_CHAR_LEN("ShowNegativeError"),1,&getBooleanCppuType(), 0, 0},
+        {MAP_CHAR_LEN("PositiveError"),2,&getCppuType((const double*)0),0,0},
+        {MAP_CHAR_LEN("NegativeError"),3,&getCppuType((const double*)0), 0, 0},
+        {MAP_CHAR_LEN("PercentageError"),4,&getCppuType((const double*)0), 0, 0},
+        {MAP_CHAR_LEN("ErrorBarStyle"),5,&getCppuType((sal_Int32*)0),0,0},
+        {MAP_CHAR_LEN("ErrorBarRangePositive"),6,&getCppuType((OUString*)0),0,0}, // read-only for export
+        {MAP_CHAR_LEN("ErrorBarRangeNegative"),7,&getCppuType((OUString*)0),0,0}, // read-only for export
+        {MAP_CHAR_LEN("Weight"),8,&getCppuType((const double*)0),0,0},
+        {MAP_CHAR_LEN("LineStyle"),9,&getCppuType((com::sun::star::drawing::LineStyle*)0),0,0},
+        {MAP_CHAR_LEN("LineDash"),10,&getCppuType((drawing::LineDash*)0),0,0},
+        {MAP_CHAR_LEN("LineWidth"),11,&getCppuType((sal_Int32*)0),0,0},
+        {MAP_CHAR_LEN("LineColor"),12,&getCppuType((com::sun::star::util::Color*)0),0,0},
+        {MAP_CHAR_LEN("LineTransparence"),13,&getCppuType((sal_Int16*)0),0,0},
+        {MAP_CHAR_LEN("LineJoint"),14,&getCppuType((com::sun::star::drawing::LineJoint*)0),0,0},
+        {0,0,0,0,0,0}
     };
     static SfxItemPropertySet aPropSet( aErrorBarPropertyMap_Impl );
     return &aPropSet;
diff --git a/comphelper/source/property/genericpropertyset.cxx b/comphelper/source/property/genericpropertyset.cxx
index e5d52a7..feb803e 100644
--- a/comphelper/source/property/genericpropertyset.cxx
+++ b/comphelper/source/property/genericpropertyset.cxx
@@ -157,14 +157,15 @@ void GenericPropertySet::_setPropertyValues( const PropertyMapEntry** ppEntries,
 
     while( *ppEntries )
     {
-        OInterfaceContainerHelper * pHelper = m_aListener.getContainer((*ppEntries)->maName);
+        const OUString aPropertyName( (*ppEntries)->mpName, (*ppEntries)->mnNameLen, RTL_TEXTENCODING_ASCII_US );
+        OInterfaceContainerHelper * pHelper = m_aListener.getContainer(aPropertyName);
 
-        maAnyMap[ (*ppEntries)->maName ] = *pValues;
+        maAnyMap[ aPropertyName ] = *pValues;
 
         if ( pHelper )
         {
             PropertyChangeEvent aEvt;
-            aEvt.PropertyName = (*ppEntries)->maName;
+            aEvt.PropertyName = aPropertyName;
             aEvt.NewValue = *pValues;
             aGuard.clear();
             pHelper->notifyEach( &XPropertyChangeListener::propertyChange, aEvt );
@@ -183,7 +184,8 @@ void GenericPropertySet::_getPropertyValues( const comphelper::PropertyMapEntry*
 
     while( *ppEntries )
     {
-        *pValue = maAnyMap[ (*ppEntries)->maName ];
+        const OUString aPropertyName( (*ppEntries)->mpName, (*ppEntries)->mnNameLen, RTL_TEXTENCODING_ASCII_US );
+        *pValue = maAnyMap[ aPropertyName ];
 
         ppEntries++;
         pValue++;
diff --git a/comphelper/source/property/propertysethelper.cxx b/comphelper/source/property/propertysethelper.cxx
index 21cea0c..e1422cf 100644
--- a/comphelper/source/property/propertysethelper.cxx
+++ b/comphelper/source/property/propertysethelper.cxx
@@ -35,13 +35,13 @@ namespace comphelper
 class PropertySetHelperImpl
 {
 public:
-    PropertyMapEntry const * find( const OUString& aName ) const throw();
+    PropertyMapEntry* find( const OUString& aName ) const throw();
 
     PropertySetInfo* mpInfo;
 };
 }
 
-PropertyMapEntry const * PropertySetHelperImpl::find( const OUString& aName ) const throw()
+PropertyMapEntry* PropertySetHelperImpl::find( const OUString& aName ) const throw()
 {
     PropertyMap::const_iterator aIter = mpInfo->getPropertyMap()->find( aName );
 
@@ -84,7 +84,7 @@ Reference< XPropertySetInfo > SAL_CALL PropertySetHelper::getPropertySetInfo(  )
 
 void SAL_CALL PropertySetHelper::setPropertyValue( const OUString& aPropertyName, const Any& aValue ) throw(UnknownPropertyException, PropertyVetoException, IllegalArgumentException, WrappedTargetException, RuntimeException)
 {
-    PropertyMapEntry const * aEntries[2];
+    PropertyMapEntry* aEntries[2];
     aEntries[0] = mp->find( aPropertyName );
 
     if( NULL == aEntries[0] )
@@ -97,7 +97,7 @@ void SAL_CALL PropertySetHelper::setPropertyValue( const OUString& aPropertyName
 
 Any SAL_CALL PropertySetHelper::getPropertyValue( const OUString& PropertyName ) throw(UnknownPropertyException, WrappedTargetException, RuntimeException)
 {
-    PropertyMapEntry const * aEntries[2];
+    PropertyMapEntry* aEntries[2];
     aEntries[0] = mp->find( PropertyName );
 
     if( NULL == aEntries[0] )
@@ -141,7 +141,7 @@ void SAL_CALL PropertySetHelper::setPropertyValues( const Sequence< OUString >&
 
     if( nCount )
     {
-        PropertyMapEntry const ** pEntries = new PropertyMapEntry const *[nCount+1];
+        PropertyMapEntry** pEntries = new PropertyMapEntry*[nCount+1];
         pEntries[nCount] = NULL;
         const OUString* pNames = aPropertyNames.getConstArray();
 
@@ -170,7 +170,7 @@ Sequence< Any > SAL_CALL PropertySetHelper::getPropertyValues( const Sequence< O
     Sequence< Any > aValues;
     if( nCount )
     {
-        PropertyMapEntry const ** pEntries = new PropertyMapEntry const *[nCount+1];
+        PropertyMapEntry** pEntries = new PropertyMapEntry*[nCount+1];
         pEntries[nCount] = NULL;
         const OUString* pNames = aPropertyNames.getConstArray();
 
@@ -215,7 +215,7 @@ void SAL_CALL PropertySetHelper::firePropertiesChangeEvent( const Sequence< OUSt
 // XPropertyState
 PropertyState SAL_CALL PropertySetHelper::getPropertyState( const OUString& PropertyName ) throw(UnknownPropertyException, RuntimeException)
 {
-    PropertyMapEntry const * aEntries[2];
+    PropertyMapEntry* aEntries[2];
 
     aEntries[0] = mp->find( PropertyName );
     if( aEntries[0] == NULL )
@@ -241,7 +241,7 @@ Sequence< PropertyState > SAL_CALL PropertySetHelper::getPropertyStates( const S
 
         sal_Bool bUnknown = sal_False;
 
-        PropertyMapEntry const ** pEntries = new PropertyMapEntry const *[nCount+1];
+        PropertyMapEntry** pEntries = new PropertyMapEntry*[nCount+1];
 
         sal_Int32 n;
         for( n = 0; !bUnknown && (n < nCount); n++, pNames++ )
@@ -266,7 +266,7 @@ Sequence< PropertyState > SAL_CALL PropertySetHelper::getPropertyStates( const S
 
 void SAL_CALL PropertySetHelper::setPropertyToDefault( const OUString& PropertyName ) throw(UnknownPropertyException, RuntimeException)
 {
-    PropertyMapEntry const *pEntry  = mp->find( PropertyName );
+    PropertyMapEntry *pEntry  = mp->find( PropertyName );
     if( NULL == pEntry )
         throw UnknownPropertyException( PropertyName, static_cast< XPropertySet* >( this ) );
 
@@ -275,7 +275,7 @@ void SAL_CALL PropertySetHelper::setPropertyToDefault( const OUString& PropertyN
 
 Any SAL_CALL PropertySetHelper::getPropertyDefault( const OUString& aPropertyName ) throw(UnknownPropertyException, WrappedTargetException, RuntimeException)
 {
-    PropertyMapEntry const * pEntry = mp->find( aPropertyName );
+    PropertyMapEntry* pEntry = mp->find( aPropertyName );
     if( NULL == pEntry )
         throw UnknownPropertyException( aPropertyName, static_cast< XPropertySet* >( this ) );
 
diff --git a/comphelper/source/property/propertysetinfo.cxx b/comphelper/source/property/propertysetinfo.cxx
index cc49841..2567a06 100644
--- a/comphelper/source/property/propertysetinfo.cxx
+++ b/comphelper/source/property/propertysetinfo.cxx
@@ -35,7 +35,7 @@ public:
     PropertyMapImpl() throw();
     virtual ~PropertyMapImpl() throw();
 
-    void add( PropertyMapEntry const * pMap, sal_Int32 nCount = -1 ) throw();
+    void add( PropertyMapEntry* pMap, sal_Int32 nCount = -1 ) throw();
     void remove( const OUString& aName ) throw();
 
     Sequence< Property > getProperties() throw();
@@ -59,23 +59,30 @@ PropertyMapImpl::~PropertyMapImpl() throw()
 {
 }
 
-void PropertyMapImpl::add( PropertyMapEntry const * pMap, sal_Int32 nCount ) throw()
+void PropertyMapImpl::add( PropertyMapEntry* pMap, sal_Int32 nCount ) throw()
 {
     // nCount < 0   => add all
     // nCount == 0  => add nothing
     // nCount > 0   => add at most nCount entries
 
-    while( !pMap->maName.isEmpty() && ( ( nCount < 0) || ( nCount-- > 0 ) ) )
+    while( pMap->mpName && ( ( nCount < 0) || ( nCount-- > 0 ) ) )
     {
+        OUString aName( pMap->mpName, pMap->mnNameLen, RTL_TEXTENCODING_ASCII_US );
+
 #ifdef DBG_UTIL
-        PropertyMap::iterator aIter = maPropertyMap.find( pMap->maName );
+        PropertyMap::iterator aIter = maPropertyMap.find( aName );
         if( aIter != maPropertyMap.end() )
         {
             OSL_FAIL( "Warning: PropertyMapEntry added twice, possible error!");
         }
 #endif
+        if( NULL == pMap->mpType )
+        {
+            OSL_FAIL( "No type in PropertyMapEntry!");
+            pMap->mpType = &::getCppuType((const sal_Int32*)0);
+        }
 
-        maPropertyMap[pMap->maName] = pMap;
+        maPropertyMap[aName] = pMap;
 
         if( maProperties.getLength() )
             maProperties.realloc( 0 );
@@ -106,11 +113,11 @@ Sequence< Property > PropertyMapImpl::getProperties() throw()
         const PropertyMap::iterator aEnd = maPropertyMap.end();
         while( aIter != aEnd )
         {
-            PropertyMapEntry const * pEntry = (*aIter).second;
+            PropertyMapEntry* pEntry = (*aIter).second;
 
-            pProperties->Name = pEntry->maName;
+            pProperties->Name = OUString( pEntry->mpName, pEntry->mnNameLen, RTL_TEXTENCODING_ASCII_US );
             pProperties->Handle = pEntry->mnHandle;
-            pProperties->Type = pEntry->maType;
+            pProperties->Type = *pEntry->mpType;
             pProperties->Attributes = pEntry->mnAttributes;
 
             ++pProperties;
@@ -133,9 +140,9 @@ Property PropertyMapImpl::getPropertyByName( const OUString& aName ) throw( Unkn
     if( maPropertyMap.end() == aIter )
         throw UnknownPropertyException( aName, NULL );
 
-    PropertyMapEntry const * pEntry = (*aIter).second;
+    PropertyMapEntry* pEntry = (*aIter).second;
 
-    return Property( aName, pEntry->mnHandle, pEntry->maType, pEntry->mnAttributes );
+    return Property( aName, pEntry->mnHandle, *pEntry->mpType, pEntry->mnAttributes );
 }
 
 sal_Bool PropertyMapImpl::hasPropertyByName( const OUString& aName ) throw()
@@ -150,7 +157,7 @@ PropertySetInfo::PropertySetInfo() throw()
     mpMap = new PropertyMapImpl();
 }
 
-PropertySetInfo::PropertySetInfo( PropertyMapEntry const * pMap ) throw()
+PropertySetInfo::PropertySetInfo( PropertyMapEntry* pMap ) throw()
 {
     mpMap = new PropertyMapImpl();
     mpMap->add( pMap );
@@ -161,7 +168,7 @@ PropertySetInfo::~PropertySetInfo() throw()
     delete mpMap;
 }
 
-void PropertySetInfo::add( PropertyMapEntry const * pMap ) throw()
+void PropertySetInfo::add( PropertyMapEntry* pMap ) throw()
 {
     mpMap->add( pMap );
 }
diff --git a/dbaccess/source/core/dataaccess/databasedocument.cxx b/dbaccess/source/core/dataaccess/databasedocument.cxx
index 650a5dd..38c1ff4 100644
--- a/dbaccess/source/core/dataaccess/databasedocument.cxx
+++ b/dbaccess/source/core/dataaccess/databasedocument.cxx
@@ -89,6 +89,7 @@
 #include <list>
 
 #include <svtools/grfmgr.hxx>
+#define MAP_LEN(x) x, sizeof(x) - 1
 
 using namespace ::com::sun::star::uno;
 using namespace ::com::sun::star::beans;
@@ -492,11 +493,11 @@ void ODatabaseDocument::impl_import_nolck_throw( const Reference< XComponentCont
     lcl_extractAndStartStatusIndicator( _rResource, xStatusIndicator, aFilterCreationArgs );
 
     /** property map for import info set */
-    comphelper::PropertyMapEntry const aExportInfoMap[] =
+    comphelper::PropertyMapEntry aExportInfoMap[] =
      {
-        { "BaseURI", 0, ::getCppuType( (OUString *)0 ),beans::PropertyAttribute::MAYBEVOID, 0 },
-        { "StreamName", 0, ::getCppuType( (OUString *)0 ),beans::PropertyAttribute::MAYBEVOID, 0 },
-        {}
+        { MAP_LEN( "BaseURI"), 0,&::getCppuType( (OUString *)0 ),beans::PropertyAttribute::MAYBEVOID, 0 },
+        { MAP_LEN( "StreamName"), 0,&::getCppuType( (OUString *)0 ),beans::PropertyAttribute::MAYBEVOID, 0 },
+          { NULL, 0, 0, NULL, 0, 0 }
      };
      uno::Reference< beans::XPropertySet > xInfoSet( comphelper::GenericPropertySet_CreateInstance( new comphelper::PropertySetInfo( aExportInfoMap ) ) );
     xInfoSet->setPropertyValue("BaseURI", uno::makeAny(_rResource.getOrDefault("URL",OUString())));
@@ -1612,10 +1613,10 @@ void ODatabaseDocument::impl_writeStorage_throw( const Reference< XStorage >& _r
     /** property map for export info set */
     comphelper::PropertyMapEntry aExportInfoMap[] =
     {
-        { "BaseURI", 0, ::getCppuType( (OUString *)0 ),beans::PropertyAttribute::MAYBEVOID, 0 },
-        { "StreamName", 0, ::getCppuType( (OUString *)0 ),beans::PropertyAttribute::MAYBEVOID, 0 },
-        { "UsePrettyPrinting", 0, ::getCppuType((sal_Bool*)0), beans::PropertyAttribute::MAYBEVOID, 0},
-        {}
+        { MAP_LEN( "BaseURI"), 0,&::getCppuType( (OUString *)0 ),beans::PropertyAttribute::MAYBEVOID, 0 },
+        { MAP_LEN( "StreamName"), 0,&::getCppuType( (OUString *)0 ),beans::PropertyAttribute::MAYBEVOID, 0 },
+        { MAP_LEN( "UsePrettyPrinting" ), 0, &::getCppuType((sal_Bool*)0), beans::PropertyAttribute::MAYBEVOID, 0},
+        { NULL, 0, 0, NULL, 0, 0 }
     };
     uno::Reference< beans::XPropertySet > xInfoSet( comphelper::GenericPropertySet_CreateInstance( new comphelper::PropertySetInfo( aExportInfoMap ) ) );
 
diff --git a/editeng/source/accessibility/AccessibleEditableTextPara.cxx b/editeng/source/accessibility/AccessibleEditableTextPara.cxx
index a54877b..b041172 100644
--- a/editeng/source/accessibility/AccessibleEditableTextPara.cxx
+++ b/editeng/source/accessibility/AccessibleEditableTextPara.cxx
@@ -94,9 +94,9 @@ namespace accessibility
             SVX_UNOEDIT_CHAR_PROPERTIES,
             SVX_UNOEDIT_PARA_PROPERTIES,
             SVX_UNOEDIT_NUMBERING_PROPERTIE,
-            {"TextUserDefinedAttributes",     EE_CHAR_XMLATTRIBS,     ::getCppuType((const ::com::sun::star::uno::Reference< ::com::sun::star::container::XNameContainer >*)0)  ,        0,     0},
-            {"ParaUserDefinedAttributes",     EE_PARA_XMLATTRIBS,     ::getCppuType((const ::com::sun::star::uno::Reference< ::com::sun::star::container::XNameContainer >*)0)  ,        0,     0},
-            {}
+            {MAP_CHAR_LEN("TextUserDefinedAttributes"),     EE_CHAR_XMLATTRIBS,     &::getCppuType((const ::com::sun::star::uno::Reference< ::com::sun::star::container::XNameContainer >*)0)  ,        0,     0},
+            {MAP_CHAR_LEN("ParaUserDefinedAttributes"),     EE_PARA_XMLATTRIBS,     &::getCppuType((const ::com::sun::star::uno::Reference< ::com::sun::star::container::XNameContainer >*)0)  ,        0,     0},
+            {0,0,0,0,0,0}
         };
         static SvxItemPropertySet aPropSet( aPropMap, EditEngine::GetGlobalItemPool() );
         return &aPropSet;
diff --git a/editeng/source/uno/unofield.cxx b/editeng/source/uno/unofield.cxx
index baf1da9..6c818e2 100644
--- a/editeng/source/uno/unofield.cxx
+++ b/editeng/source/uno/unofield.cxx
@@ -71,62 +71,62 @@ const SfxItemPropertySet* ImplGetFieldItemPropertySet( sal_Int32 mnId )
 {
     static const SfxItemPropertyMapEntry aExDateTimeFieldPropertyMap_Impl[] =
     {
-        { UNO_TC_PROP_DATE_TIME, WID_DATE,  ::getCppuType((const util::DateTime*)0), 0, 0 },
-        { UNO_TC_PROP_IS_FIXED,  WID_BOOL1, ::getBooleanCppuType(),                  0, 0 },
-        { UNO_TC_PROP_IS_DATE,   WID_BOOL2, ::getBooleanCppuType(),                  0, 0 },
-        { UNO_TC_PROP_NUMFORMAT, WID_INT32, ::getCppuType((const sal_Int32*)0),      0, 0 },
-        {}
+        { MAP_CHAR_LEN(UNO_TC_PROP_DATE_TIME), WID_DATE,  &::getCppuType((const util::DateTime*)0), 0, 0 },
+        { MAP_CHAR_LEN(UNO_TC_PROP_IS_FIXED),  WID_BOOL1, &::getBooleanCppuType(),                  0, 0 },
+        { MAP_CHAR_LEN(UNO_TC_PROP_IS_DATE),   WID_BOOL2, &::getBooleanCppuType(),                  0, 0 },
+        { MAP_CHAR_LEN(UNO_TC_PROP_NUMFORMAT), WID_INT32, &::getCppuType((const sal_Int32*)0),      0, 0 },
+        {0,0,0,0,0,0}
     };
     static const SfxItemPropertySet aExDateTimeFieldPropertySet_Impl(aExDateTimeFieldPropertyMap_Impl);
 
     static const SfxItemPropertyMapEntry aDateTimeFieldPropertyMap_Impl[] =
     {
-        { UNO_TC_PROP_IS_DATE, WID_BOOL2, ::getBooleanCppuType(), 0, 0 },
-        {}
+        { MAP_CHAR_LEN(UNO_TC_PROP_IS_DATE), WID_BOOL2, &::getBooleanCppuType(), 0, 0 },
+        {0,0,0,0,0,0}
     };
     static const SfxItemPropertySet aDateTimeFieldPropertySet_Impl(aDateTimeFieldPropertyMap_Impl);
 
     static const SfxItemPropertyMapEntry aUrlFieldPropertyMap_Impl[] =
     {
 
-        { UNO_TC_PROP_URL_FORMAT,         WID_INT16,   ::getCppuType((const sal_Int16*)0), 0, 0 },
-        { UNO_TC_PROP_URL_REPRESENTATION, WID_STRING1, ::getCppuType((const OUString*)0),  0, 0 },
-        { UNO_TC_PROP_URL_TARGET,         WID_STRING2, ::getCppuType((const OUString*)0),  0, 0 },
-        { UNO_TC_PROP_URL,                WID_STRING3, ::getCppuType((const OUString*)0),  0, 0 },
-        {}
+        { MAP_CHAR_LEN(UNO_TC_PROP_URL_FORMAT),         WID_INT16,   &::getCppuType((const sal_Int16*)0), 0, 0 },
+        { MAP_CHAR_LEN(UNO_TC_PROP_URL_REPRESENTATION), WID_STRING1, &::getCppuType((const OUString*)0),  0, 0 },
+        { MAP_CHAR_LEN(UNO_TC_PROP_URL_TARGET),         WID_STRING2, &::getCppuType((const OUString*)0),  0, 0 },
+        { MAP_CHAR_LEN(UNO_TC_PROP_URL),                WID_STRING3, &::getCppuType((const OUString*)0),  0, 0 },
+        {0,0,0,0,0,0}
     };
     static const SfxItemPropertySet aUrlFieldPropertySet_Impl(aUrlFieldPropertyMap_Impl);
 
     static const SfxItemPropertyMapEntry aEmptyPropertyMap_Impl[] =
     {
-        {}
+        {0,0,0,0,0,0}
     };
     static const SfxItemPropertySet aEmptyPropertySet_Impl(aEmptyPropertyMap_Impl);
 
     static const SfxItemPropertyMapEntry aExtFileFieldPropertyMap_Impl[] =
     {
-        { UNO_TC_PROP_IS_FIXED,             WID_BOOL1,   ::getBooleanCppuType(),             0, 0 },
-        { UNO_TC_PROP_FILE_FORMAT,          WID_INT16,   ::getCppuType((const sal_Int16*)0), 0, 0 },
-        { UNO_TC_PROP_CURRENT_PRESENTATION, WID_STRING1, ::getCppuType((const OUString*)0),  0, 0 },
-        {}
+        { MAP_CHAR_LEN(UNO_TC_PROP_IS_FIXED),             WID_BOOL1,   &::getBooleanCppuType(),             0, 0 },
+        { MAP_CHAR_LEN(UNO_TC_PROP_FILE_FORMAT),          WID_INT16,   &::getCppuType((const sal_Int16*)0), 0, 0 },
+        { MAP_CHAR_LEN(UNO_TC_PROP_CURRENT_PRESENTATION), WID_STRING1, &::getCppuType((const OUString*)0),  0, 0 },
+        {0,0,0,0,0,0}
     };
     static const SfxItemPropertySet aExtFileFieldPropertySet_Impl(aExtFileFieldPropertyMap_Impl);
 
     static const SfxItemPropertyMapEntry aAuthorFieldPropertyMap_Impl[] =
     {
-        { UNO_TC_PROP_IS_FIXED,             WID_BOOL1,  ::getBooleanCppuType(),             0, 0 },
-        { UNO_TC_PROP_CURRENT_PRESENTATION, WID_STRING1,::getCppuType((const OUString*)0),  0, 0 },
-        { UNO_TC_PROP_AUTHOR_CONTENT,       WID_STRING2,::getCppuType((const OUString*)0),  0, 0 },
-        { UNO_TC_PROP_AUTHOR_FORMAT,        WID_INT16,  ::getCppuType((const sal_Int16*)0), 0, 0 },
-        { UNO_TC_PROP_AUTHOR_FULLNAME,      WID_BOOL2,  ::getBooleanCppuType(),             0, 0 },
-        {}
+        { MAP_CHAR_LEN(UNO_TC_PROP_IS_FIXED),             WID_BOOL1,  &::getBooleanCppuType(),             0, 0 },
+        { MAP_CHAR_LEN(UNO_TC_PROP_CURRENT_PRESENTATION), WID_STRING1,&::getCppuType((const OUString*)0),  0, 0 },
+        { MAP_CHAR_LEN(UNO_TC_PROP_AUTHOR_CONTENT),       WID_STRING2,&::getCppuType((const OUString*)0),  0, 0 },
+        { MAP_CHAR_LEN(UNO_TC_PROP_AUTHOR_FORMAT),        WID_INT16,  &::getCppuType((const sal_Int16*)0), 0, 0 },
+        { MAP_CHAR_LEN(UNO_TC_PROP_AUTHOR_FULLNAME),      WID_BOOL2,  &::getBooleanCppuType(),             0, 0 },
+        {0,0,0,0,0,0}
     };
     static const SfxItemPropertySet aAuthorFieldPropertySet_Impl(aAuthorFieldPropertyMap_Impl);
 
     static const SfxItemPropertyMapEntry aMeasureFieldPropertyMap_Impl[] =
     {
-        { UNO_TC_PROP_MEASURE_KIND, WID_INT16,  ::getCppuType((const sal_Int16*)0), 0, 0 },
-        {}
+        { MAP_CHAR_LEN(UNO_TC_PROP_MEASURE_KIND), WID_INT16,  &::getCppuType((const sal_Int16*)0), 0, 0 },
+        {0,0,0,0,0,0}
     };
     static const SfxItemPropertySet aMeasureFieldPropertySet_Impl(aMeasureFieldPropertyMap_Impl);
 
diff --git a/editeng/source/uno/unoipset.cxx b/editeng/source/uno/unoipset.cxx
index fe955ba..ed16db9b 100644
--- a/editeng/source/uno/unoipset.cxx
+++ b/editeng/source/uno/unoipset.cxx
@@ -133,13 +133,13 @@ uno::Any SvxItemPropertySet::getPropertyValue( const SfxItemPropertySimpleEntry*
                     SvxUnoConvertToMM( eMapUnit, aVal );
             }
         }
-        else if ( pMap->aType.getTypeClass() == uno::TypeClass_ENUM &&
+        else if ( pMap->pType->getTypeClass() == uno::TypeClass_ENUM &&
               aVal.getValueType() == ::getCppuType((const sal_Int32*)0) )
         {
             // convert typeless SfxEnumItem to enum type
             sal_Int32 nEnum;
             aVal >>= nEnum;
-            aVal.setValue( &nEnum, pMap->aType );
+            aVal.setValue( &nEnum, *pMap->pType );
         }
     }
     else
@@ -245,13 +245,13 @@ uno::Any SvxItemPropertySet::getPropertyValue( const SfxItemPropertySimpleEntry*
         }
     }
 
-    if ( pMap->aType.getTypeClass() == uno::TypeClass_ENUM &&
+    if ( pMap->pType->getTypeClass() == uno::TypeClass_ENUM &&
           aVal.getValueType() == ::getCppuType((const sal_Int32*)0) )
     {
         sal_Int32 nEnum;
         aVal >>= nEnum;
 
-        aVal.setValue( &nEnum, pMap->aType );
+        aVal.setValue( &nEnum, *pMap->pType );
     }
 
     return aVal;
diff --git a/editeng/source/uno/unotext.cxx b/editeng/source/uno/unotext.cxx
index adfd06f..8a63ef7 100644
--- a/editeng/source/uno/unotext.cxx
+++ b/editeng/source/uno/unotext.cxx
@@ -88,11 +88,11 @@ const SfxItemPropertyMapEntry* ImplGetSvxTextPortionPropertyMap()
         SVX_UNOEDIT_FONT_PROPERTIES,
         SVX_UNOEDIT_OUTLINER_PROPERTIES,
         SVX_UNOEDIT_PARA_PROPERTIES,
-        {"TextField",                     EE_FEATURE_FIELD,   ::getCppuType((const uno::Reference< text::XTextField >*)0),   beans::PropertyAttribute::READONLY, 0 },
-        {"TextPortionType",               WID_PORTIONTYPE,    ::getCppuType((const OUString*)0), beans::PropertyAttribute::READONLY, 0 },
-        {"TextUserDefinedAttributes",         EE_CHAR_XMLATTRIBS,     ::getCppuType((const ::com::sun::star::uno::Reference< ::com::sun::star::container::XNameContainer >*)0)  ,        0,     0},
-        {"ParaUserDefinedAttributes",         EE_PARA_XMLATTRIBS,     ::getCppuType((const ::com::sun::star::uno::Reference< ::com::sun::star::container::XNameContainer >*)0)  ,        0,     0},
-        {}
+        {MAP_CHAR_LEN("TextField"),                     EE_FEATURE_FIELD,   &::getCppuType((const uno::Reference< text::XTextField >*)0),   beans::PropertyAttribute::READONLY, 0 },
+        {MAP_CHAR_LEN("TextPortionType"),               WID_PORTIONTYPE,    &::getCppuType((const OUString*)0), beans::PropertyAttribute::READONLY, 0 },
+        {MAP_CHAR_LEN("TextUserDefinedAttributes"),         EE_CHAR_XMLATTRIBS,     &::getCppuType((const ::com::sun::star::uno::Reference< ::com::sun::star::container::XNameContainer >*)0)  ,        0,     0},
+        {MAP_CHAR_LEN("ParaUserDefinedAttributes"),         EE_PARA_XMLATTRIBS,     &::getCppuType((const ::com::sun::star::uno::Reference< ::com::sun::star::container::XNameContainer >*)0)  ,        0,     0},
+        {0,0,0,0,0,0}
     };
     return aSvxTextPortionPropertyMap;
 }
@@ -117,9 +117,9 @@ const SfxItemPropertyMapEntry* ImplGetSvxUnoOutlinerTextCursorPropertyMap()
         SVX_UNOEDIT_FONT_PROPERTIES,
         SVX_UNOEDIT_OUTLINER_PROPERTIES,
         SVX_UNOEDIT_PARA_PROPERTIES,
-        {"TextUserDefinedAttributes",         EE_CHAR_XMLATTRIBS,     ::getCppuType((const ::com::sun::star::uno::Reference< ::com::sun::star::container::XNameContainer >*)0)  ,        0,     0},
-        {"ParaUserDefinedAttributes",         EE_PARA_XMLATTRIBS,     ::getCppuType((const ::com::sun::star::uno::Reference< ::com::sun::star::container::XNameContainer >*)0)  ,        0,     0},
-        {}
+        {MAP_CHAR_LEN("TextUserDefinedAttributes"),         EE_CHAR_XMLATTRIBS,     &::getCppuType((const ::com::sun::star::uno::Reference< ::com::sun::star::container::XNameContainer >*)0)  ,        0,     0},
+        {MAP_CHAR_LEN("ParaUserDefinedAttributes"),         EE_PARA_XMLATTRIBS,     &::getCppuType((const ::com::sun::star::uno::Reference< ::com::sun::star::container::XNameContainer >*)0)  ,        0,     0},
+        {0,0,0,0,0,0}
     };
 
     return aSvxUnoOutlinerTextCursorPropertyMap;
diff --git a/editeng/source/xml/xmltxtexp.cxx b/editeng/source/xml/xmltxtexp.cxx
index 9a8a99c..6d3523c 100644
--- a/editeng/source/xml/xmltxtexp.cxx
+++ b/editeng/source/xml/xmltxtexp.cxx
@@ -382,11 +382,11 @@ SvxXMLTextExportComponent::SvxXMLTextExportComponent(
         SVX_UNOEDIT_CHAR_PROPERTIES,
         SVX_UNOEDIT_FONT_PROPERTIES,
 //      SVX_UNOEDIT_OUTLINER_PROPERTIES,
-        {UNO_NAME_NUMBERING_RULES,        EE_PARA_NUMBULLET,  ::getCppuType((const ::com::sun::star::uno::Reference< ::com::sun::star::container::XIndexReplace>*)0), 0, 0 },
-        {UNO_NAME_NUMBERING,              EE_PARA_BULLETSTATE,::getBooleanCppuType(), 0, 0 },
-        {UNO_NAME_NUMBERING_LEVEL,        EE_PARA_OUTLLEVEL,  ::getCppuType((const sal_Int16*)0), 0, 0 },
+        {MAP_CHAR_LEN(UNO_NAME_NUMBERING_RULES),        EE_PARA_NUMBULLET,  &::getCppuType((const ::com::sun::star::uno::Reference< ::com::sun::star::container::XIndexReplace>*)0), 0, 0 },
+        {MAP_CHAR_LEN(UNO_NAME_NUMBERING),              EE_PARA_BULLETSTATE,&::getBooleanCppuType(), 0, 0 },
+        {MAP_CHAR_LEN(UNO_NAME_NUMBERING_LEVEL),        EE_PARA_OUTLLEVEL,  &::getCppuType((const sal_Int16*)0), 0, 0 },
         SVX_UNOEDIT_PARA_PROPERTIES,
-        {}
+        {0,0,0,0,0,0}
     };
     static SvxItemPropertySet aSvxXMLTextExportComponentPropertySet( SvxXMLTextExportComponentPropertyMap, EditEngine::GetGlobalItemPool() );
 
diff --git a/editeng/source/xml/xmltxtimp.cxx b/editeng/source/xml/xmltxtimp.cxx
index e48203b..5220dbf 100644
--- a/editeng/source/xml/xmltxtimp.cxx
+++ b/editeng/source/xml/xmltxtimp.cxx
@@ -147,7 +147,7 @@ void SvxReadXML( EditEngine& rEditEngine, SvStream& rStream, const ESelection& r
         SVX_UNOEDIT_FONT_PROPERTIES,
 //      SVX_UNOEDIT_OUTLINER_PROPERTIES,
         SVX_UNOEDIT_PARA_PROPERTIES,
-        {}
+        {0,0,0,0,0,0}
     };
     static SvxItemPropertySet aSvxXMLTextImportComponentPropertySet( SvxXMLTextImportComponentPropertyMap, EditEngine::GetGlobalItemPool() );
 
diff --git a/extensions/source/bibliography/bibload.cxx b/extensions/source/bibliography/bibload.cxx
index bc7efa2..94e5e0a 100644
--- a/extensions/source/bibliography/bibload.cxx
+++ b/extensions/source/bibliography/bibload.cxx
@@ -577,8 +577,8 @@ Reference< XPropertySetInfo >  BibliographyLoader::getPropertySetInfo(void) thro
 {
     static const SfxItemPropertyMapEntry aBibProps_Impl[] =
     {
-        { "BibliographyDataFieldNames", 0, ::getCppuType((Sequence<PropertyValue>*)0), PropertyAttribute::READONLY, 0},
-        {}
+        { MAP_CHAR_LEN("BibliographyDataFieldNames"), 0, &::getCppuType((Sequence<PropertyValue>*)0), PropertyAttribute::READONLY, 0},
+        {0,0,0,0,0,0}
     };
     static Reference< XPropertySetInfo >  xRet =
         SfxItemPropertySet(aBibProps_Impl).getPropertySetInfo();
diff --git a/filter/source/xmlfilteradaptor/XmlFilterAdaptor.cxx b/filter/source/xmlfilteradaptor/XmlFilterAdaptor.cxx
index 3c53b33..5ad8a22 100644
--- a/filter/source/xmlfilteradaptor/XmlFilterAdaptor.cxx
+++ b/filter/source/xmlfilteradaptor/XmlFilterAdaptor.cxx
@@ -63,6 +63,9 @@ using namespace com::sun::star::xml::sax;
 using namespace ::com::sun::star::frame;
 using namespace ::com::sun::star::task;
 
+
+#define MAP_LEN(x) x, sizeof(x) - 1
+
 sal_Bool SAL_CALL XmlFilterAdaptor::importImpl( const Sequence< ::com::sun::star::beans::PropertyValue >& aDescriptor )
     throw (RuntimeException)
 {
@@ -95,8 +98,8 @@ sal_Bool SAL_CALL XmlFilterAdaptor::importImpl( const Sequence< ::com::sun::star
     // create an XProperty set to configure the exporter for pretty printing
     PropertyMapEntry aImportInfoMap[] =
      {
-        { "BaseURI", 0, ::getCppuType((const OUString*)0), PropertyAttribute::MAYBEVOID, 0},
-         {}
+        { MAP_LEN( "BaseURI" ), 0, &::getCppuType((const OUString*)0), PropertyAttribute::MAYBEVOID, 0},
+         { NULL, 0, 0, NULL, 0, 0 }
      };
 
      Reference< XPropertySet > xInfoSet(
@@ -253,10 +256,10 @@ sal_Bool SAL_CALL XmlFilterAdaptor::exportImpl( const Sequence< ::com::sun::star
         // create an XProperty set to configure the exporter for pretty printing
          PropertyMapEntry aImportInfoMap[] =
          {
-             { "UsePrettyPrinting", 0, ::getCppuType((const sal_Bool*)0), PropertyAttribute::MAYBEVOID, 0},
-             { "ExportTextNumberElement", 0, ::getCppuType((const sal_Bool*)0), PropertyAttribute::MAYBEVOID, 0},
-             { "BaseURI", 0, ::getCppuType((const OUString*)0), PropertyAttribute::MAYBEVOID, 0},
-             {}
+             { MAP_LEN( "UsePrettyPrinting" ), 0, &::getCppuType((const sal_Bool*)0), PropertyAttribute::MAYBEVOID, 0},
+            { MAP_LEN( "ExportTextNumberElement" ), 0, &::getCppuType((const sal_Bool*)0), PropertyAttribute::MAYBEVOID, 0},
+            { MAP_LEN( "BaseURI" ), 0, &::getCppuType((const OUString*)0), PropertyAttribute::MAYBEVOID, 0},
+             { NULL, 0, 0, NULL, 0, 0 }
          };
 
          Reference< XPropertySet > xInfoSet(
diff --git a/forms/source/richtext/richtextunowrapper.cxx b/forms/source/richtext/richtextunowrapper.cxx
index 1b0810d..817bf2f 100644
--- a/forms/source/richtext/richtextunowrapper.cxx
+++ b/forms/source/richtext/richtextunowrapper.cxx
@@ -49,9 +49,9 @@ namespace frm
                 SVX_UNOEDIT_CHAR_PROPERTIES,
                 SVX_UNOEDIT_FONT_PROPERTIES,
                 SVX_UNOEDIT_PARA_PROPERTIES,
-                { "TextUserDefinedAttributes", EE_CHAR_XMLATTRIBS, ::getCppuType( static_cast< const Reference< XNameContainer >* >( NULL ) ), 0, 0 },
-                { "ParaUserDefinedAttributes", EE_PARA_XMLATTRIBS, ::getCppuType( static_cast< const Reference< XNameContainer >* >( NULL ) ), 0, 0 },
-                {}
+                { MAP_CHAR_LEN("TextUserDefinedAttributes"), EE_CHAR_XMLATTRIBS, &::getCppuType( static_cast< const Reference< XNameContainer >* >( NULL ) ), 0, 0 },
+                { MAP_CHAR_LEN("ParaUserDefinedAttributes"), EE_PARA_XMLATTRIBS, &::getCppuType( static_cast< const Reference< XNameContainer >* >( NULL ) ), 0, 0 },
+                { NULL, 0, 0, NULL, 0, 0 }
             };
             static SvxItemPropertySet aTextEnginePropertySet( aTextEnginePropertyMap, SdrObject::GetGlobalDrawObjectItemPool() );
             return &aTextEnginePropertySet;
diff --git a/include/comphelper/TypeGeneration.hxx b/include/comphelper/TypeGeneration.hxx
index 0b70e4a..6e03c0b 100644
--- a/include/comphelper/TypeGeneration.hxx
+++ b/include/comphelper/TypeGeneration.hxx
@@ -23,6 +23,8 @@
 #include <sal/types.h>
 #include <comphelper/comphelperdllapi.h>
 
+#define CPPU_E2T(type)      ((com::sun::star::uno::Type*)type)
+
 namespace com { namespace sun { namespace star { namespace uno {
     class Type;
 } } } }
diff --git a/include/comphelper/propertysetinfo.hxx b/include/comphelper/propertysetinfo.hxx
index 71863b0..34b12e1 100644
--- a/include/comphelper/propertysetinfo.hxx
+++ b/include/comphelper/propertysetinfo.hxx
@@ -39,14 +39,15 @@ namespace comphelper
 
 struct PropertyMapEntry
 {
-    OUString maName;
+    const sal_Char* mpName;
+    sal_uInt16 mnNameLen;
     sal_Int32 mnHandle;
-    com::sun::star::uno::Type maType;
+    const com::sun::star::uno::Type* mpType;
     sal_Int16 mnAttributes;
     sal_uInt8 mnMemberId;
 };
 
-typedef std::map<OUString, PropertyMapEntry const *> PropertyMap;
+typedef std::map<OUString, PropertyMapEntry*> PropertyMap;
 
 class PropertyMapImpl;
 
@@ -59,7 +60,7 @@ private:
     PropertyMapImpl* mpMap;
 public:
     PropertySetInfo() throw();
-    PropertySetInfo( PropertyMapEntry const * pMap ) throw();
+    PropertySetInfo( PropertyMapEntry* pMap ) throw();
     virtual ~PropertySetInfo() throw();
 
     /** returns a stl map with all PropertyMapEntry pointer.<p>
@@ -70,7 +71,7 @@ public:
     /** adds an array of PropertyMapEntry to this instance.<p>
         The end is marked with a PropertyMapEntry where mpName equals NULL</p>
     */
-    void add( PropertyMapEntry const * pMap ) throw();
+    void add( PropertyMapEntry* pMap ) throw();
 
     /** removes an already added PropertyMapEntry which string in mpName equals to aName */
     void remove( const OUString& aName ) throw();
diff --git a/include/editeng/unotext.hxx b/include/editeng/unotext.hxx
index 61f49a7..8c9da3f 100644
--- a/include/editeng/unotext.hxx
+++ b/include/editeng/unotext.hxx
@@ -69,81 +69,81 @@ class SvxItemPropertySet;
 #define WID_PARAISNUMBERINGRESTART  OWN_ATTR_VALUE_START+4
 
 #define SVX_UNOEDIT_NUMBERING_PROPERTIE \
-    {UNO_NAME_NUMBERING_RULES,        EE_PARA_NUMBULLET,  ::getCppuType((const ::com::sun::star::uno::Reference< ::com::sun::star::container::XIndexReplace>*)0), 0, 0 }, \
-    {UNO_NAME_NUMBERING,              EE_PARA_BULLETSTATE,::getBooleanCppuType(), 0, 0 }
+    {MAP_CHAR_LEN(UNO_NAME_NUMBERING_RULES),        EE_PARA_NUMBULLET,  &::getCppuType((const ::com::sun::star::uno::Reference< ::com::sun::star::container::XIndexReplace>*)0), 0, 0 }, \
+    {MAP_CHAR_LEN(UNO_NAME_NUMBERING),              EE_PARA_BULLETSTATE,&::getBooleanCppuType(), 0, 0 }
 
 #define SVX_UNOEDIT_OUTLINER_PROPERTIES \
     SVX_UNOEDIT_NUMBERING_PROPERTIE, \
-    {UNO_NAME_NUMBERING_LEVEL,        WID_NUMLEVEL,       ::getCppuType((const sal_Int16*)0), 0, 0 }, \
-    {"NumberingStartValue",           WID_NUMBERINGSTARTVALUE, ::getCppuType((const sal_Int16*)0), 0, 0 }, \
-    {"ParaIsNumberingRestart",        WID_PARAISNUMBERINGRESTART, ::getBooleanCppuType(), 0, 0 }
+    {MAP_CHAR_LEN(UNO_NAME_NUMBERING_LEVEL),        WID_NUMLEVEL,       &::getCppuType((const sal_Int16*)0), 0, 0 }, \
+    {MAP_CHAR_LEN("NumberingStartValue"),           WID_NUMBERINGSTARTVALUE, &::getCppuType((const sal_Int16*)0), 0, 0 }, \
+    {MAP_CHAR_LEN("ParaIsNumberingRestart"),        WID_PARAISNUMBERINGRESTART, &::getBooleanCppuType(), 0, 0 }
 
 #define SVX_UNOEDIT_CHAR_PROPERTIES \
-    { UNO_NAME_EDIT_CHAR_HEIGHT,      EE_CHAR_FONTHEIGHT, ::getCppuType((const float*)0),            0, MID_FONTHEIGHT|CONVERT_TWIPS }, \
-    { "CharScaleWidth",               EE_CHAR_FONTWIDTH,  ::getCppuType((const sal_Int16*)0),    0, 0 }, \
-    { UNO_NAME_EDIT_CHAR_FONTNAME,    EE_CHAR_FONTINFO,   ::getCppuType((const OUString*)0),  0, MID_FONT_FAMILY_NAME },\
-    { UNO_NAME_EDIT_CHAR_FONTSTYLENAME,EE_CHAR_FONTINFO,  ::getCppuType((const OUString*)0),  0, MID_FONT_STYLE_NAME }, \
-    { UNO_NAME_EDIT_CHAR_FONTFAMILY,  EE_CHAR_FONTINFO,   ::getCppuType((const sal_Int16*)0),        0, MID_FONT_FAMILY }, \
-    { UNO_NAME_EDIT_CHAR_FONTCHARSET, EE_CHAR_FONTINFO,   ::getCppuType((const sal_Int16*)0),        0, MID_FONT_CHAR_SET }, \
-    { UNO_NAME_EDIT_CHAR_FONTPITCH,   EE_CHAR_FONTINFO,   ::getCppuType((const sal_Int16*)0),        0, MID_FONT_PITCH }, \
-    { UNO_NAME_EDIT_CHAR_POSTURE,     EE_CHAR_ITALIC,     ::getCppuType((const ::com::sun::star::awt::FontSlant*)0),0, MID_POSTURE }, \
-    { UNO_NAME_EDIT_CHAR_WEIGHT,      EE_CHAR_WEIGHT,     ::getCppuType((const float*)0),            0, MID_WEIGHT }, \
-    { UNO_NAME_EDIT_CHAR_LOCALE,      EE_CHAR_LANGUAGE,   ::getCppuType((const ::com::sun::star::lang::Locale*)0),0, MID_LANG_LOCALE }, \
-    { UNO_NAME_EDIT_CHAR_COLOR,       EE_CHAR_COLOR,      ::getCppuType((const sal_Int32*)0),        0, 0 }, \
-    { UNO_NAME_EDIT_CHAR_ESCAPEMENT,  EE_CHAR_ESCAPEMENT, ::getCppuType((const sal_Int16*)0),        0, MID_ESC }, \
-    { UNO_NAME_EDIT_CHAR_UNDERLINE,   EE_CHAR_UNDERLINE,  ::getCppuType((const sal_Int16*)0),        0, MID_TL_STYLE }, \
-    { "CharUnderlineColor",           EE_CHAR_UNDERLINE,  ::getCppuType((const sal_Int32*)0),        0, MID_TL_COLOR }, \
-    { "CharUnderlineHasColor",        EE_CHAR_UNDERLINE,  ::getBooleanCppuType(),                    0, MID_TL_HASCOLOR } , \
-    { UNO_NAME_EDIT_CHAR_OVERLINE,    EE_CHAR_OVERLINE,   ::getCppuType((const sal_Int16*)0),        0, MID_TL_STYLE }, \
-    { "CharOverlineColor",            EE_CHAR_OVERLINE,   ::getCppuType((const sal_Int32*)0),        0, MID_TL_COLOR }, \
-    { "CharOverlineHasColor",         EE_CHAR_OVERLINE,   ::getBooleanCppuType(),                    0, MID_TL_HASCOLOR } , \
-    { UNO_NAME_EDIT_CHAR_CROSSEDOUT,  EE_CHAR_STRIKEOUT,  ::getBooleanCppuType(),                    0, MID_CROSSED_OUT }, \
-    { UNO_NAME_EDIT_CHAR_STRIKEOUT,   EE_CHAR_STRIKEOUT,  ::getCppuType((const sal_Int16*)0),        0, MID_CROSS_OUT}, \
-    { UNO_NAME_EDIT_CHAR_SHADOWED,    EE_CHAR_SHADOW,     ::getBooleanCppuType(),                    0, 0 }, \
-    { "CharContoured",                EE_CHAR_OUTLINE,    ::getBooleanCppuType(),                    0, 0 }, \
-    { "CharEscapementHeight",         EE_CHAR_ESCAPEMENT, ::getCppuType((const sal_Int8*)0),         0, MID_ESC_HEIGHT },\
-    { "CharAutoKerning",              EE_CHAR_PAIRKERNING,::getBooleanCppuType(),                    0, 0 } , \
-    { "CharKerning",                  EE_CHAR_KERNING,    ::getCppuType((const sal_Int16*)0)  ,      0, 0 }, \
-    { "CharWordMode",                 EE_CHAR_WLM,        ::getBooleanCppuType(),                    0, 0 }, \
-    { "CharEmphasis",                 EE_CHAR_EMPHASISMARK, ::getCppuType((const sal_Int16*)0),       0, MID_EMPHASIS},\
-    { UNO_NAME_EDIT_CHAR_HEIGHT_ASIAN,        EE_CHAR_FONTHEIGHT_CJK, ::getCppuType((const float*)0),            0, MID_FONTHEIGHT|CONVERT_TWIPS }, \
-    { UNO_NAME_EDIT_CHAR_FONTNAME_ASIAN,      EE_CHAR_FONTINFO_CJK,   ::getCppuType((const OUString*)0),  0, MID_FONT_FAMILY_NAME },\
-    { UNO_NAME_EDIT_CHAR_FONTSTYLENAME_ASIAN, EE_CHAR_FONTINFO_CJK,   ::getCppuType((const OUString*)0),  0, MID_FONT_STYLE_NAME }, \
-    { UNO_NAME_EDIT_CHAR_FONTFAMILY_ASIAN,    EE_CHAR_FONTINFO_CJK,   ::getCppuType((const sal_Int16*)0),        0, MID_FONT_FAMILY }, \
-    { UNO_NAME_EDIT_CHAR_FONTCHARSET_ASIAN,   EE_CHAR_FONTINFO_CJK,   ::getCppuType((const sal_Int16*)0),        0, MID_FONT_CHAR_SET }, \
-    { UNO_NAME_EDIT_CHAR_FONTPITCH_ASIAN,     EE_CHAR_FONTINFO_CJK,   ::getCppuType((const sal_Int16*)0),        0, MID_FONT_PITCH }, \
-    { UNO_NAME_EDIT_CHAR_POSTURE_ASIAN,       EE_CHAR_ITALIC_CJK,     ::getCppuType((const ::com::sun::star::awt::FontSlant*)0),0, MID_POSTURE }, \
-    { UNO_NAME_EDIT_CHAR_WEIGHT_ASIAN,        EE_CHAR_WEIGHT_CJK,     ::getCppuType((const float*)0),            0, MID_WEIGHT }, \
-    { UNO_NAME_EDIT_CHAR_LOCALE_ASIAN,        EE_CHAR_LANGUAGE_CJK,   ::getCppuType((const ::com::sun::star::lang::Locale*)0),0, MID_LANG_LOCALE }, \
-    { UNO_NAME_EDIT_CHAR_HEIGHT_COMPLEX,      EE_CHAR_FONTHEIGHT_CTL, ::getCppuType((const float*)0),            0, MID_FONTHEIGHT|CONVERT_TWIPS }, \
-    { UNO_NAME_EDIT_CHAR_FONTNAME_COMPLEX,    EE_CHAR_FONTINFO_CTL,   ::getCppuType((const OUString*)0),  0, MID_FONT_FAMILY_NAME },\
-    { UNO_NAME_EDIT_CHAR_FONTSTYLENAME_COMPLEX,EE_CHAR_FONTINFO_CTL,  ::getCppuType((const OUString*)0),  0, MID_FONT_STYLE_NAME }, \
-    { UNO_NAME_EDIT_CHAR_FONTFAMILY_COMPLEX,  EE_CHAR_FONTINFO_CTL,   ::getCppuType((const sal_Int16*)0),        0, MID_FONT_FAMILY }, \
-    { UNO_NAME_EDIT_CHAR_FONTCHARSET_COMPLEX, EE_CHAR_FONTINFO_CTL,   ::getCppuType((const sal_Int16*)0),        0, MID_FONT_CHAR_SET }, \
-    { UNO_NAME_EDIT_CHAR_FONTPITCH_COMPLEX,   EE_CHAR_FONTINFO_CTL,   ::getCppuType((const sal_Int16*)0),        0, MID_FONT_PITCH }, \
-    { UNO_NAME_EDIT_CHAR_POSTURE_COMPLEX,     EE_CHAR_ITALIC_CTL,     ::getCppuType((const ::com::sun::star::awt::FontSlant*)0),0, MID_POSTURE }, \
-    { UNO_NAME_EDIT_CHAR_WEIGHT_COMPLEX,      EE_CHAR_WEIGHT_CTL,     ::getCppuType((const float*)0),            0, MID_WEIGHT }, \
-    { UNO_NAME_EDIT_CHAR_LOCALE_COMPLEX,      EE_CHAR_LANGUAGE_CTL,   ::getCppuType((const ::com::sun::star::lang::Locale*)0),0, MID_LANG_LOCALE }, \
-    { "CharRelief",                           EE_CHAR_RELIEF,         ::getCppuType((const sal_Int16*)0),    0, MID_RELIEF }
+    { MAP_CHAR_LEN(UNO_NAME_EDIT_CHAR_HEIGHT),      EE_CHAR_FONTHEIGHT, &::getCppuType((const float*)0),            0, MID_FONTHEIGHT|CONVERT_TWIPS }, \
+    { MAP_CHAR_LEN("CharScaleWidth"),               EE_CHAR_FONTWIDTH,      &::getCppuType((const sal_Int16*)0),    0, 0 }, \
+    { MAP_CHAR_LEN(UNO_NAME_EDIT_CHAR_FONTNAME),    EE_CHAR_FONTINFO,   &::getCppuType((const OUString*)0),  0, MID_FONT_FAMILY_NAME },\
+    { MAP_CHAR_LEN(UNO_NAME_EDIT_CHAR_FONTSTYLENAME),EE_CHAR_FONTINFO,  &::getCppuType((const OUString*)0),  0, MID_FONT_STYLE_NAME }, \
+    { MAP_CHAR_LEN(UNO_NAME_EDIT_CHAR_FONTFAMILY),  EE_CHAR_FONTINFO,   &::getCppuType((const sal_Int16*)0),        0, MID_FONT_FAMILY }, \
+    { MAP_CHAR_LEN(UNO_NAME_EDIT_CHAR_FONTCHARSET), EE_CHAR_FONTINFO,   &::getCppuType((const sal_Int16*)0),        0, MID_FONT_CHAR_SET }, \
+    { MAP_CHAR_LEN(UNO_NAME_EDIT_CHAR_FONTPITCH),   EE_CHAR_FONTINFO,   &::getCppuType((const sal_Int16*)0),        0, MID_FONT_PITCH }, \
+    { MAP_CHAR_LEN(UNO_NAME_EDIT_CHAR_POSTURE),     EE_CHAR_ITALIC,     &::getCppuType((const ::com::sun::star::awt::FontSlant*)0),0, MID_POSTURE }, \
+    { MAP_CHAR_LEN(UNO_NAME_EDIT_CHAR_WEIGHT),      EE_CHAR_WEIGHT,     &::getCppuType((const float*)0),            0, MID_WEIGHT }, \
+    { MAP_CHAR_LEN(UNO_NAME_EDIT_CHAR_LOCALE),      EE_CHAR_LANGUAGE,   &::getCppuType((const ::com::sun::star::lang::Locale*)0),0, MID_LANG_LOCALE }, \
+    { MAP_CHAR_LEN(UNO_NAME_EDIT_CHAR_COLOR),       EE_CHAR_COLOR,      &::getCppuType((const sal_Int32*)0),        0, 0 }, \
+    { MAP_CHAR_LEN(UNO_NAME_EDIT_CHAR_ESCAPEMENT),  EE_CHAR_ESCAPEMENT, &::getCppuType((const sal_Int16*)0),        0, MID_ESC }, \
+    { MAP_CHAR_LEN(UNO_NAME_EDIT_CHAR_UNDERLINE),   EE_CHAR_UNDERLINE,  &::getCppuType((const sal_Int16*)0),        0, MID_TL_STYLE }, \
+    { MAP_CHAR_LEN("CharUnderlineColor"),           EE_CHAR_UNDERLINE,  &::getCppuType((const sal_Int32*)0),        0, MID_TL_COLOR }, \
+    { MAP_CHAR_LEN("CharUnderlineHasColor"),        EE_CHAR_UNDERLINE,  &::getBooleanCppuType(),                    0, MID_TL_HASCOLOR } , \
+    { MAP_CHAR_LEN(UNO_NAME_EDIT_CHAR_OVERLINE),    EE_CHAR_OVERLINE,   &::getCppuType((const sal_Int16*)0),        0, MID_TL_STYLE }, \
+    { MAP_CHAR_LEN("CharOverlineColor"),            EE_CHAR_OVERLINE,   &::getCppuType((const sal_Int32*)0),        0, MID_TL_COLOR }, \
+    { MAP_CHAR_LEN("CharOverlineHasColor"),         EE_CHAR_OVERLINE,   &::getBooleanCppuType(),                    0, MID_TL_HASCOLOR } , \
+    { MAP_CHAR_LEN(UNO_NAME_EDIT_CHAR_CROSSEDOUT),  EE_CHAR_STRIKEOUT,  &::getBooleanCppuType(),                    0, MID_CROSSED_OUT }, \
+    { MAP_CHAR_LEN(UNO_NAME_EDIT_CHAR_STRIKEOUT),   EE_CHAR_STRIKEOUT,  &::getCppuType((const sal_Int16*)0),        0, MID_CROSS_OUT}, \
+    { MAP_CHAR_LEN(UNO_NAME_EDIT_CHAR_SHADOWED),    EE_CHAR_SHADOW,     &::getBooleanCppuType(),                    0, 0 }, \
+    { MAP_CHAR_LEN("CharContoured"),                EE_CHAR_OUTLINE,    &::getBooleanCppuType(),                    0, 0 }, \
+    { MAP_CHAR_LEN("CharEscapementHeight"),         EE_CHAR_ESCAPEMENT, &::getCppuType((const sal_Int8*)0),         0, MID_ESC_HEIGHT },\
+    { MAP_CHAR_LEN("CharAutoKerning"),              EE_CHAR_PAIRKERNING,&::getBooleanCppuType(),                    0, 0 } , \
+    { MAP_CHAR_LEN("CharKerning"),                  EE_CHAR_KERNING,    &::getCppuType((const sal_Int16*)0)  ,      0, 0 }, \
+    { MAP_CHAR_LEN("CharWordMode"),                 EE_CHAR_WLM,        &::getBooleanCppuType(),                    0, 0 }, \
+    { MAP_CHAR_LEN("CharEmphasis"),                 EE_CHAR_EMPHASISMARK,&::getCppuType((const sal_Int16*)0),       0, MID_EMPHASIS},\
+    { MAP_CHAR_LEN(UNO_NAME_EDIT_CHAR_HEIGHT_ASIAN),        EE_CHAR_FONTHEIGHT_CJK, &::getCppuType((const float*)0),            0, MID_FONTHEIGHT|CONVERT_TWIPS }, \
+    { MAP_CHAR_LEN(UNO_NAME_EDIT_CHAR_FONTNAME_ASIAN),      EE_CHAR_FONTINFO_CJK,   &::getCppuType((const OUString*)0),  0, MID_FONT_FAMILY_NAME },\
+    { MAP_CHAR_LEN(UNO_NAME_EDIT_CHAR_FONTSTYLENAME_ASIAN), EE_CHAR_FONTINFO_CJK,   &::getCppuType((const OUString*)0),  0, MID_FONT_STYLE_NAME }, \
+    { MAP_CHAR_LEN(UNO_NAME_EDIT_CHAR_FONTFAMILY_ASIAN),    EE_CHAR_FONTINFO_CJK,   &::getCppuType((const sal_Int16*)0),        0, MID_FONT_FAMILY }, \
+    { MAP_CHAR_LEN(UNO_NAME_EDIT_CHAR_FONTCHARSET_ASIAN),   EE_CHAR_FONTINFO_CJK,   &::getCppuType((const sal_Int16*)0),        0, MID_FONT_CHAR_SET }, \
+    { MAP_CHAR_LEN(UNO_NAME_EDIT_CHAR_FONTPITCH_ASIAN),     EE_CHAR_FONTINFO_CJK,   &::getCppuType((const sal_Int16*)0),        0, MID_FONT_PITCH }, \
+    { MAP_CHAR_LEN(UNO_NAME_EDIT_CHAR_POSTURE_ASIAN),       EE_CHAR_ITALIC_CJK,     &::getCppuType((const ::com::sun::star::awt::FontSlant*)0),0, MID_POSTURE }, \
+    { MAP_CHAR_LEN(UNO_NAME_EDIT_CHAR_WEIGHT_ASIAN),        EE_CHAR_WEIGHT_CJK,     &::getCppuType((const float*)0),            0, MID_WEIGHT }, \
+    { MAP_CHAR_LEN(UNO_NAME_EDIT_CHAR_LOCALE_ASIAN),        EE_CHAR_LANGUAGE_CJK,   &::getCppuType((const ::com::sun::star::lang::Locale*)0),0, MID_LANG_LOCALE }, \
+    { MAP_CHAR_LEN(UNO_NAME_EDIT_CHAR_HEIGHT_COMPLEX),      EE_CHAR_FONTHEIGHT_CTL, &::getCppuType((const float*)0),            0, MID_FONTHEIGHT|CONVERT_TWIPS }, \
+    { MAP_CHAR_LEN(UNO_NAME_EDIT_CHAR_FONTNAME_COMPLEX),    EE_CHAR_FONTINFO_CTL,   &::getCppuType((const OUString*)0),  0, MID_FONT_FAMILY_NAME },\
+    {MAP_CHAR_LEN(UNO_NAME_EDIT_CHAR_FONTSTYLENAME_COMPLEX),EE_CHAR_FONTINFO_CTL,   &::getCppuType((const OUString*)0),  0, MID_FONT_STYLE_NAME }, \
+    { MAP_CHAR_LEN(UNO_NAME_EDIT_CHAR_FONTFAMILY_COMPLEX),  EE_CHAR_FONTINFO_CTL,   &::getCppuType((const sal_Int16*)0),        0, MID_FONT_FAMILY }, \
+    { MAP_CHAR_LEN(UNO_NAME_EDIT_CHAR_FONTCHARSET_COMPLEX), EE_CHAR_FONTINFO_CTL,   &::getCppuType((const sal_Int16*)0),        0, MID_FONT_CHAR_SET }, \
+    { MAP_CHAR_LEN(UNO_NAME_EDIT_CHAR_FONTPITCH_COMPLEX),   EE_CHAR_FONTINFO_CTL,   &::getCppuType((const sal_Int16*)0),        0, MID_FONT_PITCH }, \
+    { MAP_CHAR_LEN(UNO_NAME_EDIT_CHAR_POSTURE_COMPLEX),     EE_CHAR_ITALIC_CTL,     &::getCppuType((const ::com::sun::star::awt::FontSlant*)0),0, MID_POSTURE }, \
+    { MAP_CHAR_LEN(UNO_NAME_EDIT_CHAR_WEIGHT_COMPLEX),      EE_CHAR_WEIGHT_CTL,     &::getCppuType((const float*)0),            0, MID_WEIGHT }, \
+    { MAP_CHAR_LEN(UNO_NAME_EDIT_CHAR_LOCALE_COMPLEX),      EE_CHAR_LANGUAGE_CTL,   &::getCppuType((const ::com::sun::star::lang::Locale*)0),0, MID_LANG_LOCALE }, \
+    { MAP_CHAR_LEN("CharRelief"            ),               EE_CHAR_RELIEF,         &::getCppuType((const sal_Int16*)0),    0, MID_RELIEF }
 
 #define SVX_UNOEDIT_FONT_PROPERTIES \
-    {UNO_NAME_EDIT_FONT_DESCRIPTOR,   WID_FONTDESC,       ::getCppuType((const ::com::sun::star::awt::FontDescriptor*)0),    0, MID_FONT_FAMILY_NAME }
+    {MAP_CHAR_LEN(UNO_NAME_EDIT_FONT_DESCRIPTOR),   WID_FONTDESC,       &::getCppuType((const ::com::sun::star::awt::FontDescriptor*)0),    0, MID_FONT_FAMILY_NAME }
 
 #define SVX_UNOEDIT_PARA_PROPERTIES \
-    {UNO_NAME_EDIT_PARA_ADJUST,       EE_PARA_JUST,               ::getCppuType((const sal_Int16*)0),            0, MID_PARA_ADJUST }, \
-    {UNO_NAME_EDIT_PARA_BMARGIN,      EE_PARA_ULSPACE,            ::getCppuType((const sal_Int32*)0),            0, MID_LO_MARGIN|SFX_METRIC_ITEM }, \
-    {UNO_NAME_EDIT_PARA_IS_HYPHEN,    EE_PARA_HYPHENATE,          ::getBooleanCppuType(),                0, 0 }, \
-    {UNO_NAME_EDIT_PARA_LASTLINEADJ,  EE_PARA_JUST,               ::getCppuType((const sal_Int16*)0),            0, MID_LAST_LINE_ADJUST }, \
-    {UNO_NAME_EDIT_PARA_LMARGIN,      EE_PARA_LRSPACE,            ::getCppuType((const sal_Int32*)0),            0, MID_TXT_LMARGIN|SFX_METRIC_ITEM }, \
-    {UNO_NAME_EDIT_PARA_LINESPACING,  EE_PARA_SBL,                ::getCppuType((const ::com::sun::star::style::LineSpacing*)0),     0, 0 }, \
-    {UNO_NAME_EDIT_PARA_RMARGIN,      EE_PARA_LRSPACE,            ::getCppuType((const sal_Int32*)0),            0, MID_R_MARGIN|SFX_METRIC_ITEM }, \
-    {UNO_NAME_EDIT_PARA_TAPSTOPS,     EE_PARA_TABS,               ::getCppuType((const ::com::sun::star::uno::Sequence< ::com::sun::star::style::TabStop >*)0), 0, 0 }, \
-    {UNO_NAME_EDIT_PARA_TMARGIN,      EE_PARA_ULSPACE,            ::getCppuType((const sal_Int32*)0),            0, MID_UP_MARGIN|SFX_METRIC_ITEM },\
-    {UNO_NAME_EDIT_PARA_FIRST_LINE_INDENT,     EE_PARA_LRSPACE,       ::getCppuType((const sal_Int32*)0),            0, MID_FIRST_LINE_INDENT|SFX_METRIC_ITEM}, \
-    {UNO_NAME_EDIT_PARA_IS_HANGING_PUNCTUATION,EE_PARA_HANGINGPUNCTUATION,    ::getBooleanCppuType(),                0 ,0 }, \
-    {UNO_NAME_EDIT_PARA_IS_CHARACTER_DISTANCE, EE_PARA_ASIANCJKSPACING,   ::getBooleanCppuType(),                0 ,0 }, \
-    {UNO_NAME_EDIT_PARA_IS_FORBIDDEN_RULES,    EE_PARA_FORBIDDENRULES,        ::getBooleanCppuType(),                0 ,0 },\
-    {"WritingMode",                   EE_PARA_WRITINGDIR,         ::getCppuType((const sal_Int16*)0),            0, 0 }
+    {MAP_CHAR_LEN(UNO_NAME_EDIT_PARA_ADJUST),       EE_PARA_JUST,               &::getCppuType((const sal_Int16*)0),            0, MID_PARA_ADJUST }, \
+    {MAP_CHAR_LEN(UNO_NAME_EDIT_PARA_BMARGIN),      EE_PARA_ULSPACE,            &::getCppuType((const sal_Int32*)0),            0, MID_LO_MARGIN|SFX_METRIC_ITEM }, \
+    {MAP_CHAR_LEN(UNO_NAME_EDIT_PARA_IS_HYPHEN),    EE_PARA_HYPHENATE,          &::getBooleanCppuType(),                0, 0 }, \
+    {MAP_CHAR_LEN(UNO_NAME_EDIT_PARA_LASTLINEADJ),  EE_PARA_JUST,               &::getCppuType((const sal_Int16*)0),            0, MID_LAST_LINE_ADJUST }, \
+    {MAP_CHAR_LEN(UNO_NAME_EDIT_PARA_LMARGIN),      EE_PARA_LRSPACE,            &::getCppuType((const sal_Int32*)0),            0, MID_TXT_LMARGIN|SFX_METRIC_ITEM }, \
+    {MAP_CHAR_LEN(UNO_NAME_EDIT_PARA_LINESPACING),  EE_PARA_SBL,                &::getCppuType((const ::com::sun::star::style::LineSpacing*)0),     0, 0 }, \
+    {MAP_CHAR_LEN(UNO_NAME_EDIT_PARA_RMARGIN),      EE_PARA_LRSPACE,            &::getCppuType((const sal_Int32*)0),            0, MID_R_MARGIN|SFX_METRIC_ITEM }, \
+    {MAP_CHAR_LEN(UNO_NAME_EDIT_PARA_TAPSTOPS),     EE_PARA_TABS,               &::getCppuType((const ::com::sun::star::uno::Sequence< ::com::sun::star::style::TabStop >*)0), 0, 0 }, \
+    {MAP_CHAR_LEN(UNO_NAME_EDIT_PARA_TMARGIN),      EE_PARA_ULSPACE,            &::getCppuType((const sal_Int32*)0),            0, MID_UP_MARGIN|SFX_METRIC_ITEM },\
+    {MAP_CHAR_LEN(UNO_NAME_EDIT_PARA_FIRST_LINE_INDENT),     EE_PARA_LRSPACE,       &::getCppuType((const sal_Int32*)0),            0, MID_FIRST_LINE_INDENT|SFX_METRIC_ITEM}, \
+    {MAP_CHAR_LEN(UNO_NAME_EDIT_PARA_IS_HANGING_PUNCTUATION),EE_PARA_HANGINGPUNCTUATION,    &::getBooleanCppuType(),                0 ,0 }, \
+    {MAP_CHAR_LEN(UNO_NAME_EDIT_PARA_IS_CHARACTER_DISTANCE), EE_PARA_ASIANCJKSPACING,   &::getBooleanCppuType(),                0 ,0 }, \
+    {MAP_CHAR_LEN(UNO_NAME_EDIT_PARA_IS_FORBIDDEN_RULES),    EE_PARA_FORBIDDENRULES,        &::getBooleanCppuType(),                0 ,0 },\
+    {MAP_CHAR_LEN("WritingMode"),                   EE_PARA_WRITINGDIR,         &::getCppuType((const sal_Int16*)0),            0, 0 }
 
 class SvxEditSource;
 class SvxTextForwarder;
diff --git a/include/svl/itemprop.hxx b/include/svl/itemprop.hxx
index a4d98b4..15e15bf 100644
--- a/include/svl/itemprop.hxx
+++ b/include/svl/itemprop.hxx
@@ -33,9 +33,10 @@
 
 struct SfxItemPropertyMapEntry
 {
-    OUString                            aName;
+    const char*                         pName;
+    sal_uInt16                          nNameLen;
     sal_uInt16                          nWID;
-    com::sun::star::uno::Type           aType;
+    const com::sun::star::uno::Type*    pType;
     long                                nFlags;
     sal_uInt8                           nMemberId;
 
@@ -44,21 +45,22 @@ struct SfxItemPropertyMapEntry
 struct SfxItemPropertySimpleEntry
 {
     sal_uInt16                          nWID;
-    com::sun::star::uno::Type           aType;
+    const com::sun::star::uno::Type*    pType;
     long                                nFlags;
     sal_uInt8                           nMemberId;
 
     SfxItemPropertySimpleEntry()
         : nWID( 0 )
+        , pType( 0 )
         , nFlags( 0 )
         , nMemberId( 0 )
         {
         }
 
-    SfxItemPropertySimpleEntry(sal_uInt16 _nWID, com::sun::star::uno::Type const & _rType,
+    SfxItemPropertySimpleEntry(sal_uInt16 _nWID, const com::sun::star::uno::Type* _pType,
                                long _nFlags, sal_uInt8 _nMemberId)
         : nWID(      _nWID )
-        , aType(     _rType )
+        , pType(     _pType )
         , nFlags(    _nFlags )
         , nMemberId( _nMemberId )
         {
@@ -66,7 +68,7 @@ struct SfxItemPropertySimpleEntry
 
     SfxItemPropertySimpleEntry( const SfxItemPropertyMapEntry* pMapEntry )
         : nWID( pMapEntry->nWID )
-        , aType( pMapEntry->aType )
+        , pType( pMapEntry->pType )
         , nFlags( pMapEntry->nFlags )
         , nMemberId( pMapEntry->nMemberId )
         {
diff --git a/include/svx/unoprov.hxx b/include/svx/unoprov.hxx
index 9e425c9..6959b4c 100644
--- a/include/svx/unoprov.hxx
+++ b/include/svx/unoprov.hxx
@@ -80,7 +80,7 @@ public:
 
 class SVX_DLLPUBLIC SvxUnoPropertyMapProvider
 {
-    SfxItemPropertyMapEntry const * aMapArr[SVXMAP_END];
+    SfxItemPropertyMapEntry* aMapArr[SVXMAP_END];
     SvxItemPropertySet* aSetArr[SVXMAP_END];
 public:
     SvxUnoPropertyMapProvider();
diff --git a/include/svx/unoshprp.hxx b/include/svx/unoshprp.hxx
index 32ab29a..f5f0b99 100644
--- a/include/svx/unoshprp.hxx
+++ b/include/svx/unoshprp.hxx
@@ -183,111 +183,111 @@
 
 // #FontWork#
 #define FONTWORK_PROPERTIES \
-    { "FontWorkStyle",            XATTR_FORMTXTSTYLE,         /*ENUM*/::getCppuType((const sal_Int32*)0),    0,  0}, \
-    { "FontWorkAdjust",           XATTR_FORMTXTADJUST,        /*ENUM*/::getCppuType((const sal_Int32*)0),    0,  0}, \
-    { "FontWorkDistance",         XATTR_FORMTXTDISTANCE,      ::getCppuType((const sal_Int32*)0),            0,  SFX_METRIC_ITEM}, \
-    { "FontWorkStart",            XATTR_FORMTXTSTART,         ::getCppuType((const sal_Int32*)0),            0,  SFX_METRIC_ITEM}, \
-    { "FontWorkMirror",           XATTR_FORMTXTMIRROR,        ::getBooleanCppuType(),                        0,  0}, \
-    { "FontWorkOutline",          XATTR_FORMTXTOUTLINE,       ::getBooleanCppuType(),                        0,  0}, \
-    { "FontWorkShadow",           XATTR_FORMTXTSHADOW,        /*ENUM*/::getCppuType((const sal_Int32*)0),    0,  0}, \
-    { "FontWorkShadowColor",      XATTR_FORMTXTSHDWCOLOR,     ::getCppuType((const sal_Int32*)0),            0,  0}, \
-    { "FontWorkShadowOffsetX",    XATTR_FORMTXTSHDWXVAL,      ::getCppuType((const sal_Int32*)0),            0,  SFX_METRIC_ITEM}, \
-    { "FontWorkShadowOffsetY",    XATTR_FORMTXTSHDWYVAL,      ::getCppuType((const sal_Int32*)0),            0,  SFX_METRIC_ITEM}, \
-    { "FontWorkHideForm",         XATTR_FORMTXTHIDEFORM,      ::getBooleanCppuType(),                        0,  0}, \
-    { "FontWorkShadowTransparence",XATTR_FORMTXTSHDWTRANSP,   ::getCppuType((const sal_Int16*)0),            0,  0},
+    { MAP_CHAR_LEN("FontWorkStyle"),            XATTR_FORMTXTSTYLE,         /*ENUM*/&::getCppuType((const sal_Int32*)0),    0,  0}, \
+    { MAP_CHAR_LEN("FontWorkAdjust"),           XATTR_FORMTXTADJUST,        /*ENUM*/&::getCppuType((const sal_Int32*)0),    0,  0}, \
+    { MAP_CHAR_LEN("FontWorkDistance"),         XATTR_FORMTXTDISTANCE,      &::getCppuType((const sal_Int32*)0),            0,  SFX_METRIC_ITEM}, \
+    { MAP_CHAR_LEN("FontWorkStart"),            XATTR_FORMTXTSTART,         &::getCppuType((const sal_Int32*)0),            0,  SFX_METRIC_ITEM}, \
+    { MAP_CHAR_LEN("FontWorkMirror"),           XATTR_FORMTXTMIRROR,        &::getBooleanCppuType(),                        0,  0}, \
+    { MAP_CHAR_LEN("FontWorkOutline"),          XATTR_FORMTXTOUTLINE,       &::getBooleanCppuType(),                        0,  0}, \
+    { MAP_CHAR_LEN("FontWorkShadow"),           XATTR_FORMTXTSHADOW,        /*ENUM*/&::getCppuType((const sal_Int32*)0),    0,  0}, \
+    { MAP_CHAR_LEN("FontWorkShadowColor"),      XATTR_FORMTXTSHDWCOLOR,     &::getCppuType((const sal_Int32*)0),            0,  0}, \
+    { MAP_CHAR_LEN("FontWorkShadowOffsetX"),    XATTR_FORMTXTSHDWXVAL,      &::getCppuType((const sal_Int32*)0),            0,  SFX_METRIC_ITEM}, \
+    { MAP_CHAR_LEN("FontWorkShadowOffsetY"),    XATTR_FORMTXTSHDWYVAL,      &::getCppuType((const sal_Int32*)0),            0,  SFX_METRIC_ITEM}, \
+    { MAP_CHAR_LEN("FontWorkHideForm"),         XATTR_FORMTXTHIDEFORM,      &::getBooleanCppuType(),                        0,  0}, \
+    { MAP_CHAR_LEN("FontWorkShadowTransparence"),XATTR_FORMTXTSHDWTRANSP,   &::getCppuType((const sal_Int16*)0),            0,  0},
 
 #define SHADOW_PROPERTIES \
-    { UNO_NAME_SHADOW,            SDRATTR_SHADOW,             ::getBooleanCppuType(),    0,      0}, \
-    { UNO_NAME_SHADOWCOLOR,       SDRATTR_SHADOWCOLOR,        ::getCppuType((const sal_Int32*)0),    0,      0}, \
-    { UNO_NAME_SHADOWTRANSPARENCE,SDRATTR_SHADOWTRANSPARENCE, ::getCppuType((const sal_Int16*)0),    0,      0}, \
-    { UNO_NAME_SHADOWXDIST,       SDRATTR_SHADOWXDIST,        ::getCppuType((const sal_Int32*)0),    0,      SFX_METRIC_ITEM}, \
-    { UNO_NAME_SHADOWYDIST,       SDRATTR_SHADOWYDIST,        ::getCppuType((const sal_Int32*)0),    0,      SFX_METRIC_ITEM},
+    { MAP_CHAR_LEN(UNO_NAME_SHADOW),            SDRATTR_SHADOW,             &::getBooleanCppuType(),    0,      0}, \
+    { MAP_CHAR_LEN(UNO_NAME_SHADOWCOLOR),       SDRATTR_SHADOWCOLOR,        &::getCppuType((const sal_Int32*)0),    0,      0}, \
+    { MAP_CHAR_LEN(UNO_NAME_SHADOWTRANSPARENCE),SDRATTR_SHADOWTRANSPARENCE, &::getCppuType((const sal_Int16*)0),    0,      0}, \
+    { MAP_CHAR_LEN(UNO_NAME_SHADOWXDIST),       SDRATTR_SHADOWXDIST,        &::getCppuType((const sal_Int32*)0),    0,      SFX_METRIC_ITEM}, \
+    { MAP_CHAR_LEN(UNO_NAME_SHADOWYDIST),       SDRATTR_SHADOWYDIST,        &::getCppuType((const sal_Int32*)0),    0,      SFX_METRIC_ITEM},
 
 #define LINE_PROPERTIES_DEFAULTS\
-    { UNO_NAME_LINECAP,           XATTR_LINECAP,          ::getCppuType((const ::com::sun::star::drawing::LineCap*)0),     0,     0}, \
-    { UNO_NAME_LINECOLOR,         XATTR_LINECOLOR,        ::getCppuType((const sal_Int32*)0) ,           0,     0}, \
-    { UNO_NAME_LINEENDCENTER,     XATTR_LINEENDCENTER,    ::getBooleanCppuType() ,           0,     0}, \
-    { UNO_NAME_LINEENDWIDTH,      XATTR_LINEENDWIDTH,     ::getCppuType((const sal_Int32*)0) ,           0,     SFX_METRIC_ITEM}, \
-    { UNO_NAME_LINEJOINT,         XATTR_LINEJOINT,        ::getCppuType((const ::com::sun::star::drawing::LineJoint*)0),     0,     0}, \
-    { UNO_NAME_LINESTARTCENTER,   XATTR_LINESTARTCENTER,  ::getBooleanCppuType() ,           0,     0}, \
-    { UNO_NAME_LINESTARTWIDTH,    XATTR_LINESTARTWIDTH,   ::getCppuType((const sal_Int32*)0) ,           0,     SFX_METRIC_ITEM}, \
-    { UNO_NAME_LINESTYLE,         XATTR_LINESTYLE,        ::getCppuType((const ::com::sun::star::drawing::LineStyle*)0) ,        0,     0},  \
-    { UNO_NAME_LINETRANSPARENCE,  XATTR_LINETRANSPARENCE, ::getCppuType((const sal_Int16*)0) ,           0,     0}, \
-    { UNO_NAME_LINEWIDTH,         XATTR_LINEWIDTH,        ::getCppuType((const sal_Int32*)0) ,           0,     SFX_METRIC_ITEM},
+    { MAP_CHAR_LEN(UNO_NAME_LINECAP),           XATTR_LINECAP,          &::getCppuType((const ::com::sun::star::drawing::LineCap*)0),     0,     0}, \
+    { MAP_CHAR_LEN(UNO_NAME_LINECOLOR),         XATTR_LINECOLOR,        &::getCppuType((const sal_Int32*)0) ,           0,     0}, \
+    { MAP_CHAR_LEN(UNO_NAME_LINEENDCENTER),     XATTR_LINEENDCENTER,    &::getBooleanCppuType() ,           0,     0}, \
+    { MAP_CHAR_LEN(UNO_NAME_LINEENDWIDTH),      XATTR_LINEENDWIDTH,     &::getCppuType((const sal_Int32*)0) ,           0,     SFX_METRIC_ITEM}, \
+    { MAP_CHAR_LEN(UNO_NAME_LINEJOINT),         XATTR_LINEJOINT,        &::getCppuType((const ::com::sun::star::drawing::LineJoint*)0),     0,     0}, \
+    { MAP_CHAR_LEN(UNO_NAME_LINESTARTCENTER),   XATTR_LINESTARTCENTER,  &::getBooleanCppuType() ,           0,     0}, \
+    { MAP_CHAR_LEN(UNO_NAME_LINESTARTWIDTH),    XATTR_LINESTARTWIDTH,   &::getCppuType((const sal_Int32*)0) ,           0,     SFX_METRIC_ITEM}, \
+    { MAP_CHAR_LEN(UNO_NAME_LINESTYLE),         XATTR_LINESTYLE,        &::getCppuType((const ::com::sun::star::drawing::LineStyle*)0) ,        0,     0},  \
+    { MAP_CHAR_LEN(UNO_NAME_LINETRANSPARENCE),  XATTR_LINETRANSPARENCE, &::getCppuType((const sal_Int16*)0) ,           0,     0}, \
+    { MAP_CHAR_LEN(UNO_NAME_LINEWIDTH),         XATTR_LINEWIDTH,        &::getCppuType((const sal_Int32*)0) ,           0,     SFX_METRIC_ITEM},
 
 #define LINE_PROPERTIES \
-    { UNO_NAME_LINEDASH,          XATTR_LINEDASH,         ::getCppuType((const ::com::sun::star::drawing::LineDash*)0) ,         0,     MID_LINEDASH},   \
-    { "LineDashName",             XATTR_LINEDASH,         ::getCppuType((const OUString*)0) ,         0,     MID_NAME},   \
+    { MAP_CHAR_LEN(UNO_NAME_LINEDASH),          XATTR_LINEDASH,         &::getCppuType((const ::com::sun::star::drawing::LineDash*)0) ,         0,     MID_LINEDASH},   \
+    { MAP_CHAR_LEN("LineDashName"),             XATTR_LINEDASH,         &::getCppuType((const OUString*)0) ,         0,     MID_NAME},   \
     LINE_PROPERTIES_DEFAULTS
 
 #define LINE_PROPERTIES_START_END \
-    { UNO_NAME_LINEEND,           XATTR_LINEEND,          ::getCppuType((const ::com::sun::star::drawing::PolyPolygonBezierCoords*)0),   ::com::sun::star::beans::PropertyAttribute::MAYBEVOID,     0}, \
-    { "LineEndName",              XATTR_LINEEND,          ::getCppuType((const OUString*)0), 0, MID_NAME }, \
-    { UNO_NAME_LINESTART,         XATTR_LINESTART,        ::getCppuType((const ::com::sun::star::drawing::PolyPolygonBezierCoords*)0),   ::com::sun::star::beans::PropertyAttribute::MAYBEVOID,     0},  \
-    { "LineStartName",            XATTR_LINESTART,        ::getCppuType((const OUString*)0), 0, MID_NAME },
+    { MAP_CHAR_LEN(UNO_NAME_LINEEND),           XATTR_LINEEND,          &::getCppuType((const ::com::sun::star::drawing::PolyPolygonBezierCoords*)0),   ::com::sun::star::beans::PropertyAttribute::MAYBEVOID,     0}, \
+    { MAP_CHAR_LEN("LineEndName"),              XATTR_LINEEND,          &::getCppuType((const OUString*)0), 0, MID_NAME }, \
+    { MAP_CHAR_LEN(UNO_NAME_LINESTART),         XATTR_LINESTART,        &::getCppuType((const ::com::sun::star::drawing::PolyPolygonBezierCoords*)0),   ::com::sun::star::beans::PropertyAttribute::MAYBEVOID,     0},  \
+    { MAP_CHAR_LEN("LineStartName"),            XATTR_LINESTART,            &::getCppuType((const OUString*)0), 0, MID_NAME },
 
 #define FILL_PROPERTIES_BMP \
-    { UNO_NAME_FILLBMP_LOGICAL_SIZE,      XATTR_FILLBMP_SIZELOG,      ::getBooleanCppuType() ,           0,     0}, \
-    { UNO_NAME_FILLBMP_OFFSET_X,          XATTR_FILLBMP_TILEOFFSETX,  ::getCppuType((const sal_Int32*)0) ,           0,     0}, \
-    { UNO_NAME_FILLBMP_OFFSET_Y,          XATTR_FILLBMP_TILEOFFSETY,  ::getCppuType((const sal_Int32*)0) ,           0,     0}, \
-    { UNO_NAME_FILLBMP_POSITION_OFFSET_X, XATTR_FILLBMP_POSOFFSETX,   ::getCppuType((const sal_Int32*)0) ,           0,     0}, \
-    { UNO_NAME_FILLBMP_POSITION_OFFSET_Y, XATTR_FILLBMP_POSOFFSETY,   ::getCppuType((const sal_Int32*)0) ,           0,     0}, \
-    { UNO_NAME_FILLBMP_RECTANGLE_POINT,   XATTR_FILLBMP_POS,          ::getCppuType((const ::com::sun::star::drawing::RectanglePoint*)0) , 0,     0}, \
-    { UNO_NAME_FILLBMP_SIZE_X,            XATTR_FILLBMP_SIZEX,        ::getCppuType((const sal_Int32*)0) ,           0,     SFX_METRIC_ITEM}, \
-    { UNO_NAME_FILLBMP_SIZE_Y,            XATTR_FILLBMP_SIZEY,        ::getCppuType((const sal_Int32*)0) ,           0,     SFX_METRIC_ITEM},    \
-    { UNO_NAME_FILLBMP_STRETCH,           XATTR_FILLBMP_STRETCH,      ::getBooleanCppuType() ,           0,     0}, \
-    { UNO_NAME_FILLBMP_TILE,              XATTR_FILLBMP_TILE,         ::getBooleanCppuType() ,           0,     0},\
-    { UNO_NAME_FILLBMP_MODE,              OWN_ATTR_FILLBMP_MODE,      ::getCppuType((const ::com::sun::star::drawing::BitmapMode*)0),            0,     0},
+    { MAP_CHAR_LEN(UNO_NAME_FILLBMP_LOGICAL_SIZE),      XATTR_FILLBMP_SIZELOG,      &::getBooleanCppuType() ,           0,     0}, \
+    { MAP_CHAR_LEN(UNO_NAME_FILLBMP_OFFSET_X),          XATTR_FILLBMP_TILEOFFSETX,  &::getCppuType((const sal_Int32*)0) ,           0,     0}, \
+    { MAP_CHAR_LEN(UNO_NAME_FILLBMP_OFFSET_Y),          XATTR_FILLBMP_TILEOFFSETY,  &::getCppuType((const sal_Int32*)0) ,           0,     0}, \
+    { MAP_CHAR_LEN(UNO_NAME_FILLBMP_POSITION_OFFSET_X), XATTR_FILLBMP_POSOFFSETX,   &::getCppuType((const sal_Int32*)0) ,           0,     0}, \
+    { MAP_CHAR_LEN(UNO_NAME_FILLBMP_POSITION_OFFSET_Y), XATTR_FILLBMP_POSOFFSETY,   &::getCppuType((const sal_Int32*)0) ,           0,     0}, \
+    { MAP_CHAR_LEN(UNO_NAME_FILLBMP_RECTANGLE_POINT),   XATTR_FILLBMP_POS,          &::getCppuType((const ::com::sun::star::drawing::RectanglePoint*)0) , 0,     0}, \
+    { MAP_CHAR_LEN(UNO_NAME_FILLBMP_SIZE_X),            XATTR_FILLBMP_SIZEX,        &::getCppuType((const sal_Int32*)0) ,           0,     SFX_METRIC_ITEM}, \
+    { MAP_CHAR_LEN(UNO_NAME_FILLBMP_SIZE_Y),            XATTR_FILLBMP_SIZEY,        &::getCppuType((const sal_Int32*)0) ,           0,     SFX_METRIC_ITEM},    \
+    { MAP_CHAR_LEN(UNO_NAME_FILLBMP_STRETCH),           XATTR_FILLBMP_STRETCH,      &::getBooleanCppuType() ,           0,     0}, \
+    { MAP_CHAR_LEN(UNO_NAME_FILLBMP_TILE),              XATTR_FILLBMP_TILE,         &::getBooleanCppuType() ,           0,     0},\
+    { MAP_CHAR_LEN(UNO_NAME_FILLBMP_MODE),              OWN_ATTR_FILLBMP_MODE,      &::getCppuType((const ::com::sun::star::drawing::BitmapMode*)0),            0,     0},
 
 #define FILL_PROPERTIES_DEFAULTS \
-    { UNO_NAME_FILLCOLOR,         XATTR_FILLCOLOR, ::getCppuType((const sal_Int32*)0),          0,     0}, \
+    { MAP_CHAR_LEN(UNO_NAME_FILLCOLOR),         XATTR_FILLCOLOR         , &::getCppuType((const sal_Int32*)0),          0,     0}, \
 
 #define FILL_PROPERTIES \
     FILL_PROPERTIES_BMP \
     FILL_PROPERTIES_DEFAULTS \
-    { UNO_NAME_FILLBACKGROUND,    XATTR_FILLBACKGROUND    , ::getBooleanCppuType(),              0,   0}, \
-    { UNO_NAME_FILLBITMAP,        XATTR_FILLBITMAP        , ::getCppuType((const ::com::sun::star::uno::Reference< ::com::sun::star::awt::XBitmap >*)0)  ,       0,     MID_BITMAP}, \
-    { "FillBitmapName",           XATTR_FILLBITMAP        , ::getCppuType((const OUString*)0), 0, MID_NAME }, \
-    { "FillBitmapURL",            XATTR_FILLBITMAP        , ::getCppuType((const OUString*)0), 0, MID_GRAFURL }, \
-    { "FillGradientStepCount",    XATTR_GRADIENTSTEPCOUNT , ::getCppuType((const sal_Int16*)0), 0, 0}, \
-    { UNO_NAME_FILLGRADIENT,      XATTR_FILLGRADIENT      , ::getCppuType((const ::com::sun::star::awt::Gradient*)0),        0,     MID_FILLGRADIENT}, \
-    { "FillGradientName",         XATTR_FILLGRADIENT      , ::getCppuType((const OUString*)0), 0, MID_NAME }, \
-    { UNO_NAME_FILLHATCH,         XATTR_FILLHATCH         , ::getCppuType((const ::com::sun::star::drawing::Hatch*)0),           0,     MID_FILLHATCH}, \
-    { "FillHatchName",            XATTR_FILLHATCH         , ::getCppuType((const OUString*)0), 0, MID_NAME }, \
-    { UNO_NAME_FILLSTYLE,         XATTR_FILLSTYLE         , ::getCppuType((const ::com::sun::star::drawing::FillStyle*)0) ,      0,     0}, \
-    { UNO_NAME_FILL_TRANSPARENCE, XATTR_FILLTRANSPARENCE, ::getCppuType((const sal_Int16*)0) ,           0,     0}, \
-    { "FillTransparenceGradient", XATTR_FILLFLOATTRANSPARENCE, ::getCppuType((const ::com::sun::star::awt::Gradient*)0),         0,     MID_FILLGRADIENT}, \
-    { "FillTransparenceGradientName", XATTR_FILLFLOATTRANSPARENCE, ::getCppuType((const OUString*)0), 0, MID_NAME }, \
-    { UNO_NAME_FILLCOLOR_2,       XATTR_SECONDARYFILLCOLOR, ::getCppuType((const sal_Int32*)0),          0,     0},
+    { MAP_CHAR_LEN(UNO_NAME_FILLBACKGROUND),    XATTR_FILLBACKGROUND    , &::getBooleanCppuType(),              0,   0}, \
+    { MAP_CHAR_LEN(UNO_NAME_FILLBITMAP),        XATTR_FILLBITMAP        , &::getCppuType((const ::com::sun::star::uno::Reference< ::com::sun::star::awt::XBitmap >*)0)  ,       0,     MID_BITMAP}, \
+    { MAP_CHAR_LEN("FillBitmapName"),           XATTR_FILLBITMAP        , &::getCppuType((const OUString*)0), 0, MID_NAME }, \
+    { MAP_CHAR_LEN("FillBitmapURL"),            XATTR_FILLBITMAP        , &::getCppuType((const OUString*)0), 0, MID_GRAFURL }, \
+    { MAP_CHAR_LEN("FillGradientStepCount"),    XATTR_GRADIENTSTEPCOUNT , &::getCppuType((const sal_Int16*)0), 0, 0}, \
+    { MAP_CHAR_LEN(UNO_NAME_FILLGRADIENT),      XATTR_FILLGRADIENT      , &::getCppuType((const ::com::sun::star::awt::Gradient*)0),        0,     MID_FILLGRADIENT}, \
+    { MAP_CHAR_LEN("FillGradientName"),         XATTR_FILLGRADIENT      , &::getCppuType((const OUString*)0), 0, MID_NAME }, \
+    { MAP_CHAR_LEN(UNO_NAME_FILLHATCH),         XATTR_FILLHATCH         , &::getCppuType((const ::com::sun::star::drawing::Hatch*)0),           0,     MID_FILLHATCH}, \
+    { MAP_CHAR_LEN("FillHatchName"),            XATTR_FILLHATCH         , &::getCppuType((const OUString*)0), 0, MID_NAME }, \
+    { MAP_CHAR_LEN(UNO_NAME_FILLSTYLE),         XATTR_FILLSTYLE         , &::getCppuType((const ::com::sun::star::drawing::FillStyle*)0) ,      0,     0}, \
+    { MAP_CHAR_LEN(UNO_NAME_FILL_TRANSPARENCE), XATTR_FILLTRANSPARENCE, &::getCppuType((const sal_Int16*)0) ,           0,     0}, \
+    { MAP_CHAR_LEN("FillTransparenceGradient"), XATTR_FILLFLOATTRANSPARENCE, &::getCppuType((const ::com::sun::star::awt::Gradient*)0),         0,     MID_FILLGRADIENT}, \
+    { MAP_CHAR_LEN("FillTransparenceGradientName"), XATTR_FILLFLOATTRANSPARENCE, &::getCppuType((const OUString*)0), 0, MID_NAME }, \
+    { MAP_CHAR_LEN(UNO_NAME_FILLCOLOR_2),       XATTR_SECONDARYFILLCOLOR, &::getCppuType((const sal_Int32*)0),          0,     0},
 
 #define EDGERADIUS_PROPERTIES \
-    { UNO_NAME_EDGERADIUS,        SDRATTR_ECKENRADIUS     , ::getCppuType((const sal_Int32*)0)  ,            0,     SFX_METRIC_ITEM},
+    { MAP_CHAR_LEN(UNO_NAME_EDGERADIUS),        SDRATTR_ECKENRADIUS     , &::getCppuType((const sal_Int32*)0)  ,            0,     SFX_METRIC_ITEM},
 
 #define TEXT_PROPERTIES_DEFAULTS\
-    { UNO_NAME_TEXT_WRITINGMODE,      SDRATTR_TEXTDIRECTION,          ::getCppuType((const ::com::sun::star::text::WritingMode*)0),      0,      0},\
-    { UNO_NAME_TEXT_ANIAMOUNT,        SDRATTR_TEXT_ANIAMOUNT,         ::getCppuType((const sal_Int16*)0),        0,      0}, \
-    { UNO_NAME_TEXT_ANICOUNT,         SDRATTR_TEXT_ANICOUNT,          ::getCppuType((const sal_Int16*)0),        0,      0}, \
-    { UNO_NAME_TEXT_ANIDELAY,         SDRATTR_TEXT_ANIDELAY,          ::getCppuType((const sal_Int16*)0),        0,      0}, \
-    { UNO_NAME_TEXT_ANIDIRECTION,     SDRATTR_TEXT_ANIDIRECTION,      ::getCppuType((const ::com::sun::star::drawing::TextAnimationDirection*)0),    0,      0}, \
-    { UNO_NAME_TEXT_ANIKIND,          SDRATTR_TEXT_ANIKIND,           ::getCppuType((const ::com::sun::star::drawing::TextAnimationKind*)0), 0,      0}, \
-    { UNO_NAME_TEXT_ANISTARTINSIDE,   SDRATTR_TEXT_ANISTARTINSIDE,    ::getBooleanCppuType(),        0,      0}, \
-    { UNO_NAME_TEXT_ANISTOPINSIDE,    SDRATTR_TEXT_ANISTOPINSIDE,     ::getBooleanCppuType(),        0,      0}, \
-    { UNO_NAME_TEXT_AUTOGROWHEIGHT,   SDRATTR_TEXT_AUTOGROWHEIGHT,    ::getBooleanCppuType(),        0,      0}, \
-    { UNO_NAME_TEXT_AUTOGROWWIDTH,    SDRATTR_TEXT_AUTOGROWWIDTH,     ::getBooleanCppuType(),        0,      0}, \
-    { UNO_NAME_TEXT_CONTOURFRAME,     SDRATTR_TEXT_CONTOURFRAME,      ::getBooleanCppuType(),        0,      0}, \
-    { UNO_NAME_TEXT_FITTOSIZE,        SDRATTR_TEXT_FITTOSIZE,         ::getCppuType((const ::com::sun::star::drawing::TextFitToSizeType*)0), 0,      0}, \
-    { UNO_NAME_TEXT_HORZADJUST,       SDRATTR_TEXT_HORZADJUST,        ::getCppuType((const ::com::sun::star::drawing::TextHorizontalAdjust*)0),  0,      0}, \
-    { UNO_NAME_TEXT_LEFTDIST,         SDRATTR_TEXT_LEFTDIST,          ::getCppuType((const sal_Int32*)0),        0,      SFX_METRIC_ITEM}, \
-    { UNO_NAME_TEXT_LOWERDIST,        SDRATTR_TEXT_LOWERDIST,         ::getCppuType((const sal_Int32*)0),        0,      SFX_METRIC_ITEM}, \
-    { UNO_NAME_TEXT_MAXFRAMEHEIGHT,   SDRATTR_TEXT_MAXFRAMEHEIGHT,    ::getCppuType((const sal_Int32*)0),        0,      SFX_METRIC_ITEM}, \
-    { UNO_NAME_TEXT_MAXFRAMEWIDTH,    SDRATTR_TEXT_MAXFRAMEWIDTH,     ::getCppuType((const sal_Int32*)0),        0,      SFX_METRIC_ITEM}, \
-    { UNO_NAME_TEXT_MINFRAMEHEIGHT,   SDRATTR_TEXT_MINFRAMEHEIGHT,    ::getCppuType((const sal_Int32*)0),        0,      SFX_METRIC_ITEM}, \
-    { UNO_NAME_TEXT_MINFRAMEWIDTH,    SDRATTR_TEXT_MINFRAMEWIDTH,     ::getCppuType((const sal_Int32*)0),        0,      SFX_METRIC_ITEM}, \
-    { UNO_NAME_TEXT_RIGHTDIST,        SDRATTR_TEXT_RIGHTDIST,         ::getCppuType((const sal_Int32*)0),        0,      SFX_METRIC_ITEM}, \
-    { UNO_NAME_TEXT_UPPERDIST,        SDRATTR_TEXT_UPPERDIST,         ::getCppuType((const sal_Int32*)0),        0,      SFX_METRIC_ITEM}, \
-    { UNO_NAME_TEXT_FONTINDEPENDENTLINESPACING,SDRATTR_TEXT_USEFIXEDCELLHEIGHT,::getBooleanCppuType(),                   0,      0},               \
-    { UNO_NAME_TEXT_VERTADJUST,       SDRATTR_TEXT_VERTADJUST,        ::getCppuType((const ::com::sun::star::drawing::TextVerticalAdjust*)0),    0,      0},\
-    { UNO_NAME_TEXT_WORDWRAP,         SDRATTR_TEXT_WORDWRAP,          ::getBooleanCppuType(),        0,      0}, \
+    { MAP_CHAR_LEN(UNO_NAME_TEXT_WRITINGMODE),      SDRATTR_TEXTDIRECTION,          &::getCppuType((const ::com::sun::star::text::WritingMode*)0),      0,      0},\
+    { MAP_CHAR_LEN(UNO_NAME_TEXT_ANIAMOUNT),        SDRATTR_TEXT_ANIAMOUNT,         &::getCppuType((const sal_Int16*)0),        0,      0}, \
+    { MAP_CHAR_LEN(UNO_NAME_TEXT_ANICOUNT),         SDRATTR_TEXT_ANICOUNT,          &::getCppuType((const sal_Int16*)0),        0,      0}, \
+    { MAP_CHAR_LEN(UNO_NAME_TEXT_ANIDELAY),         SDRATTR_TEXT_ANIDELAY,          &::getCppuType((const sal_Int16*)0),        0,      0}, \
+    { MAP_CHAR_LEN(UNO_NAME_TEXT_ANIDIRECTION),     SDRATTR_TEXT_ANIDIRECTION,      &::getCppuType((const ::com::sun::star::drawing::TextAnimationDirection*)0),    0,      0}, \
+    { MAP_CHAR_LEN(UNO_NAME_TEXT_ANIKIND),          SDRATTR_TEXT_ANIKIND,           &::getCppuType((const ::com::sun::star::drawing::TextAnimationKind*)0), 0,      0}, \
+    { MAP_CHAR_LEN(UNO_NAME_TEXT_ANISTARTINSIDE),   SDRATTR_TEXT_ANISTARTINSIDE,    &::getBooleanCppuType(),        0,      0}, \
+    { MAP_CHAR_LEN(UNO_NAME_TEXT_ANISTOPINSIDE),    SDRATTR_TEXT_ANISTOPINSIDE,     &::getBooleanCppuType(),        0,      0}, \
+    { MAP_CHAR_LEN(UNO_NAME_TEXT_AUTOGROWHEIGHT),   SDRATTR_TEXT_AUTOGROWHEIGHT,    &::getBooleanCppuType(),        0,      0}, \
+    { MAP_CHAR_LEN(UNO_NAME_TEXT_AUTOGROWWIDTH),    SDRATTR_TEXT_AUTOGROWWIDTH,     &::getBooleanCppuType(),        0,      0}, \
+    { MAP_CHAR_LEN(UNO_NAME_TEXT_CONTOURFRAME),     SDRATTR_TEXT_CONTOURFRAME,      &::getBooleanCppuType(),        0,      0}, \
+    { MAP_CHAR_LEN(UNO_NAME_TEXT_FITTOSIZE),        SDRATTR_TEXT_FITTOSIZE,         &::getCppuType((const ::com::sun::star::drawing::TextFitToSizeType*)0), 0,      0}, \
+    { MAP_CHAR_LEN(UNO_NAME_TEXT_HORZADJUST),       SDRATTR_TEXT_HORZADJUST,        &::getCppuType((const ::com::sun::star::drawing::TextHorizontalAdjust*)0),  0,      0}, \
+    { MAP_CHAR_LEN(UNO_NAME_TEXT_LEFTDIST),         SDRATTR_TEXT_LEFTDIST,          &::getCppuType((const sal_Int32*)0),        0,      SFX_METRIC_ITEM}, \
+    { MAP_CHAR_LEN(UNO_NAME_TEXT_LOWERDIST),        SDRATTR_TEXT_LOWERDIST,         &::getCppuType((const sal_Int32*)0),        0,      SFX_METRIC_ITEM}, \
+    { MAP_CHAR_LEN(UNO_NAME_TEXT_MAXFRAMEHEIGHT),   SDRATTR_TEXT_MAXFRAMEHEIGHT,    &::getCppuType((const sal_Int32*)0),        0,      SFX_METRIC_ITEM}, \
+    { MAP_CHAR_LEN(UNO_NAME_TEXT_MAXFRAMEWIDTH),    SDRATTR_TEXT_MAXFRAMEWIDTH,     &::getCppuType((const sal_Int32*)0),        0,      SFX_METRIC_ITEM}, \
+    { MAP_CHAR_LEN(UNO_NAME_TEXT_MINFRAMEHEIGHT),   SDRATTR_TEXT_MINFRAMEHEIGHT,    &::getCppuType((const sal_Int32*)0),        0,      SFX_METRIC_ITEM}, \
+    { MAP_CHAR_LEN(UNO_NAME_TEXT_MINFRAMEWIDTH),    SDRATTR_TEXT_MINFRAMEWIDTH,     &::getCppuType((const sal_Int32*)0),        0,      SFX_METRIC_ITEM}, \
+    { MAP_CHAR_LEN(UNO_NAME_TEXT_RIGHTDIST),        SDRATTR_TEXT_RIGHTDIST,         &::getCppuType((const sal_Int32*)0),        0,      SFX_METRIC_ITEM}, \
+    { MAP_CHAR_LEN(UNO_NAME_TEXT_UPPERDIST),        SDRATTR_TEXT_UPPERDIST,         &::getCppuType((const sal_Int32*)0),        0,      SFX_METRIC_ITEM}, \
+    { MAP_CHAR_LEN(UNO_NAME_TEXT_FONTINDEPENDENTLINESPACING),SDRATTR_TEXT_USEFIXEDCELLHEIGHT,&::getBooleanCppuType(),                   0,      0},               \
+    { MAP_CHAR_LEN(UNO_NAME_TEXT_VERTADJUST),       SDRATTR_TEXT_VERTADJUST,        &::getCppuType((const ::com::sun::star::drawing::TextVerticalAdjust*)0),    0,      0},\
+    { MAP_CHAR_LEN(UNO_NAME_TEXT_WORDWRAP),         SDRATTR_TEXT_WORDWRAP,          &::getBooleanCppuType(),        0,      0}, \
     SVX_UNOEDIT_CHAR_PROPERTIES, \
     SVX_UNOEDIT_PARA_PROPERTIES,
 
@@ -295,235 +295,235 @@
     SVX_UNOEDIT_NUMBERING_PROPERTIE, \
     TEXT_PROPERTIES_DEFAULTS
 
-//  { "HasLevels",                    OWN_ATTR_HASLEVELS,             ::getBooleanCppuType(), ::com::sun::star::beans::PropertyAttribute::READONLY,      0},
+//  { MAP_CHAR_LEN("HasLevels"),                    OWN_ATTR_HASLEVELS,             &::getBooleanCppuType(), ::com::sun::star::beans::PropertyAttribute::READONLY,      0},
 
 #define MISC_OBJ_PROPERTIES_NO_SHEAR \
-    { "Transformation",                   OWN_ATTR_TRANSFORMATION,    ::getCppuType((const struct com::sun::star::drawing::HomogenMatrix3*)0), 0, 0 }, \
-    { UNO_NAME_MISC_OBJ_ZORDER,           OWN_ATTR_ZORDER,            ::getCppuType((const sal_Int32*)0),        0,      0}, \
-    { UNO_NAME_MISC_OBJ_FRAMERECT,        OWN_ATTR_FRAMERECT,         ::getCppuType((const ::com::sun::star::awt::Rectangle*)0), 0,  0 }, \
-    { UNO_NAME_MISC_OBJ_ROTATEANGLE,      SDRATTR_ROTATEANGLE,        ::getCppuType((const sal_Int32*)0),        0,  0}, \
-    { UNO_NAME_BITMAP,                    OWN_ATTR_BITMAP,            ::getCppuType((const ::com::sun::star::uno::Reference< ::com::sun::star::awt::XBitmap >*)0),   ::com::sun::star::beans::PropertyAttribute::READONLY, 0}, \
-    { UNO_NAME_OLE2_METAFILE,             OWN_ATTR_METAFILE,          ::getCppuType((::com::sun::star::uno::Sequence<sal_Int8>*)0), ::com::sun::star::beans::PropertyAttribute::READONLY, 0}, \
-    { "IsFontwork",                       OWN_ATTR_ISFONTWORK,        ::getBooleanCppuType(), ::com::sun::star::beans::PropertyAttribute::READONLY, 0}, \
-    { UNO_NAME_MISC_OBJ_BOUNDRECT,        OWN_ATTR_BOUNDRECT,         ::getCppuType((const ::com::sun::star::awt::Rectangle*)0), ::com::sun::star::beans::PropertyAttribute::READONLY, 0},
+    { MAP_CHAR_LEN("Transformation"),                   OWN_ATTR_TRANSFORMATION,    &::getCppuType((const struct com::sun::star::drawing::HomogenMatrix3*)0), 0, 0 }, \
+    { MAP_CHAR_LEN(UNO_NAME_MISC_OBJ_ZORDER),           OWN_ATTR_ZORDER,            &::getCppuType((const sal_Int32*)0),        0,      0}, \
+    { MAP_CHAR_LEN(UNO_NAME_MISC_OBJ_FRAMERECT),        OWN_ATTR_FRAMERECT,         &::getCppuType((const ::com::sun::star::awt::Rectangle*)0), 0,  0 }, \
+    { MAP_CHAR_LEN(UNO_NAME_MISC_OBJ_ROTATEANGLE),      SDRATTR_ROTATEANGLE,        &::getCppuType((const sal_Int32*)0),        0,  0}, \
+    { MAP_CHAR_LEN(UNO_NAME_BITMAP),                    OWN_ATTR_BITMAP,            &::getCppuType((const ::com::sun::star::uno::Reference< ::com::sun::star::awt::XBitmap >*)0),   ::com::sun::star::beans::PropertyAttribute::READONLY, 0}, \
+    { MAP_CHAR_LEN(UNO_NAME_OLE2_METAFILE),             OWN_ATTR_METAFILE,          &::getCppuType((::com::sun::star::uno::Sequence<sal_Int8>*)0), ::com::sun::star::beans::PropertyAttribute::READONLY, 0}, \
+    { MAP_CHAR_LEN("IsFontwork"),                       OWN_ATTR_ISFONTWORK,        &::getBooleanCppuType(), ::com::sun::star::beans::PropertyAttribute::READONLY, 0}, \
+    { MAP_CHAR_LEN(UNO_NAME_MISC_OBJ_BOUNDRECT),        OWN_ATTR_BOUNDRECT,         &::getCppuType((const ::com::sun::star::awt::Rectangle*)0), ::com::sun::star::beans::PropertyAttribute::READONLY, 0},
 
 #define MISC_OBJ_PROPERTIES \
-    { UNO_NAME_MISC_OBJ_INTEROPGRABBAG,   OWN_ATTR_INTEROPGRABBAG,    ::getCppuType((::com::sun::star::uno::Sequence< ::com::sun::star::beans::PropertyValue >*)0),  0,  0}, \
+    { MAP_CHAR_LEN(UNO_NAME_MISC_OBJ_INTEROPGRABBAG),   OWN_ATTR_INTEROPGRABBAG,    &::getCppuType((::com::sun::star::uno::Sequence< ::com::sun::star::beans::PropertyValue >*)0),  0,  0}, \
     MISC_OBJ_PROPERTIES_NO_SHEAR \
-    { UNO_NAME_MISC_OBJ_SHEARANGLE,       SDRATTR_SHEARANGLE,         ::getCppuType((const sal_Int32*)0),        0,  0},
+    { MAP_CHAR_LEN(UNO_NAME_MISC_OBJ_SHEARANGLE),       SDRATTR_SHEARANGLE,         &::getCppuType((const sal_Int32*)0),        0,  0},
 
 
 #define SHAPE_DESCRIPTOR_PROPERTIES \
-    { UNO_NAME_MISC_OBJ_LAYERID,      SDRATTR_LAYERID                 , ::getCppuType((const sal_Int16*)0),          0,  0}, \
-    { UNO_NAME_MISC_OBJ_LAYERNAME,    SDRATTR_LAYERNAME               , ::getCppuType((const OUString*)0),    0,  0}, \
-    { UNO_NAME_MISC_OBJ_MOVEPROTECT,  SDRATTR_OBJMOVEPROTECT          , ::getBooleanCppuType(),                      0,  0}, \
-    { UNO_NAME_MISC_OBJ_NAME,         SDRATTR_OBJECTNAME              , ::getCppuType((const OUString*)0),    0,  0}, \
-    { UNO_NAME_MISC_OBJ_PRINTABLE,    SDRATTR_OBJPRINTABLE            , ::getBooleanCppuType(),                      0,  0}, \
-    { "Visible",                      SDRATTR_OBJVISIBLE              , ::getBooleanCppuType(),                      0,  0}, \
-    { UNO_NAME_MISC_OBJ_SIZEPROTECT,  SDRATTR_OBJSIZEPROTECT          , ::getBooleanCppuType(),                      0,  0},\
-    { "UINameSingular",               OWN_ATTR_UINAME_SINGULAR        , ::getCppuType((const OUString*)0),    ::com::sun::star::beans::PropertyAttribute::READONLY,   0}, \
-    { "UINamePlural",                 OWN_ATTR_UINAME_PLURAL          , ::getCppuType((const OUString*)0),    ::com::sun::star::beans::PropertyAttribute::READONLY,   0}, \
+    { MAP_CHAR_LEN(UNO_NAME_MISC_OBJ_LAYERID),      SDRATTR_LAYERID                 , &::getCppuType((const sal_Int16*)0),          0,  0}, \
+    { MAP_CHAR_LEN(UNO_NAME_MISC_OBJ_LAYERNAME),    SDRATTR_LAYERNAME               , &::getCppuType((const OUString*)0),    0,  0}, \
+    { MAP_CHAR_LEN(UNO_NAME_MISC_OBJ_MOVEPROTECT),  SDRATTR_OBJMOVEPROTECT          , &::getBooleanCppuType(),                      0,  0}, \
+    { MAP_CHAR_LEN(UNO_NAME_MISC_OBJ_NAME),         SDRATTR_OBJECTNAME              , &::getCppuType((const OUString*)0),    0,  0}, \
+    { MAP_CHAR_LEN(UNO_NAME_MISC_OBJ_PRINTABLE),    SDRATTR_OBJPRINTABLE            , &::getBooleanCppuType(),                      0,  0}, \
+    { MAP_CHAR_LEN("Visible"),                      SDRATTR_OBJVISIBLE              , &::getBooleanCppuType(),                      0,  0}, \
+    { MAP_CHAR_LEN(UNO_NAME_MISC_OBJ_SIZEPROTECT),  SDRATTR_OBJSIZEPROTECT          , &::getBooleanCppuType(),                      0,  0},\
+    { MAP_CHAR_LEN("UINameSingular"),               OWN_ATTR_UINAME_SINGULAR        , &::getCppuType((const OUString*)0),    ::com::sun::star::beans::PropertyAttribute::READONLY,   0}, \
+    { MAP_CHAR_LEN("UINamePlural"),                 OWN_ATTR_UINAME_PLURAL          , &::getCppuType((const OUString*)0),    ::com::sun::star::beans::PropertyAttribute::READONLY,   0}, \
     /* #i68101# */ \
-    { UNO_NAME_MISC_OBJ_TITLE,        OWN_ATTR_MISC_OBJ_TITLE         , ::getCppuType((const OUString*)0),    0,  0}, \
-    { UNO_NAME_MISC_OBJ_DESCRIPTION,  OWN_ATTR_MISC_OBJ_DESCRIPTION   , ::getCppuType((const OUString*)0),    0,  0},
+    { MAP_CHAR_LEN(UNO_NAME_MISC_OBJ_TITLE),        OWN_ATTR_MISC_OBJ_TITLE         , &::getCppuType((const OUString*)0),    0,  0}, \
+    { MAP_CHAR_LEN(UNO_NAME_MISC_OBJ_DESCRIPTION),  OWN_ATTR_MISC_OBJ_DESCRIPTION   , &::getCppuType((const OUString*)0),    0,  0},
 
 #define LINKTARGET_PROPERTIES \
-    { UNO_NAME_LINKDISPLAYNAME,   OWN_ATTR_LDNAME             , ::getCppuType((const OUString*)0),    ::com::sun::star::beans::PropertyAttribute::READONLY, 0}, \
-    { UNO_NAME_LINKDISPLAYBITMAP, OWN_ATTR_LDBITMAP               , ::getCppuType((const ::com::sun::star::uno::Reference< ::com::sun::star::awt::XBitmap >*)0), ::com::sun::star::beans::PropertyAttribute::READONLY, 0},
+    { MAP_CHAR_LEN(UNO_NAME_LINKDISPLAYNAME),   OWN_ATTR_LDNAME             , &::getCppuType((const OUString*)0),    ::com::sun::star::beans::PropertyAttribute::READONLY, 0}, \
+    { MAP_CHAR_LEN(UNO_NAME_LINKDISPLAYBITMAP), OWN_ATTR_LDBITMAP               , &::getCppuType((const ::com::sun::star::uno::Reference< ::com::sun::star::awt::XBitmap >*)0), ::com::sun::star::beans::PropertyAttribute::READONLY, 0},
 
 
 #define CONNECTOR_PROPERTIES \
-    { UNO_NAME_EDGEKIND,          SDRATTR_EDGEKIND,           ::getCppuType((const ::com::sun::star::drawing::ConnectorType*)0),     0,     0}, \
-    { UNO_NAME_EDGENODE1HORZDIST, SDRATTR_EDGENODE1HORZDIST,  ::getCppuType((const sal_Int32*)0),       0,     0}, \
-    { UNO_NAME_EDGENODE1VERTDIST, SDRATTR_EDGENODE1VERTDIST,  ::getCppuType((const sal_Int32*)0),       0,     0}, \
-    { UNO_NAME_EDGENODE2HORZDIST, SDRATTR_EDGENODE2HORZDIST,  ::getCppuType((const sal_Int32*)0),       0,     0}, \
-    { UNO_NAME_EDGENODE2VERTDIST, SDRATTR_EDGENODE2VERTDIST,  ::getCppuType((const sal_Int32*)0),       0,     0},
+    { MAP_CHAR_LEN(UNO_NAME_EDGEKIND),          SDRATTR_EDGEKIND,           &::getCppuType((const ::com::sun::star::drawing::ConnectorType*)0),     0,     0}, \
+    { MAP_CHAR_LEN(UNO_NAME_EDGENODE1HORZDIST), SDRATTR_EDGENODE1HORZDIST,  &::getCppuType((const sal_Int32*)0),       0,     0}, \
+    { MAP_CHAR_LEN(UNO_NAME_EDGENODE1VERTDIST), SDRATTR_EDGENODE1VERTDIST,  &::getCppuType((const sal_Int32*)0),       0,     0}, \
+    { MAP_CHAR_LEN(UNO_NAME_EDGENODE2HORZDIST), SDRATTR_EDGENODE2HORZDIST,  &::getCppuType((const sal_Int32*)0),       0,     0}, \
+    { MAP_CHAR_LEN(UNO_NAME_EDGENODE2VERTDIST), SDRATTR_EDGENODE2VERTDIST,  &::getCppuType((const sal_Int32*)0),       0,     0},
 
 #define SPECIAL_CONNECTOR_PROPERTIES \
     CONNECTOR_PROPERTIES \
-    { UNO_NAME_EDGELINE1DELTA,    SDRATTR_EDGELINE1DELTA,     ::getCppuType((const sal_Int32*)0),       0,     SFX_METRIC_ITEM}, \
-    { UNO_NAME_EDGELINE2DELTA,    SDRATTR_EDGELINE2DELTA,     ::getCppuType((const sal_Int32*)0),       0,     SFX_METRIC_ITEM}, \
-    { UNO_NAME_EDGELINE3DELTA,    SDRATTR_EDGELINE3DELTA,     ::getCppuType((const sal_Int32*)0),       0,     SFX_METRIC_ITEM}, \
-    { "StartShape",               OWN_ATTR_EDGE_START_OBJ,    ::getCppuType((const ::com::sun::star::uno::Reference< ::com::sun::star::drawing::XShape >*)0),        ::com::sun::star::beans::PropertyAttribute::MAYBEVOID,   0}, \
-    { "StartGluePointIndex",      OWN_ATTR_GLUEID_HEAD,       ::getCppuType((const sal_Int32*)0),       0,     0}, \
-    { "StartPosition",            OWN_ATTR_EDGE_START_POS,    ::getCppuType((const ::com::sun::star::awt::Point*)0),     0,   0}, \
-    { "EndShape",                 OWN_ATTR_EDGE_END_OBJ,      ::getCppuType((const ::com::sun::star::uno::Reference< ::com::sun::star::drawing::XShape>*)0),     ::com::sun::star::beans::PropertyAttribute::MAYBEVOID,   0}, \
-    { "EndPosition",              OWN_ATTR_EDGE_END_POS,      ::getCppuType((const ::com::sun::star::awt::Point*)0),     0,   0},\
-    { "EndGluePointIndex",        OWN_ATTR_GLUEID_TAIL,       ::getCppuType((const sal_Int32*)0),       0,     0}, \
+    { MAP_CHAR_LEN(UNO_NAME_EDGELINE1DELTA),    SDRATTR_EDGELINE1DELTA,     &::getCppuType((const sal_Int32*)0),       0,     SFX_METRIC_ITEM}, \
+    { MAP_CHAR_LEN(UNO_NAME_EDGELINE2DELTA),    SDRATTR_EDGELINE2DELTA,     &::getCppuType((const sal_Int32*)0),       0,     SFX_METRIC_ITEM}, \
+    { MAP_CHAR_LEN(UNO_NAME_EDGELINE3DELTA),    SDRATTR_EDGELINE3DELTA,     &::getCppuType((const sal_Int32*)0),       0,     SFX_METRIC_ITEM}, \
+    { MAP_CHAR_LEN("StartShape"),               OWN_ATTR_EDGE_START_OBJ,    &::getCppuType((const ::com::sun::star::uno::Reference< ::com::sun::star::drawing::XShape >*)0),        ::com::sun::star::beans::PropertyAttribute::MAYBEVOID,   0}, \
+    { MAP_CHAR_LEN("StartGluePointIndex"),      OWN_ATTR_GLUEID_HEAD,       &::getCppuType((const sal_Int32*)0),       0,     0}, \
+    { MAP_CHAR_LEN("StartPosition"),            OWN_ATTR_EDGE_START_POS,    &::getCppuType((const ::com::sun::star::awt::Point*)0),     0,   0}, \
+    { MAP_CHAR_LEN("EndShape"),                 OWN_ATTR_EDGE_END_OBJ,      &::getCppuType((const ::com::sun::star::uno::Reference< ::com::sun::star::drawing::XShape>*)0),     ::com::sun::star::beans::PropertyAttribute::MAYBEVOID,   0}, \
+    { MAP_CHAR_LEN("EndPosition"),              OWN_ATTR_EDGE_END_POS,      &::getCppuType((const ::com::sun::star::awt::Point*)0),     0,   0},\
+    { MAP_CHAR_LEN("EndGluePointIndex"),        OWN_ATTR_GLUEID_TAIL,       &::getCppuType((const sal_Int32*)0),       0,     0}, \
 \
-    { "EdgeStartConnection",      OWN_ATTR_EDGE_START_OBJ,    ::getCppuType((const ::com::sun::star::uno::Reference< ::com::sun::star::drawing::XShape >*)0),        ::com::sun::star::beans::PropertyAttribute::MAYBEVOID,   0}, \
-    { "EdgeStartPoint",           OWN_ATTR_EDGE_START_POS,    ::getCppuType((const ::com::sun::star::awt::Point*)0),     ::com::sun::star::beans::PropertyAttribute::READONLY,    0}, \
-    { "EdgeEndConnection",        OWN_ATTR_EDGE_END_OBJ,      ::getCppuType((const ::com::sun::star::uno::Reference< ::com::sun::star::drawing::XShape>*)0),     ::com::sun::star::beans::PropertyAttribute::MAYBEVOID,   0}, \
-    { "EdgeEndPoint",             OWN_ATTR_EDGE_END_POS,      ::getCppuType((const ::com::sun::star::awt::Point*)0),     ::com::sun::star::beans::PropertyAttribute::READONLY,    0}, \
+    { MAP_CHAR_LEN("EdgeStartConnection"),      OWN_ATTR_EDGE_START_OBJ,    &::getCppuType((const ::com::sun::star::uno::Reference< ::com::sun::star::drawing::XShape >*)0),        ::com::sun::star::beans::PropertyAttribute::MAYBEVOID,   0}, \
+    { MAP_CHAR_LEN("EdgeStartPoint"),           OWN_ATTR_EDGE_START_POS,    &::getCppuType((const ::com::sun::star::awt::Point*)0),     ::com::sun::star::beans::PropertyAttribute::READONLY,    0}, \
+    { MAP_CHAR_LEN("EdgeEndConnection"),        OWN_ATTR_EDGE_END_OBJ,      &::getCppuType((const ::com::sun::star::uno::Reference< ::com::sun::star::drawing::XShape>*)0),     ::com::sun::star::beans::PropertyAttribute::MAYBEVOID,   0}, \
+    { MAP_CHAR_LEN("EdgeEndPoint"),             OWN_ATTR_EDGE_END_POS,      &::getCppuType((const ::com::sun::star::awt::Point*)0),     ::com::sun::star::beans::PropertyAttribute::READONLY,    0}, \
 \
-    { UNO_NAME_POLYPOLYGONBEZIER, OWN_ATTR_EDGE_POLYPOLYGONBEZIER,    ::getCppuType((const ::com::sun::star::drawing::PolyPolygonBezierCoords*)0),       0,  0},
+    { MAP_CHAR_LEN(UNO_NAME_POLYPOLYGONBEZIER), OWN_ATTR_EDGE_POLYPOLYGONBEZIER,    &::getCppuType((const ::com::sun::star::drawing::PolyPolygonBezierCoords*)0),       0,  0},
 
 #define SPECIAL_DIMENSIONING_PROPERTIES_DEFAULTS \
-    { UNO_NAME_MEASUREBELOWREFEDGE,       SDRATTR_MEASUREBELOWREFEDGE,        ::getBooleanCppuType(),        0,  0}, \
-    { UNO_NAME_MEASUREFORMATSTRING,       SDRATTR_MEASUREFORMATSTRING,        ::getCppuType((const OUString*)0),      0,  0}, \
-    { UNO_NAME_MEASUREHELPLINE1LEN,       SDRATTR_MEASUREHELPLINE1LEN,        ::getCppuType((const sal_Int32*)0),        0,  SFX_METRIC_ITEM}, \
-    { UNO_NAME_MEASUREHELPLINE2LEN,       SDRATTR_MEASUREHELPLINE2LEN,        ::getCppuType((const sal_Int32*)0),        0,  SFX_METRIC_ITEM}, \

... etc. - the rest is truncated


More information about the Libreoffice-commits mailing list