[Libreoffice-commits] .: 5 commits - binfilter/bf_sw binfilter/inc

Pierre-André Jacquod pjacquod at kemper.freedesktop.org
Wed Feb 16 13:29:25 PST 2011


 binfilter/bf_sw/source/core/unocore/sw_unoobj.cxx    |    8 
 binfilter/bf_sw/source/filter/ascii/makefile.mk      |    2 
 binfilter/bf_sw/source/filter/ascii/sw_ascatr.cxx    |  228 --
 binfilter/bf_sw/source/filter/ascii/sw_wrtasc.cxx    |  121 -
 binfilter/bf_sw/source/filter/ascii/wrtasc.hxx       |   55 
 binfilter/bf_sw/source/filter/basflt/sw_fltini.cxx   |  353 +---
 binfilter/bf_sw/source/filter/inc/fltini.hxx         |   10 
 binfilter/bf_sw/source/filter/inc/wrt_fn.hxx         |   76 
 binfilter/bf_sw/source/filter/inc/wrtswtbl.hxx       |   56 
 binfilter/bf_sw/source/filter/makefile.mk            |    1 
 binfilter/bf_sw/source/filter/w4w/makefile.mk        |    8 
 binfilter/bf_sw/source/filter/w4w/sw_w4watr.cxx      | 1499 -------------------
 binfilter/bf_sw/source/filter/w4w/sw_wrtgraf.cxx     |   50 
 binfilter/bf_sw/source/filter/w4w/sw_wrtw4w.cxx      | 1142 --------------
 binfilter/bf_sw/source/filter/w4w/wrtw4w.hxx         |  150 -
 binfilter/bf_sw/source/filter/writer/makefile.mk     |    2 
 binfilter/bf_sw/source/filter/writer/sw_writer.cxx   |  313 ---
 binfilter/bf_sw/source/filter/writer/sw_wrt_fn.cxx   |  131 -
 binfilter/bf_sw/source/filter/writer/sw_wrtswtbl.cxx |   66 
 binfilter/inc/bf_sw/iodetect.hxx                     |   43 
 binfilter/inc/bf_sw/shellio.hxx                      |  103 -
 binfilter/inc/bf_sw/undobj.hxx                       |   60 
 22 files changed, 205 insertions(+), 4272 deletions(-)

New commits:
commit 15fb7b908dcfd8b8ef3a15dd451b5e6f6b885734
Author: Pierre-André Jacquod <pjacquod at alumni.ethz.ch>
Date:   Sat Jan 29 17:33:45 2011 +0100

    cleaning in binfilter/bf_sw of sw_fltini.cxx
    
    the filter initialization has been cleaned. A lot of filter where
    initialized there, like Excel, lotus, word filter.
    All these filters have been deleted from there, keeping only the
    Star Writers filters

diff --git a/binfilter/bf_sw/source/filter/basflt/sw_fltini.cxx b/binfilter/bf_sw/source/filter/basflt/sw_fltini.cxx
index 6e14426..60693c3 100644
--- a/binfilter/bf_sw/source/filter/basflt/sw_fltini.cxx
+++ b/binfilter/bf_sw/source/filter/basflt/sw_fltini.cxx
@@ -36,20 +36,15 @@
 #include <stdio.h>			// sscanf
 
 #include <hintids.hxx>
-
 #include <bf_sfx2/fcontnr.hxx>
 #include <bf_sfx2/docfile.hxx>
 #include <bf_svx/lrspitem.hxx>
 #include <bf_svx/tstpitem.hxx>
 #include <frmatr.hxx>
-
 #include <horiornt.hxx>
-
 #include <doc.hxx>
 #include <docary.hxx>
-
 #include <errhdl.hxx>
-
 #include <pam.hxx>
 #include <errhdl.hxx>
 #include <wdocsh.hxx>
@@ -64,9 +59,7 @@
 #include <numrule.hxx>
 #include <ndtxt.hxx>
 #include <swfltopt.hxx>
-
 #include <swerror.h>
-
 #include <bf_svtools/moduleoptions.hxx>
 
 namespace binfilter {
@@ -78,64 +71,45 @@ using namespace ::com::sun::star::uno;
 SwRead ReadRtf = 0, ReadAscii = 0, ReadSwg = 0, ReadSw3 = 0,
         ReadHTML = 0, ReadXML = 0;
 
-/*N*/ inline BOOL IsDocShellRegistered() { return SvtModuleOptions().IsWriter(); }
+inline BOOL IsDocShellRegistered() { return SvtModuleOptions().IsWriter(); }
 
 
-/*N*/ IO_DETECT_IMPL1
-/*N*/ IO_DETECT_IMPL2
-/*N*/ IO_DETECT_IMPL3
-/*N*/ IO_DETECT_IMPL4
+IO_DETECT_IMPL1
+IO_DETECT_IMPL2
+IO_DETECT_IMPL3
+IO_DETECT_IMPL4
 
 
-/*N*/ inline void _SetFltPtr( USHORT& rPos, SwRead pReader
-/*N*/ 						, const sal_Char* pNm
+inline void _SetFltPtr( USHORT& rPos, SwRead pReader, const sal_Char* pNm )
 /* pNm optimiert der Compiler weg, wird nur in der nicht PRODUCT benoetigt! */
-/*N*/ 						)
-/*N*/ {
-/*N*/ 	ASSERT( !strcmp( aReaderWriter[ rPos ].pName, pNm ), "falscher Filter" );
-/*N*/ 	(void)pNm;
-/*N*/ 	aReaderWriter[ rPos++ ].pReader = pReader;
-/*N*/ }
-
-/*N*/ void _InitFilter()
-/*N*/ {
-/*N*/    SwRead pRd;
-/*N*/
-/*N*/ 	USHORT nCnt = 0;
-/*N*/ 	_SetFltPtr( nCnt, (ReadSw3 = new Sw3Reader), FILTER_SW5 );
-/*N*/ 	_SetFltPtr( nCnt, ReadSw3, FILTER_SW4 );
-/*N*/ 	_SetFltPtr( nCnt, ReadSw3, FILTER_SW3 );
-/*N*/ 	_SetFltPtr( nCnt, (ReadSwg = new SwgReader), FILTER_SWG );
-/*N*/ 	_SetFltPtr( nCnt, ReadSwg, FILTER_SWGV );
-/*?*/   _SetFltPtr( nCnt, new Sw6Reader, sSwDos );
-/*N*/ 	_SetFltPtr( nCnt, (ReadAscii = new AsciiReader), FILTER_BAS );
-/*N*/  _SetFltPtr( nCnt, new W4WReader, FILTER_W4W );
-/*N*/   _SetFltPtr( nCnt, ( pRd = new ExcelReader ), sCExcel );
-/*N*/   _SetFltPtr( nCnt, pRd, sExcel );
-/*N*/   _SetFltPtr( nCnt, new LotusReader, sLotusD );
-/*N*/ 	_SetFltPtr( nCnt, ReadSwg, sSwg1 );
-/*?*/ 	_SetFltPtr( nCnt, (ReadXML = new XMLReader), FILTER_XML );
-/*N*/
-/*N*/
-/*N*/     _SetFltPtr( nCnt, ReadAscii, FILTER_TEXT );
-/*N*/
-/*N*/ 	ASSERT( MAXFILTER == nCnt, "Anzahl Filter ungleich der Definierten" );
-/*N*/ }
-
-/*N*/ void _FinitFilter()
-/*N*/ {
-/*N*/ 	// die Reader vernichten
-/*N*/ 	for( USHORT n = 0; n < MAXFILTER; ++n )
-/*N*/ 	{
-/*N*/ 		SwIoDetect& rIo = aReaderWriter[n];
-/*N*/ 		if( rIo.bDelReader && rIo.pReader )
-/*N*/ 			delete rIo.pReader;
-/*N*/ 	}
-/*N*/ }
-
-
- SwRead SwIoSystem::GetReader( const String& rFltName )
- {
+{
+    ASSERT( !strcmp( aReaderWriter[ rPos ].pName, pNm ), "falscher Filter" );
+    aReaderWriter[ rPos++ ].pReader = pReader;
+}
+
+void _InitFilter()
+{
+    USHORT nCnt = 0;
+    _SetFltPtr( nCnt, (ReadSw3 = new Sw3Reader), FILTER_SW5 );
+    _SetFltPtr( nCnt, ReadSw3, FILTER_SW4 );
+    _SetFltPtr( nCnt, ReadSw3, FILTER_SW3 );
+
+    ASSERT( MAXFILTER == nCnt, "Anzahl Filter ungleich der Definierten" );
+}
+
+void _FinitFilter()
+{
+    // die Reader vernichten
+    for( USHORT n = 0; n < MAXFILTER; ++n )
+    {
+        SwIoDetect& rIo = aReaderWriter[n];
+        if( rIo.bDelReader && rIo.pReader )
+            delete rIo.pReader;
+    }
+}
+
+SwRead SwIoSystem::GetReader( const String& rFltName )
+{
     SwRead pRead = 0;
     for( USHORT n = 0; n < MAXFILTER; ++n )
         if( aReaderWriter[n].IsFilter( rFltName ) )
@@ -146,39 +120,37 @@ SwRead ReadRtf = 0, ReadAscii = 0, ReadSwg = 0, ReadSw3 = 0,
             break;
         }
     return pRead;
- }
+}
 
-        // suche ueber den Filtertext den Filtereintrag
-/*N*/ const SfxFilter* SwIoSystem::GetFilterOfFilterTxt( const String& rFilterNm,
-/*N*/ 								const SfxFactoryFilterContainer* pCnt )
-/*N*/ {
-/*N*/ 	const SfxFactoryFilterContainer* pFltCnt = pCnt ? pCnt :
-/*N*/ 		( IsDocShellRegistered()
-/*N*/ 			? SwDocShell::Factory().GetFilterContainer()
-/*N*/ 			: SwWebDocShell::Factory().GetFilterContainer() );
-/*N*/
-/*N*/ 	do {
-/*N*/ 		if( pFltCnt )
-/*N*/ 		{
-/*N*/ 			const SfxFilter* pFilter;
-/*N*/ 			USHORT nCount = pFltCnt->GetFilterCount();
-/*N*/ 			for( USHORT i = 0; i < nCount; ++i )
-/*N*/ 				if( ( pFilter = pFltCnt->GetFilter( i ))->GetFilterName() == rFilterNm )
-/*N*/ 					return pFilter;
-/*N*/ 		}
-/*?*/ 		if( pCnt || pFltCnt == SwWebDocShell::Factory().GetFilterContainer())
-/*?*/ 			break;
-/*?*/ 		pFltCnt = SwWebDocShell::Factory().GetFilterContainer();
-/*?*/ 	} while( TRUE );
-/*?*/
-/*?*/ 	return 0;
-/*N*/ }
+// search the filter entry using the filter text
+const SfxFilter* SwIoSystem::GetFilterOfFilterTxt( const String& rFilterNm,
+                                                   const SfxFactoryFilterContainer* pCnt )
+{
+    const SfxFactoryFilterContainer* pFltCnt = pCnt ? pCnt :
+        ( IsDocShellRegistered() ? SwDocShell::Factory().GetFilterContainer()
+            : SwWebDocShell::Factory().GetFilterContainer() );
+    do
+    {
+        if( pFltCnt )
+        {
+            const SfxFilter* pFilter;
+            USHORT nCount = pFltCnt->GetFilterCount();
+            for( USHORT i = 0; i < nCount; ++i )
+                if( ( pFilter = pFltCnt->GetFilter( i ))->GetFilterName() == rFilterNm )
+                    return pFilter;
+        }
+        if( pCnt || pFltCnt == SwWebDocShell::Factory().GetFilterContainer())
+            break;
+        pFltCnt = SwWebDocShell::Factory().GetFilterContainer();
+    } while( TRUE );
 
+    return 0;
+}
 
 /////////////// die Storage Reader/Writer ////////////////////////////////
 
- ULONG StgReader::OpenMainStream( SvStorageStreamRef& rRef, USHORT& rBuffSize )
- {
+ULONG StgReader::OpenMainStream( SvStorageStreamRef& rRef, USHORT& rBuffSize )
+{
     ULONG nRet = ERR_SWG_READ_ERROR;
     ASSERT( pStg, "wo ist mein Storage?" );
     const SfxFilter* pFltr = SwIoSystem::GetFilterOfFormat( aFltName );
@@ -201,34 +173,34 @@ SwRead ReadRtf = 0, ReadAscii = 0, ReadSwg = 0, ReadSw3 = 0,
         }
     }
     return nRet;
- }
+}
 
 
-/*N*/ ULONG Sw3Reader::Read( SwDoc & /*rDoc*/, SwPaM &rPam, const String & )
-/*N*/ {
-/*N*/ 	ULONG nRet;
-/*N*/ 	if( pStg && pIO )
-/*N*/ 	{
-/*N*/ 		// TRUE: Vorlagen ueberschreiben
-/*N*/ 		pIO->SetReadOptions( aOpt,TRUE );
-/*N*/ 		if( !bInsertMode )
-/*N*/ 		{
-/*N*/ 			// Im Laden-Modus darf der PaM-Content-Teil nicht
-/*N*/ 			// in den Textbereich zeigen (Nodes koennen geloescht werden)
-/*N*/ 			rPam.GetBound( TRUE ).nContent.Assign( 0, 0 );
-/*N*/ 			rPam.GetBound( FALSE ).nContent.Assign( 0, 0 );
-/*N*/ 		}
-/*N*/ 		nRet = pIO->Load( pStg, bInsertMode ? &rPam : 0 );
-/*N*/ 		aOpt.ResetAllFmtsOnly();
-/*N*/ 		pIO->SetReadOptions( aOpt, TRUE );
-/*N*/ 	}
-/*N*/ 	else
-/*N*/ 	{
-/*?*/ 		ASSERT( !this, "Sw3-Read ohne Storage und/oder IO-System" );
-/*?*/ 		nRet = ERR_SWG_READ_ERROR;
-/*N*/ 	}
-/*N*/ 	return nRet;
-/*N*/ }
+ULONG Sw3Reader::Read( SwDoc & /*rDoc*/, SwPaM &rPam, const String & )
+{
+    ULONG nRet;
+    if( pStg && pIO )
+    {
+        // TRUE: Vorlagen ueberschreiben
+        pIO->SetReadOptions( aOpt,TRUE );
+        if( !bInsertMode )
+        {
+            // Im Laden-Modus darf der PaM-Content-Teil nicht
+            // in den Textbereich zeigen (Nodes koennen geloescht werden)
+            rPam.GetBound( TRUE ).nContent.Assign( 0, 0 );
+            rPam.GetBound( FALSE ).nContent.Assign( 0, 0 );
+        }
+        nRet = pIO->Load( pStg, bInsertMode ? &rPam : 0 );
+        aOpt.ResetAllFmtsOnly();
+        pIO->SetReadOptions( aOpt, TRUE );
+    }
+    else
+    {
+        ASSERT( !this, "Sw3-Read ohne Storage und/oder IO-System" );
+        nRet = ERR_SWG_READ_ERROR;
+    }
+    return nRet;
+}
 
     // read the sections of the document, which is equal to the medium.
     // returns the count of it
@@ -263,8 +235,8 @@ ULONG SwgReader::Read( SwDoc &rDoc, SwPaM &rPam, const String& rFileName )
 }
 
 
- BOOL SwReader::NeedsPasswd( const Reader& rOptions )
- {
+BOOL SwReader::NeedsPasswd( const Reader& rOptions )
+{
     BOOL bRes = FALSE;
     if( &rOptions == ReadSwg )
     {
@@ -280,11 +252,11 @@ ULONG SwgReader::Read( SwDoc &rDoc, SwPaM &rPam, const String& rFileName )
         }
     }
     return bRes;
- }
+}
 
 
- BOOL SwReader::CheckPasswd( const String& rPasswd, const Reader& rOptions )
- {
+BOOL SwReader::CheckPasswd( const String& rPasswd, const Reader& rOptions )
+{
     BOOL bRes = TRUE;
     if( &rOptions == ReadSwg )
     {
@@ -300,7 +272,7 @@ ULONG SwgReader::Read( SwDoc &rDoc, SwPaM &rPam, const String& rFileName )
         }
     }
     return bRes;
- }
+}
 
 //-----------------------------------------------------------------------
 // Filter Flags lesen, wird von WW8 / W4W / EXCEL / LOTUS benutzt.
@@ -341,47 +313,45 @@ ULONG SwgReader::Read( SwDoc &rDoc, SwPaM &rPam, const String& rFileName )
 </FilterFlags>
 */
 
-/*N*/ #define FILTER_OPTION_ROOT 		String::CreateFromAscii( \
-/*N*/ 				RTL_CONSTASCII_STRINGPARAM( "Office.Writer/FilterFlags" ) )
+#define FILTER_OPTION_ROOT  String::CreateFromAscii( \
+                    RTL_CONSTASCII_STRINGPARAM( "Office.Writer/FilterFlags" ) )
 
- SwFilterOptions::SwFilterOptions()
+SwFilterOptions::SwFilterOptions()
     : ConfigItem( FILTER_OPTION_ROOT )
- {
- }
+{
+}
 
