v1.15 2017/08/05
(2017/08/05) PS1 - use round() instead of rint()
(2017/08/05) PS1 - portability: set both _POSIX_C_SOURCE and
_NETBSD_SOURCE to enable strdup prototype in string.h, as
_XOPEN_SOURCE=500 doesn't work on macOS, _XOPEN_SOURCE=600 doesn't
work on SunOS, and _POSIX_C_SOURCE alone doesn't work on Minix.
(2017/08/02) PS1 - fixed a potential arithmetic overflow.
(2017/06/17) PS1 - fixed a bug with very large bitmaps. Reported
by Michael Voříšek.
(2017/03/05) PS1 - autoconf: added --enable-local-getopt to avoid
using the system-wide getopt library (it may still end up being
used on GNU systems).
(2017/03/05) PS1 - portability: moved getopt.h to a subdirectory,
to be included only when needed. Reported by Daniel Macks.
(2017/03/05) PS1 - portability: use _XOPEN_SOURCE=600 to fix macOS
warning.
(2017/02/27) PS1 - fixed more buffer overflows (not security
critical), including one reported by Agostino Sarubbo. This also
fixes CVE-2017-12067.
February 19, 2017: Release 1.14
This release consists of bugfixes and minor portability improvements.
A number of bugs triggered by malformed BMP files have been fixed,
including CVE-2016-8685 and CVE-2016-8686. Error reporting has been
improved. The image size is now truncated when the bitmap data ends
prematurely. It is now possible to use negative dy in bitmap
data. Portability has been improved to encompass C++11. The default
compiler is now clang if available. Thanks to Nelson Beebe and Martin
Gieseking for reporting portability issues, and to Agostino Sarubbo
for reporting bugs.
Some critical bugs in the processing of BMP files were fixed. These
bugs allowed the program to be crashed, or potentially to be abused
in other ways, by feeding it specially crafted BMP files. Thanks to
Tomasz Buchert and Agostino Sarubbo for reporting these bugs.
Portability was improved for C99 and for MSVC++. Thanks to Peter
Breitenlohner, Nelson Beebe, and Martin Gieseking for reporting
portability issues.
MASTER_SITES= site1 \
site2
style continuation lines to be simple repeated
MASTER_SITES+= site1
MASTER_SITES+= site2
lines. As previewed on tech-pkg. With thanks to rillig for fixing pkglint
accordingly.
Problems found with existing digests:
Package fotoxx distfile fotoxx-14.03.1.tar.gz
ac2033f87de2c23941261f7c50160cddf872c110 [recorded]
118e98a8cc0414676b3c4d37b8df407c28a1407c [calculated]
Package ploticus-examples distfile ploticus-2.00/plnode200.tar.gz
34274a03d0c41fae5690633663e3d4114b9d7a6d [recorded]
da39a3ee5e6b4b0d3255bfef95601890afd80709 [calculated]
Problems found locating distfiles:
Package AfterShotPro: missing distfile AfterShotPro-1.1.0.30/AfterShotPro_i386.deb
Package pgraf: missing distfile pgraf-20010131.tar.gz
Package qvplay: missing distfile qvplay-0.95.tar.gz
Otherwise, existing SHA1 digests verified and found to be the same on
the machine holding the existing distfiles (morden). All existing
SHA1 digests retained for now as an audit trail.
February 19, 2013: Release 1.11
A GeoJSON backend was added; thanks to Christoph Hormann for
contributing this. Support for bitfields in the BMP format was
added. A minor change was made to the behavior of the alphamax
parameter; a value of 0 now gives a true polygon.
August 19, 2011: Release 1.10
A DXF backend was added. The output is in the drawing interchange
format used by computer aided design software. Thanks to Jonas
Benedett Dorr for testing. The Gimppath backend was changed to be
compatible with current versions of Gimp. The EPS, PDF, and SVG
backends now use high-resolution bounding boxes. The default scaling
of the EPS, PDF, and SVG backends is now fixed at 72dpi. A new option
--flat was added to the SVG backend. A new option --tight was added
to remove whitespace around the input image before calculating its
scaling and placement.
December 21, 2010: Release 1.9
The xfig and eps backends were improved, and a fixed pagesize PDF
backend was added. Support for BMP version 4 and version 5 files, as
well as top-down BMP files, was added. Minor speed improvements to
Potrace and major speed improvements to mkbitmap. A Gaussian blur
option was added to mkbitmap. Libtool is now used to build and
optionally install the Potrace library. An optional simplified
progress bar was added for dumb terminals. This release also contains
some portability improvements, cross-compilation improvements, and
minor bug fixes.
Changes from 1.7:
v1.8 2007/04/09
(2007/04/08) PS1 - portability: use 'test' instead of '[' in shell
scripts.
(2007/04/08) PS1 - test suite: run PDF checks as a separate test.
(2007/04/06) PS1 - fixed logical expressions in flate.c
(2007/02/19) PS1 - portability: replacements for inline and M_PI
(2007/01/16) PS1 - test suite: added checks for rotation in
PostScript, PDF, and PGM backends
(2007/01/16) PS1 - pdf backend: added rotation
(2007/01/16) PS1 - pdf backend: renamed shipcom() function
(2007/01/14) PS1 - autoconf: check if getopt_long reorders its
arguments.
(2007/01/13) PS1 - made pseudo-random number generation
thread-safe and much faster.
(2006/12/20) PS1 - renamed some structures in lzw.c, main.h
(2006/12/20) PS1 - portability: fixed some compiler issues for
Amiga, reported by Andreas Kleinert.
(2006/12/20) PS1 - main.c: changed some return types to void.
(2006/08/14) PS1 - made curve.c:privcurve_free_members() static.
(2005/12/22) PS1 - renamed README.win as README-WIN
(2005/11/11) PS1 - portability: use binary file i/o in Cygwin.
Suggested by Henry He.
(2005/06/24) PS1 - potracelib: fixed allocation bug, reported by
Jung Shin.
(2005/06/23) PS1 - potracelib_demo.c: free resources properly.
(2005/06/23) PS1 - initialize unused private state to 0.
(2005/06/23) PS1 - decompose.c: improved memory allocation scheme.
(2005/05/06) PS1 - added "alphacurve" field to private curve
structure, so that backends that don't use the public interface
(such as the EPS backend) can be warned of non-conforming curves.
This is a bugfix release. A bug in the progress bar code, which
caused arithmetic exceptions on some 64-bit architectures, has been
fixed.
Changes 1.6:
This release contains an algorithm improvement that leads to a
speedup of 20-60% over previous versions of potrace. A new PDF
backend was added, courtesy of Tor Andersson. An option --progress
was added for displaying a progress bar. The Windows version of
potrace now uses MinGW instead of Cygwin, eliminating the need to
install a special DLL alongside the executable programs, and solving
some problems with wildcards and executable PostScript files. Some
spurious "premature end of file" messages were eliminated. The
core functionality of potrace was separated into a library with a
documented API, making it easier for developers to incorporate
potrace into other GPL-licensed software.
a bitmap into a smooth, scalable image. The input is a bitmap (PBM,
PGM, PPM, or BMP), and the default output is one of several vector
file formats. A typical use is to create EPS files from scanned
data, such as company or university logos, handwritten notes, etc.
The resulting image is not "jaggy" like a bitmap, but smooth. It can
then be rendered at any resolution.
Potrace can currently produce the following output formats: EPS,
PostScript, SVG (scalable vector graphics), PGM (for easy
antialiasing of pixel-based images), and XFig. An experimental
Gimppath backend is also provided. Additional backends might be added
in the future.
A separate program, mkbitmap, is also provided. This program can act
as a pre-processor for potrace, applying scaling and various filters
to an image before converting it to a bitmap. This is useful for
potracing greyscale and color images.