[ooo-build-commit] .: patches/dev300

Miklos Vajna vmiklos at kemper.freedesktop.org
Fri Sep 3 18:06:49 PDT 2010


 patches/dev300/cws-vmiklos01.diff |  968 +++++++++++++++++++++-----------------
 patches/dev300/docx-fixes02.diff  |    2 
 2 files changed, 561 insertions(+), 409 deletions(-)

New commits:
commit 3ebd5a2860f25cf7b8a91a3f6dd612c70d7f3ccf
Author: Miklos Vajna <vmiklos at frugalware.org>
Date:   Sat Sep 4 03:06:01 2010 +0200

    Update cws-vmiklos01.diff from hg
    
    Also fix docx-fixes02.diff to apply again on top of the new cws
    snapshot.

diff --git a/patches/dev300/cws-vmiklos01.diff b/patches/dev300/cws-vmiklos01.diff
index ae2263f..448c224 100644
--- a/patches/dev300/cws-vmiklos01.diff
+++ b/patches/dev300/cws-vmiklos01.diff
@@ -1,6 +1,19 @@
-unchanged:
---- svtools/inc/rtfkeywd.hxx	Wed Jul 21 17:35:19 2010 +0200
-+++ svtools/inc/rtfkeywd.hxx	Thu Jul 29 20:08:54 2010 +0200
+diff -r 004715ace8e7 -r b935ac15ff37 filter/source/config/fragments/filters/Rich_Text_Format.xcu
+--- filter/source/config/fragments/filters/Rich_Text_Format.xcu	Mon Jul 19 17:09:02 2010 +0200
++++ filter/source/config/fragments/filters/Rich_Text_Format.xcu	Sat Sep 04 01:00:40 2010 +0200
+@@ -1,7 +1,7 @@
+ 	<node oor:name="Rich Text Format" oor:op="replace">
+-		<prop oor:name="Flags"><value>IMPORT EXPORT ALIEN PREFERRED</value></prop>
++		<prop oor:name="Flags"><value>IMPORT EXPORT ALIEN 3RDPARTYFILTER PREFERRED</value></prop>
+ 		<prop oor:name="UIComponent"/>
+-		<prop oor:name="FilterService"/>
++		<prop oor:name="FilterService"><value>com.sun.star.comp.Writer.RtfFilter</value></prop>
+ 		<prop oor:name="UserData"><value>RTF</value></prop>
+ 		<prop oor:name="UIName">
+ 			<value xml:lang="x-default">Rich Text Format</value>
+diff -r 004715ace8e7 -r b935ac15ff37 svtools/inc/rtfkeywd.hxx
+--- svtools/inc/rtfkeywd.hxx	Mon Jul 19 17:09:02 2010 +0200
++++ svtools/inc/rtfkeywd.hxx	Sat Sep 04 01:00:40 2010 +0200
 @@ -39,6 +39,7 @@
  #define OOO_STRING_SVTOOLS_RTF_ALT "\\alt"
  #define OOO_STRING_SVTOOLS_RTF_ANNOTATION "\\annotation"
@@ -45,9 +58,57 @@ unchanged:
 +#define OOO_STRING_SVTOOLS_RTF_NONESTTABLES "\\nonesttables"
 +
  #endif // _RTFKEYWD_HXX
-unchanged:
---- sw/source/filter/rtf/swparrtf.cxx	Thu Jul 29 20:08:54 2010 +0200
-+++ sw/source/filter/rtf/swparrtf.cxx	Thu Jul 29 22:01:25 2010 +0200
+diff -r 004715ace8e7 -r b935ac15ff37 sw/source/filter/rtf/makefile.mk
+--- sw/source/filter/rtf/makefile.mk	Mon Jul 19 17:09:02 2010 +0200
++++ sw/source/filter/rtf/makefile.mk	Sat Sep 04 01:00:40 2010 +0200
+@@ -46,18 +46,15 @@
+ EXCEPTIONSFILES=	\
+         $(SLO)$/rtffly.obj \
+         $(SLO)$/rtfnum.obj \
+-		$(SLO)$/swparrtf.obj \
+-		$(SLO)$/wrtrtf.obj
++		$(SLO)$/swparrtf.obj
+ 
+ 
+ SLOFILES =	\
+-		$(SLO)$/rtfatr.obj \
+ 		$(SLO)$/rtffld.obj \
+ 		$(SLO)$/rtffly.obj \
+ 		$(SLO)$/rtfnum.obj \
+ 		$(SLO)$/rtftbl.obj \
+-		$(SLO)$/swparrtf.obj \
+-		$(SLO)$/wrtrtf.obj
++		$(SLO)$/swparrtf.obj
+ 
+ # --- Tagets -------------------------------------------------------
+ 
+diff -r 004715ace8e7 -r b935ac15ff37 sw/source/filter/rtf/rtfnum.cxx
+--- sw/source/filter/rtf/rtfnum.cxx	Mon Jul 19 17:09:02 2010 +0200
++++ sw/source/filter/rtf/rtfnum.cxx	Sat Sep 04 01:00:40 2010 +0200
+@@ -47,7 +47,6 @@
+ #include <fltini.hxx>
+ #include <swtypes.hxx>
+ #include <swparrtf.hxx>
+-#include <wrtrtf.hxx>
+ #include <ndtxt.hxx>
+ #include <doc.hxx>
+ #include <docary.hxx>
+@@ -1130,6 +1130,7 @@
+     return nLvl != nEnd;
+ }
+ 
++#if 0
+ void SwRTFWriter::OutRTFListTab()
+ {
+     ByteString sOverrideList;
+@@ -1458,3 +1459,4 @@
+     }
+     return bRet;
+ }
++#endif
+diff -r 004715ace8e7 -r b935ac15ff37 sw/source/filter/rtf/swparrtf.cxx
+--- sw/source/filter/rtf/swparrtf.cxx	Mon Jul 19 17:09:02 2010 +0200
++++ sw/source/filter/rtf/swparrtf.cxx	Sat Sep 04 01:00:40 2010 +0200
 @@ -179,6 +179,12 @@
      return nRet;
  }
@@ -61,9 +122,9 @@ unchanged:
  SwRTFParser::SwRTFParser(SwDoc* pD,
          uno::Reference<document::XDocumentProperties> i_xDocProps,
          const SwPaM& rCrsr, SvStream& rIn, const String& rBaseURL,
-unchanged:
---- sw/source/filter/rtf/swparrtf.hxx	Thu Jul 29 20:08:54 2010 +0200
-+++ sw/source/filter/rtf/swparrtf.hxx	Thu Jul 29 22:01:25 2010 +0200
+diff -r 004715ace8e7 -r b935ac15ff37 sw/source/filter/rtf/swparrtf.hxx
+--- sw/source/filter/rtf/swparrtf.hxx	Mon Jul 19 17:09:02 2010 +0200
++++ sw/source/filter/rtf/swparrtf.hxx	Sat Sep 04 01:00:40 2010 +0200
 @@ -81,6 +81,8 @@
  class RtfReader: public Reader
  {
@@ -73,9 +134,240 @@ unchanged:
  };
  
  class SwNodeIdx : public SvxNodeIdx
-unchanged:
---- sw/source/filter/ww8/docxexport.cxx	Thu Jul 29 20:08:54 2010 +0200
-+++ sw/source/filter/ww8/docxexport.cxx	Thu Jul 29 22:01:25 2010 +0200
+diff -r 004715ace8e7 -r b935ac15ff37 sw/source/filter/ww8/README-rtf.txt
+--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
++++ sw/source/filter/ww8/README-rtf.txt	Sat Sep 04 01:00:40 2010 +0200
+@@ -0,0 +1,227 @@
++
++---------------------------------------------------------------------
++
++Summary of new features in RtfExport
++
++---------------------------------------------------------------------
++
++Miklos Vajna
++
++<vmiklos at frugalware.org>
++---------------------------------------------------------------------
++
++Table of Contents
++
++1. Introduction
++
++    1.1. Terminology
++    1.2. General
++
++2. List if fixed bugs
++3. List of new features
++
++    3.1. Nested tables
++    3.2. Character properties
++    3.3. Sections
++    3.4. Graphics
++    3.5. Bookmarks
++    3.6. Fields
++    3.7. Drawing
++    3.8. Form fields
++    3.9. OLE objects
++
++4. Changes in the source code outside RTF
++
++
++---------------------------------------------------------------------
++
++1. Introduction
++
++---------------------------------------------------------------------
++
++The biggest difference is that the new exporter is an UNO component,
++and it?s based on the MSWord base classes, the vision here is that
++this way much less code can achieve the same set of features,
++reducing the amount of duplicated code.
++
++
++1.1. Terminology
++
++--------------
++
++  * The "MSO OK, OOo KO" and similar abbreviations describe if the
++    given new feature is supported by the OOo RTF importer or it can
++    be tested using Microsoft Office.
++  * RtfExport refers to the new UNO-based exporter, RtfWriter refers
++    to the old built-in one.
++
++
++1.2. General
++
++--------------
++
++RtfWriter sometimes created documents where the first { is closed in
++the middle of the document. MSO ignores this problem, but OOo stops
++parsing the rest of the document if this happens, in other words
++everything after such a bug is ignored. This can be reproduced by for
++example parprops.odt, but it?s triggered in several other cases as
++well. RtfExport has no automatic prevention for this, either - but
++during development I primarily test the output with OOo, so hopefully
++the bug will pop up less frequently.
++
++
++---------------------------------------------------------------------
++
++2. List if fixed bugs
++
++---------------------------------------------------------------------
++
++  * http://www.openoffice.org/issues/show_bug.cgi?id=51469 postit
++    fields
++  * http://www.openoffice.org/issues/show_bug.cgi?id=66619 page
++    margins
++  * http://www.openoffice.org/issues/show_bug.cgi?id=69856 page
++    numbers
++  * http://www.openoffice.org/issues/show_bug.cgi?id=81569 { and } in
++    document title
++  * http://www.openoffice.org/issues/show_bug.cgi?id=84703 redlines
++  * http://www.openoffice.org/issues/show_bug.cgi?id=91166 russian
++    chars
++  * http://www.openoffice.org/issues/show_bug.cgi?id=92673 bookmarks
++    across tables
++  * http://www.openoffice.org/issues/show_bug.cgi?id=100507 ole
++    object export
++  * http://www.openoffice.org/issues/show_bug.cgi?id=103993 same as #
++    81569 just for doc comments
++  * http://www.openoffice.org/issues/show_bug.cgi?id=106677
++    listoverride index starts at zero
++  * http://www.openoffice.org/issues/show_bug.cgi?id=38344 enhanced
++    character space
++
++
++---------------------------------------------------------------------
++
++3. List of new features
++
++---------------------------------------------------------------------
++
++
++3.1. Nested tables
++
++--------------
++
++This was new in Word2000 and it?s now supported by RtfExport (MSO OK,
++OOo KO)
++
++
++3.2. Character properties
++
++--------------
++
++The followings are now supported:
++
++  * blinking (MSO OK, OOo KO)
++  * expanded spacing (MSO OK, OOo OK)
++  * pair kerning (MSO OK, OOo OK)
++
++
++3.3. Sections
++
++--------------
++
++RtfExport writes:
++
++  * column breaks (MSO OK, OOo OK)
++  * special breaks (when the next page should be an odd or an even
++    page; MSO OK, OOo KO)
++  * the write-protected property of sections is experted properly
++    (MSO OK, OOo KO)
++  * better page numbers (inherited type from page styles, restarts;
++    MSO OK, OOo KO)
++  * line numbering (MSO OK, OOo KO)
++
++
++3.4. Graphics
++
++--------------
++
++PNG graphics are exported in WMF format as well, so that not only MSO
++and OOo can display graphics from the output document, but Wordpad as
++well.
++
++
++3.5. Bookmarks
++
++--------------
++
++Implicit bookmarks like reference to a footnote did not work in OOo
++(one got an Error: Reference source not found message when opening
++the result), this now works as expected. (MSO OK - the importer
++previously autocorrected this as well, OO OK)
++
++
++3.6. Fields
++
++--------------
++
++  * Table of contents is now written as a field, so it?s properly
++    read-only (MSO OK, OOo KO)
++  * Postit comments are now exported. (MSO OK, OOo KO)
++
++
++3.7. Drawing
++
++--------------
++
++Drawing objects for Word 97 through Word 2007 (shapes) are now
++implemented:
++
++  * basic shapes (rectangle, ellipse, etc.)
++  * lines, including free-form ones
++  * texts, including vertical ones and their (paragraph and
++    character) formatting
++
++(MSO OK, OOo KO)
++
++
++3.8. Form fields
++
++--------------
++
++All types supported by the RTF format are exported, namely:
++
++  * text boxes
++  * check boxes
++  * list boxes
++
++(MSO OK, OOo KO)
++
++
++3.9. OLE objects
++
++--------------
++
++Their result is exported as a picture - RtfWriter did not export
++anything. (MSO OK, OOo OK)
++
++For math, the native data is written as well, so you can edit the
++object, too. (MSO OK, OOo KO)
++
++
++---------------------------------------------------------------------
++
++4. Changes in the source code outside RTF
++
++---------------------------------------------------------------------
++
++These are refactorings I needed for RTF. To my best knowledge they do
++not change the output of other filters from a user?s point of view.
++
++  * The code that splits runs according to bookmarks is moved from
++    DocxExport to MSWordExportBase
++  * WW8_SdrAttrIter has been refactored to MSWord_SdrAttrIter
++  * MSWordExportBase::SubstituteBullet can avoid replacing bullets
++  * wwFontHelper::InitFontTable can really load all fonts
++  * An obvious typo in WW8AttributeOutput::CharTwoLines has been
++    fixed
++
+diff -r 004715ace8e7 -r b935ac15ff37 sw/source/filter/ww8/docxexport.cxx
+--- sw/source/filter/ww8/docxexport.cxx	Mon Jul 19 17:09:02 2010 +0200
++++ sw/source/filter/ww8/docxexport.cxx	Sat Sep 04 01:00:40 2010 +0200
 @@ -116,131 +116,6 @@
      return true;
  }
@@ -208,9 +500,9 @@ unchanged:
  void DocxExport::AppendBookmarks( const SwTxtNode& rNode, xub_StrLen nAktPos, xub_StrLen nLen )
  {
      std::vector< OUString > aStarts;
-unchanged:
---- sw/source/filter/ww8/docxexport.hxx	Thu Jul 29 20:08:54 2010 +0200
-+++ sw/source/filter/ww8/docxexport.hxx	Thu Jul 29 22:01:25 2010 +0200
+diff -r 004715ace8e7 -r b935ac15ff37 sw/source/filter/ww8/docxexport.hxx
+--- sw/source/filter/ww8/docxexport.hxx	Mon Jul 19 17:09:02 2010 +0200
++++ sw/source/filter/ww8/docxexport.hxx	Sat Sep 04 01:00:40 2010 +0200
 @@ -76,11 +76,6 @@
      /// Footer counter.
      sal_Int32 m_nFooters;
@@ -248,9 +540,9 @@ unchanged:
      /// Setup pStyles and write styles.xml 
      void InitStyles();
  
-unchanged:
---- sw/source/filter/ww8/docxexportfilter.cxx	Thu Jul 29 20:08:54 2010 +0200
-+++ sw/source/filter/ww8/docxexportfilter.cxx	Thu Jul 29 22:01:25 2010 +0200
+diff -r 004715ace8e7 -r b935ac15ff37 sw/source/filter/ww8/docxexportfilter.cxx
+--- sw/source/filter/ww8/docxexportfilter.cxx	Mon Jul 19 17:09:02 2010 +0200
++++ sw/source/filter/ww8/docxexportfilter.cxx	Sat Sep 04 01:00:40 2010 +0200
 @@ -26,6 +26,8 @@
   ************************************************************************/
  
@@ -328,20 +620,20 @@ unchanged:
      }
  
      if ( xFactory.is() )
-unchanged:
---- sw/source/filter/ww8/makefile.mk	Thu Jul 29 20:08:54 2010 +0200
-+++ sw/source/filter/ww8/makefile.mk	Thu Jul 29 22:01:25 2010 +0200
+diff -r 004715ace8e7 -r b935ac15ff37 sw/source/filter/ww8/makefile.mk
+--- sw/source/filter/ww8/makefile.mk	Mon Jul 19 17:09:02 2010 +0200
++++ sw/source/filter/ww8/makefile.mk	Sat Sep 04 01:00:40 2010 +0200
 @@ -67,7 +67,12 @@
          $(SLO)$/WW8TableInfo.obj \
          $(SLO)$/WW8FFData.obj \
          $(SLO)$/WW8Sttbf.obj \
--        $(SLO)$/WW8FibData.obj
-+        $(SLO)$/WW8FibData.obj \
-+        $(SLO)$/rtfexportfilter.obj \
-+        $(SLO)$/rtfimportfilter.obj \
-+        $(SLO)$/rtfattributeoutput.obj \
-+        $(SLO)$/rtfsdrexport.obj \
-+        $(SLO)$/rtfexport.obj
+-		$(SLO)$/WW8FibData.obj
++		$(SLO)$/WW8FibData.obj \
++		$(SLO)$/rtfexportfilter.obj \
++		$(SLO)$/rtfimportfilter.obj \
++		$(SLO)$/rtfattributeoutput.obj \
++		$(SLO)$/rtfsdrexport.obj \
++		$(SLO)$/rtfexport.obj
  
  
  SLOFILES =	\
@@ -349,20 +641,20 @@ unchanged:
          $(SLO)$/WW8TableInfo.obj \
          $(SLO)$/WW8FFData.obj \
          $(SLO)$/WW8Sttbf.obj \
--        $(SLO)$/WW8FibData.obj
-+        $(SLO)$/WW8FibData.obj \
-+        $(SLO)$/rtfexportfilter.obj \
-+        $(SLO)$/rtfimportfilter.obj \
-+        $(SLO)$/rtfattributeoutput.obj \
-+        $(SLO)$/rtfsdrexport.obj \
-+        $(SLO)$/rtfexport.obj
+-		$(SLO)$/WW8FibData.obj
++		$(SLO)$/WW8FibData.obj \
++		$(SLO)$/rtfexportfilter.obj \
++		$(SLO)$/rtfimportfilter.obj \
++		$(SLO)$/rtfattributeoutput.obj \
++		$(SLO)$/rtfsdrexport.obj \
++		$(SLO)$/rtfexport.obj
  
  
  # --- Tagets -------------------------------------------------------
-unchanged:
---- sw/source/filter/ww8/rtfattributeoutput.cxx	Fri Jul 30 00:54:41 2010 +0200
-+++ sw/source/filter/ww8/rtfattributeoutput.cxx	Fri Jul 30 19:59:04 2010 +0200
-@@ -0,0 +1,3302 @@
+diff -r 004715ace8e7 -r b935ac15ff37 sw/source/filter/ww8/rtfattributeoutput.cxx
+--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
++++ sw/source/filter/ww8/rtfattributeoutput.cxx	Sat Sep 04 01:00:40 2010 +0200
+@@ -0,0 +1,3357 @@
 +/*************************************************************************
 + *
 + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -590,21 +882,21 @@ unchanged:
 +       code that we're triggering ?
 +       */
 +    if (bIsRTL) {
-+        m_aRun.append(OOO_STRING_SVTOOLS_RTF_LTRCH);
-+        m_aRun.append(' ');
-+        m_aRun.append(OOO_STRING_SVTOOLS_RTF_RTLCH);
++        m_aStylesEnd.append(OOO_STRING_SVTOOLS_RTF_LTRCH);
++        m_aStylesEnd.append(' ');
++        m_aStylesEnd.append(OOO_STRING_SVTOOLS_RTF_RTLCH);
 +    } else {
-+        m_aRun.append(OOO_STRING_SVTOOLS_RTF_RTLCH);
-+        m_aRun.append(' ');
-+        m_aRun.append(OOO_STRING_SVTOOLS_RTF_LTRCH);
++        m_aStylesEnd.append(OOO_STRING_SVTOOLS_RTF_RTLCH);
++        m_aStylesEnd.append(' ');
++        m_aStylesEnd.append(OOO_STRING_SVTOOLS_RTF_LTRCH);
 +    }
 +
 +    switch (nScript) {
 +        case i18n::ScriptType::LATIN:
-+            m_aRun.append(OOO_STRING_SVTOOLS_RTF_LOCH);
++            m_aStylesEnd.append(OOO_STRING_SVTOOLS_RTF_LOCH);
 +            break;
 +        case i18n::ScriptType::ASIAN:
-+            m_aRun.append(OOO_STRING_SVTOOLS_RTF_DBCH);
++            m_aStylesEnd.append(OOO_STRING_SVTOOLS_RTF_DBCH);
 +            break;
 +        case i18n::ScriptType::COMPLEX:
 +            /* noop */
@@ -727,9 +1019,12 @@ unchanged:
 +    m_bBufferSectionBreaks = false;
 +
 +    OStringBuffer aPar;
-+    aPar.append(OOO_STRING_SVTOOLS_RTF_PARD);
-+    aPar.append(OOO_STRING_SVTOOLS_RTF_PLAIN);
-+    aPar.append(' ');
++    if (!m_rExport.bRTFFlySyntax)
++    {
++        aPar.append(OOO_STRING_SVTOOLS_RTF_PARD);
++        aPar.append(OOO_STRING_SVTOOLS_RTF_PLAIN);
++        aPar.append(' ');
++    }
 +    if (!m_bBufferSectionHeaders)
 +        m_rExport.Strm() << aPar.makeStringAndClear();
 +    else
@@ -1362,14 +1657,17 @@ unchanged:
 +    /* noop, the default style is always 0 in RTF */
 +}
 +
-+void RtfAttributeOutput::StartStyle( const String& rName, bool /*bPapFmt*/,
++void RtfAttributeOutput::StartStyle( const String& rName, bool bPapFmt,
 +        USHORT nBase, USHORT nNext, USHORT /*nWwId*/, USHORT nId )
 +{
 +    OSL_TRACE("%s, rName = '%s'", OSL_THIS_FUNC,
 +            OUStringToOString( OUString( rName ), m_rExport.eCurrentEncoding ).getStr());
 +
 +    m_aStylesheet.append('{');
-+    m_aStylesheet.append(OOO_STRING_SVTOOLS_RTF_S);
++    if (bPapFmt)
++        m_aStylesheet.append(OOO_STRING_SVTOOLS_RTF_S);
++    else
++        m_aStylesheet.append( OOO_STRING_SVTOOLS_RTF_IGNORE OOO_STRING_SVTOOLS_RTF_CS);
 +    m_aStylesheet.append( (sal_Int32)nId );
 +
 +    if ( nBase != 0x0FFF )
@@ -1417,7 +1715,9 @@ unchanged:
 +    if ( nLvl >= WW8ListManager::nMaxLevel )
 +        nLvl = WW8ListManager::nMaxLevel - 1;
 +
-+    m_aStyles.append(OOO_STRING_SVTOOLS_RTF_LEVEL);
++    m_aStyles.append(OOO_STRING_SVTOOLS_RTF_ILVL);
++    m_aStyles.append((sal_Int32)nLvl);
++    m_aStyles.append(OOO_STRING_SVTOOLS_RTF_OUTLINELEVEL);
 +    m_aStyles.append((sal_Int32)nLvl);
 +}
 +
@@ -1768,6 +2068,38 @@ unchanged:
 +
 +    switch ( rFrame.GetWriterType() )
 +    {
++        case sw::Frame::eTxtBox:
++            OSL_ENSURE(m_aRunText.getLength() == 0, "m_aRunText is not empty");
++            m_rExport.mpParentFrame = &rFrame;
++            m_rExport.bOutFlyFrmAttrs = m_rExport.bRTFFlySyntax = true;
++            m_rExport.OutputFormat( rFrame.GetFrmFmt(), false, false, true );
++            m_rExport.Strm() << m_aRunText.makeStringAndClear();
++            m_rExport.Strm() << m_aStyles.makeStringAndClear();
++            m_rExport.bOutFlyFrmAttrs = m_rExport.bRTFFlySyntax = false;
++            m_rExport.Strm() << "{" OOO_STRING_SVTOOLS_RTF_IGNORE;
++            m_rExport.OutputFormat( rFrame.GetFrmFmt(), false, false, true );
++            m_rExport.Strm() << m_aRunText.makeStringAndClear();
++            m_rExport.Strm() << m_aStyles.makeStringAndClear();
++            m_rExport.Strm() << '}';
++
++            {
++                /*
++                 * Save m_aRun as we should not loose the opening brace.
++                 * OTOH, just drop the contents of m_aRunText in case something
++                 * would be there, causing a problem later.
++                 */
++                OString aSave = m_aRun.makeStringAndClear();
++                m_rExport.bRTFFlySyntax = true;
++                m_rExport.OutContent(*rFrame.GetContent());
++                m_rExport.Strm() << OOO_STRING_SVTOOLS_RTF_PARD;
++                m_rExport.bRTFFlySyntax = false;
++                m_aRun.append(aSave);
++                m_aRunText.setLength(0);
++            }
++
++            m_rExport.mpParentFrame = NULL;
++            m_rExport.Strm() << RtfExport::sNewLine;
++            break;
 +        case sw::Frame::eGraphic:
 +            if (!rFrame.IsInline())
 +            {
@@ -2529,6 +2861,8 @@ unchanged:
 +    OSL_TRACE("%s", OSL_THIS_FUNC);
 +
 +    USHORT nStyle = m_rExport.GetId( *rCharFmt.GetCharFmt() );
++    m_aStyles.append(OOO_STRING_SVTOOLS_RTF_IGNORE OOO_STRING_SVTOOLS_RTF_CS);
++    m_aStyles.append((sal_Int32)nStyle);
 +    OString* pString = m_rExport.GetStyle(nStyle);
 +    if (pString)
 +        m_aStyles.append(*pString);
@@ -2738,9 +3072,8 @@ unchanged:
 +        }
 +
 +        SvxLRSpaceItem aLR( (SvxLRSpaceItem&)rNdSet.Get( RES_LR_SPACE ) );
-+        aLR.SetTxtLeft( aLR.GetTxtLeft() + pFmt->GetAbsLSpace() );
++        aLR.SetTxtLeft( aLR.GetTxtLeft() + pFmt->GetIndentAt() );
 +        aLR.SetTxtFirstLineOfst( pFmt->GetFirstLineOffset() );
-+        FormatLRSpace(aLR);
 +
 +        USHORT nStyle = m_rExport.GetId( *pFmt->GetCharFmt() );
 +        OString* pString = m_rExport.GetStyle(nStyle);
@@ -2777,16 +3110,17 @@ unchanged:
 +                    }
 +                    else
 +                        m_aStyles.append((sal_Int32)nLvl);
-+                    m_aStyles.append(OOO_STRING_SVTOOLS_RTF_LS);
-+                    m_aStyles.append((sal_Int32)m_rExport.GetId(*pRule)+1);
-+                    m_aStyles.append(' ');
 +                }
 +                else
 +                    m_aStyles.append(OOO_STRING_SVTOOLS_RTF_TAB "}");
++                m_aStyles.append(OOO_STRING_SVTOOLS_RTF_LS);
++                m_aStyles.append((sal_Int32)m_rExport.GetId(*pRule)+1);
++                m_aStyles.append(' ');
 +            }
 +            else if( sTxt.Len() )
 +                m_aStyles.append(OOO_STRING_SVTOOLS_RTF_TAB);
 +        }