-/*N*/ SwFilterOptions::SwFilterOptions( sal_uInt16 nCnt, const sal_Char** ppNames,
-/*N*/ 			  					sal_uInt32* pValues )
-/*N*/ 	: ConfigItem( FILTER_OPTION_ROOT )
-/*N*/ {
-/*N*/ 	GetValues( nCnt, ppNames, pValues );
-/*N*/ }
-
-/*N*/ void SwFilterOptions::GetValues( sal_uInt16 nCnt, const sal_Char** ppNames,
-/*N*/ 			  						sal_uInt32* pValues )
-/*N*/ {
-/*N*/ 	Sequence<OUString> aNames( nCnt );
-/*N*/ 	OUString* pNames = aNames.getArray();
-        USHORT n=0;
-/*N*/ 	for( n = 0; n < nCnt; ++n )
-/*N*/ 		pNames[ n ] = OUString::createFromAscii( ppNames[ n ] );
-/*N*/ 	Sequence<Any> aValues = GetProperties( aNames );
-/*N*/
-/*N*/ 	if( nCnt == aValues.getLength() )
-/*N*/ 	{
-/*N*/ 		const Any* pAnyValues = aValues.getConstArray();
-/*N*/ 		for( n = 0; n < nCnt; ++n )
-/*N*/ 			pValues[ n ] = pAnyValues[ n ].hasValue()
-/*N*/ 							? *(sal_uInt32*)pAnyValues[ n ].getValue()
-/*N*/ 							: 0;
-/*N*/ 	}
-/*N*/ 	else
-/*?*/ 		for( n = 0; n < nCnt; ++n )
-/*?*/ 			pValues[ n ] = 0;
-/*N*/ }
-
- sal_Bool SwFilterOptions::CheckNodeContentExist( const sal_Char* pNode,
+SwFilterOptions::SwFilterOptions( sal_uInt16 nCnt, const sal_Char** ppNames,
+                                  sal_uInt32* pValues ) : ConfigItem( FILTER_OPTION_ROOT )
+{
+    GetValues( nCnt, ppNames, pValues );
+}
+
+void SwFilterOptions::GetValues( sal_uInt16 nCnt, const sal_Char** ppNames,
+                                 sal_uInt32* pValues )
+{
+    Sequence<OUString> aNames( nCnt );
+    OUString* pNames = aNames.getArray();
+    USHORT n=0;
+    for( n = 0; n < nCnt; ++n )
+        pNames[ n ] = OUString::createFromAscii( ppNames[ n ] );
+    Sequence<Any> aValues = GetProperties( aNames );
+
+    if( nCnt == aValues.getLength() )
+    {
+        const Any* pAnyValues = aValues.getConstArray();
+        for( n = 0; n < nCnt; ++n )
+            pValues[ n ] = pAnyValues[ n ].hasValue() ?
+                           *(sal_uInt32*)pAnyValues[ n ].getValue() : 0;
+    }
+    else
+    for( n = 0; n < nCnt; ++n )
+        pValues[ n ] = 0;
+}
+
+sal_Bool SwFilterOptions::CheckNodeContentExist( const sal_Char* pNode,
                                                  const sal_Char* pCntnt )
- {
+{
     Sequence<OUString> aNames( GetNodeNames(
                                         OUString::createFromAscii( pNode )));
     sal_Bool bExist = sal_False;
@@ -393,7 +363,7 @@ ULONG SwgReader::Read( SwDoc &rDoc, SwPaM &rPam, const String& rFileName )
             break;
         }
     return bExist;
- }
+}
 
 SwRelNumRuleSpaces::SwRelNumRuleSpaces( SwDoc& rDoc, BOOL bNDoc )
     : bNewDoc( bNDoc )
@@ -559,17 +529,17 @@ void SwRelNumRuleSpaces::SetNumLSpace( SwTxtNode& rNd, const SwNumRule& rRule )
     }
 }
 
- struct CharSetNameMap
- {
+struct CharSetNameMap
+{
      rtl_TextEncoding eCode;
      const sal_Char* pName;
- };
+};
 
- const CharSetNameMap *GetCharSetNameMap()
- {
+const CharSetNameMap *GetCharSetNameMap()
+{
      static const CharSetNameMap aMapArr[] =
      {
- #   define IMPLENTRY(X) { RTL_TEXTENCODING_##X, "" #X "" }
+#define IMPLENTRY(X) { RTL_TEXTENCODING_##X, "" #X "" }
          IMPLENTRY(DONTKNOW),
          IMPLENTRY(MS_1252),
          IMPLENTRY(APPLE_ROMAN),
@@ -664,13 +634,13 @@ void SwRelNumRuleSpaces::SetNumLSpace( SwTxtNode& rNd, const SwNumRule& rRule )
          {0,0}       //Last
      };
      return &aMapArr[0];
- }
+}
 
 /*
  Get a rtl_TextEncoding from its name
  */
- rtl_TextEncoding CharSetFromName(const String& rChrSetStr)
- {
+rtl_TextEncoding CharSetFromName(const String& rChrSetStr)
+{
      const CharSetNameMap *pStart = GetCharSetNameMap();
      rtl_TextEncoding nRet = pStart->eCode;
 
@@ -686,21 +656,20 @@ void SwRelNumRuleSpaces::SetNumLSpace( SwTxtNode& rNd, const SwNumRule& rRule )
      ASSERT(nRet != pStart->eCode, "TXT: That was an unknown language!");
 
     return nRet;
- }
-
+}
 
 /*
  Get the String name of an rtl_TextEncoding
  */
 
- struct LangNameMap
- {
+struct LangNameMap
+{
      LanguageType nId;
      const sal_Char* pLanguageNm;
- };
+};
 
- const LangNameMap *GetLangNameMap()
- {
+const LangNameMap *GetLangNameMap()
+{
      static const LangNameMap aMapArr[] =
      {
          {LANGUAGE_DONTKNOW,                    "DONTKNOW"              },
@@ -894,8 +863,8 @@ void SwRelNumRuleSpaces::SetNumLSpace( SwTxtNode& rNd, const SwNumRule& rRule )
      return &aMapArr[0];
  }
 
- static LanguageType LanguageFromName(const String& rLngStr)
- {
+static LanguageType LanguageFromName(const String& rLngStr)
+{
      const LangNameMap *pStart = GetLangNameMap();
      LanguageType nRet = pStart->nId;
 
@@ -907,11 +876,9 @@ void SwRelNumRuleSpaces::SetNumLSpace( SwTxtNode& rNd, const SwNumRule& rRule )
              break;
          }
      }
-
      ASSERT(nRet != pStart->nId, "TXT: That was an unknown language!");
-
     return nRet;
- }
+}
 
 
 // for the automatic conversion (mail/news/...)
@@ -922,10 +889,9 @@ void SwRelNumRuleSpaces::SetNumLSpace( SwTxtNode& rNd, const SwNumRule& rRule )
 //	3. Fontname
 //	4. Language
 // the delimetercharacter is ","
-//
 
- void SwAsciiOptions::ReadUserData( const String& rStr )
- {
+void SwAsciiOptions::ReadUserData( const String& rStr )
+{
     xub_StrLen nToken = 0;
     USHORT nCnt = 0;
     String sToken;
@@ -955,7 +921,7 @@ void SwRelNumRuleSpaces::SetNumLSpace( SwTxtNode& rNd, const SwNumRule& rRule )
         }
         ++nCnt;
     } while( STRING_NOTFOUND != nToken );
- }
+}
 
 Color ConvertBrushStyle(const Color& rCol, const Color& rFillCol, BYTE nStyle)
 {
@@ -1005,8 +971,8 @@ Color ConvertBrushStyle(const Color& rCol, const Color& rFillCol, BYTE nStyle)
     return aColor;
 }
 
-    void SwFilterOptions::Commit() {}
-    void SwFilterOptions::Notify( const ::com::sun::star::uno::Sequence< rtl::OUString >& /*aPropertyNames*/ ) {}
+void SwFilterOptions::Commit() {}
+void SwFilterOptions::Notify( const ::com::sun::star::uno::Sequence< rtl::OUString >& /*aPropertyNames*/ ) {}
 
 }
 
commit 265f89129f628f6f539a142544e1bc873046d35d
Author: Pierre-André Jacquod <pjacquod at alumni.ethz.ch>
Date:   Thu Jan 27 22:46:44 2011 +0100

    delete comments / cleaning of these files

diff --git a/binfilter/bf_sw/source/filter/inc/wrtswtbl.hxx b/binfilter/bf_sw/source/filter/inc/wrtswtbl.hxx
index 1398bd6..0cdec6b 100644
--- a/binfilter/bf_sw/source/filter/inc/wrtswtbl.hxx
+++ b/binfilter/bf_sw/source/filter/inc/wrtswtbl.hxx
@@ -36,8 +36,8 @@
 #include <orntenum.hxx>
 #include <horiornt.hxx>
 class Color; 
-namespace binfilter {
 
+namespace binfilter {
 
 class SwTableBox;
 class SwTableBoxes;
@@ -61,49 +61,26 @@ class SvxBorderLine;
 #define ROW_DFLT_HEIGHT (2*ROWFUZZY)+1
 
 
-//-----------------------------------------------------------------------
-
-
-
-
-//-----------------------------------------------------------------------
-
-
-
-
-
-
-//-----------------------------------------------------------------------
-
 class SwWriteTableCol
 {
     USHORT nPos;						// End Position der Spalte
-
     USHORT nWidthOpt;
-
     BOOL bRelWidthOpt : 1;
     BOOL bOutWidth : 1;					// Spaltenbreite ausgeben?
 
 public:
     BOOL bLeftBorder : 1;				// Welche Umrandungen sind da?
     BOOL bRightBorder : 1;
-
     SwWriteTableCol( USHORT nPosition );
-
-    USHORT GetPos() const 						{ return nPos; }
-
-    void SetLeftBorder( BOOL bBorder ) 			{ bLeftBorder = bBorder; }
+    USHORT GetPos() const                                       { return nPos; }
+    void SetLeftBorder( BOOL bBorder )                          { bLeftBorder = bBorder; }
     BOOL HasLeftBorder() const 					{ return bLeftBorder; }
-
-    void SetRightBorder( BOOL bBorder )			{ bRightBorder = bBorder; }
+    void SetRightBorder( BOOL bBorder )                         { bRightBorder = bBorder; }
     BOOL HasRightBorder() const					{ return bRightBorder; }
-
     void SetOutWidth( BOOL bSet ) 				{ bOutWidth = bSet; }
     BOOL GetOutWidth() const 					{ return bOutWidth; }
-
     inline int operator==( const SwWriteTableCol& rCol ) const;
     inline int operator<( const SwWriteTableCol& rCol ) const;
-
     void SetWidthOpt( USHORT nWidth, BOOL bRel )
     {
         nWidthOpt = nWidth; bRelWidthOpt = bRel;
@@ -126,35 +103,16 @@ inline int SwWriteTableCol::operator<( const SwWriteTableCol& rCol ) const
     return nPos < rCol.nPos - COLFUZZY;
 }
 
-
-typedef SwWriteTableCol *SwWriteTableColPtr;
+typedef SwWriteTableCol* SwWriteTableColPtr;
 SV_DECL_PTRARR_SORT_DEL( SwWriteTableCols, SwWriteTableColPtr, 5, 5 )
 
-//-----------------------------------------------------------------------
-
 class SwWriteTable
 {
-
-
-
-
-
-
-
-
-public:
-    static long GetBoxWidth( const SwTableBox *pBox );
-
-
-
-
-
-
+    public:
+        static long GetBoxWidth( const SwTableBox *pBox );
 };
 
 
-
-
 } //namespace binfilter
 #endif
 
diff --git a/binfilter/bf_sw/source/filter/writer/sw_wrtswtbl.cxx b/binfilter/bf_sw/source/filter/writer/sw_wrtswtbl.cxx
index c8c1b86..e964ea6 100644
--- a/binfilter/bf_sw/source/filter/writer/sw_wrtswtbl.cxx
+++ b/binfilter/bf_sw/source/filter/writer/sw_wrtswtbl.cxx
@@ -43,61 +43,19 @@
 
 namespace binfilter {
 
+SwWriteTableCol::SwWriteTableCol( USHORT nPosition )
+    : nPos(nPosition), bLeftBorder(TRUE), bRightBorder(TRUE),
+      nWidthOpt( 0 ), bRelWidthOpt( FALSE ), bOutWidth( TRUE )
+{
+}
 
-
-//-----------------------------------------------------------------------
-
-
-//-----------------------------------------------------------------------
-
-
-
-
-//-----------------------------------------------------------------------
-
-/*N*/ SwWriteTableCol::SwWriteTableCol( USHORT nPosition )
-/*N*/ 	: nPos(nPosition),
-/*N*/ 	bLeftBorder(TRUE), bRightBorder(TRUE),
-/*N*/ 	nWidthOpt( 0 ), bRelWidthOpt( FALSE ),
-/*N*/ 	bOutWidth( TRUE )
-/*N*/ {
-/*N*/ }
-
-//-----------------------------------------------------------------------
-
-/*N*/ long SwWriteTable::GetBoxWidth( const SwTableBox *pBox )
-/*N*/ {
-/*N*/ 	const SwFrmFmt *pFmt = pBox->GetFrmFmt();
-/*N*/ 	const SwFmtFrmSize& aFrmSize=
-/*N*/ 		(const SwFmtFrmSize&)pFmt->GetAttr( RES_FRM_SIZE );
-/*N*/ 
-/*N*/ 	return aFrmSize.GetSize().Width();
-/*N*/ }
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+long SwWriteTable::GetBoxWidth( const SwTableBox *pBox )
+{
+    const SwFrmFmt *pFmt = pBox->GetFrmFmt();
+    const SwFmtFrmSize& aFrmSize=
+         (const SwFmtFrmSize&)pFmt->GetAttr( RES_FRM_SIZE );
+    return aFrmSize.GetSize().Width();
+}
 
 }
 
commit c08b4d0c5ce2bced1370727d86bd210167e8fcf5
Author: Pierre-André Jacquod <pjacquod at alumni.ethz.ch>
Date:   Thu Jan 27 19:26:21 2011 +0100

    delet all content of bf_sw/source/filter/writer/sw_writer.cxx
    
    this file is now empty, will be removed soon

diff --git a/binfilter/bf_sw/source/filter/writer/sw_writer.cxx b/binfilter/bf_sw/source/filter/writer/sw_writer.cxx
index cd2be17..aa716eb 100644
--- a/binfilter/bf_sw/source/filter/writer/sw_writer.cxx
+++ b/binfilter/bf_sw/source/filter/writer/sw_writer.cxx
@@ -26,40 +26,8 @@
  *
  ************************************************************************/
 
-#ifdef _MSC_VER
-#pragma hdrstop
-#endif
-
-#include <hintids.hxx>
-
-#define _SVSTDARR_STRINGSSORTDTOR
-
- #ifndef _STREAM_HXX //autogen
- #include <tools/stream.hxx>
- #endif
-#include <bf_svx/fontitem.hxx>
-#include <bf_svx/eeitem.hxx>
-
-#include <shellio.hxx>
-
-#include <horiornt.hxx>
-#include <errhdl.hxx>
-
-#include <pam.hxx>
-#include <doc.hxx>
-#include <docary.hxx>
-#include <bookmrk.hxx>          // fuer SwBookmark ...
-#include <numrule.hxx>
-
-#include <swerror.h>
 namespace binfilter {
 
-// Stringbuffer fuer die umgewandelten Zahlen
-static sal_Char aNToABuf[] = "0000000000000000000000000";
-#define NTOABUFLEN (sizeof(aNToABuf))
-
-/*N*/ DECLARE_TABLE( SwBookmarkNodeTable, SvPtrarr* )
-
 }
 
 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */
commit e8a7cb339ed7db1177fd699d476bc21e45ff6ae5
Author: Pierre-André Jacquod <pjacquod at alumni.ethz.ch>
Date:   Thu Jan 27 08:05:08 2011 +0100

    delete struct Writer_Impl in binfilter/bf_sw

diff --git a/binfilter/bf_sw/source/filter/writer/sw_writer.cxx b/binfilter/bf_sw/source/filter/writer/sw_writer.cxx
index fbdea40..cd2be17 100644
--- a/binfilter/bf_sw/source/filter/writer/sw_writer.cxx
+++ b/binfilter/bf_sw/source/filter/writer/sw_writer.cxx
@@ -60,47 +60,6 @@ static sal_Char aNToABuf[] = "0000000000000000000000000";
 
 /*N*/ DECLARE_TABLE( SwBookmarkNodeTable, SvPtrarr* )
 
-/*N*/ struct Writer_Impl
-/*N*/ {
-/*N*/ 	SvStringsSortDtor *pSrcArr, *pDestArr;
-/*N*/ 	SvPtrarr* pFontRemoveLst, *pBkmkArr;
-/*N*/ 	SwBookmarkNodeTable* pBkmkNodePos;
-/*N*/
-/*N*/ 	Writer_Impl( const SwDoc& rDoc );
-/*N*/ 	~Writer_Impl();
-/*N*/
-/*N*/ 	void RemoveFontList( SwDoc& rDoc );
-/*N*/ };
-
-/*N*/ Writer_Impl::Writer_Impl( const SwDoc& /*rDoc*/ )
-/*N*/ 	: pSrcArr( 0 ), pDestArr( 0 ), pFontRemoveLst( 0 ), pBkmkNodePos( 0 )
-/*N*/ {
-/*N*/ }
-
-/*N*/ Writer_Impl::~Writer_Impl()
-/*N*/ {
-/*N*/ 	delete pSrcArr;
-/*N*/ 	delete pDestArr;
-/*N*/ 	delete pFontRemoveLst;
-/*N*/
-/*N*/ 	if( pBkmkNodePos )
-/*N*/ 	{
-/*?*/ 		for( SvPtrarr* p = pBkmkNodePos->First(); p; p = pBkmkNodePos->Next() )
-/*?*/ 			delete p;
-/*?*/ 		delete pBkmkNodePos;
-/*N*/ 	}
-/*N*/ }
-
-/*N*/ void Writer_Impl::RemoveFontList( SwDoc& rDoc )
-/*N*/ {
-/*N*/ 	ASSERT( pFontRemoveLst, "wo ist die FontListe?" );
-/*N*/ 	for( USHORT i = pFontRemoveLst->Count(); i; )
-/*N*/ 	{
-/*N*/ 		SvxFontItem* pItem = (SvxFontItem*)(*pFontRemoveLst)[ --i ];
-/*N*/ 		rDoc.GetAttrPool().Remove( *pItem );
-/*N*/ 	}
-/*N*/ }
-
 }
 
 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/binfilter/inc/bf_sw/shellio.hxx b/binfilter/inc/bf_sw/shellio.hxx
index 231b425..f2d29e5 100644
--- a/binfilter/inc/bf_sw/shellio.hxx
+++ b/binfilter/inc/bf_sw/shellio.hxx
@@ -57,7 +57,6 @@ class SwCrsrShell;
 class SwDoc;
 class SwPaM;
 struct SwPosition;
-struct Writer_Impl;
 
 // ab so vielen chars wird ein mit einem ASCII/W4W-Reader eingelesener
 // Absatz zwangsweise umgebrochen. Muss immer groesser als 200 sein !!!
commit 6cf829604c9180198f9a018f8ebc4ae13c56899c
Author: Pierre-André Jacquod <pjacquod at alumni.ethz.ch>
Date:   Sun Jan 16 17:11:34 2011 +0100

    delete class Writer in binfilter/bf_sw
    
    the class Writer is deleted in binfilter/bf_sw and all dependencies
    of this class. This includes some other derivated classes.
    Some classes or functions (in other classes ) are left behind, needing
    now an analysis to see if they are orphean or used by some read classes

diff --git a/binfilter/bf_sw/source/core/unocore/sw_unoobj.cxx b/binfilter/bf_sw/source/core/unocore/sw_unoobj.cxx
index a75257b..9e6f70e 100644
--- a/binfilter/bf_sw/source/core/unocore/sw_unoobj.cxx
+++ b/binfilter/bf_sw/source/core/unocore/sw_unoobj.cxx
@@ -284,7 +284,12 @@ void SwXTextCursor::getTextFromPam(SwPaM& aCrsr, OUString& rBuffer)
 #else
     aStream.SetNumberFormatInt( NUMBERFORMAT_INT_LITTLEENDIAN );
 #endif
-    WriterRef xWrt;
+/* this part is commented out since is not more executable due to the
+   deletion of the Writer class.
+   Investigation needs to be done in order to know if the function can be
+   removed too, or needs to be adapted
+*/
+/*    WriterRef xWrt;
     SwIoSystem::GetWriter( C2S(FILTER_TEXT_DLG), xWrt );
     if( xWrt.Is() )
     {
@@ -294,6 +299,7 @@ void SwXTextCursor::getTextFromPam(SwPaM& aCrsr, OUString& rBuffer)
         xWrt->SetAsciiOptions( aOpt );
         xWrt->bUCS2_WithStartChar = FALSE;
     }
+*/
 }
 
 void lcl_setCharStyle(SwDoc* pDoc, const uno::Any aValue, SfxItemSet& rSet)
