- 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-bitmaps
is 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 set
to 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.
- Added file
dvisvgm.map
to the default font map files being looked up automatically. It can be used to add font mappings which should always be taken into account when dvisvgm is called. - Added evaluation of
#include
and#includefirst
present in font map files to allow for including the contents of other map files. - The conversion of CMYK colors to RGB has been modified so that the resulting colors are now close to those created by Ghostscript
and most PDF viewers. Previously, a simple mapping of the color components, like cmyk(1,0,1,0)=rgb(0,1,0) for green,
was used. Ghostscript, in contrast, applies ICC profiles to display colors as produced by a designated printer.
Here’s an example showing the results of the old (left) and the new CMYK to RGB color conversion applied to a Coons shading patch:
- Fixed the initialization of a transformation matrix which led to invalid bounding boxes when converting a sequence of DVI pages (issue #268).
- Fixed the computation of internal Coons tensor points.
- Updated the bundled GoogleTest to version 1.12.1.
Due to the removal of some Ghostscript-specific operators
from GS version 10.02.1, dvisvgm fails to extract bitmaps embedded in PS/EPS files when using the latest Ghostscript releases (issue #264).
This dvisvgm release replaces the involved operators and should fix the issue.
- The Ghostscript library is now only loaded when the first PostScript special is processed. This slightly speeds up the conversion of DVI files that don’t contain PS specials (issue #262).
- Applied some changes required for TeX Live builds (patches by Karl Berry, issue #259, issue #260).
- Added more details to some DVI warning messages.
- Added some further information to the manual page.
- Fixed a rounding issue that could lead to slightly bigger text extents (issue #256).
- Added the macros
{?pageno}
,{?svgfile}
, and{?svgpath}
to the dvisvgm special commands. - Added a separate verbosity flag 8 for user messages printed by special
dvisvgm:message
. - Added the command-line option
--message
to allow for printing user messages after writing an SVG file (issue #258). - Applied this upstream patch regarding undefined type punning to the bundled woff2 library.
- Few improvements of the manual page.
- Improved the evaluation of graphic extents created by the
preview
package (issue #246). - Fixed the computation of the character box extents performed when using option
--exact-bbox
(issue #248). - Fixed a memory error in the optimizer module (issue #250).
- Updated the bundled Brotli library to version 1.1.0.