| <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> |
| <html> |
| <head> |
| <title>XMerge Pocket Word Plugin</title> |
| |
| <meta http-equiv="content-type" |
| content="text/html; charset=ISO-8859-1"> |
| </head> |
| <body> |
| |
| <h1>XMerge Pocket Word Plugin</h1> |
| <br> |
| |
| <h2>Overview</h2> |
| <br> |
| The Pocket Word plugin converts text data between OpenOffice Writer |
| format and Pocket Word's binary file format. Specifically, it has |
| been targeted at the version of Pocket Word supplied with Windows CE |
| 3.0 handheld devices. The plugin has been tested with Pocket PC 2000 |
| and Pocket PC 2002.<br> |
| <br> |
| The following table outlines the supported features of the Pocket Word plugin:<br> |
| <br> |
| <table cellpadding="4" cellspacing="1" bgcolor="#f0f0f0" width="50%"> |
| <tbody> |
| <tr align="center"> |
| <th bgcolor="#00315a"><font color="#ffffff" |
| face="Arial, Helvetica" size="2"><b>Category</b></font></th> |
| <th bgcolor="#00315a"><font color="#ffffff" |
| face="Arial, Helvetica" size="2"><b>Feature</b></font></th> |
| <th bgcolor="#00315a" width="20%"><font color="#ffffff" |
| face="Arial, Helvetica" size="2"><b>Supported</b></font></th> |
| </tr> |
| <tr> |
| <td valign="top" bgcolor="#99ccff" align="center"> <font |
| color="#00315a" face="Arial, Helvetica" size="2"><b>Document Elements</b></font><br> |
| </td> |
| <td valign="top" bgcolor="#99ccff"><br> |
| </td> |
| <td width="20%" valign="top" bgcolor="#99ccff"><br> |
| </td> |
| </tr> |
| <tr> |
| <td valign="top"><br> |
| </td> |
| <td valign="top"><font face="Arial, Helvetica" size="2">Paragraphs<br> |
| </font> </td> |
| <td width="20%" valign="top"><font face="Arial, Helvetica" |
| size="2">yes<br> |
| </font> </td> |
| </tr> |
| <tr> |
| <td valign="top"><br> |
| </td> |
| <td valign="top"><font face="Arial, Helvetica" size="2">Styles<br> |
| </font> </td> |
| <td width="20%" valign="top"><font face="Arial, Helvetica" |
| size="2">no<br> |
| </font> </td> |
| </tr> |
| <tr> |
| <td valign="top"><br> |
| </td> |
| <td valign="top"><font face="Arial, Helvetica" size="2">Tables<br> |
| </font> </td> |
| <td width="20%" valign="top"><font face="Arial, Helvetica" |
| size="2">no<br> |
| </font> </td> |
| </tr> |
| <tr> |
| <td valign="top"><br> |
| </td> |
| <td valign="top"><font face="Arial, Helvetica" size="2">Lists<br> |
| </font> </td> |
| <td width="20%" valign="top"><font face="Arial, Helvetica" |
| size="2">yes<br> |
| </font> </td> |
| </tr> |
| <tr> |
| <td valign="top"><br> |
| </td> |
| <td valign="top"><font face="Arial, Helvetica" size="2">Images</font><br> |
| </td> |
| <td valign="top"><font face="Arial, Helvetica" size="2">no</font><br> |
| </td> |
| </tr> |
| <tr> |
| <td valign="top" bgcolor="#99ccff" align="center"><font |
| color="#00315a" face="Arial, Helvetica" size="2"><b>Formatting</b></font> |
| </td> |
| <td valign="top" bgcolor="#99ccff"><br> |
| </td> |
| <td width="20%" valign="top" bgcolor="#99ccff"><br> |
| </td> |
| </tr> |
| <tr> |
| <td valign="top"><br> |
| </td> |
| <td valign="top"><font face="Arial, Helvetica" size="2">Font<br> |
| </font> </td> |
| <td width="20%" valign="top"><font face="Arial, Helvetica" |
| size="2">no<br> |
| </font> </td> |
| </tr> |
| <tr> |
| <td valign="top"><br> |
| </td> |
| <td valign="top"><font face="Arial, Helvetica" size="2">Bold, Italic, |
| Underline</font></td> |
| <td width="20%" valign="top"><font face="Arial, Helvetica" |
| size="2">yes<br> |
| </font> </td> |
| </tr> |
| <tr> |
| <td valign="top"><br> |
| </td> |
| <td valign="top"><font face="Arial, Helvetica" size="2">Strikethrough, |
| Highlight</font><br> |
| </td> |
| <td valign="top"><font face="Arial, Helvetica" size="2">yes</font><br> |
| </td> |
| </tr> |
| <tr> |
| <td valign="top"><br> |
| </td> |
| <td valign="top"><font face="Arial, Helvetica" size="2">Colour<br> |
| </font> </td> |
| <td width="20%" valign="top"><font face="Arial, Helvetica" |
| size="2">yes<br> |
| </font> </td> |
| </tr> |
| <tr> |
| <td valign="top"><br> |
| </td> |
| <td valign="top"><font face="Arial, Helvetica" size="2">Alignment<br> |
| </font> </td> |
| <td width="20%" valign="top"><font face="Arial, Helvetica" |
| size="2">yes</font></td> |
| </tr> |
| <tr> |
| <td valign="top"><br> |
| </td> |
| <td valign="top"><font face="Arial, Helvetica" size="2">Indentation</font><br> |
| </td> |
| <td valign="top"><font face="Arial, Helvetica" size="2">no</font><br> |
| </td> |
| </tr> |
| </tbody> |
| </table> |
| <br> |
| <br> |
| |
| <h2>Using the Pocket Word plugin</h2> |
| <br> |
| The Pocket Word plugin is invoked in the same manner as all other |
| XMerge plugins. Once the framework has been made aware of the plugin, |
| the only thing needed to use it is to specify its MIME type as a source |
| or destination type for conversion. The MIME type is specified in |
| the <code>converter.xml</code> file included in the <code>pocketword.jar</code> |
| file. Currently, this is set to <code>application/x-pocket-word</code> |
| .<br> |
| <br> |
| For example, to use the Pocket Word plugin in conjunction with the |
| test driver supplied with the XMerge framework:<br> |
| <br> |
| |
| <blockquote> |
| <pre>% java org.openoffice.xmerge.test.Driver -from staroffice/sxw -to application/x-pocket-word Test.sxw<br><br>% java.org.openoffice.xmerge.test.Driver -from application/x-pocket-word -to staroffice/sxw Test.psw<br></pre> |
| </blockquote> |
| |
| <div align="left"><br> |
| |
| <h2>Features</h2> |
| The plugin currently supports conversion of most of the document formatting |
| features supported by Pocket Word (i.e. those which a user can create from |
| scratch in Pocket Word). The list of supported features currently |
| includes:<br> |
| <br> |
| |
| <table cellpadding="2" cellspacing="2" border="0" width="95%" |
| align="right"> |
| <tbody> |
| <tr> |
| <td valign="top"> |
| |
| <ul> |
| <li>Bold<br> |
| </li> |
| |
| </ul> |
| </td> |
| <td valign="top"> |
| |
| <ul> |
| <li>Highlight<br> |
| </li> |
| |
| </ul> |
| </td> |
| </tr> |
| <tr> |
| <td valign="top"> |
| |
| <ul> |
| <li>Italic<br> |
| </li> |
| |
| </ul> |
| </td> |
| <td valign="top"> |
| |
| <ul> |
| <li>Alignments<br> |
| </li> |
| |
| </ul> |
| </td> |
| </tr> |
| <tr> |
| <td valign="top"> |
| |
| <ul> |
| <li>Underline<br> |
| </li> |
| |
| </ul> |
| </td> |
| <td valign="top"> |
| |
| <ul> |
| <li>Bulleting <br> |
| </li> |
| |
| </ul> |
| </td> |
| </tr> |
| <tr> |
| <td valign="top"> |
| |
| <ul> |
| <li>Strikethrough<br> |
| </li> |
| |
| </ul> |
| </td> |
| <td valign="top"> |
| |
| <ul> |
| <li>Colour<br> |
| </li> |
| |
| </ul> |
| </td> |
| </tr> |
| |
| </tbody> |
| </table> |
| |
| <blockquote><br> |
| </blockquote> |
| <br> |
| <br> |
| <br> |
| <br> |
| <br> |
| <br> |
| <br> |
| <br> |
| <br> |
| The following screenshots show some Writer files converted into Pocket |
| Word documents:<br> |
| <br> |
| <br> |
| <br> |
| |
| <div align="center"><img src="images/conversion-sxw.jpg" |
| alt="Image showing formatted StarWriter file." width="801" height="426" |
| border="1"> |
| <br> |
| <br> |
| <br> |
| |
| <div align="left"><br> |
| <br> |
| |
| <table cellpadding="2" cellspacing="2" border="0" width="100%"> |
| <tbody> |
| <tr> |
| <td valign="top" align="center"><img |
| src="images/conversion-ppc2k.jpg" alt="Pocket PC 2000 Screenshot" |
| width="240" height="320" border="1"> |
| <br> |
| </td> |
| <td valign="top" align="center"><img |
| src="images/conversion-ppc2002.jpg" alt="Pocket PC 2002 Screenshot" |
| width="240" height="320" border="1"> |
| <br> |
| </td> |
| </tr> |
| <tr> |
| <td valign="top" align="center"><i>Pocket PC 2000</i><br> |
| </td> |
| <td valign="top" align="center"><i>Pocket PC 2002</i><br> |
| </td> |
| </tr> |
| |
| </tbody> |
| </table> |
| <br> |
| <br> |
| <br> |
| </div> |
| |
| <div align="left"> |
| <h2>To Do</h2> |
| There are a few features of Pocket Word which are not handled by the |
| converter. Some of them relate to features of Pocket Word and some |
| relate to StarOffice features which have no mapping in the Pocket Word |
| application.<br> |
| <br> |
| |
| <h3>Fonts<br> |
| </h3> |
| <br> |
| The most significant missing feature is the use of fonts. Files |
| generated by Pocket Word store data about each on-screen line in a paragraph. |
| This data consists of the number of characters and the screen space |
| occupied by those characters. Calculating this from a Java based environment |
| is no easy task. <br> |
| <br> |
| Initial attempts to make use of the <code>java.awt.FontMetrics</code> |
| class were unsuccessful as the values returned do not correspond to values |
| returned with similar calls on a Pocket PC device. <br> |
| <br> |
| Tests with the ActiveSync supplied MS Word -> Pocket Word converter |
| show that there is some method of bypassing the requirement for these |
| line descriptors. That method, however, is not known.<br> |
| <br> |
| Finally, while Pocket Word supports TrueType/OpenType fonts, it has |
| only 4 default fonts. As a compensatory measure the plugin could |
| make use of the <code>style.xml</code> file within a Writer document to substitute |
| similar fonts, e.g. <i>Courier New</i> for monospace fonts, <i>Arial/Helvetica</i> |
| for sans serif fonts and <i>Times New Roman</i> for serif fonts. By |
| making use of the TrueType fonts distributed with the Java environment, |
| cross-platform availability is assured.<br> |
| <br> |
| |
| <h3>Other Features</h3> |
| Support for a number of other features could be added. These |
| include:<br> |
| <br> |
| |
| <ul> |
| <li>Tables</li> |
| <li>Images</li> |
| <li>Page margins</li> |
| |
| </ul> |
| <br> |
| |
| <h2>Building the plugin</h2> |
| The Pocket Word plugin is built as part of the XMerge framework. Its |
| classes are stored in <code>pocketword.jar</code>. See <a |
| href="../index.html#build">Building XMerge</a> for more instructions.<br> |
| </div> |
| |
| <div align="left"><br> |
| </div> |
| </div> |
| </div> |
| <br> |
| </body> |
| </html> |