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:
RevisionActionfile
1.11modifypkgsrc/converters/libvisio/Makefile
1.6modifypkgsrc/converters/libvisio/PLIST
1.6modifypkgsrc/converters/libvisio/distinfo