++        FormatLRSpace(aLR);
 +    }
 +}
 +
@@ -2907,6 +3241,11 @@ unchanged:
 +            m_aStyles.append( (sal_Int32) rLRSpace.GetTxtFirstLineOfst() );
 +        }
 +    }
++    else if (rLRSpace.GetLeft() == rLRSpace.GetRight() && m_rExport.bRTFFlySyntax)
++    {
++        m_rExport.Strm() << OOO_STRING_SVTOOLS_RTF_DFRMTXTX;
++        m_rExport.OutLong( rLRSpace.GetLeft() );
++    }
 +}
 +
 +void RtfAttributeOutput::FormatULSpace( const SvxULSpaceItem& rULSpace )
@@ -2938,6 +3277,11 @@ unchanged:
 +            m_aStyles.append( (sal_Int32) rULSpace.GetLower() );
 +        }
 +    }
++    else if (rULSpace.GetUpper() == rULSpace.GetLower() && m_rExport.bRTFFlySyntax)
++    {
++        m_rExport.Strm() << OOO_STRING_SVTOOLS_RTF_DFRMTXTY;
++        m_rExport.OutLong( rULSpace.GetLower() );
++    }
 +}
 +
 +void RtfAttributeOutput::FormatSurround( const SwFmtSurround& rSurround )
