Changes for distribution 1.05
-----------------------------
-----------------------------
the RTF reader:
unsigned chars are no longer used in the reader since the RTF specification
implies a 7-bit character set. I was not sure about that before so used
unsigned characters to be safe. The "get character" function still checks
input characters, and panics if an 8-bit character is seen.
Fixed bug in _RTFToken() where, if a control word was delimited by a space,
the space was left at the end of rtfTextBuf.
Color values in color table entries are -1 if the values were not specified
for the entry. That means the default color should be used. In earlier
versions, color 0 was assumed to be the default, but since any entry can
be left unspecified, including the entry for color 0, the default color
is left to the writer to decide.
Instead of ignoring \r and \<10>, and treating \n like \par, \r and \n
are ignored, and \<10> and \<13> are treated like \par.
The font table destination reader now recognizes old style font tables,
where entries in the table are not surrounded by braces.
Fixed the stylesheet reader to recognize \sbasedon and \snext explicitly
and use them to set the corresponding fields of RTFStyle structs accordingly,
which it didn't do previously. Worse, none of the elements of the style were
attached except the last. This means that style expansion was completely
broken in 1.04. (Real brain-o-matic programming. Duh. Blush.)
It also turns out that automatic style expansion (i.e., with no writer
intervention required) is the wrong thing to do (due to the circumstances
under which tabstops are overridden), so it's now up to the writer to
call RTFExpandStyle() explicitly. There is little loss in this since
style expansion was broken anyway.
RTFGetFont(), RTFGetColor() and RTFGetStyle() didn't work unless you
passed an argument of -1 or 0. Fixed.
RTFInit() can be called multiple times for translators that wish to
translate multiple files. Formerly the internal state that was built
up would not have been disposed of.
The reader now recognizes roughly 300 control symbols, or about twice as
many as before. Some of the #define'd constant names have changed: