This is a small maintenance release with the following changes:
- If available, dvisvgm now calls
mfto process Metafont files (issue #121).
- Fixed the switching between PostScript’s null device and the regular page device in PS operator
- Fixed a PostScript error triggered by backslashes in file paths (Windows only, issue #123).
- Fixed a build issue related to GCC on Solaris 11.
- Some code cleanup.
- Added SVG optimizer module
simplify-textto move common attributes from
tspanelements to the enclosing
tspanelements are removed afterwards.
- Added support for PS operator
nulldevicewhich is used by a couple of LaTeX packages. It’s used to temporarily suppress graphic output when executing drawing or text commands.
- Absolute paths given in special
psfileare now retained in the SVG file when referencing external image files.
- Some code refactorings.
This is a small feature release with the following additions/changes:
- Added support for JPEG, PNG, PDF, and SVG files to special
- Added support for Ghostscript 9.50 which introduced incompatible changes regarding option
-dSAFER. Due to security reasons
SAFERis now active by default and therefore conflicts with
WRITESYSTEMDICT. Since dvisvgm requires the latter two to work correctly, Ghostscript must now be called with
-dDELAYSAFER. Otherwise, it prints some warning messages and stops with a PostScript error, e.g. like so:
*** WARNING - you have selected SAFER, indicating you want Ghostscript to execute in a safer environment, but at the same time have selected DELAYBIND. Unless you use this option with care (and specifically, remember to call .bindnow) it is possible that malicious code may be able to evade the limited security offered by the SAFER option. *** WARNING - you have selected SAFER, indicating you want Ghostscript to execute in a safer environment, but at the same time have selected WRITESYSTEMDICT. Unless you use this option with care and specifically, remember to execute code like: "systemdict readonly pop" PostScript error: invalidfileaccess in run
dvisvgm 2.8 fixes this issue. All versions prior to 2.8 don’t work together with GS 9.50 (and later).
- Added support for elliptical arc segments in graphics paths.
- Added support for CMap operator
begincidchar(thanks to Akira Kakuto for sending the patch).
- Added suport for experimental 128-bit
- The SVG optimizer module
simplify-transformhas been extended to incorporate translation and scaling components into positional and size attributes if possible.
- The CRC32 checksums used to verify the sanity of cache files has been replaced with
- The bundled potrace library has been updated to version 1.16.
- The bundled xxHash library has been updated to version 0.7.2.
- The bundled Google Test library has been updated to version 1.10.
- Lots of code has been refactored and improved.
This is another small maintenance release with the following changes:
This maintenance release fixes an issue introduced with Ghostscript 9.27.
The removal of the PostScript dictionaries
the public interface leads to an error message when processing PDF files with
The main new feature of this release is command-line option
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
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:
rawspecials 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:
- Added support for PostScript operators
- Added evaluation of optional
clipwhich clips the drawing region to the bounding box of the image being processed.
- Added the
dvisvgm:bbox unlockto 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
bboxspecials to allow for applying the current transformation matrix to the bounding box.
- Added macro
rawspecials. It expands to the current transformation matrix, e.g.
matrix(0 -1 1 0 -214.88 106).
--exacthas 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.