<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>Press Release OOo 2.2.0</title>
</head>

<body>
<h2>Press Release - OpenOffice.org 2.2 </h2>
<p>29 March 13:00 UTC </p>
<p>&nbsp;</p>
<p>The OpenOffice.org Community announce the release of OpenOffice.org 2.2, 
  the latest version of the leading open-source office suite. With 
  upgrades to its word processor, spreadsheet, presentations, and database 
  software, the free software package provides a real alternative to 
  Microsoft's recently-released Office 2007 product - and an easier 
  upgrade path for existing Microsoft Office users. OpenOffice.org 2.2 also 
  protects users from newly discovered vulnerabilities, where users' PCs 
  could be open to attack if they opened documents from, or accessed web 
  sites set up by, malicious individuals.
</p>
<p>In version 2.2, users will immediately notice the improvement in the 
  quality of text display in all parts of OpenOffice.org. The reason for 
  this is that the previously optional support for kerning, a technique to 
  improve the appearance of text written in proportional fonts, has now been 
  enabled by default. OpenOffice.org's unique pdf export function has also 
  been enhanced with the addition of the optional creation of 
  bookmarks feature, and support for user-definable export of form fields.</p>
<p>While OpenOffice.org 2.1 functions well on Microsoft's Windows Vista, 
  version 2.2 makes use of some of the new cosmetic changes available in 
  Vista, the new file dialogues being an example. Apple Mac users will 
  notice a smaller download and a smaller installed size. The Apple Mac 
  Intel version has many stability improvements, and bug fixes ranging from 
  .ppt export to improved UNO connections. Version 2.2 now requires Mac OS X 
  10.4.x running X11.</p>
<p>Turning to some of the enhancements made to the individual components of 
  OpenOffice.org, the Calc spreadsheet has received additional 
  enhancements to its support for Microsoft file formats, including 
  improved support for Pivot Tables and some specialised trigonometric 
  functions. Base, the database component, has improved SQL editing 
  functionality as well as a new &quot;Queries within Queries&quot; feature. 
  Compatibility options for some database drivers, such as Oracle ODBC, have 
  been improved. Impress, the presentations component, offers 
  improvements in the handling of hidden slides which has been made more 
  intuitive.</p>
<p>It is important to remember that OpenOffice.org is not just a software 
  package, but is also a development and user community. One demonstration 
  of this is the ability of third party developers to create extensions in a 
  simple manner. Third party extensions can now be more closely 
  integrated and features have been added to dramatically simplify the 
  installation and updating of these. In addition, features have been added 
  to assist those participating in the translation and localisation of 
  OpenOffice.org.</p>
<p>In addition to being immediately available for download from the 
  traditional download servers, OpenOffice.org is also available from a 
  Peer-to-Peer (P2P) network. Alternatively, OpenOffice.org Community 
  Distributors supply the software on CD-ROM in many countries and native 
  language translations will be available from their relevant communities.</p>
<h4>About OpenOffice.org</h4>
<p>The OpenOffice.org Community is an international team of volunteer and 
  sponsored contributors who develop, support, and promote the leading 
  open-source office productivity suite, OpenOffice.orgÂ®. OpenOffice.org's 
  leading edge software technology (UNO) is also available for developers, 
  systems integrators, etc to use in OpenOffice.org extensions or in their 
  own applications.</p>
<p>OpenOffice.org supports the Open Document Format for Office Applications 
  (OpenDocument) OASIS Standard (ISO/IEC 26300) as well as legacy industry 
  file formats and is available on major computing platforms in over 70 
  languages. OpenOffice.org software is provided under the GNU Lesser 
  General Public Licence (LGPL) and may be used free of charge for any 
  purpose, private or commercial.</p>
<p>The OpenOffice.org Community acknowledges generous sponsorship from a 
  number of companies, including Sun Microsystems, the founding sponsor and 
  primary contributor.</p>
<h4>Links</h4>
<p>Official Press Release: <a href="http://www.prweb.com/releases/2007/03/prweb508436.htm">http://www.prweb.com/releases/2007/03/prweb508436.htm</a></p>
<p>OpenOffice.org 2.2 may be downloaded free of charge from 
  <a href="/download/">/download/</a></p>
<p>The OpenOffice.org Community can be found at <a href="//">//</a><br> 
  To 
  learn more about the Community see <a href="http://about.openoffice.org/">http://about.openoffice.org/</a><br> 
  The Native 
  Language Project is at 
<a href="/projects/native-lang.html">/projects/native-lang.html</a></p>
<h4>Further information about OpenOffice.org products</h4>
<p> * The OpenOffice.org office suite for users: 
  <a href="//product/">//product/</a>  <br>
  * OpenOffice.org Universal Network Objects (UNO) for developers: 
  <a href="http://udk.openoffice.org/">http://udk.openoffice.org/</a><br>  
  * OpenOffice.org Software Development Kit (SDK) for developers: 
  <a href="http://api.openoffice.org/">http://api.openoffice.org/</a></p>
<h4>Press Contacts</h4>
<p>Louis Suarez-Potts (UTC -04h00)<br>
  OpenOffice.org Community Manager<br>
  louis@openoffice.org<br>
  +1 (416) 625 3843</p>
<p>John McCreesh (UTC +01h00)<br>
  OpenOffice.org Marketing Project Lead<br>
  jpmcc@openoffice.org<br>
  +44 (0)7 810 278 540</p>
<p>Cristian Driga (UTC +02h00)<br>
  OpenOffice.org Marketing Project Co-Lead<br>
  cdriga@openoffice.org<br>
  +40 7887 000 60</p>
<h4>Worldwide Marketing Contacts</h4>
<p><a href="http://marketing.openoffice.org/contacts.html">http://marketing.openoffice.org/contacts.html</a></p>
</body>
</html>