@@ -3077,6 +3421,9 @@ unchanged:
 +
 +    USHORT nDist = rBox.GetDistance();
 +
++    if ( m_rExport.bRTFFlySyntax )
++        return;
++
 +    if( rBox.GetTop() && rBox.GetBottom() &&
 +            rBox.GetLeft() && rBox.GetRight() &&
 +            *rBox.GetTop() == *rBox.GetBottom() &&
@@ -3665,9 +4012,9 @@ unchanged:
 +}
 +
 +/* vi:set shiftwidth=4 expandtab: */
-unchanged:
---- sw/source/filter/ww8/rtfattributeoutput.hxx	Thu Jul 29 22:01:25 2010 +0200
-+++ sw/source/filter/ww8/rtfattributeoutput.hxx	Fri Jul 30 00:54:41 2010 +0200
+diff -r 004715ace8e7 -r b935ac15ff37 sw/source/filter/ww8/rtfattributeoutput.hxx
+--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
++++ sw/source/filter/ww8/rtfattributeoutput.hxx	Sat Sep 04 01:00:40 2010 +0200
 @@ -0,0 +1,574 @@
 +/*************************************************************************
 + *
@@ -4243,10 +4590,10 @@ unchanged:
 +#endif // _RTFATTRIBUTEOUTPUT_HXX_
 +
 +/* vi:set shiftwidth=4 expandtab: */
