- Fixed the Unicode mapping of some ligatures.
- Fixed several potential memory issues.
- Changed some parts of the code to be compatible with C++ standard >= 20.
- Removed the restriction to process PDF-1.x files only (issue #291).
- Option
--page: added evaluation of%Pwhich expands to the maximum page number. Also,%(expr)is supported to evaluate arithmetic expressions, like%(P-1). See the manual page for further information. - Option
--page: page numbers greater than the maximum page number are no longer replaced by the maximum page number but ignored. - PDF handler: the computation of opacity values has been extended (issue #292).
- Fixed the lookup of character code 0 in character maps (issue #294).
- Fixed the height and depth values shown when processing data created by the
previewpackage. - Updated the bundled brotli library to version 1.2.0.
- Some code improvements.
- Fonts are now embedded in deterministic rather than random order (issue #288).
- Different glyphs now always get distinct Unicode code points to avoid collisions, even if they represent the same character (issue #287).
- Fixed font-related segmentation faults caused by malformed DVI files (issue #289).
- DVI error messages now also mention the byte position where the error occurred in the DVI file.
- The evaluation of PostScript operators has been improved and should be more stable.
- Many code refactorings and improvements.
- Extended the computation of Unicode points by looking for known glyph names.
- Added some common glyph names not yet covered by the AGL table.
- Added a warning shown if unsupported PDF specials have been ignored.
- Some additions to the manual page.
- Several code improvements.
- Fixed an index error in PS operator
colorimage(issue #279). - Updated the bundled xxHash library to version 0.8.3.
- Minor changes to the manual page.
- Fixed the evaluation of Unicode data performed when converting PDF files (issue #276).
- Fixed the horizontal character positioning in the PDF handler to prevent exceeding text lines (issue #276).
- Fixed the drawing of single-colored tensor product patches to also get correct shapes if parts of the surface overlap.
- TTF/WOFF data written to SVG files now use a static creation and modification date to ensure identical SVG files for unchanged input files (issue #120).
- Slightly improved formatting and wording of the manual page.
This is just a small maintenance release with these changes:
- When converting PDF files, dvisvgm now shows the number of the page being processed.
- Added missing #include statement required as of GCC 15 (issue #273).
-
Option
--embed-bitmapsis now also applied to images included with specialdvisvgm:img(issue #229). -
Added macro
{?cmyk(c,m,y,k)}to allow for directly specifying CMYK colors in literal SVG fragments. -
Extended the dvips color specials to distinguish between fill and stroke colors. For further information see the manual page.
-
Added color special
color setto replace the current color without pushing a new value onto the color stack. See the manual page for more details. -
Added macros
{?fillcolor}and{?strokecolor}to retrieve the current fill and stroke color, respectively. The former macro{?color}equals{?fillcolor}and is still available too. -
Replaced millimeter units with big point (bp) units in the message showing the extent of the generated SVG file. TeX’s “big points” equal SVG, PostScript, and PDF points (1in = 72bp), while TeX points are slightly smaller (1in = 72.27pt).
$ dvisvgm -d2 frktest pre-processing DVI file (format version 2) processing page 1 graphic size: 398.34pt x 456.34pt (396.85bp x 454.63bp) output written to frktest.svg 1 of 1 page converted in 0.0754669 seconds -
Fixed the detection of MIME types depending of file name suffixes.
-
Several small code improvements.