dvisvgm-3.6 (2025-12-08)
- removed the restriction to process PDF-1.x files only (GH issue #291)
- option --page: added evaluation of %P which expands to the maximum page
  number. Also, %(expr) is supported to evaluate arithmetic expressions,
  like %(P-1)
- option --page: page numbers greater than the maximum page number are no
  longer replaced by the maximum page number but ignored
- PDF handler: extended computation of opacity values (GH issue #292)
- fixed lookup of character code 0 in character maps (GH issue #294)
- fixed height and depth values shown when processing data created by
  the 'preview' package
- updated bundled brotli library to version 1.2.0
- some code improvements

dvisvgm-3.5 (2025-05-23)
- fonts are now embedded in deterministic order (GH issue #288)
- different glyphs are now always assigned to different Unicode code points
  to prevent collisions (GH issue #287)
- fixed font-related segmentation faults caused by malformed DVI files
  (GH issue #289)
- fixed a regression that led to incorrect results produced by the
  SVG optimizer
- DVI error messages now also mention the byte position where the
  error occurred in the DVI file
- simplified the evaluation of PostScript operators
- many code refactorings and improvements

dvisvgm-3.4.4 (2025-03-06)
- extended computation of Unicode points by looking for known glyph names
- added some common glyph names not yet covered by the AGL table
- added warning shown if unsupported PDF specials have been ignored
- some additions to the manual page
- several code improvements

dvisvgm-3.4.3 (2025-01-04)
- fixed index error in PS operator "colorimage" (GH issue #279)
- updated bundled xxHash library to version 0.8.3
- minor changes to the manual page

dvisvgm-3.4.2 (2024-11-14)
- fixed evaluation of Unicode data when converting PDF files (GH issue #276)
- fixed horizontal character positioning in the PDF handler (GH issue #276)
- fixed drawing of single-colored tensor product patches
- use static creation and modification dates in TTF/WOFF fonts generated by
  dvisvgm in order to prevent varying SVG output for unchanged input files
  (GH issue #120)
- small improvements of the manual page

dvisvgm-3.4.1 (2024-09-16)
- show number of page being processed when converting PDF files
- added missing #include required as of GCC 15 (GH issue #273)

dvisvgm-3.4 (2024-07-24)
- option --embed-bitmaps is now also applied to images included with special
  dvisvgm:img
- added macro {?cmyk(c,m,y,k)} to allow for directly specifying CMYK colors
  in literal SVG fragments
- extended dvips color specials to distinguish between fill and stroke colors
- added color special "color set" to replace the current color without pushing
  a new value onto the color stack
- added macros {?fillcolor} and {?strokecolor} to retrieve the current fill and
  stroke color, respectively. 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 generated SVG file
- fixed the detection of MIME types depending of file name suffixes
- several small code improvements

dvisvgm-3.3 (2024-04-10)
- added file dvisvgm.map to the default font map files being looked up
- added evaluation of #include and #includefirst present in font map files
- changed conversion of CMYK colors to RGB so that the resulting colors are
  now similar to those created by Ghostscript and several PDF viewers
- fixed invalid bounding boxes assigned when converting multiple DVI pages
  (GH issue #268)
- fixed computation of internal Coons tensor points
- updated bundled Google Test to version 1.12.1

dvisvgm-3.2.2 (2024-03-07)
- fixed the extraction of bitmaps from PS/EPS files that no longer worked
  since Ghostscript 10.02.1 due to the removal of GS-specific operators
  (GH issue #264)
- minor automake updates required for TeX Live builds

dvisvgm-3.2.1 (2024-02-29)
- delayed loading of Ghostscript library to speed up the conversion of
  DVI files	without PS specials (GH issue #262)
- some improvements required for TeX Live builds
  (patches by Karl Berry, GH issues #259, #260)
- added more details to some DVI warning messages
- added some further information to the manual page

dvisvgm-3.2 (2024-01-11)
- PDF handler: fixed a rounding issue that could lead to slightly bigger
  text extents (GH issue #256)
- added macros {?pageno}, {?svgfile}, and {?svgpath} to the dvisvgm special
  commands
- added separate verbosity flag 8 for user messages printed by special
  dvisvgm:message
- added command-line option --message to allow for printing user messages
  after writing an SVG file (GH issue #258)
- applied upstream patch regarding undefined type punning to the bundled
  woff2 library
- few improvements of the manual page

dvisvgm-3.1.2 (2023-10-12)
- improved evaluation of graphic extents created by the 'preview' package
  (GH issue #246)
- fixed computation of character boxes when using --exact-bbox (GH issue #248)
- fixed memory error in optimizer module (GH issue #250)
- updated bundled brotli library to version 1.1.0

dvisvgm-3.1.1 (2023-08-29)
- added evaluation of optional dash prefixes to command-line option --optimize
  to exclude selected optimizer modules
- fixed invalid removal of clipping paths referenced in 'defs' section
- fixed automatic calls of optimizer module 'remove-clippaths'
- suppress Ghostscript warning about deprecated option -dNEWPDF (GH issue #245)
- updated bundled xxHash library to version 0.8.2
- few fixes in the manual page

dvisvgm-3.1 (2023-07-06)
- added command-line option --currentcolor to replace a given color with
  CSS variable 'currentColor' (GH issue #214)
- added special dvisvgm:currentcolor to replace the currently active color
  with CSS variable 'currentColor' (GH issue #214)
- added special 'dvisvgm:message' to print given texts to the console
- added support for Omega Font Metric (OFM) files
- added fallback mechanism for missing characters in OFM-based virtual fonts
  proposed by Takuji Tanaka (GH issue #241)
- fixed handling of whitespace in PDF file paths (GH issue #233)
- fixed vertical placement of "vertical fonts" in horizontal mode
  (GH issue #235)
- fixed parsing of floating point numbers occurred with libc++ (GH issue #240)
- fixed potential segmentation faults triggered by missing font files
  (GH issue #241)
- fixed GLIBCXX assertion error in new PDF handler (GH issue #242)
- improved handling of font subset prefixes in new, mutool-based PDF handler
  (GH issue #242)
- several minor code improvements

dvisvgm-3.0.4 (2023-03-10)
- fixed issue that could prevent reading the output of subprocesses
  (GH issue #232)
- removed optional dependency on libcrypto (OpenSSL) because the MD5 functions
  have been deprecated (always using the bundled MD5 function now)
- added TeX Live conditionals to the build system (patch by Karl Berry)
- small code and manual page improvements

dvisvgm-3.0.3 (2023-02-21)
- fixed resetting of character contexts (GH issue #227)
- added missing #includes required for GCC 13

dvisvgm-3.0.2 (2023-01-30)
- fixed computation of font sizes in new PDF handler (GH issue #220)
- fixed viewBox coordinates determined by new PDF handler (GH issue #223)
- improved detection of font names used in PDF files (GH issue #224)
- minor code improvements

dvisvgm-3.0.1 (2023-01-10)
- added support for the 64-bit GS library in TeX Live
  (patch sent by Akira Kakuto)
- MacTeX: explicitly lookup libgs in /usr/local/lib (GH issue #197)
- fixed character spacing when processing XDV glyph arrays (GH issue #198)
- fixed invalid removal of non-redundant clipPath elements (GH issue #203)
- fixed computation of the graphics extents printed to the console when using
  the preview package (GH issue #209)
- several improvements of the autotool scripts (thanks to Sam James)
- improved processing of fonts when using the new PDF handler

dvisvgm-3.0 (2022-10-16)
- added a new PDF handler based on mutool to keep the PDF functionality
  available which can no longer be realized with Ghostscript 10.1.0 due to
  the replacement of its PostScript-based PDF interpreter
- replaced the bundled minimal Fontforge library (ff-woff) with a dedicated,
  newly implemented library for embedding TTF/WOFF data into the SVG files
- added option --embed-bitmaps to embed bitmaps into the generated SVG files
  instead of referencing the external files
- extended option --tmpdir to optionally suppress the creation of uniquely
  named subfolders
- added filters :even and :odd to option --page to limit the given page ranges
  to even and odd page numbers respectively
- fixed the call of ttfautohint to prevent potential memory errors

dvisvgm-2.14 (2022-08-12)
- added processing of SVG path elements inserted by "raw" specials in order to
  treat them similar to generated ones
- added support for native font references lacking a file name suffix
- improved lookup of native fonts
- improved the removal of redundant SVG group elements
- fixed conversion of empty glyphs to TTF/WOFF
- updated bundled WOFF2 library

dvisvgm-2.13.4 (2022-04-20)
- fixed the size of bounding boxes applied when converting multiple pages
  (GH issue #182)
- try to enable old PDF interpreter when using Ghostscript >= 9.56.0
  (dvisvgm does not work with Ghostscript's new PDF interpreter)

dvisvgm-2.13.3 (2022-02-27)
- added SVG optimizer module 'reassign-clippaths' that searches for duplicate
  clipPath elements, removes them, and updates the clip-path references
- replaced method to clip embedded EPS/PDF graphics that usually results in
  faster rendering of the affected SVG sections
- fixed a regression regarding transformations of embedded EPS/PDF graphics

dvisvgm-2.13.2 (2022-02-23)
- improved clipping of embedded EPS/PDF graphics (GH issue #176)

dvisvgm-2.13.1 (2022-01-26)
- added evaluation of expression {?(...)} to special dvisvgm:rawdef
- fixed regression regarding positioning of PDF graphics (GH issue #174)
- fixed some build issues

dvisvgm-2.13 (2022-01-20)
- allow for conversion of multiple EPS files given on the command-line
- added variables n and N to option --output representing the current file
  number and total number of files given on the command-line, respectively
- fixed selection of hash algorithm
- improved computation of glyph height and depth
- extended several paragraphs of the manual page with more detailed information
- SVG optimizer: simplify transform attributes also when collapsing groups
- updated bundled xxHash library to version 0.8.1
- updated bundled gtest to version 1.11

dvisvgm-2.12 (2021-08-16)
- added transparency support of SVG elements created outside the PS handler
  (GH issue #148)
- fixed spacing issue caused by unexpected newline characters in SVG output
- fixed PS error occurred when defining (yet unsupported) PS shading patterns
- fixed issue in color handling of PS tiling patterns (GH issue #158)
- fixed displaced graphics occurred if PDF MediaBox is not located at the origin
- fixed handling of root directories of file paths
- improved handling of drive letters (Windows only)
- several code refactorings and improvements

dvisvgm-2.11.1 (2021-01-21)
- fixed possible ambiguity of GID to charcode mappings (GH issue #147)
- refactored representation of token objects in calculator class
- few minor code and test improvements

dvisvgm-2.11 (2020-11-28)
- added fallback mechanism for JFM-based virtual fonts proposed
  by Takuji Tanaka (GH issue #144)
- improved detection of proper CMap files for current encoding
- fixed processing of Unicode surrogates present in CMap files
- fixed handling of pdf:mapline and pdf:mapfile specials

dvisvgm-2.10.1 (2020-09-22)
- added support for new Ghostscript transparency operators
  .setfillconstantalpha and .setstrokeconstantalpha
- added support for new Ghostscript versioning scheme introduced with GS 9.53.0
- added few additional information to the manual page
- updated bundled brotli library to version 1.0.9

dvisvgm-2.10 (2020-08-12)
- 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 GS operators '.fillstroke' and '.eofillstroke'
  introduced with GS 9.52 to implement PDF operators 'B' and 'B*'
  (GH issue #139)
- fixed and improved optimization of nested group elements
- fixed optimization of 'scale' transformation
- fixed optimization of 'transform' attributes applied to images clipping paths
- fixed processing of PS operator 'eoclip'
- fixed processing of clipping path intersections with different
  fill rule properties
- fixed processing of {?(...)} expressions (GH 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

dvisvgm-2.9.1 (2020-03-21)
- added macro {?(expr)} to enable the evaluation of math expressions in
  raw SVG fragments (GH #130)
- multiplication operator "*" preceding an opening parentheses can now be
  omitted in math expressions
- fixed the evaluation of transformation command "scale(c)" which is now
  correctly treated as "scale(c, c)" (GH #131)
- minor layout optimizations of the PDF manual page

dvisvgm-2.9 (2020-03-13)
- added processing of PS operators 'image' and 'colorimage' to embed bitmaps
  present in PS/PDF data into the generated SVG
- added command-line option --bitmap-format to set the format used to embed
  bitmaps present in EPS/PDF files
- added fallback method to retrieve the resolution of GF files if stdout
  of the Metafont subprocess can't be read through a pipe (GH #129)
- fixed broken conversion of PS tiling patterns
- fixed the functionality of PS operators 'xshow', 'yshow', and 'xyshow' for
  multibyte characters
- fixed a PS error triggered by unsupported shading types < 4
- prevent negative 'height' and 'width' attributes created by optimizer
  module 'simplify-transform'
- fixed potential segfault caused by deep recursion in huge SVG trees
- look for Ghostscript library name 'libgs.dylib.N' additionally to
  'libgs.N.dylib' (Mac only)
- ensure that 'make install' installs the bundled manual page if it can't be
  rebuilt due to missing build tools
- updated bundled xxHash library to version 0.7.3

dvisvgm-2.8.2 (2019-12-07)
- if available, call 'mf-nowin' instead of 'mf' to process Metafont files
  (GH #121)
- fixed handling of null device in PS operator 'restore' (GH #122)
- fixed PS error triggered by backslashes in file paths (GH #123)
- fixed build issue related to GCC on Solaris 11
- some code cleanup

dvisvgm-2.8.1 (2019-11-14)
- added SVG optimizer module 'simplify-text'
- added support for PS operator 'nulldevice'
- copy absolute paths from special 'psfile' unchanged to the SVG file
- some code refactorings

dvisvgm-2.8 (2019-10-25)
- added support for JPEG, PNG, PDF, and SVG files to special 'psfile'
- added support for Ghostscript 9.50
- added support for elliptical arc segments in graphics paths
- added support for CMap operator 'begincidchar' (patch by Akira Kakuto)
- added support for experimental 128-bit XXH3 hashes
- extended optimizer module 'simplify-transform' to incorporate translation and
  scaling components into positional and size attributes
- replaced CRC32 checksums used in cache files with XXH32 hashes
- updated potrace to version 1.16
- updated xxHash to version 0.7.2
- updated gtest to 1.10
- lots of code refactorings

dvisvgm-2.7.4 (2019-07-28)
- fixed memory issue occurred when calling Metafont
- fixed rounding issue in color conversion (GH #116)
- changed location of cache files from ~/.dvisvgm/cache to
  $XDG_CACHE_HOME/dvisvgm which usually expands to ~/.cache/dvisvgm (GH #112)
- some minor refactorings

dvisvgm-2.7.3 (2019-07-12)
- fixed randomly missing glyph paths referenced by 'use' elements (GH #110)
- minor update of the man page
- some code refactorings

dvisvgm-2.7.2 (2019-06-07)
- adapted PostScript handler to incompatible changes introduced with
  Ghostscript 9.27 (removal of GS_PDF_ProcSet and pdfdict)

dvisvgm-2.7.1 (2019-05-20)
- fixed a bug in PS operator 'setmatrix' (GH #106)
- fixed build issue reported on MacPorts
  (https://trac.macports.org/ticket/58347)
- added source files required to access the MIKTeX session object
  (required due to deprecation of the MiKTeX SDK)

dvisvgm-2.7 (2019-04-13)
- added option --optimize to perform several optimizations on the
  generated SVG files (current optimizer modules: collapse-groups,
  group-attributes, remove-clippath, simplify-transform) (GH #97)
- dvisvgm's "raw" specials are now parsed and converted to proper XML nodes
- several improvements to SVG graphics path descriptions:
  * omit redundant spaces and leading zeros
  * omit line commands representing zero-length lines
  * improved detection of reflected control points in Bézier curve sequences
- added evaluation of PS operators xshow, yshow, and xyshow
- added evaluation of psfile/pdffile attribute 'clip' to clip the
  drawing region to the bounding box of the image being processed (GH #104)
- added specials 'dvisvgm:bbox lock' and 'dvisvgm:bbox unlock' to disable and
  enable updating the bounding box of the current page (GH #105)
- added optional modifier 'transform' to dvisvgm:bbox specials to allow for
  applying the current transformation to the bounding box
- added macro '{?matrix}' to dvisvgm's 'raw' specials that expands to the
  current transformation matrix
- renamed option --exact to --exact-bbox (backward compatible change)
- updated the bundled xxHash library to version 0.7.0
- lots of code refactorings

dvisvgm-2.6.3 (2019-03-09)
- create short RGB hex values for color attributes if possible
- fixed rejection of paper formats, like A4, by option --bbox
- fixed incomplete adaption of vertical orientation when processing
  EPS/PDF files
- fixed handling of backslashes in EPS/PDF file paths (Windows only)
- updated bundled Google Test library to version 1.8.1
- some code refactorings and improvements of the build system

dvisvgm-2.6.2 (2019-01-23)
- fixed scaling of line properties in PS operator 'grestore'
- fixed handling of PS operators 'charpath' and 'show' which may
  call each other internally
- improved processing of PS operator 'clippath'
- prevent visible side-effects of PS operator 'stringwidth'
- updated bundled brotli library to version 1.0.7
- some modifications of the build system to simplify maintenance in TeX Live

dvisvgm-2.6.1 (2018-10-12)
- added configuration option --disable-manpage to prevent generating
  the manual page (GH issue #93)
- if configuration option --disable-bundled-libs is given and some of the
  required system libraries are missing, the corresponding bundled library
  is used as a fallback (GH issue #94)
- updated bundled brotli library to version 1.0.6
- fixed build issue occurred with GCC 4.8

dvisvgm-2.6 (2018-09-08)
- added option --page-hashes that allows for skipping the conversion of
  a page if its content hasn't changed
- relaxed plausibility check of total page count stated in the postamble
  (this value overflows if the DVI file contains more than 65535 pages)
- added validity checks for bop (begin of page) offsets present in the
  bop and post commands
- some refactorings and minor improvements

dvisvgm-2.5 (2018-08-08)
- added multi-page support (option --page) to PDF mode (option --pdf)
- added evaluation of transformation options in PDF mode
- added support for all length units to option --transform
- TeX Live Win32: look for Ghostscript DLL in the TL folders as well
  (thanks to Akira Kakuto for sending the patch)
- potrace has been added again to the bundled third-party libraries
- instead of linking the bundled libraries brotli, potrace, woff2, and
  xxhash, the configure script now looks for the corresponding system
  libraries by default
- added option --enable-bundled-libs to the configure script to build and
  statically link the bundled libraries
- some refactorings

dvisvgm-2.4.2 (2018-07-18)
- fixed height and depth values computed when using the preview package
- removed additional borders from the bounding boxes of hyperlinked areas
- prevent warnings if special "psfile" is called with argument "/dev/null"
  (e.g. option "psfixbb" of the preview package adds such specials)
- "make install" no longer fails if the manpage can't be built

dvisvgm-2.4.1 (2018-07-07)
- fixed handling of delay parameter of option --progress
- updated brotli library to version 1.0.5
- updated woff2 library to version 1.0.2
- updated URLs in manual page
- several minor code refactorings

dvisvgm-2.4 (2018-05-03)
- added special 'pdffile' similar to 'psfile' to embed PDF graphics
- added option --pdf to convert single-page PDF documents to SVG
- reassigned short option -P from --progress to --pdf
- added option --stdin to receive input from stdin
- option --stdout can now be combined with option --zip
- added processing of GS operators '.setshapealpha' and '.setblendmode'
- fixed outer transformations applied to psfile specials
- fixed computation of bounding boxes triggered by psfile specials
- several code refactorings

dvisvgm-2.3.5 (2018-03-23)
- added evaluation of PS operator 'setpagedevice' in psfile specials
- fixed evaluation of dvips color names
- fixed warning printed when using Ghostscript 9.23

dvisvgm-2.3.4 (2018-03-14)
- fixed error message printed when adding a single '-' on the command-line
- added missing data file that lead to failing tests (GH bug #87)
- updated brotli library to version 1.0.3
- some code refactorings

dvisvgm-2.3.3 (2018-02-20)
- fixed wrong behavior when requiring both default mapfiles and
  pdf:mapline or pdf:mapfile specials
- fixed an exception thrown in case of unavailable fonts

dvisvgm-2.3.2 (2018-02-08)
- prevent the creation of redundant tspan elements
- added support for new JFM format (patch by Hironobu Yamashita)
- fixed build error occurred if GS development files were missing
- fixed a potential memory issue regarding option --cache

dvisvgm-2.3.1 (2018-01-12)
- fixed the width of characters slanted by a mapfile entry (GH bug #82)
- if ttfautohint fails for a font, dvisvgm now uses the unhinted font and
  prints a corresponding warning message
- some code cleanup

dvisvgm-2.3 (2017-12-28)
- added experimental support for ttfautohint
- updated xxHash to version 0.6.4
- added configuration option to set location of libkpathsea (GH bug #71)
- some improvements of the build system

dvisvgm-2.2.3 (2017-12-12)
- updated the bundled brotli library to version 1.0.2
- fixed a potential memory issue
- some code and test improvements

dvisvgm-2.2.2 (2017-11-17)
- fixed memory issue regarding font maps (GH bug #79)
- avoid scientific notation of floating point numbers
- minor code improvements

dvisvgm-2.2.1 (2017-11-13)
- fixed portability issue when building the manpage (GH bug #72)
- fixed incomplete computation of PS line width (GH bug #77)
- further code refactorings

dvisvgm-2.2 (2017-10-19)
- added evaluation of pdf:pagesize specials
- added evaluation of PDF hyperlink specials
- try to load Ghostscript dylib on Mac systems (patch by Toby Fleming, GH bug #66)
- improved TPIC special handler, added evaluation of 'tx' special
- length values in dvisvgm specials now accept unit specifiers
- added pdftex.map to default mapfiles
- fixed potential infinite loop after starting subprocesses (GH bug #68)
- files included with psfile are now also searched in the texmf tree if not
  present in the current working directory (GH bug #69)
- fixed transformation issue in computation of psfile position (GH bug #70)
- updated bundled brotli, woff2, and xxhash libraries
- several code refactorings and improvements

dvisvgm-2.1.3 (2017-02-20)
- fixed build failures of libfontforge on Solaris 10
- increased code portablity

dvisvgm-2.1.2 (2017-02-12)
- bundled the googletest sources to simplify building and executing the tests
- fixed a couple of issues related to LLVM's libc++
  (thanks to Mojca Miklavec and Rasmus Larsen for their help to isolate the problems)
- fixed some potential memory leaks
- removed 'restrict' keyword from xxHash sources to avoid C++ compilation errors
  (https://github.com/Cyan4973/xxHash/issues/88)

dvisvgm-2.1.1 (2017-02-07)
- don't rerun Metafont for missing fonts
- fixed build failure on OS X (GH bug #65)
- several minor code improvements and test enhancements

dvisvgm-2.1 (2017-01-19)
- added option --tmpdir to explicitly set temp folder
- temporary files are no longer created in the current working directory by
  default but in the system's temp folder (GH bug #63)
- added warning/error messages if temporary files could not be written
- fixed collision of Unicode points in AGL table (GH bug #64)
- retain letter case of filenames even if not significant (Windows only)
- code refactorings and cleanup

dvisvgm-2.0.4 (2016-11-16)
- bundled reduced FontForge library (ff-woff) with the sources
- minor fixes in manpage and --help texts
- few code improvements

dvisvgm-2.0.3 (2016-09-27)
- fixed a regression in the character positioning of virtual fonts
- fixed positioning of rules

dvisvgm-2.0.2 (2016-09-19)
- fixed computation of the character depths of native fonts
- fixed a regression in the computation of DVI positions (GH bug #61)

dvisvgm-2.0.1 (2016-09-03)
- added optional argument parameter "autohint" to option --font-format in order
  to create autohinted TTF, WOFF, or WOFF2 fonts

dvisvgm-2.0 (2016-08-29)
- added option --font-format to select the data format of embedded fonts
  (currently supported formats: SVG, TTF, WOFF, WOFF2)
- switched the code base from C++03 to C++11
- reimplemented the command-line parser and the CommandLine class generator
- major refactorings of several parts of the code

dvisvgm-1.16 (2016-07-04)
- added support for XDV version 7 introduced by XeTeX 0.99995
- added optional processing of papersize specials
- added support for length units cc, dd, and sp
- fixed unit conversion in computation of bounding boxes
- fixed propagation of resolution value to the glyph vectorizer
- fixed transformation of background rectangle
- prevent processing of corrupted GF files
- major refactorings of the DVI reader and the SVG backend

dvisvgm-1.15.1 (2016-04-19)
- added explicit encoding attribute to the XML declaration again (GH bug #54)
- added support for AGL character names of the form 'uFOO' and 'uniFOO'
- fixed parsing of transformation parameters given on the command-line
- minor code and test improvements

dvisvgm-1.15 (2016-02-27)
- added option --comments to add additional information to the SVG file
- fixed a clipping bug in the PostScript handler
- some code improvements and refactorings
- moved test data files to a separate folder

dvisvgm-1.14.2 (2016-01-20)
- fixed handling of background color specials (now they affect all succeeding pages until the next change)
- fixed a potential memory issue caused by accessing an invalid iterator
- updated xxHash to version 0.5.0
- added xxHash to the output of --version=1
- minor additions to the manpage
- added test case to validate the hash values used in Unicode.cpp

dvisvgm-1.14.1 (2016-01-05)
- fixed an issue in the PostScript handler that could lead to invalid SVG files
  if multiple DVI pages were converted
- added checks for invalid GF files to prevent undefined behavior

dvisvgm-1.14 (2015-12-28)
- added evaluation of PSTricks specials 'pst:' and 'PST:'
- the bounding box data created by the preview package is now adapted to create a tight box by default
- added option --bbox=preview to apply the unmodified bounding box data created by the preview package
- improved lookup of files located in the current working directory
- fixed a memory issue related to graphics paths
- improved extraction of kapathsea version number
- minor code and test improvements

dvisvgm-1.13 (2015-12-08)
- added evaluation of PS operators 'ashow', 'awidthshow', and 'widthshow' (GH bug #49)
- improved conversion of fonts referenced by PS code to graphics paths
- redundant 'moveto' commands are now removed from paths
- fixed issue concerning evaluation of PS operator 'setcolor'
- fixed output of PS error messages
- updated bundled xxHash library to revision 42
- minor code refactorings and cleanup

dvisvgm-1.12 (2015-11-18)
- added option --colornames to replace RGB values by SVG color names
- fixed resolving of character codes for fonts without supported chracater maps
- fixed a memory issue that could occur when calling Metafont

dvisvgm-1.11 (2015-09-21)
- improved mapping of unknown characters to Unicode
- improved handling of text elements in conjunction with \specials (patch by Till Tantau)
- fixed an issue that could lead to (invalid) U+0000 codepoints
- prevent creating invalid XML by quoting xlink:title attributes properly
- documentation: updated links to new website address

dvisvgm-1.10 (2015-07-15)
- added support for the new XDV format 6 created by XeTeX 0.99992
- improved mapping of PostScript character names to Unicode points

dvisvgm-1.9.2 (2015-04-08)
- avoid retracing of fonts if option --no-fonts and --trace-all=y are given
- skip tracer messages if no glyphs have been traced
- extended the build system to generate code coverage reports
- improved some tests of the test suite
- some general code refactorings and improvements

dvisvgm-1.9.1 (2015-02-28)
- extended --output pattern syntax by arithmetic expressions and width specifiers
- improved formatting of manpage
- fixed Clang build issue (patch by Peter Breitenlohner)
- fixed a build issue occurred with old MinGW compilers
- code cleanup and refactorings

dvisvgm-1.9 (2014-12-29)
- added partial implementation of PostScript operator 'shfill' to create color
  gradient fills (supported shading types: free-form triangular, lattice-form
  triangular, Coons, and tensor-product patch meshes)
- added options --grad-segments, --grad-overlap, and --grad-simplify to control
  the approximation of color gradients
- added option --no-merge to create separate text elements for each character
  (patch by Khaled Hosny)
- added a simple progress counter to the EPS to SVG converter
- added opt2cpp.py as a free replacement for my non-free opt2cpp.xsl script
  (thanks to Khaled Hosny for the implementation and for providing it for free)
- added lookup of Ghostscript library in the Windows registry
- fixed validity check of DVI files
- fixed interaction of color specials and PostScript color operators
- several code refactorings and improvements

dvisvgm-1.8.1 (2014-08-29)
- unreferenced clipPath elements are now removed from the SVG files
- fixed side-effects caused by unexpected bop/eop operators in
  PS specials (LP bug #1350688)
- few improvements to configure.ac (patches by Khaled Hosny)
- removed redundant code

dvisvgm-1.8 (2014-07-29)
- added option --clipjoin which tells dvisvgm to compute intersections
  of clipping paths itself and not to delegate this task to the SVG renderer
- added option --relative to create relative rather than absolute path commands
- added evaluation of PS operator 'clippath' which copies the current clipping
  path into the graphics path
- fixed PS operator 'show' to prevent the creation of unintended path overlays
- fixed memory leak in class FontEngine  (patch by Khaled Hosny)
- fixed unintended throwing of a DVIException when dvisvgm is called with
  option --list-specials
- Cygwin builds of dvisvgm now look for the proper filename of the Ghostscript DLL

dvisvgm-1.7 (2014-06-18)
- all DVI files are pre-processed now to allow the implementation of
  advanced features that rely on data not available on the pages being
  converted
- added support for internal hyperref links across pages
- added \special command dvisvgm:rawdef to insert raw SVG fragments to
  the <defs> section
- added the new \special commands dvisvgm:rawset, dvisvgm:endrawset, and
  dvisvgm:rawput to assign and access a sequence of SVG fragments via an
  identifier (LP feature request #1215878)
- removed redundant <missing-glyph> elements from SVG files
- fixed support of external fonts containing characters not mapped by the
  embedded unicode tables (LP bug #1276689)
- fixed incorrect extent values shown in conjunction with the preview package
- many refactorings and code improvements

dvisvgm-1.6 (2014-04-22)
- added option --zoom to "visually" scale the generated SVG graphics while
  preserving the original size and position values of the graphic objects
- extended argument syntax of option --linkmark to allow to select the
  box/line color
- changed default link marker from 'line' to 'box'
- changed link markers to be only split on line breaks while extended in all
  other cases
- if libgs is not directly linked to the binary, dvisvgm now looks for
  libgs.so.X instead of libgs.so (supported GS ABIs: X = 7, 8, 9)
- removed time stamp and machine triplet from generated SVG files
- some code improvements and refactorings

dvisvgm-1.5.3 (2014-04-11)
- improved positioning of PostScript graphics
- fixed positioning of DVI rules/rectangles
- switched internal computations from TeX points (pt) to PostScript points (bp)

dvisvgm-1.5.2 (2014-01-10)
- fixed handling of global font colors and color specials
- several code improvements

dvisvgm-1.5.1 (2013-10-29)
- fixed processing of bounding box data created by the preview package
- fixed processing of font definitions across DVI pages
- fixed compilation issues occurred if processing of PS specials is disabled
- don't print the logical page number if it's equal to the physical one
- some minor code improvements

dvisvgm-1.5 (2013-09-02)
- added support for DVI format 3 as created by pTeX in vertical/tate mode
- added support for DVI format 5 (XDV) as created by XeTeX
- replaced numeric entity references by corresponding UTF-8 characters in
  generated SVG files
- added px unit to font-size attributes as used in the stylesheet section
  to ensure correct computation of font sizes (LP bug #1215857)
- various code refactorings

dvisvgm-1.4 (2013-08-02)
- added basic support for CMap files and CID-based fonts
- added character mapping from CIDs to char codes based on the encoding tables of a non-CID font
- added support for OTF fonts
- added evaluation of bounding box data generated by the preview package
- extended option --linkmark to mark hyperlinked areas with an arbitrary background color
- PS handler: improved evaluation of PS header specials
- PS handler: improved evaluation of operator 'show'
- removed DOCTYPE declaration from generated SVG files
- removed encoding attribute from xml declaration (replaces ISO-8859-1 with UTF-8)
- various code improvements and refactorings

dvisvgm-1.3 (2013-05-13)
- added support for hyperref specials
- added command-line option --linkmarker to select the way how to mark hyperlinked areas
- dvisvgm builds for MiKTeX now try to access the Ghostscript DLL provided by MiKTeX so that
  it's no longer necessary to install Ghostscript separately
- improved the handling of TFM files to avoid failures in case of malformed files
- added evaluation of Japanese Font Metric (JFM) files
- the bundled potrace library has been removed from the source tarball as it's easy to build
  the latest releases from the original sources available at http://potrace.sourceforge.net
- several code refactorings

dvisvgm-1.2.2 (2013-04-26)
- fixed a bug that prevented the lookup of fontmap files
- avoid throwing an exception but print a warning message if MiKTeX is not available
- print a warning message if PostScript specials are found but ignored
- added information about "dvisvgm -E" to the --help text and to the manpage
- various code refactorings and cleanups

dvisvgm-1.2.1 (2013-04-09)
- updated bundled potrace library to version 1.11
- avoid building bundled potracelib if system library is present (patch by Alexis Ballier)
- allow background color specials to create white background rectangles
- code refactorings and cleanup

dvisvgm-1.2 (2013-03-01)
- PostScript handler: added support of tiling patterns
- PostScript handler: added support for EPS files with binary headers/footers
- added option --eps to directly convert EPS files to SVG
- added option --precision to select the number of decimal places used in the generated SVG files
- added an optional argument to --help to choose a display variant
- fixed the text alignment of the --help output
- improved handling of PostScript operator "show"
- choose the correct output location if the input file argument contains path specifiers (Windows only)

dvisvgm-1.1 (2013-01-22)
- added evaluation of pdf:mapline and pdf:mapfile specials
- added evaluation of subfont file definitions (.sfd files)
- added support for TTC (TrueType collection) fonts
- added evaluation of font style parameters given in a font map definition
- renamed option --map-file to --fontmap
- the new option --fontmap allows multiple mapfile arguments and optional mode specifiers
- if a PostScript error occurs, dvisvgm prints an error message together with the
  PS operand stack, as generated by Ghostscript
- if font checksums don't match, dvisvgm prints a warning now
- avoid throwing exceptions if referenced encoding files are not available
- added support for 64bit Windows builds
- removed compilation error when using a C++11 compiler (patch by Peter Breitenlohner)
- some code refactorings and improvements

dvisvgm-1.0.12 (2012-09-27)
- print a message if the processing of PostScript specials is disabled
- the resulting SVG is now scaled to bp ("big point" units) properly
- added the evaluation of PS operators rectclip, rectfill, and rectstroke
- ignore dvips operator bop if present in a PS special
- fixed processing of special strings that contain newline characters

dvisvgm-1.0.11 (2012-03-09)
- added Ghostscript to library list printed by --version=yes
- fixed a bug in the number parser that could lead to displaced objects (SF bug #3471097)
- corrected the computation of bounding boxes of DVI rules (lp bug #948713)
- improved code compatibility to make dvisvgm compile with clang++ (patch by Vladimir Lomov)
- fixed formatting issues in the manual page
- updated information about bug reporting (tracker moved to Launchpad)

dvisvgm-1.0.10 (2011-12-18)
- introduced environment variable DVISVGM_COLORS to allow user-defined message colors
- fixed linking issue concerning libfreetype
- fixed potential clashes of character IDs

dvisvgm-1.0.9 (2011-10-13)
- fixed segfault occurred in TeX Live Win32 caused by mf.exe being unavailable
  (thanks to Akira Kakuto for tracking down the issue)
- updated bundled potrace library to version 1.10
- some minor code improvements

dvisvgm-1.0.8 (2011-05-31)
- PS handler: added evaluation of PS operators save, restore, and grestoreall
- PS handler: fixed potential segfault caused by invisible zero-length paths
- fixed computation of current drawing position influenced by PS and DVI actions
- don't stop Metafont conversions on errors any longer in order to convert
  buggy MF fonts properly

dvisvgm-1.0.7 (2011-05-06)
- improved overall handling of PS specials
- fixed broken PS special subset 'ps::'
- fixed scaling of PS line properties (width, dash distance, etc.)
- fixed semantics of TPIC special 'ip' (doesn't draw polygon outlines any longer)

dvisvgm-1.0.6 (2011-04-21)
- fixed segfault occurred if a (malformed) DVI file calls set_char/put_char
  without preceding font definition
- added CTRL-C handler
- MiKTeX support updated to version 2.9
- some code refactorings

dvisvgm-1.0.5 (2011-03-01)
- added optional integer argument to option -n to disable generation of <use> elements
- added missing unit to width/height attributes of svg root element (SF bug #3185773)
- added integrity check to font cache files
- updated bundled potrace library to version 1.9
- fixed a couple of minor issues

dvisvgm-1.0.4 (2010-12-18)
- added missing line width/dash pattern scaling to PS handler
- fixed scaling issue in PS positioning
- fixed compilation issue related to FreeType 2.4.0

dvisvgm-1.0.3 (2010-08-06)
- applied some more portability patches for TeX Live
- fixed a potential memory issue
- fixed a transformation issue regarding special 'psfile' (SF bug #3037372)

dvisvgm-1.0.2 (2010-06-22)
- applied latest TeX Live portability patches sent by Peter Breitenlohner and Karl Berry
- fixed a potrace name clash occurred on Mac OS X Tiger
- fixed putchar() name clash occurred on Solaris
- fixed a couple of conversion warnings
- updated the test suite

dvisvgm-1.0.1 (2010-06-11)
- fixed a memory issue in the PS handler that could lead to a segfault (SF bug #3013392)
- fixed a recursion issue in the PS handler
- suppress ANSI color code when terminating

dvisvgm-1.0 (2010-06-08)
- conversion of multiple pages (must be enabled explicitly, see option --pages)
- added transparency support to the PS handler
- improved conversion results of the PS handler
- added support for computation of local bounding boxes
- optional colorization of dvisvgm messages (option --color)
- improved progress indicator (option --progress)
- a couple of improvements of the build system

dvisvgm-0.9.1 (2010-04-23)
- CSS style definitions omit unnecessary fonts now
- SVG validity was broken when using font elements
- fixed two memory issues that could lead to segfaults

dvisvgm-0.9 (2010-03-25)
- added option --exact and corresponding algorithms to compute the exact
  bounding boxes of characters
- added option --keep that prevents deleting temporary font files
- extended option --trace-all by an optional boolean argument controlling
  the re-tracing of glyphs
- fixed bug in evaluation of embedded PS headers
- several code refactorings

dvisvgm-0.8.8 (2010-02-02)
- added option --libgs and evaluation of environment variable LIBGS
  to overwrite the expected file name of the GS shared library
  (only available if dvisvgm isn't linked against libgs and GS support
  isn't completely disabled)
- option --bbox can now be used to enlarge the minimal bounding box by
  a given amount
- fixed bug in evaluation of option --page
- applied patches sent by Peter Breitenlohner to prepare the integration of
  dvisvgm into TeX Live
- some code refactorings

dvisvgm-0.8.7 (2009-11-09)
- fixed a bounding box issue concerning italic corrections
- PS handler: zero-length paths are now drawn as dots
- PS handler: fixed a path positioning issue
- PS handler: colors set by color specials are now considered properly
- added macro {?nl} to be used with special dvisvgm:raw

dvisvgm-0.8.6 (2009-10-13)
- renamed command-line option --bbox-format to --bbox
- option --bbox can now be used to set an arbitrary bounding box
- added the two special variants "dvisvgm:bbox abs" and "dvisvgm:bbox fix"
- PS clipping path sequences and intersections are now handled correctly
- fixed a PS bounding box bug
- fixed a couple of PS positioning issues reported by John Bowman
- fixed a bit shift overflow in the font tracer occurred on 64-bit systems

dvisvgm-0.8.5 (2009-10-01)
- added an optional depth parameter to special dvisvgm:raw
- updated the man page
- added LGPL license text needed for the gzstream wrapper classes

dvisvgm-0.8.4 (2009-09-17)
- improved the command-line parser to be more POSIX-compliant
- added a simple progress indicator for time-consuming special operations
- option --cache prints more information about the cached fonts
- fixed a clipping bug in the PostScript handler
  (thanks to John Bowman for also providing a patch for this issue)
- fixed a bug in computation of the PS bounding box
- fixed a memory bug in the GF tracer module

dvisvgm-0.8.3 (2009-08-28)
- added basic evaluation of the PostScript "show" operator
  (handles PSTricks Type 3 fonts properly now)
- improved checks for Ghostscript and potrace library in configure script
- external Ghostscript and potrace development files are used if available
- PostScript header/prologue files are now loaded regardless of converted page
- replaced command-line option variant --cache=? by --cache

dvisvgm-0.8.2 (2009-08-24)
- changed license of dvisvgm to GPL version 3 or later
- replaced getopt-based command-line parser by own implementation
  in order to simplify future internationalizations
- fixed memory bug in fontmap reader

dvisvgm-0.8.1 (2009-08-02)
- added evaluation of more psfile parameters
- fixed computation of bounding box in psfile special
- fixed compilation errors and a conversion bug occurred on x64 systems

dvisvgm-0.8 (2009-07-27)
- experimental evaluation of PostScript specials has been added (requires
  a recent version of the Ghostscript shared library libgs.so or gsdll32.dll)
- several code improvements and refactorings
- fixed compilation bug occurred when using GCC 4.4.x

dvisvgm-0.7.3 (2009-04-24)
- fixed bug in font map reader that could cause a segmentation fault
- fixed bug in creation of shorthand path drawing commands
- fixed bug in TPIC special handler

dvisvgm-0.7.2 (2009-04-02)
- font caching has been added (speeds up embedding of bitmap fonts)
- added option --trace-all that enables tracing of all glyphs of all
  bitmap fonts used in the current DVI file. Even glyphs that are currently
  not needed are considered. This avoids multiple calls of Metafont for the
  same fonts. In combination with the new caching functionality this can
  drastically increase the speed of successive dvisvgm calls.
- if option --no-fonts is used, all glyph sizes are now computed correctly
- use shorthand path commands in SVG fonts if possible

dvisvgm-0.7.1 (2009-03-09)
- evaluation of a subset of emTeX specials has been added
- specials for embedding of raw SVG snippets have been added
- evaluation of TPIC specials has been added
- added background color support
- added option -n, --no-fonts that replaces fonts by paths
  (enables applications w/o SVG font support to render dvisvgm's output properly)
- moved defs to top of SVG file to make Firefox's SVG renderer happy
- fixed bug in color handler

dvisvgm-0.7 (2009-02-16)
- basic support for evaluation of specials has been added
- evaluation of color specials has been added
- renamed command-line option -S to --no-specials and inverted previous behavior
- selected special sets can be disabled by optional arguments to --no-specials
  (currently only color specials)
- added option --no-style (see manpage for further details)
- added optional '+' flag to option --map-file (see manpage for further details)
- fixed \magnificaton bug (dvi magnification factor is now applied properly)
- fixed buggy call of maketfm/makemf in Windows/MiKTeX version
- fixed buggy evaluation of command-line argument -m/--map-file
- several internal code improvements

dvisvgm-0.6.1 (2009-01-29)
- added support for dvips map files
- removed dependency on dvipdfm's map file (now ps2pk.map, psfonts.map or dvipdfm.map is used by default)
- fixed compilation bug #2535497
- some internal refactorings

dvisvgm-0.6 (2009-01-23)
- added support for varying font encodings
- updated MiKTeX support using its COM interface
- fixed incomplete handling of nested virtual fonts
- fixed a font handling bug that could cause segmentation faults
- fixed bug in matrix transformation code
- updated bundled potrace library to version 1.8

dvisvgm-0.5 (2007-03-26)
- redesigned and improved font handling
- added support for virtual fonts
- evaluation of dvipdfm's map file to find font files with differing
  names (e.g. cork-lmr10 => lmr10)
- automatic invocation of mktexmf etc. in case of missing font files (tfm, mf)
- command-line option -m has been renamed to -M
- added command-line options -m/--map-file and -n/--no-mktexmf
- memory bug in StreamCounter class has been fixed
- added sources of Peter Selinger's potrace library (part of potrace, https://potrace.sourceforge.net)
  to simplify the build process

dvisvgm-0.4.3 (2007-01-03)
- problem with changed freetype API (freetype version >= 2.2.1) has been fixed
- updated MiKTeX support to version 2.5
- minor code improvements
- some unit tests based on CxxTest (http://cxxtest.sourceforge.net) have been added

dvisvgm-0.4.2 (2005-09-22)
- added SVG transformation options
- some bugfixes in command line frontend and TFM handling
- code refactorings to improve modularity and extensibility

dvisvgm-0.4.1 (2005-09-02)
- added option -b to specify the bounding box
- added a manual page

dvisvgm-0.4 (2005-08-24)
- Added a glyph tracing module that vectorizes Metafont's bitmap output
  if no corresponding Type 1 font file is available.

dvisvgm-0.3 (2005-08-10)
- Initial public release with basic conversion functionality.