diff --git a/binfilter/bf_sw/source/filter/ascii/makefile.mk b/binfilter/bf_sw/source/filter/ascii/makefile.mk
index 5b57a44..c653997 100644
--- a/binfilter/bf_sw/source/filter/ascii/makefile.mk
+++ b/binfilter/bf_sw/source/filter/ascii/makefile.mk
@@ -42,8 +42,6 @@ INC+= -I$(PRJ)$/inc$/bf_sw
 # --- Files --------------------------------------------------------
 
 SLOFILES =	\
-        $(SLO)$/sw_ascatr.obj \
-        $(SLO)$/sw_wrtasc.obj
 
 # --- Tagets -------------------------------------------------------
 
diff --git a/binfilter/bf_sw/source/filter/ascii/sw_ascatr.cxx b/binfilter/bf_sw/source/filter/ascii/sw_ascatr.cxx
deleted file mode 100644
index 8cdfe89..0000000
--- a/binfilter/bf_sw/source/filter/ascii/sw_ascatr.cxx
+++ /dev/null
@@ -1,228 +0,0 @@
-/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
-/*************************************************************************
- *
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- * 
- * Copyright 2000, 2010 Oracle and/or its affiliates.
- *
- * OpenOffice.org - a multi-platform office productivity suite
- *
- * This file is part of OpenOffice.org.
- *
- * OpenOffice.org is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License version 3
- * only, as published by the Free Software Foundation.
- *
- * OpenOffice.org is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU Lesser General Public License version 3 for more details
- * (a copy is included in the LICENSE file that accompanied this code).
- *
- * You should have received a copy of the GNU Lesser General Public License
- * version 3 along with OpenOffice.org.  If not, see
- * <http://www.openoffice.org/license.html>
- * for a copy of the LGPLv3 License.
- *
- ************************************************************************/
-
-#ifdef _MSC_VER
-#pragma hdrstop
-#endif
-
-#include <hintids.hxx>
-
-#include <tools/stream.hxx>
-#ifndef _SVSTDARR_HXX
-#define _SVSTDARR_USHORTS
-#endif
-
-#include <errhdl.hxx>
-
-#include <pam.hxx>
-
-#include <horiornt.hxx>
-
-#include <doc.hxx>
-#include <ndtxt.hxx>
-#include <wrtasc.hxx>
-#include <txtfld.hxx>
-#include <fmtftn.hxx>
-#include <fmtfld.hxx>
-#include <fldbas.hxx>
-#include <ftninfo.hxx>
-namespace binfilter {
-
-/*
- * Dieses File enthaelt alle Ausgabe-Funktionen des ASCII-Writers;
- * fuer alle Nodes, Attribute, Formate und Chars.
- */
-
-class SwASC_AttrIter
-{
-    SwASCWriter& rWrt;
-    const SwTxtNode& rNd;
-    xub_StrLen nAktSwPos;
-
-    xub_StrLen SearchNext( xub_StrLen nStartPos );
-
-public:
-    SwASC_AttrIter( SwASCWriter& rWrt, const SwTxtNode& rNd, xub_StrLen nStt );
-
-    void NextPos() 		{ nAktSwPos = SearchNext( nAktSwPos + 1 ); }
-
-    xub_StrLen WhereNext() const		{ return nAktSwPos; }
-    BOOL OutAttr( xub_StrLen nSwPos );
-};
-
-
-/*N*/ SwASC_AttrIter::SwASC_AttrIter( SwASCWriter& rWr, const SwTxtNode& rTxtNd,
-/*N*/ 								xub_StrLen nStt )
-/*N*/ 	: rWrt( rWr ), rNd( rTxtNd ), nAktSwPos( 0 )
-/*N*/ {
-/*N*/ 	nAktSwPos = SearchNext( nStt + 1 );
-/*N*/ }
-
-
-/*N*/ xub_StrLen SwASC_AttrIter::SearchNext( xub_StrLen nStartPos )
-/*N*/ {
-/*N*/ 	register xub_StrLen nMinPos = STRING_MAXLEN;
-/*N*/ 	const SwpHints* pTxtAttrs = rNd.GetpSwpHints();
-/*N*/ 	if( pTxtAttrs )
-/*N*/ 	{
-/*?*/ 		register USHORT i;
-/*?*/ 		register xub_StrLen nPos;
-/*?*/ 		const xub_StrLen * pPos;
-/*?*/ 
-/*?*/ // kann noch optimiert werden, wenn ausgenutzt wird, dass die TxtAttrs
-/*?*/ // nach der Anfangsposition geordnet sind. Dann muessten
-/*?*/ // allerdings noch 2 Indices gemerkt werden
-/*?*/ 		for( i = 0; i < pTxtAttrs->Count(); i++ )
-/*?*/ 		{
-/*?*/ 			const SwTxtAttr* pHt = (*pTxtAttrs)[i];
-/*?*/ 			nPos = *pHt->GetStart();	// gibt erstes Attr-Zeichen
-/*?*/ 			pPos = pHt->GetEnd();
-/*?*/ 			if( !pPos )
-/*?*/ 			{
-/*?*/ 				if( nPos >= nStartPos && nPos <= nMinPos )
-/*?*/ 					nMinPos = nPos;
-/*?*/ 
-/*?*/ 				if( ( ++nPos ) >= nStartPos && nPos < nMinPos )
-/*?*/ 					nMinPos = nPos;
-/*?*/ 			}
-/*?*/ 		}
-/*N*/ 	}
-/*N*/ 	return nMinPos;
-/*N*/ }
-
-
-/*N*/ BOOL SwASC_AttrIter::OutAttr( xub_StrLen nSwPos )
-/*N*/ {
-/*N*/ 	BOOL bRet = FALSE;
-/*N*/ 	const SwpHints* pTxtAttrs = rNd.GetpSwpHints();
-/*N*/ 	if( pTxtAttrs )
-/*N*/ 	{
-/*?*/ 		register USHORT i;
-/*?*/ 		for( i = 0; i < pTxtAttrs->Count(); i++ )
-/*?*/ 		{
-/*?*/ 			const SwTxtAttr* pHt = (*pTxtAttrs)[i];
-/*?*/ 			const xub_StrLen * pEnd = pHt->GetEnd();
-/*?*/ 			if( !pEnd && nSwPos == *pHt->GetStart() )
-/*?*/ 			{
-/*?*/ 				bRet = TRUE;
-/*?*/ 				String sOut;
-/*?*/ 				switch( pHt->Which() )
-/*?*/ 				{
-/*?*/ 				case RES_TXTATR_FIELD:
-/*?*/ 					sOut = ((SwTxtFld*)pHt)->GetFld().GetFld()->Expand();
-/*?*/ 					break;
-/*?*/ 
-/*?*/ 				case RES_TXTATR_HARDBLANK:
-                        {DBG_BF_ASSERT(0, "STRIP");}
-/*?*/ 					break;
-/*?*/ 
-/*?*/ 				case RES_TXTATR_FTN:
-/*?*/ 					{
-/*?*/ 						const SwFmtFtn& rFtn = pHt->GetFtn();
-/*?*/ 						if( rFtn.GetNumStr().Len() )
-/*?*/ 							sOut = rFtn.GetNumStr();
-/*?*/ 						else if( rFtn.IsEndNote() )
-/*?*/ 							sOut = rWrt.pDoc->GetEndNoteInfo().aFmt.
-/*?*/ 											GetNumStr( rFtn.GetNumber() );
-/*?*/ 						else
-/*?*/ 							sOut = rWrt.pDoc->GetFtnInfo().aFmt.
-/*?*/ 											GetNumStr( rFtn.GetNumber() );
-/*?*/ 					}
-/*?*/ 					break;
-/*?*/ 				}
-/*?*/ 				if( sOut.Len() )
-/*?*/ 					rWrt.Strm().WriteUnicodeOrByteText( sOut );
-/*?*/ 			}
-/*?*/ 			else if( nSwPos < *pHt->GetStart() )
-/*?*/ 				break;
-/*?*/ 		}
-/*N*/ 	}
-/*N*/ 	return bRet;
-/*N*/ }
-
-
-//------------------------
-/* Ausgabe der Nodes */
-//------------------------
-
-/*N*/ static Writer& OutASC_SwTxtNode( Writer& rWrt, SwCntntNode& rNode )
-/*N*/ {
-/*N*/ 	const SwTxtNode& rNd = (SwTxtNode&)rNode;
-/*N*/ 
-/*N*/ 	xub_StrLen nStrPos = rWrt.pCurPam->GetPoint()->nContent.GetIndex();
-/*N*/ 	xub_StrLen nNodeEnde = rNd.Len(), nEnde = nNodeEnde;
-/*N*/ 	BOOL bLastNd =  rWrt.pCurPam->GetPoint()->nNode == rWrt.pCurPam->GetMark()->nNode;
-/*N*/ 	if( bLastNd )
-/*N*/ 		nEnde = rWrt.pCurPam->GetMark()->nContent.GetIndex();
-/*N*/ 
-/*N*/ 	SwASC_AttrIter aAttrIter( (SwASCWriter&)rWrt, rNd, nStrPos );
-/*N*/ 
-/*N*/ 	if( !nStrPos )
-/*N*/ 		rWrt.Strm().WriteUnicodeOrByteText( rNd.GetNumString() );
-/*N*/ 
-/*N*/ 	String aStr( rNd.GetTxt() );
-/*N*/ 	if( rWrt.bASCII_ParaAsBlanc )
-/*?*/ 		aStr.SearchAndReplaceAll( 0x0A, ' ' );
-/*N*/ 
-/*N*/ 	do {
-/*N*/ 		xub_StrLen nNextAttr = aAttrIter.WhereNext();
-/*N*/ 
-/*N*/ 		if( nNextAttr > nEnde )
-/*N*/ 			nNextAttr = nEnde;
-/*N*/ 
-/*N*/ 		if( !aAttrIter.OutAttr( nStrPos ))
-/*N*/ 			rWrt.Strm().WriteUnicodeOrByteText(
-/*N*/ 								aStr.Copy( nStrPos, nNextAttr - nStrPos ));
-/*N*/ 		nStrPos = nNextAttr;
-/*N*/ 		aAttrIter.NextPos();
-/*N*/ 	} while( nStrPos < nEnde );
-/*N*/ 
-/*N*/ 	if( !bLastNd ||
-/*N*/ 		(( !rWrt.bWriteClipboardDoc && !rWrt.bASCII_NoLastLineEnd )
-/*N*/ 			&& !nStrPos && nEnde == nNodeEnde ))
-/*?*/ 		rWrt.Strm().WriteUnicodeOrByteText( ((SwASCWriter&)rWrt).GetLineEnd());
-/*N*/ 
-/*N*/ 	return rWrt;
-/*N*/ }
-
-/*
- * lege hier jetzt die Tabellen fuer die ASCII-Funktions-Pointer auf
- * die Ausgabe-Funktionen an.
- * Es sind lokale Strukturen, die nur innerhalb der ASCII-DLL
- * bekannt sein muessen.
- */
-
-SwNodeFnTab aASCNodeFnTab = {
-/* RES_TXTNODE	*/					 OutASC_SwTxtNode,
-/* RES_GRFNODE	*/					 0,
-/* RES_OLENODE	*/					 0
-};
-
-}
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/binfilter/bf_sw/source/filter/ascii/sw_wrtasc.cxx b/binfilter/bf_sw/source/filter/ascii/sw_wrtasc.cxx
deleted file mode 100644
index 79a80c1..0000000
--- a/binfilter/bf_sw/source/filter/ascii/sw_wrtasc.cxx
+++ /dev/null
@@ -1,121 +0,0 @@
-/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
-/*************************************************************************
- *
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- * 
- * Copyright 2000, 2010 Oracle and/or its affiliates.
- *
- * OpenOffice.org - a multi-platform office productivity suite
- *
- * This file is part of OpenOffice.org.
- *
- * OpenOffice.org is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License version 3
- * only, as published by the Free Software Foundation.
- *
- * OpenOffice.org is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU Lesser General Public License version 3 for more details
- * (a copy is included in the LICENSE file that accompanied this code).
- *
- * You should have received a copy of the GNU Lesser General Public License
- * version 3 along with OpenOffice.org.  If not, see
- * <http://www.openoffice.org/license.html>
- * for a copy of the LGPLv3 License.
- *
- ************************************************************************/
-
-
-#ifdef _MSC_VER
-#pragma hdrstop
-#endif
-
-
-#include <tools/stream.hxx>
-
-#include <errhdl.hxx>
-
-#include <pam.hxx>
-
-#include <horiornt.hxx>
-
-#include <doc.hxx>
-#include <ndtxt.hxx>
-#include <mdiexp.hxx>			// ...Percent()
-#include <docary.hxx>
-#include <fmtcntnt.hxx>
-#include <frmfmt.hxx>
-#include <wrtasc.hxx>
-
-#include <statstr.hrc>			// ResId fuer Statusleiste
-#include <osl/endian.h>
-namespace binfilter {
-
-//-----------------------------------------------------------------
-
-/*N*/ SwASCWriter::SwASCWriter( const String& rFltNm )
-/*N*/ {
-/*N*/ 	SwAsciiOptions aNewOpts;
-/*N*/ 
-/*N*/ 	switch( 5 <= rFltNm.Len() ? rFltNm.GetChar( 4 ) : 0 )
-/*N*/ 	{
-/*?*/ 	case 'D':
-/*?*/ #if !defined(PM2)
-/*?*/ 				aNewOpts.SetCharSet( RTL_TEXTENCODING_IBM_850 );
-/*?*/ 				aNewOpts.SetParaFlags( LINEEND_CRLF );
-/*?*/ #endif
-/*?*/ 				if( 5 < rFltNm.Len() )
-/*?*/ 					switch( rFltNm.Copy( 5 ).ToInt32() )
-/*?*/ 					{
-/*?*/ 					case 437: aNewOpts.SetCharSet( RTL_TEXTENCODING_IBM_437 );	break;
-/*?*/ 					case 850: aNewOpts.SetCharSet( RTL_TEXTENCODING_IBM_850 );	break;
-/*?*/ 					case 860: aNewOpts.SetCharSet( RTL_TEXTENCODING_IBM_860 );	break;
-/*?*/ 					case 861: aNewOpts.SetCharSet( RTL_TEXTENCODING_IBM_861 );	break;
-/*?*/ 					case 863: aNewOpts.SetCharSet( RTL_TEXTENCODING_IBM_863 );	break;
-/*?*/ 					case 865: aNewOpts.SetCharSet( RTL_TEXTENCODING_IBM_865 );	break;
-/*?*/ 					}
-/*?*/ 				break;
-/*?*/ 
-/*?*/ 	case 'A':
-/*?*/ #if !defined(WIN) && !defined(WNT)
-/*?*/ 				aNewOpts.SetCharSet( RTL_TEXTENCODING_MS_1252 );
-/*?*/ 				aNewOpts.SetParaFlags( LINEEND_CRLF );
-/*?*/ #endif
-/*?*/ 				break;
-/*?*/ 
-/*?*/ 	case 'M':
-/*?*/ #if !defined(MAC)
-/*?*/ 				aNewOpts.SetCharSet( RTL_TEXTENCODING_APPLE_ROMAN );
-/*?*/ 				aNewOpts.SetParaFlags( LINEEND_CR );
-/*?*/ #endif
-/*?*/ 				break;
-/*?*/ 
-/*?*/ 	case 'X':
-/*?*/ #if !defined(UNX)
-/*?*/ 				aNewOpts.SetCharSet( RTL_TEXTENCODING_MS_1252 );
-/*?*/ 				aNewOpts.SetParaFlags( LINEEND_LF );
-/*?*/ #endif
-/*?*/ 				break;
-/*?*/ 
-/*N*/ 	default:
-/*N*/ 		if( rFltNm.Copy( 4 ).EqualsAscii( "_DLG" ))
-/*N*/ 		{
-/*N*/ 			// use the options
-/*N*/ 			aNewOpts = GetAsciiOptions();
-/*N*/ 		}
-/*N*/ 	}
-/*N*/ 	SetAsciiOptions( aNewOpts );
-/*N*/ }
-
-/*N*/ SwASCWriter::~SwASCWriter() {}
-
-/*N*/ void GetASCWriter( const String& rFltNm, WriterRef& xRet )
-/*N*/ {
-/*N*/   xRet = new SwASCWriter( rFltNm );
-/*N*/ }
-
-
-}
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/binfilter/bf_sw/source/filter/ascii/wrtasc.hxx b/binfilter/bf_sw/source/filter/ascii/wrtasc.hxx
deleted file mode 100644
index d38b34c..0000000
--- a/binfilter/bf_sw/source/filter/ascii/wrtasc.hxx
+++ /dev/null
@@ -1,55 +0,0 @@
-/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
-/*************************************************************************
- *
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- * 
- * Copyright 2000, 2010 Oracle and/or its affiliates.
- *
- * OpenOffice.org - a multi-platform office productivity suite
- *
- * This file is part of OpenOffice.org.
- *
- * OpenOffice.org is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License version 3
- * only, as published by the Free Software Foundation.
- *
- * OpenOffice.org is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU Lesser General Public License version 3 for more details
- * (a copy is included in the LICENSE file that accompanied this code).
- *
- * You should have received a copy of the GNU Lesser General Public License
- * version 3 along with OpenOffice.org.  If not, see
- * <http://www.openoffice.org/license.html>
- * for a copy of the LGPLv3 License.
- *
- ************************************************************************/
-#ifndef _WRTASC_HXX
-#define _WRTASC_HXX
-
-#include <shellio.hxx>
-#include <wrt_fn.hxx>
-namespace binfilter {
-
-extern SwNodeFnTab aASCNodeFnTab;
-
-
-// der ASC-Writer
-
-class SwASCWriter : public Writer
-{
-    String sLineEnd;
-
-public:
-    SwASCWriter( const String& rFilterName );
-    virtual ~SwASCWriter();
-
-    const String& GetLineEnd() const      { return sLineEnd; }
-};
-
-
-} //namespace binfilter
-#endif	//  _WRTASC_HXX
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/binfilter/bf_sw/source/filter/basflt/sw_fltini.cxx b/binfilter/bf_sw/source/filter/basflt/sw_fltini.cxx
index 6cad38c..6e14426 100644
--- a/binfilter/bf_sw/source/filter/basflt/sw_fltini.cxx
+++ b/binfilter/bf_sw/source/filter/basflt/sw_fltini.cxx
@@ -134,17 +134,6 @@ SwRead ReadRtf = 0, ReadAscii = 0, ReadSwg = 0, ReadSw3 = 0,
 /*N*/ }
 
 
