| # ************************************************************* |
| # |
| # Licensed to the Apache Software Foundation (ASF) under one |
| # or more contributor license agreements. See the NOTICE file |
| # distributed with this work for additional information |
| # regarding copyright ownership. The ASF licenses this file |
| # to you under the Apache License, Version 2.0 (the |
| # "License"); you may not use this file except in compliance |
| # with the License. You may obtain a copy of the License at |
| # |
| # http://www.apache.org/licenses/LICENSE-2.0 |
| # |
| # Unless required by applicable law or agreed to in writing, |
| # software distributed under the License is distributed on an |
| # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY |
| # KIND, either express or implied. See the License for the |
| # specific language governing permissions and limitations |
| # under the License. |
| # |
| # ************************************************************* |
| |
| --------------------------------------------------------------------- |
| |
| Summary of new features in RtfExport |
| |
| --------------------------------------------------------------------- |
| |
| Miklos Vajna |
| |
| <vmiklos@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 |
| |