-unchanged:
---- sw/source/filter/ww8/rtfexport.cxx	Fri Jul 30 15:21:58 2010 +0200
-+++ sw/source/filter/ww8/rtfexport.cxx	Fri Jul 30 21:59:04 2010 +0200
-@@ -0,0 +1,1235 @@
+diff -r 004715ace8e7 -r b935ac15ff37 sw/source/filter/ww8/rtfexport.cxx
+--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
++++ sw/source/filter/ww8/rtfexport.cxx	Sat Sep 04 01:00:40 2010 +0200
+@@ -0,0 +1,1240 @@
 +/*************************************************************************
 + *
 + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -5352,6 +5699,11 @@ unchanged:
 +    }
 +}
 +
++void RtfExport::OutContent( const SwNode& rNode )
++{
++        OutputContentNode(*rNode.GetCntntNode());
++}
++
 +void RtfExport::OutPageDescription( const SwPageDesc& rPgDsc, BOOL bWriteReset, BOOL bCheckForFirstPage )
 +{
 +    OSL_TRACE("%s start", OSL_THIS_FUNC);
@@ -5482,10 +5834,10 @@ unchanged:
 +}
 +
 +/* vi:set shiftwidth=4 expandtab: */
-unchanged:
---- sw/source/filter/ww8/rtfexport.hxx	Thu Jul 29 22:01:25 2010 +0200
-+++ sw/source/filter/ww8/rtfexport.hxx	Fri Jul 30 00:54:41 2010 +0200
-@@ -0,0 +1,211 @@
+diff -r 004715ace8e7 -r b935ac15ff37 sw/source/filter/ww8/rtfexport.hxx
+--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
++++ sw/source/filter/ww8/rtfexport.hxx	Sat Sep 04 01:00:40 2010 +0200
+@@ -0,0 +1,212 @@
 +/*************************************************************************
 + *
 + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -5662,6 +6014,7 @@ unchanged:
 +    rtl::OString OutString(const String &rStr, rtl_TextEncoding eDestEnc);
 +    rtl::OString OutHex(ULONG nHex, BYTE nLen);
 +    void OutPageDescription( const SwPageDesc& rPgDsc, BOOL bWriteReset, BOOL bCheckForFirstPage );
++    void OutContent( const SwNode& rNode );
 +
 +    USHORT GetColor( const Color& rColor ) const;
 +    void InsColor( const Color& rCol );
@@ -5697,10 +6050,10 @@ unchanged:
 +
 +#endif // _RTFEXPORT_HXX_
 +/* vi:set shiftwidth=4 expandtab: */
-unchanged:
---- sw/source/filter/ww8/rtfexportfilter.cxx	Thu Jul 29 22:01:25 2010 +0200
-+++ sw/source/filter/ww8/rtfexportfilter.cxx	Fri Jul 30 00:54:41 2010 +0200
-@@ -0,0 +1,136 @@
+diff -r 004715ace8e7 -r b935ac15ff37 sw/source/filter/ww8/rtfexportfilter.cxx
+--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
++++ sw/source/filter/ww8/rtfexportfilter.cxx	Sat Sep 04 01:00:40 2010 +0200
+@@ -0,0 +1,227 @@
 +/*************************************************************************
 + *
 + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -5835,11 +6188,102 @@ unchanged:
 +{
 +    return (cppu::OWeakObject*) new RtfExportFilter( rSMgr );
 +}
++#if 0
++#ifdef __cplusplus
++extern "C"
++{
++#endif
++
++SAL_DLLPUBLIC_EXPORT void SAL_CALL component_getImplementationEnvironment( const sal_Char ** ppEnvTypeName, uno_Environment ** /* ppEnv */ )
++{
++    *ppEnvTypeName = CPPU_CURRENT_LANGUAGE_BINDING_NAME;
++}
++
++SAL_DLLPUBLIC_EXPORT sal_Bool SAL_CALL component_writeInfo( void* /* pServiceManager */, void* pRegistryKey )
++{
++    sal_Bool bRet = sal_False;
++
++    if( pRegistryKey )
++    {
++        try
++        {
++            uno::Reference< registry::XRegistryKey > xNewKey1(
++                    static_cast< registry::XRegistryKey* >( pRegistryKey )->createKey(                                
++                        OUString::createFromAscii( IMPL_NAME_RTFEXPORT "/UNO/SERVICES/" ) ) );
++            xNewKey1->createKey( RtfExport_getSupportedServiceNames().getConstArray()[0] );
++
++            bRet = sal_True;
++        }
++        catch( registry::InvalidRegistryException& )
++        {
++            OSL_ENSURE( sal_False, "### InvalidRegistryException (rtfexport)!" );
++        }
++
++//        try
++//        {
++//            uno::Reference< registry::XRegistryKey > xNewKey1(
++//                    static_cast< registry::XRegistryKey* >( pRegistryKey )->createKey(                                
++//                        OUString::createFromAscii( IMPL_NAME_RTFIMPORT "/UNO/SERVICES/" ) ) );
++//            xNewKey1->createKey( RtfExport_getSupportedServiceNames().getConstArray()[0] );
++
++//            bRet = sal_True;
++//        }
++//        catch( registry::InvalidRegistryException& )
++//        {
++//            OSL_ENSURE( sal_False, "### InvalidRegistryException (rtfimport)!" );
++//        }
++    }
++
++    return bRet;
++}
++
++// ------------------------
++// - component_getFactory -
++// ------------------------
++
++SAL_DLLPUBLIC_EXPORT void* SAL_CALL component_getFactory( const sal_Char* pImplName, void* pServiceManager, void* /* pRegistryKey */ )
++{
++    OSL_TRACE("%s, pImplName is '%s'", OSL_THIS_FUNC, pImplName);
++    uno::Reference< lang::XSingleServiceFactory > xFactory;
++    void* pRet = 0;
++
++    if ( rtl_str_compare( pImplName, IMPL_NAME_RTFEXPORT ) == 0 ) {
++        const OUString aServiceName( OUString::createFromAscii( IMPL_NAME_RTFEXPORT ) );
++
++        xFactory = uno::Reference< lang::XSingleServiceFactory >( ::cppu::createSingleFactory(
++                    reinterpret_cast< lang::XMultiServiceFactory* >( pServiceManager ),
++                    RtfExport_getImplementationName(),
++                    RtfExport_createInstance,
++                    RtfExport_getSupportedServiceNames() ) );
++    } 
++//    else if ( rtl_str_compare( pImplName, IMPL_NAME_RTFIMPORT ) == 0 ) {
++//        const OUString aServiceName( OUString::createFromAscii( IMPL_NAME_RTFIMPORT ) );
++
++//        xFactory = uno::Reference< lang::XSingleServiceFactory >( ::cppu::createSingleFactory(
++//                    reinterpret_cast< lang::XMultiServiceFactory* >( pServiceManager ),
++//                    RtfImport_getImplementationName(),
++//                    RtfImport_createInstance,
++//                    RtfImport_getSupportedServiceNames() ) );
++//    }
++
++    if ( xFactory.is() )
++    {
++        xFactory->acquire();
++        pRet = xFactory.get();
++    }
++
++    return pRet;
++}
++
++#ifdef __cplusplus
++}
++#endif
++#endif
 +
 +/* vi:set shiftwidth=4 expandtab: */
-unchanged:
+diff -r 004715ace8e7 -r b935ac15ff37 sw/source/filter/ww8/rtfexportfilter.hxx
 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
-+++ sw/source/filter/ww8/rtfexportfilter.hxx	Thu Jul 29 22:01:25 2010 +0200
++++ sw/source/filter/ww8/rtfexportfilter.hxx	Sat Sep 04 01:00:40 2010 +0200
 @@ -0,0 +1,85 @@
 +/*************************************************************************
 + *
@@ -5926,9 +6370,9 @@ unchanged:
 +
 +#endif // _RTFEXPORTFILTER_HXX_
 +/* vi:set shiftwidth=4 expandtab: */
-unchanged:
+diff -r 004715ace8e7 -r b935ac15ff37 sw/source/filter/ww8/rtfimportfilter.cxx
 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
-+++ sw/source/filter/ww8/rtfimportfilter.cxx	Thu Jul 29 22:01:25 2010 +0200
++++ sw/source/filter/ww8/rtfimportfilter.cxx	Sat Sep 04 01:00:40 2010 +0200
 @@ -0,0 +1,135 @@
 +/*************************************************************************
 + *
@@ -6065,9 +6509,9 @@ unchanged:
 +}
 +
 +/* vi:set shiftwidth=4 expandtab: */
-unchanged:
+diff -r 004715ace8e7 -r b935ac15ff37 sw/source/filter/ww8/rtfimportfilter.hxx
 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
-+++ sw/source/filter/ww8/rtfimportfilter.hxx	Thu Jul 29 22:01:25 2010 +0200
++++ sw/source/filter/ww8/rtfimportfilter.hxx	Sat Sep 04 01:00:40 2010 +0200
 @@ -0,0 +1,75 @@
 +/*************************************************************************
 + *
@@ -6144,9 +6588,9 @@ unchanged:
 +
 +#endif // _RTFIMPORTFILTER_HXX_
 +/* vi:set shiftwidth=4 expandtab: */
-unchanged:
---- sw/source/filter/ww8/rtfsdrexport.cxx	Thu Jul 29 22:01:25 2010 +0200
-+++ sw/source/filter/ww8/rtfsdrexport.cxx	Fri Jul 30 00:54:41 2010 +0200
+diff -r 004715ace8e7 -r b935ac15ff37 sw/source/filter/ww8/rtfsdrexport.cxx
+--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
++++ sw/source/filter/ww8/rtfsdrexport.cxx	Sat Sep 04 01:00:40 2010 +0200
 @@ -0,0 +1,578 @@
 +/*************************************************************************
 + *
@@ -6726,9 +7170,9 @@ unchanged:
 +}
 +
 +/* vi:set shiftwidth=4 expandtab: */
-unchanged:
---- sw/source/filter/ww8/rtfsdrexport.hxx	Thu Jul 29 22:01:25 2010 +0200
-+++ sw/source/filter/ww8/rtfsdrexport.hxx	Fri Jul 30 00:54:41 2010 +0200
+diff -r 004715ace8e7 -r b935ac15ff37 sw/source/filter/ww8/rtfsdrexport.hxx
+--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
++++ sw/source/filter/ww8/rtfsdrexport.hxx	Sat Sep 04 01:00:40 2010 +0200
 @@ -0,0 +1,112 @@
 +/*************************************************************************
 + *
@@ -6842,9 +7286,9 @@ unchanged:
 +
 +#endif // _RTFSdrEXPORT_HXX_
 +/* vi:set shiftwidth=4 expandtab: */
-unchanged:
---- sw/source/filter/ww8/wrtw8esh.cxx	Thu Jul 29 20:08:54 2010 +0200
-+++ sw/source/filter/ww8/wrtw8esh.cxx	Thu Jul 29 22:01:25 2010 +0200
+diff -r 004715ace8e7 -r b935ac15ff37 sw/source/filter/ww8/wrtw8esh.cxx
+--- sw/source/filter/ww8/wrtw8esh.cxx	Mon Jul 19 17:09:02 2010 +0200
++++ sw/source/filter/ww8/wrtw8esh.cxx	Sat Sep 04 01:00:40 2010 +0200
 @@ -811,49 +811,7 @@
          OutputField(0, ww::eSHAPE, aEmptyStr, WRITEFIELD_CLOSE);
  }
@@ -6995,9 +7439,9 @@ unchanged:
  
      USHORT nPara = rEditObj.GetParagraphCount();
      BYTE bNul = 0;
-unchanged:
---- sw/source/filter/ww8/wrtw8nds.cxx	Thu Jul 29 20:08:54 2010 +0200
-+++ sw/source/filter/ww8/wrtw8nds.cxx	Thu Jul 29 22:01:25 2010 +0200
+diff -r 004715ace8e7 -r b935ac15ff37 sw/source/filter/ww8/wrtw8nds.cxx
+--- sw/source/filter/ww8/wrtw8nds.cxx	Mon Jul 19 17:09:02 2010 +0200
++++ sw/source/filter/ww8/wrtw8nds.cxx	Sat Sep 04 01:00:40 2010 +0200
 @@ -1646,14 +1646,127 @@
      m_rWW8Export.pO->Remove( 0, m_rWW8Export.pO->Count() );
  }
@@ -7130,9 +7574,9 @@ unchanged:
  }
  
  void MSWordExportBase::OutputTextNode( const SwTxtNode& rNode )
-unchanged:
---- sw/source/filter/ww8/wrtw8num.cxx	Thu Jul 29 20:08:54 2010 +0200
-+++ sw/source/filter/ww8/wrtw8num.cxx	Thu Jul 29 22:01:25 2010 +0200
+diff -r 004715ace8e7 -r b935ac15ff37 sw/source/filter/ww8/wrtw8num.cxx
+--- sw/source/filter/ww8/wrtw8num.cxx	Mon Jul 19 17:09:02 2010 +0200
++++ sw/source/filter/ww8/wrtw8num.cxx	Sat Sep 04 01:00:40 2010 +0200
 @@ -721,6 +721,9 @@
      StarSymbolToMSMultiFont *pConvert = 0;
      FontFamily eFamily = FAMILY_DECORATIVE;
@@ -7143,9 +7587,9 @@ unchanged:
      if (!pConvert)
      {
          pConvert = CreateStarSymbolToMSMultiFont();
-unchanged:
---- sw/source/filter/ww8/wrtw8sty.cxx	Thu Jul 29 20:08:54 2010 +0200
-+++ sw/source/filter/ww8/wrtw8sty.cxx	Thu Jul 29 22:01:25 2010 +0200
+diff -r 004715ace8e7 -r b935ac15ff37 sw/source/filter/ww8/wrtw8sty.cxx
+--- sw/source/filter/ww8/wrtw8sty.cxx	Mon Jul 19 17:09:02 2010 +0200
++++ sw/source/filter/ww8/wrtw8sty.cxx	Sat Sep 04 01:00:40 2010 +0200
 @@ -79,6 +79,7 @@
  #include "ww8par.hxx"
  #include "ww8attributeoutput.hxx"
@@ -7210,9 +7654,9 @@ unchanged:
  /*  */
  
  WW8_WrPlc0::WW8_WrPlc0( ULONG nOffset )
-unchanged:
---- sw/source/filter/ww8/wrtww8.cxx	Thu Jul 29 20:08:54 2010 +0200
-+++ sw/source/filter/ww8/wrtww8.cxx	Thu Jul 29 22:01:25 2010 +0200
+diff -r 004715ace8e7 -r b935ac15ff37 sw/source/filter/ww8/wrtww8.cxx
+--- sw/source/filter/ww8/wrtww8.cxx	Mon Jul 19 17:09:02 2010 +0200
++++ sw/source/filter/ww8/wrtww8.cxx	Sat Sep 04 01:00:40 2010 +0200
 @@ -3371,7 +3371,7 @@
      mpTableInfo(new ww8::WW8TableInfo()), nUniqueList(0),
      mnHdFtIndex(0), pAktPageDesc(0), pPapPlc(0), pChpPlc(0), pChpIter(0),
@@ -7222,9 +7666,9 @@ unchanged:
      pDoc( pDocument ),
      pCurPam( pCurrentPam ),
      pOrigPam( pOriginalPam )
-unchanged:
---- sw/source/filter/ww8/wrtww8.hxx	Thu Jul 29 22:01:25 2010 +0200
-+++ sw/source/filter/ww8/wrtww8.hxx	Fri Jul 30 00:54:41 2010 +0200
+diff -r 004715ace8e7 -r b935ac15ff37 sw/source/filter/ww8/wrtww8.hxx
+--- sw/source/filter/ww8/wrtww8.hxx	Mon Jul 19 17:09:02 2010 +0200
++++ sw/source/filter/ww8/wrtww8.hxx	Sat Sep 04 01:00:40 2010 +0200
 @@ -35,6 +35,7 @@
  #define _SVSTDARR_ULONGS
  #include <svl/svstdarr.hxx>
@@ -7355,9 +7799,9 @@ unchanged:
  /// Class to collect and output the styles table.
  class MSWordStyles
  {
-unchanged:
---- sw/source/filter/ww8/ww8atr.cxx	Thu Jul 29 20:08:54 2010 +0200
-+++ sw/source/filter/ww8/ww8atr.cxx	Thu Jul 29 22:01:25 2010 +0200
+diff -r 004715ace8e7 -r b935ac15ff37 sw/source/filter/ww8/ww8atr.cxx
+--- sw/source/filter/ww8/ww8atr.cxx	Mon Jul 19 17:09:02 2010 +0200
++++ sw/source/filter/ww8/ww8atr.cxx	Sat Sep 04 01:00:40 2010 +0200
 @@ -3340,7 +3340,7 @@
          m_rWW8Export.pO->Insert( (BYTE)0x02, m_rWW8Export.pO->Count() );
  
@@ -7367,9 +7811,9 @@ unchanged:
  
          /*
          As per usual we have problems. We can have seperate left and right brackets
-unchanged:
+diff -r 004715ace8e7 -r b935ac15ff37 writerfilter/source/filter/RtfFilter.cxx
 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
-+++ writerfilter/source/filter/RtfFilter.cxx	Fri Jul 30 01:33:36 2010 +0200
++++ writerfilter/source/filter/RtfFilter.cxx	Sat Sep 04 01:00:40 2010 +0200
 @@ -0,0 +1,146 @@
 +/*************************************************************************
 + *
@@ -7517,9 +7961,9 @@ unchanged:
 +}
 +
 +/* vi:set shiftwidth=4 expandtab: */
-unchanged:
+diff -r 004715ace8e7 -r b935ac15ff37 writerfilter/source/filter/RtfFilter.hxx
 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
-+++ writerfilter/source/filter/RtfFilter.hxx	Fri Jul 30 01:33:36 2010 +0200
++++ writerfilter/source/filter/RtfFilter.hxx	Sat Sep 04 01:00:40 2010 +0200
 @@ -0,0 +1,102 @@
 +/*************************************************************************
 + *
@@ -7623,9 +8067,9 @@ unchanged:
 +    throw( ::com::sun::star::uno::Exception );
 +#endif
 +
-unchanged:
---- writerfilter/source/filter/WriterFilter.cxx	Fri Jul 30 00:54:41 2010 +0200
-+++ writerfilter/source/filter/WriterFilter.cxx	Fri Jul 30 01:33:36 2010 +0200
+diff -r 004715ace8e7 -r b935ac15ff37 writerfilter/source/filter/WriterFilter.cxx
+--- writerfilter/source/filter/WriterFilter.cxx	Mon Jul 19 17:09:02 2010 +0200
++++ writerfilter/source/filter/WriterFilter.cxx	Sat Sep 04 01:00:40 2010 +0200
 @@ -30,6 +30,7 @@
  #endif
  #include <WriterFilter.hxx>
@@ -7642,9 +8086,9 @@ unchanged:
      { 0, 0, 0, 0, 0, 0 } // terminate with NULL
  };
  
-unchanged:
---- writerfilter/source/filter/makefile.mk	Fri Jul 30 00:54:41 2010 +0200
-+++ writerfilter/source/filter/makefile.mk	Fri Jul 30 01:33:36 2010 +0200
+diff -r 004715ace8e7 -r b935ac15ff37 writerfilter/source/filter/makefile.mk
+--- writerfilter/source/filter/makefile.mk	Mon Jul 19 17:09:02 2010 +0200
++++ writerfilter/source/filter/makefile.mk	Sat Sep 04 01:00:40 2010 +0200
 @@ -40,7 +40,8 @@
  
  SLOFILES=           $(SLO)$/WriterFilter.obj \
@@ -7655,295 +8099,3 @@ unchanged:
  
  
  # --- Targets ----------------------------------
-unchanged:
---- filter/source/config/fragments/filters/Rich_Text_Format.xcu	Fri Jul 30 01:33:36 2010 +0200
-+++ filter/source/config/fragments/filters/Rich_Text_Format.xcu	Fri Jul 30 01:41:03 2010 +0200
-@@ -1,7 +1,7 @@
-     <node oor:name="Rich Text Format" oor:op="replace">
--        <prop oor:name="Flags"><value>IMPORT EXPORT ALIEN PREFERRED</value></prop>
-+        <prop oor:name="Flags"><value>IMPORT EXPORT ALIEN 3RDPARTYFILTER PREFERRED</value></prop>
-         <prop oor:name="UIComponent"/>
--        <prop oor:name="FilterService"/>
-+        <prop oor:name="FilterService"><value>com.sun.star.comp.Writer.RtfFilter</value></prop>
-         <prop oor:name="UserData"><value>RTF</value></prop>
-         <prop oor:name="UIName">
-             <value xml:lang="x-default">Rich Text Format</value>
-unchanged:
---- sw/source/filter/rtf/makefile.mk	Fri Jul 30 19:59:04 2010 +0200
-+++ sw/source/filter/rtf/makefile.mk	Fri Jul 30 21:59:04 2010 +0200
-@@ -46,18 +46,15 @@
- EXCEPTIONSFILES=	\
-         $(SLO)$/rtffly.obj \
-         $(SLO)$/rtfnum.obj \
--        $(SLO)$/swparrtf.obj \
--        $(SLO)$/wrtrtf.obj
-+        $(SLO)$/swparrtf.obj
- 
- 
- SLOFILES =	\
--        $(SLO)$/rtfatr.obj \
-         $(SLO)$/rtffld.obj \
-         $(SLO)$/rtffly.obj \
-         $(SLO)$/rtfnum.obj \
-         $(SLO)$/rtftbl.obj \
--        $(SLO)$/swparrtf.obj \
--        $(SLO)$/wrtrtf.obj
-+        $(SLO)$/swparrtf.obj
- 
- # --- Tagets -------------------------------------------------------
- 
-unchanged:
---- sw/source/filter/rtf/rtfnum.cxx	Fri Jul 30 19:59:04 2010 +0200
-+++ sw/source/filter/rtf/rtfnum.cxx	Fri Jul 30 21:59:04 2010 +0200
-@@ -47,7 +47,6 @@
- #include <fltini.hxx>
- #include <swtypes.hxx>
- #include <swparrtf.hxx>
--#include <wrtrtf.hxx>
- #include <ndtxt.hxx>
- #include <doc.hxx>
- #include <docary.hxx>
-@@ -1130,6 +1130,7 @@ BOOL lcl_IsExportNumRule( const SwNumRule& rRule, BYTE* pEnd = 0 )
-     return nLvl != nEnd;
- }
- 
-+#if 0
- void SwRTFWriter::OutRTFListTab()
- {
-     ByteString sOverrideList;
-@@ -1458,3 +1459,4 @@ BOOL SwRTFWriter::OutListNum( const SwTxtNode& rNd )
-     }
-     return bRet;
- }
-+#endif
-diff -u sw/source/filter/ww8/README-rtf.txt sw/source/filter/ww8/README-rtf.txt
---- sw/source/filter/ww8/README-rtf.txt	Wed Aug 04 12:49:33 2010 +0200
-+++ sw/source/filter/ww8/README-rtf.txt	Wed Aug 04 12:53:57 2010 +0200
-@@ -0,0 +1,227 @@
-+
-+---------------------------------------------------------------------
-+
-+Summary of new features in RtfExport
-+
-+---------------------------------------------------------------------
-+
-+Miklos Vajna
-+
-+<vmiklos at frugalware.org>
-+---------------------------------------------------------------------
-+
-+Table of Contents
-+
-+1. Introduction
-+
-+    1.1. Terminology
-+    1.2. General
-+
-+2. List if fixed bugs
-+3. List of new features
-+
-+    3.1. Nested tables
-+    3.2. Character properties
-+    3.3. Sections
-+    3.4. Graphics
-+    3.5. Bookmarks
-+    3.6. Fields
-+    3.7. Drawing
-+    3.8. Form fields
-+    3.9. OLE objects
-+
-+4. Changes in the source code outside RTF
-+
-+
-+---------------------------------------------------------------------
-+
-+1. Introduction
-+
-+---------------------------------------------------------------------
-+
-+The biggest difference is that the new exporter is an UNO component,
-+and it?s based on the MSWord base classes, the vision here is that
-+this way much less code can achieve the same set of features,
-+reducing the amount of duplicated code.
-+
-+
-+1.1. Terminology
-+
-+--------------
-+
-+  * The "MSO OK, OOo KO" and similar abbreviations describe if the
-+    given new feature is supported by the OOo RTF importer or it can
-+    be tested using Microsoft Office.
-+  * RtfExport refers to the new UNO-based exporter, RtfWriter refers
-+    to the old built-in one.
-+
-+
-+1.2. General
-+
-+--------------
-+
-+RtfWriter sometimes created documents where the first { is closed in
-+the middle of the document. MSO ignores this problem, but OOo stops
-+parsing the rest of the document if this happens, in other words
-+everything after such a bug is ignored. This can be reproduced by for
-+example parprops.odt, but it?s triggered in several other cases as
-+well. RtfExport has no automatic prevention for this, either - but
-+during development I primarily test the output with OOo, so hopefully
-+the bug will pop up less frequently.
-+
-+
-+---------------------------------------------------------------------
-+
-+2. List if fixed bugs
-+
-+---------------------------------------------------------------------
-+
-+  * http://www.openoffice.org/issues/show_bug.cgi?id=51469 postit
-+    fields
-+  * http://www.openoffice.org/issues/show_bug.cgi?id=66619 page
-+    margins
-+  * http://www.openoffice.org/issues/show_bug.cgi?id=69856 page
-+    numbers
-+  * http://www.openoffice.org/issues/show_bug.cgi?id=81569 { and } in
-+    document title
-+  * http://www.openoffice.org/issues/show_bug.cgi?id=84703 redlines
-+  * http://www.openoffice.org/issues/show_bug.cgi?id=91166 russian
-+    chars
-+  * http://www.openoffice.org/issues/show_bug.cgi?id=92673 bookmarks
-+    across tables
-+  * http://www.openoffice.org/issues/show_bug.cgi?id=100507 ole
-+    object export
-+  * http://www.openoffice.org/issues/show_bug.cgi?id=103993 same as #
-+    81569 just for doc comments
-+  * http://www.openoffice.org/issues/show_bug.cgi?id=106677
-+    listoverride index starts at zero
-+  * http://www.openoffice.org/issues/show_bug.cgi?id=38344 enhanced
-+    character space
-+
-+
-+---------------------------------------------------------------------
-+
-+3. List of new features
-+
-+---------------------------------------------------------------------
-+
-+
-+3.1. Nested tables
-+
-+--------------
-+
-+This was new in Word2000 and it?s now supported by RtfExport (MSO OK,
-+OOo KO)
-+
-+
-+3.2. Character properties
-+
-+--------------
-+
-+The followings are now supported:
-+
-+  * blinking (MSO OK, OOo KO)
-+  * expanded spacing (MSO OK, OOo OK)
-+  * pair kerning (MSO OK, OOo OK)
-+
-+
-+3.3. Sections
-+
-+--------------
-+
-+RtfExport writes:
-+
-+  * column breaks (MSO OK, OOo OK)
-+  * special breaks (when the next page should be an odd or an even
-+    page; MSO OK, OOo KO)
-+  * the write-protected property of sections is experted properly
-+    (MSO OK, OOo KO)
-+  * better page numbers (inherited type from page styles, restarts;
-+    MSO OK, OOo KO)
-+  * line numbering (MSO OK, OOo KO)
-+
-+
-+3.4. Graphics
-+
-+--------------
-+
-+PNG graphics are exported in WMF format as well, so that not only MSO
-+and OOo can display graphics from the output document, but Wordpad as
-+well.
-+
-+
-+3.5. Bookmarks
-+
-+--------------
-+
-+Implicit bookmarks like reference to a footnote did not work in OOo
-+(one got an Error: Reference source not found message when opening
-+the result), this now works as expected. (MSO OK - the importer
-+previously autocorrected this as well, OO OK)
-+
-+
-+3.6. Fields
-+
-+--------------
-+
-+  * Table of contents is now written as a field, so it?s properly
-+    read-only (MSO OK, OOo KO)
-+  * Postit comments are now exported. (MSO OK, OOo KO)
-+
-+
-+3.7. Drawing
-+
-+--------------
-+
-+Drawing objects for Word 97 through Word 2007 (shapes) are now
-+implemented:
-+
-+  * basic shapes (rectangle, ellipse, etc.)
-+  * lines, including free-form ones
-+  * texts, including vertical ones and their (paragraph and
-+    character) formatting
-+
-+(MSO OK, OOo KO)
-+
-+
-+3.8. Form fields
-+
-+--------------
-+
-+All types supported by the RTF format are exported, namely:
-+
-+  * text boxes
-+  * check boxes
-+  * list boxes
-+
-+(MSO OK, OOo KO)
-+
-+
-+3.9. OLE objects
-+
-+--------------
-+
-+Their result is exported as a picture - RtfWriter did not export
-+anything. (MSO OK, OOo OK)
-+
-+For math, the native data is written as well, so you can edit the
-+object, too. (MSO OK, OOo KO)
-+
-+
-+---------------------------------------------------------------------
-+
-+4. Changes in the source code outside RTF
-+
-+---------------------------------------------------------------------
-+
-+These are refactorings I needed for RTF. To my best knowledge they do
-+not change the output of other filters from a user?s point of view.
-+
-+  * The code that splits runs according to bookmarks is moved from
-+    DocxExport to MSWordExportBase
-+  * WW8_SdrAttrIter has been refactored to MSWord_SdrAttrIter
-+  * MSWordExportBase::SubstituteBullet can avoid replacing bullets
-+  * wwFontHelper::InitFontTable can really load all fonts
-+  * An obvious typo in WW8AttributeOutput::CharTwoLines has been
-+    fixed
-+
diff --git a/patches/dev300/docx-fixes02.diff b/patches/dev300/docx-fixes02.diff
index c078a63..6af40ff 100644
--- a/patches/dev300/docx-fixes02.diff
+++ b/patches/dev300/docx-fixes02.diff
@@ -775,7 +775,7 @@ index 81cba2f..6265c14 100644
 @@ -998,7 +998,7 @@ void RtfAttributeOutput::DefaultStyle( USHORT /*nStyle*/ )
  }
  
- void RtfAttributeOutput::StartStyle( const String& rName, bool /*bPapFmt*/,
+ void RtfAttributeOutput::StartStyle( const String& rName, bool bPapFmt,
 -        USHORT nBase, USHORT nNext, USHORT /*nWwId*/, USHORT nId )
 +        USHORT nBase, USHORT nNext, USHORT /*nWwId*/, USHORT nId, bool /*bAutoUpdate*/ )
  {


More information about the ooo-build-commit mailing list