-/*N*/ void SwIoSystem::GetWriter( const String& rFltName, WriterRef& xRet )
-/*N*/ {
-/*N*/ 	for( USHORT n = 0; n < MAXFILTER; ++n )
-/*N*/ 		if( aReaderWriter[n].IsFilter( rFltName ) )
-/*N*/ 		{
-/*N*/ 			aReaderWriter[n].GetWriter( rFltName, xRet );
-/*N*/ 			break;
-/*N*/ 		}
-/*N*/ }
-
-
  SwRead SwIoSystem::GetReader( const String& rFltName )
  {
     SwRead pRead = 0;
@@ -244,12 +233,6 @@ SwRead ReadRtf = 0, ReadAscii = 0, ReadSwg = 0, ReadSw3 = 0,
     // read the sections of the document, which is equal to the medium.
     // returns the count of it
 
-
-
- BOOL Writer::IsStgWriter() const { return FALSE; }
- BOOL Writer::IsSw3Writer() const { return FALSE; }
-
-
 ULONG SwgReader::Read( SwDoc &rDoc, SwPaM &rPam, const String& rFileName )
 {
     if( !pStrm )
diff --git a/binfilter/bf_sw/source/filter/inc/fltini.hxx b/binfilter/bf_sw/source/filter/inc/fltini.hxx
index bd71236..150a75d 100644
--- a/binfilter/bf_sw/source/filter/inc/fltini.hxx
+++ b/binfilter/bf_sw/source/filter/inc/fltini.hxx
@@ -88,9 +88,6 @@ class LotusReader : public Reader
 public:
 };
 
-
-
-
 class XMLReader : public Reader
 {
     virtual ULONG Read(SwDoc &,SwPaM &,const String &);
@@ -105,17 +102,12 @@ public:
                                 SvStrings& rStrings ) const;
 };
 
-// die speziellen Writer
-
-void GetW4WWriter( const String&, WriterRef& );
-void GetStgWriter( const String&, WriterRef& );
-void GetWWWriter( const String&, WriterRef& );
-
 // Umsetzen der LRSpaces im aktuell importierten Doc. Die Fremd-Filter
 // liefern immer absolute Werte fuer die Ebenen einer NumRule. Wir
 // verarbeiten jetzt aber relative Werte bezogen auf das LR-Space-Item.
 // Das hat zur Folge, das bei allen Absaetzen die EInzuege der NumRule vom
 // Absatz-Einzug abgezogen werden muss.
