summaryrefslogtreecommitdiff
path: root/dviware/dvisvgm/NEWS
blob: a0cc6867abd41f3c5a6548e6d009367936726df5 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
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 suport 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 addding 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, http://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.