1# ************************************************************* 2# 3# Licensed to the Apache Software Foundation (ASF) under one 4# or more contributor license agreements. See the NOTICE file 5# distributed with this work for additional information 6# regarding copyright ownership. The ASF licenses this file 7# to you under the Apache License, Version 2.0 (the 8# "License"); you may not use this file except in compliance 9# with the License. You may obtain a copy of the License at 10# 11# http://www.apache.org/licenses/LICENSE-2.0 12# 13# Unless required by applicable law or agreed to in writing, 14# software distributed under the License is distributed on an 15# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 16# KIND, either express or implied. See the License for the 17# specific language governing permissions and limitations 18# under the License. 19# 20# ************************************************************* 21 22--------------------------------------------------------------------- 23 24Summary of new features in RtfExport 25 26--------------------------------------------------------------------- 27 28Miklos Vajna 29 30<vmiklos@frugalware.org> 31--------------------------------------------------------------------- 32 33Table of Contents 34 351. Introduction 36 37 1.1. Terminology 38 1.2. General 39 402. List if fixed bugs 413. List of new features 42 43 3.1. Nested tables 44 3.2. Character properties 45 3.3. Sections 46 3.4. Graphics 47 3.5. Bookmarks 48 3.6. Fields 49 3.7. Drawing 50 3.8. Form fields 51 3.9. OLE objects 52 534. Changes in the source code outside RTF 54 55 56--------------------------------------------------------------------- 57 581.�Introduction 59 60--------------------------------------------------------------------- 61 62The biggest difference is that the new exporter is an UNO component, 63and it?s based on the MSWord base classes, the vision here is that 64this way much less code can achieve the same set of features, 65reducing the amount of duplicated code. 66 67 681.1.�Terminology 69 70-------------- 71 72 * The "MSO OK, OOo KO" and similar abbreviations describe if the 73 given new feature is supported by the OOo RTF importer or it can 74 be tested using Microsoft Office. 75 * RtfExport refers to the new UNO-based exporter, RtfWriter refers 76 to the old built-in one. 77 78 791.2.�General 80 81-------------- 82 83RtfWriter sometimes created documents where the first { is closed in 84the middle of the document. MSO ignores this problem, but OOo stops 85parsing the rest of the document if this happens, in other words 86everything after such a bug is ignored. This can be reproduced by for 87example parprops.odt, but it?s triggered in several other cases as 88well. RtfExport has no automatic prevention for this, either - but 89during development I primarily test the output with OOo, so hopefully 90the bug will pop up less frequently. 91 92 93--------------------------------------------------------------------- 94 952.�List if fixed bugs 96 97--------------------------------------------------------------------- 98 99 * http://www.openoffice.org/issues/show_bug.cgi?id=51469 postit 100 fields 101 * http://www.openoffice.org/issues/show_bug.cgi?id=66619 page 102 margins 103 * http://www.openoffice.org/issues/show_bug.cgi?id=69856 page 104 numbers 105 * http://www.openoffice.org/issues/show_bug.cgi?id=81569 { and } in 106 document title 107 * http://www.openoffice.org/issues/show_bug.cgi?id=84703 redlines 108 * http://www.openoffice.org/issues/show_bug.cgi?id=91166 russian 109 chars 110 * http://www.openoffice.org/issues/show_bug.cgi?id=92673 bookmarks 111 across tables 112 * http://www.openoffice.org/issues/show_bug.cgi?id=100507 ole 113 object export 114 * http://www.openoffice.org/issues/show_bug.cgi?id=103993 same as # 115 81569 just for doc comments 116 * http://www.openoffice.org/issues/show_bug.cgi?id=106677 117 listoverride index starts at zero 118 * http://www.openoffice.org/issues/show_bug.cgi?id=38344 enhanced 119 character space 120 121 122--------------------------------------------------------------------- 123 1243.�List of new features 125 126--------------------------------------------------------------------- 127 128 1293.1.�Nested tables 130 131-------------- 132 133This was new in Word2000 and it?s now supported by RtfExport (MSO OK, 134OOo KO) 135 136 1373.2.�Character properties 138 139-------------- 140 141The followings are now supported: 142 143 * blinking (MSO OK, OOo KO) 144 * expanded spacing (MSO OK, OOo OK) 145 * pair kerning (MSO OK, OOo OK) 146 147 1483.3.�Sections 149 150-------------- 151 152RtfExport writes: 153 154 * column breaks (MSO OK, OOo OK) 155 * special breaks (when the next page should be an odd or an even 156 page; MSO OK, OOo KO) 157 * the write-protected property of sections is experted properly 158 (MSO OK, OOo KO) 159 * better page numbers (inherited type from page styles, restarts; 160 MSO OK, OOo KO) 161 * line numbering (MSO OK, OOo KO) 162 163 1643.4.�Graphics 165 166-------------- 167 168PNG graphics are exported in WMF format as well, so that not only MSO 169and OOo can display graphics from the output document, but Wordpad as 170well. 171 172 1733.5.�Bookmarks 174 175-------------- 176 177Implicit bookmarks like reference to a footnote did not work in OOo 178(one got an Error: Reference source not found message when opening 179the result), this now works as expected. (MSO OK - the importer 180previously autocorrected this as well, OO OK) 181 182 1833.6.�Fields 184 185-------------- 186 187 * Table of contents is now written as a field, so it?s properly 188 read-only (MSO OK, OOo KO) 189 * Postit comments are now exported. (MSO OK, OOo KO) 190 191 1923.7.�Drawing 193 194-------------- 195 196Drawing objects for Word 97 through Word 2007 (shapes) are now 197implemented: 198 199 * basic shapes (rectangle, ellipse, etc.) 200 * lines, including free-form ones 201 * texts, including vertical ones and their (paragraph and 202 character) formatting 203 204(MSO OK, OOo KO) 205 206 2073.8.�Form fields 208 209-------------- 210 211All types supported by the RTF format are exported, namely: 212 213 * text boxes 214 * check boxes 215 * list boxes 216 217(MSO OK, OOo KO) 218 219 2203.9.�OLE objects 221 222-------------- 223 224Their result is exported as a picture - RtfWriter did not export 225anything. (MSO OK, OOo OK) 226 227For math, the native data is written as well, so you can edit the 228object, too. (MSO OK, OOo KO) 229 230 231--------------------------------------------------------------------- 232 2334.�Changes in the source code outside RTF 234 235--------------------------------------------------------------------- 236 237These are refactorings I needed for RTF. To my best knowledge they do 238not change the output of other filters from a user?s point of view. 239 240 * The code that splits runs according to bookmarks is moved from 241 DocxExport to MSWordExportBase 242 * WW8_SdrAttrIter has been refactored to MSWord_SdrAttrIter 243 * MSWordExportBase::SubstituteBullet can avoid replacing bullets 244 * wwFontHelper::InitFontTable can really load all fonts 245 * An obvious typo in WW8AttributeOutput::CharTwoLines has been 246 fixed 247 248