+
 class SwRelNumRuleSpaces
 {
     SwNumRuleTbl* pNumRuleTbl;  // Liste aller benannten NumRules
diff --git a/binfilter/bf_sw/source/filter/inc/wrt_fn.hxx b/binfilter/bf_sw/source/filter/inc/wrt_fn.hxx
deleted file mode 100644
index ee0125a..0000000
--- a/binfilter/bf_sw/source/filter/inc/wrt_fn.hxx
+++ /dev/null
@@ -1,76 +0,0 @@
-/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
-/*************************************************************************
- *
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- * 
- * Copyright 2000, 2010 Oracle and/or its affiliates.
- *
- * OpenOffice.org - a multi-platform office productivity suite
- *
- * This file is part of OpenOffice.org.
- *
- * OpenOffice.org is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License version 3
- * only, as published by the Free Software Foundation.
- *
- * OpenOffice.org is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU Lesser General Public License version 3 for more details
- * (a copy is included in the LICENSE file that accompanied this code).
- *
- * You should have received a copy of the GNU Lesser General Public License
- * version 3 along with OpenOffice.org.  If not, see
- * <http://www.openoffice.org/license.html>
- * for a copy of the LGPLv3 License.
- *
- ************************************************************************/
-#ifndef _WRT_FN_HXX
-#define _WRT_FN_HXX
-
-#include "hintids.hxx"		// fuer die Konstanten
-
-namespace binfilter {
-
-class SfxPoolItem;
-class SfxItemSet; 
-
-// einige Forward-Deklarationen
-class SwFmt;
-class SwNode;
-class SwCntntNode;
-class Writer;
-
-
-/* Funktionspointer auf die Attribut-Write-Funktionen */
-typedef Writer& (*FnAttrOut)( Writer&, const SfxPoolItem& );
-typedef FnAttrOut SwAttrFnTab[ POOLATTR_END - POOLATTR_BEGIN ];
-
-Writer& Out( const SwAttrFnTab, const SfxPoolItem&, Writer& );
-Writer& Out_SfxItemSet( const SwAttrFnTab, Writer&, const SfxItemSet&,
-                         BOOL bDeep, BOOL bTstForDefault = TRUE );
-
-
-/* Funktionspointer auf die Node-Write-Funktionen */
-
-enum RES_NODE
-{
-RES_NODE_BEGIN = 0,
-    RES_TXTNODE = RES_NODE_BEGIN,
-    RES_GRFNODE,
-    RES_OLENODE,
-RES_NODE_END
-};
-
-typedef Writer& (*FnNodeOut)( Writer&, SwCntntNode& );
-typedef FnNodeOut SwNodeFnTab[ RES_NODE_END - RES_NODE_BEGIN ];
-
-Writer& Out( const SwNodeFnTab, SwNode&, Writer & rWrt );
-
-
-
-
-} //namespace binfilter
-#endif	//	_WRT_FN_HXX
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/binfilter/bf_sw/source/filter/makefile.mk b/binfilter/bf_sw/source/filter/makefile.mk
index 971f02d..951cb3e 100644
--- a/binfilter/bf_sw/source/filter/makefile.mk
+++ b/binfilter/bf_sw/source/filter/makefile.mk
@@ -49,7 +49,6 @@ INC+= -I$(PRJ)$/inc$/bf_sw
 
 
 SUBLIBS= \
-    $(SLB)$/sw_ascii.lib \
     $(SLB)$/sw_basflt.lib \
     $(SLB)$/sw_writer.lib \
     $(SLB)$/sw_excel.lib \
diff --git a/binfilter/bf_sw/source/filter/w4w/makefile.mk b/binfilter/bf_sw/source/filter/w4w/makefile.mk
index f33f6f2..af3125a 100644
--- a/binfilter/bf_sw/source/filter/w4w/makefile.mk
+++ b/binfilter/bf_sw/source/filter/w4w/makefile.mk
@@ -54,9 +54,7 @@ CXXFILES = \
         sw_w4wpar1.cxx \
         sw_w4wpar2.cxx \
         sw_w4wpar3.cxx \
-        sw_w4wstk.cxx \
-        sw_wrtgraf.cxx \
-        sw_wrtw4w.cxx
+        sw_w4wstk.cxx 
 
 
 
@@ -66,9 +64,7 @@ SLOFILES =  \
         $(SLO)$/sw_w4wpar1.obj \
         $(SLO)$/sw_w4wpar2.obj \
         $(SLO)$/sw_w4wpar3.obj \
-        $(SLO)$/sw_w4wstk.obj \
-        $(SLO)$/sw_wrtgraf.obj \
-        $(SLO)$/sw_wrtw4w.obj
+        $(SLO)$/sw_w4wstk.obj 
 
 # --- Tagets -------------------------------------------------------
 
diff --git a/binfilter/bf_sw/source/filter/w4w/sw_w4watr.cxx b/binfilter/bf_sw/source/filter/w4w/sw_w4watr.cxx
index 1a0ec39..c37b11d 100644
--- a/binfilter/bf_sw/source/filter/w4w/sw_w4watr.cxx
+++ b/binfilter/bf_sw/source/filter/w4w/sw_w4watr.cxx
@@ -129,479 +129,28 @@ inline int HI_BYTE( USHORT n )  { return (int)( ( n >> 8 ) & 0xff );  }
 inline int LO_BYTE( USHORT n )  { return (int)( n & 0xff ); }
 
 
-//-----------------------------------------------------------------------
-// Footnotes
-//
-
-static Writer& OutW4W_SwFtn( Writer& rWrt, const SfxPoolItem& rHt )
-{
-    const SwFmtFtn& rFtnFmt = (const SwFmtFtn&)rHt;
-    const SwTxtFtn& rFtn = *rFtnFmt.GetTxtFtn();
-    SwW4WWriter& rW4WWrt = (SwW4WWriter&)rWrt;
-
-    do {    // middle-check-loop
-        if( !rFtn.GetStartNode() )
-            break;          // es gibt keine Kopf-/Fusszeile/Fussnote
-
-        // Hole vom Node und vom letzten Node die Position in der Section
-        SwNode* pSttNd = rWrt.pDoc->GetNodes()[ *rFtn.GetStartNode() ];
-        ULONG  nEnd = pSttNd->EndOfSectionIndex(),
-               nStart = rFtn.GetStartNode()->GetIndex()+1;
-
-        // kein Bereich also kein gueltiger Node
-        if( nStart >= nEnd )
-            break;
-
-        static sal_Char cFNT[] = "FNT00\x1f";		// FootNote
-        if ( rW4WWrt.pDoc->GetFtnInfo().ePos != FTNPOS_PAGE )
-            cFNT[ 4 ] = '2';			// EndNote
-
-        rWrt.Strm() << sW4W_RECBEGIN << cFNT;
-
-        rWrt.OutHex( HI_BYTE(rFtn.GetFtn().GetNumber()) ) << cW4W_TXTERM;
-        rWrt.OutHex( LO_BYTE(rFtn.GetFtn().GetNumber()) ) << cW4W_TXTERM;
-        rWrt.Strm() << "00" << cW4W_TXTERM << "01" << cW4W_TXTERM << // gemogelt: # of lines
-                "00" << cW4W_TXTERM << "01" << cW4W_TXTERM <<     	// Old lines / lines in page
-                "01" << cW4W_TXTERM << "FF" << cW4W_TXTERM <<		// const ( muss so sein )
-                "13" << cW4W_TXTERM << "104" << cW4W_TXTERM <<   	// gemogelte Raender
-                "8D" << sW4W_TERMEND;				// const
-
-        W4WSaveData aSaveData( rW4WWrt, nStart, nEnd );
-        rW4WWrt.pCurPam->GetMark()->nNode++;
-        rW4WWrt.Out_SwDoc( rW4WWrt.pCurPam, FALSE );
-
-        rWrt.Strm() << sW4W_RECBEGIN << "EFN" << cW4W_RED;
-
-    } while( FALSE );
-    return rWrt;
-}
-
-
-//-----------------------------------------------------------------------
 // PageDescs
 //
 
-void OutW4W_SwFmtPageDesc1( SwW4WWriter& rW4WWrt, const SwPageDesc* pPg )
+void OutW4W_SwFmtPageDesc1(  const SwPageDesc* pPg )
 {
-    if ( rW4WWrt.bStyleDef      // Was soll denn dieser Schwachsinn ???
-                                // Ignorieren, sonst verschluckt sich W4W
-         || rW4WWrt.bHdFt )     // hier ignorieren ( mag WW2 nicht )
-        return;
-
-    if ( (   ( rW4WWrt.GetFilter() != 1        )	// Keiner (?) will ^L im Ascii-Text
-          || ( rW4WWrt.GetIniFlags() & 0x10000 )
-         )
-         && rW4WWrt.bIsTxtInPgDesc
-       )
-        rW4WWrt.Strm() << sW4W_RECBEGIN << "HNP" << cW4W_RED;
-
-    rW4WWrt.pPgDsc2 = pPg;
-    const SwFrmFmt *pFrm = &(pPg->GetMaster()); //!!! GetLeft()
-#if OSL_DEBUG_LEVEL > 1
-    rW4WWrt.Strm() << sW4W_RECBEGIN <<  "NOP_Pagedesc_Inhalt" << sW4W_TERMEND;
-#endif
-    BOOL bOldPg = rW4WWrt.bPageDesc;
-    rW4WWrt.bPageDesc = TRUE;
-
-    OutW4W_SwFmt( rW4WWrt, *pFrm );
-
-    rW4WWrt.bPageDesc = bOldPg;
-#if OSL_DEBUG_LEVEL > 1
-    rW4WWrt.Strm() << sW4W_RECBEGIN << "NOP_Pagedesc_Inhalt_Ende" << sW4W_TERMEND ;//!!!
-#endif
-    rW4WWrt.bIsTxtInPgDesc = FALSE;
     return;
 }
 
-static Writer& OutW4W_SwFmtPageDesc( Writer& rWrt, const SfxPoolItem& rHt )
-{
-    const SwPageDesc* pPg = ((SwFmtPageDesc&)rHt).GetPageDesc();
-
-    if( pPg )				// pPg == 0 : So was kommt vor
-        OutW4W_SwFmtPageDesc1( (SwW4WWriter&)rWrt, pPg );
-
-    return rWrt;
-}
-
-
-static BOOL OutW4W_SwFmtHeader1( SwW4WWriter& rWrt, const SwFmtHeader& rHd,
-                                const SwPageDesc * pPg, BOOL bFollow )
-{
-    BOOL bHasFollow = FALSE;
-
-    if( !rHd.IsActive() )       // nicht aktiv, dann nichts weiter ausgeben
-        return FALSE;
-
-    // hole einen Node zu dem Request
-    SwCntntNode *pNode = 0;
-    const SwFmtCntnt& rCntnt = rHd.GetHeaderFmt()->GetCntnt();
-    if( rCntnt.GetCntntIdx() )
-        pNode = rWrt.pDoc->GetNodes()[ rCntnt.GetCntntIdx()->GetIndex()+ 1 ]
-                         ->GetCntntNode();
-
-    do {    // middle-check-loop
-        if( !pNode )
-            break;          // es gibt keine Kopf-/Fusszeile/Fussnote
-
-        // Hole vom Node und vom letzten Node die Position in der Section
-        ULONG nStart = pNode->StartOfSectionIndex()+1,
-              nEnd = pNode->EndOfSectionIndex();
-
-        // kein Bereich also kein gueltiger Node
-        if( nStart >= nEnd )
-            break;
-        ASSERT( pPg, "Header-Attribut ohne PageDesc" );
-
-        BYTE nFirst = 3;    // Default: First and all Pages
-        BYTE nDef = 0;
-        // wird nicht die PageDesc-Tabelle ausgegeben und gibt es einen
-        // Nachfolger, dann handelt es sich um die "1.Seite".
-
-        if( !bFollow && pPg->GetFollow() && pPg->GetFollow() != pPg ){
-            bHasFollow = TRUE;
-            nFirst = 1;
-        }
-        else if( !pPg->IsHeaderShared() )
-        {
-            if( pPg->GetLeftFmt() &&
-                rHd.GetHeaderFmt() == pPg->GetLeftFmt() )
-                nDef |= 0x10;   // Even Pages
-            else if( pPg->GetRightFmt() &&
-                    rHd.GetHeaderFmt() == pPg->GetRightFmt() )
-                nDef |= 0x8;    // Odd Pages (Header1/Header2 ???)
-        }
-        else
-            nDef |= 0x4;    // All Pages
-
-        if ( nDef == 0 ) nDef |= 0x4;   // Default: odd + even pages
-        if ( bHasFollow ) nDef |= 1;    // 1. Seite -> "Header 2"
-        if ( bFollow ) nFirst = 2;      // 2 = Non-first page
-
-        // hole erstmal die Ober-/Unterkanten vom Header/Footer
-        const SvxULSpaceItem& rUL = rHd.GetHeaderFmt()->GetULSpace();
-        const SvxLRSpaceItem& rLR = rHd.GetHeaderFmt()->GetLRSpace();
-        const SvxLRSpaceItem& rPgLR = pPg->GetMaster().GetLRSpace();
-
-        USHORT nNewLeft = rPgLR.GetLeft() + rLR.GetLeft();
-        USHORT nNewRight = USHORT(pPg->GetMaster().GetFrmSize().GetWidth()
-                            - rPgLR.GetRight() - rLR.GetRight());
-        if ( nNewRight - nNewLeft < 288 )
-            nNewRight = nNewLeft + 288 ;
-
-        rWrt.Strm() << sW4W_RECBEGIN << "HF200" << cW4W_TXTERM
-                            << '0' << cW4W_TXTERM;
-        rWrt.OutULong( nNewLeft / 144 ) << cW4W_TXTERM;
-        rWrt.OutULong( nNewRight / 144 )
-                    << cW4W_TXTERM << '1', cW4W_TXTERM;
-        rWrt.OutULong( rUL.GetUpper() / 240 ) << sW4W_TERMEND;
-
-        BOOL bOldHdFt = rWrt.bHdFt;
-        rWrt.bHdFt = TRUE;
-        {
-            W4WSaveData aSaveData( rWrt, nStart, nEnd );
-            rWrt.Out_SwDoc( rWrt.pCurPam, FALSE );
-        }
-        rWrt.bHdFt = bOldHdFt;
-        rWrt.Strm() << sW4W_RECBEGIN << "HFX2" << cW4W_TXTERM;	// # of Lines (hoffentlich egal)
-        rWrt.OutHex( nDef )
-                << cW4W_TXTERM       		// Definition Byte
-                << '0' << cW4W_TXTERM;		// Auto Height
-        rWrt.OutULong( nFirst ) << sW4W_TERMEND; // First/NonFirst/All
-
-    } while( FALSE );
-    return bHasFollow;
-}
-
-// Header-Footer werden auch vom -Writer direkt gerufen, also kein static!
-
-Writer& OutW4W_SwFmtHeader( Writer& rWrt, const SfxPoolItem& rHt )
-{
-    SwW4WWriter& rW4WWrt = (SwW4WWriter&)rWrt;
-    BOOL bFollow =  OutW4W_SwFmtHeader1( rW4WWrt, (const SwFmtHeader&) rHt,
-                                        rW4WWrt.pPgDsc2, FALSE );
-    if ( bFollow )
-        OutW4W_SwFmtHeader1( rW4WWrt,
-         rW4WWrt.pPgDsc2->GetFollow()->GetMaster().GetHeader(), //!!! GetLeft()
-                     rW4WWrt.pPgDsc2->GetFollow(), TRUE );
-    return rWrt;
-}
-
-static BOOL OutW4W_SwFmtFooter1( SwW4WWriter& rWrt, const SwFmtFooter& rHd,
-                                const SwPageDesc * pPg, BOOL bFollow )
-{
-    BOOL bHasFollow = FALSE;
-
-    if( !rHd.IsActive() )       // nicht aktiv, dann nichts weiter ausgeben
-        return FALSE;
-
-    // hole einen Node zu dem Request
-        SwCntntNode *pNode = 0;
-        const SwFmtCntnt& rCntnt = rHd.GetFooterFmt()->GetCntnt();
-        if( rCntnt.GetCntntIdx() )
-            pNode = rWrt.pDoc->GetNodes()[ rCntnt.GetCntntIdx()->GetIndex()+ 1 ]->
-                                GetCntntNode();
-    do {    // middle-check-loop
-        if( !pNode )
-            break;          // es gibt keine Kopf-/Fusszeile/Fussnote
-
-        // Hole vom Node und vom letzten Node die Position in der Section
-        ULONG nStart = pNode->StartOfSectionIndex()+1,
-                nEnd = pNode->EndOfSectionIndex();
-
-        // kein Bereich also kein gueltiger Node
-        if( nStart >= nEnd )
-            break;
-        ASSERT( pPg, "Footer-Attribut ohne PageDesc" );
-
-        BYTE nFirst = 3;    // Default: First and all Pages
-        BYTE nDef = 2;      // Default: Footer
-        // wird nicht die PageDesc-Tabelle ausgegeben und gibt es einen
-        // Nachfolger, dann handelt es sich um die "1.Seite" nach RTF.
-
-        if( !bFollow && pPg->GetFollow() && pPg->GetFollow() != pPg ){
-            bHasFollow = TRUE;
-            nFirst = 1;
-        }
-        else if( !pPg->IsFooterShared() )
-        {
-            if( pPg->GetLeftFmt() &&
-                rHd.GetFooterFmt() == pPg->GetLeftFmt() )
-                nDef |= 0x10;   // Even Pages
-            else if( pPg->GetRightFmt() &&
-                    rHd.GetFooterFmt() == pPg->GetRightFmt() )
-                nDef |= 0x8;    // Odd Pages (Footer1/Footer2 ???)
-        }
-        else
-            nDef |= 0x4;    // All Pages
-
-        if ( nDef == 2 ) nDef |= 0x4;   // Default: odd + even pages
-        if ( bHasFollow ) nDef |= 1;    // 1. Seite -> "Footer 2"
-        if ( bFollow ) nFirst = 2;      // 2 = Non-first page
-
-        // hole erstmal die Ober-/Unterkanten vom Header/Footer
-        const SvxULSpaceItem& rUL = rHd.GetFooterFmt()->GetULSpace();
-        const SvxLRSpaceItem& rLR = rHd.GetFooterFmt()->GetLRSpace();
-        const SvxLRSpaceItem& rPgLR = pPg->GetMaster().GetLRSpace();
-
-        USHORT nNewLeft = rPgLR.GetLeft() + rLR.GetLeft();
-        USHORT nNewRight = USHORT(pPg->GetMaster().GetFrmSize().GetWidth()
-                            - rPgLR.GetRight() - rLR.GetRight());
-        if ( nNewRight - nNewLeft < 288 )
-            nNewRight = nNewLeft + 288 ;
-
-        rWrt.Strm() << sW4W_RECBEGIN << "HF100" << cW4W_TXTERM
-                            << '0', cW4W_TXTERM;
-        rWrt.OutULong( nNewLeft / 144 ) << cW4W_TXTERM;
-        rWrt.OutULong( nNewRight / 144 )
-                    << cW4W_TXTERM << '1' << cW4W_TXTERM;
-        rWrt.OutULong( 55 - rUL.GetUpper() / 240 ) << sW4W_TERMEND;
-
-        BOOL bOldHdFt = rWrt.bHdFt;
-        rWrt.bHdFt = TRUE;
-        {
-            W4WSaveData aSaveData( rWrt, nStart, nEnd );
-            rWrt.Out_SwDoc( rWrt.pCurPam, FALSE );
-        }
-        rWrt.bHdFt = bOldHdFt;
-        rWrt.Strm() << sW4W_RECBEGIN << "HFX2" << cW4W_TXTERM;	// # of Lines (hoffentlich egal)
-        rWrt.OutHex( nDef )
-                << cW4W_TXTERM        		// Definition Byte
-                << '0' << cW4W_TXTERM;		// Auto Height
-        rWrt.OutULong( nFirst ) << sW4W_TERMEND; // First/NonFirst/All
-
-    } while( FALSE );
-    return bHasFollow;
-}
-
-// Header-Footer werden auch vom -Writer direkt gerufen, also kein static!
-
-Writer& OutW4W_SwFmtFooter( Writer& rWrt, const SfxPoolItem& rHt )
-{
-    SwW4WWriter& rW4WWrt = (SwW4WWriter&)rWrt;
-    BOOL bFollow =  OutW4W_SwFmtFooter1( rW4WWrt, (const SwFmtFooter&) rHt,
-                                        rW4WWrt.pPgDsc2, FALSE );
-    if ( bFollow )
-        OutW4W_SwFmtFooter1( rW4WWrt,
-         rW4WWrt.pPgDsc2->GetFollow()->GetMaster().GetFooter(), //!!! GetLeft()
-                     rW4WWrt.pPgDsc2->GetFollow(), TRUE );
-    return rWrt;
-}
-
-//--------------------------------------------------------------------
-
-
-
-static Writer& OutW4W_SwFmtBox( Writer& rWrt, const SfxPoolItem& rHt )
-{
-    SwW4WWriter& rW4WWrt = (SwW4WWriter&)rWrt;
-    const SvxBoxItem& rBox = (const SvxBoxItem&)rHt;
-    USHORT nBorder;
-
-    rW4WWrt.OutW4W_GetBorder( &rBox, nBorder );
-
-    rWrt.Strm() << sW4W_RECBEGIN << "PBC";
-    rWrt.OutHex4( nBorder ) <<  sW4W_TERMEND;
-
-    if ( rW4WWrt.bStyleDef || rW4WWrt.bStyleOnOff )
-        rW4WWrt.GetStrm() << sW4W_RECBEGIN << "PBC0000" << sW4W_TERMEND;
-    else
-        rW4WWrt.GetNlStrm() << sW4W_RECBEGIN << "PBC0000" << sW4W_TERMEND;
-
-    return rWrt;
-}
-
-
-
-Writer& OutW4W_SwChar( Writer& rWrt, sal_Unicode c, BOOL bRaw )
-{
-    SwW4WWriter& rW4WWrt = (SwW4WWriter&)rWrt;
-    if ( bRaw )
-    {
-        sal_Char cOut = ByteString::ConvertFromUnicode( c, rW4WWrt.eTargCharSet );
-        if( !cOut )
-            cOut = c;
-        rWrt.Strm() << cOut;
-        return rWrt;
-    }
-
-    do {        // block, damit aus diesem gesprungen werden kann !
-        if( '\t' == c )
-            rWrt.Strm() << sW4W_RECBEGIN << "TAB0" << sW4W_TERMEND;
-        else if( '\n' == c )
-            rWrt.Strm() << sW4W_RECBEGIN << "SNL" << cW4W_RED;
-        else if( ' ' <= c && '~' >= c )
-            rWrt.Strm() << (sal_Char)c;
-        else if( CH_TXTATR_BREAKWORD == c || CH_TXTATR_INWORD == c )
-            return rWrt;
-        else
-            break;
-        return rWrt;
-    } while( FALSE );
-
-    rtl_TextEncoding eTargCSet = rW4WWrt.eTargCharSet;
-
-    // der CodeSet fuer HEX / UCS
-    sal_Char cPcCode = ByteString::ConvertFromUnicode( c, RTL_TEXTENCODING_IBM_850 );
-    if( !cPcCode )
-        cPcCode = '@';     /***** ?????? *******/
-
-    sal_Char cTargCode = cPcCode;
-    if( RTL_TEXTENCODING_IBM_850 != eTargCSet )
-    {
-        cTargCode = ByteString::ConvertFromUnicode( c, eTargCSet );
-        if( !cTargCode )
-            cTargCode = '@';     /***** ?????? *******/
-    }
-
-    if( '~' < cTargCode )
-    {
-        if( RTL_TEXTENCODING_MS_1252 == eTargCSet )
-        {
-            rWrt.Strm() << sW4W_RECBEGIN << "XCS819" << cW4W_TXTERM;	// ANSI
-            rWrt.OutHex( cTargCode & 0xff ) << cW4W_RED;
-        }
-        else
-        {
-            rWrt.Strm() << sW4W_RECBEGIN << "XCS850" << cW4W_TXTERM;	// IBMPC850
-            rWrt.OutHex( cPcCode & 0xff ) << cW4W_RED;
-        }
-        rWrt.Strm() << sW4W_RECBEGIN << "UCS";
-        rWrt.OutHex( cPcCode & 0xff ) << sW4W_TERMEND;
-    }
-    else if( ' ' > cPcCode  )
-    {
-        rWrt.Strm() << sW4W_RECBEGIN << "HEX";
-        rWrt.OutHex( cPcCode & 0xff ) << cW4W_RED;
-    }
-    else
-        rWrt.Strm() << (sal_Char)cTargCode;
 
-    return rWrt;
-}
 
 
-Writer& OutW4W_String( Writer& rWrt, const String& rStr )
-{
-    SwW4WWriter& rW4WWrt = (SwW4WWriter&)rWrt;
 
-    BOOL bRaw = 0x40000 & rW4WWrt.GetIniFlags();	// 1: no XCS in struct names
-    for( xub_StrLen n = 0; n < rStr.Len(); ++n )
-        OutW4W_SwChar( rWrt, rStr.GetChar( n ), bRaw );
-    return rWrt;
-}
 
-static void CalcFontSize( SwW4WWriter & rW4WWrt, const SwFmt& rFmt,
+static void CalcFontSize(  const SwFmt& rFmt,
                             USHORT& rFontId, USHORT& rFontHeight )
 {
-    UINT32 nFontHeight = rFmt.GetSize().GetHeight();
+/*    UINT32 nFontHeight = rFmt.GetSize().GetHeight();
     rFontHeight = ( nFontHeight > USHRT_MAX ) ? USHRT_MAX : (USHORT)nFontHeight;
     rFontId = rW4WWrt.GetId( rFmt.GetFont() );
+*/
 }
 
-/*
- * Format wie folgt ausgeben:
- *      - gebe die Attribute aus; ohne Parents!
- */
-
-Writer& OutW4W_SwFmt( Writer& rWrt, const SwFmt& rFmt )
-{
-    SwW4WWriter & rW4WWrt = (SwW4WWriter&)rWrt;
-
-    switch( rFmt.Which() )
-    {
-    case RES_CONDTXTFMTCOLL:
-    case RES_TXTFMTCOLL:
-        {
-            USHORT nFontHeight, nFontId;
-            CalcFontSize( rW4WWrt, rFmt, nFontId, nFontHeight );
-
-            // dann gebe mal das "W4W"-FontAttribut aus
-            rW4WWrt.Strm() << sW4W_RECBEGIN << "SPF10" << cW4W_TXTERM
-                           << '0' << cW4W_TXTERM << "10" << cW4W_TXTERM;
-            rWrt.OutULong( nFontId ) << cW4W_TXTERM;
-            rWrt.OutULong( nFontHeight ) << cW4W_TXTERM;
-            OutW4W_String( rWrt, rW4WWrt.GetFont( nFontId ).GetFamilyName() ).Strm()
-                << sW4W_TERMEND;
-
-            // akt. Collection-Pointer am Writer setzen
-            rW4WWrt.pNdFmt = &rFmt;
-
-            const SfxItemSet& rSet = rFmt.GetAttrSet();
-            if( rSet.Count() )
-            {
-                const SfxItemPool& rPool = *rSet.GetPool();
-                const SfxPoolItem* pItem;
-                SfxWhichIter aIter( rSet );
-                register USHORT nWhich = aIter.FirstWhich();
-                while( nWhich )
-                {
-                    switch( nWhich )
-                    {
-                    case RES_CHRATR_FONT:
-                    case RES_CHRATR_PROPORTIONALFONTSIZE:
-                    case RES_CHRATR_FONTSIZE:
-                        break;
-                    default:
-                        if( SFX_ITEM_SET == rSet.GetItemState( nWhich,
-                                                    TRUE, &pItem ) &&
-                            *pItem != rPool.GetDefaultItem( nWhich ) )
-                            Out( aW4WAttrFnTab, *pItem, rWrt );
-                    }
-                    nWhich = aIter.NextWhich();
-                }
-            }
-        }
-        break;
-
-    default:
-        Out_SfxItemSet( aW4WAttrFnTab, rWrt, rFmt.GetAttrSet(), TRUE );
-        break;
-    }
-
-    return rWrt;
-}
-
-
 
 /* Ausgabe der Nodes */
 
@@ -659,7 +208,7 @@ public:
         { return _W4WEndPosLst::operator[]( nPos ); }
     USHORT Count()
         { return _W4WEndPosLst::Count(); }
-    void OutAttr( SwW4WWriter & rWrt, USHORT nStrPos, USHORT nEnde );
+//    void OutAttr( SwW4WWriter & rWrt, USHORT nStrPos, USHORT nEnde );
 };
 
 BOOL W4WEndPosLst::Insert( W4WSttEndPos & aNew )
@@ -678,798 +227,6 @@ BOOL W4WEndPosLst::Insert( W4WSttEndPos & aNew )
     return TRUE;
 }
 
