home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 5 Edit / 05-Edit.zip / wvhtm064.zip / CHANGELOG next >
Text File  |  2000-09-13  |  104KB  |  1,944 lines

  1. Changes to 0.6.0
  2.     * Changed executable name from wvHtml to wvWare
  3.     * Added Mime display script (wvMime) (Martin Vermeer, Dom)
  4.     * Added Conversion Helper Scripts (wvHtml, wvLatex, wvCleanLatex,
  5.       wvPS, wvDVI, wvPDF) (Dom)
  6.     * Added CleanLaTeX output mode, more closely resembling hand-crafted
  7.       LaTeX (Martin)
  8.     * Use GLib (http://www.gtk.org) (Dom)
  9.     * Use Gnome Libole2 (http://www.gnome.org) (Dom, Jamie)
  10.     * New wvStream architecture (Jamie)
  11.     * Word 2 support! (Martin Vermeer)
  12.     * Code speedups and XP improvements (the Abiword team)
  13.     * Massive work started on an exporter (Dom)
  14.     * Move to wvware.sourceforge.net (Dom)
  15.     * New Maintainer: Dom Lachowicz (cinamod@hotmail.com)
  16.       |-> also getting lots of help from Martin Vermeer
  17.  
  18. Changes to to 0.5.44
  19.     * Seriously warped fastsaved table cell deleting licked
  20. Changes to to 0.5.43
  21.     * an improved wvLaTeX.xml by mv@liisa.pp.fi
  22.     * added some of the older 0x08 word 6 stuff to it.
  23.     * marvellous set of patches from brian.ewins@bt.com to do
  24.     a load of speedups. Including some chpx and papx page caching,
  25.     some replacement of unneeded byte by byte reads, and some
  26.     element by element copies. Plus a very spiffy token table lookup
  27.     scheme which speeds things up a lot.
  28.     * some fixes to parse the old word graphic file format, I cannot
  29.     use very much of it, but at least I don't crash on it anymore.
  30.     * added --dir option to wvHtml so that pictures can be placed in
  31.     a seperate directory
  32.     * removed some more unnecessary element by element copies
  33.     * found the lengths for word7 sprms of 111 112 and 113, but i
  34.     dont know what they do, nonetheless they are now defused and
  35.     made safe.
  36.     * make configure.in test for memcpy as well and use bcopy if
  37.     not
  38.     * define ssize_t in config.h if unistd.h is not available
  39.     * mem leaks removed
  40.     * made expat use the byteordering results for faster working,
  41.     will default correctly to nothing if this cannot be determined
  42.     due to cross compiling.
  43.     * implemented TIME field
  44.     * remove unnecessary expat subdirs
  45.     * title done in the correct charset
  46.     * implemented HYPERLINK field
  47.     * implemented PAGEREF field
  48.     * added bookmarks to wvParseStruct
  49.     * wmf files are decompressed and extracted correctly
  50.     * unicode in fields is support ok now again.
  51.     * field thing split into two parts, the command part and
  52.     the "argument", or last outputted text from the field part.
  53.     this allow hyperlinked fields to do the right thing, and for
  54.     unrecognized fields to output their original default contents.
  55.     * changed pap defaults to include correct widow/orphan defaults
  56.     * fixed sprm handling of tab stops
  57.     * added <no_rows/> and <no_cols/> to xml config, handy for html
  58.     and necessary for latex im told.
  59.     * added a lastcell entry which can be used to handle the last cell
  60.     in each row seperately, put lastcell.begin *before* cell.begin
  61.     and put lastcell.end *before* cell.end to use it, it is defined
  62.     the same way as cell
  63.     * moded percent sign back into config file, so that wvLaTeX.xml
  64.     can use /textpercent itself
  65.     * made my own changes to table handling in wvLaTeX.xml from 
  66.     discussion with David C Sterratt <dcs@cs.stir.ac.uk>
  67.     * added cellrelpagewidth to tokens which appears to work a 
  68.     charm with the latex conversion, cheers to David C Sterratt
  69.     for pointing pointing me on the way.
  70.     * added dop to wvParseStruct so abi can get default tab 
  71.     distance.
  72.     * remodeled the html entity lookup, and added the basics
  73.     of a latex entity lookup.
  74.     * removed the now unnecessary codepage 1252 html entity
  75.     lookup.
  76.     * I had left wvGetTC out of sync with the new WORD8 version
  77.     numbering
  78.     * horrific table supported munged in latex. latex people
  79.     should have a better suggestion to do what I want with them,
  80.     I *dont* want to hear the endless whining about form over
  81.     content, I still need to support tables that both vertically
  82.     merged cells, and horizontally merged cells together in
  83.     one table.
  84.     * dop reader takes account of the version for word 6/7 compatability
  85.     needs to be tested.
  86.     * allow latex or html or raw text conversion options from the config
  87.     file, this is not the same as charset, the latex option is pretty
  88.     empty at the moment, I will take submissions for it.
  89.     * wmf's are decompressed again, and dumped out to disk, so right
  90.     now you can manually use libwmf to convert them to gif.
  91.     * hdd should be hdr i reckon really.
  92.     * began to make some changes which will allow subdocuments to be
  93.     handled individually.
  94. ALL TODO
  95.     * extend escher to read the wierd.doc
  96.         extract background image for html
  97.         find the text id and return it so
  98.         as to find the break table for it
  99.         fiddle wvDecodeSimple to be able to handle
  100.         arbitrary subdocuments
  101.         stick each textid's range of text into a subdocument
  102.         handler which can be put in a html layer, extend to
  103.         handle headers and footers, and feed that to abiword.
  104.     
  105.     * more graphic checks, more escher records etc etc.
  106.     * promote old graphics into escher format.
  107.     * decompress wmf etc.
  108.     * get libwmf back into action and get picts together as well.
  109.  
  110.     * wvSetCharHandler(proc,NATIVE|UNICODE)
  111.     * attempt to remove completely empty para's with the IsEmpty code
  112.  
  113.     * Got to think of some way to keep the list stuff in sync with the margins 
  114.     of the enclosed paragraphs in html output.
  115.  
  116.     * need to add a color Auto thing that figures out what color goes against 
  117.     what fore or back ground.
  118.  
  119.     * put the default text and char stuff into one single "style", and then 
  120.     try and figure out a way to save arbitrary no of styles into some nice 
  121.     structure for later seaching and stylesheet implementation.
  122.  
  123.     * style overrides for each word style, example idea in wvHtml.xml
  124.  
  125.     * comment/footnote and endnote support.
  126.  
  127.     * fully implement tablelooks, the flags in particular, and maybe the 
  128.     colors for the bg should be farmed out to sperate config options rather
  129.     than piggy backing on the other colors, also why did one of the text
  130.     foregrounds not work on its own, while the others did, and is there
  131.     one of two cases where our grid will not handle every case ?
  132.  
  133.     * add another option for table width, i.e. tableabswidth.
  134.     * we need character formatting for the <li> itself, we can do this I 
  135.     suppose, but i'll hold off on that for a while.
  136.  
  137.     * fontface and size for char runs..
  138.  
  139.     * what about a collision between underline and revision added ? and also 
  140.     the strike and revision deleted ?, what if a mad user created his own 
  141.     collisions.  In the future there will be problems with links being broken 
  142.     by references, this is a similar problem.
  143.     * install cygwin thingy at home and test configure mechanism for searching 
  144.     and installing strcasecmp/rint.
  145.     * i figured out what the story is with ole embedded files, ill have to 
  146.     modify my ole code so as to be able in the future to parse embedded docs 
  147.     and splice them together, which could be a wee bit of a challenge.
  148.     * modify configure script so its possible to link against a different 
  149.     expat lib, or to disable it or something.
  150.  
  151.     * test that continous sections and endnotes at the end of section, and
  152.     other things like that do what i think they should do.
  153.     * placement of footnotes, what does "treat like endnotes" really mean ?
  154.     * make sure captions are alright, especially formatting.
  155.     * bits for anld are wrong
  156.     * bookmarks embedded in html tags break them, constructs such as e.g
  157.     <A href="stuff">stuf<a name="here">f</a></A> are being output even though
  158.     thats well wrong in html.
  159.     * convert the cross-referenced "above/below", into hyperlinked above and 
  160.     below.
  161.     * optional support for specifying special fonts, not recommended for use
  162.     on publishing for internet sites, but useful for internal use for those 
  163.     of you who have done the funky chicken dance with unix netscape to work 
  164.     with ms winding etc fonts or are using ie/netscape on windows.
  165.     * all the fields, document background colour.
  166.     * gnome canvas wysiwyg viewer, output to ps from this
  167.     * use incremental zlib functions to do decompressing rather than use mmap,
  168.     someone who doesnt have mmap on their system can send me a patch for this one
  169.     ;-)
  170.     * doesnt compile under neXt & needs to use gcc for hpux 10.20 ?
  171.     * put code thats in both simple and complex together.
  172.     * do an autoconf check for mman.h and dont do compression if not there.
  173.     * maybe someday we should use #pragme pack(1) if we are being compiled
  174.     with gcc under a little endian platform. That might gain a speed up ?
  175. Changes to to 0.5.42
  176.     * temporary bmp for older word6/7 document and legacy 
  177.     structures appears to be working.
  178.     * sprmCPicLocation was one too short for word6/7, strange.
  179.     * picf modified to use older word6/7 version as well.
  180.     * some modifications so that it can handle documents with 
  181.     incomplete bte tables. This is only in fullsave, because I
  182.     doubt the logic behind what ever program is creating them!
  183.     Its bloody insane, but im going to support it coz word can
  184.     do it.
  185.     * only put in the paraborders if we need them, makes the
  186.     html output smaller, and more importantly works around
  187.     a netscape bug where is para indent to the right is x, and
  188.     the first line indent to the left is x, and there is a border
  189.     (even if of type none!) then the para is indented too far to
  190.     the left. This is bug 1524.43 Rules.doc
  191.     * supported 0x01 graphics ala broken/001-TETMEI.doc
  192.     0x01 graphics are making their way back in, and are looking
  193.     better than the old code already.
  194.     * fields can be embedded in each other, so the field
  195.     ignorer is now capable of realizing this.
  196.     * all 0x01 bitmap formats are looking good.
  197.     * some 0x08 bitmap formats are coming through correctly as well
  198.     * bug in Huge handling
  199. Changes to to 0.5.41
  200.     * attempting to support 8 bit russian cp1251 docs as well.
  201.     * there is an extra argument to the character handler, this
  202.     is the lid of the character. the Language identifier.
  203.     * made some changes to the build so that it will work build
  204.     correctly outside the source tree.
  205.     * added a small iconv implementation which follow the same syntax 
  206.     as the ordinary iconv. We *must* be able to convert from windows 
  207.     codepages into unicode, it doesnt matter about the reverse direction 
  208.     at all. If the native iconv can do this then we use that, if 
  209.     the native iconv cannot, or does not exist we use our own iconv
  210.     which can only handle a conversion from windows codepages into unicode,
  211.     * So currently we can always output in utf-8 from just about whatever
  212.     input charset word hits us with.
  213.     * removed the unnecessary symbolfont dir
  214.     * made some more mods so that we convert into 16bit unicode from
  215.     all the codepages, we also must convert from 16bit unicode into
  216.     all the current outputs such as tis and koi and iso-5589 and also
  217.     utf-8.
  218.     * I have had the wrong name for my own charset all along :-), a
  219.     bit dyslexic of me, iso-8859-15, NOT iso-5589-15 !
  220.     * change the charset all the way through the system to a string
  221.     so that we can use everything that works with a systems iconv.
  222.     * removed unnecessary paramater to wvOutputText
  223.     * hooked up all the output system through output, i.e. the
  224.     title gets printed the same way as the body text.
  225.     * changes to Makefiles to make it build outside of its own
  226.     dir.
  227. Changes to to 0.5.40
  228.     * took a patch from Mitch Davis <mjd@aus.hp.com> to change PAGESIZE to
  229.     WV_PAGESIZE, this define already exists under HPUX (oops), and modify
  230.     -I./ to -I. which supposedly makes a difference.
  231.     * output title in the same output charset as the rest of the document.
  232.     * inserted a hack to force lists to end before </td>, rather than
  233.     after the </td>
  234.     * made a fix to setting the chp istd correctly after an initialization
  235.     * the style 10 (Normal) is Generated first if possible, as other styles
  236.     (illegally i think) depend on it in the style generation code.
  237.     * tables and list were interacting badly with eachother to create invalid
  238.     html and incorrect numbering, fixed this.
  239.     * doubled up the alignment tag with div align as well as the style 
  240.     assignment as netscape is having problems with short paragraph alignment.
  241.     * made some changes so that the first list start no is always 1 rather 
  242.     than programmer 0 :-).
  243.     * add a <br> as a section break to wvHtml.xml, sometimes a heading
  244.     starts after a section break, but because of no <p> it ends up in a 
  245.     bad position.
  246.     * hacked in some sanity checks to swap between unicode and 8bit in the
  247.     stylesheet names, some mac docs are using 8bit names in word8 files.
  248.     * hacked in a mechanism to fake a section the size of the document if
  249.     there are no sections in the section listing, like there always is 
  250.     except for some strange mac word8 docs that I received.
  251.     * an attempt to make nfc's more like liststartnos so that sublists that
  252.     start > 1 levels below the last list entry have the correct nfc code.
  253.     * forced a paraend in html mode to close off any open lists
  254.     * I wasted a *lot* of time getting multilevel lists to do exactly
  255.     the right thing, and to get them html complient. I now submit that
  256.     the problem is really actually quite a toughy without scanning the
  257.     entire list before printing it (which i do do with tables ). The 
  258.     interpretation of html lists doesnt help the matter, its *close*
  259.     to what I want but just far enough away to be useless, i.e.
  260.  
  261.     This 
  262.     <ol>
  263.     <li>test
  264.     <ol>
  265.     <li>test
  266.     </li></ol>
  267.     </li>
  268.     <li>test
  269.     </li>
  270.     </ol>
  271.     gives 
  272.     1 test
  273.         1 test
  274.     2 test
  275.  
  276.     and this gives    
  277.  
  278.     <ol>
  279.     <li>
  280.         <ol>
  281.         <li>test
  282.         </li></ol>
  283.     </li>
  284.     <li>test
  285.     </li>
  286.     </ol>
  287.     1
  288.         1 test
  289.     2    test
  290.  
  291.     I reckon it should be
  292.         1 test
  293.     2 test
  294.  
  295.     What we are currently using is the incorrect
  296.  
  297.     <ol>
  298.     <ol>
  299.     <li>test
  300.     </li></ol>
  301.     <li>test
  302.     </li>
  303.     </ol>
  304.  
  305.     Which gives
  306.         1 test
  307.     1 test
  308.  
  309.     Which is not optimum but the best we can do without scanning through the entire list
  310.     before printing a single entry. Attempting to see if a list entry will ever be
  311.     used, and if not then bumping up the start value by 1. Noone will notice the
  312.     incorrect values for the most part. I may at a later date sidestep the issue by allowing
  313.     the list entries to be output as ordinary text and be damned with html list 
  314.     limitations.
  315.     * It became necessary to duplicate the paraending code for the end of a piece 
  316.     in the simple mode as well as complex. THe simple code is now almost exactly
  317.     the same as the complex, ah well.
  318.     * I believe I have correctly worked out how to determine when word 6 and 7 files use 
  319.     unicode characters.
  320. Changes to to 0.5.39
  321.     * made a new wvHtml conversion page, looks nice to me, online bug listing, 
  322.     its hardly a bugzilla bug it serves better for my needs.
  323.     * added placeholder.png and wvOnline.xml to cvs, neither of which are of
  324.     any real importance except for the interim.
  325.     * added <filename/> variable, handy for the online converter.
  326.     * added three sprms of (now) known length and unknown purpose to word7
  327.     sprm list.
  328.     * NONE of the word documents that I have (4747 of them, 556Megs) now crash
  329.     with the current version, this is not to say there there are not serious
  330.     crashable bugs, or that the output is sane, just that it is now quite
  331.     reliable.
  332.     * versioning enum extended and renumbered to handle all word formats in
  333.     the future, hardcoded 0 and 1 changed to WORD8 and WORD6.
  334.     * finally hacked in preliminary stylesheet code to get the dependancies
  335.     in the correct order, its a bit crufty (!), but it does the trick for
  336.     now.
  337. Changes to to 0.5.38
  338.     * added the symbol mapping to unicode as best as I could, I made one or two 
  339.     mods from the proper unicode so as to get a few more to work with the 
  340.     current generation of web browsers. very bad behaviour I know and the sort 
  341.     of stuff that got the world into this mess, but at least you can recompile 
  342.     wv at a later to date to fix it, replace the commented out bits of symbol.c 
  343.     to do it.
  344.     * added messages for conversion table request for special fonts (the spawn 
  345.     of the devil as far as I am concerned).
  346.     * added a character property end and start at the beginning of a new 
  347.     paragraph, this is necessary in many cases, funny i never noticed it before
  348.     * figured out some rules to handle placement of graphics, abandoned 
  349.     stylesheet placement as netscape is too much of a mess to be of any use 
  350.     there, and thats the target audience.
  351.     * the CHP code didnt work for word 7 and 8 sprms, this ironically means 
  352.     that rather than falling through the default case and being ignored, each 
  353.     chp sprm is now parsed leading to certainly more crashes and bugs as we 
  354.     find differences one by one between word 8 and the previous versions 
  355.     character property sprms.  * fixed sprmCSymbol for pre word 8, there might 
  356.     be problems with fonts not named "Symbol", like wingdings.
  357.     * due to serious oddities I have added a TABLEOVERRIDES option in 
  358.     wvHtml.xml which allows the margins before and after and paragraph, and the 
  359.     first line indent to be turned off inside tables, as having them on creates 
  360.     a real mess in netscape, in the future when this ability is supported by 
  361.     browsers you can just remove tableoverrides and ta-da all will work fine.
  362.     * fixed table row scanner bug
  363.     * fix for last para scan in complex mode
  364.     * make mods to table.c to allow cells within 3 units of eachother be 
  365.     considered the same.
  366.     * hmm, added a workaround for missing the beginning of a para in complex 
  367.     mode under certain conditions.
  368.     * some incredible hackery to differciate between 16 and 8 bit character 
  369.     modes in word 95 and 6, real dodgy stuff, but its working so far. Though 
  370.     its certainly a point of failure in the future.
  371.     * fix for table colspan mistakes
  372.     * modified sprmTTableBorder to work with the smaller word 6 BRC's, also 
  373.     fixed bug where I thought the sprm was variable
  374.     * had to fix sprmTTableBorder again, because it *is* variable under word 8 
  375.     despite the docs to the contrary !!, gagh.
  376.     * aaaargh!, wvGetLFOLVL and that wvInvalidLFOLVL has struck again, this
  377.     time I think I have it sorted out once and for all (but i bet not), this
  378.     new layout fixes quite a number of crashes.
  379.     * incredibly hard to find overflow in U8 in wvGetPAPX, silly me, must
  380.     really pay more attention to these things, you tend to forget that U8 are
  381.     a really small type, left to my own devices i'd use int, but for this
  382.     program I slavishly follow the types in the spec, and overlook the 
  383.     workarounds that are obvious in the struct definitions for PAPX.
  384.     * fixed the rather ugly empty paragraph skipping code to only go to the
  385.     next cell when a para level check is done.
  386.     Im having terrible problems with sprmDefTableShd, it always follows
  387.     sprmDefTable, and there is something wrong with Shd, maybe its me, maybe
  388.     its word. Either way im working around the problem.
  389.     * I had broken the word97 decryption, fixed again.
  390.     * cleaned things up to create a version enum and associated obvious names
  391.     with the versions so that its more obvious to read and more extendable,
  392.     encryption is marked in the version by the base version ored with 0x8000.
  393.     * some mods to the old list conversion to new list format, removes at 
  394.     least one crash and might solve others, possibly not a full solution.
  395.     * added html names for umlautte characters.
  396.     * found a sprm 0x6646 which appears to be 0x6645 HugePAPX where the papx
  397.     is stored in the data stream, it only occurs for PAP's and only for FKP
  398.     papx's. Nonetheless it has requireed the addition of a data file stream
  399.     argument to many sprm related functions, nearly always NULL except for
  400.     fkp PAP papx's.
  401.     * sprmPHugePapx implemented, another nasty bug fixed because of this
  402.     impementation. 
  403. Changes to to 0.5.37
  404.     * para indentation, first line indentation, top bottom left and right 
  405.     margins
  406.     * border code started, mountain of tags included.
  407.     * border color added for paragraphs
  408.     * we can handle individual sides to the border rather than just taking the 
  409.     top for all sides.
  410.     * supporting brcBetween required that we repeat the table style lookahead
  411.     for brc's as well, this is very annoying, and seeing as netscape doesnt even allow
  412.     margin support correctly I hate putting it in as noone can use it, makes me feel
  413.     more complete to support it myself though, maybe mozilla will sort this out.
  414. Changes to to 0.5.36
  415.     * mem leaks plugged, word 6 and 7 section sprms added correctly.
  416.     * crushed a few out by ones, twos and threes :-), flattened a few
  417.     more pesky buglets and leaks.
  418.     * purify now reports no problems of any kind with any of the examples
  419.     and feature-examples.
  420.     * modified simple and complex saves to only do the *main* body text,
  421.     no comment and footnotes etc being put in when they shouldnt.
  422.     * made some headway into understanding undocumented version 
  423.     information. Theres 22 ununderstood bytes per version.
  424.     * added wvSetSpecialCharHandler, special chars now have their own
  425.     seperate callback which feeds you the char and the associated CHP,
  426.     this might require some more work.
  427.     * doh !, made silly mistake with ending the doc at the ccpText limit.
  428.     * added wvGetGrpXst converts strings groups to nice STTBF's
  429.     * added wvGetBKL_PLCF
  430.     * implemented the COMMENT BEGIN and END, and applied it to the "simple code",
  431.     the actual comment itself and so on is part of the subdocuments which are
  432.     not implemented yet, but will be soon.
  433.     * overlooked complex sep properties, added them in.
  434.     * added dirty tag to the elehandler, 1 means that the property might (more 
  435.     than likely it is) be modified from the original style as indicated by the 
  436.     istd, this is implemented in simple and complex for PAP,CHP and SEP.
  437. Changes to to 0.5.35
  438.     * tables.
  439.     * wvToggle was still in todo, it was fixed a while ago
  440.     * made decode_complex stsh into a ps->stsh, I obviously missed
  441.     it before, this is the problem with having both decode_complex and
  442.     decode_simple with unshared components, gagh!
  443.     * complex mode tables might even work now.
  444.     * table relative widths now in as well, percentage of screen, uses
  445.     the sep, so sep has been put into the expand_data struct, which needs
  446.     to be cleaned up, i propose putting chp pap and sep into wvParseStruct
  447.     rather than props, and making expand_data have a pointer to wvparsestruct 
  448.     * fixed section code begin and end crash.
  449.     * complex mode colspan and rowspan, and various support functions.
  450.     * wvHtml can find the config file on its own, and has a command line
  451.     option (-x) to find it.
  452.     * some fixes to wvConvert which I havnt looked at in a while, so as
  453.     to get it to work, and to include the password and other changes that
  454.     made their way into wvHtml.
  455. Changes to to 0.5.34
  456.     * added cellwidth percentage as well to wvHtml.xml to make the cells the
  457.     same ratio width in html as in the original word.
  458.     * changed Dk Colors to Dark Colors in wvHtml.xml to get the right colors
  459.     * tested rowspan lots and lots on examples.
  460.     * tested colspan. 
  461.     * wow my god !, there can be either no tc's in sprmTDefTable, word 6 ones,
  462.     or word 8 ones, you have to work it out depending on the length of the 
  463.     parameter.
  464.     * small doc addition by Karl F. Larsen <k5di@totacc.com>
  465.     * tweaked wvCharBegin to ignore empty rowend paragraphs, squeaks us past
  466.     the html validation service :-)
  467.     * basic tablelooks implemented, and basic background color for cells
  468.     * changed a few more colours in wvHtml.xml to get ones that work in
  469.     netscape, must change them all to #?????? values.
  470.     * removed signal and wait stuff from configure
  471.     * added searching for wvHtml.xml, i also install it, so you can wrap 
  472.     this in a rpm and it will work fine for the average user.
  473. Changes to to 0.5.33
  474.     * tested row and col span with fullsave and fixed many
  475.     many bugs, sprmTDefTable is not as simple as it looks.
  476. Changes to to 0.5.32
  477.     * multilevel word6/95 lists appear to work fine, needs verification
  478.     * use new cellwidth thing in wvHtml, wvConvert and wvConfig
  479.     * colspan probably works in general at least
  480.     * AHA!!!!, sprmTDefTable contains some TC structs, *but* only 10 bytes
  481.     are allocated for each one, a word 8 TC is 20 bytes long, a word 6 TC
  482.     is 10 bytes long, so we can point out another location where word 8
  483.     is disconnected from its own spec completely, gagh!!!!
  484.     * completed rowspan support, now wvParseStruct and expand_data are
  485.     exceedingly messy, and theres a stack of static in wvConfig, it
  486.     might be a good idea to move them into one location and stuff this
  487.     pointers from the parsestruct to the expand_data struct nonsense
  488. Changes to to 0.5.31
  489.     * wvSummary bug fix.
  490.     * word 95 decrypting from the password added as well !, theres no
  491.     stopping me somedays :-). Though I have to verify that, as its a
  492.     bit messy and some bits of it might be unnecessary, and i have no
  493.     idea how nonenglish languages might affect it. And maybe its 
  494.     based on the percularities of one particular word95 program that
  495.     I have. Also it would be reasonably easy to make a password cracker
  496.     for word95 instead of requiring a password to be added in.
  497. Changes to to 0.5.30
  498.     * removed crypt dir and references to it.
  499.     * removed crypt from configure script
  500.     * made check so as not to close NULL FILE * in decrypt.c
  501.     * modified decrypt.c to be big endian safe, in this vein
  502.     and in an attempt to make it more readable I have used the
  503.     standard md5 code snarfed from the rfc instead of the
  504.     original md5 code, its all the same in function, just endian
  505.     safe.
  506.     * modified the SetPassword and password string promotion to
  507.     be a utf-8 to unicode conversion, this of course will only
  508.     work if the input, like an xterm, supports utf-8, in any
  509.     other case its exactly the same as an ascii to unicode, so
  510.     its the same as ever, except I feel a lot better at least
  511.     in theory supporting the full unicode suite.
  512. Changes to to 0.5.29
  513.     * NUMBER 1 CHANGE: we now have the ability to decrypt word 97 documents, yippee!!
  514.  
  515.     * more koi8.c changes from Sergey V. Udaltsov <svu@pop.convey.ru>
  516.     * removed all the lex rubbish, and took mswordview itself out of the default
  517.     Makefile dammit.
  518.     * some changes to semisupport word 95/6 lists, it does appear that word 95
  519.     lists are the exact same as word 6 lists.
  520.     * word 6 and 95 lists were different, and there is supposedly cases there the
  521.     word 97 can use word 6 style lists, though its supposedly unlikely.
  522.     * We have a problem with word6/95 lists, while we have the information about
  523.     each list entry, i cannot figure out how to tell if one particular entry
  524.     belongs to a particular list, i.e. I can quite happily pump out lists where
  525.     every entry is a seperate list consisting of a single entry, this is very
  526.     annoying. As a temporary measure I have done a checksum on the list information
  527.     and if the checksum is the same as another entry, then I assume that it is a
  528.     member of the same list, it works so far on very very simple lists, and I
  529.     imagine that it will explode when i investigate more complex word6/95 lists.
  530.     * now lists... 
  531.         lists come with number information and also with character formatting
  532.         which applies to the number text itself, and paragraph information
  533.         that applies to the paragraph that is the list entry itself. Every
  534.         list entry is a paragraph.
  535.  
  536.         So if we are not interested in the character properties of the
  537.         number text itself we can quite happily convert the list into
  538.         html with numbering correct and so on.
  539.  
  540.         If we want the char formatting of the number text we have to 
  541.         loose the html correctness of list handling.
  542.  
  543.         The other final case is those weird windows symbols that might be
  544.         used, we cannot do them in correct html, they must either use
  545.         the three symbols available to use, or just become bullets.
  546.  
  547.         We can apply the para stuff to the actual paragraph and some 
  548.         checking shows that a div is a valid element to put in a list
  549.         so thats what I have done
  550.     * with the word6 list problem, I have been unable in word95 to create
  551.     a list underneath another list with the exact same formatting without
  552.     putting a space between, I have also been unable to create a list
  553.     to continues from another list. In short I cannot create a list that
  554.     can break the admittedly insanely hacked mechanism I have devised to
  555.     leverage word6 lists into the word97 model used internally by the wv
  556.     library.
  557.     * some mods to make multilevel word6/95 lists work correctly, completely mad
  558.     stuff entirely, dragons be here and so on.
  559.     * minor change to summary.c to allow slightly dodgy but ok docs through the
  560.     system, happens with msword version 6.0.1 ( a mac version ?)
  561.     * explicit ul end ala ol end, if the para is the last para of the doc.
  562. Changes to to 0.5.28
  563.     * added sprmPNLvlAnm into sprm.c for compatibility with word6/95
  564.     * sorted out where there are two lists under each other at the same
  565.     level but of different types. 
  566.     * Now the list code has become very tied down to being html output, i
  567.     have been keeping things reasonably flexible with the config file, ah
  568.     well, its not a serious problem at all.
  569.     * well now interesting, supported-list-features.doc is now a very 
  570.     bloody awkware set of lists, and its encouraging to note that word97
  571.     makes a real mess out of it. While an argument can be made that there
  572.     should not be a seperate para for each <li> element, compare the 
  573.     word97 output against the wvHtml output. word97 restarts each of the
  574.     lists from scratch, hur hur.
  575.     * removed lex dependancies from the Makefile, and split some of the
  576.     olderstuff into temporary old* files, which will all be removed one
  577.     by one.
  578.     * make does not make mswordview by default, time to wean everyone off
  579.     that one.
  580.     * mswordview itself probably doesnt work anymore, use the stable 
  581.     version if you want this program
  582. Changes to to 0.5.27
  583.     * expanded the list info wvParseStruct to include all of the structures.
  584.     * made the stylesheet code safe, but its a fix until i do the out of 
  585.     sequence istd initalizing correctly.
  586.     * removed blank line from expat Makefile, Keith Wear <keith.wear@wcom.com>
  587.     * get list info extracted, make ul vs ol descision, get entry begin
  588.     * continued with lists, maybe change struct to include chp and pap simultaneously
  589.     as i might need it for the lists, extract start value for html, and number nfc
  590.     to use as well, for the case of symbols (nfc tells me i think ?) swap to ul
  591.     rather than ol, thus we need a reciprocol mechanism in the config file.
  592.     * lists look good, releaseing to the world
  593. Changes to to 0.5.26
  594.     * some checking showed that I had the wrong name for the koi encoding,
  595.     koi8-r is the correct name, and ive changed it to that.
  596.     * wvHtml dumps graphics, and wvGraphicConvert is a standlone little app
  597.     for hacking purposes to open up graphics to external hackers.
  598. Changes to to 0.5.25
  599.     * added date and author id to revisions, found bug in DTTM. added
  600.     wvDTTMtoUnix to dttm.c
  601.     * added animations to config file as blink (hur hur)
  602.     * i added (even though i have no idea what it is) DispFldRMark to everywhere
  603.     relevent.
  604.     * that basically completes everything in the chp that makes any kind of sense
  605.     in html except for font face and size.
  606.     * well seeing as the output passes the w3c validator test, the html output
  607.     be default announces this fact.
  608.     * added charset option to wvHtml, documented in new wvHtml.1 manpage
  609.     * added koi-8 from Sergey V. Udaltsov <svu@pop.convey.ru> and added
  610.     a howto in notes/internationalization/Charsets-HOWTO
  611.     * changed lists to be html 4 complient.
  612. Changes to to 0.5.24
  613.     * righteo, I made some (hopefully) final changes to fast saved handling, and
  614.     it looks a lot better now. Char attributes are correct, and the issue
  615.     of para begins and ends being missing from paras that begin in fastsave section
  616.     appears to be cleared up. There is still spurious character runs being created
  617.     in this location, but they appear within paragraph blocks, not outside them,
  618.     and they have no contents so they only create reduntant tags in the html output, 
  619.     or in the case of the lib makes it more inefficient. So its not 100% but its close
  620.     enough that it'll make absolutely not difference in the case of an abiword-like
  621.     app, and only someone looking at the source of the html output will make rude i
  622.     noises about how crap and ineffecient wv is because it outputs empty tags. So the
  623.     bottom line it that it is a known misfeature that in the case of fastsaved files 
  624.     that there is the duplication of empty char attributes in a small limited number 
  625.     of cases. If you really dislike this, then set options in msword to only create
  626.     fullsaved files, which you should do anyway, because thats the major reason your
  627.     word documents are so huge if you ever wondered about that, and its also a huge
  628.     security hole, e.g. if you edited a confidential document to remove the confidential
  629.     bits, then you can edit the doc with a hex editor and read all the deleted confidential
  630.     material !. At some stage i believe i might add a feature to show the original 
  631.     document that a fastsaved document was based on, it can sometimes scare you to
  632.     death. 
  633.     * my resetting char properties at a new para was slightly out, i wasn't fully
  634.     regenerating the exception run limits.
  635. Changes to to 0.5.23
  636.     * added RMarkDel & strike & outline to wvHtml support, handle empty tags 
  637.     correctly now as well.
  638.     * added lowercase, shadow,vanish, rmark,caps, outline and smallcaps to
  639.     wvHtml, though many are empty and caps,smallcaps and lowercase need
  640.     further code to actually do the deed
  641.     * added includedir to mkinstalldir list, coz of (Marko Rauhamaa) 
  642.     <marko@tekelec.com>
  643.     * the toggle (cases 128 and 129 for fBold and loads of others), works by
  644.     taking a look at the original style that the current one is based on. It
  645.     was until now not actually looking at the original one at all, but the
  646.     current one, thats fixed now.
  647.     * another one was that if we were based upon a char style we weren't
  648.     getting initalized correctly at all, this too is fixed.
  649.     * changes have also been made to sprmCMajority and sprmCMajority50 along
  650.     a similiar line. These three or 4 changes together make a huge difference
  651.     to the output. So this should clear up a *mountain* of mismatched output,
  652.     i'm so proud, the best way to track down these differences is to take a
  653.     fastsaved file and save it as fullsave and compare wv output for the
  654.     two.
  655.     * colour in html output.
  656.     * hmm, real real stupid thing in fastsaved mode where i was completely
  657.     fecking up the fcLim by changing it in a subfunc and then thinking that
  658.     it was the original and using it as that again!
  659. Changes to to 0.5.22
  660.     * new development release
  661. Changes to to 0.5.21
  662.     * fix for bad sprm handlers so font changes now occur.
  663.     * fix for having no summary stream in wvSummary.
  664.     * added protection support for istd out of sequence, we should in the
  665.     future handle them correctly
  666.     * added simple word95 file support, gets all text correctly and at least
  667.     pretends to get the paragraph properties, needs much much checking, i
  668.     treated them exactly the same as word6 and that appears to work reasonably
  669.     ok.
  670.     * I have added a sample import filter for abiword in the abi dir, basically
  671.     it's up to the abi folk to integrate that in at their leisure.
  672.     * added contents to sep.c anlv.c & olst.c 
  673.     * fixed the length of sprmTDefTable, solves some word6 crashes.
  674.     * finally noticed that the BRC is of a different len and layout with word 6
  675.     * note to self, the EatSprm only works for true word97 features, ones that d
  676.     in word6 and 95 have to implemented or things will crash, this is not a real
  677.     problem as all these sprms should be implemented one by one.
  678.     * found two TAP sprm's that differ from 6 to 8 and have updated.
  679.     * implemented sprmCLid which doesnt exist in word97 but does on older vers
  680.     * added ole code to viewer.
  681.     * the program named mswordview is depreciated, it still does far more than
  682.     wvHtml but this is a warning that wvHtml is the new html converter for
  683.     msword docs. wvConvert is a generic converter that currently defaults
  684.     to abiword xml so that i can examine a richer set of properties, I wonder
  685.     how generic i have actually made it, a tex converter would be nice
  686.     wouldn't it.
  687.     * wvHtml now uses html output so < & > will work now, i had overlooked
  688.     that aspect (whops), my focus was on other types of properties,
  689.     wvHtmlOutputChar might need more work, keep an eye on it.
  690.     * stuck a stack of structs that i havn't used yet into the header files,
  691.     and some implementations of readers that i might need someday :-)
  692.     * added char properties (Justin did all of this one, and good stuff it is too)
  693.     * merged together two vers
  694.     * finish SEP, and friends, added a mountain of structs, the remainer of
  695.     what was not already in the header file, and added some stub files for
  696.     them all.
  697.     * added simple file support for Section begins and ends, moved the
  698.     char handling code around a slight bit so as to be in a nice looking order
  699.     to me.
  700.     * continued sections in complex mode, brought my standalone abiword converter up
  701.     to speed with sections.
  702.     * implemented all of the SEP sprms, word 6 conflicts not fully checked yet.
  703.     * Jeff@abisource made it more portable by modifying the wvError/wvTrace macros
  704.     and putting in defs for rint and strcasecmp.
  705.     * purified sep code.
  706.     * fixed fastsaved chp init from pap istd (i think)
  707.     * fixed finding first para bounds with complex mode if the first para is a 
  708.     new fast saved chunk (i think)
  709.     * ffn sttbf was wrong for word95 & word6, is fixed now.
  710.     * Squashed one the bugs that was causing one of my annoying problems with 
  711.     complex files and incorrect para fcLims. This one was driving me completely mad,
  712.     i don't know if i have fixed it fully correct though, but i think so..
  713.     * changed laolareplace.old.c to put isprint test at the end.
  714.     * added bold and italic char prop handling to simple mode wvHtml
  715.     * added bold and italic char prop handling to complex mode wvHtml
  716. Changes to to 0.5.20
  717.     * the checking for end of a piece was all wrong, i was looking
  718.     at the beginning of the next piece for that information which while
  719.     always correct failed horribly in the case of the last piece.
  720.     * fixed some more bugs
  721.     * fixed wvConvertCPToFC ala end of piece.
  722.     * fixed text *after* the final para in simple mode related to above.
  723.     * fixed oversight in len of UPX stuff in stylesheet
  724.     * fixed some style eating problems.
  725.     * cleanup up some bits and pieces with pointers and styles.
  726.     * added strcasecmp check and inclusion route.
  727.     * more bigfixes throughout chp and friends.
  728.     * added a simple fib6 reader that reads into a fib8 struct.
  729.     * word 6 doesnt appear to have a sep table stream so we'll have to
  730.     look closely at that sort of thing.
  731.     * modified STSHI handler to allow word6, modified STD to allow word6
  732.     * put in a word6 to word8 sprm converter, might even work. we won't
  733.     know for quite a while, implemented for pap and chp.
  734.     * reran purify, reworked the binary tree code section for that real
  735.     complex chp sprm.
  736.     * made the complex pap search start with the current piece, rather 
  737.     than the next one. Seems to be the right approach.
  738.     * fixed a small offset problem in word 6 sprm translations.
  739.     * clx now can load in a word 6 complex piecetable (in theory anyway)
  740.     * identify word 7 files.
  741.     * word 6 thing appears shafted.
  742.     * prm complex option was the wrong way around !
  743.     * fixed all bugs that cause crashes on doc collection.
  744.     * word 6 had to have a seperate BX and fkp and so on for itself, but
  745.     now i believe fullsaved word6 files are as supported as word97 files.
  746.     * can extract raw text of fastsaved word 6 files..
  747.     * and now we can get the para properties of word 6 fast saved files 
  748.     (i think)
  749.     * basically brought fastsaved up to fullsave quality, though im not 100
  750.     happy with them.
  751.     * some more purify found problems.
  752.     * implemented chpx in stylesheet for word 6.
  753.     * did some nasty hackery to munge word 6 chp sprms in word 8 ones, appears
  754.     to work.
  755. Changes to to 0.5.19
  756.     * renamed libwv, and stuck in aviword cvs
  757.     * this version probably doesnt work, and almost certainly doesnt do
  758.     what it says on the tin, dont use this until i get to at least the next
  759.     version, this is basically a cvs test.
  760.     * use
  761.     ./configure --without-zlib --without-ttf --without-xpm --without-wmf --without-x
  762.     change gcc to g++ in Makefile
  763.     and make a libwv.a suitable for abiword, (yeah i know i know, but im working on it)
  764.     to get a simple -lwv
  765.     * whoppee, nearly working fine as an abiword filter..
  766.     * moved fib into the parsestruct, changed over existing programs to use
  767.     wvInitParse rather then handcode for each one.
  768.     * mad mods to make it compile cleanly under c++
  769.     * changed over the simple decodation to use the parsestruct and 
  770.     propugated the changes throughout the system
  771.     * right, use wvSetCharHandler to set what function will be called with
  772.     each character of document text.
  773.     * found my word 5 spec, which is a bit of a relief, coz i don't think i could
  774.     replace it if i lost it. Made a few copies of it, i need some good ocr software
  775.     though as i got it sent to me in scanned in tiff files !, and the original docs
  776.     were obviously a bit crumpled.
  777.     * we can now read the text of simple word files in abiword
  778.     * finalized paragraph element handling
  779.     * made wvConvert and wvHtml use new paragraph element handling
  780.     * got the plugin to do the same
  781.     * compiles fine with g++ as well, which is a bonus.
  782.     * created hook into the the charcode in wvOutputText for abiword, and
  783.     other lib users.
  784.     * created an abiword filter with what we have already, need the ability to 
  785.     register handlers for events and so on.
  786.     * got rid of most of the compile warnings
  787.     * we can do now do para props of complex files, though we have to
  788.     confirm this as its always a bit flaky (also in old mswordview btw)
  789. Changes to to 0.5.18
  790.     * made a release to show off the devel version to the abiword folk.
  791.     * modified xml code to unexpand < etc etc, so that i can defer
  792.     processessing of some of the tags until later, im probably making a 
  793.     complete arse of the whole thing, but at least it gives me something
  794.     to do, and keeps me out of trouble neh ?
  795.     * created a variable expansion mechanism using xml parser, seems ok.
  796.     * make wvHtml load up wvHtml.xml and confirm that document begin works
  797.     completely fine, and that the title is being expanded.
  798.     * do end as well
  799.     * attempt the paragraph stuff, and call wvHtml a basic wrap
  800.     * so now we can output simple files in very basic html with para noted
  801.     correcly, and the title supported, we can do the same for abiword with
  802.     document begin/end and para begin/end
  803.     * charset supported as well.
  804.     * variables (?!) are now <charset/> & <title/>
  805.     * right aligned some #defines
  806.     * finish adding version var, use purify to find problems with adding entries
  807.     to TT table (debug only i believe)
  808.     * modify justification so as to call wvExpand again to get the full string
  809.     * create an abiword config, got document start and finish and paragraph start 
  810.     and finish working as well.
  811.     * we can now output good html and abiword format docs with basic paragraph
  812.     alignment, yippee.
  813.     * converted most of the U8 name:s to U32 name:s (non critical), i never knew that 
  814.     using anything less that an int was not technically correct, well what d'ya
  815.     know, some other minor stylistic changes.
  816.     * wrote tiny stub of an abiword importer.
  817.     * modify OLEdecode to take a FILE * rather than a filename,
  818.     * standardized ret codes from OLEdecode.
  819.     * added an error explanation table.
  820.  
  821. Changes to to 0.5.17
  822.     * added clx.c, pcd.c, prm.c
  823.     * clx.c is the successor to piecetable.c,
  824.     * debuged clx
  825.     * added GetPHE,fkp.c,bte.c,bx.c
  826.     * debugged decode.c, all ok now. 
  827.     * paragraph begin and end marks now found for full saved files.
  828.     * added codepage-1252.c, iso-5589-15.c & text.c
  829.         if you want to add your own fontencoding conversion do...
  830.         1) add the language name to the charsets enum in wv.h
  831.         2) create a function like wvConvert1252Toiso8859_15 which converts
  832.         cp1252 into your language
  833.         3) add to text.c in wvOutputFromCP1252 an extra case statement to
  834.         call wvConvert1252To[YourEncoding] if outputtype == YourEncoding
  835.         4 create a function like U16 wvConvertUnicodeToiso8859_15 which
  836.         converts unicode into your language.
  837.         5) add to text.c in wvOutputFromUnicode an extra case statement to
  838.         call wvConvertUnicodeTo[YourEncoding] if outputtype == YourEncoding
  839.     Be warned that converting from unicode to your language, which is the most
  840.     likely scenario will only work out correctly if the unicode actually maps
  841.     to your charset, so obviously converting unicode that was japanese characters
  842.     into russian koi-8 is only go to give a page of ?, so watch out for that. Later
  843.     on i'll add in some ability to check the language.
  844.     * added wvSimpleCLX program which determines if a file is complex (fast-save)
  845.     or simple (full-save)
  846.     * basic character handling, converted windows "compressed unicode" into
  847.     html as far as possible.
  848.     * fixed size mistake in PCD PLCF.
  849.     * tested wvSimpleCLX on all word docs, made a mod or two to the ole code to
  850.     avoid segfaults identified by the test.
  851.     * moved decode to decode_simple
  852.     * added decode_complex
  853.     * debugged the decode_complex para begin code, and extended to find the para end,
  854.     though this might be a little wrong, but we'll see.
  855.     * added the wvText program, primarily for testing the new mechanisms, but it can
  856.     be a useful program in its own right to get the main document text from a word
  857.     document in its raw form, obviously its not going to handle tables and any kind
  858.     of complex word artifact, only the text in the correct order. Which considering
  859.     the whole complex file format question makes still makes it a very sophisticated
  860.     little program.
  861.     * wvSummary bugfix.
  862.     * debugged wvText so that it doesn't crash on any of the 3735 sample files.
  863.     * added ability to text code to remove field codes, and just output the previous
  864.     results of the fields.
  865.     * added some changes to the error output code, now use wvTrace to output debugging
  866.     messages, its a macro that will dissappear when compiled normally, unlike the old
  867.     sillier mechanism.
  868.     * changed the FKP code to pull in the total data
  869.     * created wvAssembleSimplePAP
  870.     * release the FKP on each cycle in the decode_simple
  871.     * fixed a few sprms from doc investigation that were wrong or dodgy in the
  872.     spec.
  873.     * stupid bug in EatSprm.
  874.     * debugged wvAssembleSimplePAP and FKP code for crashes.
  875.     * fixed bugs in sprm.c and numrm.c, changed a few constants to the cb equivalents.
  876.     * applied the PAPX to the PAP correctly (simple mode, i havent even tried complex yet).
  877.     * confirmed that code does the right thing, and gets the right properties for 
  878.     the simple pap.
  879.     * reran checks.
  880.     * create a test with wvHtml to output some of the interesting paragraph properties
  881.     in the correct place.
  882.     * added expat the xml parser to the tree, im going to use xml for my config file, which
  883.     may or maynot be a good idea, but seeing as my lex code created *such* problems on 
  884.     different implentations i'm well and truly sick of it, so im going to try xml instead.
  885.     * reran autoconf with the latest version
  886.     * wvConfig changes...
  887.     1) created a release for the config list table
  888.     2) malloced correctly
  889.     3) created an append for <title/>
  890.     4) pass the userData into wvConfig.c
  891.     5) convert main into orinary call
  892.     6) moved wvText to wvConvert, and make wvText a 
  893.     link
  894. Changes to to 0.5.16
  895.     * added anld.c, changed over from old ANLD to new ANLD. added wvGetANLD and 
  896.     wvGetANLDFromBucket.
  897.     * cleaned up bad chp entries. allowedfont removed, may cause problems in
  898.     the future.
  899.     * added some stylesheet definitions.
  900.     * trivally added version.c,and modified it to become wv rather than 
  901.     mswordview.
  902.     * added wvGetSTSHI,wvGetSTD,wvReleaseSTD,wvGetSTSH,wvReleaseSTSH
  903.     * short tests show that the new stylesheet code appears stable.
  904.     * added dcs.c, shd.c , numrm.c, asumy.c
  905.     * defined TAP, TLP, and TC and PAP
  906.     * added lspd.c,phe.c,tlp.c,tc.c,tap.c
  907.     * added InitPAP, and all dependancies, for istdNIL stylesheet.
  908.     * addded ANLV,OLST,SEP
  909.     * ive completed the new set of PAP sprm handlers and support, this
  910.     consists of wvGetSprmFromU16,wvEatSprm,wvApplySprmFromBucket,and a myriad
  911.     of wvApplysprm* functions, with the exception of one or two old sprms that
  912.     have no documentation, and the hugesprm, which ive left until i get an
  913.     example of it.
  914.     * added wvCopyCHP, & wvAddCHPXFromBucket, and most of CHP in sprm handling.
  915.     * added wvApplysprmCMajority + wvApplysprmCMajority50, but i really don't 
  916.     like the look of them, im very unsure as to whether or not they are right.
  917.     * finished CHP in sprm code
  918.     * confirmed correct para style basics, started into char style code.
  919.     * complex merged CHPX done, only found one trivial example so far, so uncertain
  920.     as to if it works.
  921.     * modified wvEatSprm to ret the len.
  922.     * modified wvEatSprm to handle the three special len cases in it as well.
  923.     * got wvReleaseSTSH to release its grupe's and sub components as well.
  924.     * temporarily nailed new stylesheet struct in as part of the old one, so that
  925.     i can experiment with the new one in conjunction with the old one.
  926. Changes to to 0.5.15
  927.     * made yet more changes to the configure script, maybe itll all be
  928.     in the right order now (hah i doubt it!)
  929.     * added wvWideStrToMB,wvGetFontnameFromCode
  930.     * added small patch from Barry D Benowitz <b.benowitz@telesciences.com>
  931.     who noted an uninitialized pointer.
  932.     * fixed a bug where a $ showing up in a title would shaft the whole thing.
  933.     * fixed the default value for the html font string, unlikely to have ever 
  934.     been noticed.
  935.     * a parser.lex and man page fix from garyjohn@spk.hp.com
  936.     * removed references to the ffn struct, and replace with the appropiate FFN 
  937.     ones.
  938.     * added fld.c, wvGetFLD, wvGetFLD_PLCF, wvWarning, wvFree.
  939.     * added wvGetDOP, wvGetDTTM , wvCreateDTTM,wvGetCOPTS,wvGetDOPTYPOGRAPHY,
  940.     wvGetDOGRID, wvGetASUMYI & dttm.c.
  941.     * modified dop.c with new interface.
  942.     * added wvGetSTTBF, wvGetBKF_PLCF,wvGetBKF, bkf.c, sttbf.c
  943.     * added xst.c,fspa.c. Modified wvWhichTableStream, added wvGetFSPA, 
  944.     wvGetFSPA_PLCF wvGetXst,wvFreeXst.
  945.     * correct STTBF handling, and sorted out decode_bookmarks ala new form.
  946.     * added lex problems to the install file/faq.
  947.     * added lfo.c, lst.c, lvl.c,wvGetLSTF,wvGetLSTF_PLCF,wvGetLVLF,wvGetLVL,
  948.     wvReleaseLVL wvGetLST,wvReleaseLST,wvGetLFO,wvGetLFO_PLF,wvGetLFOLVL,
  949.     wvGetLFO_records & wvReleaseLFO_records. Which are all to do with parsing 
  950.     lists, which is possibly the second most complex part of word documents 
  951.     to understand. (the first being fastsaved of course). 
  952.     * added wvSearchLST, began converting list code over to new cleaner "by 
  953.     the spec" code.  
  954.     * wvGetListInfo will probably be the workhorse function which will sort out
  955.     lists given a correct pap.
  956.     * added the slightly silly ordinal.c file along with nfc.c.
  957.     * changed references to mswordview.h to wv.h, to get the changeover moving.
  958.     * ok, i can currently get a lot of the simple list stuff correct the new 
  959.     way.
  960.     * most of the list string is now done, as is the nfc and starting position.
  961.     * added a another entry to the list stuff, to keep track of the current no
  962.     for the list entry, would work for at least simple lists.
  963.     * figured out how to correlate the appropiate lfolvl with the correct
  964.     lfo.
  965.     * i now use the linked character and paragraph properties linked to the list
  966.     text. 
  967.     * the new list code is now integrated into the code, but it still is new and
  968.     probably flaky. I'll do bug testing and so on and work that out in a short 
  969.     while.
  970. Changes to to 0.5.14
  971.     * i have to make changes to the configure script to link -lXpm in the
  972.     correct place.
  973.     * scream, i had to put back in part of the signal configure script, bear
  974.     with be, why does *everything* work on my machine but nowhere else :-), 
  975. Changes to to 0.5.13
  976.     * a mad person reports that it can be compiled under vms !, im awaiting
  977.     patches.
  978.     * changed doc version testing to the knowledge base article on the
  979.     matter.
  980.     * removed duplicate fib code from mswordview.c
  981.     * added wvGetEmpty_PLCF,wvGetFRD,wvGetFRD_PLCF.
  982.     * added wvGetFFN,wvGetFFN_STTBF,wvReleaseFFN_STTBF,wvGetFONTSIGNATURE &
  983.     wvGetPANOSE.
  984.     * removed the reinstall handlers from the configure script, that should
  985.     sort out the configure problems on some systems, irix in point.
  986. Changes to to 0.5.12
  987.     * patch from Cliff Miller <cbm@research.bell-labs.com> to
  988.     fix TTF_CFLAGS in configure and Makefile.
  989.     * small bug with ending tables. Seeing as you cant place text tags
  990.     like bold and italic between cell elements in html and expect them to
  991.     do the right thing, you have to do a little dance where character properties
  992.     are stopped and restarted for each character cell. I had forgotten to
  993.     reenable the ordinary nontable mechanism immediately after the end of the 
  994.     table.
  995. Changes to to 0.5.11
  996.     * we now extract the document title and display it
  997.     in the title field, using the default config.
  998.     * add bold and italic element handling, you can change these
  999.     html tags to you hearts content now.
  1000.     * I confirmed that $title works fine.
  1001.     * I ported over Somar Software's summaryinfo stream stuff, so
  1002.     now wvSummary can print the title and last saved date of an
  1003.     ole document according to the summaryinfo stream.
  1004.     * added bit shifting to awk script.
  1005.     * added warning for duplicate offset in script.
  1006.     * i have a spiffy logo.
  1007.     * added more stuff to the summary into thing, it might very
  1008.     well be complete, the previews of summary info are stored as
  1009.     a wmf file, so in conjunction with libwmf you can get all
  1010.     of this.
  1011.     * added a wv-incconfig and wv-libconfig and installed the
  1012.     appropiate include and lib files, so as to start making the
  1013.     process of using mswordview as a lib more possible. this
  1014.     still needs quite a bit of work.
  1015.     * allowed optional sections in element string, use [] for them.
  1016.     * worked font config into the main code.
  1017.     * bw wanted and got ...
  1018.         1 $title fix
  1019.         2 element support (bold&italic&font)
  1020.         3 --configfile switch
  1021.     * fixed an amazingly stupid bug that crept in with the introduction
  1022.     of wvGetFIB.
  1023.     * noticed that new doc start code wasnt occuring in fastsaved files.
  1024.     * aaaaaagh!!!, i had forgotten to munge the wierd long offsets into
  1025.     their correct halved form, no wonder so much wierdness crept into
  1026.     fast saved files, its amazing how well it worked nonetheless, this
  1027.     should at the least make parsing fastsaved files with tables much
  1028.     shorter!.
  1029. Changes to to 0.5.10
  1030.     * added document header and footers to the config file.
  1031.     * addded pixels per twip to the config file.
  1032.     * allowed " as part of a string if escaped.
  1033.     * added code to use the beginning and ending tags.
  1034.     * allowed multiline strings in config file.
  1035.     * use the two twip values.
  1036. Changes to to 0.5.9
  1037.     * i never reran autoconf !
  1038.     * added a patch i got ages ago and forgot to add
  1039.     dos/windows support for .exe extension to the configure
  1040.     thing
  1041.     * added some deep magic to blip handling.
  1042.     * addded check for wmf record sizes < 3 in libwmf.
  1043.     * fixed BSE record to eat empty space, and resync.
  1044.     * fixed Makefile.in in oledecod dir.
  1045.     * much purify related thingies found.
  1046.     * remove last bug to fix last buggy file of current run.
  1047. Changes to to 0.5.8
  1048.     * blip code changed, new one looks much better.
  1049.     * would you believe that i was always one out when decoding
  1050.     styles, great bullet proof code though :-), it kept on trucking
  1051.     and resynced itself with the data again for the most part, that 
  1052.     bug must be in there for months at this stage !
  1053.     * new blip code now in operation, appears to do at least the
  1054.     old blip codes functionality for 0x08 blips, how did i get 0x01
  1055.     blips ?
  1056.     * made configure script get heroic when searching for components,
  1057.     checks for for includes and libs both below a --with-stuff dir, and
  1058.     also inside it as well.
  1059.     * finished 0x01, checked offsets.
  1060.     * had to add guessing code to figure out whether to use a delay_stream 
  1061.     or not.
  1062.     * allow resized images (well let netscape do it) for 0x01 graphics.
  1063.     * tested wmf's with text with readonly font dir, no problem there.
  1064. Changes to to 0.5.7
  1065.     * fixed bug that causes crashes on tables.
  1066. Changes to to 0.5.6
  1067.     * variable handling, add a subst function that substitutes
  1068.     real things for variables in the config file.
  1069.     * updated my homepage, god i love the gimp. All i have to
  1070.     do to change the graphics on my page is to load a different
  1071.     set of text files to the scheme interpreter in the gimp and
  1072.     ta-da out pops my new pages, in the bad old days i'd have 
  1073.     been at it for days.
  1074.     * have a mechanism to expand variables in place, only recogonized
  1075.     variable is patterndir, will have more later of course :-).
  1076.     * some magic dohickying to get the libz in /usr/lib to be tested
  1077.     before ending up with the possibly crap one that some systems
  1078.     stick in /usr/X11R6/lib.
  1079.     * do a for loop to install the graphics now, should sort out
  1080.     some people;s broken install scripts, gagh!
  1081.     * cleaned up config file with purify, all systems are go for
  1082.     first public release with basic config file support.
  1083.     * remembered to add ttf support to mswordview as well.
  1084.     * added support for variables in the lex code.
  1085.     * fixed zlib configure script again.
  1086. Changes to to 0.5.5
  1087.     * added in support for an external config file. The external
  1088.     file allows a start and end to a style to be user defined, i.e
  1089.     h1 for the start of a heading 1 style. Its possible to disable
  1090.     or enable handling of bold, italic and font size/face changes
  1091.     inside of a style, this is only started now, so its far from
  1092.     finished. Please *dont* use this file for the moment, im working
  1093.     on it.
  1094.     * this is an interim release to fix the configure script problem
  1095.     that i had, and to add to the documentation as to the libwmf stuff.
  1096. Changes up to 0.5.4
  1097.     * well now, ive been away for a while working on libwmf, which is now
  1098.     complete enough to use. download it from 
  1099.     http://www.csn.ul.ie/~caolan/docs/libwmf.html, and install it and
  1100.     run mswordview's configure and compile and ta-da, mswordview can now
  1101.     handle wmf files.
  1102.     * added a fallback from a failure to find -lz to -lgz, a problem on
  1103.     SuSE linux im told.
  1104.     * found that old redhat's appear to have a libz in the X lib dir, that
  1105.     is old and crappy and doesnt link to my thing, didnt put in a word
  1106.     around, but mentioned it in the documentation.
  1107.     * created file with h1 to h9, verfied that the lex code and so on
  1108.     works together fine with mswordview.
  1109. Changes up to 0.5.3
  1110.     * begun adding all fields to structures, and marking them implemented or
  1111.     not.
  1112.     * strikethrough and underline for revision text
  1113.     * found the bounds of the comment in the main document, i put a name tags
  1114.     on them, and place comment begin and end graphics around them, at this
  1115.     stage remember that the -a option to remove comments exists, as even one
  1116.     comment in a doc can make the whole thing pretty unreadable :-), but the
  1117.     support is in there if you need it. 
  1118.     * revisions are given underline for added text, and the strikethrough color
  1119.     for deleted text the same as word does it.
  1120.     * begin and end for deleted and added revision text is shown with graphic
  1121.     tags, added a -r --norevisions option to ignore that stuff.
  1122.     * names for revision text
  1123.     * put revisions authors names in yellow text.
  1124.     * i dont even *pretend* that im outputting good html btw, just working
  1125.     html under netscape. once everything is working i might go back
  1126.     through and work out correctly the dependancies between all the html
  1127.     outputting code, that'll be part of the overall cleanup im doing to make
  1128.     this modular enough to be used with abiword as a word97 importer.
  1129.     * time and date of the revisions are included as well.
  1130.     * think that ive completed revision text, but i need more tests before
  1131.     ill be sure.
  1132.     * in comments theres always a pagenum field that word itself doesnt 
  1133.     show in comments, so ive stuck code in that disables this field if
  1134.     its at the beginning of a comment, also verified that comments work
  1135.     in fastsaved mode, though what is the story with that page number 
  1136.     in annotations, hmm its bothering me somewhat.
  1137.     * titchy bug where i included the wrong end of comment graphic.
  1138.     * put square brackets around comment links, i believe this completes 
  1139.     comment support.
  1140.     * titchy bug in the time field for revisions.
  1141.     * properties of text that change during a revision are listed as well.
  1142.     * found the location of what sets the footnote & endnote styles of 
  1143.     numbering and other settings for endnotes and footnotes in the DOP, there
  1144.     were missing from the copy that www.wotsit.org has, ive sent them the 
  1145.     added section.
  1146.     * extracted the DOP fully.
  1147.     * footnotes and endnotes now get the correct formatting of the numbers,
  1148.     i.e lettered, roman or arabic etc, damn missing page of the spec, i
  1149.     was searching for that for ages.
  1150.     * i have some old code that gives the correct starting point for endnotes
  1151.     and footnotes so im leaving it in for now, but i can now use the DOP
  1152.     instead for this info.
  1153.     * endnotes should now be put either at the end of the doc, or at the end
  1154.     of the section depending on what word does, needs testing.
  1155.  
  1156. Changes up to 0.5.2
  1157.     * implemented auto text color colour check for table cells, no more
  1158.       black on black, or black on blue. i must look closely at what other
  1159.       auto changes word makes, and where else i might have to put that code.
  1160.     * some uber-simple greyscaling code when table look says no-color.
  1161.     * verified it works under AIX, made a few changes that showed up due
  1162.     to its stricter malloc, theres probably a few more malloc related
  1163.     issues hiding in there.
  1164.     * column breaks show up as well now.
  1165.     * the various types of section breaks are distinguisable from the
  1166.     others, and from page breaks.
  1167.     * a few changes to make sure formatting and tables get on better 
  1168.     together.
  1169.     * sequence field supported, i.e caption numbering, i just use the last
  1170.     fields that msword left in there.
  1171.     * changed hyperlinking so that it works with bookmarks that are in
  1172.     comments (annotations).
  1173.     * i now support multiple bookmarks that end on the same location.
  1174.     * multiple bookmarks that start on the same location should be supported,
  1175.     but no examples yet.
  1176.     * the comment author initials are extracted and used in the main document
  1177.     when referencing comments.
  1178.     * comments now end when they are supposed to, only the correct comments get
  1179.     included, should work for fastsave, not tested.
  1180.     * removed unused variables, sorted out a few other warnings, maybe itll
  1181.     squeak by the irix compiler now ?
  1182.     * names and initial info for comments is extracted as well, and stuck in a 
  1183.     table at the end of the document.
  1184.     * fixed the <a name= for comments, should work in fast saved.
  1185.     * custom graphics for annotations.
  1186. Changes up to 0.5.1
  1187.     * forgot to change the version no in the source.
  1188.     * damn sunsite broke connection half way through uploading.
  1189. Changes up to 0.5.0
  1190.     * Martin Kalms <kalms@lysator.liu.se>, configure fix for sunos 4.1 in
  1191.     relation to strerror.
  1192.     * added option where you can ignore table widths.
  1193.     * custom graphics for comments.
  1194.     * endnote autonumbering now works, now defaults in roman numerals.
  1195.     * fast save footnote problem fixed, though i think things might be
  1196.     even more complex that i thought, so keep an eye on that area.
  1197.     * footnotes are in a colour of their own.
  1198.     * symbols as footnotes, required a change to the 4a30 sprm that might fix
  1199.     a few other char formatting issues.
  1200.     * restarting footnotes on each page, and each section works, this is 
  1201.     encoded in the the number itself it appears, a href and a name, and some 
  1202.     invalid html code fixed in the footnote area as well, footnotes are now in 
  1203.     a colour of their own *but* the location of whatever sets the footnote & 
  1204.     endnote styles of numbering is unknown, i havent figured it out.
  1205.     * all endnotes are listed at the end of the section rather than optionally
  1206.     at the end of the document, i dont know how this is done, doesnt appear 
  1207.     documented.
  1208.     * textmarks / bookmarks and explicit hyperlinking supported, bugs in 
  1209.     old code removed hopefully and internal hyperlinks put in via insert
  1210.     hyperlink are supported.
  1211.     * support for bookmarks, i.e they are converted to <a name>[text]</a> html 
  1212.     code.
  1213.     * converted cross-referenced textmarks/bookmarks into hyperlinks.
  1214.     * wmf files can now be decompressed thanks to peter.brandstrom@ericsson.com
  1215.     now i need a wmf --> something useful converter. i see that theres a new
  1216.     one available off the gimp plugin page, with some uberhacking it might
  1217.     do the trick, the notes/wmf dir has a goodly chunk of info on the format if
  1218.     anyone wants to do it for me.
  1219.     * when bookmarks are embedded in bookmarks something odd appears to occur, 
  1220.     but nonetheless the ms save as html does the same, so im assuming that its 
  1221.     ok
  1222.     * added bookmark support to fastsaved, should work fine, not tested.
  1223.     * pagebreak gifs are correctly centered if the next para is a centered etc 
  1224.     one.
  1225.     * author field supported.
  1226.     * proper positioning of page numbers, general layout of headers appears
  1227.     to be fine, except that tab stops are used in headers to center, left
  1228.     and right align headers, which doesnt work so well in html mode.
  1229.     * added defensive code to some sort of list bug.
  1230.     * mimic strike-through and double st by setting the text color to either
  1231.     #ed32ff or #ff7332
  1232.     * disallow height commands inside tables, as the model of paragraph heights
  1233.     doesnt fit well with the architecture for tables, so im ignoring them in
  1234.     tables, hopefully noone will notice :-)
  1235.     * fixed a small bug in sprm which was causing errors later in lists.
  1236.     * tables and paragraph formatting were misaligned across td boundries.
  1237.     so now i clear specials and fonts on entry to a table, and on exit of each
  1238.     cell, hopefully i broke nothing else on doing so.
  1239.     * at least one really bad conversion with a file called RESUME.doc, but in
  1240.     my defence i looked at the msword conversion of this to html, and its just
  1241.     as buggered up so rasp ;-P
  1242.     * added credits file
  1243.     * found problem in decompress code, i didnt make it good enough for real
  1244.     world usage, i now use mmapping so make my life easier, dont know if this
  1245.     is fully portable, works on linux and solaris.
  1246.     * oledecod had bugs on cleanup, so sent filters group wmf.doc and 
  1247.     Contribu.doc to demo the problems.
  1248.     * i now use oledecod 0.0.4 which fixes cleanup problems, but Contribu.doc
  1249.     style problems continue, they return 5 but laola can extract the streams
  1250.     nonetheless while oledecode cannot, i modified the original laolareplace.c
  1251.     to handle this as well.
  1252.     * oledecod 0.0.4 has a bug in relation to 1812bb.doc, laolareplace.old.c
  1253.     hasnt this bug, so im back to using that again.
  1254.     * those ffffffff's in lists that haunted me in earlier releases are *back*
  1255.     grrrrr!!, anyway ive another massive nasty workaround that im using that
  1256.     hasnt crashed any docs, and appears to do the right thing, at least in
  1257.     propos~s.doc
  1258.     * wmf decompression code changed to use mmap, replaces the original code
  1259.     that ate memory, if mmapping doesnt work try looking at the zlib docs
  1260.     and change the code to fixed buffer incremental decompression.
  1261.     * added a bailout to ignore encrypted documents, wonder how id decrypt
  1262.     them if i had the correct password, anyone know ?
  1263.     * added a bug fix for crossreference parsing.
  1264.     * beginnings of tables of contents included, doesnt always work yet.
  1265.     * bug where if the word file ends on a table, the table wasnt closed off is
  1266.     fixed.
  1267.     * bug where non built in graphic types were causing hangs.
  1268.     * im now often happily (if slowly) converting 90 and 100 page documents,
  1269.     the only thing i really am unhappy with is table handling, which is
  1270.     also one of the reasons the conversion is *soooo* slow sometimes, the
  1271.     other reason is those godforsaken fastsaved files.
  1272.     * fixed some other mem related bugs, converted sucessfully the last two 
  1273.     problem docs without crashes.
  1274.     * table looks are somewhat supported, though theres no support for last
  1275.     row and last column different from the rest of the cells as of yet, this
  1276.     will have to wait until multi pass on tables is implemented.
  1277.     * the foregrounds and character attributes in general for tables appear
  1278.     to always set correctly in general, but i believe i have to look into
  1279.     how the "auto" text color selects is final colour, as ive been assuming
  1280.     that it gets set to black, which is a fairly valid assumption most
  1281.     of the time, but not always, so a few docs will have black text on
  1282.     black backgrounds in table cells, but the situation is much improved.
  1283.     * ran purify over mswordview, removed a load of dodgy code out of it, theres
  1284.     still a bug or two hiding in the list code, which i belive is the reason
  1285.     that lists are sometimes missing in complex documents, e.g meeting.doc
  1286.     i think i love purify, its the bees knees.
  1287.     * dib's are now extracted as well, though i dont do anything with them yet,
  1288.     this fixes yet more crashes.
  1289.     * fixed laolareplace.old.c, which is the version im going to use for this
  1290.     release, to work on 64bit platforms, a few longs had crept into the code
  1291.     there which shagged the whole thing up. I havent done extensive tests on
  1292.     64bit yet, but im confident that itll work.
  1293.     * fixed defines to make it work if theres no zlib present.
  1294.     * no crashes after running mswordview on 300 megs of uploaded files.
  1295.     * good enough to upload to sunsite, version number reflects this.
  1296. changes up to 0.4.9
  1297.     --This is an interim release while im in scotland until later this november--
  1298.     added features are that the gateway is included, endnotes are supported,
  1299.     pagebreaks that split tables are supported and some more bugs are fixed,
  1300.     especially in relation to graphics.
  1301.     * added -o - option to gateway, like i should have about 4 releases
  1302.     ago.
  1303.     * fixed graphics again, forgot to reset the extra amount that some have
  1304.     before the graphic data begins, means more jpgs and pngs should work.
  1305.     * endnote text done in simple saved
  1306.     * cleaned up beginning whitespace from footnotes/endnotes/comments.
  1307.     * endnotes in complex mode is in, needs testing.
  1308.     * changed url code to match the other field code, fixes a big bug there.
  1309.     * header and footer colours were wrong again, fixed.
  1310.     * indent drift is fixed again, moved do_indent into decode_?_specials
  1311.     * pagebreaks can occur in the middle of a table, this sort of confusion
  1312.     is fixed for full saved files, and is probably fixed for fastsaved files
  1313.     * pagebreaks now look like they occur after footers,footnotes and endnotes.
  1314.     * custom graphics replace <hr>'s as there were too many of them at the
  1315.     bottom of a page to figure out what was what.
  1316.     * custom graphics for footnotes, and comments
  1317. changes up to 0.4.8
  1318.     * this has a slew of bug fixes related to graphics and a new option
  1319.     to put images in a certain directory
  1320.     * fixed f006 code in blip handling, removing a slew of hangs.
  1321.     * ignore every graphic that isnt an understood type, removes hangs.
  1322.     * figured out when theres an extra 16 bytes to delete from the beginning
  1323.     of a blit, and where one of my magical 17s were coming from
  1324.     * got a bug fix off Harry Shamansky (shamansky@adinc.com) as to why
  1325.     the default make wouldnt work under irix.
  1326.     * the current spid handling was mismatching spids and the graphics
  1327.     involved.
  1328.     * i cant handle forms, or ole data, so ive added a check to avoid
  1329.     doing them, removes crashes.
  1330.     * also ive added some other code to watch out for unsupported graphic
  1331.     features.
  1332.     * msword can include wmf and emf files, these are stored in compressed
  1333.     form, using lz encoding in a fashion supposedly compatable with the zlib 
  1334.     library, but i havent been able to decompress them yet and even if i 
  1335.     could i dont know of any source to convert wmf/emf files to anything 
  1336.     usable under linux
  1337.     * ive changed blip handling, so that it works better, well i believe its
  1338.     more crash resitant, but im still not 100% happy with 0x01 handling.
  1339.     * if you insert a bmp via insert->picture->from file, it appears to
  1340.     be converted to png for you, handy.
  1341.     * paragraph indentation is back in, lists and table were confusing the
  1342.     indentation code.
  1343.     * fixed titchy bug so that space at beginning of lists isnt underlined.
  1344.     * support paragraphs whose first lines indentation is greater that the rest
  1345.     of it
  1346.     * support vertical space between paragraphs.
  1347.     * sorted out end_para for the first paragraph found in complex mode, i think
  1348.     i have it right now, in passing i reckon a load of those pap searches
  1349.     in complex mode are unneeded, but i dont want to rock a working boat, if it
  1350.     aint broke dont fix it as an uncle of mine used say, though we did seem to
  1351.     spend an awful amount of time panically fixing things that broke 
  1352.     dramaticlly after years of neglect.
  1353.     * finally settled on dirs for left indentation, blockquotes indent from both 
  1354.     sides automatically
  1355.     * added an option to put graphics in a specified dir.
  1356.     * added an option to find the graphics at a specified url.
  1357.     * updated man page.
  1358.     * made another change to blip handling, fixes some problems.
  1359. changes up to 0.4.7
  1360.     * warning !, in this release mswordview no longer outputs by default to
  1361.     the screen. use -o - for this behaviour. This is an interim release to
  1362.     reassure people that im still working on it, its got quite a few new
  1363.     features and bug fixes since 0.4.4 read down for them all.
  1364.     * implemented tabbing with trans gif, optionally use hardspaces or 
  1365.     dont do it at all.
  1366.     * added some support for borders such that the vertical space between 
  1367.     paragraphs due to width of borders is retained through the use of 
  1368.     vertical trans gif space.
  1369. changes up to 0.4.6
  1370.     * indentation of paragraphs dithered to <blockquote>'s is out again as it 
  1371.     its doing strange things on long complicated documents.
  1372.     * table cell shading done, fully supported i believe.
  1373.     * drew all the available table patterns in all available colors, 
  1374.     made small transparent gifs out of them, if someone wants to do 
  1375.     better copies of the ms ones go ahead, use the convert.sh script
  1376.     in the patterns dir to generate pics in all necessary colors.
  1377.     * text color support is in
  1378.     * word underline, which iswhere whitespace isnt underlined is supported.
  1379.     * courier as an alternative to courier new, times alternative to
  1380.     times new roman font face, helvetica as an alternative for everything 
  1381.     else.
  1382.     * all caps supported, Small caps supported, though i want full tests
  1383.     of those two babies in all modes. Similiar to the fontfaces these two 
  1384.     babies are only supported in ascii languages, as i dont really know how 
  1385.     to convert utf-8 unicode into upper case !
  1386.     * text animations supported by converting them to blink :-)
  1387.     features-examples dir added, supported-font-features.doc has what i
  1388.     believe is all the font features that word supports demonstrated in it.
  1389.     id be happy to have omissions noted, mswordview now supports
  1390.     1) font size
  1391.     2) colored text, (in headers and footers as well)
  1392.     3) font face in ascii based languages
  1393.     4) underline, including word underline, where whitespace is nt underlined
  1394.     5) super and sub script
  1395.     6) All caps and small caps (ascii based languages only)
  1396.     7) text animations dithered to blink tag
  1397.     mswordview doesnt support due to html limitations (at least i dont think
  1398.     i can do them)
  1399.     strikethrough,double strikethrough,shadowed and outlined text, embossed
  1400.     or engraved text. 
  1401.     "hidden text" is shown, coz i dont know the purpose of it yet
  1402.     all caps, small caps and font face for non ascii languages.
  1403.     character spacing
  1404.     * centralized pap initialization code
  1405.     * fixed a crash causing blip bug
  1406.     * fixed a crash due to sep sprms showing up in a papx !!, i ignored them
  1407.     im sure that will bite me hard in the future, but ive documented it here so
  1408.     i wont forget.
  1409.     - Problem:
  1410.         now we have a problem with paragraph properties which is only making
  1411.     a difference now that i want to use the paragraph justification codes.
  1412.     there exist pieces which have fc's greater than the maximum one listed
  1413.     in the plcfbtePapx !, ive been pushing them around for the last 2 days to
  1414.     no avail, im beginning to think that maybe this means that they have no
  1415.     native formatting of their own, the catch is to find the paragaph that they
  1416.     belong to, the spec says to find that by taking the smallest fc in fkp
  1417.     tables that is bigger than the current fc, but there *is none* thats bigger.
  1418.     my thought is to remember if this piece is the beginning of a paragraph
  1419.     mark and if not inherit the previous piece's formatting, and keep going
  1420.     backward until we get one. If it is then either im supposed to default to
  1421.     a new one or go forward to find one.
  1422.     +  Solution: Ah-ha i believe i have it, 
  1423.         + firstly varient 1 gpprls have to be supported, and i had some offsetting 
  1424.         in them wrong
  1425.         + secondly i had a very subtle bug where i changed the value of the avalrgfc,
  1426.         from when i didnt know why sometimes they were +400000000, of course i now
  1427.         use it to determine if the end of the piece if twice the distance of its 
  1428.         reported character len of not, and with the val reset i ocassionally had
  1429.         the piece recorded as being too long, so the paragraph properties of the 
  1430.         wrong paragraph were being used.
  1431.     * added is paragraph formatting information, supported well is
  1432.         1) centering,        center
  1433.         2) right justification , div align=right
  1434.     * made a closing paragraph thing like the closing chp for the blurb at the
  1435.     bottom to avoid having the version info centered of justified.
  1436.     * 0x01 fSpec graphics are now supported in addition to 0x08 graphics 
  1437.       while both of these are draw objects, only non-vector graphics are supported, and 
  1438.       only partial support of those i.e png and jpg.
  1439.       as with the 0x08 graphics theres a lot of magic emperically derived offsets being used
  1440.       to put it together, so dont be too surprised at getting corrupt images.
  1441.       though i *have* fixed a bug in png handling i believe for 0x08 graphic which was the
  1442.       previous subset i supported.
  1443. changes up to 0.4.5
  1444.     * i now open graphic and doc files in binary mode to support platforms where this
  1445.     makes a difference.
  1446.     * replaced laola, perl no longer required, thanks to the mighty
  1447.     Andrew Scriven who replaced the OLE functionality i needed with C
  1448.     * got a bug fix off above to handle files with more blocks
  1449.     * optional support for fontface if the text if an ascii based one,
  1450.     i.e if were guaranteed that this is a western european language
  1451.     then we do font faces, fastsaves will probably confuse this test and
  1452.     mean we wont get faces even when we can handle them correctly.
  1453.     * changed indent method for outline lists to multiple hard spaces, rather
  1454.     than <dir>'s, in the future ill make an optional proper html conversion,
  1455.     but it wont look like the original, so its a TO-DO.
  1456.     * indentation of paragraphs dithered to <blockquote>'s is in, alpha support.
  1457.     * absolute width and height of tables is in as well.
  1458.     * i now default to outputting to a file whose name is the same as the input
  1459.     file, with .html appended. graphics are output to the files with the same 
  1460.     prefix as the .html file. use -o - to output to stdio
  1461.     * new ole code was broken on a few files ( 1 :-) ), fixed this. 
  1462. changes up to 0.4.4
  1463.     * a good few bug reports in, crashes and what not, i got the use
  1464.     of purify on a sun box (thanks to martin mellody et al) and sorted
  1465.     out *all* the uninitilized mem reads there, (3000 of them in the course
  1466.     of a typical conversion!!), it still leaks memory like a sieve but thats
  1467.     not important for mswordview, though i will sort that out. purify is
  1468.     a wonderful piece of work i have to say.
  1469.     * changed ffffffff handling for lists, i think it means that
  1470.     the list in question isnt actually there, so to skip it.
  1471.     * changed blockquotes to dir, looks neater and word itself does
  1472.     it, biggest software company in the world cant be wrong, can it ?
  1473.     :-)
  1474. changes up to 0.4.3
  1475.     * oops, i shafted the inclusion of getopt for systems that need it.
  1476. changes up to 0.4.2
  1477.     * fixed broken simple mode footnotes (doh!)
  1478.     * fixed bug in blip where having drawings where none
  1479.     of them was a picture caused a crash
  1480. changes up to 0.4.1
  1481.     * did some tweaking to remove a crash.
  1482. changes up to 0.4.0
  1483.     * and big breaking news, preliminary graphic support is now in!!
  1484.     yes, gifs/pngs/jpgs added to a document through the 
  1485.     insert->picture->from file mechanism now convert correctly. They
  1486.     are stored in the office draw format which ive just cracked the 
  1487.     rough layout of. (through the handy ms spec on the msdn site),
  1488.     graphic support is messy for now, as the files are generated in
  1489.     the cwd of mswordview and named graphic*mswv.*, ill tidy it up
  1490.     later, this news is too good to not get an announcement.
  1491. changes up to 0.3.0
  1492.     * added -m  --mainonly option if you dont want headers and footers.
  1493.     * added a few more places to look for lls-mswordview
  1494.     search order is now
  1495.     1 in the path.
  1496.     2 the same dir as lls was run from if ran absolutely.
  1497.     3 the current dir.
  1498.     4 a dir called laola off the absolute path.
  1499.     5 a dir called laola off the current dir.
  1500.     but stuff line ../../mswordview isnt in there though, coz folk should
  1501.     just put lls-mswordview into their path dammit!
  1502.     * diffent numbering formats for pagenumbering is in, a vs i vs 1 etc.
  1503.     * gpprls for sep's work now, complex sections are in.
  1504.     * found some strange code in clx_headers and clx_footers so i blew it 
  1505.     away.
  1506.     * section support in for simple saved files.
  1507.     * sections that restart pagenumbering work now.
  1508.     * sections that have no footers/headers at the beginning work now.
  1509.     * complex support for sections is in as well, should work hopefully
  1510.     needs extensive testing.
  1511.     * TO-DO text color, eventually font faces, but no sleep lost on that i have
  1512.     to say.
  1513.     * TO-DO shaded cells in a table, think up a better table handling method.
  1514.     * i now stick a space into an empty cell so that it shows up.
  1515.     * another U8 wraparound bug removed.
  1516.     * i now use the piecetable for simple docs, so as to skip over sections
  1517.     that arent to be processed, i.e the simple format is just as complex as
  1518.     the complex format :-), i think ive done this right and it wont break 
  1519.     anything, ill have to wait and see though.
  1520.     * changed slightly the portions of a field that dont get printed,
  1521.     to make some html ones work, hope i havent shafted anything else.
  1522.     * hmm, really need to cleanup character handling, unicode &
  1523.     special reserved ms symbols and so on, im just plinking at
  1524.     them for the moment.
  1525.     * aghh, found another U8 overflow, what possessed me to put
  1526.     them in in the first place ?, i should have guessed that
  1527.     there would be hundreds of pieces in a file.
  1528.     * received report that it compiles and runs with
  1529.     Sparc solaris 2.5.1 - sparcworks compiler
  1530.     &
  1531.     Intel x86 solaris 2.5.1 - gcc compiler
  1532.     * added patch from diakka <diakka@staff.sinanet.com> to run
  1533.     create_bins on a make rather than make install
  1534. changes up to 0.2.2
  1535.     * compiled it on a solaris account i got, and its fine, got 
  1536.     confirmation that it works from Will Renkel <renkel@cig.mot.com>
  1537.     * changed fastsaved chpnextfc check to be >= rather that >, hope that i 
  1538.     dont break anything cox of it.
  1539.     * foolish error, U8 used for number of pieces, extended to U16
  1540.     * changed embedded link handling to not end character properties in
  1541.     the middle of a URL !
  1542.     * changed embedded link handling so as to *not* place "" around urls,
  1543.     as sometimes they are there already, and not having them doesnt hurt,
  1544.     though it offends my sense as to how they should be done.
  1545.     * would you *believe* these ms guys, now they are hitting me with
  1546.     file offsets that are past the end of the file !!, so now i have to
  1547.     watch out for that, the complex format is *such* a collection of
  1548.     hacks, ah-ha ive just checked in word, this file crashes word :-)
  1549.     so this is the first reported case of mswordview being better than 
  1550.     msword, though i have to say that in recovery mode word pulled loads
  1551.     of text out of it that i didnt get, :-(, still its a corrupt file
  1552.     so doing anything at all is a success.
  1553.     * i forgot to reset the higher list levels when changing a lower one,
  1554.     fixed now, i think ive it right.
  1555.     * added a define of SA_RESTART to 0 if it isnt there. bash does it so
  1556.     i should get away with it, sunos seems to need it.
  1557.     * added a little patch from Zachariah Baum <zack@studioarchetype.com>,
  1558.     that should help get around folk who run mswordview absolutely and dont 
  1559.     stick lls-mswordview in their path, ie make and then dont make install.
  1560.     * fixed yet more bugs, for some reason i thought that
  1561.     the order of evaluation was from right to left !!!!
  1562.     i.e i was doing 
  1563.         if ((*p == 'a') && (p!=NULL))
  1564.     doh!
  1565.     * changed web interface so that utf-8 is always on.
  1566.     * font characteristics turn off when going into tables now.
  1567.     and turn back on when inside, gets rid of some off look
  1568.     and feel.
  1569.     * checked out corel's wordperfect import functionality with
  1570.     office 97 files, conversion isnt as good as mswordview i think.
  1571.     missing header numbers, and one or two didnt convert at all.
  1572.     though of course corel retains layout which mswordview cant
  1573.     do with html, and does shading, ill check pictures at some stage.
  1574.     * have a report that suns pcfileviewer similarly covers about 50%
  1575.     of mswordview's functionality and vice versa.
  1576.     * gzipped uploaded word file collection has just hit 120megs :-)
  1577.     * i now look at this section table so i know whether its a section
  1578.     break or page break. If its a section break, then the header/footers
  1579.     revert to the beginning again.
  1580.     TO-DO, add an space to empty cells to make them look reasonable in 
  1581.     netscape.
  1582.     TO-DO check page numbering with sections.
  1583.     TO-DO, do endnotes, should be easy. make new pic to replace hr
  1584.     lines, theres too many hrs now at the bottom of a page to make
  1585.     sense to anyone anymore. if theres no footers, then dont do
  1586.     the lines.
  1587.     TO-DO, continue with the sent files since 0.1.0, and the rest
  1588.     of them.
  1589. changes up to 0.2.1
  1590.     * removed bug that caused lists to drift further and further
  1591.     right.
  1592.     1. checked out the blockquote indention for lists, doesnt
  1593.     appear to be right for srom*.doc, fixed now
  1594.     took closer look at font scanning in decode_letter,
  1595.     in particular special chars, the < 39 wasnt precise enough, being
  1596.     in a wingding/symbol font seems to make you automatically a special
  1597.     char.
  1598.     2. something not fully right with lists that take their
  1599.     text as special chars (i.e sectionnumber), not done by ms in
  1600.     an obvious fashion. edit doc down to just the 2 headers and then
  1601.     see what happens.
  1602.     3 AHA!!!, 1 and 2 are wrong, as was previous ideas to ignore lists
  1603.     that appear to have nothing in them, they are there to artifically
  1604.     bump lists up to a different starting number without requiring a
  1605.     seperate list definition for each one, ms shoves in dummy elements
  1606.     to get the list up to the right number, the section id just before
  1607.     one of them threw me entirely, i thought the section number should
  1608.     have been the text of the list. ive got it now!
  1609.     * 3 above is *rubbish*, thats not it at all, i was right originally,
  1610.     ignore those 0 len lists, and the problem was with my list restarting
  1611.     mechanism which didnt work if there was more that 1 list between list
  1612.     section that had to continue numbering.
  1613.     * numerical outline list sublevels will retain the prefix of the 
  1614.     above levels, this required a change of the number figuring out code,
  1615.     its now rather heavy of silliness, but it works, i dont love it and
  1616.     im sure lists will be back to get me again at some stage, but outline
  1617.     lists now work, in particular the 
  1618.     1
  1619.     1.1
  1620.     1.1.1
  1621.     style.
  1622.     * TO-DO sections, srom*.doc has them, check them out.
  1623.     * TO-DO change web interface so that the utf-8 can kick in if 
  1624.     needs be.
  1625.     * fixed bug where the new piecetable check in simple saved
  1626.     files fell apart after hitting a footer.
  1627.     (tempcp = tempcp, rather than realcp=tempcp, doh!)
  1628. changes up to 0.2.0
  1629.     * well arse again, ive revised my ideas as to what consititutes
  1630.     the end of a piece, rather than the beginning the the next piece as
  1631.     i was doing, i now believe thats its the beginning of the piece +
  1632.     the twiddled cp len. makes more sense, and removes crashes from the
  1633.     latest doc i was given.
  1634.     * distinguishs between odd & even page footers.
  1635.     * TO-DO odd & even headers
  1636.     * added the tm symbol as a special case, theres quite a large
  1637.     range of unicode that ms is using that is part of the customizable
  1638.     section, i.e theres loads of glyphs that ms can use that are not
  1639.     part of the standard unicode set, the tm appears to be one of hundreds.
  1640.     eventuallly ill have to get a table of them.
  1641.     * woweee, is ms an evil designer of data formats, they have two
  1642.     types of simple saved docs i thought, those in 8 bit (basically ascii) 
  1643.     and those in 16bit (unicode), hah bloody hah, ive been given one which is a 
  1644.     mixture of both, and i have to use the damn piecetable to shove it together.
  1645.     and its not as if the document shifted into a different language of 
  1646.     anything. if this was fastsaved id not blink an eye, but simple saved, 
  1647.     come *on*, why bother calling it simple saved. so i have to keep an eye 
  1648.     on the piecetable to determine what exact offset to use after all.
  1649.     * added a huge bit filthy hack in for more list twiddlings, the 
  1650.     previously mentioned unknown 4 byte sequence now rears its head
  1651.     as an optional 8 byte sequence !!, but always ffffffff, it might
  1652.     be some kind of flag or summat. anyhow i now chew up any 4 bytes
  1653.     consisting of this if they show up in the place that they might
  1654.     appear, this removes a large crash that occurs otherewise, as all
  1655.     the counters get thrown off course by them.
  1656. changes up to 0.1.1
  1657.     * added Makefile patch from Pavel.Roskin@ecsoft.co.uk (says it works
  1658.     on hpux)
  1659.     * well the good news is that the unicode utf-8 is working for
  1660.     taiwanese and im sure other languages, the bad news is that everyones
  1661.     telling me that noone in their language group is actually using unicode :-)
  1662.     so i suppose i require a huge unicode --> JIS/EUC/KSC/Big5/GB converter.
  1663.     :-)
  1664.     * rudimentary support for annotations, i havent too many examples of these 
  1665.       but i think they'll work fairly well.
  1666.     * rudimentary support for all special ascii codes for time,page no etc.
  1667.     p.s by rudimentary support i mean that if asked for e.g the current date
  1668.     in a particular format i output the date, maybe in the correct format
  1669.     maybe not. i.e the meaning is the same, though the look might be different.
  1670.     * added a supported sprm, that changes chp information totally to the
  1671.     chp of a different style.
  1672.     * added support for custom footnotes, had to do a bit of a hack to
  1673.     get the <a name> stuff right, hopefully it'll always work, even if it
  1674.     doesn't itll still be readable.
  1675.     * twiddled the char formatting dependancies about again, really ill have
  1676.     to redesign that a bit.
  1677.     * broke the mswordview.c file down a bit into other files. 
  1678. changes up to 0.1.0
  1679.     * hell ive enough done to warrent a new numbering system.
  1680.     so from now on
  1681.     x.y.z
  1682.     x is a stable bug free (hah) release. folk packaging for commercial
  1683.     unices probably should wait for these releases (none yet, i know)
  1684.     y is a new feature or enough bugs fixed that you better use this
  1685.     version if you want to keep up with the jones. 
  1686.     z is some small bug or change that is small enough that i wont upload
  1687.     it to sunsite et al automatically, itll be mostly for me.
  1688.     * added a defaultfont size option, so that if you think the output is
  1689.     too big or small, you can skrink or enlarge it.
  1690.     * added a horizontal padding option, you have the option of 3 different
  1691.     ways to handle a run of multiple line breaks, though the default is probably 
  1692.     the best.
  1693.     * tweaked char formatting system, TO-DO overhaul all of that, theres quite
  1694.     a few dependancies between the tags thats becoming a little to difficult
  1695.     to do by hand, a little stack is called for methinks.
  1696.     * added some support for a type of holdover list format found in docs
  1697.     converted to word8 from older versions. works on the one i have so far
  1698.     though theres more testing to be done with it. missing bullets and 
  1699.     incorrect numbering may be related to this. pass them on to me.
  1700.     * battered LFO's into submission, this time they'll stay down (i hope).
  1701.     found a 4 byte field that i cant figure out where it came from. *shrug*
  1702.     wouldnt be the first time that happened though.
  1703.     * changed footer and header handling, i now take notice if the first pages
  1704.     headers and footers are different that all the others. i still dont get
  1705.     section breaks, which i think impact on this, i dont have any examples of
  1706.     this to work against. Theres a discrepency between header/footer documentation
  1707.     and what i see before me in the hex, maybe im missing something.
  1708.     * ok theres some difficulty with tables, ive implemented this baby as a
  1709.     one pass parser, later ill have to add multipass (or backpatch) to figure out 
  1710.     the number of pages so as to get that field right, but with ms tables you can 
  1711.     start off with 2 cols then go to e.g 4 in the same table, you dont know in 
  1712.     advance how many rows and cols there are in maxiumum, or which ones span which,
  1713.     which is a pain in the butt, really as far as word is concerned each row 
  1714.     is a table into itself, so ive done it this way
  1715.  
  1716.     - each table has the cols of the first row counted and the widths
  1717.       figured out in % of the page width, if a subsequent row has a different
  1718.       number of rows or different widths than the previous row a new table 
  1719.       will be begun. the % width will cause netscape to line them up correctly.
  1720.       itll do for now. not perfect i know but hey what is. Itll do the job
  1721.       for the primary task which is making word readable as close to the 
  1722.       original layout as possible within html. 
  1723.     - to get the tap that tells me all the above we have to scan forward
  1724.       until we find a rowend char, and get the pap of that to get the tap.
  1725.       and with fastsaved theres the usual complexity
  1726.     - The problem will be that netscape and other browsers dont take the 
  1727.       width% as their primary factor in determing the actual width of a cell, 
  1728.       if the text in it cannot be broken on a space then the cell is expanded 
  1729.       to fit, breaking the lineing up. Im considering a somewhat more sophisticated
  1730.       (and questionable) technique where i stick the tables together using
  1731.       dithering of the cells to a (max 64 cell (msdefined)) cell grid. using colspan
  1732.       and so on to do it.
  1733.     * TO-DO theres something called a header text box that i have to figure out
  1734.       and some companion of it for the main doc. i have to implement something to
  1735.       handle these beasts.
  1736.     * TO-DO more testing for bugs and stuff.
  1737.     * TO-DO code overhaul to simplify it.
  1738.     * TO-DO support all fields, ive some supporte page no, date and time.
  1739.     but not perfectly in the same format that word has them in.
  1740.     * TO-DO,figure out how to extract ole embedded msoffice draw and equation
  1741.     editors data, and see if i can get them converted as well.
  1742.     * TO-DO provide alternative outputs, tex/rtf and friends. ive a load of
  1743.     formatting information that i think i can get into those formats.
  1744.     * TO-DO provide basic formatting for html, i.e centering.
  1745.     * TO-DO think about writing word docs :-), now that would be a hunk of work.
  1746.     so to all you asking me about it i recommend you dont even bother with it,
  1747.     just write rtf files and get on with it, thats even what ms did for word 8,
  1748.     saving as word 6/95 just creates a rtf file, if its good enough for them, its 
  1749.     good enough for us.
  1750.     * TO-THINK-ABOUT i dont keep very much information in memory really, i just work
  1751.     out what i need for any given instant and drag it out of the file, and then dump it
  1752.     often to only get it again in a few seconds. this leads to an impressive amounting
  1753.     of seeking back and forth across the streams. theres a groove burnt in my hd where
  1754.     im working, its not really optimum behaviour, (works though :-) )
  1755.     * NEED_HELP-ON, can this compile and work under sgi ?, have success reports
  1756.     from linux, solaris,hpux,aix,freebsd and one failure to compile under sgi, ive
  1757.     one message that it compiles under os/2, though it needs some work to do that.
  1758. changes up to 0.0.27
  1759.     * know how to do the right thing with embedded sprm list
  1760.     gets rid of a few wild bugs.
  1761.     * found the list documentation after all, maybe i forgot
  1762.     to download it the last time (doh!), or it wasnt there
  1763.     when i downloaded it. so i removed all of my rather good
  1764.     but unnecessary hex determined code.
  1765.     * added a special case for "*" in lists, make it a bullet
  1766.     point instead, seems to be the right thing to do (?)
  1767.     * changed laola commands name to append -mswordview to avoid
  1768.     overwriting newer lls commands etc.
  1769.     * changed the INC in perl files to reflect final install dir.
  1770.     * TO-WORRY-ABOUT, quite a few ??'s displayed in netscape when
  1771.     dealing with those utf-8 docs, dont know if thats my lack of
  1772.     correct fonts, or a great big dirty bug. also ive a few special
  1773.     cases in the decode_letter to translate letters into what *i* think
  1774.     they should be, its rather questionable and very emperically based.
  1775.     * added some hook code to protect lists from pagebreaks. 
  1776.     in doing so i notice that my complex code is a wee bit confused, but
  1777.     it works, so im leaving it alone for now, the added code doesnt make
  1778.     for reability but hey, neither does any of the rest of the code :-)
  1779.     * fiddled list interpertation so that ilfo isnt looked at until the
  1780.     last pap and chp sprms have changed it. fixes difficulties in fast
  1781.     saved files.
  1782.     * TO-DO
  1783.     (list stuff) LFO override not implemented correctly may cause crashes.
  1784.     this is surely the last major list related thing to do.
  1785.     restarts are probably incorrect as are a few other minor list 
  1786.     related bits and pieces
  1787. changes up to 0.0.26
  1788.     * changed laola lib to a subdir of mswordview and changed laola
  1789.     program names to custom mswordview ones, to avoid clashing
  1790.     with newer versions or original version of laola, as ive
  1791.     doctored things slightly for my own needs.
  1792.     * applied Martin Schultze patch to add lib path to perl include
  1793.     path, though i twiddled it to make a nice tree in my lib.
  1794.     * lists start on the correct number (well ones that are simple
  1795.     numerals do anyway).
  1796.     * understand list continuing and restarting now.
  1797.     * added a defensive patch from Peter Silva <Peter.Silva@ec.gc.ca>
  1798.     * lists now get the char formatting that they should get.
  1799.     * yes!, sorted lists out, have bulleted lists, arabic & roman numerals,
  1800.     lowercase and uppercase lettering systems done. multilevel also works
  1801.     i believe, works on all examples i have anyway
  1802.     * fixed bug that made mswordview fail on files without an extension
  1803.     * TO-DO look at list indentation, if they are true multilevel then
  1804.     i blockquote them (for now), but if they have a set indentation value
  1805.     then like all the other layout constructs i dont preserve this into 
  1806.     html.
  1807.     * TO-DO fields, table of contents should be easier with lists
  1808.     done.
  1809.     * TO-DO find out if my unicode (utf-8) support actually works
  1810.     for anyone except me. What fonts do various people need, this
  1811.     is a general netscape question.
  1812.     * middleterm TO-DO, reorganize tags to external data files, to make extensible
  1813.     to other formats, i.e raw ascii, an attempt at latex, rtf. 
  1814. changes up to 0.0.25
  1815.     * changed list handling slightly, removes a bug where
  1816.     you get too many list levels inserted
  1817.     * i believe that most lists will now be handled correctly as to
  1818.     whether they are numbers or not. I have isolated the undocumented
  1819.     section and have a handle on the situation so its just a matter
  1820.     to comparing theory with practice again.
  1821.     * removed bug where header pap gets used in the main document
  1822.     following a header
  1823.     * finished checking all uploaded files beginning with a, yipee.
  1824.     now theres quite a few elements not addressed yet in those files, but 
  1825.     i understand whats involved, in short, section support, proper list 
  1826.     support, justification support (centering anyway) decoding of the DATE 
  1827.     and TIME fields, would you believe that the TIME field can encode the 
  1828.     DATE, despite the fact that theres a DATE field whos job this is !, 
  1829.     gagh what can you do with people who do this to you. but anyhow the 
  1830.     uploaded all convert without crash, all text is in the right place, and
  1831.     in the right language ( i think :-) ).  all bold,italic,font sizes,
  1832.     underline, manual page breaks, the content of footnotes,footers 
  1833.     and headers is all shown, albeit not always the way they appear in 
  1834.     word, yeah we're getting there.
  1835.     * changed utf conversion code as the original code i was using wasnt
  1836.     quite gpl compatable, anyhow new code is better designed for my needs.
  1837.     * TO-DO, grr!! is someone reading this log, as after my weeks holidays
  1838.     i note thats theres a huge amout of files beginning with a to go through
  1839.     again, i never did make it to b.
  1840. changes up to 0.0.24
  1841.     * fixed NULL complex pap bug.
  1842.     * supports underline tag now as well :-)
  1843.     * footnotes supported, all the ones referenced before a 
  1844.     pagebreak get listed at the manual pagebreaks and document
  1845.     end . (thats a <hr> in my current output, splitting word docs
  1846.     into different files is a challenge id rather not accept for 
  1847.     now as itd just be guesswork and mess), not checked in fastsave
  1848.     yet though.
  1849.     * TO-DO support sections, so as to know what pages get headers
  1850.     and which dont, etc.
  1851.     * TO-DO proper table of contents, the text is now listed
  1852.     but theres no link between the table of contents and the
  1853.     text it purports to describe, for the moment.
  1854.     * TO-DO differenciate between different types of underline
  1855.     i.e word for word etc
  1856.     * EVENTUALLY-TO-DO, i have come across one case where a symbol 
  1857.     used in a footnote isnt working !, if i create one of my own
  1858.     it works fine, but when i alter the given one it still 
  1859.     occurs, strange.
  1860. changes up to 0.0.23
  1861.     * verified it works on linux, aix and solaris.
  1862.     * fixed a very silly overflow byte vs int bug. 
  1863.     * overhauled unicode conversion, fixed my sprm
  1864.     size detection.
  1865.     * changed table handling so that tables dont
  1866.     end prematurely.
  1867.     * fixed img insertion dummying of wingding font 
  1868.     support.
  1869.     * massively changed my paragraph end detection for
  1870.     complex files, i had the idea all wrong, but close
  1871.     enough that it worked on fairly uniformly formatted
  1872.     files.
  1873.     * works with all uploaded files beginning with A and a
  1874.     theres soooo many to go through :-), im looking
  1875.     forward to getting to b soon.
  1876.     * TO-DO, continue checking against uploaded files,
  1877.     verify header and footer support, start on list
  1878.     information (dum de dum dum dummmm)
  1879. changes up to 0.0.22
  1880.     * check for errno
  1881.     * fix list related crash bug, found by Wayne Roberts 
  1882.     <milcom@netcom.com>
  1883.     * TO-DO, go through the 50 megs of uploaded word
  1884.     files and see do the convert fairly correctly :-)
  1885.     lists need to be done better. i need to confirm
  1886.     language conversion. and check out table of
  1887.     contents field.
  1888. changes up to 0.0.21
  1889.     * for simple format i now decode to utf-8, when appropiate.
  1890.     on viewing many docs with windows netscape 4 it works
  1891.     fine, i dont have the X fonts to do half of the
  1892.     languages under my own X, but hopefully those
  1893.     in the various language blocks can figure out
  1894.     fonts for themselves ?
  1895.     * complex format non-west-european docs might
  1896.     still be shagged, id love to hear from an asian
  1897.     language group as to whether or not the utf8 works
  1898.     for them
  1899.     * some bug fixes by Pavel Machek <pavel@Elf.ucw.cz>
  1900. changes up to 0.0.20
  1901.     * headers are fairly correct now, the spec and me 
  1902.     are confused as to headers and footers though, so 
  1903.     while i *can* do headers and footers, it might require
  1904.     a bit of fine tuning, so i need docs with all sorts
  1905.     of header and footer types in them until im sure im right
  1906.     , but its close enough.
  1907.     * docs with subdocs in them should return the output of
  1908.     the main doc now.
  1909.     *to do, from the veritable deluge of documents in languages
  1910.     i cant read :-), id better handle the non-standard, well
  1911.     non standard to me anyway ! russian and one or two
  1912.     others that i hope fall out in the process, asian
  1913.     would be wonderful.
  1914. changes up to 0.0.19
  1915.     * header support added to complex format
  1916.     * wingding font hack added like symbol font
  1917.     * headers are still not right, footers and headers are all 
  1918.     appearing at the top of the document, ive more work to do on
  1919.     that next.
  1920.     * ive shagged up the parsing of lls output, so docs with
  1921.     ole inside ole will not work even though theres no good reason
  1922.     they dont, bear with me on this
  1923.     * mswordview.wrapper added to allow inline viewing of word docs.
  1924. changes up to 0.0.18
  1925.     * new option to not change msword headings to html headings to 
  1926.     support those dodgy people who dont use them correctly.
  1927.     * fixed what looks like a specialized case for recognizing tables
  1928.     * fixed the lack of - sign.
  1929.     * have a new group of files that convert correctly.
  1930.     * these are minor changes, ill add header handling to complex
  1931.     format tomorrow
  1932. changes up to 0.0.17
  1933.     * lack of getopt.h on some systems taken into account now.
  1934.     * sub and super scripting now in for simple format.
  1935.     * laola.pl changed to continue even if it thinks the file is
  1936.     the wrong length.
  1937.     * added option to not attempt to dummy up formatting done with
  1938.     whitespace.
  1939.     * using gifs for symbols, this will do for html output, for
  1940.     other output in the future we'll have to organize something a 
  1941.     little more sohpisticated
  1942.     * i have some alpha support for headers in at the moment, 
  1943.     if you have headers you "might" see them in russet text.
  1944.