28 July 2019: dvisvgm 2.7.4 has been released

This is another small maintenance release with the following changes:

  • Fixed a memory issue occurred when calling Metafont.
  • Fixed potential rounding issues in conversion of color values (issue #116).
  • Changed the location of the cache files from ~/.dvisvgm/cache to $XDG_CACHE_HOME/dvisvgm which usually expands to ~/.cache/dvisvgm (issue #112).
  • Some minor refactorings.
12 July 2019: dvisvgm 2.7.3 has been released

This is a small maintenance release with the following changes:

  • Fixed randomly missing glyph paths referenced by use elements (issue #110).
  • Minor updates of the manual page.
  • Some code refactorings.
7 June 2019: dvisvgm 2.7.2 has been released

This maintenance release fixes an issue introduced with Ghostscript 9.27. The removal of the PostScript dictionaries GS_PDF_ProcSet and pdfdict from the public interface leads to an error message when processing PDF files with dvisvgm.

The changes in Ghostscript 9.27 also break the PDF functionality of GSview 5.0 by Russell Lang. An unofficial, fixed version can be downloaded here.

20 May 2019: dvisvgm 2.7.1 has been released

This is a small maintenance release with the following changes:

  • Fixed a bug in PostScript operator setmatrix (issue #106).
  • Fixed a build issue reported on MacPorts.
  • Added the source files required to access the MiKTeX session object as the MiKTeX SDK has been deprecated.
13 April 2019: dvisvgm 2.7 has been released

The main new feature of this release is command-line option --optimize which allows for optimization of the generated SVG tree after it has completely been built from the DVI data. The optimizations are performed by running separate optimizer modules which are executed one by one in a given order and thus transform the XML tree gradually. Currently, the following optimizations are available:

  • Move common inheritable attributes of adjacent elements to group elements.
  • Combine nested groups and unwrap groups without attributes.
  • Remove redundant clipPath elements.
  • Simplify transform attributes.

More detailed information on option --optimize and the optimizer modules can be found on the manual page.

Furthermore, a couple of smaller additions and changes have been made:

  • All raw specials are now parsed and converted to proper XML nodes so that the optimizer can also process SVG fragments added by the user.
  • Several improvements to SVG graphics path descriptions:
    • Redundant spaces and leading zeros are omitted.
    • Line commands representing zero-length lines are removed.
    • The detection of reflected control points in Bézier curve sequences has been improved. As a result, the shorthand curve commands are applied more often.
  • Added support for PostScript operators xshow, yshow, and xyshow.
  • Added evaluation of optional psfile/pdffile special attribute clip which clips the drawing region to the bounding box of the image being processed.
  • Added the \special variants dvisvgm:bbox lock and dvisvgm:bbox unlock to disable and enable updating of the bounding box. By default, dvisvgm adapts the bounding box of the current page if a new graphics element is added. This behaviour can be paused and resumed with the new specials.
  • Added optional modifier transform to dvisvgm’s bbox specials to allow for applying the current transformation matrix to the bounding box.
  • Added macro {?matrix} to dvisvgm’s raw specials. It expands to the current transformation matrix, e.g. matrix(0 -1 1 0 -214.88 106).
  • Option --exact has been renamed to --exact-bbox. This change is backward compatible due to dvisvgm’s partial matching of option names.
  • The bundled xxHash library was updated to version 0.7.0.
  • Lots of code refactorings.
9 March 2019: dvisvgm 2.6.3 has been released

This is mainly a bugfix release with the following changes:

  • dvisvgm now creates short, three-digit RGB hex values for color attributes if possible, e.g. #123 instead of #112233.
  • Fixed the rejection of paper formats, like A4, given as argument to option --bbox.
  • Fixed the adaption of the vertical orientation when processing EPS/PDF files.
  • Fixed the handling of backslashes in EPS/PDF file paths (Windows only).
  • Updated the bundled Google Test library to version 1.8.1.
  • Some code refactorings and improvements of the build system.
23 January 2019: dvisvgm 2.6.2 has been released

This maintenance release resolves a couple of PostScript issues that were reported recently.

  • Fixed the scaling of line properties in PS operator grestore.
  • Fixed the handling of PS operators charpath and show which may call each other internally.
  • Improved the processing of PS operator clippath.
  • Prevent visible side-effects of PS operator stringwidth.
  • Updated the bundled brotli library to version 1.0.7.
  • Some modifications of the build system to simplify the maintenance of dvisvgm in TeX Live.
12 October 2018: dvisvgm 2.6.1 has been released

This is a maintenance release that fixes a couple of issues regarding the build system. The functionality of the dvisvgm utility itself hasn’t changed.

  • Added configuration option --disable-manpage to prevent generating the manual page (issue #93).
  • If configuration option --disable-bundled-libs is given and some of the required system libraries are missing during build time, the corresponding bundled libraries are used as a fallback (issue #94).
  • Updated the bundled brotli library to version 1.0.6.
  • Fixed a build issue occurred with GCC 4.8.