-void W4WEndPosLst::OutAttr( SwW4WWriter & rWrt, USHORT nStrPos, USHORT nEnde )
-{
-    rWrt.bAttrOnOff = FALSE;
-    USHORT nWhch;
-    while( 0 != Count() && ( nStrPos >= nEnde ||
-          *operator[]( 0 ).pTxtAttr->GetEnd() == nStrPos ))
-    {
-        // das setzen der alten Attribut-Werte erfolgt nur durch die
-        // entsprechenden Attribute !!
-        const W4WSttEndPos& rSTPos = *GetData();
-        if( ( nWhch = rSTPos.pTxtAttr->Which()) == RES_CHRATR_FONTSIZE ||
-            nWhch == RES_CHRATR_PROPORTIONALFONTSIZE )
-            rWrt.nFontHeight = rSTPos.nFontSize;
-        else if( nWhch == RES_CHRATR_FONT )
-            rWrt.nFontId = rSTPos.nFontId;
-        Out( aW4WAttrFnTab, rSTPos.pTxtAttr->GetAttr(), rWrt );
-        Delete();
-    }
-}
-
-
-static Writer& OutW4W_SwTxtNode( Writer& rWrt, SwCntntNode & rNode )
-{
-    SwTxtNode * pNd = &((SwTxtNode&)rNode);
-    SwW4WWriter & rW4WWrt = (SwW4WWriter&)rWrt;
-    W4WEndPosLst aW4WEndPosLst;
-    xub_StrLen nAttrPos = 0;
-    xub_StrLen nStrPos = rW4WWrt.pCurPam->GetPoint()->nContent.GetIndex();
-
-    const String& rStr = pNd->GetTxt();
-    xub_StrLen nEnde = rStr.Len();
-    if( rW4WWrt.pCurPam->GetPoint()->nNode == rW4WWrt.pCurPam->GetMark()->nNode )
-        nEnde = rW4WWrt.pCurPam->GetMark()->nContent.GetIndex();
-
-    BOOL bLastPara = ( !rW4WWrt.bLastPg
-             && ( rW4WWrt.pCurPam->GetPoint()->nNode >= rW4WWrt.pNxtPg->nNode ) );
-
-    // akt. Collection-Pointer am Writer setzen
-    rW4WWrt.pNdFmt = &pNd->GetAnyFmtColl();
-
-    // bestimme die aktuelle FontSize aus der Collection
-    CalcFontSize( rW4WWrt, *rW4WWrt.pNdFmt, rW4WWrt.nFontId, rW4WWrt.nFontHeight );
-
-    if( rW4WWrt.bWriteAll || rW4WWrt.bTable )
-        rW4WWrt.Out_SwTxtColl_OnOff( (SwTxtFmtColl&)*rW4WWrt.pNdFmt,
-                        pNd->GetpSwAttrSet(), TRUE );
-                        // erste Zeile und nur Teilweise ausgeben
-
-    // ist der aktuelle Absatz in einem freifliegenden Rahmen ? Dann
-    // muessen noch die Attribute dafuer ausgegeben werden.
-    if( rW4WWrt.pFlyFmt )
-        Out_SfxItemSet( aW4WAttrFnTab, rW4WWrt, rW4WWrt.pFlyFmt->GetAttrSet(), TRUE );
-
-    // erstmal den Start berichtigen. D.h. wird nur ein Teil vom Satz
-    // ausgegeben, so muessen auch da die Attribute stimmen!!
-    const SwTxtAttr* pHt = 0;
-    USHORT nCntAttr = pNd->HasHints() ? pNd->GetSwpHints().Count() : 0;
-    if( nCntAttr && nStrPos > *( pHt = pNd->GetSwpHints()[ 0 ] )->GetStart() )
-    {
-        // Ok, es gibt vorher Attribute, die ausgegeben werden muessen
-        rW4WWrt.bTxtAttr = rW4WWrt.bAttrOnOff = TRUE;
-        do {
-            nAttrPos++;
-            if( RES_TXTATR_FIELD == pHt->Which() )      // Felder nicht
-                continue;                               // ausgeben
-
-            if( pHt->GetEnd() )
-                if( *pHt->GetEnd() != *pHt->GetStart() )
-                {
-                    W4WSttEndPos aW4WSttEndPos( pHt,rW4WWrt.nFontHeight,
-                                                        rW4WWrt.nFontId );
-                    aW4WEndPosLst.Insert( aW4WSttEndPos );
-                }
-            Out( aW4WAttrFnTab, pHt->GetAttr(), rW4WWrt );
-        } while( nAttrPos < nCntAttr && nStrPos >
-            *( pHt = pNd->GetSwpHints()[ nAttrPos ] )->GetStart() );
-        rW4WWrt.bTxtAttr =  FALSE;
-    }
-
-    if( !rW4WWrt.bWriteAll && rW4WWrt.bFirstLine )
-    {
-        ASSERT( !&rWrt, "Teilausgabe der Dokuments nicht implementiert" );
-    }
-
-
-    for( ; nStrPos <= nEnde; nStrPos++ )
-    {
-        rW4WWrt.bTxtAttr = TRUE;
-        aW4WEndPosLst.OutAttr( rW4WWrt, nStrPos, nEnde );
-        rW4WWrt.bAttrOnOff = TRUE;
-        if( nAttrPos < nCntAttr && *pHt->GetStart() == nStrPos
-            && nStrPos != nEnde )
-        {
-            do {
-                if( pHt->GetEnd() )
-                {
-                    if( *pHt->GetEnd() != nStrPos )
-                    {
-                       W4WSttEndPos aW4WSttEndPos( pHt, rW4WWrt.nFontHeight,
-                                                            rW4WWrt.nFontId );
-                       aW4WEndPosLst.Insert( aW4WSttEndPos );
-                       Out( aW4WAttrFnTab, pHt->GetAttr(), rW4WWrt );
-                    }
-                }
-                else
-                    Out( aW4WAttrFnTab, pHt->GetAttr(), rW4WWrt );
-                nAttrPos++;
-            } while( nAttrPos < nCntAttr && nStrPos ==
-                *( pHt = pNd->GetSwpHints()[ nAttrPos ] )->GetStart() );
-        }
-
-        if ( bLastPara
-             && ( nStrPos >= rW4WWrt.pNxtPg->nContent.GetIndex() ))
-        {
-            rW4WWrt.Strm() << sW4W_RECBEGIN << "SNP" << cW4W_RED;
-
-            ASSERT( rW4WWrt.pIter->GetPageDesc(), "PageDesc weg");
-            rW4WWrt.pPageDesc = rW4WWrt.pIter->GetPageDesc();
-            rW4WWrt.pPgFrm = (SwFrmFmt*)&(rW4WWrt.pPgDsc2->GetMaster()); //!!! GetLeft()
-            rW4WWrt.bEvenPage = !rW4WWrt.bEvenPage;
-
-            rW4WWrt.pIter->NextPage();
-            rW4WWrt.bLastPg = !(rW4WWrt.pIter->GetPosition( *rW4WWrt.pNxtPg ));
-
-            bLastPara = ( !rW4WWrt.bLastPg &&
-             (rW4WWrt.pCurPam->GetPoint()->nNode >= rW4WWrt.pNxtPg->nNode ));
-        }
-        if( nStrPos != nEnde )      // eigentliche Buchstaben ausgeben
-            OutW4W_SwChar( rW4WWrt, rStr.GetChar( nStrPos ), FALSE );
-        rW4WWrt.bTxtAttr = FALSE;
-    }
-    // wenn bis zum Ende vom Node, dann auch das AbsatzEnde ausgeben
-
-    if( rW4WWrt.pCurPam->GetMark()->nNode.GetIndex() !=
-        rW4WWrt.pCurPam->GetPoint()->nNode.GetIndex()
-        || pNd->Len() == rW4WWrt.pCurPam->GetMark()->nContent.GetIndex()
-        && !rW4WWrt.bTable ){
-
-        rW4WWrt.Out_SwTxtColl_OnOff( (SwTxtFmtColl&)pNd->GetAnyFmtColl(),
-                                        0, FALSE );	// STF
-
-        rW4WWrt.Strm() << sW4W_RECBEGIN << "HNL" << cW4W_RED;
-
-        if ( rW4WWrt.pPostNlStrm)
-        {
-            // gebe die Sachen aus, die hinter HNL
-            // kommen muessen (RSP, SAF, SBF)
-            rW4WWrt.pPostNlStrm->Seek( 0L );
-            rW4WWrt.Strm() << *rW4WWrt.pPostNlStrm;
-            DELETEZ( rW4WWrt.pPostNlStrm );
-        }
-    }
-    else if( rW4WWrt.bTable )
-        rW4WWrt.Out_SwTxtColl_OnOff( (SwTxtFmtColl&)pNd->GetAnyFmtColl(), 0, FALSE );
-
-    rW4WWrt.bIsTxtInPgDesc = TRUE;
-    return rW4WWrt;
-}
-
-
-static Writer& OutW4W_SwGrfNode( Writer& rWrt, SwCntntNode & rNode )
-{
-    SwW4WWriter& rW4WWrt = (SwW4WWriter&)rWrt;
-    rW4WWrt.OutW4W_Grf( rNode.GetGrfNode() );
-    return rWrt;
-}
-
-static Writer& OutW4W_SwOLENode( Writer& rWrt, SwCntntNode& /*rNode*/ )
-{
-    rWrt.Strm() << sW4W_RECBEGIN << "HNL" << cW4W_RED;
-    return rWrt;
-}
-
-
-/* File CHRATR.HXX: */
-
-static Writer& OutW4W_SwFont( Writer& rWrt, const SfxPoolItem& rHt )
-{
-    /* trage den Font in die Font-Liste vom Writer ein und gebe hier nur
-     *  die entsprechende Nummer aus. Der Font wird spaeter ueber diese
-     * Tabelle im W4W-Dokument referenziert.
-     */
-    const SvxFontItem& rFont = (const SvxFontItem&)rHt;
-    SwW4WWriter& rW4WWrt = (SwW4WWriter&)rWrt;
-    if( rW4WWrt.bAttrOnOff )
-        rW4WWrt.nFontId = rW4WWrt.GetId( rFont );
-
-    rWrt.Strm() << sW4W_RECBEGIN << "SPF10" << cW4W_TXTERM << '0' << cW4W_TXTERM
-        << "10" << cW4W_TXTERM;
-    rWrt.OutULong( rW4WWrt.nFontId ) << cW4W_TXTERM;
-    rWrt.OutULong( rW4WWrt.nFontHeight ) << cW4W_TXTERM;
-    OutW4W_String( rWrt, rW4WWrt.GetFont( rW4WWrt.nFontId ).GetFamilyName())
-        .Strm()	<< sW4W_TERMEND;
-    return rWrt;
-}
-
-static Writer& OutW4W_SwPosture( Writer& rWrt, const SfxPoolItem& rHt )
-{
-    if( ITALIC_NONE != ((const SvxPostureItem&)rHt).GetPosture() )
-    {
-        SwW4WWriter& rW4WWrt = (SwW4WWriter&)rWrt;
-        if( !rW4WWrt.bTxtAttr || rW4WWrt.bAttrOnOff )
-            OUTRECORD( rWrt.Strm(),  "ITO" );
-
-        if( !rW4WWrt.bTxtAttr || !rW4WWrt.bAttrOnOff )
-            OUTRECORD( rW4WWrt.GetStrm( !rW4WWrt.bTxtAttr), "ITF" );
-    }
-    return rWrt;
-}
-
-
-static Writer& OutW4W_SwWeight( Writer& rWrt, const SfxPoolItem& rHt )
-{
-    if( WEIGHT_BOLD == ((const SvxWeightItem&)rHt).GetWeight() )
-    {
-        SwW4WWriter& rW4WWrt = (SwW4WWriter&)rWrt;
-        if( !rW4WWrt.bTxtAttr || rW4WWrt.bAttrOnOff )
-            OUTRECORD( rWrt.Strm(),  "BBT" );
-
-        if( !rW4WWrt.bTxtAttr || !rW4WWrt.bAttrOnOff )
-            OUTRECORD( rW4WWrt.GetStrm( !rW4WWrt.bTxtAttr), "EBT" );
-    }
-    return rWrt;
-}
-
-
-static Writer& OutW4W_SwShadowed( Writer& rWrt, const SfxPoolItem& rHt )
-{
-    if( ((const SvxShadowedItem&)rHt).GetValue() )
-    {
-        SwW4WWriter& rW4WWrt = (SwW4WWriter&)rWrt;
-        if( !rW4WWrt.bTxtAttr || rW4WWrt.bAttrOnOff )
-            OUTRECORD( rWrt.Strm(),  "BSP" );
-
-        if( !rW4WWrt.bTxtAttr || !rW4WWrt.bAttrOnOff )
-            OUTRECORD( rW4WWrt.GetStrm( !rW4WWrt.bTxtAttr ),  "ESP" );
-    }
-    return rWrt;
-}
-
-
-static Writer& OutW4W_SwContour( Writer& rWrt, const SfxPoolItem& /*rHt*/ )
-{
-    return rWrt;
-}
-
-
-static Writer& OutW4W_SwKerning( Writer& rWrt, const SfxPoolItem& rHt )
-{
-    const SvxKerningItem& rKern = (const SvxKerningItem&)rHt;
-
-    long nDist = 0;
-    long nPos = 1;
-
-    SwW4WWriter& rW4WWrt = (SwW4WWriter&)rWrt;
-    if( !rKern.GetValue() )
-    {
-        OUTRECORD( ((SwW4WWriter&)rWrt).Strm(),  "EKR" );
-        return rWrt;
-    }
-
-#ifdef JP_NEWCORE
-    // JP 23.09.94, wie nun ?????
-    Fraction aTmp( 20, 1 );
-    aTmp += rKern.frKern;
-    nDist = (long)aTmp; // in Twips umrechnen
-    if( nDist < 0 )
-    {
-        nDist = -nDist;
-        nPos = 0;
-    }
-#endif
-
-    if( !rW4WWrt.bTxtAttr || rW4WWrt.bAttrOnOff )
-    {
-        rWrt.Strm() << sW4W_RECBEGIN << "KER";
-        rWrt.OutLong( nPos ) << cW4W_TXTERM;
-        rWrt.OutLong( nDist ) << sW4W_TERMEND;
-    }
-    if( !rW4WWrt.bTxtAttr || !rW4WWrt.bAttrOnOff )
-        OUTRECORD( rW4WWrt.GetStrm( !rW4WWrt.bTxtAttr ),  "EKR" );
-
-    return rWrt;
-}
-
-
-static Writer& OutW4W_SwCrossedOut( Writer& rWrt, const SfxPoolItem& rHt )
-{
-    const SvxCrossedOutItem& rCrossOut = (const SvxCrossedOutItem&)rHt;
-    if( STRIKEOUT_SINGLE == rCrossOut.GetStrikeout() )
-    {
-        SwW4WWriter& rW4WWrt = (SwW4WWriter&)rWrt;
-        if( !rW4WWrt.bTxtAttr || rW4WWrt.bAttrOnOff )
-        {
-            rWrt.Strm() << sW4W_RECBEGIN << "BSO";
-            OutW4W_SwChar( rWrt, rCrossOut.GetStrikeout(), TRUE ).Strm()
-                << sW4W_TERMEND;
-        }
-
-        if( !rW4WWrt.bTxtAttr || !rW4WWrt.bAttrOnOff )
-            OUTRECORD( rW4WWrt.GetStrm( !rW4WWrt.bTxtAttr ),  "ESO" );
-    }
-    return rWrt;
-}
-
-
-static Writer& OutW4W_SwCaseMap( Writer& rWrt, const SfxPoolItem& rHt )
-{
-    SwW4WWriter& rW4WWrt = (SwW4WWriter&)rWrt;
-    if( SVX_CASEMAP_KAPITAELCHEN == ((const SvxCaseMapItem&)rHt).GetValue() )
-    {
-        if( !rW4WWrt.bTxtAttr || rW4WWrt.bAttrOnOff )
-            OUTRECORD( rWrt.Strm(),  "BCS" );
-        if( !rW4WWrt.bTxtAttr || !rW4WWrt.bAttrOnOff )
-            OUTRECORD( rW4WWrt.GetStrm( !rW4WWrt.bTxtAttr ),  "ECS" );
-    }
-    else if( SVX_CASEMAP_VERSALIEN == ((const SvxCaseMapItem&)rHt).GetValue() )
-    {
-        if( !rW4WWrt.bTxtAttr || rW4WWrt.bAttrOnOff )
-            OUTRECORD( rWrt.Strm(),  "BCU" );
-        if( !rW4WWrt.bTxtAttr || !rW4WWrt.bAttrOnOff )
-            OUTRECORD( rW4WWrt.GetStrm( !rW4WWrt.bTxtAttr ),  "ECU" );
-    }
-    return rWrt;
-}
-
-
-static Writer& OutW4W_SwUnderline( Writer& rWrt, const SfxPoolItem& rHt )
-{
-    const SvxUnderlineItem & rULine = (const SvxUnderlineItem&)rHt;
-    SwW4WWriter& rW4WWrt = (SwW4WWriter&)rWrt;
-    const sal_Char *pSttStr, *pEndStr;
-    if( UNDERLINE_SINGLE == rULine.GetUnderline() )
-    {
-        pSttStr = "BUL";
-        pEndStr = "EUL";
-
-    }
-    else if( UNDERLINE_DOUBLE == rULine.GetUnderline() )
-    {
-        pSttStr = "BDU";
-        pEndStr = "EDU";
-    }
-    else if( UNDERLINE_NONE == rULine.GetUnderline() )
-    {
-        if( !rW4WWrt.bTxtAttr || !rW4WWrt.bAttrOnOff )
-            OUTRECORD( rW4WWrt.GetStrm( !rW4WWrt.bTxtAttr ), "EUL" );
-        return rWrt;
-    }
-    else
-        return rWrt;
-
-    if( !rW4WWrt.bTxtAttr || rW4WWrt.bAttrOnOff )
-        OUTRECORD( rWrt.Strm(), pSttStr );
-
-    if( !rW4WWrt.bTxtAttr || !rW4WWrt.bAttrOnOff )
-        OUTRECORD( rW4WWrt.GetStrm( !rW4WWrt.bTxtAttr ), pEndStr );
-
-    return rWrt;
-}
-
-
-static Writer& OutW4W_SwLanguage( Writer& rWrt, const SfxPoolItem& rHt )
-{
-    // die Werte des Enums sind mit den Werten fuer W4W identisch
-    SwW4WWriter& rW4WWrt = (SwW4WWriter&)rWrt;
-    if( !rW4WWrt.bTxtAttr || rW4WWrt.bAttrOnOff )
-    {
-        USHORT nLang = ((const SvxLanguageItem&)rHt).GetValue();
-        if( LANGUAGE_DONTKNOW == nLang )
-            nLang = 0;
-        rWrt.Strm() << sW4W_RECBEGIN << "SLG";
-        rWrt.OutULong( nLang ) << sW4W_TERMEND;
-    }
-    if( !rW4WWrt.bTxtAttr || !rW4WWrt.bAttrOnOff )
-    {
-        rWrt.Strm() << sW4W_RECBEGIN << "SLG";
-        rWrt.OutULong( LANGUAGE_DONTKNOW == rW4WWrt.nDefLanguage
-                        ? 0 : rW4WWrt.nDefLanguage ) << sW4W_TERMEND;
-    }
-    return rWrt;
-}
-
-
-static Writer& OutW4W_SwEscapement( Writer& rWrt, const SfxPoolItem& rHt )
-{
-    const SvxEscapementItem & rEsc = (const SvxEscapementItem&)rHt;
-    const sal_Char *pSttStr, *pEndStr;
-
-    if( 0 < rEsc.GetEsc() )
-    {
-        pSttStr = "SPS";
-        pEndStr = "EPS";
-    }
-    else if( 0 > rEsc.GetEsc() )
-    {
-        pSttStr = "SBS";
-        pEndStr = "EBS";
-    }
-    else
-        return rWrt;
-
-    SwW4WWriter& rW4WWrt = (SwW4WWriter&)rWrt;
-    if( !rW4WWrt.bTxtAttr || rW4WWrt.bAttrOnOff )
-        OUTRECORD( rWrt.Strm(), pSttStr );
-
-    if( !rW4WWrt.bTxtAttr || !rW4WWrt.bAttrOnOff )
-        OUTRECORD( rW4WWrt.GetStrm( !rW4WWrt.bTxtAttr ), pEndStr );
-
-    return rWrt;
-}
-
-
-static Writer& OutW4W_SwSize( Writer& rWrt, const SfxPoolItem& rHt )
-{
-    const SvxFontHeightItem& rSize = (const SvxFontHeightItem&)rHt;
-    SwW4WWriter& rW4WWrt = (SwW4WWriter&)rWrt;
-
-    if( rW4WWrt.bAttrOnOff )
-        rW4WWrt.nFontHeight = (USHORT)rSize.GetHeight();
-
-    rWrt.Strm() << sW4W_RECBEGIN << "SPF10" << cW4W_TXTERM << '0' << cW4W_TXTERM
-        << "10" << cW4W_TXTERM;
-    rWrt.OutULong( rW4WWrt.nFontId ) << cW4W_TXTERM;
-    rWrt.OutULong( rW4WWrt.nFontHeight) << cW4W_TXTERM;
-    OutW4W_String( rWrt, rW4WWrt.GetFont( rW4WWrt.nFontId ).GetFamilyName() )
-        .Strm() << sW4W_TERMEND;
-    return rWrt;
-}
-
-
-static Writer& OutW4W_SwColor( Writer& rWrt, const SfxPoolItem& rHt )
-{
-    SwW4WWriter& rW4WWrt = (SwW4WWriter&)rWrt;
-    if( rW4WWrt.bStyleDef && ( rW4WWrt.GetFilter() == 44 || rW4WWrt.GetFilter() == 49 ) )
-        return rWrt;    //!! umpopel W4W-Bug: Farbe in Style -> Farbe immer
-
-
-    if( !rW4WWrt.bTxtAttr || !rW4WWrt.bAttrOnOff )
-        OUTRECORD( rW4WWrt.GetStrm( !rW4WWrt.bTxtAttr ),  "ECL" );
-
-    if( !(!rW4WWrt.bTxtAttr || rW4WWrt.bAttrOnOff ))
-        return rWrt;
-
-    const SvxColorItem& rCol = (const SvxColorItem&)rHt;
-    USHORT nCol = 0;
-    if( rCol.GetValue().GetRed() )
-        nCol |= rCol.GetValue().GetRed() & 0x80   ? 0x0C : 0x04;
-    if( rCol.GetValue().GetGreen())
-        nCol |= rCol.GetValue().GetGreen() & 0x80 ? 0x0A : 0x02;
-    if( rCol.GetValue().GetBlue() )
-        nCol |= rCol.GetValue().GetBlue() & 0x80  ? 0x09 : 0x01;
-
-//  laut Spec hex, laut output dec ??   rWrt.OutHex( nCol )
-    rWrt.Strm() << sW4W_RECBEGIN << "BCL";
-    rWrt.OutULong( nCol) << cW4W_TXTERM;
-    rWrt.OutULong( rCol.GetValue().GetRed() ) << cW4W_TXTERM;
-    rWrt.OutULong( rCol.GetValue().GetGreen() ) << cW4W_TXTERM;
-    rWrt.OutULong( rCol.GetValue().GetBlue() ) << sW4W_TERMEND;
-
-    return rWrt;
-}
-
-
-static Writer& OutW4W_SwField( Writer& rWrt, const SfxPoolItem& rHt )
-{
-    const SwField* pFld = ((SwFmtFld&)rHt).GetFld();
-
-    switch( pFld->GetTyp()->Which() )
-    {
-    case RES_PAGENUMBERFLD: rWrt.Strm() << sW4W_RECBEGIN << "PPN";
-                            break;
-    case RES_DOCSTATFLD:    rWrt.Strm() << sW4W_RECBEGIN << "PLN";
-                            break;
-    default:                // nicht unterstuetztes Feld
-#if OSL_DEBUG_LEVEL > 1
-                            rWrt.Strm() << sW4W_RECBEGIN
-                                        << "NOP_Unsupported_Field" << cW4W_RED;
-                            break;
-#else
-                            return rWrt;    // Nix ausgeben
-#endif
-    }
-    rWrt.Strm() << cW4W_RED;
-    return rWrt;
-}
-
-
-
-/* File FRMATR.HXX */
-
-static Writer& OutW4W_SwFrmSize( Writer& rWrt, const SfxPoolItem& /*rHt*/ )
-{
-    return rWrt;
-}
-
-
-static Writer& OutW4W_SwFillOrder( Writer& rWrt, const SfxPoolItem& /*rHt*/ )
-{
-    return rWrt;
-}
-
-
-static Writer& OutW4W_SwBreak( Writer& rWrt, const SfxPoolItem& rHt )
-{
-    SwW4WWriter & rW4WWrt = (SwW4WWriter&)rWrt;
-
-    if ( rW4WWrt.bHdFt )   // hier ignorieren ( mag WW2 nicht )
-        return rWrt;
-    const SvxFmtBreakItem &rBreak = (const SvxFmtBreakItem&)rHt;
-
-#ifdef JP_NEWCORE
-    was ist mit Column-Break ???
-    - ist das 1. If ohne Block so richtig ???
-        der String No_PageBreak wird immer ausgegeben !!!!
-#endif
-
-    if( SVX_BREAK_NONE != rBreak.GetBreak() )
-
-    if (   ( rW4WWrt.GetFilter()   != 1     )  // Keiner (?) will ^L im Ascii-Text
-        || ( rW4WWrt.GetIniFlags() & 0x10000)
-       )
-        OUTRECORD( rWrt.Strm(), "HNP" );
-
-    rWrt.Strm() << sW4W_RECBEGIN << "NOP_PageBreak" << sW4W_TERMEND;//!!!
-    //!!! PAGEBREAK_AFTER stimmt nicht
-
-    return rWrt;
-}
-
-static Writer& OutW4W_SwPaperBin( Writer& rWrt, const SfxPoolItem& /*rHt*/ )
-{
-    return rWrt;
-}
-
-
-static Writer& OutW4W_SwFmtLRSpace( Writer& rWrt, const SfxPoolItem& rHt )
-{
-    SwW4WWriter & rW4WWrt = (SwW4WWriter&)rWrt;
-
-    // hole erstmal die Seitenangaben
-    const SwFrmFmt* pFmtPage = rW4WWrt.pPgFrm;
-    const SvxLRSpaceItem& rPageLR = pFmtPage->GetLRSpace();
-    const SwFmtFrmSize& rSz = pFmtPage->GetFrmSize();
-    const SvxLRSpaceItem& rLR = (const SvxLRSpaceItem&)rHt;
-
-    USHORT nLeft = (USHORT)rLR.GetTxtLeft();
-    USHORT n1st = nLeft + (USHORT)rLR.GetTxtFirstLineOfst();
-    USHORT nRight = (USHORT)(rSz.GetWidth() - rLR.GetRight() );
-    if ( !rW4WWrt.bPageDesc )
-    {
-        nLeft += (USHORT)rPageLR.GetLeft();
-        n1st += (USHORT)rPageLR.GetLeft();
-        nRight -= (USHORT)rPageLR.GetRight();
-    }
-#ifdef NIE          // Besser ist IPS statt RSM/STM
-    rWrt.Strm() << W4W_RECBEGIN << "RSM0"  << W4W_TXTERM
-            << '0' << W4W_TXTERM
-            << String((long)Fraction( nLeft, 144 )).GetStr() << W4W_TXTERM
-            << String((long)Fraction( nRight, 144 )).GetStr()
-            << W4W_TXTERM
-            << String(nLeft).GetStr() << W4W_TXTERM
-            << String(nRight).GetStr() << W4W_TXTERM
-            << W4W_RED;
-#endif //NIE
-                // Benutze IPS fuer links, 1.Zeile, rechts
-
-    rWrt.Strm() << sW4W_RECBEGIN << "IPS";
-    rWrt.OutLong( nLeft / 144 ) << cW4W_TXTERM;
-    rWrt.OutLong( n1st / 144 ) << cW4W_TXTERM;
-    rWrt.OutLong( nLeft ) << cW4W_TXTERM;
-    rWrt.OutLong( n1st ) << cW4W_TXTERM;
-    rWrt.OutLong( nRight ) << sW4W_TERMEND;
-
-    return rWrt;
-}
-
-static Writer& OutW4W_SwFmtULSpace( Writer& rWrt, const SfxPoolItem& rHt )
-{
-    SwW4WWriter& rW4WWrt = (SwW4WWriter&)rWrt;
-    if ( rW4WWrt.bPageDesc )	// SBF/SAF geht nur fuer Absaetze, fuer
-        return rWrt;			// Pagedesc sollte STP/SBP sein oder ignorieren
-
-    const SvxULSpaceItem & rUL = (const SvxULSpaceItem&)rHt;
-
-    if( 0 != rUL.GetUpper() )
-    {
-        rWrt.Strm() << sW4W_RECBEGIN << "SBF";
-        rWrt.OutLong( rUL.GetUpper() ) << cW4W_TXTERM
-                << '0' << sW4W_TERMEND;	// WW2-Hack: Wenn nLines != 0 ist,
-                                        // muessen nLines HNL1 folgen, sonst
-                                    // wird HNL ignoriert. Es duerfen aber auch
-                                // nicht zu viele HNL1 da sein, da sie sonst
-                            // als HNL interpretiert werden. Deshalb behaupte
-                        // ich, dass nLines = 0 statt nLines = GetUpper()/240.
-                        // Das SBF duerfte daher bei zeilenorientierten
-                        // Formaten verloren gehen.
-
-        if ( rW4WWrt.bStyleDef || rW4WWrt.bStyleOnOff )
-            rW4WWrt.GetStrm() << sW4W_RECBEGIN << "SBF" << '0' << cW4W_TXTERM
-                    << '0' << sW4W_TERMEND;
-        else
-            rW4WWrt.GetNlStrm() << sW4W_RECBEGIN << "SBF" << '0' << cW4W_TXTERM
-                    << '0' << sW4W_TERMEND;     // Wieder zurueckstellen ??
-    }
-    if( 0 != rUL.GetLower() )
-    {
-        rWrt.Strm() << sW4W_RECBEGIN << "SAF";
-        rWrt.OutLong( rUL.GetLower() ) << cW4W_TXTERM
-                << '0' << sW4W_TERMEND;     // WW2-Hack, siehe oben. Erschwerend
-                                            // kommt hinzu, dass hier die HNL1 *vor*
-                                            // dem HNL stehen muessen....
-
-        if ( rW4WWrt.bStyleDef || rW4WWrt.bStyleOnOff )
-            rW4WWrt.GetStrm() << sW4W_RECBEGIN << "SAF" << '0' << cW4W_TXTERM
-                    << '0' << sW4W_TERMEND; // Wieder zurueckstellen ??
-        else
-            rW4WWrt.GetNlStrm() << sW4W_RECBEGIN << "SAF" << '0' << cW4W_TXTERM
-                    << '0' << sW4W_TERMEND;
-    }
-    return rWrt;
-}
-
-static Writer& OutW4W_SwFmtPrint( Writer& rWrt, const SfxPoolItem& /*rHt*/ )
-{
-    return rWrt;
-}
-
-static Writer& OutW4W_SwFmtOpaque( Writer& rWrt, const SfxPoolItem& /*rHt*/ )
-{
-    return rWrt;
-}
-
-static Writer& OutW4W_SwFmtProtect( Writer& rWrt, const SfxPoolItem& /*rHt*/ )
-{
-    return rWrt;
-}
-
-static Writer& OutW4W_SwFmtSurround( Writer& rWrt, const SfxPoolItem& /*rHt*/ )
-{
-    return rWrt;
-}
-
-static Writer& OutW4W_SwFmtVertOrient( Writer& rWrt, const SfxPoolItem& /*rHt*/ )
-{
-    return rWrt;
-}
-
-static Writer& OutW4W_SwFmtHoriOrient( Writer& rWrt, const SfxPoolItem& /*rHt*/ )
-{
-    return rWrt;
-}
-
-
-/* File GRFATR.HXX */
-
-static Writer& OutW4W_SwMirrorGrf( Writer& rWrt, const SfxPoolItem& /*rHt*/ )
-{
-    return rWrt;
-}
-
-static Writer& OutW4W_SwCropGrf( Writer& rWrt, const SfxPoolItem& /*rHt*/ )
-{
-    return rWrt;
-}
-
-
-/* File PARATR.HXX  */
-
-static Writer& OutW4W_SwLineSpacing( Writer& rWrt, const SfxPoolItem& rHt )
-{
-    const SvxLineSpacingItem &rLs = (const SvxLineSpacingItem&)rHt;
-    SwW4WWriter& rW4WWrt = (SwW4WWriter&)rWrt;
-
-    switch( rLs.GetLineSpaceRule() )
-    {
-    case SVX_LINE_SPACE_AUTO:
-    case SVX_LINE_SPACE_FIX:
-    case SVX_LINE_SPACE_MIN:
-    {
-
-        short nLsp = 0;
-
-        switch( rLs.GetInterLineSpaceRule() )
-        {
-        case SVX_INTER_LINE_SPACE_FIX:  // Durchschuss
-                nLsp = 240 + rLs.GetInterLineSpace();
-                break;
-        case SVX_INTER_LINE_SPACE_PROP: // 1.5, 2-zeilig, Prop
-                {
-                    long nTmp = 240;
-                    nTmp *= rLs.GetPropLineSpace();
-                    nLsp = (short)nTmp;
-                }
-                break;
-        default:                    // z.B. Minimum
-                nLsp = rLs.GetLineHeight();
-                break;
-        }
-        if ( nLsp < 60 ) nLsp = 60; // keine sinnlosen Werte
-        rW4WWrt.Strm() << sW4W_RECBEGIN
-             << "RSP2" << cW4W_TXTERM;                    // old Spacing 1-zeilig
-        rWrt.OutLong( ( nLsp + 60 ) / 120 ) << cW4W_TXTERM;	// new in 1/2 zeilen
-        rWrt.OutLong( nLsp ) << sW4W_TERMEND;  // dito in Twips
-
-        if ( rW4WWrt.bStyleDef || rW4WWrt.bStyleOnOff )
-            rW4WWrt.GetStrm() << sW4W_RECBEGIN		// RSP per StylePostNlStrm
-                << "RSP2" << cW4W_TXTERM				// wieder ausschalten
-                << '2' << cW4W_TXTERM
-                << "240" << sW4W_TERMEND;
-        else
-            rW4WWrt.GetNlStrm() << sW4W_RECBEGIN		// RSP per StylePostNlStrm
-                << "RSP2" << cW4W_TXTERM				// wieder ausschalten
-                << '2' << cW4W_TXTERM
-                << "240" << sW4W_TERMEND;
-    }
-        break;
-    default:
-        break;
-    }
-    return rWrt;
-}
-
-static Writer& OutW4W_SwAdjust( Writer& rWrt, const SfxPoolItem& rHt )
-{
-    const SvxAdjustItem & rAdjust = ((const SvxAdjustItem&)rHt);
-    SwW4WWriter& rW4WWrt = (SwW4WWriter&)rWrt;
-
-    switch( rAdjust.GetAdjust() )
-    {
-    case SVX_ADJUST_RIGHT:
-        {
-            rW4WWrt.Strm() << sW4W_RECBEGIN << "AFR10" << cW4W_TXTERM
-                        << "10" << cW4W_TXTERM
-                        << '0' << sW4W_TERMEND;
-            OUTRECORD( rW4WWrt.GetStrm(), "EAT" );
-        }
-        break;
-    case SVX_ADJUST_BLOCK:
-    case SVX_ADJUST_BLOCKLINE:
-        {
-            OUTRECORD( rW4WWrt.Strm(), "BRJ" );
-            OUTRECORD( rW4WWrt.GetStrm(), "ERJ" );
-        }
-        break;
-
-    case SVX_ADJUST_CENTER:
-        {
-            rW4WWrt.Strm() << sW4W_RECBEGIN << "CTX0" << cW4W_TXTERM
-                    << '0' << cW4W_TXTERM
-                    << '0' << sW4W_TERMEND;
-            OUTRECORD( rW4WWrt.GetStrm(), "ECT" );
-        }
-        break;
-    default:
-        break;
-    }
-    return rWrt;
-}
-
-
-static Writer& OutW4W_SwSplit( Writer& rWrt, const SfxPoolItem& rHt )
-{
-    SwW4WWriter& rW4WWrt = (SwW4WWriter&)rWrt;
-    if( !((SvxFmtSplitItem&)rHt).GetValue() )
-        OUTRECORD( rW4WWrt.GetStrm(), "KEP" );
-    return rWrt;
-}
-
-static Writer& OutW4W_SwWidows( Writer& rWrt, const SfxPoolItem& rHt )
-{
-    SwW4WWriter& rW4WWrt = (SwW4WWriter&)rWrt;
-    const SvxWidowsItem& rWid = (const SvxWidowsItem&)rHt;
-
-    rW4WWrt.Strm() << sW4W_RECBEGIN << "WON";
-    rWrt.OutLong( rWid.GetValue() ) << sW4W_TERMEND;
-    OUTRECORD( rW4WWrt.GetStrm(), "WOY" );
-
-    return rWrt;
-}
-
-static Writer& OutW4W_SwOrphans( Writer& rWrt, const SfxPoolItem& rHt )
-{
-    SwW4WWriter& rW4WWrt = (SwW4WWriter&)rWrt;
-    const SvxOrphansItem& rOr = (const SvxOrphansItem&)rHt;
-
-    rW4WWrt.Strm() << sW4W_RECBEGIN << "WON";
-    rWrt.OutLong( rOr.GetValue() ) << sW4W_TERMEND;
-    OUTRECORD( rW4WWrt.GetStrm(), "WOY" );
-    return rWrt;
-}
-
 
 #define MAX_TAB_OVER 1000		// soviel twips ueberhaengen ist ok
 
