<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
  <meta content="text/html;charset=ISO-8859-1" http-equiv="Content-Type">
  <title>OpenOffice.org 2.0
Marketing Materials</title>
  <meta content="John McCreesh" name="author">
</head>
<body>
<div align="right"> <small><a href="http://marketing.openoffice.org/">Back
to
index...</a></small>
</div>
<h3> OpenOffice.org 2.0 Marketing
Materials </h3>
Project: <strong>Marketing Project</strong><br>
<strong>Description:</strong>
OpenOffice.org 2 marketing materials in various formats.<br>
<br>
<table border="0" cellpadding="2" cellspacing="7" width="100%">
  <tbody>
    <tr bgcolor="#cfcfcf" valign="top">
      <td> Item </td>
      <td> Preview </td>
      <td> Info </td>
    </tr>
    <tr>
      <td> Product Flyer English
A3 </td>
      <td> <a
 href="http://www.openoffice.org/product/docs/ooo2prodflyera3en.pdf"><img
 src="ooo2prodflyera3en_thumb.gif" alt="Product Flyer (English) A3"
 border="2" height="171" width="246"><br>
      <small>(pdf format, 600kb)</small></a>
      </td>
      <td> <small><strong>Title:</strong>
OOo 2.0 Product Flyer<br>
      <strong>Market:</strong>
General<br>
      <strong>Synopsis:</strong>
Screenshots and features of main components; target markets and benefits<br>
      <strong>Usage:</strong>
Print in colour on A3 double-sided and fold to give a 4 page A4
booklet. Works well with the Product Spec. as an insert.<br>
      <strong>License:</strong>
PDL<br>
      <strong>Language:</strong>
English<br>
      <strong>Project:</strong>
Marketing<br>
      <strong>Comments:</strong>
Source files are available here:<br>
      <a href="ooo2prodflyera3en.odt">ooo2prodflyera3en.odt</a><br>
      <strong>Issue:</strong>
      <a href="http://qa.openoffice.org/issues/show_bug.cgi?id=47686">47686</a></small>
      </td>
    </tr>
    <tr>
      <td colspan="3" bgcolor="#cfcfcf" height="1"></td>
    </tr>
    <tr>
      <td> Product Flyer English
A4 </td>
      <td> <a
 href="http://www.openoffice.org/product/docs/ooo2prodflyera4en.pdf"><img
 src="ooo2prodflyera4en_thumb.gif" alt="Product Flyer (English) A4"
 border="1" height="171" width="120"><br>
      <small>(pdf format, 600kb)</small></a>
      </td>
      <td> <small><strong>Title:</strong>
OOo 2.0 Product Flyer<br>
      <strong>Market:</strong>
General<br>
      <strong>Synopsis:</strong>
Screenshots and features of main components; target markets and benefits<br>
      <strong>Usage:</strong>
Print in colour on 4 pages A4.<br>
      <strong>License:</strong>
PDL<br>
      <strong>Language:</strong>
English<br>
      <strong>Project:</strong>
Marketing<br>
      <strong>Comments:</strong>
Source files are available here:<br>
      <a href="ooo2prodflyera4en.odt">ooo2prodflyera4en.odt</a><br>
      <strong>Issue:</strong>
      <a href="http://qa.openoffice.org/issues/show_bug.cgi?id=47686">47686</a></small>
      </td>
    </tr>
    <tr>
      <td colspan="3" bgcolor="#cfcfcf" height="1"></td>
    </tr>
    <tr>
      <td> Product Flyer
Translator's Kit </td>
      <td> &nbsp; </td>
      <td> <small><strong>Title:</strong>
OOo 2.0 Product Flyer Translator's Kit<br>
      <strong>Market:</strong>
General<br>
      <strong>Synopsis:</strong>
Source code for screenshots used in the Product Flyer<br>
      <strong>Usage:</strong>
Enables translators to produce screenshots in local languages.<br>
      <strong>License:</strong>
PDL<br>
      <strong>Language:</strong>
English<br>
      <strong>Project:</strong>
Marketing<br>
      <strong>Comments:</strong>
Source files are available here:<br>
      <a href="translators_kit.tgz">translators_kit.tgz</a><br>
      </small></td>
    </tr>
    <tr>
      <td colspan="3" bgcolor="#cfcfcf" height="1"></td>
    </tr>
    <tr>
      <td> Product Specification
English A4 </td>
      <td> <a
 href="http://www.openoffice.org/product/docs/ooo2prodspeca4en.pdf"><img
 style="border: 2px solid ; width: 120px; height: 171px;"
 src="ooo2prodspeca4en_thumb.gif" alt="Product Flyer (English) A4"><br>
      <small>(pdf format, 90kb)</small></a>
      </td>
      <td> <small><strong>Title:</strong>
OOo 2.0 Product Specification<br>
      <strong>Market:</strong>
General<br>
      <strong>Synopsis:</strong>
List of major product features by components plus what's new in OOo
2.0. Can be used as an insert with the A3 Product Flyer<br>
      <strong>Usage:</strong>
Print in colour on 2 pages A4.<br>
      <strong>License:</strong>
PDL<br>
      <strong>Language:</strong>
English<br>
      <strong>Project:</strong>
Marketing<br>
      <strong>Comments:</strong>
Source files are available here:<br>
      <a href="ooo2prodspeca4en.odt">ooo2prodspeca4en.odt</a><br>
      <strong>Issue:</strong>
      <a href="http://qa.openoffice.org/issues/show_bug.cgi?id=47476">47476</a></small>
      </td>
    </tr>
    <tr>
      <td colspan="3" bgcolor="#cfcfcf" height="1"></td>
    </tr>
    <tr>
      <td> Product Presentation
English </td>
      <td> <a href="ooo2prodintroen/index"><img
 style="border: 2px solid ; width: 227px; height: 170px;"
 src="ooo2prodintroen_thumb.gif" alt="Product Presentation (English)"><br>
      <small>(view on-screen
in
new browser
window)</small></a>
      </td>
      <td> <small><strong>Title:</strong>
OOo 2.0 Product Presentation<br>
      <strong>Market:</strong>
General<br>
      <strong>Synopsis:</strong>
List of major product features and screenshots by component with
on-screen navigation buttons.<br>
      <strong>Usage:</strong>
Pages are formatted for screen presentations.<br>
      <strong>License:</strong>
PDL<br>
      <strong>Language:</strong>
English<br>
      <strong>Project:</strong>
Marketing<br>
      <strong>Comments:</strong>
Source files are available here:<br>
      <a href="ooo2prodintroen.odp">ooo2prodintroen.odp</a><br>
      <strong>Issue:</strong>&nbsp;<a
 href="http://qa.openoffice.org/issues/show_bug.cgi?id=53340">53340</a></small>
      </td>
    </tr>
    <tr>
      <td colspan="3" bgcolor="#cfcfcf" height="1"></td>
    </tr>
  </tbody>
</table>
<p>New translations are always
welcome - please upload with a covering note to the appropriate issue.</p>
</body>
</html>
