POW - RTF improvements

Robert Sievers (bob@abisource.com)
Mon, 08 Nov 1999 15:58:43 -0600

The RTF import code is falling behind.

This POW is a few days late, but it has finally arrived.

Early on, Peter Arnold did a lot of work to make sure AbiWord would
correctly handle import and export of RTF data. RTF is one of the baseline
file formats for word processors. Recently, AbiWord has added a number of
new features. Additionally, I have been beating on the RTF import
mechanism, and have identified a number of places where various problems
are arising.

So for this week's POW, we're looking for someone to help bring back the
one-to-one correspondence of AbiWord supported features and features
supported by RTF import. Specifically, the RTF importer will not correctly
handle a document which would require a text-indent property in AbiWord.

When you complete this POW, you will be able to create a document in
AbiWord with a text-indent. Save it as RTF, and be able to reopen it
without AbiWord crashing, which is the current behavior.

Specific steps for this dialog:
1. Take a look at /src/wp/impexp/xp/ie_exp_RTF.cpp. Get acquainted with
the RTF import mechanism and comfortable with the flow of data.

2. Create an RTF document containing a text-indent. To do so, you can open
abiword, type a word, and drag the bottom half of the ruler hourglass over
a half-inch. Save the document as RTF, and Voilla, you can't reopen it.
If you look at the RTF file, you will notice that the "fi-720\li720" text
is the piece which identifies the indent level and is causing the problem.

3. Your investiagation will briefly lead you out of the import only code.
Specifically, you will wind up fb_LineBreaker::_moveBackToFirstNonBlankData
What happens is that iTrailingBlank turns into something it shouldn't be.
Figure out why, and then apply the fix.

This may seem like a narrow POW, but it serves two very important purposes.
First, it helps get RTF back closer to "on par" with AbiWord features.
Second, it allows more people to get familiar with the RTF code. There are,
and will continue to be, more such problems as this lurking in that area of
code. With any luck, getting Peter Arnold some additional help in this
area will allow for the RTF code to stay in sync.

As always, we are here to help. Consider me your all around non-coding
technical dude. petera@intrinsica.co.uk has a lot of knowledge about the
RTF importer, and the mailing list at large knows a lot about the Abi



PS: For more background on the whole POW / ZAP / SHAZAM concept, see the
following introduction:


Robert Sievers
Open Source Evangelist

This archive was generated by hypermail 1.03b2.