table api for wv

Caolan McNamara (Caolan.McNamara@ul.ie)
Mon, 20 Sep 1999 15:46:58 +0100 (IST)


Summary of mail:
Tables, announce html tuned api, request for comments from
abi developers as to their needs for a table api, changes to
wvParseStruct and friends for tables. exhaustive list of unimplemented
word constructs in wv api. Closing remarks.

Tables are a bit catchy in word 8, the number problem being that
there is no such thing as a table, just rows that happen to
be above eachother. This is annoying for a html conversion or
anything similiar so wv now does two passes over tables to
extract some overall information.

so for each table three entries in wvParseStruct are filled out on
first coming across a table,

wvGetFullTableInit is called on the behalf of wv users to
set cellbounds in the wvParseStruct, cellbounds is all the cell
boundaries munged into one, i.e.

-------------------------
| | |
-------------------------
| | | | | | |
-------------------------
| |
-------------------------
| | | |
-------------------------

becomes

| | | | | | | | |

which is perfect to figure out colspans for html

it also
sets
vmerges in wvParseStruct which is a two dim 1 to 1
mapping against cells to figure out how many rows each
spans, 0 means that the cell does not exist having being
spanned by the above cell.

and finally ps->intable is set when meeting a table, and unset
when finishing a table, but be careful with relying or
modifying that.

Ive added pointers in expand_data to point to these
structs, so abi might want to init these correctly to
eachother if they want to use them.

This table code only works for fullsaved files at the moment, and
fastsave will be on soon. So maybe the abi folk should have a think
about tables and see if they need any further api calls and so forth
to help making table importation easier. I suspect that I might not
be in a position to work on wv after the end of the year so now is
the time to sort out the macro details of the wv lib, id like to do
as much now as is possible to brush out in broad strokes all of the
necessary constructs that wv needs to output.

Text is done
lists are basically done
tables are being worked on
sections need to be sorted out (should be basically easy)
picture importation (and ole importation) needs to be sorted out as well.
the possibility of actual "styles" needs to be considered as well, as
does headers and footers, textboxes, fields , table of contents, tables
of just about anything, text and property revisions, asian font support,
right to left text, foot and end notes, document properties such as
a4 versus letter, multi columns, page numbering and restarting for different
sections, various column,page and so on breaks, macros (thats one that i
can't do :-) ), and finally the odd few wierd things like author, company
and other extraenous information that is of importance to many.

(and if anyone gets down to this part of the message ive snuck in
word 95 password protection as well in this release , it was far easier
than 97, and is quite crackable without a password if anyone was so
inclined, ive seen companies charging 40 dollars for that service !, gagh)

C.

Real Life: Caolan McNamara * Doing: MSc in HCI
Work: Caolan.McNamara@ul.ie * Phone: +353-86-8790257
URL: http://www.csn.ul.ie/~caolan * Sig: an oblique strategy
Destroy -nothing -the most important thing



This archive was generated by hypermail 1.03b2.