Path to this page:
Subject: CVS commit: pkgsrc/converters/libvisio
From: Thomas Klausner
Date: 2012-12-09 00:49:36
Message id: 20121208234936.8F0BD175DD@cvs.netbsd.org
Log Message:
Update to 0.0.22:
Bump version
Trying to unify the stencil extraction and the other parsing function
Those ones don't need to be virtual anymore
Unify all VSD2 - VSD5 in one parser
Unify blob parsing over binary format versions
Unsigned signed comparison
Little fixup
handle blog in the same way for all <= 5
Bump version, because I can
Field List is a list too
Fix background page detection for versions < 6
Simplify the inheritance a little bit
Fix foreign in VSD 5-
Some fixes for line and fill styles
Some colour reading fixes for VSD <= 2
Fix stencil extraction for vsd <= 5
Miscellaneous fixes + text for VSD <= 5
Consider correctly the font encoding information
Vertical alignment in center is default in Visio
Trying to read the blob in the same way in all 16-bit versions
Spit actual images in VSD1
Some more work on VSD1 and VSD2 parsing + some stream fixes
Some more progress on version 5
Read VSD5 fill and line information
Remove the generated files only on distclean
Typedefs for MSVC
Abstraction of reading of integers
Some progress in VSD5 parsing
Some more work on vsd1/2/3/4/5
Some more VSD2 - VSD5 infrastructure - work in progress
Some more chunk work, but slow
Setting framework for different parsing of v5 and v2
Set groundwork for vsd5 and lower chunk parsing
Extend the parsing capacity to versions 1 - 5
Don't crash on empty or almost empty pointer order list
Detect non-OLE binary Visio documents
Fix warning C4244
´initializing´ : conversion from ´double´ to ´unsigned char´, \
possible loss of data
Some more work on VSD5 parser
Allow the parser to parse VSD4 and VSD5 + read pointers in < 6 correctly
Fix underlinking with gold.
Fix a memory leak
Fix extraction of stencils from xml file-formats
Fix scope of the variable 'X' can be reduced
Missing include for older compilers
Silence some warnings
Allow specifying boost include directory too
Add libxml2 include and library directories
Add the Visual Studio 2010 files
Those don't need to be executable
Add Visual Studio 2008 files
Like in libcdr, detect each pkg-config dependency separately
Fill missing char/para style only with legitimate default styles
Default para/char style is first para/char style if no style 0 is present + \
fill inexisting styles from default
Collect default para/char styles
Don't overwrite charCount on style override
Functions to reset charCount in char/para styles and a function to get a \
char/para list level
Make charCount non-optional in paragraph styles
Make charCount non-optional in character styles
Fix some typos in the VSDXParser
Actually the relative beziers give control points
Update alternative build systems
Some infrastructure for overriding of character and paragraph styles
Let parser recover on errors
Whitespace is significant in this context
Clean page shape list at the beginning of a page
A horrible typo that takes hours to discover :)
Consolidate the way of reading font information
A little work on text block styles
VDX: actually read the text block properties
Only one charlist and paralist can be in a shape
Override paragraph and character lists
Read TextXForm data too
Calm valgrind
Don't handle utf-8 as ansi + try to not run out of bounds
Don't prefill the stencil text
Actually output some text
Trying to parse text in XML parsers
Extract IX reading to a function
Stub ParaIX and CharIX reading in VDX and VSDX parsers
Read the stylesheet in second pass
Initialize the default colour palette even if no colour section exists in file
In a generic way skip unhandled sections
inheritance of the styles is handled in the collectors
Skip useless sections instead of diving into them
default excentricity cannot be 0
Some more boost::optional foo
Simplify the reading of data to reuse as much as one can
NURBS and Polyline support for VDX and VSDX
Stub the parsing of polyline and nurbs functions
Move more stuff to boost::optional
unify some stuff between the VSDX and VDX parsers
boost::optional::is_initialized is deprecated
Fix a typo
If there are both Master and MasterShape attributes missing, it is simply \
master-less shape
Removing unused fill-related variables
Refactoring the fill style output
Remove unused member variables
Simplify the function handling line styles
A little change in style outputting, still more to come when time allows
Fix showing of foregins + write styles only if needed
All styles pushed using optional styles
Allow getting optional styles from the stylesheets
Don't default-construct black backgrounds
Don't append double Z segment and assure that ellipse is always closed
Don't draw markers on closed path segments
No point to dupplicate code in two different functions
Consider also styles ids 0
A little refactoring of styles in VSDContentCollector
add override for optional styles too
readUnsignedCharData -> readByteData + move a bit
Move the getColourString to a better place
No need for a whole template for 2 sorts
Actually disables -Weffc++ when requested
Pass more properties as boost::optional
pass the noLine, noFill, noShow to boost::optional too
Some more path elements using boost::optional
Pass some of the attribute reading to boost::optional
VDX overrides geometries the same way as VSD, VSDX overrides only what needs to \
be overridden
The common class can have those two data members
Try to fill the first 24 colour values
Implement empty geometry element to handle deleted segments like a big boy
Shadow offset for Y-axis must be inverted
Assure that the geometry elements will be always output sorted by keys + fix leak
Fix some little problems in the VDX and VSDX parsers
Trying to fix the extended colour reading
Try to detect when the shape is not started
Determine the first stencil shape correctly
Clean up reading of VSDX shape properties.
Remove uninitialised variable compiler warning.
Read byte from VSDX XML string.
For use with VSDX values of type PtgByte (unsigned byte).
Some fixes in colour
Some infrastructure to parse the relative geometry rows
Simplify the styles a bit
Simplify the styles code a bit
Some work on styles
Some wireframe output for VDX and VSDX parsers
Parsing line, fill and text block information in VSDXParser
Convenience pointer to access the current geometry list
Prefill shape's m_geometries from stencil
m_geometries being a map
Make the test documents in VSDX and VDX parsers pass
Fix one hang in VSDX parser
Basic support of raster images in VDX and VSDX parser
Try not to crash in XML based parsers
_flushShape for VDXParser too
_flushShape uses member variable anyway
Add Foreign reading functions
Add some readability
Read the xform directly to the shape structure
Some work on the xml-based parsers
Slight modification of the base 64 decoder
addShapeId when shapes document order is their rendering order
Append WPXBinaryData from a base64 encoded string
Flush all shape information to the collectors in one run/function
Use different shapeLists for page shapes and group shapes
send shapesOrder only if it is not empty
Flush shapes order whenever we know it
Add m_shapeList member to VSDShape
First check for non-empty and then look for top()
Adapt collectors to the information that will be available from VDX and VSDX \
parsers too
Remove some leaks
VSDParser: use more of the VSDShape internals to keep information
Implement VSDShape::clear()
Get rid of m_fieldList
Revert a part that creates more problems then it solves
If a key is not found in a map, operator[] default-constructs an element and \
returns its reference
Trying to improve the field-related code
Some fixes of fields and line-breaks
Try to pass to the collectors the shape at once
Some little improvements
A bit more of simplification
Avoid dynamic_cast
Don't add empty geometries
Trying to refactor a bit more
Fix debug build
Diminish pointer use a bit
Fix possible uninitialized variables
More VSDParser refactoring
Try to finalize the _flushShape function
Some constness changes
Store some more stuff in the VSDShape object
Some more styles passing simplification
Simplify the passing of line and fill information
Simplify the collectXFormData and collectTxtXform functions a bit
Some more simplification of the VSDParser
Simplyfy handling of shapes a bit
m_stencilShape -> m_shape
Access directly the stencil shape using master page and shape IDs
VSDStencilShape -> VSDShape
Some cppcheck cleaning
Some more configurability about warnings
Some more readability an error-proof changes
This is a bit more readable
Add stencil xform and txtxform
Try to start to parse shapes
Don't pass geomFlags to the collectors
Don't crash on invalid namespace uris in SolutionXML elements
Don't abort on themed values
Try to unify stuff into a common XML parser base
Simplify a bit
Output pages in VSDXParser too
Handle normal and background pages differently
Read the information about background page in VDX files too
Pass to collectors information about background page
Detect a background page early
Include VSDXMLTokenMap.h in the VSDXParser and move the later into the \
libtokenmap helper library
Some framework for VSDX parser
And also fix some bugs, so that regression suite is happy
Pass the transparency to collectors as double
VDX: Output now finally empty pages with the right sizes
Make the VSD parser a bit more robust
- Some documents can have empty groups/shapes, so handle that
graciously.
- Only wrap by try block the reading part, not the whole nested
function calls in order not to handle exceptions thrown by other
functions.
Our assumptions about stream formats are a bit fragile, so don't fail if we are \
not right
Simplifying a bit the colour stuff
Rewriting the collectors to be more useful for VDX too
VDX: parse xform data
Parse VDX TextBlock properties
Add a token id
Parse VDX fill and line properties
Some more VDX parser stuff
Start to parse the font and colour list in VDX parser
Add all VDX elements
For security, check for sed
Export only useful functions + speed-up rebuild when tokens change
Setting up a hash framework for intelligent work with xml tokens
requires gperf >= 3.0.0 at build time
Try to avoid memory management of libxml2 strings as much as possible
Allow building against older libwpd-stream, but without performance boost
Set a custom error handler for xmlTextReader
Speed-up zip central directory search, but depend on git version of libwpd
Add BIPU VDX parser
Extract binary data streams pointed by <Rel .../> tags too
Flatten the xml that reader functions have to read by following the <Rel \
.../> tags
Adapting alternative build systems
Add VDX typedetection
Spin off the XML stuff in view of VDX support
Simplify a bit the VSDXParser
Clean up the paths pushed to the API
Suck in the collectors to the VSDX picture
Find a way to rebase the targets just after reading of the relationships
Some more relationship and stream parsing boilerplate
Add function to get relationships stream for a target
Visio 2013: Parse OPC relationships and make the typedetection a bit more serious
Some BIPU typedetection for vsdx + some parser boilerplate
Stub the VSDX parser
pointless whitespace cleanup to increase my commit count
Updating the alternative build systems too
Prepare for the new VSDX file-format (ooxml version)
fix reassignment a value before the old one has been used
Don't output the last line break in a paragraph
Prevent automake warnings
Trying to output line breaks that are not paragraph breaks
Some initial handling of 0x0* type of streams
Bump version so that one can detect the presence of the new stencil parser
BIPU vss2* support
Initial stencils extraction
set WPXParser::m_extractStencils to true in order to get
stencil pages instead of normal pages
Trying to unversalize the parser
Extract chunk reader logic in order to reuse with blobs
Trully implement 'level continuum'
Simplify a bit the code
Revert "Implement 'level continuum'"
This reverts commit e44063e93b8f0ff9bcd62a26e91045192030773a.
Implement 'level continuum'
Little tiny cleanup
Those streams are blobs, and we will not descend them, so return -> break \
for consistency
Getting rid of handleForeignOle
Get rid of handleStencilForeign function
Move handleStencilPage to handleStream
Unify a bit the logic of different stream parser functions
Files: