Blob Blame History Raw
CHANGES:

01/3/2017:
- add a parser for Microsoft Multiplan v1.11 mac files

12/27/2017:
- Claris Resolve/Wingz: try to retrieve's the graphic, textbox, ...

-------- version 0.3.14 (start)  -------------

8/23/2017:
- require c++-11 + modernize the code,
- AppleWorks/ClarisWorks: try to retrieve more data in dabase's file
  (the pictures, replace enum id by their values, the calculation's formula).
- PowerPoint: correct a problem with bullet's encoding in v3-v4 Mac's files,
- Microsoft Word: try to retrieve some metadata.

-------- version 0.3.13 (start)  -------------

7/15/2017:
- correct many fuzzing's errors,
- FreeHand's parser: correct some minor errors.

-------- version 0.3.12 (start)  -------------

3/23/2017:
- add a parser to read Windows PowerPoint 95 files

-------- version 0.3.11 (start)  -------------

1/23/2017:
- add some parsers to read Mac PowerPoint v4 files and Windows PowerPoint v2,v4 files

-------- version 0.3.10 (start)  -------------

11/16/2016
- add some parsers to read Mac PowerPoint v1-v3 files and Windows PowerPoint v3 files

10/6/2016
- accept to read structured input containing a DataFork's stream and a RsrcInfo's stream
  (or the three following streams DataFork,InfoFork,RsrcFork)
- modified the converters to create such an input when they find a rsrc fork...

-------- version 0.3.9 (start)  -------------

6/14/2016
- allow to compile with clang++ using arguments:
  "-Weverything -Wno-padded"

6/8/2016
- allow to compile with clang++ using arguments:
  "-Weverything -Wno-padded -Wno-old-style-cast -Wno-covered-switch-default"
- fix some problems found by afl

6/3/2016
- add a parser to Cricket Draw v1.1.1 files,

5/28/2016
- add a parser for MouseWrite files

5/18/2016
- add a parser for MaxWrite files

5/16/2016
- add a parser to Cricket Draw v1.0.1 files,
- add a class to store transformation: MWAwTransformation

5/6/2016
- add a parser for Aldus FreeHand version 1 and 2 files
  which are not converted by libfreehand's library.
  It seems logical to move back someday this parser
  in libfreehand library...
  
4/16/2016
- ApplePict: read uncompressed Quicktime opcode
- ClarisWorks/AppleWorks: retrieve some metadata
- all: generate real date/time fields...
- all: improve the checking of formats when parsing a file

-------- version 0.3.8 (start)  -------------

11/15/2015
- RagTime v5-v6 parser: try to retrieve the embedded spreadsheets
  + begin to understand the hierarchical structures which store
    a chart (but not the meaning of each field),
- ClarisWorks/AppleWorks: find a new structure in the file's header
  (which could prevent to convert some database's file),
- BeagleWorks/GreatWorks/Word Perfect Works: retrieve the picture's
  field in a database
- all: improve a little the methods which create spreadsheets,
- all: make some constructors explicit.

10/13/2015
- add a parser for Style documents(at least v1.6 and v1.9)

10/9/2015
- add file signatures for FullPaint documents which have the same format as MacPaint..

10/8/2015
- add a parser for Pixel Paint documents

-------- version 0.3.7 (start)  -------------

7/22/2015:
- correct many problems detected by afl...

7/16/2015:
- RagTime v5-v6 parser: try to retrieve the main layouts and the
  picture/shape/textbox, ie. now, it generates result but it is
  still very imcomplete... 
- MWAW{Graphic,Presentation,Text}Listener: correct a problem in openGroup
  which may create to incorrect document,
- create an MWAWEmbeddedObject class to store a picture with various
  representation,
- MWAW*Listener: rename insertPicture in insertShape, add a function to
  insert a texbox in a MWAWGraphicShape(which only insert a basic textbox)
  ...

6/22/2015:
- add a parser for MacDraft v4-v5 document
- allow to create pattern's surface with various intensity
- allow to create simple measure

6/14/2015:
- allow to build doc only for the api classes, using --with-docs=no|api|full
  to create no documentation, only API classes' documentations, all classes'
  documentations
  
5/28/2015:
- add a minimal parser for ApplePict v1.v2,
  ie. no clipping, do not take in account the copy mode: srcCopy, srcOr, ...

-------- version 0.3.6 (start)  -------------

5/10/2015:
- add a parser for MacDraft v1 Document

4/29/2015:
- add a parser for ClarisDraw Document

4/18/2015:
- RagTime v5-v6 parser(not functional): continue to works on this filter,
  try to find the different kinds of cluster and how to parse them, ...
- AppleWorks/ClarisWorks parser[spreadsheet]: do not remove first empty row/columns.
- remove all assert calls
- rename Box2,Vec2,... in MWAWBox2, MWAWVec2,... to avoid potential name's conflict

-------- version 0.3.5 (start)  -------------

12/26/2014:
- modify API's functions to avoid potential throw.

11/9/2014:
- AppleWorks/ClarisWorks parser[draw]: 
  try to send master pages on each page of the final documents
  try to do not cut shapes, pictures which are on several pages (by creating bigger pages)

10/29/2014:
- MacDraw Pro: add a parser for MacDraw Pro v1

-------- version 0.3.4 (start)  -------------

10/2/2014:
- RagTime v5-v6: begin to find the main structures in a document, to be continued...
- fix some coverity problems.

9/12/2014:
- AppleWorks: add a presentation parser

8/22/2014:
- MacDraw II: add a parser for MacDraw II v1.0-v1.1

-------- version 0.3.3 (start)  -------------

7/28/2014:
- AppleWorks/ClarisWorks: manage multiple headers/footers + better rebuilding of complex group

7/1/2014:
- MacDraw: add a parser for v0 and v1 documents

6/22/2014:
- RagTime: add a parser to parse v2 and v3 documents

6/6/2014:
- rewrite MWAWCellContent::double2Date to avoid problem with 32/64 time_t values
- correct many <<small>> problems

-------- version 0.3.2 (start)  -------------

5/23/2014
- create version 0.3.1 to be in correspondance with librevenge-0.0.0

5/13/2014
- add code to create embedded spreadsheet
- AppleWorks/ClarisWorks: send page's embedded spreadsheets as spreadsheet (instead of table) 

-------- version 0.3.1 (start)  -------------

4/16/2014
- GreatWorks: add a database parser which uses spreadsheet interface

4/8/2014
- BeagleWorks/WordPerfect Works: add a database parser which uses spreadsheet interface

4/3/2014
- MicrosoftWorks: add a database parser which uses spreadsheet interface

3/29/2014
- MicrosoftWorks: add a graphic parser(must find more document to improve it)

3/21/2014
- GreatWorks: replace the parser of vector graphic documents by a parser
  which generates graphic documents + correct to code to reconstruct arc/pie

3/19/2014
- BeagleWorks/WordPerfect Works: add parser of vector graphic documents

3/13/2014
- SuperPaint: add a parser of drawing SuperPaint v1 document

3/7/2014
- SuperPaint: add a parser of Paint SuperPaint v1 document

3/5/2014:
- AppleWorks/ClarisWorks: make the parser of the paint documents
   a parser which creates graphic (instead of a text document).
- MacPaint: add a parser of MacPaint document + move the code
   to parse GreatWorks v1 paint files (which have the same format)
   in this parser.
3/4/2014:
- GreatWorks: add parser of paint documents
3/3/2014:
- BeagleWorks/WordPerfect Work: add parser of paint documents
2/28/2014:
- transform MWAWGraphicListener into a listener able to export draw files

2/21/2014:
- Claris Resolve: add a spreadsheet parser (only export spreadsheet's content
  but not the frames)
- Claris Resolve/Wingz: try to decode encrypted files

2/14/2014:
- Wingz: add a spreadsheet parser (only export spreadsheet's content
  but not the frames)
- check that the output of the different executables are compatible with
  help2man --help-option=-h --version-option=-v --no-discard-stderr EXECUTABLE

2/2/2014:
- AppleWorks/ClarisWorks: add a spreadsheet parser for spreadsheet
  (only export main spreadsheet's content but not the frames), and
  for database(export the main database content row by row as a
  spreadsheet)

1/23/2014:
- add some enums of pure spreadsheet applications...

1/22/2014:
- GreatWorks: add a spreadsheet parser(main content + some graphics)

1/17/2014:
- MicrosoftWorks: add a spreadsheet parser(main content + some graphics)

1/10/2014:
- rename all the parser files to recognize more easily the parser...

1/6/2014:
- BeagleWorks/WordPerfect Work: add code to retrieve chart, very basic,
  ie. retrieve only the data ranges:-~
- add a class MWAWChart to store and create some basic charts

12/26/2013:
- rename mwaw2odt in mwaw2odf in writerperfect
- BeagleWorks/WordPerfect Work: add a spreadsheet parser

12/22/2013:
- add a listener MWAWSpreadsheetListener to create spreadsheet document

12/18/2013:
- create simple graphic shapes directly (rectangles, lines, cicles, polygon),
  ie. no longer create an embedded object to export a single graphic shapes.
  Note: the path shapes and the shapes' group continue to create an embedded
  object 

11/02/2013:
- update libmwaw to depend on librevenge

============== end of version 0.2. =================

12/02/2013:
- AppleWorks/ClarisWorks parser: recognize more bitmap

-------- version 0.2.1 (start)  -------------

10/19/2013:
- switch to version 0.2: simplify the interface to retrieve graphic created
  by libmwaw, add possibility to manage password in some near futur, try
  to make all enum more meaningfy.

10/17/2013:
- Microsoft Word parser: try to improve the parsings of the character and
  paragraph properties. This must correct most of the problems concerning the 
  paragraph properties but only some concerning the character properties.

10/10/2013:
- AppleWorks/ClarisWorks parser: begin to parse the spreadsheet and
  database structure + begin to reconstruct a spreadsheet present in a
  word text document in a table.
  Create a small tool mwaw2csv to retrieve the main content of a spreadsheet
  /database AppleWorks/ClarisWorks.

10/07/2013:
- AppleWorks/ClarisWorks parser: retrieve the patterns, the wallpaper;
  send the reconstructed bitmaps with the good size; retrieve the accross
  pages in a drawing document; try to reconstruct a single picture for a
  group of shape, ...

09/27/2013:
- FullWrite parser: retrieve the header/footer + better reconstruction of
  frame's borders

09/25/2013:
- HanMac Word-J: retrieve the patterns, the textboxes borders and links,
  try to reconstruct a single picture for a group of shape, ...

09/23/2013:
- HanMac Word-K: retrieve the patterns, the textboxes borders and links,
  try to reconstruct a single picture for a group of shape, ...

09/18/2013:
- add some functions to MWAWGraphicListener: to make it more similar to
  MWAWContentListener
- create a virtual parent class MWAWListener which regroups the similar
  function in MWAWGraphicListener and MWAWContentListner,
- GreatWorks parser: add pattern+gradient, generate pictures which
  regroup many shapes, remain some problem with z-index

09/15/2013:
- make MWAWPictBasic disappear

09/13/2013:
- add MWAWGraphicListener: a listener to create complex picture; first try, must be improved...
- add MWAWGraphicInterface: an internal graphic interface a la libwpg-0.3.0 ( which contains
  functions to output in libwpg-0.2.0 format )
- begin to remove the calls to the previous classes in MWAWPictBasic...

09/11/2013:
- add a class MWAWGraphicShape to define basic shapes,
- begin to remove call to MWAWPictBasic to prepare the creation of a MWAWGraphicListener
- check that Acta, BeagleWorks/WordPerfect Work, LightWay Text, MacDoc, MacWrite,
  Mariner Write, Nisus Writer, WriterPlus, Z-Write use the new properties' classes

09/07/2013:
- More Parser: recognize basic picture in the main data text
- check that DOCMaker, eDoc, More, MindWrite, SimpleText, Tex-Edit, WriteNow
   use the new properties' classes,

09/06/2013:
- refactor the graphic generation: add classes to define complex graphic
  styles and modify the basic shapes, text box and group classes to create
  more complex pictures. 
  This will probably imply to introduce a GraphicListener in some near future,
  but not now...
- modify Microsoft Works parser to use these classes to generate ( when possible)
  graphics with pattern, gradient background and to render a group of simple
  shapes and text in one graphic (when possible)

============== end of version 0.1. =================

07/31/2013:
- recognize more WriteNow 1.0 files

07/29/2013:
- check that the Microsoft Word use the new properties' classes,
- Microsoft Word parser: understand where the different properties
  are exactly stored,

07/16/2013:
- check that LightWay Text, Mariner Write, Microsoft Works, WriterPlus
  use the new properties' classes,
- Microsoft Works parser: retrieve the cell background and font colors +
  try to recognize functions patterns,

07/15/2013:
- check that FullWrite use the new properties' classes,
- try to retrieve the pages' margins, the sidebar and their content,

07/09/2013:
- check that Acta, BeagleWorks/WordPerfect Works, GreatWorks, HanMac Word-J,
  HanMac Word-K, Nisus Writer, Z-Write use the new properties' classes,
- HanMac Word-J, HanMac Word-K: retrieve the extra line's style in a table's
  cell,

07/07/2013:
- add a parser for MacDoc v1.3 document and self-reading document

07/05/2013:
- MWAWZip and MWAWFile: look also in FINDER.DAT and RESOURCE.FRK to retrieve
  resource fork
- MacWrite II/Pro: use patterns to define the final color + retrieve
  table's cells properties
- WriteNow: retrieve table's cells properties
- check that AppleWorks/ClarisWorks, DOCMaker, eDoc, MacWrite, MindWrite,
  More, SimpleText, Tex-Edit, WriteNow use the new properties' classes,

07/02/2013:
- refactor the MWAWCell and MWAWTable classes

-------- version 0.1.11 (start)  -------------

06/24/2013:
- add a parser for BeagleWorks v1.0 and WordPerfect Works v1.2
- optimize a little the detection of a hqx/zip Document

06/14/2013:
- modify the code to use RVNG_SEEK_END when possible

06/12/2013:
- add a parser for GreatWorks v1-v2 to read text and draw document

05/28/2013:
- add a parser for More 2.0 and 3.0, retrieve the organization
  part but not the slide/tree parts ( one days in a Library
  to retrieve slides ? )

-------- version 0.1.10 (start)  -------------

05/13/2013:
- improve a little the Microsoft Word filter to better manage
  character and paragraph properties

05/07/2013:
- check that the remaining parsers (excepted Microsoft Word) use the
  new properties' classes,
- add table generation in FullWrite parser,
- rewrite from scratch zip.cpp (to avoid using different license),
- + many code corrections done by David Tardon.

05/03/2013:
- check that the WriterPlus parsers use the new properties' classes,
- simplify a little the code of MWAWDocument

04/30/2013:
- add a parser for Acta v2 and Acta Classic v1,
- check that the DOCMaker, eDOC, SimpleText, Tex-Edit, Z-Write parsers
  use the new properties' classes,

04/25/2013:
- rewrite MWAWPageSpan,
- add classes MWAWField, MWAWNote, MWAWSection to store/manage
  field, note, section properties,
- check that the ClarisWorks/AppleWorks, MacWrite, MindWrite,
  WriteNow parsers use the new properties' classes,
- improve a little the ClarisWorks/AppleWorks frame position by
  placing <<correctly>> all page's frames,
- MWAWContentListener : add a sanity check to insure that at most
  200 very small pictures are generated.

04/14/2013: ----- version 0.1.9 (start) ---------

04/14/2013:
- check that the Microsoft Word parser use all
  the paragraph properties
- improve a little the Microsoft Word filter to better manage
  character and paragraph properties

04/04/2013:
- add parser for HanMac Word-J document
- HanMac Word-K: retrieve header/footer, footnote, section, ...

03/12/2013: ----- version 0.1.8 (start) ---------

03/12/2013:
- skip version 1.6 ( to be coherent with tag )

03/08/2013:
- check that HanMac Word-K and Microsoft Works parser use all
  the paragraph properties
- refactoring of the windows building by Fridrich Strba + many
  other improvements...

03/04/2013:
- check that Claris/AppleWorks, Mariner Write, MindWrite parsers use all
  the paragraph properties
- add the management of outline ( normal and hidden ) in FullWrite
  parser and the management of paragraph borders. Remains some problems,
  ...

02/22/2013:
- begin to add a new list manager in MWAWList
- check that eDOC, DOCMaker, LightWay Text, MacWrite, Nisus Writer,
  SimpleText, Tex-Edit, WriteNow, WriterPlus, Z-Write parsers use all
  the paragraph properties

02/09/2013:
- begin to rewrite MWAWParagraph
- add a SimpleText/TeachText v1.2 parser
- add a Tex-Edit v2.7 parser

02/06/2013:
- add a parser for eDOC v2.1 document

01/30/2013: ----- version 0.1.7 (start) ---------

01/30/2013
- update Mariner Write and Microsoft Word to use new font properties,
- manage multi header, table, fill properties in Mariner Write filter,
- improve a little the Microsoft Word filter to better manage character properties

01/21/2013
- update HandMac Word-K, LightWay Text, Nisus parser to use the new font properties, 
- modify mwaw2html to use html5 and CSS properties,
- add OS6 Central European, Cyrillic, Turkish encodings ( do not know if encoding finding works ).

01/14/2013
- add a DOCMaker v4 parser
- update mwawFile to use xattr functions and to look for a ._FILE if no attributes if found...
- modify mwaw2html to recognize more styles and better treat footnotes, ...

01/10/2013
- update FullWrite* parser to detect more paragraph properties (to be continued),
- update Apple/ClarisWorks, FullWrite*, MindWrite, Microsoft Works parsers to use the new font properties,

01/06/2013:
- create a class MWAWColor to store color,
- begin to rewrite MWAWFont to add new properties 
  and update MacWrite*, WriteNow, WriterPlus parsers to use the new properties
- add MWAWFontSJISConverter to decode S-JIS encoding
  and update Claris/AppleWorks and LightWay Text to use it.
  Seems to works for the first parser ( ie. Google finds resulting words :-) )
  but not to the second parser ( ie. the SJIS-encoding is not even detected in
  my 2 Japanese's files :-~ )

01/01/2013: ----- version 0.1.5 (start) ---------

12/30/2012
- add a first parser for Z-Write 1.3.

12/26/2012
- add a first parser for LightWayText 4.5 ( only Mac Format ), autoindent,
  macros not implemented.

12/21/2012
- add a first parser for Mariner Write Lite 1.6, other Mariner Write 1.* may
  be recognized ( ignoring some features : table, multi-columns, multi headers,
  ...) ; but I do not have enough file to test.

12/07/2012
- add a first parser for HanMac Word-K document ( 2.0.5 and 2.0.6 ),
  in debug mode, the HanMac Word-J (2.0.4) are also recognised and a few
  zones are parsed but no output is generated...

11/12/2012: ----- version 0.1.4 (start) ---------

11/12/2012
- try to improve a little the claris/appleworks parser
  ( use vertical descent to add AppleWorks v6 char attachment,
    use border and background color parameters when building table
    cells and some frames )

11/01/2012
- add a OSX specific tools: mwawFile to allow to find the type of old files
  ( Note: this tools using specific OSX calls deprecated in 10.8 can
    probably only compile for mac target 10.4<->10.7 )

10/26/2012
- minor improvements on the Nisus Parser + find some Nisus 3.4<->6.5 files
  and check that the parser can read them.

10/21/2012:
- try to improve a little the FullWrite Professional parser
  ( understand better two of the three main structures + begin to
    send rulers, some anchor picture and some variable picture )

09/30/2012: ----- version 0.1.3 (start) ---------

10/09/2012:
- add a Microsoft Word parser for v1 and v3 (incomplete)
09/30/2012:
- try to improve a little the claris/appleworks parser
  ( reconstruct the table, build the graph structure + begin to
    try to send some pages anchor picture/... )
- add vcproj and vcxproj files (inpired by libwps, not tested)

09/15/2012:
- add Nisus Writer 4.0 parser
- add code to read zip and binhexed files 
    and so retrieve the resource fork
- try to sign the libraries and the executable:
    lib[mwaw|wpd|wpg]*.dylib and mwaw2odt

07/31/2012: ----- version 0.1.2 (start) ---------

07/30/2012:
- retrieve tables and pictures in Microsoft Word 4-5
  document (incomplete)
07/16/2012:
- add Microsoft Works 4.0 parser

06/28/2012:
- add MindWrite 2.1 parser

06/28/2012: ----- version 0.1.1 (start) ---------

05/28/2012:
- add a Microsoft Works 3.0 parser

05/20/2012: ----- version 0.1.0 (start) ---------
- rename all the files to simplify the hierarchy,
  which implies a major version bump:-~,

============== end of version 0.0. =================
04/14/2012: 
- add Microsoft Works 1.0, 2.0 parser
- add a crude parser for FullWrite Professional

03/17/2012: 
- tags 0.0.2

03/13/2012:
- add MacWrite II, MacWrite Pro 1.5, WriteNow v1.0-v2.0 parser
- add Microsoft Word v4.0-v5.0 parser
  ( crude version which retrieves the text)

02/04/2012:
- add parser for MacWrite Pro 1.0
- tags 0.0.1

01/12/2012: add first version of WriteNow 3.0 and 4.0 Parser 

12/19/2011: creation
- libmwaw created from on version of libwps.
- add first version of MacWrite 4.5 and ClarisWorks/AppleWorks Parser