<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
  <META HTTP-EQUIV="CONTENT-TYPE" CONTENT="text/html; charset=windows-1252">
  <TITLE></TITLE>
  <META NAME="GENERATOR" CONTENT="StarOffice 9  (Win32)">
  <META NAME="CREATED" CONTENT="0;0">
  <META NAME="CHANGEDBY" CONTENT="Frank Loehmann">
  <META NAME="CHANGED" CONTENT="20081125;11555900">
  <META NAME="CHANGEDBY" CONTENT="Frank Loehmann">
</HEAD>
<BODY LANG="en-US" DIR="LTR">
<H1>OpenOffice.org Writer <A HREF="../index.html">Specifications</A></H1>
<TABLE WIDTH=100% BORDER=0 CELLPADDING=2 CELLSPACING=0 BGCOLOR="#dddddd" STYLE="page-break-before: always">
  <COL WIDTH=38*>
  <COL WIDTH=143*>
  <COL WIDTH=22*>
  <COL WIDTH=21*>
  <COL WIDTH=14*>
  <COL WIDTH=18*>
  <TR VALIGN=TOP>
    <TH WIDTH=15% BGCOLOR="#dddddd">
      <P ALIGN=LEFT>Name</P>
    </TH>
    <TH WIDTH=56% BGCOLOR="#dddddd">
      <P ALIGN=LEFT>Description</P>
    </TH>
    <TH WIDTH=9% BGCOLOR="#dddddd">
      <P ALIGN=LEFT>Author</P>
    </TH>
    <TH WIDTH=8% BGCOLOR="#dddddd">
      <P ALIGN=LEFT>Status</P>
    </TH>
    <TH WIDTH=5% BGCOLOR="#dddddd">
      <P ALIGN=LEFT>Target</P>
    </TH>
    <TH WIDTH=7% BGCOLOR="#dddddd">
      <P ALIGN=LEFT>Date</P>
    </TH>
  </TR>
  <TR VALIGN=TOP>
    <TD WIDTH=15% BGCOLOR="#ffffff">
      <P><A HREF="formatting/Assigning_Styles_in_Writer.sxw">Assigning
      Styles</A></P>
    </TD>
    <TD WIDTH=56% BGCOLOR="#ffffff">
      <P>The Styles control of the Text Object Bar offers a set of
      common used styles -- like Headings 1 to 3 -- even if they are not
      currently used in the document. The Styles control can also be
      used to define new paragraph styles based on the current
      selection. The relation of the Stylist control and the &quot;Styles&quot;
      tool window -- which used to be the &quot;Stylist&quot; in OOo1.1)
      -- is more tight. This is done by adding command items to the
      Styles control to open the &quot;Styles&quot; tool window. The
      commands to remove styles are aligned between Styles control and
      the Format menu, respectively the text context menu.</P>
    </TD>
    <TD WIDTH=9% BGCOLOR="#ffffff">
      <P><A HREF="mailto:fl@openoffice.org">Frank Loehmann</A></P>
    </TD>
    <TD WIDTH=8% BGCOLOR="#ffffff">
      <P>Final</P>
    </TD>
    <TD WIDTH=5% BGCOLOR="#ffffff">
      <P><STRONG>2.0</STRONG></P>
    </TD>
    <TD WIDTH=7% BGCOLOR="#ffffff">
      <P>11/07/03</P>
    </TD>
  </TR>
  <TR VALIGN=TOP>
    <TD WIDTH=15% BGCOLOR="#ffffff">
      <P><A HREF="compatibility/compatibility.sxw">compatibility.sxw</A></P>
    </TD>
    <TD WIDTH=56% BGCOLOR="#ffffff">
      <P>This document is a specification for the OpenOffice.org
      application compatibility options which can be applied to document
      users are currently working on.</P>
    </TD>
    <TD WIDTH=9% BGCOLOR="#ffffff">
      <P><A HREF="mailto:cj@openoffice.org">Christian Jansen</A></P>
    </TD>
    <TD WIDTH=8% BGCOLOR="#ffffff">
      <P>2nd Draft</P>
    </TD>
    <TD WIDTH=5% BGCOLOR="#ffffff">
      <P>2.0</P>
    </TD>
    <TD WIDTH=7% BGCOLOR="#ffffff">
      <P>08/26/03</P>
    </TD>
  </TR>
  <TR VALIGN=TOP>
    <TD WIDTH=15% BGCOLOR="#ffffff">
      <P><A HREF="compatibility/external_leading.sxw">External Leading</A></P>
    </TD>
    <TD WIDTH=56% BGCOLOR="#ffffff">
      <P>This document is a specification for the &quot;External
      Leading&quot; compatibility option.</P>
    </TD>
    <TD WIDTH=9% BGCOLOR="#ffffff">
      <P><A HREF="mailto:fme@openoffice.org">Frank Meies</A></P>
    </TD>
    <TD WIDTH=8% BGCOLOR="#ffffff">
      <P>Final</P>
    </TD>
    <TD WIDTH=5% BGCOLOR="#ffffff">
      <P>2.0</P>
    </TD>
    <TD WIDTH=7% BGCOLOR="#ffffff">
      <P>2003-10-07</P>
    </TD>
  </TR>
  <TR VALIGN=TOP>
    <TD WIDTH=15% BGCOLOR="#ffffff">
      <P><A HREF="compatibility/tables_automatic_page_and_column_breaks.sxw">Tables:
      Automatic Page and Column Breaks</A></P>
    </TD>
    <TD WIDTH=56% BGCOLOR="#ffffff">
      <P>This document is a specification for the table enhancement that
      allows table rows to split at page or column breaks.</P>
    </TD>
    <TD WIDTH=9% BGCOLOR="#ffffff">
      <P><A HREF="mailto:fme@openoffice.org">Frank Meies</A></P>
    </TD>
    <TD WIDTH=8% BGCOLOR="#ffffff">
      <P>Final</P>
    </TD>
    <TD WIDTH=5% BGCOLOR="#ffffff">
      <P>2.0</P>
    </TD>
    <TD WIDTH=7% BGCOLOR="#ffffff">
      <P>2003-12-01</P>
    </TD>
  </TR>
  <TR VALIGN=TOP>
    <TD WIDTH=15% BGCOLOR="#ffffff">
      <P><A HREF="compatibility/tabstop_compatibility.sxw">Tabstops:
      General compatibility issues</A></P>
    </TD>
    <TD WIDTH=56% BGCOLOR="#ffffff">
      <P>This document specifies some changes of the behavior of
      tabstops.</P>
    </TD>
    <TD WIDTH=9% BGCOLOR="#ffffff">
      <P><A HREF="mailto:fme@openoffice.org">Frank Meies</A></P>
    </TD>
    <TD WIDTH=8% BGCOLOR="#ffffff">
      <P>Final</P>
    </TD>
    <TD WIDTH=5% BGCOLOR="#ffffff">
      <P>2.0</P>
    </TD>
    <TD WIDTH=7% BGCOLOR="#ffffff">
      <P>2003-12-18</P>
    </TD>
  </TR>
  <TR VALIGN=TOP>
    <TD WIDTH=15% BGCOLOR="#ffffff">
      <P><A HREF="hidden_text/hidden_text.sxw">Hidden Text</A></P>
    </TD>
    <TD WIDTH=56% BGCOLOR="#ffffff">
      <P>This document is a specification to format text with the
      attribute hidden. This features adds more interoperability with
      existing office suites to the user.</P>
    </TD>
    <TD WIDTH=9% BGCOLOR="#ffffff">
      <P><A HREF="mailto:ft@openoffice.org">Falko Tesch</A></P>
    </TD>
    <TD WIDTH=8% BGCOLOR="#ffffff">
      <P>Final</P>
    </TD>
    <TD WIDTH=5% BGCOLOR="#ffffff">
      <P>2.0</P>
    </TD>
    <TD WIDTH=7% BGCOLOR="#ffffff">
      <P>11.12.03</P>
    </TD>
  </TR>
  <TR VALIGN=TOP>
    <TD WIDTH=15% BGCOLOR="#ffffff">
      <P><A HREF="caption_dialog/Writer_Caption_Dialog.sxw">Writer
      Caption Dialog</A></P>
    </TD>
    <TD WIDTH=56% BGCOLOR="#ffffff">
      <P>The usability of the Insert - Caption dialog in OpenOffice 2.0
      Writer will be enhanced.</P>
      <P>The new designed dialog preview and the new possibility to add
      separators from the category label/number to the caption text
      itself prevents the user from making mistakes and saves rework
      time. The category label and number could be suppressed. This is
      very helpful for creating a news-letters etc. The new possibility
      to assign a character style to the category label and number also
      saves time. Furthermore the AutoCaption dialog will be adjusted
      and will be promoted in the Caption dialog.</P>
    </TD>
    <TD WIDTH=9% BGCOLOR="#ffffff">
      <P><A HREF="mailto:fl@openoffice.org">Frank Loehmann</A></P>
    </TD>
    <TD WIDTH=8% BGCOLOR="#ffffff">
      <P>Final</P>
    </TD>
    <TD WIDTH=5% BGCOLOR="#ffffff">
      <P>2.0</P>
    </TD>
    <TD WIDTH=7% BGCOLOR="#ffffff">
      <P>10/13/03</P>
    </TD>
  </TR>
  <TR VALIGN=TOP>
    <TD WIDTH=15% BGCOLOR="#ffffff">
      <P><A HREF="numbering/NumberingBullet1.sxw">Numbering and Bullets
      Part 1</A></P>
    </TD>
    <TD WIDTH=56% BGCOLOR="#ffffff">
      <P>Interoperability between other text processors and
      OpenOffice.org (OO.org) Writer has to be further improved for
      OO.org 2.0. The document conversion ability for documents
      containing bullet lists or numberings into Writer documents is
      improved by extending the software core functionality of
      bullet/numbering functionality</P>
    </TD>
    <TD WIDTH=9% BGCOLOR="#ffffff">
      <P><A HREF="mailto:fl@openoffice.org">Frank Loehmann</A></P>
    </TD>
    <TD WIDTH=8% BGCOLOR="#ffffff">
      <P>final</P>
    </TD>
    <TD WIDTH=5% BGCOLOR="#ffffff">
      <P>2.0</P>
    </TD>
    <TD WIDTH=7% BGCOLOR="#ffffff">
      <P>11/07/03</P>
    </TD>
  </TR>
  <TR VALIGN=TOP>
    <TD WIDTH=15% BGCOLOR="#ffffff">
      <P><A HREF="http://specs.openoffice.org/writer/undo/Undo_GeneralWriter.sxw">General
      Undo Enhancements in Writer</A></P>
    </TD>
    <TD WIDTH=56% BGCOLOR="#ffffff">
      <P>Some core functionality is needed to be undoable. Examples are
      changing styles, tables, fields. The representation of actions in
      the undo/redo stack needs to be verbose enough to allow an
      unambiguous mapping to the actions. Not only the kind of action is
      to be displayed but also information about the object. E.g., if
      the user deletes several words by backspace, he gets an undo
      action for each word. Without additional information about the
      deleted word it is difficult to see which entry in the undo stack
      belongs to which deleted word.</P>
    </TD>
    <TD WIDTH=9% BGCOLOR="#ffffff">
      <P><A HREF="mailto:Henning.Brinkmann@sun.com">Henning Brinkmann</A></P>
    </TD>
    <TD WIDTH=8% BGCOLOR="#ffffff">
      <P>Final</P>
    </TD>
    <TD WIDTH=5% BGCOLOR="#ffffff">
      <P>2.0</P>
    </TD>
    <TD WIDTH=7% BGCOLOR="#ffffff">
      <P>12/18/03</P>
    </TD>
  </TR>
  <TR VALIGN=TOP>
    <TD WIDTH=15% BGCOLOR="#ffffff">
      <P><A HREF="http://specs.openoffice.org/writer/undo/Undo_FieldsHeaderFooter.sxw">Undo
      of Fields and Header &amp; Footer Changes</A></P>
    </TD>
    <TD WIDTH=56% BGCOLOR="#ffffff">
      <P>Undo for header &amp; footer changes in OOo 2.0 Writer is
      possible. Also, all edits of fields are tracked for undo.</P>
    </TD>
    <TD WIDTH=9% BGCOLOR="#ffffff">
      <P><A HREF="mailto:Henning.Brinkmann@sun.com">Henning Brinkmann</A></P>
    </TD>
    <TD WIDTH=8% BGCOLOR="#ffffff">
      <P>Draft</P>
    </TD>
    <TD WIDTH=5% BGCOLOR="#ffffff">
      <P>2.0</P>
    </TD>
    <TD WIDTH=7% BGCOLOR="#ffffff">
      <P>11/03/03</P>
    </TD>
  </TR>
  <TR VALIGN=TOP>
    <TD WIDTH=15% BGCOLOR="#ffffff">
      <P><A HREF="compatibility/negative_positions_for_Writer_fly_frames.sxw">Negative
      positions for Writer flyframes</A></P>
    </TD>
    <TD WIDTH=56% BGCOLOR="#ffffff">
      <P>Allow negative positions for Writer fly frames without
      considering its wrapping style in the area above its anchor.</P>
    </TD>
    <TD WIDTH=9% BGCOLOR="#ffffff">
      <P><A HREF="mailto:od@openoffice.org">Oliver-Rainer D&uuml;sterh&ouml;ft</A></P>
    </TD>
    <TD WIDTH=8% BGCOLOR="#ffffff">
      <P>Final</P>
    </TD>
    <TD WIDTH=5% BGCOLOR="#ffffff">
      <P>2.0</P>
    </TD>
    <TD WIDTH=7% BGCOLOR="#ffffff">
      <P>2003-11-19</P>
    </TD>
  </TR>
  <TR VALIGN=TOP>
    <TD WIDTH=15% BGCOLOR="#ffffff">
      <P><A HREF="compatibility/follow_text_flow_vs_leaving_environment.sxw">Follow
      text flow vs. leaving layout environment for Writer fly frames</A></P>
    </TD>
    <TD WIDTH=56% BGCOLOR="#ffffff">
      <P>Specification of new option 'Follow text flow' for Writer fly
      frames that are anchored to paragraph or to character to control,
      if they have to follow the text flow or can leave their layout
      environment.</P>
    </TD>
    <TD WIDTH=9% BGCOLOR="#ffffff">
      <P><A HREF="mailto:od@openoffice.org">Oliver-Rainer D&uuml;sterh&ouml;ft</A></P>
    </TD>
    <TD WIDTH=8% BGCOLOR="#ffffff">
      <P>Final</P>
    </TD>
    <TD WIDTH=5% BGCOLOR="#ffffff">
      <P>2.0</P>
    </TD>
    <TD WIDTH=7% BGCOLOR="#ffffff">
      <P>2003-11-19</P>
    </TD>
  </TR>
  <TR VALIGN=TOP>
    <TD WIDTH=15% BGCOLOR="#ffffff">
      <P><A HREF="compatibility/vertical_alignment_at_page_areas.sxw">Vertical
      alignments at page areas for Writer fly frames</A></P>
    </TD>
    <TD WIDTH=56% BGCOLOR="#ffffff">
      <P>Introduction of vertical alignments at page area for Writer fly
      frames that are anchored to paragraph or to character.</P>
    </TD>
    <TD WIDTH=9% BGCOLOR="#ffffff">
      <P><A HREF="mailto:od@openoffice.org">Oliver-Rainer D&uuml;sterh&ouml;ft</A></P>
    </TD>
    <TD WIDTH=8% BGCOLOR="#ffffff">
      <P>Final</P>
    </TD>
    <TD WIDTH=5% BGCOLOR="#ffffff">
      <P>2.0</P>
    </TD>
    <TD WIDTH=7% BGCOLOR="#ffffff">
      <P>2003-11-20</P>
    </TD>
  </TR>
  <TR VALIGN=TOP>
    <TD WIDTH=15% BGCOLOR="#ffffff">
      <P><A HREF="compatibility/follow_text_flow_for_to_frame_anchored.sxw">Adjust
      terms and introduce 'Follow text flow' for to frame anchored
      Writer fly frames</A></P>
    </TD>
    <TD WIDTH=56% BGCOLOR="#ffffff">
      <P>Correction of terms for current possible vertical alignments
      and introduction of new option 'Follow text flow' for to frame
      anchored Writer fly frames.</P>
    </TD>
    <TD WIDTH=9% BGCOLOR="#ffffff">
      <P><A HREF="mailto:od@openoffice.org">Oliver-Rainer D&uuml;sterh&ouml;ft</A></P>
    </TD>
    <TD WIDTH=8% BGCOLOR="#ffffff">
      <P>Final</P>
    </TD>
    <TD WIDTH=5% BGCOLOR="#ffffff">
      <P>2.0</P>
    </TD>
    <TD WIDTH=7% BGCOLOR="#ffffff">
      <P>2003-11-20</P>
    </TD>
  </TR>
  <TR VALIGN=TOP>
    <TD WIDTH=15% BGCOLOR="#ffffff">
      <P><A HREF="compatibility/vertical_alignment_to_text_line.sxw">Vertical
      alignment 'Line of text' for to character anchored Writer fly
      frames</A></P>
    </TD>
    <TD WIDTH=56% BGCOLOR="#ffffff">
      <P>Introduce vertical alignment at line for to character anchored
      Writer fly frames.</P>
    </TD>
    <TD WIDTH=9% BGCOLOR="#ffffff">
      <P><A HREF="mailto:od@openoffice.org">Oliver-Rainer D&uuml;sterh&ouml;ft</A></P>
    </TD>
    <TD WIDTH=8% BGCOLOR="#ffffff">
      <P>Final</P>
    </TD>
    <TD WIDTH=5% BGCOLOR="#ffffff">
      <P>2.0</P>
    </TD>
    <TD WIDTH=7% BGCOLOR="#ffffff">
      <P>2004-01-05</P>
    </TD>
  </TR>
  <TR VALIGN=TOP>
    <TD WIDTH=15% BGCOLOR="#ffffff">
      <P><A HREF="compatibility/text_lines_and_prop_line_spacing.sxw">Adjustment
      of the formatting of text lines with proportional line spacing</A></P>
    </TD>
    <TD WIDTH=56% BGCOLOR="#ffffff">
      <P>Change the formatting of text lines with a given proportional
      line spacing to meet the requirements of the interoperability to
      MS Word.</P>
    </TD>
    <TD WIDTH=9% BGCOLOR="#ffffff">
      <P><A HREF="mailto:od@openoffice.org">Oliver-Rainer D&uuml;sterh&ouml;ft</A></P>
    </TD>
    <TD WIDTH=8% BGCOLOR="#ffffff">
      <P>Final</P>
    </TD>
    <TD WIDTH=5% BGCOLOR="#ffffff">
      <P>2.0</P>
    </TD>
    <TD WIDTH=7% BGCOLOR="#ffffff">
      <P>2004-02-06</P>
    </TD>
  </TR>
  <TR VALIGN=TOP>
    <TD WIDTH=15% BGCOLOR="#ffffff">
      <P><A HREF="compatibility/formatting-table-cells.sxw">Adjust the
      formatting of table cells</A></P>
    </TD>
    <TD WIDTH=56% BGCOLOR="#ffffff">
      <P>Change the formatting of table cells controlled by a
      compatibility option to meet the requirements of the
      interoperability to MS Word.</P>
    </TD>
    <TD WIDTH=9% BGCOLOR="#ffffff">
      <P><A HREF="mailto:od@openoffice.org">Oliver-Rainer D&uuml;sterh&ouml;ft</A></P>
    </TD>
    <TD WIDTH=8% BGCOLOR="#ffffff">
      <P>Final</P>
    </TD>
    <TD WIDTH=5% BGCOLOR="#ffffff">
      <P>2.0</P>
    </TD>
    <TD WIDTH=7% BGCOLOR="#ffffff">
      <P>2004-02-13</P>
    </TD>
  </TR>
  <TR VALIGN=TOP>
    <TD WIDTH=15% BGCOLOR="#ffffff">
      <P><A HREF="compatibility/merge-borders-and-shadow.sxw">New option
      'Merge borders/shadow with next paragraph'</A></P>
    </TD>
    <TD WIDTH=56% BGCOLOR="#ffffff">
      <P>Introduce new option 'Merge borders/shadow with next paragraph'
      for paragraphs and paragraph styles.</P>
    </TD>
    <TD WIDTH=9% BGCOLOR="#ffffff">
      <P><A HREF="mailto:od@openoffice.org">Oliver-Rainer D&uuml;sterh&ouml;ft</A></P>
    </TD>
    <TD WIDTH=8% BGCOLOR="#ffffff">
      <P>Final</P>
    </TD>
    <TD WIDTH=5% BGCOLOR="#ffffff">
      <P>2.0</P>
    </TD>
    <TD WIDTH=7% BGCOLOR="#ffffff">
      <P>2004-02-18</P>
    </TD>
  </TR>
  <TR VALIGN=TOP>
    <TD WIDTH=15% BGCOLOR="#ffffff">
      <P><A HREF="compatibility/adjust-object-positioning.sxw">Adjust
      positioning of floating screen objects</A></P>
    </TD>
    <TD WIDTH=56% BGCOLOR="#ffffff">
      <P>Change the positioning of floating screen objects controlled by
      a compatibility option to meet the requirements of the
      interoperability to MS Word. The adjustment affects the
      determination of the paragraph top for the positioning of floating
      screen objects.</P>
    </TD>
    <TD WIDTH=9% BGCOLOR="#ffffff">
      <P><A HREF="mailto:od@openoffice.org">Oliver-Rainer D&uuml;sterh&ouml;ft</A></P>
    </TD>
    <TD WIDTH=8% BGCOLOR="#ffffff">
      <P>Final</P>
    </TD>
    <TD WIDTH=5% BGCOLOR="#ffffff">
      <P>2.0</P>
    </TD>
    <TD WIDTH=7% BGCOLOR="#ffffff">
      <P>2004-03-02</P>
    </TD>
  </TR>
  <TR VALIGN=TOP>
    <TD WIDTH=15% BGCOLOR="#ffffff">
      <P><A HREF="compatibility/adjust-text-wrapping.sxw">Adjust text
      wrapping </A>
      </P>
    </TD>
    <TD WIDTH=56% BGCOLOR="#ffffff">
      <P>Change text wrapping controlled by a compatibility option to
      meet the requirements of the interoperability to MS Word. The
      adjustment affects the text wrapping around objects.</P>
    </TD>
    <TD WIDTH=9% BGCOLOR="#ffffff">
      <P><A HREF="mailto:pb@openoffice.org">Hans-Peter Burow</A></P>
    </TD>
    <TD WIDTH=8% BGCOLOR="#ffffff">
      <P>Final</P>
    </TD>
    <TD WIDTH=5% BGCOLOR="#ffffff">
      <P>2.0</P>
    </TD>
    <TD WIDTH=7% BGCOLOR="#ffffff">
      <P>2004-04-27</P>
    </TD>
  </TR>
  <TR VALIGN=TOP>
    <TD WIDTH=15% BGCOLOR="#ffffff">
      <P><A HREF="compatibility/obj-pos-without-wrapping.sxw">Positioning
      of floating screen objects with considering its wrapping style</A></P>
    </TD>
    <TD WIDTH=56% BGCOLOR="#ffffff">
      <P>Due to meet the requirements of MS-Interoperability the
      positioning of floating screen objects has to be adjusted in such
      a way, that its own wrapping style and the wrapping styles of the
      other floating screen objects isn't considered. Simply spoken, a
      floating screen object will get the same position it would have,
      if its wrapping style is 'Through'.</P>
    </TD>
    <TD WIDTH=9% BGCOLOR="#ffffff">
      <P><A HREF="mailto:od@openoffice.org">Oliver-Rainer D&uuml;sterh&ouml;ft</A></P>
    </TD>
    <TD WIDTH=8% BGCOLOR="#ffffff">
      <P>Final</P>
    </TD>
    <TD WIDTH=5% BGCOLOR="#ffffff">
      <P>2.0</P>
    </TD>
    <TD WIDTH=7% BGCOLOR="#ffffff">
      <P>2004-05-27</P>
    </TD>
  </TR>
  <TR VALIGN=TOP>
    <TD WIDTH=15% BGCOLOR="#ffffff">
      <P><A HREF="http://specs.openoffice.org/installation/wizards/LetterWizardSpec.sxw">New
      Letter Wizard</A></P>
    </TD>
    <TD WIDTH=56% BGCOLOR="#ffffff">
      <P>As a replacement for the old Letter Wizard, the new concept
      introduces a better gui and better localization features. Also the
      output is supposed to conform to current norms.</P>
    </TD>
    <TD WIDTH=9% BGCOLOR="#ffffff">
      <P><A HREF="mailto:tv@openoffice.org">Tom Verbeek</A></P>
    </TD>
    <TD WIDTH=8% BGCOLOR="#ffffff">
      <P>Draft</P>
    </TD>
    <TD WIDTH=5% BGCOLOR="#ffffff">
      <P>2.0</P>
    </TD>
    <TD WIDTH=7% BGCOLOR="#ffffff">
      <P>10/01/03</P>
    </TD>
  </TR>
  <TR VALIGN=TOP>
    <TD WIDTH=15% BGCOLOR="#ffffff">
      <P><A HREF="http://specs.openoffice.org/installation/wizards/FaxWizardSpec.sxw">New
      Fax Wizard</A></P>
    </TD>
    <TD WIDTH=56% BGCOLOR="#ffffff">
      <P>As a replacement for the old Fax Wizard, the new concept
      introduces a better gui and better localization features. Also the
      output is supposed to conform to current norms.</P>
    </TD>
    <TD WIDTH=9% BGCOLOR="#ffffff">
      <P><A HREF="mailto:tv@openoffice.org">Tom Verbeek</A></P>
    </TD>
    <TD WIDTH=8% BGCOLOR="#ffffff">
      <P>Final</P>
    </TD>
    <TD WIDTH=5% BGCOLOR="#ffffff">
      <P>2.0</P>
    </TD>
    <TD WIDTH=7% BGCOLOR="#ffffff">
      <P>02/07/04</P>
    </TD>
  </TR>
  <TR VALIGN=TOP>
    <TD WIDTH=15% BGCOLOR="#ffffff">
      <P><A HREF="http://specs.openoffice.org/installation/wizards/AgendaWizardSpec.sxw">New
      Agenda Wizard</A></P>
    </TD>
    <TD WIDTH=56% BGCOLOR="#ffffff">
      <P>As a replacement for the old Agenda Wizard, the new concept
      introduces a better gui and better localization features. Also the
      output is supposed to conform to current norms.</P>
    </TD>
    <TD WIDTH=9% BGCOLOR="#ffffff">
      <P><A HREF="mailto:rpiterman@openoffice.org">Ron Piterman</A></P>
    </TD>
    <TD WIDTH=8% BGCOLOR="#ffffff">
      <P>Final</P>
    </TD>
    <TD WIDTH=5% BGCOLOR="#ffffff">
      <P>2.0</P>
    </TD>
    <TD WIDTH=7% BGCOLOR="#ffffff">
      <P>02/07/04</P>
    </TD>
  </TR>
  <TR VALIGN=TOP>
    <TD WIDTH=15% BGCOLOR="#ffffff">
      <P><A HREF="compatibility/tables_vertical_text_direction.sxw">Allow
      Vertical Text in Writer Table Cells</A></P>
    </TD>
    <TD WIDTH=56% BGCOLOR="#ffffff">
      <P>A specification to define vertical text in Writer cells,
      behaviour and UI.</P>
    </TD>
    <TD WIDTH=9% BGCOLOR="#ffffff">
      <P><A HREF="mailto:fme@openoffice.org">Frank Meies</A>, <A HREF="mailto:fte@openoffice.org">Falko
      Tesch</A></P>
    </TD>
    <TD WIDTH=8% BGCOLOR="#ffffff">
      <P>Final</P>
    </TD>
    <TD WIDTH=5% BGCOLOR="#ffffff">
      <P>2.0</P>
    </TD>
    <TD WIDTH=7% BGCOLOR="#ffffff">
      <P>2004-03-15</P>
    </TD>
  </TR>
  <TR VALIGN=TOP>
    <TD WIDTH=15% BGCOLOR="#ffffff">
      <P><A HREF="tables/table_in_table.sxw">Allow Tables in Table Cells</A></P>
    </TD>
    <TD WIDTH=56% BGCOLOR="#ffffff">
      <P>A specification to define how to insert tables in table cells.</P>
    </TD>
    <TD WIDTH=9% BGCOLOR="#ffffff">
      <P><A HREF="mailto:pb@openoffice.org">Hans-Peter Burow</A>, <A HREF="mailto:fme@openoffice.org">Frank
      Meies</A></P>
    </TD>
    <TD WIDTH=8% BGCOLOR="#ffffff">
      <P>Draft</P>
    </TD>
    <TD WIDTH=5% BGCOLOR="#ffffff">
      <P>2.0</P>
    </TD>
    <TD WIDTH=7% BGCOLOR="#ffffff">
      <P>09/02/04</P>
    </TD>
  </TR>
  <TR VALIGN=TOP>
    <TD WIDTH=15% BGCOLOR="#ffffff">
      <P><A HREF="tables/enhanced_table_handling.sxw">Enhanced Table
      Handling</A></P>
    </TD>
    <TD WIDTH=56% BGCOLOR="#ffffff">
      <P>This specification will relocate and define the behaviour of
      this icon to a more prominent location as well as introducing an
      all-new table main menu entry to ease the access to table
      formatting for users.</P>
    </TD>
    <TD WIDTH=9% BGCOLOR="#ffffff">
      <P><A HREF="mailto:ft@openoffice.org">Falko Tesch</A></P>
    </TD>
    <TD WIDTH=8% BGCOLOR="#ffffff">
      <P>Final</P>
    </TD>
    <TD WIDTH=5% BGCOLOR="#ffffff">
      <P>2.0</P>
    </TD>
    <TD WIDTH=7% BGCOLOR="#ffffff">
      <P>16.06.04</P>
    </TD>
  </TR>
  <TR VALIGN=TOP>
    <TD WIDTH=15% BGCOLOR="#ffffff">
      <P><A HREF="wordcount/Enhanced_Wordcount.sxw">Enhanced Word Count</A></P>
    </TD>
    <TD WIDTH=56% BGCOLOR="#ffffff">
      <P>This specification adds enhanced word count feature to OO.org
      2.0</P>
    </TD>
    <TD WIDTH=9% BGCOLOR="#ffffff">
      <P><A HREF="mailto:ft@openoffice.org">Falko Tesch</A></P>
    </TD>
    <TD WIDTH=8% BGCOLOR="#ffffff">
      <P>Final</P>
    </TD>
    <TD WIDTH=5% BGCOLOR="#ffffff">
      <P>2.0</P>
    </TD>
    <TD WIDTH=7% BGCOLOR="#ffffff">
      <P>2004-04-07</P>
    </TD>
  </TR>
  <TR VALIGN=TOP>
    <TD WIDTH=15% BGCOLOR="#ffffff">
      <P><A HREF="http://specs.openoffice.org/writer/menus/FormatMenu.sxw">Format
      Menu</A></P>
    </TD>
    <TD WIDTH=56% BGCOLOR="#ffffff">
      <P>The Format menu in OOo2.0 Writer is no longer context
      sensitive, i.e. the set of menu commands is fixed for all objects
      to be edited.</P>
    </TD>
    <TD WIDTH=9% BGCOLOR="#ffffff">
      <P><A HREF="http://wiki.services.openoffice.org/wiki/User:Mmp">Matthias
      M&uuml;ller-Prove</A></P>
    </TD>
    <TD WIDTH=8% BGCOLOR="#ffffff">
      <P>final</P>
    </TD>
    <TD WIDTH=5% BGCOLOR="#ffffff">
      <P>2.0</P>
    </TD>
    <TD WIDTH=7% BGCOLOR="#ffffff">
      <P>07/08/04</P>
    </TD>
  </TR>
  <TR VALIGN=TOP>
    <TD WIDTH=15% BGCOLOR="#ffffff">
      <P><A HREF="http://specs.openoffice.org/writer/mail_merge/mailmerge_specification.sxw">Mail
      Merge</A></P>
    </TD>
    <TD WIDTH=56% BGCOLOR="#ffffff">
      <P>The Mail Merge functionality will be totally renewed. The user
      will be assisted by a Merge Wizard. Advanced users will get a
      Toolbar from where the most needed functions for creating a Merge
      are accessible. The new Merge will also be much more flexible in
      managing &amp; editing databases and allows to save into one
      single file.</P>
    </TD>
    <TD WIDTH=9% BGCOLOR="#ffffff">
      <P><A HREF="mailto:cj@openoffice.org">Christian Jansen</A></P>
    </TD>
    <TD WIDTH=8% BGCOLOR="#ffffff">
      <P>Final</P>
    </TD>
    <TD WIDTH=5% BGCOLOR="#ffffff">
      <P>2.0</P>
    </TD>
    <TD WIDTH=7% BGCOLOR="#ffffff">
      <P>04-28-04</P>
    </TD>
  </TR>
  <TR VALIGN=TOP>
    <TD WIDTH=15% BGCOLOR="#ffffff">
      <P><A HREF="http://specs.openoffice.org/writer/mail_merge/mailmerge_specification_pp1.sxw">Mail
      Merge</A></P>
    </TD>
    <TD WIDTH=56% BGCOLOR="#ffffff">
      <P>The Mail Merge functionality will be slightly changed due to
      new facts coming out of usability studies.</P>
    </TD>
    <TD WIDTH=9% BGCOLOR="#ffffff">
      <P><A HREF="mailto:fl@openoffice.org">Frank Loehmann</A></P>
    </TD>
    <TD WIDTH=8% BGCOLOR="#ffffff">
      <P>Final</P>
    </TD>
    <TD WIDTH=5% BGCOLOR="#ffffff">
      <P>2.0.1</P>
    </TD>
    <TD WIDTH=7% BGCOLOR="#ffffff">
      <P>09-28-05</P>
    </TD>
  </TR>
  <TR VALIGN=TOP>
    <TD WIDTH=15% BGCOLOR="#ffffff">
      <P><A HREF="http://specs.openoffice.org/writer/compatibility/unification_of_object_positioning.sxw">Unification
      of object positioning</A></P>
    </TD>
    <TD WIDTH=56% BGCOLOR="#ffffff">
      <P>Provide the same positioning options to drawing objects that
      are already available for Writer's text frames, graphics and OLE
      objects to improve flexibility and interoperability to MS Word.</P>
    </TD>
    <TD WIDTH=9% BGCOLOR="#ffffff">
      <P><A HREF="mailto:os@openoffice.org">Oliver Specht</A></P>
    </TD>
    <TD WIDTH=8% BGCOLOR="#ffffff">
      <P>Final</P>
    </TD>
    <TD WIDTH=5% BGCOLOR="#ffffff">
      <P>2.0</P>
    </TD>
    <TD WIDTH=7% BGCOLOR="#ffffff">
      <P>04-30-04</P>
    </TD>
  </TR>
  <TR VALIGN=TOP>
    <TD WIDTH=15% BGCOLOR="#ffffff">
      <P><A HREF="http://specs.openoffice.org/writer/database/database_field_dialog.sxw">New
      Browser Button to Select a Database from File in Writer.</A></P>
    </TD>
    <TD WIDTH=56% BGCOLOR="#ffffff">
      <P>This new browse button allows to select a database from file.</P>
    </TD>
    <TD WIDTH=9% BGCOLOR="#ffffff">
      <P><A HREF="mailto:fl@openoffice.org">Frank Loehmann</A></P>
    </TD>
    <TD WIDTH=8% BGCOLOR="#ffffff">
      <P>Final</P>
    </TD>
    <TD WIDTH=5% BGCOLOR="#ffffff">
      <P>2.0</P>
    </TD>
    <TD WIDTH=7% BGCOLOR="#ffffff">
      <P>05-11-04</P>
    </TD>
  </TR>
  <TR VALIGN=TOP>
    <TD WIDTH=15% BGCOLOR="#ffffff">
      <P><A HREF="http://specs.openoffice.org/writer/database/database_field_dialog.sxw">Select
      a Database from File in the Fields-Database dialog.</A></P>
    </TD>
    <TD WIDTH=56% BGCOLOR="#ffffff">
      <P>The Fields-Database dialog has been reworked to add the
      possibility of selecting database files, which are not connected
      as a data source.</P>
    </TD>
    <TD WIDTH=9% BGCOLOR="#ffffff">
      <P><A HREF="mailto:fl@openoffice.org">Frank Loehmann</A></P>
    </TD>
    <TD WIDTH=8% BGCOLOR="#ffffff">
      <P>Final</P>
    </TD>
    <TD WIDTH=5% BGCOLOR="#ffffff">
      <P>2.0</P>
    </TD>
    <TD WIDTH=7% BGCOLOR="#ffffff">
      <P>05-11-04</P>
    </TD>
  </TR>
  <TR>
    <TD WIDTH=15% VALIGN=TOP BGCOLOR="#ffffff">
      <P><A HREF="selection_enhancement/Text-table_selection_enhancement.sxw">Text/Table
      Selection Enhancement</A></P>
    </TD>
    <TD WIDTH=56% VALIGN=TOP BGCOLOR="#ffffff">
      <P>This specification adds revamps the selection of text and
      tables in Writer 2.0</P>
    </TD>
    <TD WIDTH=9% VALIGN=TOP BGCOLOR="#ffffff">
      <P><A HREF="mailto:ft@openoffice.org">Falko Tesch</A></P>
    </TD>
    <TD WIDTH=8% VALIGN=TOP BGCOLOR="#ffffff">
      <P>Final</P>
    </TD>
    <TD WIDTH=5% BGCOLOR="#ffffff">
      <P>2.0</P>
    </TD>
    <TD WIDTH=7% VALIGN=TOP BGCOLOR="#ffffff">
      <P>27.04.04</P>
    </TD>
  </TR>
  <TR VALIGN=TOP>
    <TD WIDTH=15% BGCOLOR="#ffffff">
      <P><A HREF="http://specs.openoffice.org/writer/compatibility/collapsing_table_borders.sxw%20">Collapsing
      table borders</A></P>
    </TD>
    <TD WIDTH=56% BGCOLOR="#ffffff">
      <P>This specification adds the collapsing borders model to Writer
      tables.</P>
    </TD>
    <TD WIDTH=9% BGCOLOR="#ffffff">
      <P><A HREF="mailto:fme@openoffice.org">Frank Meies</A></P>
    </TD>
    <TD WIDTH=8% BGCOLOR="#ffffff">
      <P>Final</P>
    </TD>
    <TD WIDTH=5% BGCOLOR="#ffffff">
      <P>2.0</P>
    </TD>
    <TD WIDTH=7% BGCOLOR="#ffffff">
      <P>2004-06-04</P>
    </TD>
  </TR>
  <TR VALIGN=TOP>
    <TD WIDTH=15% BGCOLOR="#ffffff">
      <P><A HREF="http://specs.openoffice.org/writer/navigator/Show_Space_Between_Number_and_Heading_Text.sxw">Show
      Space Between Number and Heading Text in Navigator</A></P>
    </TD>
    <TD WIDTH=56% BGCOLOR="#ffffff">
      <P>A chapter numbering and the heading text itself could be
      separated by a space character, a tabulator or an indent. If the
      tabulator or indent method is used, the navigator does not show a
      spacing between the chapter number and the text. This is hard to
      read for the user.</P>
    </TD>
    <TD WIDTH=9% BGCOLOR="#ffffff">
      <P><A HREF="mailto:fl@openoffice.org">Frank Loehmann</A></P>
    </TD>
    <TD WIDTH=8% BGCOLOR="#ffffff">
      <P>Office Later</P>
    </TD>
    <TD WIDTH=5% BGCOLOR="#ffffff">
      <P>3.0</P>
    </TD>
    <TD WIDTH=7% BGCOLOR="#ffffff">
      <P>05-11-04</P>
    </TD>
  </TR>
  <TR VALIGN=TOP>
    <TD WIDTH=15% BGCOLOR="#ffffff">
      <P><A HREF="http://specs.openoffice.org/writer/tables/Consider_Paragraph_Spacing_on_Table_Borders.sxw">Consider
      Paragraph Spacing on Table Borders</A></P>
    </TD>
    <TD WIDTH=56% BGCOLOR="#ffffff">
      <P>OOo 2.0 now considers spacing and indent set for left / right
      and for above / below paragraphs when calculating the entire
      spacing to a table's border. Those two sorts of spacing (paragraph
      and table) are now being added instead of only considering the
      distance to border set in the table's properties. This new feature
      improves the Microsoft interoperability and is also set as default
      for new created Writer documents to improve the export to
      Microsoft Word format. But this new feature has some side effects
      for new created documents: Writer automatically assigns paragraph
      styles &quot;Table heading&quot; and &quot;Table content&quot; to
      a table's heading and content. Due to paragraph spacing, set in
      those styles, the spacing between the last paragraph at the end of
      a cell and the table border is now much bigger than in OO 1.1.
      Especially single line paragraph content will not be shown
      vertically centered within the table cell anymore. Therefore the
      automatically assigned paragraph styles are changed to Default,
      the spacing is changed and repeated headings feature is turned
      off.</P>
    </TD>
    <TD WIDTH=9% BGCOLOR="#ffffff">
      <P><A HREF="mailto:fl@openoffice.org">Frank Loehmann</A></P>
    </TD>
    <TD WIDTH=8% BGCOLOR="#ffffff">
      <P>Draft</P>
    </TD>
    <TD WIDTH=5% BGCOLOR="#ffffff">
      <P>2.0</P>
    </TD>
    <TD WIDTH=7% BGCOLOR="#ffffff">
      <P>10-13-04</P>
    </TD>
  </TR>
  <TR VALIGN=TOP>
    <TD WIDTH=15% BGCOLOR="#ffffff">
      <P><A HREF="fileIO/writerperfect.sxw">WriterPerfect Filter</A></P>
    </TD>
    <TD WIDTH=56% BGCOLOR="#ffffff">
      <P>The functionality provided by the existing, external libwpd and
      writerperfect filters should be integrated into the OpenOffice.org
      2 build and product.</P>
    </TD>
    <TD WIDTH=9% BGCOLOR="#ffffff">
      <P>Michael Meeks</P>
    </TD>
    <TD WIDTH=8% BGCOLOR="#ffffff">
      <P>draft</P>
    </TD>
    <TD WIDTH=5% BGCOLOR="#ffffff">
      <P>2.0</P>
    </TD>
    <TD WIDTH=7% BGCOLOR="#ffffff">
      <P>10-25-04</P>
    </TD>
  </TR>
  <TR VALIGN=TOP>
    <TD WIDTH=15% BGCOLOR="#ffffff">
      <P><A HREF="printing/suppress-empty-pages-specification.odt">Suppress
      Blank Pages</A></P>
    </TD>
    <TD WIDTH=56% BGCOLOR="#ffffff">
      <P>The suppress printing of automatically inserted blank pages
      option allows users to decide, if they want to have auto generated
      blank pages printed or not.</P>
      <P>The option effects the behavior of OpenOffice.org Writer, the
      Writer Page Preview, the current print job properties and PDF.</P>
    </TD>
    <TD WIDTH=9% BGCOLOR="#ffffff">
      <P>Christian Jansen</P>
    </TD>
    <TD WIDTH=8% BGCOLOR="#ffffff">
      <P>Final</P>
    </TD>
    <TD WIDTH=5% BGCOLOR="#ffffff">
      <P>2.02</P>
    </TD>
    <TD WIDTH=7% BGCOLOR="#ffffff">
      <P>14-12-05</P>
    </TD>
  </TR>
  <TR VALIGN=TOP>
    <TD WIDTH=15% BGCOLOR="#ffffff">
      <P><BR>
      </P>
    </TD>
    <TD WIDTH=56% BGCOLOR="#ffffff">
      <P><BR>
      </P>
    </TD>
    <TD WIDTH=9% BGCOLOR="#ffffff">
      <P><BR>
      </P>
    </TD>
    <TD WIDTH=8% BGCOLOR="#ffffff">
      <P><BR>
      </P>
    </TD>
    <TD WIDTH=5% BGCOLOR="#ffffff">
      <P><BR>
      </P>
    </TD>
    <TD WIDTH=7% BGCOLOR="#ffffff">
      <P><BR>
      </P>
    </TD>
  </TR>
  <TR VALIGN=TOP>
    <TD WIDTH=15% BGCOLOR="#ffffff">
      <P><BR>
      </P>
    </TD>
    <TD WIDTH=56% BGCOLOR="#ffffff">
      <P><BR>
      </P>
    </TD>
    <TD WIDTH=9% BGCOLOR="#ffffff">
      <P><BR>
      </P>
    </TD>
    <TD WIDTH=8% BGCOLOR="#ffffff">
      <P><BR>
      </P>
    </TD>
    <TD WIDTH=5% BGCOLOR="#ffffff">
      <P><BR>
      </P>
    </TD>
    <TD WIDTH=7% BGCOLOR="#ffffff">
      <P><BR>
      </P>
    </TD>
  </TR>
  <TR>
    <TD COLSPAN=6 WIDTH=100% VALIGN=TOP BGCOLOR="#99ccff">
      <H4>Specifications for OpenOffice.org 2.x 
      </H4>
    </TD>
  </TR>
  <TR VALIGN=TOP>
    <TD WIDTH=15% BGCOLOR="#ffffff">
      <P><A HREF="numbering/OutlineLevel.odt">Introduction of an outline
      level attribute for paragraphs and paragraph styles</A></P>
    </TD>
    <TD WIDTH=56% BGCOLOR="#ffffff">
      <P>Introduce a new paragraph and paragraph style attribute, named
      ?outline level?, to transform a normal paragraph directly and
      independently from any certain list style or paragraph style into
      a heading.</P>
    </TD>
    <TD WIDTH=9% BGCOLOR="#ffffff">
      <P><A HREF="mailto:od@openoffice.org">Oliver-Rainer Wittmann</A></P>
    </TD>
    <TD WIDTH=8% BGCOLOR="#ffffff">
      <P>Preliminary</P>
    </TD>
    <TD WIDTH=5% BGCOLOR="#ffffff">
      <P>2.x</P>
    </TD>
    <TD WIDTH=7% BGCOLOR="#ffffff">
      <P>2006-11-03</P>
    </TD>
  </TR>
  <TR VALIGN=TOP>
    <TD WIDTH=15% BGCOLOR="#ffffff">
      <P><A HREF="http://specs.openoffice.org/writer/SoftPageBreak/SoftPageBreak.odt%20">Export
      of soft page breaks</A></P>
    </TD>
    <TD WIDTH=56% BGCOLOR="#ffffff">
      <P>Soft page breaks transports layout inforamtion about page
      breaks into file format.</P>
    </TD>
    <TD WIDTH=9% BGCOLOR="#ffffff">
      <P><A HREF="mailto:ama@openoffice.org">Andreas Martens</A></P>
    </TD>
    <TD WIDTH=8% BGCOLOR="#ffffff">
      <P>Preliminary</P>
    </TD>
    <TD WIDTH=5% BGCOLOR="#ffffff">
      <P>2.3</P>
    </TD>
    <TD WIDTH=7% BGCOLOR="#ffffff">
      <P>2007-07-04</P>
    </TD>
  </TR>
  <TR VALIGN=TOP>
    <TD WIDTH=15% BGCOLOR="#ffffff">
      <P><A HREF="http://specs.openoffice.org/writer/mail_merge/Simple_Mail_Merge_Print_Dialog.odt">Rework
      Simple Mail Merge Print Dialog</A></P>
    </TD>
    <TD WIDTH=56% BGCOLOR="#ffffff">
      <P>The simple mail merge dialog is often used to print already
      present mail merge documents. The new mail merge wizard seems to
      be overloaded for those existing mail merge documents. The feature
      to save the mail merge in a single document is not implemented yet
      for this old dialog. This specification defines how this feature
      gets integrated into this dialog.</P>
    </TD>
    <TD WIDTH=9% BGCOLOR="#ffffff">
      <P><A HREF="mailto:frank.loehmann@sun.com">Frank Loehmann</A></P>
    </TD>
    <TD WIDTH=8% BGCOLOR="#ffffff">
      <P>Preliminary</P>
    </TD>
    <TD WIDTH=5% BGCOLOR="#ffffff">
      <P>2.3</P>
    </TD>
    <TD WIDTH=7% BGCOLOR="#ffffff">
      <P>2007-07-04</P>
    </TD>
  </TR>
  <TR VALIGN=TOP>
    <TD WIDTH=15% BGCOLOR="#ffffff">
      <P><A HREF="http://specs.openoffice.org/writer/compatibility/Compatability_Options.odt">Compatibility
      Options</A></P>
    </TD>
    <TD WIDTH=56% BGCOLOR="#ffffff">
      <P>This specification handles all newly introduced compatibility
      options in an own section.</P>
    </TD>
    <TD WIDTH=9% BGCOLOR="#ffffff">
      <P><A HREF="mailto:frank.loehmann@sun.com">Frank Loehmann</A></P>
    </TD>
    <TD WIDTH=8% BGCOLOR="#ffffff">
      <P>Standard</P>
    </TD>
    <TD WIDTH=5% BGCOLOR="#ffffff">
      <P>2.3</P>
    </TD>
    <TD WIDTH=7% BGCOLOR="#ffffff">
      <P>07-05-07</P>
    </TD>
  </TR>
  <TR VALIGN=TOP>
    <TD WIDTH=15% BGCOLOR="#ffffff">
      <P><A HREF="http://specs.openoffice.org/writer/tables/Default_Table_Formatting.odt">New
      Default Table Formatting Behavior</A></P>
    </TD>
    <TD WIDTH=56% BGCOLOR="#ffffff">
      <P STYLE="border: none; padding: 0cm">Predefined character
      formatting inside tables is unwanted by the user as we have
      learned in OOo 2.0 usability studies. Furthermore the formatting,
      used in the paragraph were the table has been inserted, is
      expected to be used in the table as well.</P>
    </TD>
    <TD WIDTH=9% BGCOLOR="#ffffff">
      <P><A HREF="mailto:frank.loehmann@sun.com">Frank Loehmann</A></P>
    </TD>
    <TD WIDTH=8% BGCOLOR="#ffffff">
      <P>Standard</P>
    </TD>
    <TD WIDTH=5% BGCOLOR="#ffffff">
      <P>2.3</P>
    </TD>
    <TD WIDTH=7% BGCOLOR="#ffffff">
      <P>04-24-07</P>
    </TD>
  </TR>
  <TR VALIGN=TOP>
    <TD WIDTH=15% BGCOLOR="#ffffff">
      <P><A HREF="http://specs.openoffice.org/writer/selection_enhancement/Block_Selection_of_Text">Block
      Selection of Text</A></P>
    </TD>
    <TD WIDTH=56% BGCOLOR="#ffffff">
      <P STYLE="border: none; padding: 0cm">The block selection feature
      adds an additional selection mode to Writer. When this selection
      mode is active, the text inside a rectangular selection gets multi
      selected by Writer. This is useful i.e. if an OCRed text has to be
      further edited.</P>
    </TD>
    <TD WIDTH=9% BGCOLOR="#ffffff">
      <P><A HREF="mailto:frank.loehmann@sun.com">Frank Loehmann</A></P>
    </TD>
    <TD WIDTH=8% BGCOLOR="#ffffff">
      <P>Standard</P>
    </TD>
    <TD WIDTH=5% BGCOLOR="#ffffff">
      <P>2.4</P>
    </TD>
    <TD WIDTH=7% BGCOLOR="#ffffff">
      <P>05-15-07</P>
    </TD>
  </TR>
  <TR VALIGN=TOP>
    <TD WIDTH=15% BGCOLOR="#ffffff">
      <P><A HREF="http://specs.openoffice.org/writer/SoftPageBreak/SoftPageBreak.odt">ODF1.1:
      Use of soft-page-break</A></P>
    </TD>
    <TD WIDTH=56% BGCOLOR="#ffffff">
      <P STYLE="border: none; padding: 0cm">The ODF 1.1 allows the
      export of soft page breaks. A soft page break is a page break that
      has been inserted by a page oriented processor like Writer at a
      position where the document itself does not include a page break
      (e.g. paragraph attribute page break before/after). The soft page
      break information is for the purposes of consistent page breaks
      and for proper conversion to digital talking book formats.</P>
    </TD>
    <TD WIDTH=9% BGCOLOR="#ffffff">
      <P><A HREF="mailto:Andreas.Martens@sun.com">Andreas Martens</A></P>
    </TD>
    <TD WIDTH=8% BGCOLOR="#ffffff">
      <P>Preliminary</P>
    </TD>
    <TD WIDTH=5% BGCOLOR="#ffffff">
      <P>2.3</P>
    </TD>
    <TD WIDTH=7% BGCOLOR="#ffffff">
      <P>07-04-2007</P>
    </TD>
  </TR>
  <TR>
    <TD COLSPAN=6 WIDTH=100% VALIGN=TOP BGCOLOR="#99ccff">
      <H4>Specifications for OpenOffice.org 2.4</H4>
    </TD>
  </TR>
  <TR VALIGN=TOP>
    <TD WIDTH=15% BGCOLOR="#ffffff">
      <P><A HREF="extensions/InsertPagination.odt">Insert Pagination</A></P>
    </TD>
    <TD WIDTH=56% BGCOLOR="#ffffff">
      <P>Providing a menu command to ease the interaction flow to insert
      page numbers for Writer documents.</P>
    </TD>
    <TD WIDTH=9% BGCOLOR="#ffffff">
      <P><A HREF="http://wiki.services.openoffice.org/wiki/User:Mmp">Matthias
      M&uuml;ller-Prove</A></P>
    </TD>
    <TD WIDTH=8% BGCOLOR="#ffffff">
      <P>Preliminary</P>
    </TD>
    <TD WIDTH=5% BGCOLOR="#ffffff">
      <P>2.4</P>
    </TD>
    <TD WIDTH=7% BGCOLOR="#ffffff">
      <P>31-Oct-207</P>
    </TD>
  </TR>
  <TR VALIGN=TOP>
    <TD WIDTH=15% BGCOLOR="#ffffff">
      <P><A HREF="http://specs.openoffice.org/writer/printing/Print_Hidden_Text.odt">ODF1.1:
      Printing of hidden text and placeholders.</A></P>
    </TD>
    <TD WIDTH=56% BGCOLOR="#ffffff">
      <P STYLE="border: none; padding: 0cm">In current versions
      OpenOffice.org Writer never prints hidden text. Therefore a new
      print option is introduced to allow printing of hidden text.
      Furthermore text placeholders are always printed out today.
      Therefore another print option is introduced to suppress printing
      of those placeholders.</P>
    </TD>
    <TD WIDTH=9% BGCOLOR="#ffffff">
      <P><A HREF="mailto:Andreas.Martens@sun.com">Frank Loehmann</A></P>
    </TD>
    <TD WIDTH=8% BGCOLOR="#ffffff">
      <P>Standard</P>
    </TD>
    <TD WIDTH=5% BGCOLOR="#ffffff">
      <P>2.4</P>
    </TD>
    <TD WIDTH=7% BGCOLOR="#ffffff">
      <P>2007-11-21</P>
    </TD>
  </TR>
  <TR>
    <TD COLSPAN=6 WIDTH=100% VALIGN=TOP BGCOLOR="#99ccff">
      <H4>Specifications for OpenOffice.org 3.0</H4>
    </TD>
  </TR>
  <TR VALIGN=TOP>
    <TD WIDTH=15% BGCOLOR="#ffffff">
      <P><A HREF="autoscrolling/AutoScrolling.sxw">Automatic Scrolling
      Behavior</A></P>
    </TD>
    <TD WIDTH=56% BGCOLOR="#ffffff">
      <P>OpenOffice.org 1.1 does not keep the speed of autoscrolling on
      a reasonable rate. Users that do drag&amp;drop or extended
      selections with the mouse easily overshoot the target position.
      This spec defines the regions where autoscrolling can be initiated
      and the speed of the scroll action.</P>
    </TD>
    <TD WIDTH=9% BGCOLOR="#ffffff">
      <P><A HREF="http://wiki.services.openoffice.org/wiki/User:Mmp">Matthias
      M&uuml;ller-Prove</A></P>
    </TD>
    <TD WIDTH=8% BGCOLOR="#ffffff">
      <P>draft</P>
    </TD>
    <TD WIDTH=5% BGCOLOR="#ffffff">
      <P><STRONG>3.0</STRONG></P>
    </TD>
    <TD WIDTH=7% BGCOLOR="#ffffff">
      <P>10/10/2003</P>
    </TD>
  </TR>
  <TR VALIGN=TOP>
    <TD WIDTH=15% BGCOLOR="#ffffff">
      <P><A HREF="http://specs.openoffice.org/writer/numbering/Direct_Cross_References_to_Headings_and_Numberings.odt">Direct
      cross references for headings and numbered paragraphs</A></P>
    </TD>
    <TD WIDTH=56% BGCOLOR="#ffffff">
      <P>Direct cross references allow you to set a reference to a
      heading or any other numbered item, without defining the reference
      target before.</P>
    </TD>
    <TD WIDTH=9% BGCOLOR="#ffffff">
      <P><A HREF="mailto:od@openoffice.org">Oliver-Rainer Wittmann</A></P>
    </TD>
    <TD WIDTH=8% BGCOLOR="#ffffff">
      <P>Preliminary</P>
    </TD>
    <TD WIDTH=5% BGCOLOR="#ffffff">
      <P>3.0</P>
    </TD>
    <TD WIDTH=7% BGCOLOR="#ffffff">
      <P>2007-02-16</P>
    </TD>
  </TR>
  <TR VALIGN=TOP>
    <TD WIDTH=15% BGCOLOR="#ffffff">
      <P><A HREF="http://specs.openoffice.org/writer/numbering/NewListLevelAttrs.odt">New
      position and space attributes for list levels of a list style </A>
      </P>
    </TD>
    <TD WIDTH=56% BGCOLOR="#ffffff">
      <P>Introduce new position and spacing attributes for the list
      levels of a list style in order to provide a new possibility to
      specify the position and spacing of the list label and the text
      lines of the list item itself.</P>
    </TD>
    <TD WIDTH=9% BGCOLOR="#ffffff">
      <P><A HREF="mailto:od@openoffice.org">Oliver-Rainer Wittmann</A></P>
    </TD>
    <TD WIDTH=8% BGCOLOR="#ffffff">
      <P>Preliminary</P>
    </TD>
    <TD WIDTH=5% BGCOLOR="#ffffff">
      <P>3.0</P>
    </TD>
    <TD WIDTH=7% BGCOLOR="#ffffff">
      <P>2008-01-29</P>
    </TD>
  </TR>
  <TR>
    <TD COLSPAN=6 WIDTH=100% VALIGN=TOP BGCOLOR="#99ccff">
      <H4>Specifications for OpenOffice.org 3.1</H4>
    </TD>
  </TR>
  <TR VALIGN=TOP>
    <TD WIDTH=15% BGCOLOR="#ffffff">
      <P><A HREF="menus/AcceptRejectChange.odt">Accept or Reject Changes
      in context menu</A></P>
    </TD>
    <TD WIDTH=56% BGCOLOR="#ffffff">
      <P>Makes it possible to accept and reject tracked changes via
      context menu.</P>
    </TD>
    <TD WIDTH=9% BGCOLOR="#ffffff">
      <P><A HREF="mailto:os@openoffice.org">Oliver Specht</A></P>
    </TD>
    <TD WIDTH=8% BGCOLOR="#ffffff">
      <P>Preliminary</P>
    </TD>
    <TD WIDTH=5% BGCOLOR="#ffffff">
      <P><STRONG>3.1</STRONG></P>
    </TD>
    <TD WIDTH=7% BGCOLOR="#ffffff">
      <P>2008-11-10</P>
    </TD>
  </TR>
  <TR VALIGN=TOP>
    <TD WIDTH=15% BGCOLOR="#ffffff">
      <P><A HREF="menus/Edit_Delete_Hyperlink.odt">Edit and delete
      hyperlink in context menu</A></P>
    </TD>
    <TD WIDTH=56% BGCOLOR="#ffffff">
      <P>Makes it possible to edit and delete hyperlinks via context
      menu.</P>
    </TD>
    <TD WIDTH=9% BGCOLOR="#ffffff">
      <P><A HREF="mailto:os@openoffice.org">Oliver Specht</A></P>
    </TD>
    <TD WIDTH=8% BGCOLOR="#ffffff">
      <P>Preliminary</P>
    </TD>
    <TD WIDTH=5% BGCOLOR="#ffffff">
      <P><STRONG>3.1</STRONG></P>
    </TD>
    <TD WIDTH=7% BGCOLOR="#ffffff">
      <P>2008-11-25</P>
    </TD>
  </TR>
  <TR VALIGN=TOP>
    <TD WIDTH=15% BGCOLOR="#ffffff">
      <P><A HREF="http://specs.openoffice.org/appwide/formatting/Overlined_Text.odt%20">Introduction
      of an overline font effect</A></P>
    </TD>
    <TD WIDTH=56% BGCOLOR="#ffffff">
      <P>Introduce a new font effect that draws a line above a selected
      character or group of characters. The line style and colour may be
      selected by the user, with the same options available as for the
      underline font effect.</P>
    </TD>
    <TD WIDTH=9% BGCOLOR="#ffffff">
      <P><A HREF="mailto:martinwhitaker@openoffice.org">Martin Whitaker
      (MTW)</A></P>
    </TD>
    <TD WIDTH=8% BGCOLOR="#ffffff">
      <P>Preliminary</P>
    </TD>
    <TD WIDTH=5% BGCOLOR="#ffffff">
      <P><STRONG>3.1</STRONG></P>
    </TD>
    <TD WIDTH=7% BGCOLOR="#ffffff">
      <P>2008-11-25</P>
    </TD>
  </TR>
        <TR>
                <TD COLSPAN=6 WIDTH=100% VALIGN=TOP BGCOLOR="#99ccff">
                        <H4>Specifications for OpenOffice.org 3.2</H4>
                </TD>
        </TR>
        <TR VALIGN=TOP>
                <TD WIDTH=15% BGCOLOR="#ffffff">
                        <P><A HREF="frames/AlternativeTextsForWriterObjects.odt">
        Alternative texts for Writer objects
                        </A></P>
                </TD>
                <TD WIDTH=56% BGCOLOR="#ffffff">
                        <P>
        Introduce support for ODF 1.1 title and description attributes of graphical shapes for Writer objects (frames, floating frames, OLE objects and pictures).
                        </P>
                </TD>
                <TD WIDTH=9% BGCOLOR="#ffffff">
                        <P><A HREF="mailto:od@openoffice.org">Oliver-Rainer Wittmann</A></P>
                </TD>
                <TD WIDTH=8% BGCOLOR="#ffffff">
                        <P>Preliminary</P>
                </TD>
                <TD WIDTH=5% BGCOLOR="#ffffff">
                        <P><STRONG>3.2</STRONG></P>
                </TD>
                <TD WIDTH=7% BGCOLOR="#ffffff">
                        <P>2009-08-12</P>
                </TD>
        </TR>
        <TR>
                <TD COLSPAN=6 WIDTH=100% VALIGN=TOP BGCOLOR="#99ccff">
                        <H4>Specifications for OpenOffice.org 3.x</H4>
                </TD>
        </TR>
        <TR VALIGN=TOP>
                <TD WIDTH=15% BGCOLOR="#ffffff">
                        <P><A HREF="numbering/ListLevel.odt">
                               Introduction of a List Level attribute for paragraph styles 
                        </A></P>
                </TD>
                <TD WIDTH=56% BGCOLOR="#ffffff">
                        <P>
                               Introduce a new paragraph style attribute, named List Level, to format a normal paragraph as a numbered paragraph with the indicated list level via its paragraph style's attributes. Import Microsoft Word document accurately that contains the list level value in its paragraph styles.
                        </P>
                </TD>
                <TD WIDTH=9% BGCOLOR="#ffffff">
                        <P><A HREF="mailto:gongxuan@cn.ibm.com">Xuan Gong</A></P>
                </TD>
                <TD WIDTH=8% BGCOLOR="#ffffff">
                        <P>Preliminary</P>
                </TD>
                <TD WIDTH=5% BGCOLOR="#ffffff">
                        <P><STRONG>3.x</STRONG></P>
                </TD>
                <TD WIDTH=7% BGCOLOR="#ffffff">
                        <P>2009-10-19</P>
                </TD>
        </TR>
</TABLE>
<P><BR><BR>
</P>
</BODY>
</HTML>
