blob: b2cdd8dfbe5f5c8dc727325085e4a2e8a11bab36 [file] [log] [blame]
<!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. &nbsp;Specifically, it has
been targeted at the version of Pocket Word supplied with Windows CE
3.0 handheld devices. &nbsp;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">&nbsp;<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. &nbsp; 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. &nbsp;The MIME type is specified in
the <code>converter.xml</code> file included in the <code>pocketword.jar</code>
file. &nbsp;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). &nbsp;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. &nbsp;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. &nbsp; Files
generated by Pocket Word store data about each on-screen line in a paragraph.
&nbsp;This data consists of the number of characters and the screen space
occupied by those characters. &nbsp;Calculating this from a Java based environment
is no easy task. &nbsp;<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. &nbsp;<br>
<br>
Tests with the ActiveSync supplied MS Word -&gt; Pocket Word converter
show that there is some method of bypassing the requirement for these
line descriptors. &nbsp;That method, however, is not known.<br>
<br>
Finally, while Pocket Word supports TrueType/OpenType fonts, it has
only 4 default fonts. &nbsp; 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. &nbsp;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. &nbsp;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. &nbsp;Its
classes are stored in <code>pocketword.jar</code>. &nbsp;See <a
href="../index.html#build">Building XMerge</a> for more instructions.<br>
</div>
<div align="left"><br>
</div>
</div>
</div>
<br>
</body>
</html>