- Enabled the evaluation of expression
{?(...)}
in specialdvisvgm:rawdef
(issue #175). - Fixed a regression concerning the positioning of PDF graphics with special
pdffile
(issue #174). - Fixed some build issues for older C++ compilers.
- Added the functionality to sequentially convert multiple EPS files given on the command-line.
- Added variables
n
andN
to option--output
that represent the number of the file currently being processed and the total number of input files given on the command-line, respectively. - Fixed the selection of the hash algorithm set by option
--page-hashes
. - Improved the computation of glyph heights and depths.
- The SVG optimizer now also simplifies
transform
attributes when collapsing group elements. - Extended several paragraphs of the manual page with more detailed information on the corresponding topics.
- Updated the bundled xxHash library to version 0.8.1.
- Updated the bundled GoogleTest framework to version 1.11.0.
Ghostscript has introduced a completely rewritten implementation of its PDF interpreter, which is now implemented in C instead of PostScript. This has a lot of advantages besides the performance improvements. For third-party applications like dvisvgm, however, this change has significant impact on the functions that can be provided. dvisvgm relies on the possibility to overwrite PostScript and PDF operators in order to directly communicate with the interpreter. The nice thing about the current PostScript-based PDF interpreter is the fact that both PostScript and PDF code can be treated almost equally.
As of Ghostscript 9.56.0, this will no longer be possible, and as far as I can tell from the documentation, there is no way to replicate the current functionality. As a consequence, all PDF functionality currently available in dvisvgm will no longer work with the upcoming Ghostscript releases. Therefore, it will require the parallel installation of Ghostscript 9.55.0 or earlier. In the long run, I’ll probably have to drop PDF support since I don’t have the resources to implement a completely new PDF handler.
- Added transparency support for SVG elements created outside the PS handler (issue #148).
- Fixed a spacing issue caused by unexpected newline characters in SVG output.
- Fixed PostScript errors occurred when defining (yet unsupported) shading patterns.
- Fixed a bug that prevented proper coloring of PostScript tiling patterns (issue #158).
- Fixed graphics displacements that occurred if the PDF MediBox is not located at the origin.
- Fixed the handling of root directories of file paths.
- Improved the handling of drive letters (Windows only).
- Several code refactorings and improvements.
This is a small maintenance release.
- Fixed possible ambiguities of GID to charcode mappings (issue #147).
- Refactored the representation of token objects in class
Calculator
. - Few minor code and test improvements.
- Added fallback mechanism for JFM-based virtual fonts as proposed by Takuji Tanaka (issue #144).
- Improved detection of proper CMap files for currently selected font encoding.
- Fixed processing of Unicode surrogates present in CMap files.
- Fixed handling of
pdf:mapline
andpdf:mapfile
specials.
This is a small maintenance release.
- Added support for the new Ghostscript transparency operators
.setfillconstantalpha
and.setstrokeconstantalpha
. - Added support for the new Ghostscript versioning scheme introduced with GS 9.53.0.
- Added few additional information to the manual page.
- Updated the bundled Brotli library to version 1.0.9.
This is a maintenance release with the following additions and changes:
- Added evaluation of LuaTEX native font definitions.
- Added computation of of italic correction for fake slanted glyphs.
- dvisvgm now creates dedicated temporary folders for each call of the program to prevent file collisions between different processes.
- Added evaluation of internal Ghostscript operators
.fillstroke
and.eofillstroke
introduced with GS 9.52 to implement PDF operatorsB
andB*
(issue #139). - Fixed and improved optimization of nested group elements.
- Fixed optimization of
scale
transformation. - Fixed optimization of
transform
attributes applied to images and clipping paths. - Fixed processing of PostScript operator
eoclip
. - Fixed processing of clipping path intersections that involve different fill rules.
- Fixed processing of
{?(...)}
expressions (issue #136). - Fixed error message about unmatched closing tags in XML parser.
- Updated bundled FreeType library to version 2.10.2.
- Updated bundled xxHash library to version 0.8.