@@ -1480,252 +237,6 @@ static Writer& OutW4W_SwOrphans( Writer& rWrt, const SfxPoolItem& rHt )
 // werden, ist ok, da WW2 dann die Tabs immer noch anerkennt
 
 
-static Writer& OutW4W_SwTabStop( Writer& rWrt, const SfxPoolItem& rHt )
-{
-    SwW4WWriter& rW4WWrt = (SwW4WWriter&)rWrt;
-
-    const SvxTabStopItem & rTStops = (const SvxTabStopItem&)rHt;
-    SwTwips nLeftMargin, nWidth;
-    rW4WWrt.GetMargins( nLeftMargin, nWidth );
-
-    BYTE aTabPosArr[ 32 ];
-    BYTE aTabTypesArr[ 20 ];
-    BYTE aTabLeadingArr[ 40 ];
-
-    memset( aTabPosArr, 0, 32 );
-    memset( aTabTypesArr, 0, 20 );
-    memset( aTabLeadingArr, 0, 40 );
-        // Umsetzungtabelle fuer das Adjustment
-    static BYTE const aAdjustArr[ SVX_TAB_ADJUST_DEFAULT - SVX_TAB_ADJUST_LEFT +1 ] = {
-        /* SVX_TAB_ADJUST_LEFT      */      0,
-        /* SVX_TAB_ADJUST_RIGHT     */      2,
-        /* SVX_TAB_ADJUST_DECIMAL   */      3,
-        /* SVX_TAB_ADJUST_CENTER    */      1,
-        /* SVX_TAB_ADJUST_DEFAULT   */      0
-             };
-
-    USHORT n;
-    for( n = 0; n < rTStops.Count() && n < 40; n++ )
-    {
-        const SvxTabStop & rTS = rTStops[ n ];           // in 1/10 Inch
-        SwTwips nTabRel = rTS.GetTabPos();
-        if ( nTabRel > nWidth + MAX_TAB_OVER )	// teste auf Sinn der Positionen
-            continue;							// Tab out of SRange
-        if ( nTabRel > nWidth )
-            nTabRel = nWidth;					// Tab nur wenig out of SRange
-
-        USHORT nSize =  (USHORT)( ((long)(nLeftMargin + nTabRel)) / 144 );
-        if (  nSize / 8 >= 32 )     // Stuss-Werte -> ignorieren
-            continue;
-        aTabPosArr[ nSize / 8 ] |= ( 0x80 >> ( nSize % 8 ));
-        aTabTypesArr[ n / 2 ] |= ( n & 1 ? aAdjustArr[ rTS.GetAdjustment() ] :
-                                        aAdjustArr[ rTS.GetAdjustment() ] << 4 );
-        if( cDfltFillChar != rTS.GetFill() )
-            aTabLeadingArr[ n ] = rTS.GetFill();
-    }
-
-    rWrt.Strm() << sW4W_RECBEGIN << "NTB";
-    for( n = 0; n < 32; ++n )
-        rWrt.OutHex( aTabPosArr[ n ] ) << cW4W_TXTERM;
-    for( n = 0; n < 20; ++n )
-        rWrt.OutHex( aTabTypesArr[ n ] ) << cW4W_TXTERM;
-    for( n = 0; n < 40; ++n )
-        rWrt.OutHex( aTabLeadingArr[ n ] ) << cW4W_TXTERM;
-
-    rWrt.OutLong( rTStops.Count() ) << cW4W_TXTERM;
-
-    for( n = 0; n < rTStops.Count() && n < 40; n++ )
-    {
-        SwTwips nTabRel = rTStops[ n ].GetTabPos();
-        if ( nTabRel > nWidth + MAX_TAB_OVER )	// teste auf Sinn der Positionen
-            continue;							// Tab out of SRange
-        if ( nTabRel > nWidth )
-            nTabRel = nWidth;					// Tab nur wenig out of SRange
-        rWrt.OutLong( nLeftMargin + nTabRel ) << cW4W_TXTERM;
-    }
-
-    rWrt.Strm() << cW4W_RED;
-    return rWrt;
-}
-
-static Writer& OutW4W_SwHyphenZone( Writer& rWrt, const SfxPoolItem& rHt )
-{
-    SwW4WWriter& rW4WWrt = (SwW4WWriter&)rWrt;
-    const SvxHyphenZoneItem& rAttr = (const SvxHyphenZoneItem&)rHt;
-
-    if ( rW4WWrt.GetFilter() == 48 ) 	//!!! Bug WP6.0-Filter
-        return rWrt;                    // fuehrt zu Absturz WP6
-
-    if ( !rAttr.IsHyphen() )
-    {
-        OUTRECORD( rW4WWrt.Strm(), "EHP" );
-        return rWrt;
-    }
-    OUTRECORD( rW4WWrt.Strm(), "BHP" );
-    OUTRECORD( rW4WWrt.GetStrm(), "EHP" );
-
-                        // Nach Angabe der W4W-Doku gibt es auch den
-                        // RHZ-Befehl, der sagt, wie getrennt werden soll.
-                        // Bei WP6 scheint er aber zumindest
-                        // beim Import nicht zu funktionieren.
-                        // In WW2 gibt es diese Einstellmoeglichkeit
-                        // anscheinend nicht.
-    return rWrt;
-}
-
-/*
- * lege hier die Tabellen fuer die W4W-Funktions-Pointer auf
- * die Ausgabe-Funktionen an.
- * Es sind lokale Strukturen, die nur innerhalb der W4W-DLL
- * bekannt sein muessen.
- */
-
-SwAttrFnTab aW4WAttrFnTab = {
-/* RES_CHRATR_CASEMAP   */          OutW4W_SwCaseMap,
-/* RES_CHRATR_CHARSETCOLOR */		0,
-/* RES_CHRATR_COLOR */              OutW4W_SwColor,
-/* RES_CHRATR_CONTOUR   */          OutW4W_SwContour,
-/* RES_CHRATR_CROSSEDOUT    */      OutW4W_SwCrossedOut,
-/* RES_CHRATR_ESCAPEMENT    */      OutW4W_SwEscapement,
-/* RES_CHRATR_FONT  */              OutW4W_SwFont,
-/* RES_CHRATR_FONTSIZE  */          OutW4W_SwSize,
-/* RES_CHRATR_KERNING   */          OutW4W_SwKerning,
-/* RES_CHRATR_LANGUAGE  */          OutW4W_SwLanguage,
-/* RES_CHRATR_POSTURE   */          OutW4W_SwPosture,
-/* RES_CHRATR_PROPORTIONALFONTSIZE*/0,
-/* RES_CHRATR_SHADOWED  */          OutW4W_SwShadowed,
-/* RES_CHRATR_UNDERLINE */          OutW4W_SwUnderline,
-/* RES_CHRATR_WEIGHT    */          OutW4W_SwWeight,
-/* RES_CHRATR_WORDLINEMODE   */     0,   // AMA 14.10.94: NEU
-/* RES_CHRATR_AUTOKERN   */     	0,   // AMA 27.01.95: NEU
-/* RES_CHRATR_BLINK	*/          	0,
-/* RES_CHRATR_NOHYPHEN	*/          0, // Neu: nicht trennen
-/* RES_CHRATR_NOLINEBREAK */        0, // Neu: nicht umbrechen
-/* RES_CHRATR_BACKGROUND */        	0, // Neu: Zeichenhintergrund
-/* RES_CHRATR_CJK_FONT */			0,
-/* RES_CHRATR_CJK_FONTSIZE */		0,
-/* RES_CHRATR_CJK_LANGUAGE */		0,
-/* RES_CHRATR_CJK_POSTURE */		0,
-/* RES_CHRATR_CJK_WEIGHT */			0,
-/* RES_CHRATR_CTL_FONT */			0,
-/* RES_CHRATR_CTL_FONTSIZE */		0,
-/* RES_CHRATR_CTL_LANGUAGE */		0,
-/* RES_CHRATR_CTL_POSTURE */		0,
-/* RES_CHRATR_CTL_WEIGHT */			0,
-/* RES_CHRATR_WRITING_DIRECTION */	0,
-/* RES_CHRATR_DUMMY2 */				0,
-/* RES_CHRATR_DUMMY3 */				0,
-/* RES_CHRATR_DUMMY4 */				0,
-/* RES_CHRATR_DUMMY5 */				0,
-/* RES_CHRATR_DUMMY1 */        	    0, // Dummy:
-
-/* RES_TXTATR_NOLINEBREAK */  		0,
-/* RES_TXTATR_NOHYPHEN          */  0,
-/* RES_TXTATR_REFMARK */            0, /* OutW4W_RefMark */
-/* RES_TXTATR_TOXMARK   */          0, /* OutW4W_SwTxtTOXMark */
-/* RES_TXTATR_CHARFMT   */          0,
-/* RES_TXTATR_TWO_LINES */			0,
-/* RES_TXTATR_CJK_RUBY */			0,
-/* RES_TXTATR_UNKNOWN_CONTAINER */	0,
-/* RES_TXTATR_DUMMY5 */				0,
-/* RES_TXTATR_DUMMY6 */				0,
-
-/* RES_TXTATR_FIELD */              OutW4W_SwField,
-/* RES_TXTATR_FLYCNT    */          0, /* OutW4W_SwFlyCntnt */
-/* RES_TXTATR_FTN       */          OutW4W_SwFtn,
-/* RES_TXTATR_SOFTHYPH  */          0, /* OutW4W_SwSoftHyph */
-/* RES_TXTATR_HARDBLANK */          0, /* OutW4W_HardBlank */
-/* RES_TXTATR_DUMMY1 */        	    0, // Dummy:
-/* RES_TXTATR_DUMMY2 */        	    0, // Dummy:
-
-/* RES_PARATR_LINESPACING   */      OutW4W_SwLineSpacing,
-/* RES_PARATR_ADJUST    */          OutW4W_SwAdjust,
-/* RES_PARATR_SPLIT */              OutW4W_SwSplit,
-/* RES_PARATR_WIDOWS    */          OutW4W_SwWidows,
-/* RES_PARATR_ORPHANS   */          OutW4W_SwOrphans,
-/* RES_PARATR_TABSTOP   */          OutW4W_SwTabStop,
-/* RES_PARATR_HYPHENZONE*/          OutW4W_SwHyphenZone,
-/* RES_PARATR_DROP */               0,
-/* RES_PARATR_REGISTER */        	0, // neu:  Registerhaltigkeit
-/* RES_PARATR_NUMRULE */        	0, // NumRule
-/* RES_PARATR_SCRIPTSPACE */   	    0, // Dummy:
-/* RES_PARATR_HANGINGPUNCTUATION */	0, // Dummy:
-/* RES_PARATR_DUMMY1 */        	    0, // Dummy:
-/* RES_PARATR_DUMMY2 */        	    0, // Dummy:
-/* RES_PARATR_DUMMY3 */        	    0, // Dummy:
-/* RES_PARATR_DUMMY4 */        	    0, // Dummy:
-/* RES_PARATR_DUMMY5 */        	    0, // Dummy:
-/* RES_PARATR_DUMMY6 */        	    0, // Dummy:
-/* RES_PARATR_DUMMY7 */        	    0, // Dummy:
-/* RES_PARATR_DUMMY8 */        	    0, // Dummy:
-
-/* RES_FILL_ORDER   */              OutW4W_SwFillOrder,
-/* RES_FRM_SIZE */                  OutW4W_SwFrmSize,
-/* RES_PAPER_BIN   */              	OutW4W_SwPaperBin,
-/* RES_LR_SPACE */                  OutW4W_SwFmtLRSpace,
-/* RES_UL_SPACE */                  OutW4W_SwFmtULSpace,
-/* RES_PAGEDESC */                  OutW4W_SwFmtPageDesc,
-/* RES_BREAK */                		OutW4W_SwBreak,
-/* RES_CNTNT */                     0, /* OutW4W_??? */
-/* RES_HEADER */                    OutW4W_SwFmtHeader,
-/* RES_FOOTER */                    OutW4W_SwFmtFooter,
-/* RES_PRINT */                 	OutW4W_SwFmtPrint,
-/* RES_OPAQUE */                	OutW4W_SwFmtOpaque,
-/* RES_PROTECT */               	OutW4W_SwFmtProtect,
-/* RES_SURROUND */             		OutW4W_SwFmtSurround,
-/* RES_VERT_ORIENT */           	OutW4W_SwFmtVertOrient,
-/* RES_HORI_ORIENT */           	OutW4W_SwFmtHoriOrient,
-/* RES_ANCHOR */                	0, /* OutW4W_??? */
-/* RES_BACKGROUND */                0, /* OutW4W_??? */
-/* RES_BOX	*/                      OutW4W_SwFmtBox,
-/* RES_SHADOW */                    0, /* OutW4W_??? */
-/* RES_FRMMACRO */                  0, /* OutW4W_??? */
-/* RES_COL */                       0, /* OutW4W_??? */
-/* RES_KEEP */						0, /* OutW4W_??? */
-/* RES_URL */        	    		0, // URL:
-/* RES_EDIT_IN_READONLY */        	0,
-/* RES_LAYOUT_SPLIT */ 	    		0,
-/* RES_FRMATR_DUMMY1 */        	    0, // Dummy:
-/* RES_FRMATR_DUMMY2 */        	    0, // Dummy:
-/* RES_FRMATR_DUMMY3 */        	    0, // Dummy:
-/* RES_FRMATR_DUMMY4 */        	    0, // Dummy:
-/* RES_FRMATR_DUMMY5 */        	    0, // Dummy:
-/* RES_FRMATR_DUMMY6 */        	    0, // Dummy:
-/* RES_FRMATR_DUMMY7 */        	    0, // Dummy:
-/* RES_FRMATR_DUMMY8 */        	    0, // Dummy:
-/* RES_FRMATR_DUMMY9 */        	    0, // Dummy:
-
-/* RES_GRFATR_MIRRORGRF */          OutW4W_SwMirrorGrf,
-/* RES_GRFATR_CROPGRF   */          OutW4W_SwCropGrf,
-/* RES_GRFATR_ROTATION */			0,
-/* RES_GRFATR_LUMINANCE */			0,
-/* RES_GRFATR_CONTRAST */			0,
-/* RES_GRFATR_CHANNELR */			0,
-/* RES_GRFATR_CHANNELG */			0,
-/* RES_GRFATR_CHANNELB */			0,
-/* RES_GRFATR_GAMMA */				0,
-/* RES_GRFATR_INVERT */				0,
-/* RES_GRFATR_TRANSPARENCY */		0,
-/* RES_GRFATR_DRWAMODE */			0,
-/* RES_GRFATR_DUMMY1 */				0,
-/* RES_GRFATR_DUMMY2 */				0,

... etc. - the rest is truncated


More information about the Libreoffice-commits mailing list