From dc2ba49207af71193f1390d84bba4e15aeea0ce0 Mon Sep 17 00:00:00 2001
From: Thomas Deutschmann
Date: Thu, 19 Mar 2020 13:53:45 +0100
Subject: Import Ghostscript 9.52
Signed-off-by: Thomas Deutschmann
---
Makefile.in | 36 +-
Resource/Init/gs_cidfm.ps | 11 +-
Resource/Init/gs_fonts.ps | 21 +-
Resource/Init/gs_init.ps | 47 +-
Resource/Init/gs_lev2.ps | 2 +-
Resource/Init/gs_pdfwr.ps | 2 +-
Resource/Init/gs_res.ps | 2 +-
Resource/Init/gs_ttf.ps | 8 +-
Resource/Init/pdf_base.ps | 138 +-
Resource/Init/pdf_draw.ps | 855 +-
Resource/Init/pdf_font.ps | 387 +-
Resource/Init/pdf_main.ps | 178 +-
Resource/Init/pdf_ops.ps | 204 +-
arch/arch_autoconf.h.in | 4 +
arch/osx-x86-x86_64-ppc-gcc.h | 12 +
autogen.sh | 25 +-
base/cal.mak | 16 +-
base/claptrap-planar.c | 2 +
base/ets.h | 1 +
base/expat.mak | 6 +-
base/fapiufst.c | 4 +-
base/freetype.mak | 319 +-
base/gdbflags.h | 2 +-
base/gdevdbit.c | 8 +-
base/gdevdevn.c | 101 +-
base/gdevdevn.h | 10 +-
base/gdevdflt.c | 16 +-
base/gdevdrop.c | 9 +-
base/gdevepo.c | 17 +-
base/gdevflp.c | 20 +-
base/gdevmem.h | 3 +-
base/gdevmpla.c | 2 +
base/gdevmplt.c | 3 +-
base/gdevnfwd.c | 20 +
base/gdevoflt.c | 14 +-
base/gdevp14.c | 1594 +-
base/gdevp14.h | 39 +
base/gdevprn.c | 22 +-
base/gdevsclass.c | 11 +
base/gdevsclass.h | 1 +
base/gdevvec.c | 5 +
base/genconf.c | 11 +-
base/gp.h | 8 +-
base/gp_dosfs.c | 2 +-
base/gp_ntfs.c | 2 +-
base/gp_os2fs.c | 2 +-
base/gp_psync.c | 76 +-
base/gp_unifn.c | 4 +-
base/gp_unifs.c | 57 +-
base/gp_unix.c | 66 +-
base/gp_vms.c | 2 +-
base/gpmisc.c | 102 +-
base/gs.mak | 8 +-
base/gsalloc.c | 24 +-
base/gsbitcom.c | 34 +-
base/gscdefs.h | 2 +-
base/gscdevn.c | 62 +-
base/gscolor.c | 16 +-
base/gscolor2.c | 16 +-
base/gscolor3.c | 14 +
base/gscpixel.c | 3 +-
base/gscsepr.c | 17 +-
base/gscspace.c | 89 +-
base/gscspace.h | 3 +
base/gsdcolor.h | 2 +-
base/gsdevice.c | 2 +-
base/gsdparam.c | 6 +-
base/gsdps1.c | 2 +-
base/gsftopts.h | 19 +
base/gsfunc4.c | 9 +-
base/gshtscr.c | 11 +
base/gsicc.c | 97 +-
base/gsicc.h | 4 +
base/gsicc_cache.c | 87 +-
base/gsicc_create.c | 6 +-
base/gsicc_lcms2.c | 2 -
base/gsicc_lcms2mt.c | 3 +-
base/gsicc_manage.c | 38 +-
base/gsicc_manage.h | 1 +
base/gsimage.c | 18 +
base/gsioram.c | 4 +-
base/gsiorom.c | 2 +
base/gsiparam.h | 12 +
base/gslibctx.c | 105 +-
base/gsline.c | 10 +-
base/gsmalloc.c | 6 +-
base/gsmchunk.c | 48 +-
base/gsovrc.c | 475 +-
base/gsovrc.h | 37 +-
base/gspaint.c | 285 +-
base/gspaint.h | 4 +-
base/gsparam.c | 25 +-
base/gspath.c | 49 +-
base/gspcolor.c | 2 +-
base/gsptype1.c | 50 +-
base/gsptype2.c | 3 +
base/gssprintf.c | 3 +-
base/gsstate.c | 155 +-
base/gstext.c | 41 +
base/gstparam.h | 11 +
base/gstrans.h | 13 +-
base/gstype42.c | 11 +-
base/gsutil.c | 2 -
base/gxacpath.c | 4 +-
base/gxblend.c | 873 +-
base/gxblend1.c | 30 +-
base/gxclfile.c | 3 +-
base/gxclimag.c | 13 +-
base/gxclip.c | 108 +-
base/gxclip.h | 10 +-
base/gxclipm.c | 3 +-
base/gxclist.c | 8 +-
base/gxclist.h | 6 +-
base/gxclpath.c | 231 +-
base/gxclpath.h | 47 +-
base/gxclrast.c | 136 +-
base/gxclrect.c | 17 +-
base/gxclthrd.c | 69 +-
base/gxcmap.c | 3 -
base/gxcpath.c | 6 +-
base/gxdevcli.h | 14 +
base/gxdevice.h | 6 +-
base/gxdevsop.h | 14 +
base/gxdownscale.c | 62 +-
base/gxdtfill.h | 4 +
base/gxfapiu.h | 1 +
base/gxfill.c | 26 +-
base/gxgstate.h | 20 +-
base/gxhintn.c | 5 +-
base/gxicolor.c | 125 +-
base/gxidata.c | 3 +-
base/gximage.c | 1 +
base/gximage3.c | 2 +
base/gximono.c | 2 +-
base/gxipixel.c | 12 +-
base/gxiscale.c | 1 +
base/gxmclip.c | 4 +-
base/gxpaint.c | 24 +
base/gxpaint.h | 2 +
base/gxpath.h | 1 +
base/gxpath2.c | 3 +
base/gxpcmap.c | 100 +-
base/gxpcolor.h | 17 +-
base/gxscanc.c | 8 +-
base/gxstroke.c | 9 +-
base/jbig2.mak | 56 +-
base/lcupsi.mak | 6 +-
base/lib.mak | 7430 ++++----
base/memento.c | 545 +-
base/memento.h | 36 +-
base/mkromfs.c | 71 +-
base/msvccmd.mak | 7 +
base/msvclib.mak | 46 +-
base/openjpeg.mak | 2 +-
base/pack_ps.c | 2 +-
base/png.mak | 2 +-
base/scfe.c | 3 +
base/simscale.c | 2 +-
base/sjpegc.c | 12 +-
base/sjpx_openjpeg.c | 17 +-
base/spwgd.c | 11 +-
base/srle.c | 10 +-
base/srlx.h | 3 +-
base/std.h | 1 +
base/stdint_.h | 3 +
base/stdpre.h | 32 +-
base/tiff.mak | 115 +-
base/unix-dll.mak | 24 +-
base/unix-gcc.mak | 8 +-
base/unixansi.mak | 4 +-
base/unixinst.mak | 2 +-
base/version.mak | 6 +-
base/windows_.h | 2 +
config.guess | 1480 ++
config.sub | 1801 ++
configure | 1207 +-
configure.ac | 889 +-
contrib/contrib.mak | 30 +-
contrib/eplaser/gdevescv.c | 24 +-
contrib/gdevadmp.c | 410 +
contrib/gdevbjc_.c | 37 +-
contrib/gdevbjc_.h | 4 +-
contrib/gdevbjca.c | 40 +-
contrib/gdevcd8.c | 68 +-
contrib/gdevdj9.c | 208 +-
contrib/gdevgdi.c | 22 +-
contrib/gdevhl12.c | 2 +-
contrib/gdevln03.c | 2 +-
contrib/gdevlx32.c | 101 +-
contrib/gdevlx7.c | 13 +-
contrib/gdevmd2k.c | 50 +-
contrib/gdevop4w.c | 96 +-
contrib/japanese/gdev10v.c | 22 +-
contrib/japanese/gdevalps.c | 27 +-
contrib/japanese/gdevespg.c | 20 +-
contrib/japanese/gdevlbp3.c | 4 +-
contrib/japanese/gdevmjc.c | 48 +-
contrib/japanese/gdevnpdl.c | 68 +-
contrib/japanese/gdevp201.c | 34 +-
contrib/japanese/gdevrpdl.c | 8 +-
contrib/lips4/gdevl4r.c | 51 +-
contrib/lips4/gdevl4v.c | 35 +-
contrib/lips4/gdevlips.c | 4 +-
contrib/lips4/gdevlips.h | 32 +-
contrib/lips4/gdevlprn.c | 9 +-
contrib/opvp/gdevopvp.c | 71 +-
contrib/pcl3/eprn/eprnrend.c | 4 +-
contrib/pcl3/eprn/gdeveprn.c | 11 +-
contrib/pcl3/eprn/gdeveprn.h | 2 +-
contrib/pcl3/eprn/mediasize.c | 6 +-
contrib/pcl3/eprn/mediasize.h | 4 +-
contrib/pcl3/src/gdevpcl3.c | 182 +-
contrib/pcl3/src/pclcap.c | 298 +-
contrib/pcl3/src/pclgen.c | 4 +-
cups/gdevcups.c | 6 +-
cups/libs/filter/cupsraster.c | 1479 ++
cups/libs/filter/raster.c | 1479 --
devices/contrib.mak | 515 +-
devices/devs.mak | 2501 +--
devices/gdev3852.c | 22 +-
devices/gdev4081.c | 23 +-
devices/gdev4693.c | 29 +-
devices/gdev8510.c | 12 +-
devices/gdevatx.c | 22 +-
devices/gdevbit.c | 12 +-
devices/gdevbj10.c | 3 +-
devices/gdevbmp.c | 4 +-
devices/gdevccr.c | 8 +-
devices/gdevcdj.c | 12 +-
devices/gdevcfax.c | 4 +-
devices/gdevcif.c | 29 +-
devices/gdevclj.c | 31 +-
devices/gdevcljc.c | 2 +-
devices/gdevdjtc.c | 12 +-
devices/gdevdm24.c | 81 +-
devices/gdevdsp.c | 26 +-
devices/gdevepsc.c | 76 +-
devices/gdevepsn.c | 73 +-
devices/gdevescp.c | 35 +-
devices/gdevgprf.c | 1330 --
devices/gdevhl7x.c | 43 +-
devices/gdevicov.c | 20 +-
devices/gdevifno.c | 11 +-
devices/gdevimgn.c | 12 +-
devices/gdevjbig2.c | 4 +-
devices/gdevjpx.c | 4 +-
devices/gdevl31s.c | 10 +-
devices/gdevlbp8.c | 25 +-
devices/gdevlj56.c | 3 +-
devices/gdevlp8k.c | 43 +-
devices/gdevlxm.c | 77 +-
devices/gdevmgr.c | 35 +-
devices/gdevn533.c | 11 +-
devices/gdevokii.c | 69 +-
devices/gdevpbm.c | 2 +
devices/gdevpcx.c | 2 +-
devices/gdevpdfimg.c | 32 +-
devices/gdevperm.c | 10 +-
devices/gdevphex.c | 63 +-
devices/gdevpjet.c | 67 +-
devices/gdevplan.c | 15 +-
devices/gdevpng.c | 14 +-
devices/gdevpsd.c | 6 +-
devices/gdevpsim.c | 18 +-
devices/gdevrinkj.c | 25 +-
devices/gdevsppr.c | 13 +-
devices/gdevstc.c | 8 +-
devices/gdevtfnx.c | 22 +-
devices/gdevtifs.c | 10 +-
devices/gdevtknk.c | 11 +-
devices/gdevtsep.c | 240 +-
devices/gdevwpr2.c | 8 +-
devices/gdevx.h | 3 -
devices/gdevxcf.c | 18 +-
devices/gdevxcmp.c | 16 +-
devices/gdevxcmp.h | 3 +
devices/gdevxini.c | 8 +
devices/vector/gdevagl.c | 2 +-
devices/vector/gdevagl.h | 2 +-
devices/vector/gdevpdf.c | 4 +
devices/vector/gdevpdfb.h | 16 +-
devices/vector/gdevpdfd.c | 203 +-
devices/vector/gdevpdfe.c | 20 +-
devices/vector/gdevpdfg.c | 256 +-
devices/vector/gdevpdfg.h | 9 +-
devices/vector/gdevpdfi.c | 21 +-
devices/vector/gdevpdfp.c | 19 +
devices/vector/gdevpdft.c | 4 +-
devices/vector/gdevpdfu.c | 4 +-
devices/vector/gdevpdfx.h | 10 +-
devices/vector/gdevpdtb.c | 2 +-
devices/vector/gdevpdts.c | 2 +-
devices/vector/gdevpdtt.c | 4 +-
devices/vector/gdevpsdf.h | 7 +-
devices/vector/gdevpsdi.c | 15 +-
devices/vector/gdevpsds.c | 5 +-
devices/vector/gdevpsds.h | 3 +-
devices/vector/gdevpsdu.c | 2 +
devices/vector/gdevpsu.c | 5 +
devices/vector/gdevpx.c | 1 +
devices/vector/gdevtxtw.c | 201 +-
devices/vector/gdevxps.c | 43 +-
doc/API.htm | 46 +-
doc/C-style.htm | 2 +-
doc/DLL.htm | 4 +-
doc/Deprecated.htm | 4 +-
doc/Develop.htm | 4 +-
doc/Devices.htm | 10 +-
doc/Drivers.htm | 4 +-
doc/Fonts.htm | 19 +-
doc/GS9_Color_Management.pdf | Bin 2195244 -> 6606532 bytes
doc/GS9_Color_Management.tex | 44 +-
doc/History9.htm | 15948 ++++++++++++++++-
doc/Install.htm | 4 +-
doc/Internal.htm | 4 +-
doc/Language.htm | 61 +-
doc/Lib.htm | 4 +-
doc/Make.htm | 16 +-
doc/News.htm | 95 +-
doc/Ps-style.htm | 4 +-
doc/Ps2epsi.htm | 4 +-
doc/Psfiles.htm | 4 +-
doc/Readme.htm | 9 +-
doc/Release.htm | 4 +-
doc/SavedPages.htm | 2 +-
doc/Source.htm | 4 +-
doc/Unix-lpr.htm | 4 +-
doc/Use.htm | 91 +-
doc/VectorDevices.htm | 18 +-
doc/WhatIsGS.htm | 4 +-
doc/gs-vms.hlp | 2 +-
doc/sample_downscale_device.htm | 4 +-
doc/subclass.htm | 2 +-
doc/thirdparty.htm | 33 +-
examples/transparency_example.ps | 2 +-
freetype/CMakeLists.txt | 79 +-
freetype/ChangeLog | 3670 ++--
freetype/ChangeLog.20 | 12 +-
freetype/ChangeLog.21 | 4 +-
freetype/ChangeLog.22 | 2 +-
freetype/ChangeLog.23 | 60 +-
freetype/ChangeLog.24 | 8 +-
freetype/ChangeLog.25 | 6 +-
freetype/ChangeLog.26 | 4 +-
freetype/ChangeLog.27 | 2 +-
freetype/ChangeLog.28 | 6 +-
freetype/ChangeLog.29 | 2352 +++
freetype/Jamfile | 7 +-
freetype/Jamrules | 2 +-
freetype/Makefile | 2 +-
freetype/README | 18 +-
freetype/README.git | 2 +-
freetype/autogen.sh | 2 +-
freetype/builds/amiga/README | 4 +-
freetype/builds/amiga/include/config/ftconfig.h | 2 +-
freetype/builds/amiga/include/config/ftmodule.h | 2 +-
freetype/builds/amiga/makefile | 2 +-
freetype/builds/amiga/makefile.os4 | 2 +-
freetype/builds/amiga/smakefile | 2 +-
freetype/builds/amiga/src/base/ftdebug.c | 207 +-
freetype/builds/amiga/src/base/ftsystem.c | 4 +-
freetype/builds/ansi/ansi-def.mk | 5 +-
freetype/builds/ansi/ansi.mk | 2 +-
freetype/builds/beos/beos-def.mk | 5 +-
freetype/builds/beos/beos.mk | 2 +-
freetype/builds/beos/detect.mk | 2 +-
freetype/builds/cmake/iOS.cmake | 2 +-
freetype/builds/cmake/testbuild.sh | 2 +-
freetype/builds/compiler/ansi-cc.mk | 2 +-
freetype/builds/compiler/bcc-dev.mk | 2 +-
freetype/builds/compiler/bcc.mk | 2 +-
freetype/builds/compiler/emx.mk | 2 +-
freetype/builds/compiler/gcc-dev.mk | 2 +-
freetype/builds/compiler/gcc.mk | 2 +-
freetype/builds/compiler/intelc.mk | 2 +-
freetype/builds/compiler/unix-lcc.mk | 2 +-
freetype/builds/compiler/visualage.mk | 2 +-
freetype/builds/compiler/visualc.mk | 2 +-
freetype/builds/compiler/watcom.mk | 2 +-
freetype/builds/compiler/win-lcc.mk | 2 +-
freetype/builds/detect.mk | 2 +-
freetype/builds/dos/detect.mk | 22 +-
freetype/builds/dos/dos-def.mk | 5 +-
freetype/builds/dos/dos-emx.mk | 2 +-
freetype/builds/dos/dos-gcc.mk | 2 +-
freetype/builds/dos/dos-wat.mk | 2 +-
freetype/builds/exports.mk | 2 +-
freetype/builds/freetype.mk | 55 +-
freetype/builds/link_dos.mk | 2 +-
freetype/builds/link_std.mk | 2 +-
freetype/builds/mac/README | 8 +-
freetype/builds/mac/freetype-Info.plist | 2 +-
freetype/builds/mac/ftmac.c | 7 +-
freetype/builds/modules.mk | 2 +-
freetype/builds/os2/detect.mk | 18 +-
freetype/builds/os2/os2-def.mk | 6 +-
freetype/builds/os2/os2-dev.mk | 2 +-
freetype/builds/os2/os2-gcc.mk | 2 +-
freetype/builds/symbian/bld.inf | 2 +-
freetype/builds/symbian/freetype.mmp | 2 +-
freetype/builds/toplevel.mk | 27 +-
freetype/builds/unix/aclocal.m4 | 5 +-
freetype/builds/unix/config.guess | 1476 --
freetype/builds/unix/config.sub | 1805 --
freetype/builds/unix/configure | 17204 -------------------
freetype/builds/unix/configure.ac | 62 +-
freetype/builds/unix/configure.raw | 60 +-
freetype/builds/unix/detect.mk | 14 +-
freetype/builds/unix/freetype-config.in | 2 +-
freetype/builds/unix/freetype2.m4 | 2 +-
freetype/builds/unix/ft-munmap.m4 | 2 +-
freetype/builds/unix/ftconfig.in | 445 +-
freetype/builds/unix/ftsystem.c | 4 +-
freetype/builds/unix/install-sh | 501 -
freetype/builds/unix/install.mk | 2 +-
freetype/builds/unix/ltmain.sh | 0
freetype/builds/unix/unix-cc.in | 2 +-
freetype/builds/unix/unix-def.in | 8 +-
freetype/builds/unix/unix-dev.mk | 2 +-
freetype/builds/unix/unix-lcc.mk | 2 +-
freetype/builds/unix/unix.mk | 2 +-
freetype/builds/unix/unixddef.mk | 6 +-
freetype/builds/vms/LIBS.OPT_IA64 | Bin 0 -> 82 bytes
freetype/builds/vms/_LINK.OPT_IA64 | Bin 0 -> 14464 bytes
freetype/builds/vms/ftconfig.h | 405 +-
freetype/builds/vms/ftsystem.c | 4 +-
freetype/builds/vms/vmslib.dat | 28 +
freetype/builds/wince/ftdebug.c | 243 +-
freetype/builds/wince/vc2005-ce/freetype.vcproj | 76 +-
freetype/builds/wince/vc2005-ce/index.html | 12 +-
freetype/builds/wince/vc2008-ce/freetype.vcproj | 76 +-
freetype/builds/wince/vc2008-ce/index.html | 12 +-
freetype/builds/windows/detect.mk | 38 +-
freetype/builds/windows/ftdebug.c | 230 +-
freetype/builds/windows/vc2005/freetype.sln | 31 -
freetype/builds/windows/vc2005/freetype.vcproj | 217 -
freetype/builds/windows/vc2005/index.html | 37 -
freetype/builds/windows/vc2008/freetype.sln | 31 -
freetype/builds/windows/vc2008/freetype.vcproj | 668 -
freetype/builds/windows/vc2008/index.html | 37 -
freetype/builds/windows/vc2010/freetype.vcxproj | 119 +-
.../builds/windows/vc2010/freetype.vcxproj.filters | 23 +-
freetype/builds/windows/vc2010/index.html | 6 +-
freetype/builds/windows/visualc/freetype.dsp | 179 +-
freetype/builds/windows/visualc/freetype.sln | 22 +-
freetype/builds/windows/visualc/freetype.vcproj | 304 +-
freetype/builds/windows/visualc/index.html | 23 +-
freetype/builds/windows/visualce/freetype.dsp | 20 +-
freetype/builds/windows/visualce/freetype.vcproj | 84 +-
freetype/builds/windows/visualce/index.html | 12 +-
freetype/builds/windows/w32-bcc.mk | 2 +-
freetype/builds/windows/w32-bccd.mk | 2 +-
freetype/builds/windows/w32-dev.mk | 2 +-
freetype/builds/windows/w32-gcc.mk | 2 +-
freetype/builds/windows/w32-icc.mk | 2 +-
freetype/builds/windows/w32-intl.mk | 2 +-
freetype/builds/windows/w32-lcc.mk | 2 +-
freetype/builds/windows/w32-mingw32.mk | 2 +-
freetype/builds/windows/w32-vcc.mk | 2 +-
freetype/builds/windows/w32-wat.mk | 2 +-
freetype/builds/windows/win32-def.mk | 6 +-
freetype/configure | 135 -
freetype/devel/ft2build.h | 44 +-
freetype/devel/ftoption.h | 1323 +-
freetype/docs/CHANGES | 197 +-
freetype/docs/CUSTOMIZE | 2 +-
freetype/docs/DEBUG | 21 +-
freetype/docs/DOCGUIDE | 298 +
freetype/docs/INSTALL | 4 +-
freetype/docs/INSTALL.ANY | 2 +-
freetype/docs/INSTALL.CROSS | 2 +-
freetype/docs/INSTALL.GNU | 4 +-
freetype/docs/INSTALL.UNIX | 2 +-
freetype/docs/INSTALL.VMS | 2 +-
freetype/docs/MAKEPP | 2 +-
freetype/docs/TODO | 2 +-
freetype/docs/VERSIONS.TXT | 4 +-
freetype/docs/formats.txt | 6 +-
freetype/docs/freetype-config.1 | 2 +-
freetype/docs/raster.txt | 2 +-
freetype/docs/reference/README | 34 +-
freetype/docs/reference/ft2-auto_hinter.html | 112 -
freetype/docs/reference/ft2-base_interface.html | 3229 ----
freetype/docs/reference/ft2-basic_types.html | 866 -
freetype/docs/reference/ft2-bdf_fonts.html | 280 -
freetype/docs/reference/ft2-bitmap_handling.html | 323 -
freetype/docs/reference/ft2-bzip2.html | 149 -
freetype/docs/reference/ft2-cache_subsystem.html | 1010 --
freetype/docs/reference/ft2-cff_driver.html | 120 -
freetype/docs/reference/ft2-cid_fonts.html | 240 -
freetype/docs/reference/ft2-computations.html | 707 -
freetype/docs/reference/ft2-error_code_values.html | 343 -
.../docs/reference/ft2-error_enumerations.html | 144 -
freetype/docs/reference/ft2-font_formats.html | 147 -
freetype/docs/reference/ft2-gasp_table.html | 190 -
freetype/docs/reference/ft2-glyph_management.html | 597 -
freetype/docs/reference/ft2-glyph_stroker.html | 819 -
freetype/docs/reference/ft2-glyph_variants.html | 294 -
freetype/docs/reference/ft2-gx_validation.html | 362 -
freetype/docs/reference/ft2-gzip.html | 202 -
.../docs/reference/ft2-header_file_macros.html | 694 -
freetype/docs/reference/ft2-header_inclusion.html | 117 -
freetype/docs/reference/ft2-incremental.html | 375 -
freetype/docs/reference/ft2-index.html | 379 -
freetype/docs/reference/ft2-lcd_filtering.html | 265 -
freetype/docs/reference/ft2-list_processing.html | 446 -
freetype/docs/reference/ft2-lzw.html | 149 -
freetype/docs/reference/ft2-mac_specific.html | 374 -
freetype/docs/reference/ft2-module_management.html | 824 -
freetype/docs/reference/ft2-multiple_masters.html | 723 -
freetype/docs/reference/ft2-ot_validation.html | 247 -
.../docs/reference/ft2-outline_processing.html | 970 --
freetype/docs/reference/ft2-parameter_tags.html | 232 -
freetype/docs/reference/ft2-pcf_driver.html | 111 -
freetype/docs/reference/ft2-pfr_fonts.html | 242 -
freetype/docs/reference/ft2-properties.html | 704 -
freetype/docs/reference/ft2-quick_advance.html | 224 -
freetype/docs/reference/ft2-raster.html | 531 -
freetype/docs/reference/ft2-sfnt_names.html | 304 -
freetype/docs/reference/ft2-sizes_management.html | 202 -
freetype/docs/reference/ft2-system_interface.html | 405 -
freetype/docs/reference/ft2-t1_cid_driver.html | 114 -
freetype/docs/reference/ft2-toc.html | 293 -
freetype/docs/reference/ft2-truetype_engine.html | 175 -
freetype/docs/reference/ft2-truetype_tables.html | 1869 --
freetype/docs/reference/ft2-tt_driver.html | 127 -
freetype/docs/reference/ft2-type1_tables.html | 867 -
freetype/docs/reference/ft2-user_allocation.html | 110 -
freetype/docs/reference/ft2-version.html | 251 -
freetype/docs/reference/ft2-winfnt_fonts.html | 310 -
freetype/docs/reference/site/404.html | 1034 ++
.../reference/site/assets/fonts/font-awesome.css | 4 +
.../reference/site/assets/fonts/material-icons.css | 13 +
.../site/assets/fonts/specimen/FontAwesome.ttf | Bin 0 -> 165548 bytes
.../site/assets/fonts/specimen/FontAwesome.woff | Bin 0 -> 98024 bytes
.../site/assets/fonts/specimen/FontAwesome.woff2 | Bin 0 -> 77160 bytes
.../fonts/specimen/MaterialIcons-Regular.ttf | Bin 0 -> 128180 bytes
.../fonts/specimen/MaterialIcons-Regular.woff | Bin 0 -> 57620 bytes
.../fonts/specimen/MaterialIcons-Regular.woff2 | Bin 0 -> 44300 bytes
.../docs/reference/site/assets/images/favicon.png | Bin 0 -> 521 bytes
.../assets/images/icons/bitbucket.1b09e088.svg | 20 +
.../site/assets/images/icons/github.f0b8504a.svg | 18 +
.../site/assets/images/icons/gitlab.6dd19c00.svg | 38 +
.../assets/javascripts/application.d9aa80ab.js | 6 +
.../site/assets/javascripts/lunr/lunr.da.js | 1 +
.../site/assets/javascripts/lunr/lunr.de.js | 1 +
.../site/assets/javascripts/lunr/lunr.du.js | 1 +
.../site/assets/javascripts/lunr/lunr.es.js | 1 +
.../site/assets/javascripts/lunr/lunr.fi.js | 1 +
.../site/assets/javascripts/lunr/lunr.fr.js | 1 +
.../site/assets/javascripts/lunr/lunr.hu.js | 1 +
.../site/assets/javascripts/lunr/lunr.it.js | 1 +
.../site/assets/javascripts/lunr/lunr.ja.js | 1 +
.../site/assets/javascripts/lunr/lunr.jp.js | 1 +
.../site/assets/javascripts/lunr/lunr.multi.js | 1 +
.../site/assets/javascripts/lunr/lunr.nl.js | 1 +
.../site/assets/javascripts/lunr/lunr.no.js | 1 +
.../site/assets/javascripts/lunr/lunr.pt.js | 1 +
.../site/assets/javascripts/lunr/lunr.ro.js | 1 +
.../site/assets/javascripts/lunr/lunr.ru.js | 1 +
.../javascripts/lunr/lunr.stemmer.support.js | 1 +
.../site/assets/javascripts/lunr/lunr.sv.js | 1 +
.../site/assets/javascripts/lunr/lunr.th.js | 1 +
.../site/assets/javascripts/lunr/lunr.tr.js | 1 +
.../site/assets/javascripts/lunr/tinyseg.js | 1 +
.../site/assets/javascripts/lunr/wordcut.js | 1 +
.../site/assets/javascripts/modernizr.1f0bcf2b.js | 1 +
.../stylesheets/application-palette.224b79ff.css | 1 +
.../assets/stylesheets/application.982221ab.css | 1 +
freetype/docs/reference/site/ft2-auto_hinter.html | 1155 ++
.../docs/reference/site/ft2-base_interface.html | 5342 ++++++
freetype/docs/reference/site/ft2-basic_types.html | 2422 +++
freetype/docs/reference/site/ft2-bdf_fonts.html | 1387 ++
.../docs/reference/site/ft2-bitmap_handling.html | 1522 ++
freetype/docs/reference/site/ft2-bzip2.html | 1200 ++
.../docs/reference/site/ft2-cache_subsystem.html | 2425 +++
freetype/docs/reference/site/ft2-cff_driver.html | 1163 ++
freetype/docs/reference/site/ft2-cid_fonts.html | 1320 ++
.../docs/reference/site/ft2-color_management.html | 1471 ++
freetype/docs/reference/site/ft2-computations.html | 2074 +++
.../docs/reference/site/ft2-error_code_values.html | 1395 ++
.../reference/site/ft2-error_enumerations.html | 1244 ++
freetype/docs/reference/site/ft2-font_formats.html | 1197 ++
freetype/docs/reference/site/ft2-gasp_table.html | 1255 ++
.../docs/reference/site/ft2-glyph_management.html | 1860 ++
.../docs/reference/site/ft2-glyph_stroker.html | 2154 +++
.../docs/reference/site/ft2-glyph_variants.html | 1399 ++
.../docs/reference/site/ft2-gx_validation.html | 1482 ++
freetype/docs/reference/site/ft2-gzip.html | 1269 ++
.../reference/site/ft2-header_file_macros.html | 2355 +++
.../docs/reference/site/ft2-header_inclusion.html | 1159 ++
freetype/docs/reference/site/ft2-incremental.html | 1531 ++
freetype/docs/reference/site/ft2-index.html | 2141 +++
.../docs/reference/site/ft2-layer_management.html | 1313 ++
.../docs/reference/site/ft2-lcd_rendering.html | 1420 ++
.../docs/reference/site/ft2-list_processing.html | 1660 ++
freetype/docs/reference/site/ft2-lzw.html | 1200 ++
freetype/docs/reference/site/ft2-mac_specific.html | 1501 ++
.../docs/reference/site/ft2-module_management.html | 2225 +++
.../docs/reference/site/ft2-multiple_masters.html | 2126 +++
.../docs/reference/site/ft2-ot_validation.html | 1326 ++
.../reference/site/ft2-outline_processing.html | 2314 +++
.../docs/reference/site/ft2-parameter_tags.html | 1352 ++
freetype/docs/reference/site/ft2-pcf_driver.html | 1154 ++
freetype/docs/reference/site/ft2-pfr_fonts.html | 1324 ++
freetype/docs/reference/site/ft2-properties.html | 1919 +++
.../docs/reference/site/ft2-quick_advance.html | 1303 ++
freetype/docs/reference/site/ft2-raster.html | 1741 ++
freetype/docs/reference/site/ft2-sfnt_names.html | 1417 ++
.../docs/reference/site/ft2-sizes_management.html | 1282 ++
.../docs/reference/site/ft2-system_interface.html | 1576 ++
.../docs/reference/site/ft2-t1_cid_driver.html | 1157 ++
.../docs/reference/site/ft2-truetype_engine.html | 1240 ++
.../docs/reference/site/ft2-truetype_tables.html | 3227 ++++
freetype/docs/reference/site/ft2-tt_driver.html | 1170 ++
freetype/docs/reference/site/ft2-type1_tables.html | 2155 +++
.../docs/reference/site/ft2-user_allocation.html | 1153 ++
freetype/docs/reference/site/ft2-version.html | 1341 ++
freetype/docs/reference/site/ft2-winfnt_fonts.html | 1401 ++
freetype/docs/reference/site/images/favico.ico | Bin 0 -> 1150 bytes
freetype/docs/reference/site/index.html | 1273 ++
freetype/docs/reference/site/javascripts/extra.js | 54 +
.../docs/reference/site/search/search_index.json | 1 +
freetype/docs/reference/site/sitemap.xml | 258 +
freetype/docs/reference/site/sitemap.xml.gz | Bin 0 -> 221 bytes
freetype/docs/reference/site/stylesheets/extra.css | 221 +
freetype/docs/release | 14 +-
freetype/include/freetype/config/ftconfig.h | 420 +-
freetype/include/freetype/config/ftheader.h | 352 +-
freetype/include/freetype/config/ftmodule.h | 12 +-
freetype/include/freetype/config/ftoption.h | 1369 +-
freetype/include/freetype/config/ftstdlib.h | 160 +-
freetype/include/freetype/freetype.h | 7016 ++++----
freetype/include/freetype/ftadvanc.h | 239 +-
freetype/include/freetype/ftbbox.h | 129 +-
freetype/include/freetype/ftbdf.h | 241 +-
freetype/include/freetype/ftbitmap.h | 438 +-
freetype/include/freetype/ftbzip2.h | 140 +-
freetype/include/freetype/ftcache.h | 1190 +-
freetype/include/freetype/ftchapters.h | 284 +-
freetype/include/freetype/ftcid.h | 102 +-
freetype/include/freetype/ftcolor.h | 311 +
freetype/include/freetype/ftdriver.h | 749 +-
freetype/include/freetype/fterrdef.h | 101 +-
freetype/include/freetype/fterrors.h | 263 +-
freetype/include/freetype/ftfntfmt.h | 117 +-
freetype/include/freetype/ftgasp.h | 74 +-
freetype/include/freetype/ftglyph.h | 999 +-
freetype/include/freetype/ftgxval.h | 490 +-
freetype/include/freetype/ftgzip.h | 226 +-
freetype/include/freetype/ftimage.h | 1771 +-
freetype/include/freetype/ftincrem.h | 139 +-
freetype/include/freetype/ftlcdfil.h | 311 +-
freetype/include/freetype/ftlist.h | 421 +-
freetype/include/freetype/ftlzw.h | 137 +-
freetype/include/freetype/ftmac.h | 399 +-
freetype/include/freetype/ftmm.h | 1180 +-
freetype/include/freetype/ftmodapi.h | 946 +-
freetype/include/freetype/ftmoderr.h | 191 +-
freetype/include/freetype/ftotval.h | 303 +-
freetype/include/freetype/ftoutln.h | 941 +-
freetype/include/freetype/ftparams.h | 99 +-
freetype/include/freetype/ftpfr.h | 258 +-
freetype/include/freetype/ftrender.h | 214 +-
freetype/include/freetype/ftsizes.h | 239 +-
freetype/include/freetype/ftsnames.h | 394 +-
freetype/include/freetype/ftstroke.h | 431 +-
freetype/include/freetype/ftsynth.h | 38 +-
freetype/include/freetype/ftsystem.h | 134 +-
freetype/include/freetype/fttrigon.h | 84 +-
freetype/include/freetype/fttypes.h | 851 +-
freetype/include/freetype/ftwinfnt.h | 162 +-
freetype/include/freetype/internal/autohint.h | 326 +-
freetype/include/freetype/internal/cffotypes.h | 88 +-
freetype/include/freetype/internal/cfftypes.h | 95 +-
freetype/include/freetype/internal/ftcalc.h | 246 +-
freetype/include/freetype/internal/ftdebug.h | 248 +-
freetype/include/freetype/internal/ftdrv.h | 336 +-
freetype/include/freetype/internal/ftgloadr.h | 55 +-
freetype/include/freetype/internal/fthash.h | 28 +-
freetype/include/freetype/internal/ftmemory.h | 77 +-
freetype/include/freetype/internal/ftobjs.h | 1273 +-
freetype/include/freetype/internal/ftpic.h | 71 -
freetype/include/freetype/internal/ftpsprop.h | 32 +-
freetype/include/freetype/internal/ftrfork.h | 305 +-
freetype/include/freetype/internal/ftserv.h | 669 +-
freetype/include/freetype/internal/ftstream.h | 106 +-
freetype/include/freetype/internal/fttrace.h | 84 +-
freetype/include/freetype/internal/ftvalid.h | 82 +-
freetype/include/freetype/internal/internal.h | 46 +-
freetype/include/freetype/internal/psaux.h | 601 +-
freetype/include/freetype/internal/pshints.h | 170 +-
.../include/freetype/internal/services/svbdf.h | 48 +-
.../include/freetype/internal/services/svcfftl.h | 54 +-
.../include/freetype/internal/services/svcid.h | 53 +-
.../include/freetype/internal/services/svfntfmt.h | 38 +-
.../include/freetype/internal/services/svgldict.h | 59 +-
.../include/freetype/internal/services/svgxval.h | 50 +-
.../include/freetype/internal/services/svkern.h | 32 +-
.../include/freetype/internal/services/svmetric.h | 62 +-
freetype/include/freetype/internal/services/svmm.h | 158 +-
.../include/freetype/internal/services/svotval.h | 32 +-
.../include/freetype/internal/services/svpfr.h | 32 +-
.../include/freetype/internal/services/svpostnm.h | 58 +-
.../include/freetype/internal/services/svprop.h | 48 +-
.../include/freetype/internal/services/svpscmap.h | 80 +-
.../include/freetype/internal/services/svpsinfo.h | 57 +-
.../include/freetype/internal/services/svsfnt.h | 49 +-
.../include/freetype/internal/services/svttcmap.h | 94 +-
.../include/freetype/internal/services/svtteng.h | 34 +-
.../include/freetype/internal/services/svttglyf.h | 45 +-
.../include/freetype/internal/services/svwinfnt.h | 32 +-
freetype/include/freetype/internal/sfnt.h | 1094 +-
freetype/include/freetype/internal/t1types.h | 85 +-
freetype/include/freetype/internal/tttypes.h | 2010 +--
freetype/include/freetype/internal/wofftypes.h | 112 +
freetype/include/freetype/t1tables.h | 616 +-
freetype/include/freetype/ttnameid.h | 138 +-
freetype/include/freetype/tttables.h | 976 +-
freetype/include/freetype/tttags.h | 34 +-
freetype/include/ft2build.h | 64 +-
freetype/modules.cfg | 16 +-
freetype/src/Jamfile | 2 +-
freetype/src/autofit/Jamfile | 2 +-
freetype/src/autofit/afangles.c | 52 +-
freetype/src/autofit/afangles.h | 6 +-
freetype/src/autofit/afblue.c | 39 +-
freetype/src/autofit/afblue.cin | 32 +-
freetype/src/autofit/afblue.dat | 28 +-
freetype/src/autofit/afblue.h | 171 +-
freetype/src/autofit/afblue.hin | 32 +-
freetype/src/autofit/afcjk.c | 155 +-
freetype/src/autofit/afcjk.h | 38 +-
freetype/src/autofit/afcover.h | 32 +-
freetype/src/autofit/afdummy.c | 42 +-
freetype/src/autofit/afdummy.h | 34 +-
freetype/src/autofit/aferrors.h | 48 +-
freetype/src/autofit/afglobal.c | 98 +-
freetype/src/autofit/afglobal.h | 46 +-
freetype/src/autofit/afhints.c | 181 +-
freetype/src/autofit/afhints.h | 238 +-
freetype/src/autofit/afindic.c | 32 +-
freetype/src/autofit/afindic.h | 34 +-
freetype/src/autofit/aflatin.c | 262 +-
freetype/src/autofit/aflatin.h | 44 +-
freetype/src/autofit/aflatin2.c | 147 +-
freetype/src/autofit/aflatin2.h | 34 +-
freetype/src/autofit/afloader.c | 171 +-
freetype/src/autofit/afloader.h | 42 +-
freetype/src/autofit/afmodule.c | 88 +-
freetype/src/autofit/afmodule.h | 36 +-
freetype/src/autofit/afpic.c | 152 -
freetype/src/autofit/afpic.h | 105 -
freetype/src/autofit/afranges.c | 47 +-
freetype/src/autofit/afranges.h | 32 +-
freetype/src/autofit/afscript.h | 38 +-
freetype/src/autofit/afshaper.c | 46 +-
freetype/src/autofit/afshaper.h | 32 +-
freetype/src/autofit/afstyles.h | 39 +-
freetype/src/autofit/aftypes.h | 252 +-
freetype/src/autofit/afwarp.c | 54 +-
freetype/src/autofit/afwarp.h | 36 +-
freetype/src/autofit/afwrtsys.h | 32 +-
freetype/src/autofit/autofit.c | 33 +-
freetype/src/autofit/module.mk | 2 +-
freetype/src/autofit/rules.mk | 3 +-
freetype/src/base/Jamfile | 7 +-
freetype/src/base/basepic.c | 108 -
freetype/src/base/basepic.h | 91 -
freetype/src/base/ftadvanc.c | 32 +-
freetype/src/base/ftapi.c | 121 -
freetype/src/base/ftbase.c | 36 +-
freetype/src/base/ftbase.h | 32 +-
freetype/src/base/ftbbox.c | 368 +-
freetype/src/base/ftbdf.c | 32 +-
freetype/src/base/ftbitmap.c | 376 +-
freetype/src/base/ftcalc.c | 194 +-
freetype/src/base/ftcid.c | 32 +-
freetype/src/base/ftcolor.c | 157 +
freetype/src/base/ftdbgmem.c | 60 +-
freetype/src/base/ftdebug.c | 179 +-
freetype/src/base/fterrors.c | 46 +
freetype/src/base/ftfntfmt.c | 32 +-
freetype/src/base/ftfstype.c | 32 +-
freetype/src/base/ftgasp.c | 32 +-
freetype/src/base/ftgloadr.c | 134 +-
freetype/src/base/ftglyph.c | 141 +-
freetype/src/base/ftgxval.c | 50 +-
freetype/src/base/fthash.c | 28 +-
freetype/src/base/ftinit.c | 217 +-
freetype/src/base/ftlcdfil.c | 127 +-
freetype/src/base/ftmac.c | 106 +-
freetype/src/base/ftmm.c | 50 +-
freetype/src/base/ftobjs.c | 577 +-
freetype/src/base/ftotval.c | 32 +-
freetype/src/base/ftoutln.c | 148 +-
freetype/src/base/ftpatent.c | 34 +-
freetype/src/base/ftpfr.c | 32 +-
freetype/src/base/ftpic.c | 55 -
freetype/src/base/ftpsprop.c | 48 +-
freetype/src/base/ftrfork.c | 72 +-
freetype/src/base/ftsnames.c | 78 +-
freetype/src/base/ftstream.c | 58 +-
freetype/src/base/ftstroke.c | 120 +-
freetype/src/base/ftsynth.c | 46 +-
freetype/src/base/ftsystem.c | 281 +-
freetype/src/base/fttrigon.c | 76 +-
freetype/src/base/fttype1.c | 32 +-
freetype/src/base/ftutil.c | 54 +-
freetype/src/base/ftver.rc | 10 +-
freetype/src/base/ftwinfnt.c | 32 +-
freetype/src/base/rules.mk | 11 +-
freetype/src/bdf/Jamfile | 2 +-
freetype/src/bdf/bdf.h | 82 +-
freetype/src/bdf/bdfdrivr.c | 69 +-
freetype/src/bdf/bdfdrivr.h | 9 +-
freetype/src/bdf/bdferror.h | 10 +-
freetype/src/bdf/bdflib.c | 411 +-
freetype/src/bzip2/Jamfile | 2 +-
freetype/src/bzip2/ftbzip2.c | 52 +-
freetype/src/bzip2/rules.mk | 2 +-
freetype/src/cache/Jamfile | 2 +-
freetype/src/cache/ftcache.c | 32 +-
freetype/src/cache/ftcbasic.c | 36 +-
freetype/src/cache/ftccache.c | 34 +-
freetype/src/cache/ftccache.h | 64 +-
freetype/src/cache/ftccback.h | 32 +-
freetype/src/cache/ftccmap.c | 62 +-
freetype/src/cache/ftcerror.h | 48 +-
freetype/src/cache/ftcglyph.c | 32 +-
freetype/src/cache/ftcglyph.h | 166 +-
freetype/src/cache/ftcimage.c | 32 +-
freetype/src/cache/ftcimage.h | 50 +-
freetype/src/cache/ftcmanag.c | 38 +-
freetype/src/cache/ftcmanag.h | 143 +-
freetype/src/cache/ftcmru.c | 32 +-
freetype/src/cache/ftcmru.h | 80 +-
freetype/src/cache/ftcsbits.c | 92 +-
freetype/src/cache/ftcsbits.h | 32 +-
freetype/src/cache/rules.mk | 4 +-
freetype/src/cff/Jamfile | 2 +-
freetype/src/cff/cff.c | 33 +-
freetype/src/cff/cffcmap.c | 35 +-
freetype/src/cff/cffcmap.h | 32 +-
freetype/src/cff/cffdrivr.c | 310 +-
freetype/src/cff/cffdrivr.h | 34 +-
freetype/src/cff/cfferrs.h | 46 +-
freetype/src/cff/cffgload.c | 64 +-
freetype/src/cff/cffgload.h | 32 +-
freetype/src/cff/cffload.c | 61 +-
freetype/src/cff/cffload.h | 32 +-
freetype/src/cff/cffobjs.c | 118 +-
freetype/src/cff/cffobjs.h | 48 +-
freetype/src/cff/cffparse.c | 444 +-
freetype/src/cff/cffparse.h | 55 +-
freetype/src/cff/cffpic.c | 138 -
freetype/src/cff/cffpic.h | 121 -
freetype/src/cff/cfftoken.h | 32 +-
freetype/src/cff/module.mk | 2 +-
freetype/src/cff/rules.mk | 5 +-
freetype/src/cid/Jamfile | 2 +-
freetype/src/cid/ciderrs.h | 46 +-
freetype/src/cid/cidgload.c | 49 +-
freetype/src/cid/cidgload.h | 32 +-
freetype/src/cid/cidload.c | 185 +-
freetype/src/cid/cidload.h | 32 +-
freetype/src/cid/cidobjs.c | 204 +-
freetype/src/cid/cidobjs.h | 116 +-
freetype/src/cid/cidparse.c | 46 +-
freetype/src/cid/cidparse.h | 108 +-
freetype/src/cid/cidriver.c | 56 +-
freetype/src/cid/cidriver.h | 38 +-
freetype/src/cid/cidtoken.h | 57 +-
freetype/src/cid/module.mk | 2 +-
freetype/src/cid/rules.mk | 2 +-
freetype/src/cid/type1cid.c | 32 +-
freetype/src/gxvalid/Jamfile | 2 +-
freetype/src/gxvalid/README | 2 +-
freetype/src/gxvalid/gxvalid.c | 34 +-
freetype/src/gxvalid/gxvalid.h | 50 +-
freetype/src/gxvalid/gxvbsln.c | 64 +-
freetype/src/gxvalid/gxvcommn.c | 68 +-
freetype/src/gxvalid/gxvcommn.h | 60 +-
freetype/src/gxvalid/gxverror.h | 66 +-
freetype/src/gxvalid/gxvfeat.c | 64 +-
freetype/src/gxvalid/gxvfeat.h | 50 +-
freetype/src/gxvalid/gxvfgen.c | 114 +-
freetype/src/gxvalid/gxvjust.c | 66 +-
freetype/src/gxvalid/gxvkern.c | 64 +-
freetype/src/gxvalid/gxvlcar.c | 64 +-
freetype/src/gxvalid/gxvmod.c | 64 +-
freetype/src/gxvalid/gxvmod.h | 56 +-
freetype/src/gxvalid/gxvmort.c | 65 +-
freetype/src/gxvalid/gxvmort.h | 50 +-
freetype/src/gxvalid/gxvmort0.c | 66 +-
freetype/src/gxvalid/gxvmort1.c | 66 +-
freetype/src/gxvalid/gxvmort2.c | 66 +-
freetype/src/gxvalid/gxvmort4.c | 66 +-
freetype/src/gxvalid/gxvmort5.c | 66 +-
freetype/src/gxvalid/gxvmorx.c | 64 +-
freetype/src/gxvalid/gxvmorx.h | 50 +-
freetype/src/gxvalid/gxvmorx0.c | 66 +-
freetype/src/gxvalid/gxvmorx1.c | 66 +-
freetype/src/gxvalid/gxvmorx2.c | 66 +-
freetype/src/gxvalid/gxvmorx4.c | 66 +-
freetype/src/gxvalid/gxvmorx5.c | 66 +-
freetype/src/gxvalid/gxvopbd.c | 64 +-
freetype/src/gxvalid/gxvprop.c | 64 +-
freetype/src/gxvalid/gxvtrak.c | 64 +-
freetype/src/gxvalid/module.mk | 2 +-
freetype/src/gxvalid/rules.mk | 2 +-
freetype/src/gzip/Jamfile | 2 +-
freetype/src/gzip/ftgzip.c | 64 +-
freetype/src/gzip/infblock.c | 5 +
freetype/src/gzip/infcodes.c | 4 +
freetype/src/gzip/inflate.c | 10 +
freetype/src/gzip/rules.mk | 2 +-
freetype/src/lzw/Jamfile | 2 +-
freetype/src/lzw/ftlzw.c | 56 +-
freetype/src/lzw/ftzopen.c | 48 +-
freetype/src/lzw/ftzopen.h | 116 +-
freetype/src/lzw/rules.mk | 2 +-
freetype/src/otvalid/Jamfile | 2 +-
freetype/src/otvalid/module.mk | 2 +-
freetype/src/otvalid/otvalid.c | 32 +-
freetype/src/otvalid/otvalid.h | 32 +-
freetype/src/otvalid/otvbase.c | 46 +-
freetype/src/otvalid/otvcommn.c | 46 +-
freetype/src/otvalid/otvcommn.h | 32 +-
freetype/src/otvalid/otverror.h | 48 +-
freetype/src/otvalid/otvgdef.c | 46 +-
freetype/src/otvalid/otvgpos.c | 46 +-
freetype/src/otvalid/otvgpos.h | 32 +-
freetype/src/otvalid/otvgsub.c | 46 +-
freetype/src/otvalid/otvjstf.c | 46 +-
freetype/src/otvalid/otvmath.c | 50 +-
freetype/src/otvalid/otvmod.c | 46 +-
freetype/src/otvalid/otvmod.h | 38 +-
freetype/src/otvalid/rules.mk | 2 +-
freetype/src/pcf/Jamfile | 2 +-
freetype/src/pcf/pcf.h | 59 +-
freetype/src/pcf/pcfdrivr.c | 163 +-
freetype/src/pcf/pcfdrivr.h | 5 +-
freetype/src/pcf/pcferror.h | 46 +-
freetype/src/pcf/pcfread.c | 407 +-
freetype/src/pcf/pcfutil.c | 6 +-
freetype/src/pfr/Jamfile | 2 +-
freetype/src/pfr/module.mk | 2 +-
freetype/src/pfr/pfr.c | 32 +-
freetype/src/pfr/pfrcmap.c | 32 +-
freetype/src/pfr/pfrcmap.h | 32 +-
freetype/src/pfr/pfrdrivr.c | 48 +-
freetype/src/pfr/pfrdrivr.h | 38 +-
freetype/src/pfr/pfrerror.h | 46 +-
freetype/src/pfr/pfrgload.c | 52 +-
freetype/src/pfr/pfrgload.h | 32 +-
freetype/src/pfr/pfrload.c | 162 +-
freetype/src/pfr/pfrload.h | 32 +-
freetype/src/pfr/pfrobjs.c | 40 +-
freetype/src/pfr/pfrobjs.h | 32 +-
freetype/src/pfr/pfrsbit.c | 34 +-
freetype/src/pfr/pfrsbit.h | 32 +-
freetype/src/pfr/pfrtypes.h | 32 +-
freetype/src/pfr/rules.mk | 2 +-
freetype/src/psaux/Jamfile | 2 +-
freetype/src/psaux/afmparse.c | 59 +-
freetype/src/psaux/afmparse.h | 32 +-
freetype/src/psaux/cffdecode.c | 300 +-
freetype/src/psaux/cffdecode.h | 32 +-
freetype/src/psaux/module.mk | 2 +-
freetype/src/psaux/psarrst.c | 72 +-
freetype/src/psaux/psarrst.h | 72 +-
freetype/src/psaux/psaux.c | 32 +-
freetype/src/psaux/psauxerr.h | 48 +-
freetype/src/psaux/psauxmod.c | 32 +-
freetype/src/psaux/psauxmod.h | 36 +-
freetype/src/psaux/psblues.c | 100 +-
freetype/src/psaux/psblues.h | 72 +-
freetype/src/psaux/psconv.c | 46 +-
freetype/src/psaux/psconv.h | 32 +-
freetype/src/psaux/pserror.c | 72 +-
freetype/src/psaux/pserror.h | 72 +-
freetype/src/psaux/psfixed.h | 75 +-
freetype/src/psaux/psfont.c | 82 +-
freetype/src/psaux/psfont.h | 72 +-
freetype/src/psaux/psft.c | 95 +-
freetype/src/psaux/psft.h | 72 +-
freetype/src/psaux/psglue.h | 72 +-
freetype/src/psaux/pshints.c | 117 +-
freetype/src/psaux/pshints.h | 72 +-
freetype/src/psaux/psintrp.c | 147 +-
freetype/src/psaux/psintrp.h | 72 +-
freetype/src/psaux/psobjs.c | 486 +-
freetype/src/psaux/psobjs.h | 40 +-
freetype/src/psaux/psread.c | 74 +-
freetype/src/psaux/psread.h | 72 +-
freetype/src/psaux/psstack.c | 75 +-
freetype/src/psaux/psstack.h | 72 +-
freetype/src/psaux/pstypes.h | 72 +-
freetype/src/psaux/rules.mk | 2 +-
freetype/src/psaux/t1cmap.c | 35 +-
freetype/src/psaux/t1cmap.h | 32 +-
freetype/src/psaux/t1decode.c | 341 +-
freetype/src/psaux/t1decode.h | 32 +-
freetype/src/pshinter/Jamfile | 2 +-
freetype/src/pshinter/module.mk | 2 +-
freetype/src/pshinter/pshalgo.c | 50 +-
freetype/src/pshinter/pshalgo.h | 32 +-
freetype/src/pshinter/pshglob.c | 39 +-
freetype/src/pshinter/pshglob.h | 68 +-
freetype/src/pshinter/pshinter.c | 33 +-
freetype/src/pshinter/pshmod.c | 35 +-
freetype/src/pshinter/pshmod.h | 32 +-
freetype/src/pshinter/pshnterr.h | 46 +-
freetype/src/pshinter/pshpic.c | 76 -
freetype/src/pshinter/pshpic.h | 63 -
freetype/src/pshinter/pshrec.c | 38 +-
freetype/src/pshinter/pshrec.h | 56 +-
freetype/src/pshinter/rules.mk | 3 +-
freetype/src/psnames/Jamfile | 2 +-
freetype/src/psnames/module.mk | 2 +-
freetype/src/psnames/psmodule.c | 73 +-
freetype/src/psnames/psmodule.h | 32 +-
freetype/src/psnames/psnamerr.h | 48 +-
freetype/src/psnames/psnames.c | 33 +-
freetype/src/psnames/pspic.c | 97 -
freetype/src/psnames/pspic.h | 68 -
freetype/src/psnames/pstables.h | 44 +-
freetype/src/psnames/rules.mk | 21 +-
freetype/src/raster/Jamfile | 2 +-
freetype/src/raster/ftmisc.h | 50 +-
freetype/src/raster/ftraster.c | 1285 +-
freetype/src/raster/ftraster.h | 42 +-
freetype/src/raster/ftrend1.c | 41 +-
freetype/src/raster/ftrend1.h | 32 +-
freetype/src/raster/module.mk | 2 +-
freetype/src/raster/raster.c | 33 +-
freetype/src/raster/rasterrs.h | 48 +-
freetype/src/raster/rastpic.c | 89 -
freetype/src/raster/rastpic.h | 63 -
freetype/src/raster/rules.mk | 5 +-
freetype/src/sfnt/Jamfile | 4 +-
freetype/src/sfnt/module.mk | 2 +-
freetype/src/sfnt/pngshim.c | 34 +-
freetype/src/sfnt/pngshim.h | 34 +-
freetype/src/sfnt/rules.mk | 22 +-
freetype/src/sfnt/sfdriver.c | 259 +-
freetype/src/sfnt/sfdriver.h | 34 +-
freetype/src/sfnt/sferrors.h | 46 +-
freetype/src/sfnt/sfnt.c | 37 +-
freetype/src/sfnt/sfntpic.c | 143 -
freetype/src/sfnt/sfntpic.h | 112 -
freetype/src/sfnt/sfobjs.c | 654 +-
freetype/src/sfnt/sfobjs.h | 34 +-
freetype/src/sfnt/sfwoff.c | 434 +
freetype/src/sfnt/sfwoff.h | 41 +
freetype/src/sfnt/ttbdf.c | 54 +-
freetype/src/sfnt/ttbdf.h | 32 +-
freetype/src/sfnt/ttcmap.c | 656 +-
freetype/src/sfnt/ttcmap.h | 70 +-
freetype/src/sfnt/ttcmapc.h | 32 +-
freetype/src/sfnt/ttcolr.c | 451 +
freetype/src/sfnt/ttcolr.h | 58 +
freetype/src/sfnt/ttcpal.c | 311 +
freetype/src/sfnt/ttcpal.h | 49 +
freetype/src/sfnt/ttkern.c | 56 +-
freetype/src/sfnt/ttkern.h | 34 +-
freetype/src/sfnt/ttload.c | 569 +-
freetype/src/sfnt/ttload.h | 34 +-
freetype/src/sfnt/ttmtx.c | 187 +-
freetype/src/sfnt/ttmtx.h | 32 +-
freetype/src/sfnt/ttpost.c | 117 +-
freetype/src/sfnt/ttpost.h | 34 +-
freetype/src/sfnt/ttsbit.c | 64 +-
freetype/src/sfnt/ttsbit.h | 32 +-
freetype/src/smooth/Jamfile | 2 +-
freetype/src/smooth/ftgrays.c | 724 +-
freetype/src/smooth/ftgrays.h | 49 +-
freetype/src/smooth/ftsmerrs.h | 48 +-
freetype/src/smooth/ftsmooth.c | 127 +-
freetype/src/smooth/ftsmooth.h | 32 +-
freetype/src/smooth/ftspic.c | 118 -
freetype/src/smooth/ftspic.h | 75 -
freetype/src/smooth/module.mk | 2 +-
freetype/src/smooth/rules.mk | 5 +-
freetype/src/smooth/smooth.c | 33 +-
freetype/src/tools/afblue.pl | 2 +-
freetype/src/tools/apinames.c | 441 +-
freetype/src/tools/docmaker/content.py | 672 -
freetype/src/tools/docmaker/docbeauty.py | 111 -
freetype/src/tools/docmaker/docmaker.py | 115 -
freetype/src/tools/docmaker/formatter.py | 228 -
freetype/src/tools/docmaker/sources.py | 410 -
freetype/src/tools/docmaker/tohtml.py | 725 -
freetype/src/tools/docmaker/utils.py | 127 -
freetype/src/tools/ftfuzzer/README | 81 -
freetype/src/tools/ftfuzzer/ftfuzzer.cc | 428 -
freetype/src/tools/ftfuzzer/ftmutator.cc | 314 -
freetype/src/tools/ftfuzzer/rasterfuzzer.cc | 129 -
freetype/src/tools/ftfuzzer/runinput.cc | 58 -
freetype/src/tools/glnames.py | 50 +-
freetype/src/tools/update-copyright-year | 19 +-
freetype/src/truetype/Jamfile | 2 +-
freetype/src/truetype/module.mk | 2 +-
freetype/src/truetype/rules.mk | 3 +-
freetype/src/truetype/truetype.c | 33 +-
freetype/src/truetype/ttdriver.c | 226 +-
freetype/src/truetype/ttdriver.h | 34 +-
freetype/src/truetype/tterrors.h | 48 +-
freetype/src/truetype/ttgload.c | 555 +-
freetype/src/truetype/ttgload.h | 32 +-
freetype/src/truetype/ttgxvar.c | 1436 +-
freetype/src/truetype/ttgxvar.h | 313 +-
freetype/src/truetype/ttinterp.c | 3609 ++--
freetype/src/truetype/ttinterp.h | 168 +-
freetype/src/truetype/ttobjs.c | 493 +-
freetype/src/truetype/ttobjs.h | 312 +-
freetype/src/truetype/ttpic.c | 101 -
freetype/src/truetype/ttpic.h | 88 -
freetype/src/truetype/ttpload.c | 244 +-
freetype/src/truetype/ttpload.h | 32 +-
freetype/src/truetype/ttsubpix.c | 90 +-
freetype/src/truetype/ttsubpix.h | 52 +-
freetype/src/type1/Jamfile | 2 +-
freetype/src/type1/module.mk | 2 +-
freetype/src/type1/rules.mk | 2 +-
freetype/src/type1/t1afm.c | 46 +-
freetype/src/type1/t1afm.h | 32 +-
freetype/src/type1/t1driver.c | 219 +-
freetype/src/type1/t1driver.h | 38 +-
freetype/src/type1/t1errors.h | 46 +-
freetype/src/type1/t1gload.c | 77 +-
freetype/src/type1/t1gload.h | 32 +-
freetype/src/type1/t1load.c | 410 +-
freetype/src/type1/t1load.h | 32 +-
freetype/src/type1/t1objs.c | 213 +-
freetype/src/type1/t1objs.h | 132 +-
freetype/src/type1/t1parse.c | 110 +-
freetype/src/type1/t1parse.h | 101 +-
freetype/src/type1/t1tokens.h | 32 +-
freetype/src/type1/type1.c | 32 +-
freetype/src/type42/Jamfile | 2 +-
freetype/src/type42/module.mk | 2 +-
freetype/src/type42/rules.mk | 2 +-
freetype/src/type42/t42drivr.c | 86 +-
freetype/src/type42/t42drivr.h | 38 +-
freetype/src/type42/t42error.h | 46 +-
freetype/src/type42/t42objs.c | 87 +-
freetype/src/type42/t42objs.h | 32 +-
freetype/src/type42/t42parse.c | 100 +-
freetype/src/type42/t42parse.h | 32 +-
freetype/src/type42/t42types.h | 32 +-
freetype/src/type42/type42.c | 32 +-
freetype/src/winfonts/Jamfile | 2 +-
freetype/src/winfonts/fnterrs.h | 48 +-
freetype/src/winfonts/module.mk | 2 +-
freetype/src/winfonts/rules.mk | 2 +-
freetype/src/winfonts/winfnt.c | 58 +-
freetype/src/winfonts/winfnt.h | 40 +-
freetype/vms_make.com | 210 +-
install-sh | 508 +
jbig2dec/CHANGES | 21 +-
jbig2dec/Makefile.am | 2 +-
jbig2dec/Makefile.unix | 6 +-
jbig2dec/autogen.sh | 2 +-
jbig2dec/config_win32.h | 9 +
jbig2dec/jbig2.c | 12 +-
jbig2dec/jbig2.h | 7 +-
jbig2dec/jbig2_arith.c | 98 +-
jbig2dec/jbig2_arith.h | 3 +-
jbig2dec/jbig2_arith_iaid.c | 5 +-
jbig2dec/jbig2_arith_int.c | 29 +-
jbig2dec/jbig2_generic.c | 675 +-
jbig2dec/jbig2_halftone.c | 12 +-
jbig2dec/jbig2_huffman.c | 10 +-
jbig2dec/jbig2_hufftab.c | 318 +
jbig2dec/jbig2_hufftab.h | 305 +-
jbig2dec/jbig2_image.c | 386 +-
jbig2dec/jbig2_mmr.c | 131 +-
jbig2dec/jbig2_page.c | 17 +-
jbig2dec/jbig2_priv.h | 22 +-
jbig2dec/jbig2_refinement.c | 37 +-
jbig2dec/jbig2_segment.c | 4 +-
jbig2dec/jbig2_symbol_dict.c | 12 +-
jbig2dec/jbig2_text.c | 3 +-
jbig2dec/jbig2dec.1 | 2 +-
jbig2dec/jbig2dec.c | 8 +
jbig2dec/memento.c | 147 +-
jbig2dec/memento.h | 36 +-
jbig2dec/msvc.mak | 12 +-
jbig2dec/test_jbig2dec.py | 160 +-
lcms2mt/ChangeLog | 2 +-
lcms2mt/Projects/VC2010/lcms2mt.rc | 15 +
lcms2mt/config.guess | 1 +
lcms2mt/include/lcms2mt.h | 2 +
lcms2mt/src/cmscnvrt.c | 6 +
lcms2mt/src/cmsintrp.c | 996 +-
lcms2mt/src/cmsio1.c | 13 +-
lcms2mt/src/cmsopt.c | 2 +
lcms2mt/src/lcms2_internal.h | 2 +
lib/Fontmap.URW-136.T1 | 580 -
lib/Fontmap.URW-136.TT | 574 -
lib/dvipdf | 2 +-
lib/pdf_info.ps | 429 +
libpng/ANNOUNCE | 58 +-
libpng/AUTHORS | 45 +
libpng/CHANGES | 106 +-
libpng/CMakeLists.txt | 324 +-
libpng/INSTALL | 2 +-
libpng/LICENSE | 179 +-
libpng/Makefile.am | 7 +-
libpng/Makefile.in | 374 +-
libpng/README | 113 +-
libpng/TODO | 49 +-
libpng/TRADEMARK | 8 +
libpng/aclocal.m4 | 193 +-
libpng/arm/arm_init.c | 3 +-
libpng/arm/filter_neon.S | 2 +-
libpng/arm/filter_neon_intrinsics.c | 27 +-
libpng/arm/palette_neon_intrinsics.c | 149 +
libpng/autogen.sh | 2 +-
libpng/compile | 13 +-
libpng/config.guess | 1421 --
libpng/config.h.in | 3 -
libpng/config.sub | 1807 --
libpng/configure | 16128 -----------------
libpng/configure.ac | 9 +-
libpng/contrib/conftest/pngcp.dfa | 4 +-
libpng/contrib/examples/iccfrompng.c | 2 +-
libpng/contrib/examples/pngpixel.c | 6 +-
libpng/contrib/gregbook/readpng2.c | 2 +-
libpng/contrib/libtests/makepng.c | 42 +-
libpng/contrib/libtests/pngimage.c | 18 +-
libpng/contrib/libtests/pngstest.c | 39 +-
libpng/contrib/libtests/pngunknown.c | 4 +-
libpng/contrib/libtests/pngvalid.c | 240 +-
libpng/contrib/libtests/readpng.c | 2 +-
libpng/contrib/libtests/tarith.c | 10 +-
libpng/contrib/libtests/timepng.c | 4 +-
libpng/contrib/oss-fuzz/Dockerfile | 7 +-
libpng/contrib/oss-fuzz/README.txt | 4 +-
libpng/contrib/oss-fuzz/build.sh | 11 +-
libpng/contrib/oss-fuzz/libpng_read_fuzzer.cc | 24 +-
libpng/contrib/oss-fuzz/newcc | 190 -
libpng/contrib/pngminus/CHANGES.txt | 13 +
libpng/contrib/pngminus/CMakeLists.txt | 24 +
libpng/contrib/pngminus/LICENSE.txt | 22 +
libpng/contrib/pngminus/Makefile | 62 +
libpng/contrib/pngminus/README | 153 -
libpng/contrib/pngminus/README.txt | 120 +
libpng/contrib/pngminus/makefile.std | 66 -
libpng/contrib/pngminus/makefile.tc3 | 38 -
libpng/contrib/pngminus/png2pnm.bat | 4 +-
libpng/contrib/pngminus/png2pnm.c | 165 +-
libpng/contrib/pngminus/png2pnm.sh | 4 +-
libpng/contrib/pngminus/pngminus.bat | 2 +-
libpng/contrib/pngminus/pngminus.sh | 2 +-
libpng/contrib/pngminus/pnm2png.bat | 4 +-
libpng/contrib/pngminus/pnm2png.c | 258 +-
libpng/contrib/pngminus/pnm2png.sh | 4 +-
libpng/contrib/pngsuite/README | 2 +
.../contrib/pngsuite/bad_interlace_conversions.txt | 9 +
libpng/contrib/pngsuite/ibasn0g08.png | Bin 0 -> 237 bytes
libpng/contrib/pngsuite/ibasn0g16.png | Bin 0 -> 274 bytes
libpng/contrib/pngsuite/ibasn2c08.png | Bin 0 -> 299 bytes
libpng/contrib/pngsuite/ibasn2c16.png | Bin 0 -> 558 bytes
libpng/contrib/pngsuite/ibasn3p08.png | Bin 0 -> 1492 bytes
libpng/contrib/pngsuite/ibasn4a08.png | Bin 0 -> 198 bytes
libpng/contrib/pngsuite/ibasn4a16.png | Bin 0 -> 2839 bytes
libpng/contrib/pngsuite/ibasn6a08.png | Bin 0 -> 339 bytes
libpng/contrib/pngsuite/ibasn6a16.png | Bin 0 -> 4164 bytes
libpng/contrib/pngsuite/iftbbn2c16.png | Bin 0 -> 2624 bytes
libpng/contrib/pngsuite/iftbbn3p08.png | Bin 0 -> 1507 bytes
libpng/contrib/pngsuite/iftbgn2c16.png | Bin 0 -> 2624 bytes
libpng/contrib/pngsuite/iftbgn3p08.png | Bin 0 -> 1507 bytes
libpng/contrib/pngsuite/iftbrn2c08.png | Bin 0 -> 1624 bytes
libpng/contrib/pngsuite/iftbwn0g16.png | Bin 0 -> 1448 bytes
libpng/contrib/pngsuite/iftbwn3p08.png | Bin 0 -> 1507 bytes
libpng/contrib/pngsuite/iftbyn3p08.png | Bin 0 -> 1507 bytes
libpng/contrib/pngsuite/iftp0n0g08.png | Bin 0 -> 847 bytes
libpng/contrib/pngsuite/iftp0n2c08.png | Bin 0 -> 2020 bytes
libpng/contrib/pngsuite/iftp0n3p08.png | Bin 0 -> 1495 bytes
libpng/contrib/pngsuite/iftp1n3p08.png | Bin 0 -> 1507 bytes
libpng/contrib/pngsuite/interlaced/README | 2 +
libpng/contrib/pngsuite/interlaced/ibasn0g01.png | Bin 0 -> 201 bytes
libpng/contrib/pngsuite/interlaced/ibasn0g02.png | Bin 0 -> 138 bytes
libpng/contrib/pngsuite/interlaced/ibasn0g04.png | Bin 0 -> 231 bytes
libpng/contrib/pngsuite/interlaced/ibasn3p01.png | Bin 0 -> 116 bytes
libpng/contrib/pngsuite/interlaced/ibasn3p02.png | Bin 0 -> 163 bytes
libpng/contrib/pngsuite/interlaced/ibasn3p04.png | Bin 0 -> 288 bytes
libpng/contrib/pngsuite/interlaced/iftbbn0g01.png | Bin 0 -> 214 bytes
libpng/contrib/pngsuite/interlaced/iftbbn0g02.png | Bin 0 -> 211 bytes
libpng/contrib/pngsuite/interlaced/iftbbn0g04.png | Bin 0 -> 489 bytes
libpng/contrib/powerpc-vsx/README | 2 +-
libpng/contrib/powerpc-vsx/linux_aux.c | 6 +-
libpng/contrib/testpngs/makepngs.sh | 2 +-
libpng/contrib/tools/chkfmt | 2 +-
libpng/contrib/tools/makesRGB.c | 6 +-
libpng/contrib/tools/pngcp.c | 26 +-
libpng/contrib/tools/pngfix.c | 16 +-
libpng/contrib/visupng/PngFile.c | 11 +-
libpng/contrib/visupng/PngFile.h | 4 +-
libpng/contrib/visupng/VisualPng.c | 2 +-
libpng/depcomp | 10 +-
libpng/example.c | 436 +-
libpng/install-sh | 501 -
libpng/intel/filter_sse2_intrinsics.c | 49 +-
libpng/intel/intel_init.c | 3 +-
libpng/libpng-manual.txt | 157 +-
libpng/libpng.3 | 383 +-
libpng/libpngpf.3 | 20 +-
libpng/mips/filter_msa_intrinsics.c | 23 +-
libpng/mips/mips_init.c | 3 +-
libpng/missing | 16 +-
libpng/png.5 | 66 +-
libpng/png.c | 83 +-
libpng/png.h | 363 +-
libpng/pngconf.h | 45 +-
libpng/pngdebug.h | 6 +-
libpng/pngerror.c | 12 +-
libpng/pngget.c | 21 +-
libpng/pnginfo.h | 18 +-
libpng/pngmem.c | 6 +-
libpng/pngpread.c | 52 +-
libpng/pngpriv.h | 80 +-
libpng/pngread.c | 48 +-
libpng/pngrio.c | 16 +-
libpng/pngrtran.c | 1692 +-
libpng/pngrutil.c | 108 +-
libpng/pngset.c | 28 +-
libpng/pngstruct.h | 32 +-
libpng/pngtest.c | 48 +-
libpng/pngtrans.c | 28 +-
libpng/pngwio.c | 14 +-
libpng/pngwrite.c | 41 +-
libpng/pngwtran.c | 19 +-
libpng/pngwutil.c | 197 +-
libpng/powerpc/filter_vsx_intrinsics.c | 19 +-
libpng/powerpc/powerpc_init.c | 3 +-
libpng/projects/owatcom/pngconfig.mak | 4 +-
libpng/projects/visualc71/README.txt | 2 +-
libpng/projects/vstudio/README.txt | 114 +-
libpng/projects/vstudio/zlib.props | 9 +-
libpng/scripts/README.txt | 55 +-
libpng/scripts/def.c | 29 -
libpng/scripts/descrip.mms | 4 +-
libpng/scripts/libpng-config-head.in | 2 +-
libpng/scripts/libpng.pc.in | 2 +-
libpng/scripts/makefile.32sunu | 2 +-
libpng/scripts/makefile.64sunu | 2 +-
libpng/scripts/makefile.bor | 170 -
libpng/scripts/makefile.cegcc | 2 +-
libpng/scripts/makefile.clang | 87 +
libpng/scripts/makefile.clang-asan | 87 +
libpng/scripts/makefile.darwin | 2 +-
libpng/scripts/makefile.freebsd | 2 +-
libpng/scripts/makefile.gcc | 6 +-
libpng/scripts/makefile.gcc-asan | 87 +
libpng/scripts/makefile.hp64 | 4 +-
libpng/scripts/makefile.hpgcc | 2 +-
libpng/scripts/makefile.hpux | 4 +-
libpng/scripts/makefile.knr | 116 -
libpng/scripts/makefile.linux | 7 +-
libpng/scripts/makefile.linux-opt | 4 +-
libpng/scripts/makefile.mips | 2 +-
libpng/scripts/makefile.msc | 100 -
libpng/scripts/makefile.msys | 9 +-
libpng/scripts/makefile.ne12bsd | 56 -
libpng/scripts/makefile.netbsd | 21 +-
libpng/scripts/makefile.openbsd | 18 +-
libpng/scripts/makefile.sco | 2 +-
libpng/scripts/makefile.sggcc | 2 +-
libpng/scripts/makefile.sgi | 2 +-
libpng/scripts/makefile.so9 | 2 +-
libpng/scripts/makefile.solaris | 5 +-
libpng/scripts/makefile.solaris-x86 | 243 -
libpng/scripts/makefile.std | 4 +-
libpng/scripts/makefile.sunos | 2 +-
libpng/scripts/makefile.tc3 | 100 -
libpng/scripts/options.awk | 8 +-
libpng/scripts/pnglibconf.dfa | 13 +-
libpng/scripts/pnglibconf.h.prebuilt | 11 +-
libpng/scripts/symbols.def | 1 -
libpng/test-driver | 10 +-
man/dvipdf.1 | 4 +-
man/gs.1 | 4 +-
man/gslp.1 | 4 +-
man/gsnd.1 | 4 +-
man/pdf2dsc.1 | 4 +-
man/pdf2ps.1 | 4 +-
man/pf2afm.1 | 4 +-
man/pfbtopfa.1 | 4 +-
man/printafm.1 | 4 +-
man/ps2ascii.1 | 4 +-
man/ps2epsi.1 | 4 +-
man/ps2pdf.1 | 4 +-
man/ps2pdfwr.1 | 4 +-
man/ps2ps.1 | 4 +-
openjpeg/.travis.yml | 153 -
openjpeg/CHANGELOG.md | 84 +-
openjpeg/INSTALL.md | 138 +
openjpeg/NEWS.md | 8 +-
openjpeg/appveyor.yml | 6 +-
openjpeg/doc/Doxyfile.dox.cmake.in | 6 -
openjpeg/src/bin/CMakeLists.txt | 21 -
openjpeg/src/bin/common/CMakeLists.txt | 7 -
openjpeg/src/bin/common/color.c | 1127 --
openjpeg/src/bin/common/color.h | 47 -
openjpeg/src/bin/common/format_defs.h | 55 -
openjpeg/src/bin/common/opj_apps_config.h.cmake.in | 15 -
openjpeg/src/bin/common/opj_getopt.c | 277 -
openjpeg/src/bin/common/opj_getopt.h | 28 -
openjpeg/src/bin/common/opj_string.h | 72 -
openjpeg/src/bin/jp2/CMakeLists.txt | 88 -
openjpeg/src/bin/jp2/convert.c | 2595 ---
openjpeg/src/bin/jp2/convert.h | 126 -
openjpeg/src/bin/jp2/convertbmp.c | 1106 --
openjpeg/src/bin/jp2/convertpng.c | 517 -
openjpeg/src/bin/jp2/converttif.c | 1510 --
openjpeg/src/bin/jp2/index.c | 456 -
openjpeg/src/bin/jp2/index.h | 54 -
openjpeg/src/bin/jp2/opj_compress.c | 2069 ---
openjpeg/src/bin/jp2/opj_decompress.c | 1801 --
openjpeg/src/bin/jp2/opj_dump.c | 642 -
openjpeg/src/bin/jp2/windirent.h | 683 -
openjpeg/src/bin/jp3d/CMakeLists.txt | 41 -
openjpeg/src/bin/jp3d/convert.c | 1050 --
openjpeg/src/bin/jp3d/convert.h | 52 -
openjpeg/src/bin/jp3d/getopt.c | 119 -
openjpeg/src/bin/jp3d/getopt.h | 14 -
openjpeg/src/bin/jp3d/opj_jp3d_compress.c | 989 --
openjpeg/src/bin/jp3d/opj_jp3d_decompress.c | 601 -
openjpeg/src/bin/jp3d/tcltk/LPI_JP3D_VM.tcl | 115 -
openjpeg/src/bin/jp3d/tcltk/README | 13 -
openjpeg/src/bin/jp3d/tcltk/Thumbs.db | Bin 18944 -> 0 bytes
openjpeg/src/bin/jp3d/tcltk/decoder.tcl | 272 -
openjpeg/src/bin/jp3d/tcltk/encoder.tcl | 470 -
openjpeg/src/bin/jp3d/tcltk/logoLPI.gif | Bin 5212 -> 0 bytes
openjpeg/src/bin/jp3d/windirent.h | 679 -
openjpeg/src/bin/jpip/CMakeLists.txt | 161 -
openjpeg/src/bin/jpip/README | 149 -
openjpeg/src/bin/jpip/opj_dec_server.c | 98 -
openjpeg/src/bin/jpip/opj_jpip_addxml.c | 187 -
openjpeg/src/bin/jpip/opj_jpip_test.c | 75 -
openjpeg/src/bin/jpip/opj_jpip_transcode.c | 125 -
openjpeg/src/bin/jpip/opj_server.c | 131 -
openjpeg/src/bin/jpip/opj_viewer/dist/manifest.txt | 4 -
.../src/bin/jpip/opj_viewer/src/ImageManager.java | 136 -
.../src/bin/jpip/opj_viewer/src/ImageViewer.java | 266 -
.../src/bin/jpip/opj_viewer/src/ImageWindow.java | 120 -
.../src/bin/jpip/opj_viewer/src/ImgdecClient.java | 350 -
.../bin/jpip/opj_viewer/src/JPIPHttpClient.java | 503 -
openjpeg/src/bin/jpip/opj_viewer/src/MML.java | 116 -
openjpeg/src/bin/jpip/opj_viewer/src/PnmImage.java | 154 -
.../src/bin/jpip/opj_viewer/src/RegimViewer.java | 114 -
.../bin/jpip/opj_viewer/src/ResizeListener.java | 67 -
.../jpip/opj_viewer_xerces/dist/manifest.txt.in | 5 -
.../jpip/opj_viewer_xerces/src/ImageViewer.java | 266 -
.../jpip/opj_viewer_xerces/src/ImageWindow.java | 124 -
.../jpip/opj_viewer_xerces/src/JP2XMLparser.java | 122 -
.../jpip/opj_viewer_xerces/src/OptionPanel.java | 98 -
openjpeg/src/bin/jpwl/CMakeLists.txt | 62 -
openjpeg/src/bin/jpwl/convert.c | 3748 ----
openjpeg/src/bin/jpwl/convert.h | 90 -
openjpeg/src/bin/jpwl/index.c | 454 -
openjpeg/src/bin/jpwl/index.h | 54 -
openjpeg/src/bin/jpwl/opj_jpwl_compress.c | 1951 ---
openjpeg/src/bin/jpwl/opj_jpwl_decompress.c | 895 -
openjpeg/src/bin/jpwl/windirent.h | 680 -
openjpeg/src/bin/mj2/CMakeLists.txt | 47 -
openjpeg/src/bin/mj2/meta_out.c | 2858 ---
openjpeg/src/bin/mj2/meta_out.h | 14 -
openjpeg/src/bin/mj2/mj2_to_metadata.c | 349 -
openjpeg/src/bin/mj2/mj2_to_metadata.dtd | 425 -
openjpeg/src/bin/mj2/mj2_to_metadata.h | 9 -
openjpeg/src/bin/mj2/mj2_to_metadata.sln | 29 -
openjpeg/src/bin/mj2/mj2_to_metadata.vcproj | 349 -
openjpeg/src/bin/mj2/mj2_to_metadata_Notes.doc | Bin 35328 -> 0 bytes
openjpeg/src/bin/mj2/opj_mj2_compress.c | 852 -
openjpeg/src/bin/mj2/opj_mj2_decompress.c | 258 -
openjpeg/src/bin/mj2/opj_mj2_extract.c | 162 -
openjpeg/src/bin/mj2/opj_mj2_wrap.c | 537 -
openjpeg/src/bin/mj2/readme.txt | 3 -
openjpeg/src/bin/wx/CMakeLists.txt | 4 -
openjpeg/src/bin/wx/OPJViewer/CMakeLists.txt | 29 -
openjpeg/src/bin/wx/OPJViewer/OPJViewer.iss | 48 -
openjpeg/src/bin/wx/OPJViewer/Readme.txt | 100 -
openjpeg/src/bin/wx/OPJViewer/about/about.htm | 36 -
openjpeg/src/bin/wx/OPJViewer/about/opj_logo.png | Bin 6500 -> 0 bytes
openjpeg/src/bin/wx/OPJViewer/source/OPJAbout.cpp | 92 -
openjpeg/src/bin/wx/OPJViewer/source/OPJChild.ico | Bin 1078 -> 0 bytes
.../src/bin/wx/OPJViewer/source/OPJChild16.xpm | 28 -
.../src/bin/wx/OPJViewer/source/OPJDialogs.cpp | 1378 --
.../src/bin/wx/OPJViewer/source/OPJThreads.cpp | 1293 --
openjpeg/src/bin/wx/OPJViewer/source/OPJViewer.cpp | 1671 --
openjpeg/src/bin/wx/OPJViewer/source/OPJViewer.h | 869 -
openjpeg/src/bin/wx/OPJViewer/source/OPJViewer.ico | Bin 1078 -> 0 bytes
openjpeg/src/bin/wx/OPJViewer/source/OPJViewer.rc | 3 -
.../src/bin/wx/OPJViewer/source/OPJViewer16.xpm | 26 -
openjpeg/src/bin/wx/OPJViewer/source/about_htm.h | 56 -
openjpeg/src/bin/wx/OPJViewer/source/build.h | 1 -
openjpeg/src/bin/wx/OPJViewer/source/icon1.xpm | 79 -
openjpeg/src/bin/wx/OPJViewer/source/icon2.xpm | 53 -
openjpeg/src/bin/wx/OPJViewer/source/icon3.xpm | 79 -
openjpeg/src/bin/wx/OPJViewer/source/icon4.xpm | 43 -
openjpeg/src/bin/wx/OPJViewer/source/icon5.xpm | 79 -
.../src/bin/wx/OPJViewer/source/imagjpeg2000.cpp | 1595 --
.../src/bin/wx/OPJViewer/source/imagjpeg2000.h | 184 -
openjpeg/src/bin/wx/OPJViewer/source/imagmxf.cpp | 507 -
openjpeg/src/bin/wx/OPJViewer/source/imagmxf.h | 106 -
openjpeg/src/bin/wx/OPJViewer/source/license.txt | 14 -
openjpeg/src/bin/wx/OPJViewer/source/opj_logo.xpm | 285 -
.../src/bin/wx/OPJViewer/source/readmeafter.txt | 34 -
.../src/bin/wx/OPJViewer/source/readmebefore.txt | 11 -
.../src/bin/wx/OPJViewer/source/wxj2kparser.cpp | 1470 --
.../src/bin/wx/OPJViewer/source/wxjp2parser.cpp | 1121 --
openjpeg/src/lib/CMakeLists.txt | 17 +
openjpeg/src/lib/openjp2/CMakeLists.txt | 3 +-
openjpeg/src/lib/openjp2/bench_dwt.c | 2 +-
openjpeg/src/lib/openjp2/dwt.c | 11 +-
openjpeg/src/lib/openjp2/image.c | 4 +-
openjpeg/src/lib/openjp2/j2k.c | 44 +-
openjpeg/src/lib/openjp2/jp2.c | 9 +-
openjpeg/src/lib/openjp2/openjpeg.h | 10 +-
openjpeg/src/lib/openjp2/opj_intmath.h | 2 +-
openjpeg/src/lib/openjp2/pi.c | 19 +-
openjpeg/src/lib/openjp2/t1.c | 17 +-
openjpeg/src/lib/openjp2/t2.c | 18 +-
openjpeg/src/lib/openjp2/tcd.c | 26 +-
openjpeg/src/lib/openjp2/thread.c | 4 +-
psi/dscparse.c | 10 +-
psi/dwtext.c | 4 +-
psi/iapi.h | 11 +-
psi/icontext.c | 3 +-
psi/imain.c | 21 +-
psi/imainarg.c | 4 +-
psi/int.mak | 3165 ++--
psi/isave.c | 4 +-
psi/msvc.mak | 247 +-
psi/nsisinst.nsi | 27 +-
psi/winint.mak | 2 +-
psi/zbfont.c | 2 +-
psi/zcolor.c | 7 +-
psi/zfile.c | 5 +-
psi/zfilter.c | 8 +
psi/zfont2.c | 10 +-
psi/zpaint.c | 60 +
psi/zpcolor.c | 2 +-
psi/ztype.c | 9 +-
psi/zvmem.c | 3 -
tiff/CMakeLists.txt | 170 +-
tiff/ChangeLog | 1599 +-
tiff/HOWTO-RELEASE | 71 +-
tiff/Makefile.am | 3 +-
tiff/Makefile.in | 36 +-
tiff/Makefile.vc | 1 -
tiff/README | 61 -
tiff/README.md | 71 +
tiff/README.vms | 12 -
tiff/RELEASE-DATE | 2 +-
tiff/SConstruct | 2 -
tiff/TODO | 2 -
tiff/VERSION | 2 +-
tiff/aclocal.m4 | 191 +-
tiff/build/Makefile.in | 20 +-
tiff/config/compile | 13 +-
tiff/config/config.guess | 742 +-
tiff/config/config.sub | 359 +-
tiff/config/depcomp | 10 +-
tiff/config/install-sh | 512 +-
tiff/config/ltmain.sh | 37 +-
tiff/config/missing | 16 +-
tiff/config/mkinstalldirs | 161 -
tiff/config/test-driver | 37 +-
tiff/configure | 677 +-
tiff/configure.ac | 154 +-
tiff/configure.com | 1 -
tiff/contrib/Makefile.in | 20 +-
tiff/contrib/addtiffo/Makefile.in | 47 +-
tiff/contrib/addtiffo/addtiffo.c | 2 -
tiff/contrib/addtiffo/tif_overview.c | 14 +-
tiff/contrib/addtiffo/tif_ovrcache.c | 2 -
tiff/contrib/dbs/Makefile.in | 52 +-
tiff/contrib/dbs/tiff-bi.c | 2 -
tiff/contrib/dbs/tiff-grayscale.c | 2 -
tiff/contrib/dbs/tiff-palette.c | 2 -
tiff/contrib/dbs/tiff-rgb.c | 2 -
tiff/contrib/dbs/xtiff/Makefile.in | 18 +-
tiff/contrib/dbs/xtiff/xtiff.c | 2 -
tiff/contrib/iptcutil/Makefile.in | 38 +-
tiff/contrib/iptcutil/iptcutil.c | 5 +-
tiff/contrib/mfs/Makefile.in | 18 +-
tiff/contrib/pds/Makefile.in | 18 +-
tiff/contrib/pds/README | 2 +-
tiff/contrib/pds/tif_imageiter.c | 8 +-
tiff/contrib/pds/tif_imageiter.h | 2 +-
tiff/contrib/pds/tif_pdsdirread.c | 6 +-
tiff/contrib/pds/tif_pdsdirwrite.c | 2 -
tiff/contrib/ras/Makefile.in | 18 +-
tiff/contrib/ras/tif2ras.c | 3 -
tiff/contrib/stream/Makefile.in | 18 +-
tiff/contrib/tags/Makefile.in | 18 +-
tiff/contrib/tags/README | 2 +-
tiff/contrib/tags/xtif_dir.c | 2 +-
tiff/contrib/win_dib/Makefile.in | 18 +-
tiff/contrib/win_dib/Makefile.w95 | 2 -
tiff/contrib/win_dib/README.tiff2dib | 2 +-
tiff/contrib/win_dib/Tiffile.cpp | 4 +-
tiff/html/Makefile.am | 4 +-
tiff/html/Makefile.in | 24 +-
tiff/html/addingtags.html | 4 +-
tiff/html/bugs.html | 21 +-
tiff/html/build.html | 2 +-
tiff/html/document.html | 4 +-
tiff/html/images.html | 4 +-
tiff/html/images/Makefile.in | 18 +-
tiff/html/index.html | 30 +-
tiff/html/libtiff.html | 6 +-
tiff/html/man/Makefile.in | 18 +-
tiff/html/man/TIFFReadDirectory.3tiff.html | 8 +-
tiff/html/man/TIFFWriteDirectory.3tiff.html | 2 +-
tiff/html/man/TIFFmemory.3tiff.html | 2 +-
tiff/html/v3.4beta007.html | 2 +-
tiff/html/v3.4beta016.html | 2 +-
tiff/html/v3.4beta018.html | 2 +-
tiff/html/v3.4beta024.html | 2 +-
tiff/html/v3.4beta028.html | 2 +-
tiff/html/v3.4beta029.html | 2 +-
tiff/html/v3.4beta031.html | 2 +-
tiff/html/v3.4beta032.html | 2 +-
tiff/html/v3.4beta033.html | 2 +-
tiff/html/v3.4beta034.html | 2 +-
tiff/html/v3.4beta035.html | 2 +-
tiff/html/v3.4beta036.html | 2 +-
tiff/html/v3.5.1.html | 2 +-
tiff/html/v3.5.2.html | 2 +-
tiff/html/v3.5.3.html | 4 +-
tiff/html/v3.5.4.html | 2 +-
tiff/html/v3.5.5.html | 2 +-
tiff/html/v3.5.6-beta.html | 4 +-
tiff/html/v3.5.7.html | 4 +-
tiff/html/v3.6.0.html | 6 +-
tiff/html/v3.6.1.html | 4 +-
tiff/html/v3.7.0.html | 2 +-
tiff/html/v3.7.0alpha.html | 2 +-
tiff/html/v3.7.0beta.html | 2 +-
tiff/html/v3.7.0beta2.html | 2 +-
tiff/html/v3.7.1.html | 2 +-
tiff/html/v3.7.2.html | 4 +-
tiff/html/v3.7.3.html | 4 +-
tiff/html/v3.7.4.html | 2 +-
tiff/html/v3.8.0.html | 2 +-
tiff/html/v3.8.1.html | 2 +-
tiff/html/v3.8.2.html | 2 +-
tiff/html/v3.9.0beta.html | 2 +-
tiff/html/v3.9.1.html | 2 +-
tiff/html/v3.9.2.html | 2 +-
tiff/html/v4.0.0.html | 6 +-
tiff/html/v4.0.1.html | 2 +-
tiff/html/v4.0.10.html | 326 +
tiff/html/v4.0.2.html | 2 +-
tiff/html/v4.0.3.html | 2 +-
tiff/html/v4.0.4.html | 2 +-
tiff/html/v4.0.4beta.html | 2 +-
tiff/html/v4.0.5.html | 2 +-
tiff/html/v4.0.6.html | 2 +-
tiff/html/v4.0.7.html | 2 +-
tiff/html/v4.0.8.html | 2 +-
tiff/html/v4.0.9.html | 2 +-
tiff/html/v4.1.0.html | 198 +
tiff/libtiff/CMakeLists.txt | 18 +-
tiff/libtiff/Makefile.am | 4 +-
tiff/libtiff/Makefile.in | 279 +-
tiff/libtiff/Makefile.vc | 2 -
tiff/libtiff/SConstruct | 2 -
tiff/libtiff/libtiff.def | 7 +
tiff/libtiff/mkg3states.c | 4 +-
tiff/libtiff/t4.h | 2 -
tiff/libtiff/tif_aux.c | 77 +-
tiff/libtiff/tif_close.c | 2 -
tiff/libtiff/tif_codec.c | 10 +-
tiff/libtiff/tif_color.c | 4 +-
tiff/libtiff/tif_compress.c | 2 -
tiff/libtiff/tif_config.h.cmake.in | 48 +-
tiff/libtiff/tif_config.h.in | 62 +-
tiff/libtiff/tif_config.wince.h | 2 -
tiff/libtiff/tif_dir.c | 96 +-
tiff/libtiff/tif_dir.h | 18 +-
tiff/libtiff/tif_dirinfo.c | 17 +-
tiff/libtiff/tif_dirread.c | 1356 +-
tiff/libtiff/tif_dirwrite.c | 352 +-
tiff/libtiff/tif_dumpmode.c | 2 -
tiff/libtiff/tif_error.c | 2 -
tiff/libtiff/tif_extension.c | 2 -
tiff/libtiff/tif_fax3.c | 2 -
tiff/libtiff/tif_fax3.h | 2 -
tiff/libtiff/tif_flush.c | 120 +-
tiff/libtiff/tif_getimage.c | 36 +-
tiff/libtiff/tif_jbig.c | 34 +-
tiff/libtiff/tif_jpeg.c | 42 +-
tiff/libtiff/tif_luv.c | 37 +-
tiff/libtiff/tif_lzma.c | 11 +-
tiff/libtiff/tif_lzw.c | 34 +-
tiff/libtiff/tif_next.c | 2 -
tiff/libtiff/tif_ojpeg.c | 218 +-
tiff/libtiff/tif_open.c | 28 +-
tiff/libtiff/tif_packbits.c | 2 -
tiff/libtiff/tif_pixarlog.c | 16 +-
tiff/libtiff/tif_predict.c | 2 -
tiff/libtiff/tif_predict.h | 6 +-
tiff/libtiff/tif_print.c | 14 +-
tiff/libtiff/tif_read.c | 269 +-
tiff/libtiff/tif_stream.cxx | 8 +-
tiff/libtiff/tif_strip.c | 40 +-
tiff/libtiff/tif_swab.c | 2 -
tiff/libtiff/tif_thunder.c | 12 +-
tiff/libtiff/tif_tile.c | 29 +-
tiff/libtiff/tif_unix.c | 2 -
tiff/libtiff/tif_version.c | 1 -
tiff/libtiff/tif_warning.c | 2 -
tiff/libtiff/tif_webp.c | 695 +
tiff/libtiff/tif_win32.c | 41 -
tiff/libtiff/tif_write.c | 146 +-
tiff/libtiff/tif_zip.c | 60 +-
tiff/libtiff/tif_zstd.c | 440 +
tiff/libtiff/tiff.h | 18 +-
tiff/libtiff/tiffconf.h.cmake.in | 9 -
tiff/libtiff/tiffconf.h.in | 9 -
tiff/libtiff/tiffconf.vc.h | 9 -
tiff/libtiff/tiffconf.wince.h | 11 -
tiff/libtiff/tiffio.h | 17 +-
tiff/libtiff/tiffio.hxx | 3 +-
tiff/libtiff/tiffiop.h | 56 +-
tiff/libtiff/tiffvers.h | 4 +-
tiff/m4/libtool.m4 | 27 +-
tiff/man/Makefile.in | 17 +-
tiff/man/TIFFClose.3tiff | 1 -
tiff/man/TIFFDataWidth.3tiff | 1 -
tiff/man/TIFFError.3tiff | 1 -
tiff/man/TIFFFieldDataType.3tiff | 1 -
tiff/man/TIFFFieldName.3tiff | 1 -
tiff/man/TIFFFieldPassCount.3tiff | 1 -
tiff/man/TIFFFieldReadCount.3tiff | 1 -
tiff/man/TIFFFieldTag.3tiff | 1 -
tiff/man/TIFFFieldWriteCount.3tiff | 1 -
tiff/man/TIFFFlush.3tiff | 1 -
tiff/man/TIFFGetField.3tiff | 1 -
tiff/man/TIFFOpen.3tiff | 16 +-
tiff/man/TIFFPrintDirectory.3tiff | 1 -
tiff/man/TIFFRGBAImage.3tiff | 1 -
tiff/man/TIFFReadDirectory.3tiff | 1 -
tiff/man/TIFFReadEncodedStrip.3tiff | 1 -
tiff/man/TIFFReadEncodedTile.3tiff | 1 -
tiff/man/TIFFReadRGBAImage.3tiff | 1 -
tiff/man/TIFFReadRGBAStrip.3tiff | 1 -
tiff/man/TIFFReadRGBATile.3tiff | 1 -
tiff/man/TIFFReadRawStrip.3tiff | 1 -
tiff/man/TIFFReadRawTile.3tiff | 1 -
tiff/man/TIFFReadScanline.3tiff | 1 -
tiff/man/TIFFReadTile.3tiff | 1 -
tiff/man/TIFFSetDirectory.3tiff | 1 -
tiff/man/TIFFSetField.3tiff | 1 -
tiff/man/TIFFWarning.3tiff | 1 -
tiff/man/TIFFWriteDirectory.3tiff | 1 -
tiff/man/TIFFWriteEncodedStrip.3tiff | 1 -
tiff/man/TIFFWriteEncodedTile.3tiff | 1 -
tiff/man/TIFFWriteRawStrip.3tiff | 1 -
tiff/man/TIFFWriteRawTile.3tiff | 1 -
tiff/man/TIFFWriteScanline.3tiff | 1 -
tiff/man/TIFFWriteTile.3tiff | 1 -
tiff/man/TIFFbuffer.3tiff | 1 -
tiff/man/TIFFcodec.3tiff | 1 -
tiff/man/TIFFcolor.3tiff | 1 -
tiff/man/TIFFmemory.3tiff | 3 +-
tiff/man/TIFFquery.3tiff | 3 +-
tiff/man/TIFFsize.3tiff | 1 -
tiff/man/TIFFstrip.3tiff | 1 -
tiff/man/TIFFswab.3tiff | 1 -
tiff/man/TIFFtile.3tiff | 1 -
tiff/man/fax2ps.1 | 1 -
tiff/man/fax2tiff.1 | 1 -
tiff/man/libtiff.3tiff | 7 +-
tiff/man/pal2rgb.1 | 1 -
tiff/man/ppm2tiff.1 | 1 -
tiff/man/raw2tiff.1 | 1 -
tiff/man/tiff2bw.1 | 1 -
tiff/man/tiff2pdf.1 | 1 -
tiff/man/tiff2ps.1 | 1 -
tiff/man/tiff2rgba.1 | 1 -
tiff/man/tiffcmp.1 | 1 -
tiff/man/tiffcp.1 | 1 -
tiff/man/tiffcrop.1 | 1 -
tiff/man/tiffdither.1 | 1 -
tiff/man/tiffdump.1 | 1 -
tiff/man/tiffgt.1 | 1 -
tiff/man/tiffinfo.1 | 1 -
tiff/man/tiffmedian.1 | 1 -
tiff/man/tiffset.1 | 1 -
tiff/man/tiffsplit.1 | 1 -
tiff/nmake.opt | 15 -
tiff/port/CMakeLists.txt | 8 +
tiff/port/Makefile.am | 4 +-
tiff/port/Makefile.in | 92 +-
tiff/port/Makefile.vc | 1 -
tiff/port/_strtol.h | 160 +
tiff/port/_strtoul.h | 127 +
tiff/port/dummy.c | 2 -
tiff/port/getopt.c | 2 -
tiff/port/lfind.c | 2 -
tiff/port/libport.h | 13 +-
tiff/port/snprintf.c | 4 +
tiff/port/strcasecmp.c | 2 -
tiff/port/strtol.c | 45 +
tiff/port/strtoll.c | 44 +
tiff/port/strtoul.c | 91 +-
tiff/port/strtoull.c | 108 +-
tiff/test/CMakeLists.txt | 20 +-
tiff/test/Makefile.am | 20 +-
tiff/test/Makefile.in | 206 +-
tiff/test/ascii_tag.c | 2 -
tiff/test/check_tag.c | 2 -
tiff/test/common.sh | 2 +
tiff/test/custom_dir.c | 2 -
tiff/test/defer_strile_loading.c | 311 +
tiff/test/defer_strile_writing.c | 239 +
tiff/test/fax2tiff.sh | 17 +
tiff/test/images/README.txt | 3 +
tiff/test/images/lzw-single-strip.tiff | Bin 0 -> 76264 bytes
tiff/test/images/miniswhite-1c-1b.g3 | Bin 0 -> 9687 bytes
tiff/test/long_tag.c | 2 -
tiff/test/raw_decode.c | 2 -
tiff/test/refs/o-tiff2ps-EPS1.ps | 112 +
tiff/test/refs/o-tiff2ps-PS1.ps | 115 +
tiff/test/refs/o-tiff2ps-PS2.ps | 104 +
tiff/test/refs/o-tiff2ps-PS3.ps | 104 +
tiff/test/rewrite_tag.c | 41 +-
tiff/test/short_tag.c | 2 -
tiff/test/strip.c | 2 -
tiff/test/strip_rw.c | 2 -
tiff/test/test_arrays.c | 2 -
tiff/test/test_arrays.h | 2 -
tiff/test/testtypes.c | 58 +
tiff/test/tiff2ps-EPS1.sh | 4 +-
tiff/test/tiff2ps-PS1.sh | 4 +-
tiff/test/tiff2ps-PS2.sh | 4 +-
tiff/test/tiff2ps-PS3.sh | 4 +-
tiff/test/tiffcp-lzw-scanline-decode.sh | 6 +
tiff/test/tifftest.h | 2 -
tiff/tools/CMakeLists.txt | 2 +-
tiff/tools/Makefile.in | 125 +-
tiff/tools/Makefile.vc | 1 -
tiff/tools/fax2ps.c | 2 -
tiff/tools/fax2tiff.c | 20 +-
tiff/tools/pal2rgb.c | 44 +-
tiff/tools/ppm2tiff.c | 19 +-
tiff/tools/raw2tiff.c | 5 +-
tiff/tools/rgb2ycbcr.c | 2 -
tiff/tools/thumbnail.c | 22 +-
tiff/tools/tiff2bw.c | 50 +-
tiff/tools/tiff2pdf.c | 166 +-
tiff/tools/tiff2ps.c | 42 +-
tiff/tools/tiff2rgba.c | 2 -
tiff/tools/tiffcmp.c | 7 +-
tiff/tools/tiffcp.c | 38 +-
tiff/tools/tiffcrop.c | 117 +-
tiff/tools/tiffdither.c | 2 -
tiff/tools/tiffdump.c | 4 +-
tiff/tools/tiffgt.c | 9 +-
tiff/tools/tiffinfo.c | 4 +-
tiff/tools/tiffmedian.c | 2 -
tiff/tools/tiffset.c | 23 +-
tiff/tools/tiffsplit.c | 4 +-
toolbin/genfontmap.ps | 16 +-
toolbin/halftone/thresh_remap/thresh_remap.c | 2 +-
toolbin/headercompile.pl | 0
toolbin/localcluster/clusterpush.pl | 3 +
toolbin/pdf_info.ps | 428 -
toolbin/squeeze2text.py | 85 +
toolbin/vdb.pl | 280 +-
windows/All.vcxproj | 425 +
windows/GhostPDL.sln | 103 +-
windows/ghostpcl.vcxproj | 616 +
windows/ghostpcl.vcxproj.filters | 594 +
windows/ghostpdl.vcproj | 28 +-
windows/ghostpdl.vcxproj | 432 +
windows/ghostpdl.vcxproj.filters | 31 +
windows/ghostscript.vcproj | 28 +-
windows/ghostscript.vcxproj | 2779 +++
windows/ghostscript.vcxproj.filters | 6988 ++++++++
windows/ghostscript_rt.vcxproj | 1 +
windows/ghostxps.vcxproj | 457 +
windows/ghostxps.vcxproj.filters | 105 +
1892 files changed, 201537 insertions(+), 181751 deletions(-)
create mode 100644 base/gsftopts.h
create mode 100755 config.guess
create mode 100755 config.sub
create mode 100644 contrib/gdevadmp.c
create mode 100644 cups/libs/filter/cupsraster.c
delete mode 100644 cups/libs/filter/raster.c
delete mode 100644 devices/gdevgprf.c
create mode 100644 freetype/ChangeLog.29
delete mode 100755 freetype/builds/unix/config.guess
delete mode 100755 freetype/builds/unix/config.sub
delete mode 100755 freetype/builds/unix/configure
delete mode 100755 freetype/builds/unix/install-sh
mode change 100644 => 100755 freetype/builds/unix/ltmain.sh
create mode 100644 freetype/builds/vms/LIBS.OPT_IA64
create mode 100644 freetype/builds/vms/_LINK.OPT_IA64
create mode 100644 freetype/builds/vms/vmslib.dat
delete mode 100644 freetype/builds/windows/vc2005/freetype.sln
delete mode 100644 freetype/builds/windows/vc2005/freetype.vcproj
delete mode 100644 freetype/builds/windows/vc2005/index.html
delete mode 100644 freetype/builds/windows/vc2008/freetype.sln
delete mode 100644 freetype/builds/windows/vc2008/freetype.vcproj
delete mode 100644 freetype/builds/windows/vc2008/index.html
delete mode 100755 freetype/configure
create mode 100644 freetype/docs/DOCGUIDE
delete mode 100644 freetype/docs/reference/ft2-auto_hinter.html
delete mode 100644 freetype/docs/reference/ft2-base_interface.html
delete mode 100644 freetype/docs/reference/ft2-basic_types.html
delete mode 100644 freetype/docs/reference/ft2-bdf_fonts.html
delete mode 100644 freetype/docs/reference/ft2-bitmap_handling.html
delete mode 100644 freetype/docs/reference/ft2-bzip2.html
delete mode 100644 freetype/docs/reference/ft2-cache_subsystem.html
delete mode 100644 freetype/docs/reference/ft2-cff_driver.html
delete mode 100644 freetype/docs/reference/ft2-cid_fonts.html
delete mode 100644 freetype/docs/reference/ft2-computations.html
delete mode 100644 freetype/docs/reference/ft2-error_code_values.html
delete mode 100644 freetype/docs/reference/ft2-error_enumerations.html
delete mode 100644 freetype/docs/reference/ft2-font_formats.html
delete mode 100644 freetype/docs/reference/ft2-gasp_table.html
delete mode 100644 freetype/docs/reference/ft2-glyph_management.html
delete mode 100644 freetype/docs/reference/ft2-glyph_stroker.html
delete mode 100644 freetype/docs/reference/ft2-glyph_variants.html
delete mode 100644 freetype/docs/reference/ft2-gx_validation.html
delete mode 100644 freetype/docs/reference/ft2-gzip.html
delete mode 100644 freetype/docs/reference/ft2-header_file_macros.html
delete mode 100644 freetype/docs/reference/ft2-header_inclusion.html
delete mode 100644 freetype/docs/reference/ft2-incremental.html
delete mode 100644 freetype/docs/reference/ft2-index.html
delete mode 100644 freetype/docs/reference/ft2-lcd_filtering.html
delete mode 100644 freetype/docs/reference/ft2-list_processing.html
delete mode 100644 freetype/docs/reference/ft2-lzw.html
delete mode 100644 freetype/docs/reference/ft2-mac_specific.html
delete mode 100644 freetype/docs/reference/ft2-module_management.html
delete mode 100644 freetype/docs/reference/ft2-multiple_masters.html
delete mode 100644 freetype/docs/reference/ft2-ot_validation.html
delete mode 100644 freetype/docs/reference/ft2-outline_processing.html
delete mode 100644 freetype/docs/reference/ft2-parameter_tags.html
delete mode 100644 freetype/docs/reference/ft2-pcf_driver.html
delete mode 100644 freetype/docs/reference/ft2-pfr_fonts.html
delete mode 100644 freetype/docs/reference/ft2-properties.html
delete mode 100644 freetype/docs/reference/ft2-quick_advance.html
delete mode 100644 freetype/docs/reference/ft2-raster.html
delete mode 100644 freetype/docs/reference/ft2-sfnt_names.html
delete mode 100644 freetype/docs/reference/ft2-sizes_management.html
delete mode 100644 freetype/docs/reference/ft2-system_interface.html
delete mode 100644 freetype/docs/reference/ft2-t1_cid_driver.html
delete mode 100644 freetype/docs/reference/ft2-toc.html
delete mode 100644 freetype/docs/reference/ft2-truetype_engine.html
delete mode 100644 freetype/docs/reference/ft2-truetype_tables.html
delete mode 100644 freetype/docs/reference/ft2-tt_driver.html
delete mode 100644 freetype/docs/reference/ft2-type1_tables.html
delete mode 100644 freetype/docs/reference/ft2-user_allocation.html
delete mode 100644 freetype/docs/reference/ft2-version.html
delete mode 100644 freetype/docs/reference/ft2-winfnt_fonts.html
create mode 100644 freetype/docs/reference/site/404.html
create mode 100644 freetype/docs/reference/site/assets/fonts/font-awesome.css
create mode 100644 freetype/docs/reference/site/assets/fonts/material-icons.css
create mode 100644 freetype/docs/reference/site/assets/fonts/specimen/FontAwesome.ttf
create mode 100644 freetype/docs/reference/site/assets/fonts/specimen/FontAwesome.woff
create mode 100644 freetype/docs/reference/site/assets/fonts/specimen/FontAwesome.woff2
create mode 100644 freetype/docs/reference/site/assets/fonts/specimen/MaterialIcons-Regular.ttf
create mode 100644 freetype/docs/reference/site/assets/fonts/specimen/MaterialIcons-Regular.woff
create mode 100644 freetype/docs/reference/site/assets/fonts/specimen/MaterialIcons-Regular.woff2
create mode 100644 freetype/docs/reference/site/assets/images/favicon.png
create mode 100644 freetype/docs/reference/site/assets/images/icons/bitbucket.1b09e088.svg
create mode 100644 freetype/docs/reference/site/assets/images/icons/github.f0b8504a.svg
create mode 100644 freetype/docs/reference/site/assets/images/icons/gitlab.6dd19c00.svg
create mode 100644 freetype/docs/reference/site/assets/javascripts/application.d9aa80ab.js
create mode 100644 freetype/docs/reference/site/assets/javascripts/lunr/lunr.da.js
create mode 100644 freetype/docs/reference/site/assets/javascripts/lunr/lunr.de.js
create mode 100644 freetype/docs/reference/site/assets/javascripts/lunr/lunr.du.js
create mode 100644 freetype/docs/reference/site/assets/javascripts/lunr/lunr.es.js
create mode 100644 freetype/docs/reference/site/assets/javascripts/lunr/lunr.fi.js
create mode 100644 freetype/docs/reference/site/assets/javascripts/lunr/lunr.fr.js
create mode 100644 freetype/docs/reference/site/assets/javascripts/lunr/lunr.hu.js
create mode 100644 freetype/docs/reference/site/assets/javascripts/lunr/lunr.it.js
create mode 100644 freetype/docs/reference/site/assets/javascripts/lunr/lunr.ja.js
create mode 100644 freetype/docs/reference/site/assets/javascripts/lunr/lunr.jp.js
create mode 100644 freetype/docs/reference/site/assets/javascripts/lunr/lunr.multi.js
create mode 100644 freetype/docs/reference/site/assets/javascripts/lunr/lunr.nl.js
create mode 100644 freetype/docs/reference/site/assets/javascripts/lunr/lunr.no.js
create mode 100644 freetype/docs/reference/site/assets/javascripts/lunr/lunr.pt.js
create mode 100644 freetype/docs/reference/site/assets/javascripts/lunr/lunr.ro.js
create mode 100644 freetype/docs/reference/site/assets/javascripts/lunr/lunr.ru.js
create mode 100644 freetype/docs/reference/site/assets/javascripts/lunr/lunr.stemmer.support.js
create mode 100644 freetype/docs/reference/site/assets/javascripts/lunr/lunr.sv.js
create mode 100644 freetype/docs/reference/site/assets/javascripts/lunr/lunr.th.js
create mode 100644 freetype/docs/reference/site/assets/javascripts/lunr/lunr.tr.js
create mode 100644 freetype/docs/reference/site/assets/javascripts/lunr/tinyseg.js
create mode 100644 freetype/docs/reference/site/assets/javascripts/lunr/wordcut.js
create mode 100644 freetype/docs/reference/site/assets/javascripts/modernizr.1f0bcf2b.js
create mode 100644 freetype/docs/reference/site/assets/stylesheets/application-palette.224b79ff.css
create mode 100644 freetype/docs/reference/site/assets/stylesheets/application.982221ab.css
create mode 100644 freetype/docs/reference/site/ft2-auto_hinter.html
create mode 100644 freetype/docs/reference/site/ft2-base_interface.html
create mode 100644 freetype/docs/reference/site/ft2-basic_types.html
create mode 100644 freetype/docs/reference/site/ft2-bdf_fonts.html
create mode 100644 freetype/docs/reference/site/ft2-bitmap_handling.html
create mode 100644 freetype/docs/reference/site/ft2-bzip2.html
create mode 100644 freetype/docs/reference/site/ft2-cache_subsystem.html
create mode 100644 freetype/docs/reference/site/ft2-cff_driver.html
create mode 100644 freetype/docs/reference/site/ft2-cid_fonts.html
create mode 100644 freetype/docs/reference/site/ft2-color_management.html
create mode 100644 freetype/docs/reference/site/ft2-computations.html
create mode 100644 freetype/docs/reference/site/ft2-error_code_values.html
create mode 100644 freetype/docs/reference/site/ft2-error_enumerations.html
create mode 100644 freetype/docs/reference/site/ft2-font_formats.html
create mode 100644 freetype/docs/reference/site/ft2-gasp_table.html
create mode 100644 freetype/docs/reference/site/ft2-glyph_management.html
create mode 100644 freetype/docs/reference/site/ft2-glyph_stroker.html
create mode 100644 freetype/docs/reference/site/ft2-glyph_variants.html
create mode 100644 freetype/docs/reference/site/ft2-gx_validation.html
create mode 100644 freetype/docs/reference/site/ft2-gzip.html
create mode 100644 freetype/docs/reference/site/ft2-header_file_macros.html
create mode 100644 freetype/docs/reference/site/ft2-header_inclusion.html
create mode 100644 freetype/docs/reference/site/ft2-incremental.html
create mode 100644 freetype/docs/reference/site/ft2-index.html
create mode 100644 freetype/docs/reference/site/ft2-layer_management.html
create mode 100644 freetype/docs/reference/site/ft2-lcd_rendering.html
create mode 100644 freetype/docs/reference/site/ft2-list_processing.html
create mode 100644 freetype/docs/reference/site/ft2-lzw.html
create mode 100644 freetype/docs/reference/site/ft2-mac_specific.html
create mode 100644 freetype/docs/reference/site/ft2-module_management.html
create mode 100644 freetype/docs/reference/site/ft2-multiple_masters.html
create mode 100644 freetype/docs/reference/site/ft2-ot_validation.html
create mode 100644 freetype/docs/reference/site/ft2-outline_processing.html
create mode 100644 freetype/docs/reference/site/ft2-parameter_tags.html
create mode 100644 freetype/docs/reference/site/ft2-pcf_driver.html
create mode 100644 freetype/docs/reference/site/ft2-pfr_fonts.html
create mode 100644 freetype/docs/reference/site/ft2-properties.html
create mode 100644 freetype/docs/reference/site/ft2-quick_advance.html
create mode 100644 freetype/docs/reference/site/ft2-raster.html
create mode 100644 freetype/docs/reference/site/ft2-sfnt_names.html
create mode 100644 freetype/docs/reference/site/ft2-sizes_management.html
create mode 100644 freetype/docs/reference/site/ft2-system_interface.html
create mode 100644 freetype/docs/reference/site/ft2-t1_cid_driver.html
create mode 100644 freetype/docs/reference/site/ft2-truetype_engine.html
create mode 100644 freetype/docs/reference/site/ft2-truetype_tables.html
create mode 100644 freetype/docs/reference/site/ft2-tt_driver.html
create mode 100644 freetype/docs/reference/site/ft2-type1_tables.html
create mode 100644 freetype/docs/reference/site/ft2-user_allocation.html
create mode 100644 freetype/docs/reference/site/ft2-version.html
create mode 100644 freetype/docs/reference/site/ft2-winfnt_fonts.html
create mode 100644 freetype/docs/reference/site/images/favico.ico
create mode 100644 freetype/docs/reference/site/index.html
create mode 100644 freetype/docs/reference/site/javascripts/extra.js
create mode 100644 freetype/docs/reference/site/search/search_index.json
create mode 100644 freetype/docs/reference/site/sitemap.xml
create mode 100644 freetype/docs/reference/site/sitemap.xml.gz
create mode 100644 freetype/docs/reference/site/stylesheets/extra.css
create mode 100644 freetype/include/freetype/ftcolor.h
delete mode 100644 freetype/include/freetype/internal/ftpic.h
create mode 100644 freetype/include/freetype/internal/wofftypes.h
delete mode 100644 freetype/src/autofit/afpic.c
delete mode 100644 freetype/src/autofit/afpic.h
delete mode 100644 freetype/src/base/basepic.c
delete mode 100644 freetype/src/base/basepic.h
delete mode 100644 freetype/src/base/ftapi.c
create mode 100644 freetype/src/base/ftcolor.c
create mode 100644 freetype/src/base/fterrors.c
delete mode 100644 freetype/src/base/ftpic.c
delete mode 100644 freetype/src/cff/cffpic.c
delete mode 100644 freetype/src/cff/cffpic.h
delete mode 100644 freetype/src/pshinter/pshpic.c
delete mode 100644 freetype/src/pshinter/pshpic.h
delete mode 100644 freetype/src/psnames/pspic.c
delete mode 100644 freetype/src/psnames/pspic.h
delete mode 100644 freetype/src/raster/rastpic.c
delete mode 100644 freetype/src/raster/rastpic.h
delete mode 100644 freetype/src/sfnt/sfntpic.c
delete mode 100644 freetype/src/sfnt/sfntpic.h
create mode 100644 freetype/src/sfnt/sfwoff.c
create mode 100644 freetype/src/sfnt/sfwoff.h
create mode 100644 freetype/src/sfnt/ttcolr.c
create mode 100644 freetype/src/sfnt/ttcolr.h
create mode 100644 freetype/src/sfnt/ttcpal.c
create mode 100644 freetype/src/sfnt/ttcpal.h
delete mode 100644 freetype/src/smooth/ftspic.c
delete mode 100644 freetype/src/smooth/ftspic.h
delete mode 100644 freetype/src/tools/docmaker/content.py
delete mode 100644 freetype/src/tools/docmaker/docbeauty.py
delete mode 100644 freetype/src/tools/docmaker/docmaker.py
delete mode 100644 freetype/src/tools/docmaker/formatter.py
delete mode 100644 freetype/src/tools/docmaker/sources.py
delete mode 100644 freetype/src/tools/docmaker/tohtml.py
delete mode 100644 freetype/src/tools/docmaker/utils.py
delete mode 100644 freetype/src/tools/ftfuzzer/README
delete mode 100644 freetype/src/tools/ftfuzzer/ftfuzzer.cc
delete mode 100644 freetype/src/tools/ftfuzzer/ftmutator.cc
delete mode 100644 freetype/src/tools/ftfuzzer/rasterfuzzer.cc
delete mode 100644 freetype/src/tools/ftfuzzer/runinput.cc
delete mode 100644 freetype/src/truetype/ttpic.c
delete mode 100644 freetype/src/truetype/ttpic.h
create mode 100755 install-sh
create mode 100644 jbig2dec/jbig2_hufftab.c
delete mode 100644 lib/Fontmap.URW-136.T1
delete mode 100644 lib/Fontmap.URW-136.TT
create mode 100644 lib/pdf_info.ps
create mode 100644 libpng/AUTHORS
create mode 100644 libpng/TRADEMARK
create mode 100644 libpng/arm/palette_neon_intrinsics.c
delete mode 100755 libpng/config.guess
delete mode 100755 libpng/config.sub
delete mode 100755 libpng/configure
delete mode 100644 libpng/contrib/oss-fuzz/newcc
create mode 100644 libpng/contrib/pngminus/CHANGES.txt
create mode 100644 libpng/contrib/pngminus/CMakeLists.txt
create mode 100644 libpng/contrib/pngminus/LICENSE.txt
create mode 100644 libpng/contrib/pngminus/Makefile
delete mode 100644 libpng/contrib/pngminus/README
create mode 100644 libpng/contrib/pngminus/README.txt
delete mode 100644 libpng/contrib/pngminus/makefile.std
delete mode 100644 libpng/contrib/pngminus/makefile.tc3
create mode 100644 libpng/contrib/pngsuite/bad_interlace_conversions.txt
create mode 100644 libpng/contrib/pngsuite/ibasn0g08.png
create mode 100644 libpng/contrib/pngsuite/ibasn0g16.png
create mode 100644 libpng/contrib/pngsuite/ibasn2c08.png
create mode 100644 libpng/contrib/pngsuite/ibasn2c16.png
create mode 100644 libpng/contrib/pngsuite/ibasn3p08.png
create mode 100644 libpng/contrib/pngsuite/ibasn4a08.png
create mode 100644 libpng/contrib/pngsuite/ibasn4a16.png
create mode 100644 libpng/contrib/pngsuite/ibasn6a08.png
create mode 100644 libpng/contrib/pngsuite/ibasn6a16.png
create mode 100644 libpng/contrib/pngsuite/iftbbn2c16.png
create mode 100644 libpng/contrib/pngsuite/iftbbn3p08.png
create mode 100644 libpng/contrib/pngsuite/iftbgn2c16.png
create mode 100644 libpng/contrib/pngsuite/iftbgn3p08.png
create mode 100644 libpng/contrib/pngsuite/iftbrn2c08.png
create mode 100644 libpng/contrib/pngsuite/iftbwn0g16.png
create mode 100644 libpng/contrib/pngsuite/iftbwn3p08.png
create mode 100644 libpng/contrib/pngsuite/iftbyn3p08.png
create mode 100644 libpng/contrib/pngsuite/iftp0n0g08.png
create mode 100644 libpng/contrib/pngsuite/iftp0n2c08.png
create mode 100644 libpng/contrib/pngsuite/iftp0n3p08.png
create mode 100644 libpng/contrib/pngsuite/iftp1n3p08.png
create mode 100644 libpng/contrib/pngsuite/interlaced/README
create mode 100644 libpng/contrib/pngsuite/interlaced/ibasn0g01.png
create mode 100644 libpng/contrib/pngsuite/interlaced/ibasn0g02.png
create mode 100644 libpng/contrib/pngsuite/interlaced/ibasn0g04.png
create mode 100644 libpng/contrib/pngsuite/interlaced/ibasn3p01.png
create mode 100644 libpng/contrib/pngsuite/interlaced/ibasn3p02.png
create mode 100644 libpng/contrib/pngsuite/interlaced/ibasn3p04.png
create mode 100644 libpng/contrib/pngsuite/interlaced/iftbbn0g01.png
create mode 100644 libpng/contrib/pngsuite/interlaced/iftbbn0g02.png
create mode 100644 libpng/contrib/pngsuite/interlaced/iftbbn0g04.png
delete mode 100755 libpng/install-sh
delete mode 100644 libpng/scripts/def.c
delete mode 100644 libpng/scripts/makefile.bor
create mode 100644 libpng/scripts/makefile.clang
create mode 100644 libpng/scripts/makefile.clang-asan
create mode 100644 libpng/scripts/makefile.gcc-asan
delete mode 100644 libpng/scripts/makefile.knr
delete mode 100644 libpng/scripts/makefile.msc
delete mode 100644 libpng/scripts/makefile.ne12bsd
delete mode 100644 libpng/scripts/makefile.solaris-x86
delete mode 100644 libpng/scripts/makefile.tc3
delete mode 100644 openjpeg/.travis.yml
create mode 100644 openjpeg/INSTALL.md
delete mode 100644 openjpeg/src/bin/CMakeLists.txt
delete mode 100644 openjpeg/src/bin/common/CMakeLists.txt
delete mode 100644 openjpeg/src/bin/common/color.c
delete mode 100644 openjpeg/src/bin/common/color.h
delete mode 100644 openjpeg/src/bin/common/format_defs.h
delete mode 100644 openjpeg/src/bin/common/opj_apps_config.h.cmake.in
delete mode 100644 openjpeg/src/bin/common/opj_getopt.c
delete mode 100644 openjpeg/src/bin/common/opj_getopt.h
delete mode 100644 openjpeg/src/bin/common/opj_string.h
delete mode 100644 openjpeg/src/bin/jp2/CMakeLists.txt
delete mode 100644 openjpeg/src/bin/jp2/convert.c
delete mode 100644 openjpeg/src/bin/jp2/convert.h
delete mode 100644 openjpeg/src/bin/jp2/convertbmp.c
delete mode 100644 openjpeg/src/bin/jp2/convertpng.c
delete mode 100644 openjpeg/src/bin/jp2/converttif.c
delete mode 100644 openjpeg/src/bin/jp2/index.c
delete mode 100644 openjpeg/src/bin/jp2/index.h
delete mode 100644 openjpeg/src/bin/jp2/opj_compress.c
delete mode 100644 openjpeg/src/bin/jp2/opj_decompress.c
delete mode 100644 openjpeg/src/bin/jp2/opj_dump.c
delete mode 100644 openjpeg/src/bin/jp2/windirent.h
delete mode 100644 openjpeg/src/bin/jp3d/CMakeLists.txt
delete mode 100644 openjpeg/src/bin/jp3d/convert.c
delete mode 100644 openjpeg/src/bin/jp3d/convert.h
delete mode 100644 openjpeg/src/bin/jp3d/getopt.c
delete mode 100644 openjpeg/src/bin/jp3d/getopt.h
delete mode 100644 openjpeg/src/bin/jp3d/opj_jp3d_compress.c
delete mode 100644 openjpeg/src/bin/jp3d/opj_jp3d_decompress.c
delete mode 100755 openjpeg/src/bin/jp3d/tcltk/LPI_JP3D_VM.tcl
delete mode 100644 openjpeg/src/bin/jp3d/tcltk/README
delete mode 100755 openjpeg/src/bin/jp3d/tcltk/Thumbs.db
delete mode 100755 openjpeg/src/bin/jp3d/tcltk/decoder.tcl
delete mode 100755 openjpeg/src/bin/jp3d/tcltk/encoder.tcl
delete mode 100755 openjpeg/src/bin/jp3d/tcltk/logoLPI.gif
delete mode 100644 openjpeg/src/bin/jp3d/windirent.h
delete mode 100644 openjpeg/src/bin/jpip/CMakeLists.txt
delete mode 100644 openjpeg/src/bin/jpip/README
delete mode 100644 openjpeg/src/bin/jpip/opj_dec_server.c
delete mode 100644 openjpeg/src/bin/jpip/opj_jpip_addxml.c
delete mode 100644 openjpeg/src/bin/jpip/opj_jpip_test.c
delete mode 100644 openjpeg/src/bin/jpip/opj_jpip_transcode.c
delete mode 100644 openjpeg/src/bin/jpip/opj_server.c
delete mode 100644 openjpeg/src/bin/jpip/opj_viewer/dist/manifest.txt
delete mode 100644 openjpeg/src/bin/jpip/opj_viewer/src/ImageManager.java
delete mode 100644 openjpeg/src/bin/jpip/opj_viewer/src/ImageViewer.java
delete mode 100644 openjpeg/src/bin/jpip/opj_viewer/src/ImageWindow.java
delete mode 100644 openjpeg/src/bin/jpip/opj_viewer/src/ImgdecClient.java
delete mode 100644 openjpeg/src/bin/jpip/opj_viewer/src/JPIPHttpClient.java
delete mode 100644 openjpeg/src/bin/jpip/opj_viewer/src/MML.java
delete mode 100644 openjpeg/src/bin/jpip/opj_viewer/src/PnmImage.java
delete mode 100644 openjpeg/src/bin/jpip/opj_viewer/src/RegimViewer.java
delete mode 100644 openjpeg/src/bin/jpip/opj_viewer/src/ResizeListener.java
delete mode 100644 openjpeg/src/bin/jpip/opj_viewer_xerces/dist/manifest.txt.in
delete mode 100644 openjpeg/src/bin/jpip/opj_viewer_xerces/src/ImageViewer.java
delete mode 100644 openjpeg/src/bin/jpip/opj_viewer_xerces/src/ImageWindow.java
delete mode 100644 openjpeg/src/bin/jpip/opj_viewer_xerces/src/JP2XMLparser.java
delete mode 100644 openjpeg/src/bin/jpip/opj_viewer_xerces/src/OptionPanel.java
delete mode 100644 openjpeg/src/bin/jpwl/CMakeLists.txt
delete mode 100644 openjpeg/src/bin/jpwl/convert.c
delete mode 100644 openjpeg/src/bin/jpwl/convert.h
delete mode 100644 openjpeg/src/bin/jpwl/index.c
delete mode 100644 openjpeg/src/bin/jpwl/index.h
delete mode 100644 openjpeg/src/bin/jpwl/opj_jpwl_compress.c
delete mode 100644 openjpeg/src/bin/jpwl/opj_jpwl_decompress.c
delete mode 100644 openjpeg/src/bin/jpwl/windirent.h
delete mode 100644 openjpeg/src/bin/mj2/CMakeLists.txt
delete mode 100644 openjpeg/src/bin/mj2/meta_out.c
delete mode 100644 openjpeg/src/bin/mj2/meta_out.h
delete mode 100644 openjpeg/src/bin/mj2/mj2_to_metadata.c
delete mode 100644 openjpeg/src/bin/mj2/mj2_to_metadata.dtd
delete mode 100644 openjpeg/src/bin/mj2/mj2_to_metadata.h
delete mode 100644 openjpeg/src/bin/mj2/mj2_to_metadata.sln
delete mode 100644 openjpeg/src/bin/mj2/mj2_to_metadata.vcproj
delete mode 100644 openjpeg/src/bin/mj2/mj2_to_metadata_Notes.doc
delete mode 100644 openjpeg/src/bin/mj2/opj_mj2_compress.c
delete mode 100644 openjpeg/src/bin/mj2/opj_mj2_decompress.c
delete mode 100644 openjpeg/src/bin/mj2/opj_mj2_extract.c
delete mode 100644 openjpeg/src/bin/mj2/opj_mj2_wrap.c
delete mode 100644 openjpeg/src/bin/mj2/readme.txt
delete mode 100644 openjpeg/src/bin/wx/CMakeLists.txt
delete mode 100644 openjpeg/src/bin/wx/OPJViewer/CMakeLists.txt
delete mode 100644 openjpeg/src/bin/wx/OPJViewer/OPJViewer.iss
delete mode 100644 openjpeg/src/bin/wx/OPJViewer/Readme.txt
delete mode 100644 openjpeg/src/bin/wx/OPJViewer/about/about.htm
delete mode 100644 openjpeg/src/bin/wx/OPJViewer/about/opj_logo.png
delete mode 100644 openjpeg/src/bin/wx/OPJViewer/source/OPJAbout.cpp
delete mode 100644 openjpeg/src/bin/wx/OPJViewer/source/OPJChild.ico
delete mode 100644 openjpeg/src/bin/wx/OPJViewer/source/OPJChild16.xpm
delete mode 100644 openjpeg/src/bin/wx/OPJViewer/source/OPJDialogs.cpp
delete mode 100644 openjpeg/src/bin/wx/OPJViewer/source/OPJThreads.cpp
delete mode 100644 openjpeg/src/bin/wx/OPJViewer/source/OPJViewer.cpp
delete mode 100644 openjpeg/src/bin/wx/OPJViewer/source/OPJViewer.h
delete mode 100644 openjpeg/src/bin/wx/OPJViewer/source/OPJViewer.ico
delete mode 100644 openjpeg/src/bin/wx/OPJViewer/source/OPJViewer.rc
delete mode 100644 openjpeg/src/bin/wx/OPJViewer/source/OPJViewer16.xpm
delete mode 100644 openjpeg/src/bin/wx/OPJViewer/source/about_htm.h
delete mode 100644 openjpeg/src/bin/wx/OPJViewer/source/build.h
delete mode 100644 openjpeg/src/bin/wx/OPJViewer/source/icon1.xpm
delete mode 100644 openjpeg/src/bin/wx/OPJViewer/source/icon2.xpm
delete mode 100644 openjpeg/src/bin/wx/OPJViewer/source/icon3.xpm
delete mode 100644 openjpeg/src/bin/wx/OPJViewer/source/icon4.xpm
delete mode 100644 openjpeg/src/bin/wx/OPJViewer/source/icon5.xpm
delete mode 100644 openjpeg/src/bin/wx/OPJViewer/source/imagjpeg2000.cpp
delete mode 100644 openjpeg/src/bin/wx/OPJViewer/source/imagjpeg2000.h
delete mode 100644 openjpeg/src/bin/wx/OPJViewer/source/imagmxf.cpp
delete mode 100644 openjpeg/src/bin/wx/OPJViewer/source/imagmxf.h
delete mode 100644 openjpeg/src/bin/wx/OPJViewer/source/license.txt
delete mode 100644 openjpeg/src/bin/wx/OPJViewer/source/opj_logo.xpm
delete mode 100644 openjpeg/src/bin/wx/OPJViewer/source/readmeafter.txt
delete mode 100644 openjpeg/src/bin/wx/OPJViewer/source/readmebefore.txt
delete mode 100644 openjpeg/src/bin/wx/OPJViewer/source/wxj2kparser.cpp
delete mode 100644 openjpeg/src/bin/wx/OPJViewer/source/wxjp2parser.cpp
create mode 100644 openjpeg/src/lib/CMakeLists.txt
delete mode 100644 tiff/README
create mode 100644 tiff/README.md
delete mode 100644 tiff/README.vms
mode change 100755 => 100644 tiff/config/ltmain.sh
delete mode 100755 tiff/config/mkinstalldirs
create mode 100644 tiff/html/v4.0.10.html
create mode 100644 tiff/html/v4.1.0.html
create mode 100644 tiff/libtiff/tif_webp.c
create mode 100644 tiff/libtiff/tif_zstd.c
create mode 100644 tiff/port/_strtol.h
create mode 100644 tiff/port/_strtoul.h
create mode 100644 tiff/port/strtol.c
create mode 100644 tiff/port/strtoll.c
create mode 100644 tiff/test/defer_strile_loading.c
create mode 100644 tiff/test/defer_strile_writing.c
create mode 100755 tiff/test/fax2tiff.sh
create mode 100644 tiff/test/images/lzw-single-strip.tiff
create mode 100644 tiff/test/images/miniswhite-1c-1b.g3
create mode 100644 tiff/test/refs/o-tiff2ps-EPS1.ps
create mode 100644 tiff/test/refs/o-tiff2ps-PS1.ps
create mode 100644 tiff/test/refs/o-tiff2ps-PS2.ps
create mode 100644 tiff/test/refs/o-tiff2ps-PS3.ps
create mode 100644 tiff/test/testtypes.c
create mode 100755 tiff/test/tiffcp-lzw-scanline-decode.sh
mode change 100644 => 100755 toolbin/headercompile.pl
delete mode 100644 toolbin/pdf_info.ps
create mode 100755 toolbin/squeeze2text.py
create mode 100644 windows/All.vcxproj
create mode 100644 windows/ghostpcl.vcxproj
create mode 100644 windows/ghostpcl.vcxproj.filters
create mode 100644 windows/ghostpdl.vcxproj
create mode 100644 windows/ghostpdl.vcxproj.filters
create mode 100644 windows/ghostscript.vcxproj
create mode 100644 windows/ghostscript.vcxproj.filters
create mode 100644 windows/ghostxps.vcxproj
create mode 100644 windows/ghostxps.vcxproj.filters
diff --git a/Makefile.in b/Makefile.in
index 8e36018b..0e5bd094 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -1,4 +1,4 @@
-# Copyright (C) 2001-2019 Artifex Software, Inc.
+# Copyright (C) 2001-2020 Artifex Software, Inc.
# All Rights Reserved.
#
# This software is provided AS-IS with no warranty, either express or
@@ -59,6 +59,10 @@ GPDLSRCDIR=@srcdir@/gpdl
GPDLGENDIR=./$(BUILDDIRPREFIX)@OBJDIR_BSDMAKE_WORKAROUND@
GPDLOBJDIR=./$(BUILDDIRPREFIX)@OBJDIR_BSDMAKE_WORKAROUND@
+URFSRCDIR=@srcdir@/urf
+URFGENDIR=./$(BUILDDIRPREFIX)@OBJDIR_BSDMAKE_WORKAROUND@
+URFOBJDIR=./$(BUILDDIRPREFIX)@OBJDIR_BSDMAKE_WORKAROUND@
+
CONTRIBDIR=@srcdir@/contrib
# Do not edit the next group of lines.
@@ -172,24 +176,36 @@ CAPOPT= @HAVE_MKSTEMP@ @HAVE_FILE64@ @HAVE_FSEEKO@ @HAVE_MKSTEMP64@ @HAVE_FONTCO
GS=@GS@
GS_SO_BASE=@GS@
+GS_SONAME=@GS_SONAME@
+GS_SONAME_MAJOR=@GS_SONAME_MAJOR@
+GS_SONAME_MAJOR_MINOR=@GS_SONAME_MAJOR_MINOR@
PCL=@PCL@
PCL_SO_BASE=@PCL@
+PCL_SONAME=@PCL_SONAME@
+PCL_SONAME_MAJOR=@PCL_SONAME_MAJOR@
+PCL_SONAME_MAJOR_MINOR=@PCL_SONAME_MAJOR_MINOR@
XPS=@XPS@
XPS_SO_BASE=@XPS@
+XPS_SONAME=@XPS_SONAME@
+XPS_SONAME_MAJOR=@XPS_SONAME_MAJOR@
+XPS_SONAME_MAJOR_MINOR=@XPS_SONAME_MAJOR_MINOR@
GPDL=@GPDL@
GPDL_SO_BASE=@GPDL@
+GPDL_SONAME=@GPDL_SONAME@
+GPDL_SONAME_MAJOR=@GPDL_SONAME_MAJOR@
+GPDL_SONAME_MAJOR_MINOR=@GPDL_SONAME_MAJOR_MINOR@
XE=@EXEEXT@
-XEAUX=@EXEEXT@
+XEAUX=@AUXEXEEXT@
PCL_TARGET=@PCL_TARGET@
XPS_TARGET=@XPS_TARGET@
GPDL_TARGET=@GPDL_TARGET@
-PCL_XPS_TARGETS=$(PCL_TARGET) $(XPS_TARGET) @GPDL_TARGET_VAR@
+PCL_XPS_PDL_TARGETS=$(PCL_TARGET) $(XPS_TARGET) $(GPDL_TARGET)
# Define the directories for debugging and profiling binaries, relative to
# the standard binaries.
@@ -270,6 +286,7 @@ TIFFPLATFORM=unix
TIFFCONFIG_SUFFIX=
LIBTIFF_NAME=tiff
TIFF_CFLAGS=@TIFFCFLAGS@
+ENABLE_TIFF=@ENABLETIFF@
# Define the directory where the zlib sources are stored.
# See zlib.mak for more information.
@@ -328,6 +345,12 @@ LCMS2_CFLAGS=-DSHARE_LCMS=$(SHARE_LCMS) @LCMS2_ENDIAN@ @SQRTF_SUBST@ @LCMS2_PTR
# Options are currently lcms or lcms2
WHICH_CMS=@WHICHLCMS@
+# Do we have URF support?
+ENABLE_URF=@ENABLEURF@
+GPDL_URF_TOP_OBJ=@GPDL_URF_TOP_OBJ@
+URF_INCLUDE=@URF_INCLUDE@
+URF_DEV=@URF_DEV@
+SURFX_H=@SURFX_H@
EXPATSRCDIR=@EXPATDIR@
EXPAT_CFLAGS=@EXPAT_CFLAGS@
@@ -538,6 +561,9 @@ SO_LIB_VERSION_SEPARATOR=@SO_LIB_VERSION_SEPARATOR@
#CAIRO_CFLAGS = @CAIRO_CFLAGS@
#CAIRO_LIBS = @CAIRO_LIBS@
+# AUX Tools flags
+MKROMFS_FLAGS=@MKROMFS_FLAGS@
+
# ------ Devices and features ------ #
# Choose the language feature(s) to include. See gs.mak for details.
@@ -558,7 +584,7 @@ FEATURE_DEVS=$(GLD)pipe.dev $(GLD)gsnogc.dev $(GLD)htxlib.dev $(GLD)psl3lib.dev
$(GLD)seprlib.dev $(GLD)translib.dev $(GLD)cidlib.dev $(GLD)psf0lib.dev $(GLD)psf1lib.dev\
$(GLD)psf2lib.dev $(GLD)lzwd.dev $(GLD)sicclib.dev \
$(GLD)sjbig2.dev $(GLD)sjpx.dev $(GLD)ramfs.dev \
- $(GLD)pwgd.dev $(GLD)siscale.dev
+ $(GLD)pwgd.dev $(GLD)siscale.dev $(URF_DEV)
#FEATURE_DEVS=$(PSD)psl3.dev $(PSD)pdf.dev
#FEATURE_DEVS=$(PSD)psl3.dev $(PSD)pdf.dev $(PSD)ttfont.dev $(GLD)pipe.dev
@@ -748,7 +774,7 @@ include $(GLSRCDIR)/unixinst.mak
distclean : clean config-clean soclean pgclean debugclean mementoclean
-$(RM_) -r $(BINDIR) $(GLOBJDIR) $(PSOBJDIR) $(AUXDIR)
-$(RM_) -r autom4te.cache
- -$(RM_) config.log config.status
+ -$(RM_) config.log config.status configaux.log @ARCH_AUTOCONF_HEADER@
-$(RM_) -r $(TIFFCONFDIR)
-$(RM_) Makefile
diff --git a/Resource/Init/gs_cidfm.ps b/Resource/Init/gs_cidfm.ps
index 5eb25f00..e123bfc1 100644
--- a/Resource/Init/gs_cidfm.ps
+++ b/Resource/Init/gs_cidfm.ps
@@ -120,7 +120,12 @@ currentdict end def
(DroidSansFallback.ttf)
} if
} if
- concatstrings
+ % If CIDFSubstFont looks like a path/file (rather than just file)
+ % use it without the CIDFSubstPath string
+ dup .file_name_directory_separator rsearch
+ {pop pop pop exch pop}
+ {pop concatstrings}
+ ifelse
% The CSI data just has to be valid, the substition machinery will
% generally overwrite it with appropriate values for the missing font.
/CSI [(Identity) 0]
@@ -136,7 +141,7 @@ currentdict end def
% .basename
/.splitdirname {
(/) rsearch { //true } { (\\) rsearch } ifelse
- {3 -2 roll pop pop //true}{//false} ifelse
+ {exch concatstrings exch pop //true}{//false} ifelse
} bind def
% .addcidfmappath -
@@ -209,7 +214,7 @@ currentdict end def
} loop
} forall
currentdict end
- {exch pop (/) concatstrings /PermitFileReading exch .addcontrolpath} forall
+ {exch pop /PermitFileReading exch .addcontrolpath} forall
% Checks for vicious substitution cycles.
dup length dict copy % <
This software is distributed under license and may not be copied, modified
or distributed except as expressly authorized under the terms of that
-license. Refer to licensing information at http://www.artifex.com/
+license. Refer to licensing information at https://www.artifex.com
or contact Artifex Software, Inc., 1305 Grant Avenue - Suite 200,
Novato, CA 94945, U.S.A., +1(415)492-9861, for further information.
diff --git a/doc/C-style.htm b/doc/C-style.htm
index cbc5b3e4..99fa032a 100644
--- a/doc/C-style.htm
+++ b/doc/C-style.htm
@@ -1614,7 +1614,7 @@ implied.
This software is distributed under license and may not be copied, modified
or distributed except as expressly authorized under the terms of that
-license. Refer to licensing information at http://www.artifex.com/
+license. Refer to licensing information at https://www.artifex.com
or contact Artifex Software, Inc., 1305 Grant Avenue - Suite 200,
Novato, CA 94945, U.S.A., +1(415)492-9861, for further information.
diff --git a/doc/DLL.htm b/doc/DLL.htm
index d4be6001..779bbba4 100644
--- a/doc/DLL.htm
+++ b/doc/DLL.htm
@@ -771,12 +771,12 @@ implied.
This software is distributed under license and may not be copied, modified
or distributed except as expressly authorized under the terms of that
-license. Refer to licensing information at http://www.artifex.com/
+license. Refer to licensing information at https://www.artifex.com
or contact Artifex Software, Inc., 1305 Grant Avenue - Suite 200,
Novato, CA 94945, U.S.A., +1(415)492-9861, for further information.
-Ghostscript version 9.50, 15 October 2019
+Ghostscript version 9.52, 19 March 2020
diff --git a/doc/Deprecated.htm b/doc/Deprecated.htm
index e5d96250..4e187c6f 100644
--- a/doc/Deprecated.htm
+++ b/doc/Deprecated.htm
@@ -5768,12 +5768,12 @@ implied.
This software is distributed under license and may not be copied, modified
or distributed except as expressly authorized under the terms of that
-license. Refer to licensing information at http://www.artifex.com/
+license. Refer to licensing information at https://www.artifex.com
or contact Artifex Software, Inc., 1305 Grant Avenue - Suite 200,
Novato, CA 94945, U.S.A., +1(415)492-9861, for further information.
-Ghostscript version 9.50, 15 October 2019
+Ghostscript version 9.52, 19 March 2020
diff --git a/doc/Develop.htm b/doc/Develop.htm
index 1a235635..65525865 100644
--- a/doc/Develop.htm
+++ b/doc/Develop.htm
@@ -4768,12 +4768,12 @@ implied.
This software is distributed under license and may not be copied, modified
or distributed except as expressly authorized under the terms of that
-license. Refer to licensing information at http://www.artifex.com/
+license. Refer to licensing information at https://www.artifex.com
or contact Artifex Software, Inc., 1305 Grant Avenue - Suite 200,
Novato, CA 94945, U.S.A., +1(415)492-9861, for further information.
-Ghostscript version 9.50, 15 October 2019
+Ghostscript version 9.52, 19 March 2020
diff --git a/doc/Devices.htm b/doc/Devices.htm
index 3f123742..166c4080 100644
--- a/doc/Devices.htm
+++ b/doc/Devices.htm
@@ -520,9 +520,9 @@ many colorants occur on a particular page. With Postscript, this is not possibl
in general. To optimize for this, when rendering Postscript, it is possible to specify
at run-time the number of spot colorants you wish to have the device capable
of handling using the -dMaxSpots=N command option, where N is the number of spot
-colorants that you wish to be able to handle and must be
-less than 60 (60 + 4 CMYK process colorants gets us to a
-maximum of 64 colorants on a page). If you specify more than
+colorants that you wish to be able to handle and must be no more than the 64 minus the
+number of process colors. For example, 60 or less for a CMYK device such as tiffsep.
+If you specify more than
is needed, the document will render more slowly. The ideal case is to use
the same number as the maximum number of spot colorants that occur on a single page
of the document. If more spot colorants are encountered than is specified by
@@ -2010,12 +2010,12 @@ implied.
This software is distributed under license and may not be copied, modified
or distributed except as expressly authorized under the terms of that
-license. Refer to licensing information at http://www.artifex.com/
+license. Refer to licensing information at https://www.artifex.com
or contact Artifex Software, Inc., 1305 Grant Avenue - Suite 200,
Novato, CA 94945, U.S.A., +1(415)492-9861, for further information.
-Ghostscript version 9.50, 15 October 2019
+Ghostscript version 9.52, 19 March 2020
diff --git a/doc/Drivers.htm b/doc/Drivers.htm
index 3ac03086..a051778b 100644
--- a/doc/Drivers.htm
+++ b/doc/Drivers.htm
@@ -3673,12 +3673,12 @@ implied.
This software is distributed under license and may not be copied, modified
or distributed except as expressly authorized under the terms of that
-license. Refer to licensing information at http://www.artifex.com/
+license. Refer to licensing information at https://www.artifex.com
or contact Artifex Software, Inc., 1305 Grant Avenue - Suite 200,
Novato, CA 94945, U.S.A., +1(415)492-9861, for further information.
-Ghostscript version 9.50, 15 October 2019
+Ghostscript version 9.52, 19 March 2020
diff --git a/doc/Fonts.htm b/doc/Fonts.htm
index f343b1c9..e6fa7c09 100644
--- a/doc/Fonts.htm
+++ b/doc/Fonts.htm
@@ -131,7 +131,20 @@ with the names of font files, such as
aliases for font names, so that for instance,
/NimbusNo9L-Regu
means the same font as
/Times-Roman
.
-
+Where a mapping in Fontmap
maps a font name to a path/file,
+the directory containing the font file is automatically added to the permit
+file read
list. For example:
+
+/Arial (/usr/share/fonts/truetype/msttcorefonts/arial.ttf) ;
+
+will result in the path /usr/share/fonts/truetype/msttcorefonts/
being
+added to the permit file read
list. This is done on the basis that font files
+are often grouped in common directories, and rather than risk the file permissions lists
+being swamped with (potentially) hundreds of individual files, it makes sense to add the
+directories.
+
NOTE: Fontmap is processed (and the paths added to the file permissions list) during
+initialisation of the Postscript interpreter, so any attempt by a Postscript job to change the
+font map cannot influence the file permissions list.
Ghostscript's free fonts
@@ -352,12 +365,12 @@ implied.
This software is distributed under license and may not be copied, modified
or distributed except as expressly authorized under the terms of that
-license. Refer to licensing information at http://www.artifex.com/
+license. Refer to licensing information at https://www.artifex.com
or contact Artifex Software, Inc., 1305 Grant Avenue - Suite 200,
Novato, CA 94945, U.S.A., +1(415)492-9861, for further information.
-Ghostscript version 9.50, 15 October 2019
+Ghostscript version 9.52, 19 March 2020
diff --git a/doc/GS9_Color_Management.pdf b/doc/GS9_Color_Management.pdf
index e4bf415a..1fef5528 100644
Binary files a/doc/GS9_Color_Management.pdf and b/doc/GS9_Color_Management.pdf differ
diff --git a/doc/GS9_Color_Management.tex b/doc/GS9_Color_Management.tex
index 16defbe5..0f78532b 100644
--- a/doc/GS9_Color_Management.tex
+++ b/doc/GS9_Color_Management.tex
@@ -24,6 +24,8 @@
\usepackage{color}
\usepackage{caption} % so that I can have captions that dont wrap back under the caption index
\usepackage{hyperref}
+\usepackage[T1]{fontenc}
+\usepackage{lmodern}
\usepackage[ansinew]{inputenc}
\usepackage[all]{hypcap} % so that links to figures go to the figures and not the captions
\usepackage{subfig} % subfigure
@@ -35,24 +37,24 @@
\begin{titlepage}
-\begin{center}{\huge \bf Ghostscript 9.21 Color Management\\} \vspace{0.5in} {\Large Michael J.
-Vrhel, Ph.D.\\} {\Large Artifex Software\\} {\Large 7 Mt. Lassen Drive, A-134\\} {\Large Novato, CA 94903, USA\\}
+\begin{center}{\huge \bf Ghostscript 9.50 Color Management\\} \vspace{0.5in} {\Large Michael J.
+Vrhel, Ph.D.\\} {\Large Artifex Software\\} {\Large 7 Mt. Lassen Drive, A-134\\} {\Large San Rafael, CA 94903, USA\\}
{\Large www.artifex.com\\}
\end{center}
\vspace*{0.5in}
\begin{abstract}
-This document provides information about the color architecture in Ghostscript 9.21. The document is suitable for users who wish to
+This document provides information about the color architecture in Ghostscript 9.50. The document is suitable for users who wish to
obtain accurate color with their output device as well as for developers who wish to customize Ghostscript to achieve a higher
level of control and/or interface with a different color management module.
\end{abstract}
\begin{center}
\vspace*{0.25in}
-Revision 1.6
+Revision 1.65
\vspace*{0.25in}
\capstartfalse
\begin{figure}[h]
\begin{center}
-\includegraphics*[width=1.5in]{figures/Ghost.pdf}
+\includegraphics*[width=1.5in]{figures/ghostscriptR_stack_RGBclr_CS6.pdf}
\end{center}
\end{figure}
\capstarttrue
@@ -72,7 +74,7 @@ Revision 1.6
With release 9.0, the color architecture of Ghostscript was updated to primarily use the ICC\cite{ICC} format for its color management needs. Prior to this release, Ghostscript's color architecture was based heavily upon PostScript\cite{PS} Color Management (PCM). This is due to the fact that Ghostscript was designed prior to the ICC format and likely even before there was much thought about digital color management. At that point in time, color management was very much an art with someone adjusting controls to achieve the proper output color.
-Today, almost all print color management is performed using ICC profiles as opposed to PCM. This fact along with the desire to create a faster, more flexible design was the motivation for the color architectural changes in release 9.0. Since 9.0, several new features and capabilities have been added. As of the 9.21 release, features of the color architecture include:
+Today, almost all print color management is performed using ICC profiles as opposed to PCM. This fact along with the desire to create a faster, more flexible design was the motivation for the color architectural changes in release 9.0. Since 9.0, several new features and capabilities have been added. As of the 9.50 release, features of the color architecture include:
\begin{itemize}
\item Easy to interface different CMMs (Color Management Modules) with Ghostscript.
\item ALL color spaces are defined in terms of ICC profiles.
@@ -371,7 +373,7 @@ In the first example, copy the files in ./gs/toolbin/color/src\_color/ to ./iccp
% \leavevmode \epsfysize=3.0in
\includegraphics*[width=2.5in]{figures/text_graph_image_cmyk_rgb.pdf}
\end{center}
- \caption{Example file with mixed content. The file includes RGB and CMYK text, graphics, and images}
+ \caption{Example file with mixed content. The file includes RGB and CMYK text, graphics, and iamges}
\label{fig:normal}
\end{figure}
@@ -463,9 +465,9 @@ The manager is created when the imaging state object is created for the graphics
& cmm\_profile\_t *default\_rgb; & \textcolor{green}{/* Default RGB profile for device RGB */} \\
& cmm\_profile\_t *default\_cmyk; & \textcolor{green}{/* Default CMYK profile for device CMKY */} \\
& cmm\_profile\_t *lab\_profile; & \textcolor{green}{/* Colorspace type ICC profile from LAB to LAB */} \\
- & cmm\_profile\_t *xyz\_profile; & \textcolor{green}{/* RGB based profile that hands back CIEXYZ values */} \\
+ & cmm\_profile\_t *xyz\_profile; & \textcolor{green}{/* RGB profile that hands back CIEXYZ values */} \\
& cmm\_profile\_t *graytok\_profile;& \textcolor{green}{/* A specialized profile for mapping gray to K */} \\
- & gsicc\_devicen\_t *device\_n; & \textcolor{green}{/* A linked list of profiles used for DeviceN support */} \\
+ & gsicc\_devicen\_t *device\_n; & \textcolor{green}{/* A linked list of profiles for DeviceN support */} \\
& gsicc\_smask\_t *smask\_profiles; & \textcolor{green}{/* Profiles used when we are in a softmask group */ } \\
& bool override\_internal; & \textcolor{green}{/* Set via the user params */ } \\
& cmm\_srcgtag\_profile\_t *srcgtag\_profile; & \textcolor{green}{/* Object dependent source profiles */ } \\
@@ -525,7 +527,8 @@ Returns an ICC object given a stream pointer to the ICC content. The variables
\\
\begin{tabbing}
-\noindent int {\bf gsicc\_clone\_profile}(cmm\_profile\_t *source, cmm\_profile\_t **destination, gs\_memory\_t *memory);\\
+\noindent int {\bf gsicc\_clone\_profile}(\=cmm\_profile\_t *source, cmm\_profile\_t **destination, \\
+\>gs\_memory\_t *memory);\\
\end{tabbing}
\begin{minipage}[h]{6.0in}
@@ -601,7 +604,8 @@ Read out the serialized icc data contained in the c-list for a given hash code.
\end{minipage}\\
\begin{tabbing}
-\noindent cmm\_profile\_t* {\bf gsicc\_get\_gscs\_profile}(gs\_color\_space *gs\_colorspace, gsicc\_manager\_t *icc\_manager);\\
+\noindent cmm\_profile\_t* {\bf gsicc\_get\_gscs\_profile}(\=gs\_color\_space *gs\_colorspace, \\
+\> gsicc\_manager\_t *icc\_manager);\\
\end{tabbing}
\begin{minipage}[h]{6.0in}
@@ -642,8 +646,8 @@ Detect profiles that were set as part of the default settings. These are needed
\end{minipage}\\
\begin{tabbing}
-\noindent void {\bf gsicc\_get\_srcprofile}(\=gsicc\_colorbuffer\_t data\_cs,
- gs\_graphics\_type\_tag\_t graphics\_type\_tag,\\
+\noindent void {\bf gsicc\_get\_srcprofile}(\=gsicc\_colorbuffer\_t data\_cs,\\
+ \>gs\_graphics\_type\_tag\_t graphics\_type\_tag,\\
\>cmm\_srcgtag\_profile\_t *srcgtag\_profile,
cmm\_profile\_t **profile,\\
\>gsicc\_rendering\_intents\_t *rendering\_intent);\\
@@ -677,8 +681,8 @@ of this structure are shown below.\\
& bool usefastcolor; & \textcolor{green}{/* No color management */} \\
& bool supports\_devn; & \textcolor{green}{/* Set if the device handles DeviceN colors */} \\
& bool sim\_overprint; & \textcolor{green}{/* Indicates we want to do overprint blending */} \\
- & gsicc\_namelist\_t *spotnames; & \textcolor{green}{/* If device has an NCLR ICC profile, list of colorant names */} \\
- & bool prebandthreshold; & \textcolor{green}{/* Set if we should halftone images before display list */} \\
+ & gsicc\_namelist\_t *spotnames; & \textcolor{green}{/* If NCLR ICC profile, list of colorant names */} \\
+ & bool prebandthreshold; & \textcolor{green}{/* Should we halftone images before display list */} \\
& gs\_memory\_t *memory; & \\
& rc\_header rc; &
\end{tabular}
@@ -794,11 +798,11 @@ This is used to initialize a gsicc\_bufferdesc\_t object. Two of these objects a
\\
\begin{tabbing}
-\noindent gsicc\_link\_t* {\bf gsicc\_get\_link}(\=gs\_imager\_state * pis, gx\_device *dev, gs\_color\_space *input\_colorspace,\\
+\noindent gsicc\_link\_t* {\bf gsicc\_get\_link}(\=gs\_imager\_state * pis, gx\_device *dev,\\
+ \> gs\_color\_space *input\_colorspace, \\
\>gs\_color\_space *output\_colorspace,\\
- \> gsicc\_rendering\_param\_t *rendering\_params
- gs\_memory\_t
- *memory);\\
+ \> gsicc\_rendering\_param\_t *rendering\_params,\\
+ \>gs\_memory\_t *memory);\\
\end{tabbing}
\begin{minipage}[h]{6.0in}
@@ -1177,7 +1181,7 @@ Reading Massachusetts, 1999.
\end{thebibliography}
\vspace*{1.25in}
-Copyright (c) 2017, Artifex Software Inc. All rights reserved.
+Copyright (c) 2019, Artifex Software Inc. All rights reserved.
\end{document}
diff --git a/doc/History9.htm b/doc/History9.htm
index 020140dc..ac20b01e 100644
--- a/doc/History9.htm
+++ b/doc/History9.htm
@@ -79,6 +79,7 @@ TOC to see how to edit it for visual conciseness.
Table of contents
+- Version 9.52 (2020-03-19)
- Version 9.50 (2019-10-15)
- Version 9.27 (2019-04-03)
- Version 9.26 (2018-11-20)
@@ -133,6 +134,15891 @@ overview.
+
Version 9.52 (2020-03-19)
+ Highlights in this release include:
+
+-
+
The 9.52 release replaces the 9.51 release, after a problem was reported with 9.51
+which warranted the quick turnaround. Thus, like 9.51, 9.52 is primarily a maintenance
+release, consolidating the changes we introduced in 9.50.
+
+-
+
We have continued our work on code hygiene for this release, with a focus on the
+static analysis tool Coverity (from Synopsys, Inc)
+and we have now adopted a policy of maintaining zero Coverity issues in the
+Ghostscript/GhostPDL source base.
+
+-
+
IMPORTANT: In consultation with a representative of
+(OpenPrinting) it is
+our intention to deprecate and, in the not distant future, remove the
+OpenPrinting Vector/Raster Printer Drivers (that is, the opvp
+and oprp
devices).
+
If you rely on either of these devices, please get in touch with
+us, so we can discuss your use case, and revise our plans accordingly.
+
+-
+
IMPORTANT: We have forked LittleCMS2 into LittleCMS2mt (the "mt" indicating "multi-thread").
+LCMS2 is not thread safe, and cannot be made thread safe without breaking the ABI. Our fork
+will be thread safe, and include performance enhancements (these changes have all be been
+offered and rejected upstream). We will maintain compatibility between Ghostscript and LCMS2
+for a time, but not in perpetuity. If there is sufficient interest, our fork will be
+available as its own package separately from Ghostscript (and MuPDF).
+
+-
+
The usual round of bug fixes, compatibility changes, and incremental improvements.
+
+
+For a list of open issues, or to report problems,
+please visit bugs.ghostscript.com.
+
Incompatible changes
+Included below are incompatible changes from recent releases (the
+specific release in question listed in parentheses). We include these,
+for now, as we are aware that not everyone upgrades with every release.
+
+-
+
(9.52) As of 9.52, the Windows binaries released by the Ghostscript development
+team are built with Microsoft Visual Studio 2019. As a result Microsoft Windows XP and
+earlier are no longer supported by these binaries. This does not imply we are, or will
+start relying upon features only available in VS2019, so the nmake
Makefiles
+will continue to allow older Visual Studio versions (back to VS2005) to build Ghostscript.
+
+-
+
(9.52) -dALLOWPSTRANSPARENCY
: The transparency compositor (and related
+features), whilst we are improving it, remains sensitive to being driven correctly, and
+incorrect use can have unexpected/undefined results. Hence, as part of improving security
+we limited access to these operators, originally using the -dSAFER
feature.
+As we made "SAFER" the default mode, that became unacceptable, hence the new option
+-dALLOWPSTRANSPARENCY
which enables access to the operators.
+
+-
+
(9.50) There are a couple of subtle incompatibilities between the old and new SAFER
+implementations. Firstly, as mentioned in the 9.50 release notes, SAFER now leaves
+standard Postcript functionality unchanged (except for the file access limitations).
+Secondly, the interaction with save
/restore
operations,
+see SAFER.
+
Important Note for Windows Users:
+
+The file/path pattern matching is case sensitive, even on Windows. This is a
+change in behaviour compared to the old code which, on Windows, was case
+insensitive. This is in recognition of changes in Windows behaviour,
+in that it now supports (although does not enforce) case sensitivity.
+
+-
+
(9.27) The process of "tidying" the Postscript name space should have removed
+only non-standard and undocumented operators. Nevertheless, it is possible that
+any integrations or utilities that rely on those non-standard and undocumented
+operators may stop working, or may change behaviour.
+
If you encounter such a case, please contact us (either the #ghostscript IRC channel,
+or the gs-devel mailing list would be best), and we'll work with you to either find an
+alternative solution or return the previous functionality, if there is genuinely no other
+option.
+
One case we know this has occurred is GSView 5 (and earlier). GSView 5 support for PDF
+files relied upon internal use only features which are no longer available. GSView 5 will
+still work as previously for Postscript files. For PDF files, users are encouraged to look
+at MuPDF.
+
+
+Changelog
+
+2020-03-14 15:07:37 +0000
+
+
Chris Liddell <chris.liddell@artifex.com>
+eec073529fb8dc0c3bb6d612b61bf483d135c9cf
+
+
+ Bug 702217: Reinstate dynamic libs LDFLAGS for MacOS
+
+ With the significant revamp of the platform detection functions in configure
+ the LDFLAGS for building the gs shared library on MacOS went astray. This
+ puts them back in.
+
+configure.ac
+
+
+
+2020-03-16 09:06:16 +0000
+
+
Ken Sharp <ken.sharp@artifex.com>
+a9cd9959372b9f14b493b87df57664ea831c5d80
+
+
+ Repair device subclassing after fill+stroke commit
+
+ Bug 702221 "Ghostscript 9.51 - SIGFPE when -dFirstPage or -dLastPage is set"
+
+ The fill+stroke commit had an error with the default method for handling
+ fill_stroke_path which passed the subclassing device as a parameter to
+ the child, instead of passing the child device. This caused seg faults,
+ floating point exceptions, hangs, and possibly other problems.
+
+ In addition the object filtering device had been modified to pass the
+ fill+stroke method to the default handler, instead of checking to see
+ if vector operations should be dropped.
+
+ This commit fixes both problems.
+
+base/gdevoflt.c
+base/gdevsclass.c
+
+
+
+2020-03-14 10:56:43 +0000
+
+
Chris Liddell <chris.liddell@artifex.com>
+f712440a2f251ae06277ec4a5ffe8ce7599aa4d8
+
+
+ Add ARCH_MAX_SIZE_T to configure's arch.h prototype
+
+arch/arch_autoconf.h.in
+
+
+
+2020-03-14 10:53:15 +0000
+
+
Chris Liddell <chris.liddell@artifex.com>
+214d16924543fb3116a031463052e8b0eff3f1ae
+
+
+ Don't fail on missing freetype for auxtools run
+
+ When cross compiling, we shouldn't fail the recursive call to configure if
+ there's no freetype - since it's not required for auxtools.
+
+configure.ac
+
+
+
+2020-03-02 17:10:43 +0000
+
+
Robin Watts <Robin.Watts@artifex.com>
+15f5f8bad503e9d3e63db9c3ca395deffd6b1e20
+
+
+ Fix 16bit blending problem.
+
+ Seen with:
+
+ gs -sDEVICE=psdcmyk16 -o out%d.psd -r72 -dMaxBitmap=2000M
+ tests_private/pdf/forms/v1.5/proxy_vol_1_number_1_1.pdf
+
+ on page 3.
+
+base/gxblend.c
+
+
+
+2020-03-02 11:04:32 +0000
+
+
Robin Watts <Robin.Watts@artifex.com>
+f6e3e9238bb5cf7fe44c3c845be286a3314ed905
+
+
+ Fix 64bit non-console windows build.
+
+ The creation of the text window was truncating the pointer to
+ long (32bit) size. No idea how we've been getting away with this
+ in the past. I can only assume this has been exposed by
+ differences in the runtime lib with vs2019 as compared to
+ earlier versions.
+
+psi/dwtext.c
+
+
+
+2020-03-02 09:02:51 +0000
+
+
Chris Liddell <chris.liddell@artifex.com>
+ffe0e5cf33feee7672e5f4281f0c0b0ff66bddda
+
+
+ Add mention of deprecating/removing opvp/oprp devices
+
+doc/History9.htm
+doc/News.htm
+
+
+
+2020-02-26 15:22:04 +0000
+
+
Robin Watts <Robin.Watts@artifex.com>
+dbaddcf6e251229a1506f2df33844365df39de44
+
+
+ Fix signed issue in 16bit alpha blending fill_rectangle routines.
+
+ As seen by the central spot in the pink region of page 1 of:
+
+ gs -sDEVICE=psdcmyk16 -o out%d.psd -dMaxBitmap=2000M
+ tests_private/pdf/pdf_1.7_ATS_EXXPA1DC_PDFACT.pdf
+
+base/gxblend.c
+
+
+
+2020-02-26 15:09:35 +0000
+
+
Ken Sharp <ken.sharp@artifex.com>
+4ad8020c3cb63345dd76119e8978c3353940a68e
+
+
+ pdfwrite - Fix indeterminism with QL shading tests
+
+ When creating a new colour space to put in a PDF file we perform various
+ tests to see if its a space we have already written, to prevent writing
+ duplicate spaces (we perform similar tests for most resources).
+
+ In some cases, when we write the resource to a file, we create an MD5
+ hash and compare those to see if the resources are the same. In the
+ case of colour spaces, however, they are retained in memory and so we
+ use a different method. We 'serialise' the colour space. This is not the
+ same as writing it to the PDF file, and its a graphics library thing not
+ a pdfwrite function. Basically this writes out the content of the
+ various C structures. The stream we use is an in-memory stream.
+
+ Unfortunately, for Separation colour spaces, there was a fault in the
+ function which writes the colour space name, and it was writing out
+ the bytes forming the address of the name instead of the actual string.
+
+ This could, very rarely, mean that we would mis-identify a new colour
+ space as being the same as an old colour space, and so would reuse the
+ old space instead of creating a new one.
+
+ I've checked the DeviceN code and it does not suffer the same problem.
+
+base/gscsepr.c
+
+
+
+2020-02-26 13:03:56 +0000
+
+
Robin Watts <Robin.Watts@artifex.com>
+3cb8b3a403450d617b2b96ec0349bb99ce0d8379
+
+
+ Fix the overflow case in 16 bit saturation blending.
+
+ As seen with the second apple of the bottom row of page 1
+ of:
+
+ gs -sDEVICE=psdcmyk16 -r72 -o out%d.psd -dMaxBitmap=2000M
+ ../tests_private/pdf/PDF_1.7_ATS/AIX4G1C3.pdf
+
+base/gxblend.c
+
+
+
+2020-02-25 17:10:51 +0000
+
+
Julian Smith <jules@op59.net>
+5d4305e916d3f75492d03dfd79ab1aaedf9545e3
+
+
+ Fix for bug 702150: make pl_main_run_file_utf8() check for error from s_process_read_buf().
+
+ Avoids infinite loop in:
+ ./membin/gpcl6 -sDEVICE=ppmraw -o /dev/null .
+
+pcl/pl/plmain.c
+
+
+
+2020-02-25 18:24:55 +0000
+
+
Julian Smith <jules@op59.net>
+2c6efee0f594ad29394bf8a303f21d85dcb1d70a
+
+
+ minor improvements to toolbin/squeeze2text.py.
+
+toolbin/squeeze2text.py
+
+
+
+2020-02-26 08:25:13 +0000
+
+
Robin Watts <Robin.Watts@artifex.com>
+ef5dfe7e3b3858bdfb20c168b4818c4d65fb932f
+
+
+ CID 354310: Remove pointless unsigned comparison with 0.
+
+base/gxblend.c
+
+
+
+2020-02-26 08:11:49 +0000
+
+
Chris Liddell <chris.liddell@artifex.com>
+29335f43967a0f089d6f2f37883a22f1516f7bde
+
+
+ CID 354291: Add error handling for inability to allocate
+
+ Coverity complained about setting dash.pattern = NULL and "Passing "&dash"
+ to "gstate_copy_dash", which dereferences null "dash.pattern" which is either
+ wrong, or *very* misleading. We assume that it means that gx_set_dash() *may*
+ access that pointer.
+
+ In truth, this can never happen in these circumstances.
+
+ Nevertheless, in gx_set_dash() is we have a NULL mem (allocator) pointer and the
+ dash pattern pointer is NULL at the point we have to copy into it, then throw
+ an error.
+
+base/gsline.c
+
+
+
+2020-02-25 19:59:03 -0800
+
+
Ray Johnston <ray.johnston@artifex.com>
+1d0889b9fcf3a5d5012fad021b4c53828879016e
+
+
+ Fix bug 702139 - clist clipping bug.
+
+ When characters are filled as paths, the fill_adjust may be set to 0.
+ Clip paths are supposed to match fill paths, i.e. the 'any part of pixel'
+ rule, so we need fill_adjust of 0.5 (not 0). The most foolproof way to fix
+ this is to set it in the reader when processing 'begin_clip' and restore
+ it when handling the end_clip.
+
+ There are many progressions with this change, but it also exposes some
+ cases where the change in clipping allows other elements to be seen that
+ were previously hidden. Those few instances are minor and mostly seem to
+ occur when page mode differs from clist mode. Examination of some of those
+ cases shows that the clip path with clist mode now matches page mode and
+ other elements (e.g. images) differ in extent between page and clist mode.
+
+base/gxclrast.c
+
+
+
+2020-02-25 19:39:50 +0000
+
+
Robin Watts <Robin.Watts@artifex.com>
+86f81e9b799b66207c699768616a6e3ba3c311c3
+
+
+ Fix gx_default_copy_alpha_hl_color for 16 bit operation.
+
+ The code to write the composite data back to buffers to be sent
+ to copy_alpha was getting the first byte of each 16 bit pair
+ wrong in the 16bit data case.
+
+ Also, when we 'restart' after skipping a zero byte in the 16bit
+ case we need to skip 2 bytes per pixel, not one.
+
+ This can be seen when running:
+
+ gs -r72 -o out%d.psd -sDEVICE=psdcmyk16 -dMaxBitmap=2000M
+ ../tests_private/comparefiles/js.pdf
+
+base/gdevdbit.c
+
+
+
+2020-02-25 18:19:07 +0000
+
+
Robin Watts <Robin.Watts@artifex.com>
+635303ca7d8a36b3dabc9afbd9132f4b9a36dce5
+
+
+ Fix psdcmyk16 blending issue.
+
+ Use uint32_t rather than int to avoid signedness issues.
+
+ Seen in the psdcmyk16 page mode rendering of
+
+ tests_private/comparefiles/Bug692766.pdf
+
+ (bad colors in 4th rgb circle intersection test).
+
+base/gxblend.c
+
+
+
+2020-02-25 15:57:36 +0000
+
+
Robin Watts <Robin.Watts@artifex.com>
+a00c75369e082798d82202a2b64d8e4b484d0c11
+
+
+ Fix coverity issues 354292 and 354293.
+
+ Don't bother testing an unsigned value for clipping against 0.
+
+base/gxblend.c
+
+
+
+2020-02-25 08:58:32 +0000
+
+
Chris Liddell <chris.liddell@artifex.com>
+32f3d6703a7e5c6582c066837783c6697e98b1ca
+
+
+ Replace 0 with NULL for pointer validation/setting.
+
+ Also make validation an explicit comparison with NULL i.e.:
+ "if (mem != NULL)" rather than "if (mem)".
+
+base/gsline.c
+
+
+
+2020-02-24 17:30:54 +0000
+
+
Julian Smith <jules@op59.net>
+6c1002cc251907e702fd5db9dc81365a964816c6
+
+
+ Add support for multiple squeezes in one run.
+
+ E.g. MEMENTO_SQUEEZES=115867-1..+3,119928-1..+3 ...
+
+ This is equivalent running multiple times with MEMENTO_FAILAT set to 115866,
+ 115867, 11588, 119927, 119928, 119929.
+
+base/memento.c
+
+
+
+2020-02-24 10:38:53 +0000
+
+
Julian Smith <jules@op59.net>
+39557bd53eee75a8b8f762457ce57a5437e79d6c
+
+
+ Fix for MEMENTO_FAILAT=119928: only call gs_grestoreall_for_restore() if vmsave->gsave not NULL.
+
+ Also fix error cleanup in gs_gsave_for_save(), otherwise this fix breaks
+ previous fix for MEMENTO_FAILAT=115802.
+
+ [Thanks to chrisl for this and various other recent fixes.]
+
+ Fixes:
+ MEMENTO_FAILAT=119928 LD_LIBRARY_PATH=../libbacktrace/.libs ./membin/gpdl -sDEVICE=bit -o /dev/null examples/tiger.eps
+
+base/gsstate.c
+psi/isave.c
+
+
+
+2020-02-24 11:21:53 +0000
+
+
Julian Smith <jules@op59.net>
+60507d492507817bb5ae14a17a01d19c50d41e0a
+
+
+ toolbin/squeeze2text.py: improve log output.
+
+ With -p, if there is gap in 'Memory squeezing @ <N>' output (because of calls
+ to free()), output next <N>.
+
+ Also flush log output to avoid looking like we've hung.
+
+toolbin/squeeze2text.py
+
+
+
+2020-02-24 21:00:21 -0800
+
+
Michael Vrhel <michael.vrhel@artifex.com>
+3a9ea36465e97ce729c5ab26dc8e0d1435b7b246
+
+
+ Fix issue with fts_14_1416.pdf and psdcmyk16
+
+ This was missed in the fix. Affected only 16 bit devices.
+
+ http://git.ghostscript.com/?p=ghostpdl.git;a=commit;h=b1ac0686eea6adcf2db8cabf7858796494b4459d
+
+base/gxblend.c
+
+
+
+2020-02-24 20:05:49 +0000
+
+
Robin Watts <Robin.Watts@artifex.com>
+8f3320f9b6214907d24a4a9f77638b199aa95f8e
+
+
+ Fix Ink names leaking.
+
+ The cause of the leak was a typo in gx_final_DeviceN.
+
+ Once this is fixed, we hit a problem where ink names are set
+ to be a pointer to a static empty string, which can't be
+ freed. Change to using NULL to mean empty ink name.
+
+base/gscdevn.c
+
+
+
+2020-02-24 12:01:43 -0800
+
+
Robin Watts <Robin.Watts@artifex.com>
+b28d57e7422d2d4df8c805342ad01dfc6c6e1232
+
+
+ Memento/Valgrind tweak.
+
+ Ensure we mark the contents of a block readable before we
+ look for pointers in it, and don't overrun the end.
+
+base/memento.c
+
+
+
+2020-02-24 12:57:28 +0000
+
+
Robin Watts <Robin.Watts@artifex.com>
+0822ac2a5f1f02315a783504fccf615a55cf494f
+
+
+ Squash some unused variable warnings.
+
+base/claptrap-planar.c
+base/gp_unifs.c
+base/gxclpath.c
+gpdl/tifftop.c
+
+
+
+2020-02-24 12:14:23 +0000
+
+
Robin Watts <Robin.Watts@artifex.com>
+82a2d6356858c0a4ab9ff7fa294c0380d04aa9e3
+
+
+ pdf14_{fill_stroke_path,clist_fill_stroke_path_pattern_setup} cleanups.
+
+ Use a nicer method of breaking const (to avoid warnings). Ensure
+ that we always put everything back as it was when we leave the
+ functions, even if we have an error.
+
+ Remove needless cleanup code to handle functions that can never
+ return an error to us returning an error.
+
+base/gdevp14.c
+
+
+
+2020-02-24 12:35:30 +0000
+
+
Robin Watts <Robin.Watts@artifex.com>
+b1ff23ccf08707af544de59d6c59971d0c17098c
+
+
+ pdf14_clist_fill_stroke_path_pattern_setup overprint fix.
+
+ Only enable CompatibleOverprint for the stroke part of stroke/fill
+ patterns if we are in a subtractive space.
+
+base/gdevp14.c
+
+
+
+2020-02-24 11:24:28 +0000
+
+
Robin Watts <Robin.Watts@artifex.com>
+389324fd827e1172eb358b616a32af5fcb2633f6
+
+
+ Squash some warnings with gs_swapcolors_quick breaking const.
+
+ At various places in the code, we call gs_swapcolors_quick where
+ we only have a const pgs.
+
+ Properly, we should copy the pgs to a non-const pgs, and then use
+ that, but that would be a performance hit.
+
+ In all cases, we change the graphics state, then restore it before
+ exit, so effectively it is const over the entire call of the
+ enclosing procedure.
+
+ Rather than having lots of small hacky casts removing const, we
+ push the const breakage into gs_swapcolors_quick itself where we
+ do it in the "approved" way using a union.
+
+base/gdevp14.c
+base/gsstate.c
+base/gxfill.c
+base/gxgstate.h
+devices/vector/gdevpdfd.c
+
+
+
+2020-02-24 10:10:25 +0000
+
+
Robin Watts <Robin.Watts@artifex.com>
+449433ff6689c603a56186dbde5721f6139aa939
+
+
+ Avoid floating point in gxblend.c
+
+ Use fixed point in preference.
+
+base/gxblend.c
+
+
+
+2020-02-24 08:23:59 +0000
+
+
Ken Sharp <ken.sharp@artifex.com>
+6badfb362efe0fb4f0c3df106a33ecd5b0265ef7
+
+
+ Implement OPM tracking in pdfwrite
+
+ More than somewhat to my surprise, the release testing of 9.51 revealed
+ that pdfwrite was not tracking the state of overprint mode (OPM). It
+ could be set by setdistillerparams, and in no other way.
+
+ This commit adds tracking the OPM in the graphics state, removes the
+ old overprint_mode variable from the device, but preserves the ability
+ to alter the OPM using setdistillerparms.
+
+ This also alters the initial state of OPM, the distiller params
+ reference states that the 'factory default' of OPM is 1, but the PDF
+ Reference says that the initial state of OPM is 0. We need to start
+ with the correct setting of OPM so we change it form 1 to 0
+ in gs_pdfwr.ps.
+
+ In passing, cast a const gs_gstate * to a gs_gstate * when used by
+ gs_swapcolours_quick, in order to avoid a compiler warning.
+
+ This causes a small number of progressions in files using OPM (which is
+ rare, its even rarer to actually alter it during the course of the file)
+
+Resource/Init/gs_pdfwr.ps
+devices/vector/gdevpdfb.h
+devices/vector/gdevpdfd.c
+devices/vector/gdevpdfg.c
+devices/vector/gdevpdfx.h
+
+
+
+2020-02-20 16:24:12 -0800
+
+
Michael Vrhel <michael.vrhel@artifex.com>
+3dc65600d6d4eb060398f06f148cfe4f07a82439
+
+
+ Bug 702117 Knockout groups containing non-isolated groups
+
+ So this ended up being rather complicated. The first issue was that
+ we were not setting the backdrop properly for non-isolated groups that
+ reside in knockout groups. When that was fixed, it was revealed that we
+ were not doing the recompositing operation for non-isolated knockout groups. This meant
+ that the backdrop was getting applied twice effectively (once in the original
+ fill and then again when the group was popped). The only file that showed
+ this issue was the crazy Altona page with the many overlapping groups. Customer
+ file added to provide a clearer case in the regression tests.
+
+base/gdevp14.c
+base/gxblend.c
+base/gxblend1.c
+
+
+
+2020-02-20 17:09:41 +0000
+
+
Julian Smith <jules@op59.net>
+416baca7c4bcf0b1794b7b1647250bf09adaee9d
+
+
+ Fix MEMENTO_FAILAT=115867 - segv in i_unregister_root() after failure in i_register_root().
+
+ In pl_main_delete_instance(), don't call gs_unregister_root() if
+ minst->device_root is NULL.
+
+ Also in pl_top_create_device(), check return from
+ gs_register_struct_root(). But this doesn't appear to make any difference to
+ the handling of the memento error.
+
+ Fixes:
+ MEMENTO_FAILAT=115867 LD_LIBRARY_PATH=../libbacktrace/.libs ./membin/gpdl -sDEVICE=bit -o /dev/null examples/tiger.eps
+
+pcl/pl/plmain.c
+
+
+
+2020-02-20 16:51:56 +0000
+
+
Robin Watts <Robin.Watts@artifex.com>
+4eb54af16c69ef36371291bd43f853865adea1eb
+
+
+ Fix deep color group compose issue.
+
+ In commit bb7d57e84e9fe I reordered parameters to keep 8/16
+ branches consistent, and missed one case.
+
+base/gxblend.c
+
+
+
+2020-02-20 15:27:07 +0000
+
+
Robin Watts <Robin.Watts@artifex.com>
+a2276988137021618bb3ca440aba50e126160bcd
+
+
+ Remove needless "isolated" parameter from pdf14_mark_rect routines.
+
+ The value was carefully plumbed through (only in the 8bit case) in
+ a recent commit, but was never actually used. Remove it a) because
+ it's pointless passing a variable we don't use, and b) because it's
+ another difference between 8 and 16 bit versions.
+
+base/gxblend.c
+
+
+
+2020-02-20 15:21:30 +0000
+
+
Robin Watts <Robin.Watts@artifex.com>
+9ddcae93fe1629e81d36b17b7fec9de787b411cc
+
+
+ Fix typing mistake in 16bit transparency.
+
+ When promoting from 8 to 16 bit, shape and src_alpha become
+ uint16_ts rather than bytes.
+
+base/gxblend.c
+
+
+
+2020-02-20 15:06:38 +0000
+
+
Robin Watts <Robin.Watts@artifex.com>
+7de8fe5a49df0f9154fa707a934e39c012c3cc2a
+
+
+ Fix more overprint problems with deep color transparency.
+
+ Again, overprint changes to the 8 bit paths had not been
+ pulled across to the 16 bit path.
+
+base/gxblend.c
+
+
+
+2020-02-19 07:10:40 +0000
+
+
Julian Smith <jules@op59.net>
+2d3f8c01231d52a5595e2727b31b8044188a5af8
+
+
+ Added toolbin/squeeze2text.py, for processing output from MEMENTO_SQUEEZEAT=...
+
+ An alternative to squeeze2html.pl, outputing just summary information.
+
+toolbin/squeeze2text.py
+
+
+
+2020-02-20 11:18:11 +0000
+
+
Julian Smith <jules@op59.net>
+777d79315e0094bef83d241bc0d5683ea6775a55
+
+
+ Fix for MEMENTO_FAILAT=115802: make gs_gsave_for_save() call gs_gsave() so it can restore after error.
+
+ Previously, zsave() called gs_gsave_for_save() then gs_gsave(), but if
+ gs_gsave() failed we ended up with SEGV in finalise code.
+
+ To allow zsave() to restore things after gs_gsave() failure, we would need to
+ add an include of base/gxgstate.h.
+
+ Instead we remove the call of gs_gsave() from zsave() and append it to
+ gs_gsave_for_save(), where things can be easily restored if it fails.
+
+ [There are no other callers of gs_gsave_for_save().]
+
+ Fixes:
+ MEMENTO_FAILAT=115802 LD_LIBRARY_PATH=../libbacktrace/.libs ./membin/gpdl -sDEVICE=bit -o /dev/null examples/tiger.eps
+
+base/gsstate.c
+psi/zvmem.c
+
+
+
+2020-02-18 09:44:51 +0000
+
+
Julian Smith <jules@op59.net>
+6db4560f1e31bb92321894e0d008d310aa600097
+
+
+ Avoid leaks if we get alloc failure when closing down (found by memento).
+
+ In gs_main_finit(), ignore gs_error_VMerror from interp_reclaim(). Such error
+ ultimately comes from gs_vmreclaim() calling context_state_load(), but the
+ missing info doesn't seem to be required for gs_main_finit() to carry on.
+
+ Fixes:
+ MEMENTO_FAILAT=147801 LD_LIBRARY_PATH=../libbacktrace/.libs ./membin/gpdl -sDEVICE=bit -o /dev/null examples/tiger.eps
+
+psi/imain.c
+
+
+
+2020-02-13 17:40:51 +0000
+
+
Robin Watts <Robin.Watts@artifex.com>
+eb726fb4d2597cfcd4986dd9c105cf1ab71d09e3
+
+
+ Fix image_color_icc_prep to properly align planar buffers.
+
+base/gxicolor.c
+
+
+
+2020-02-13 10:50:10 +0000
+
+
Robin Watts <Robin.Watts@artifex.com>
+e01371e00caa8f5d08ef150a6f594c93ca495be2
+
+
+ Enable CAL for gxicolor halftoning.
+
+ Looks like the calling code was unfinished, and the build
+ changes were not done.
+
+ Also, squash some warnings.
+
+base/gxicolor.c
+base/gximono.c
+base/lib.mak
+devices/gdevtsep.c
+
+
+
+2020-02-17 15:57:47 +0000
+
+
Chris Liddell <chris.liddell@artifex.com>
+c4e7cddc4d053f2850e697696e2498180547961a
+
+
+ Ensure the memory entry in a cloned gstate is correct.
+
+ In theory, we could end up cloning a graphics state with one allocator, then
+ assigning the "memory" entry in the cloned state to that of the state we are
+ cloning.
+
+ In practice the two have (so far) been the same, but that is not guaranteed.
+
+base/gsstate.c
+
+
+
+2020-02-14 11:08:57 +0000
+
+
Chris Liddell <chris.liddell@artifex.com>
+239e70cd02491bab1cce9092c07c959427358646
+
+
+ Fix segfault cleaning up after gstate clone failure.
+
+ For me this happens with MEMENTO_FAILAT=112447 and for Julian it happens with
+ MEMENTO_FAILAT=115905.
+
+ Basically, the order of events was that we'd allocate a new gstate, copy the
+ contents of the existing gstate to the new one, then copy the dash pattern
+ (which could fail) and copy the "client_data" (which could and, in this case,
+ did fail). When either of those failed, we'd jump to the error handling and
+ exit with the error.
+
+ The problem is that, by jumping to the "fail" label, we skip over all the code
+ that fixes up the reference counts (and various other things) to account for
+ the newly created gstate.
+
+ This commit reorders things so we allocate the gstate, copy the client data,
+ copy the dash pattern, *then* assign the contents of the old gstate to the new
+ one, and carry on. Thus, by the time the gstate contents are copied, the
+ function cannot fail, and everything is sure to be correctly setup.
+
+ In the event that either the dash pattern or the client data fail to allocate,
+ the new gstate is still filled with NULLs, except for the subset of
+ "gs_gstate_parts" which are allocated and setup correctly so we can safely
+ free the graphics state object before returning the error.
+
+ Also, use NULL for pointer validation instead of 0.
+
+base/gsstate.c
+
+
+
+2020-02-18 17:43:18 -0800
+
+
Michael Vrhel <michael.vrhel@artifex.com>
+db5b51109ddee39b17b2ff2c2ac12f41a70785ef
+
+
+ Make sure pattern fills use proper alpha settings
+
+ Fix for regression of fts_28_2804.pdf pdfwrite output rendering
+ with fill-stroke commit. This also fixes the rendering of fts_25_2526.pdf
+ Bug 702033. Required a minor change in the XPS interpreter to make
+ sure that patterns did not have their opacity double applied.
+
+base/gdevp14.c
+xps/xpstile.c
+
+
+
+2020-02-19 17:20:09 +0000
+
+
Robin Watts <Robin.Watts@artifex.com>
+cddd44e1bfcdaba1c289c3d83645613d136e5e3e
+
+
+ Bug 702105: Premature EOF Infinite loop in interpolated imagemask stream.
+
+ Fix supplied by Peter Cherepanov. Many thanks.
+
+base/simscale.c
+
+
+
+2020-02-19 16:58:06 +0000
+
+
Robin Watts <Robin.Watts@artifex.com>
+59089ab66b3faaa683bb3aeb0bf856b7aa284f9b
+
+
+ Fix "blue gradients" seen with psdrgb device.
+
+ Since the fill/stroke commit went in, some files have been showing
+ gradients in the wrong colours. For instance this one, spotted in
+ release testing:
+
+ gs -sDEVICE=psdrgb -r72 -dMaxBitmap=2000M -o out%d.psd
+ ../tests_private/comparefiles/Layout.pdf
+
+ Bisecting the fill/stroke branch back, it seems the commit that
+ caused it is the one that stops psdrgb using 'devn' colors.
+
+ This causes gradients to drop to using the color_info.comp_bits and
+ comp_shift information, which the psd devices don't fill in.
+
+ The fix here is to make psd_prn_open call the standard function for
+ setting up these values.
+
+devices/gdevpsd.c
+
+
+
+2020-02-13 14:48:05 -0800
+
+
Nancy Durgin <nancy.durgin@artifex.com>
+25cd0c72b98f9efc6968254d1e3a2f33ec376369
+
+
+ Bug701972 -- fix pdfwrite image downscaling bug
+
+ Calculate the bits on the row using the input image width,
+ not the output image width.
+
+ I had to add an extra argument to a few functions to propagate the info
+ down to where it is needed.
+
+ Note obscure case involving calling psdf_setup_image_to_mask_filter()
+ for a Type 4 image and CompatibilityLevel < 1.3. This change just
+ adds the extra input_width arg, which doesn't change whatever it was
+ doing before. If there is a bug lurking here, it seems unlikely
+ anybody cares?
+
+devices/vector/gdevpdfi.c
+devices/vector/gdevpsdf.h
+devices/vector/gdevpsdi.c
+devices/vector/gdevpsds.c
+devices/vector/gdevpsds.h
+
+
+
+2020-02-12 09:22:55 -0800
+
+
Nancy Durgin <nancy.durgin@artifex.com>
+e9523603ac713e365702b81c228edcaaac667dc4
+
+
+ Set the BitsPerComponent for alt stream in pdfwrite
+
+ Add this to the image[1] code where it was missing
+
+ This fixes bug where compressed images were correct, but if
+ -dEncodeGrayImages=false was used, then they were truncated.
+
+ This is related to trimmed/rescaled image for Bug701972.
+ See the sample trim-nobug.pdf attached to that bug.
+
+devices/vector/gdevpdfi.c
+
+
+
+2020-02-18 19:25:24 +0000
+
+
Robin Watts <Robin.Watts@artifex.com>
+924f7ea07c7773a3b1510c6206c9a34227e4b39e
+
+
+ Bug 702131: Fix overprint in additive spaces.
+
+ We should only enter CompatibleOverprint blend mode if we
+ are in an subtractive space. This stops pdf14 trying to honour
+ drawn_comps even in additive spaces.
+
+base/gdevp14.c
+
+
+
+2020-02-14 14:02:24 -0800
+
+
Ray Johnston <ray.johnston@artifex.com>
+d98b553c829fad94cd4338910468d2b1b6ee64f7
+
+
+ Fix bug 702079: SEGV with clist and PCL caused by wrong color in images.
+
+ The clist_image_plane_data function was called with the dev_color for a band
+ being type <pattern> when the image had type <pure>, but the code was not
+ calling cmd_put_drawing_color to update the bands for the image because uses_color
+ was false. Add rop3_uses_S(pgs0>log_op) as well as (||) rop3_uses_T(pgs->log_op)
+ when CombineWitColor is true.
+ Note that extra calls to cmd_put_drawing_color before an image are low cost
+ and do nothing if the current device color is already the same.
+
+base/gxclimag.c
+
+
+
+2020-02-18 09:48:07 -0800
+
+
Michael Vrhel <michael.vrhel@artifex.com>
+4f55464d5c1640075a67a8b50557a48766783e08
+
+
+ Bug 702128 : clist pdf14 overprint state
+
+ This change ensures that gxdso_overprint_active
+ gets the proper state information.
+
+ When the clist writer is active with the pdf14 device, the writer maintains
+ the current overprint state (as the writer has no access to the pdf14 member variables)
+ and must know what to put in the clist.
+
+ When the clist writer is not present (i.e. page mode), the pdf14 device
+ maintains the information.
+
+base/gdevp14.c
+
+
+
+2020-02-18 11:46:45 +0000
+
+
Robin Watts <Robin.Watts@artifex.com>
+f1887408860910c19c980f05fd0f8fc93b5f06a1
+
+
+ Bug 702068 continued: Fix smasked images with masks.
+
+ Release testing has shown up another case that needs help.
+
+ gs/bin -sDEVICE=ppmraw -o out.ppm -r300 -dMaxBitmap=1G
+ tests_private/pdf/sumatra/1901_-_tiling_inconsistencies.pdf
+
+ This shows horizontal white lines in the "Next" "Up" "Previous"
+ images at the top of the page.
+
+ Investigation shows this is due to the images having Masks as well
+ as SMasks.
+
+ The Mask image is run to a 1 bit memory device, which means that
+ the gxdso to check if we are in an SMask doesn't work. We work
+ around this by introducing a new flag to gs_pixel_image_common
+ that we can set to indicate that we are within an smask. We set
+ this when we set the masked image up (using the gxdso), and check
+ it when we come to do the gridfitting.
+
+base/gsiparam.h
+base/gxclrast.c
+base/gximage.c
+base/gximage3.c
+base/gxipixel.c
+
+
+
+2020-02-17 19:31:50 +0000
+
+
Robin Watts <Robin.Watts@artifex.com>
+51a0be1a6ac3bae2dc1b8bcdd91f58f76b9132c9
+
+
+ Sync deep colour blending with recent changes to 8 bit blending.
+
+ Release testing reveals problems with deep color blending and
+ overprint. This is because changes were made to the 8bit
+ branches of gxblend.c that weren't fully reflected in the
+ 16bit branches.
+
+ Reapply those changes here.
+
+ While we're at it, address some other minor code cleanups,
+ including keeping the ordering of parameters the same between 8
+ and 16 bit to avoid confusion in future.
+
+ The command that showed the inital problem was:
+
+ bin/gswin32c.exe -o out.psd -sDEVICE=psdcmyk16 tests_private/comparefiles/Bug695916.pdf
+
+ where the image of the Earth did not appear.
+
+base/gxblend.c
+
+
+
+2020-02-17 13:27:10 +0000
+
+
Robin Watts <Robin.Watts@artifex.com>
+b7faa941d09db8856378e45d4f5c81b5f93e5f90
+
+
+ Bug 702130: Fix JPEG memory failure problems.
+
+ The SEGV reported by Memento squeezing (which oddly is at 113600
+ for me, rather than Julian's higher number) is caused by jpeglib
+ calling 'mem_term' on something that failed to 'mem_init'.
+
+ The fix is to use gs_memory_chunk_unwrap rather than target/release,
+ and to check whether mem == cmem to see whether that actually did
+ unwrap.
+
+ This runs us into a further problem, where we are freeing the
+ custom memory descriptor using a gc memory pointer, where it was
+ allocated using a non gc one.
+
+ Rather than just changing the free to use the non gc one, we take
+ the opportunity to ensure that ALL the blocks are in non gc memory.
+ JPEGlib will take poorly to its memory being gc'd away, and none
+ of it needs to subject to gc.
+
+ Credit goes largely to Chris for this fix.
+
+base/sjpegc.c
+
+
+
+2020-02-14 18:44:53 +0000
+
+
Robin Watts <Robin.Watts@artifex.com>
+619c0231952c20cc14f0eaf603e0cb01aa937eff
+
+
+ Bug 702124 (continued): Avoid FP errors leading to empty pattern cells.
+
+ The limited accuracy of floats can cause pattern cells to appear to
+ be empty when they are not.
+
+ Avoid adding the (often large) tx and ty components in until after we
+ have calculated the width/heights.
+
+base/gsptype1.c
+
+
+
+2020-02-14 18:43:00 +0000
+
+
Robin Watts <Robin.Watts@artifex.com>
+8edb1b1e7bb84ff4598819fe078eb0ed2c4948d5
+
+
+ Bug 702124: Avoid VMerror when a pattern cell height is 0.
+
+ We detect buffer_height == 0 and take it to mean that we can't
+ get a large enough buffer for even a single scanline. Actually
+ it can mean that the pattern cell was empty, which gives a
+ spurious error.
+
+base/gxmclip.c
+
+
+
+2020-02-14 17:08:12 +0000
+
+
Julian Smith <jules@op59.net>
+6beaf42d25f3969b6dc3d8e1b1795017708000c5
+
+
+ Fix segv after memento squeeze in psdf_DCT_filter().
+
+ Fixes:
+ MEMENTO_FAILAT=117152 LD_LIBRARY_PATH=../libbacktrace/.libs ./membin/gpdl -sDEVICE=bit -o /dev/null examples/tiger.eps
+
+devices/vector/gdevpsdu.c
+
+
+
+2020-02-13 14:54:42 +0000
+
+
Julian Smith <jules@op59.net>
+8d052b3de78b8034daed23e668758c76a8d8c478
+
+
+ Fixed double free after alloc failure in gs_lib_ctx_set_icc_directory*() (found by memento).
+
+ After we've freed p_ctx->profiledir we need to set it to NULL otherwise if we
+ return an error it will be freed a second time when we close down.
+
+ Fixes:
+ MEMENTO_FAILAT=101810 LD_LIBRARY_PATH=../libbacktrace/.libs ./membin/gpdl -sDEVICE=bit -o /dev/null examples/tiger.eps
+
+base/gslibctx.c
+
+
+
+2020-02-12 11:12:37 +0000
+
+
Julian Smith <jules@op59.net>
+dbde03ca37da96a94f4b7a6f0ba22a47a7bc2cb1
+
+
+ Fixed leak on error in gs_fapi_ufst_init() (found by memento).
+
+ Fixes:
+ MEMENTO_FAILAT=22 LD_LIBRARY_PATH=../libbacktrace/.libs ./membin/gpdl -sDEVICE=bit -o /dev/null examples/tiger.eps
+
+base/fapiufst.c
+
+
+
+2020-02-13 19:48:01 +0000
+
+
Robin Watts <Robin.Watts@artifex.com>
+08695f8ccebb0d25eb2a5933ecee92281eefc1be
+
+
+ Bug 702121: PCL performance degradation
+
+ Henry chased the cause down to commit b399f84, an attempt to
+ fix Bug 700624. Looking at that code now, it has a silly typo
+ in it, that was causing it not be triggered in cases when it
+ should have been. Fixed here.
+
+base/gxpcmap.c
+
+
+
+2020-02-13 11:11:40 -0800
+
+
Robin Watts <Robin.Watts@artifex.com>
+e2cdef26db058e84c2cf4dff5f638e669f961b52
+
+
+ Alternative fix for leaks after error in gs_main_init_with_args01()
+
+ When memory squeezing gpdl, Julian found leaks in the gpdl
+ startup of the postscript interpreter when allocations failed
+ in gs_main_init_with_args01().
+
+ Here, we fix the problem by making the psitop.c layer within gpdl
+ call the appropriate shutdown code when we catch the error. This
+ moves gpdl to being consistent with other users of the gs_main
+ layer.
+
+ Memento memory squeezing around the point of failure (event 2035)
+ now shows this to be OK.
+
+ MEMENTO_SQUEEZEAT=2034 ./membin/gpdl -sDEVICE=bit -o /dev/null examples/tiger.eps
+
+gpdl/psitop.c
+
+
+
+2020-02-13 18:47:37 +0000
+
+
Robin Watts <Robin.Watts@artifex.com>
+bbecd13cc34f3dcdcedd726e7de12c988da9794a
+
+
+ Revert "Fix leaks after error in gs_main_init_with_args01() (found by memento)."
+
+ This reverts commit f35924926cb35f08be5a12ded4a00eb2f42aed3e.
+
+ When memory squeezing gpdl, Julian found leaks in the gpdl
+ startup of the postscript interpreter when allocations failed
+ in gs_main_init_with_args01().
+
+ The initial fix attempted was to make gs_main_init_with_args01()
+ closedown the interpreter on such errors. This worked for the
+ tested cases, but hid problems with non-memory related errors
+ (such as not being able to open a file specified on the command
+ line) when called by gs (rather than gpdl).
+
+ The change attempted resulted in gs_main_finit() being called
+ twice as gs (and other users of the gs_main APIs) expect to have
+ to call gs_main_finit() to shut down after gs_main_init_with_args01()
+ returns an error code.
+
+ The real problem is that gpdl is not doing this in the same way as
+ other callers.
+
+ The gs_main layer has existed for donkeys years, so it's probably
+ best that we just take it as fixed and don't require callers to
+ start changing stuff now.
+
+ Accordingly, I am reverting the attempted fix here, and will
+ try a different fix for it that only affects gpdl shortly.
+
+psi/imainarg.c
+
+
+
+2020-02-11 16:48:24 -0800
+
+
Ray Johnston <ray.johnston@artifex.com>
+68be233f36feb045e442a18c4f4e4d2ced52b197
+
+
+ Change to improve memory and speed (Bug 702099)
+
+ As described in the bug, the patch to disable high-level images in
+ pattern-clists when Interpolate is true is no longer needed (hasn't
+ been since 2015), and it causes the memory and performance problems
+ with this type of file.
+
+base/gxclimag.c
+
+
+
+2020-02-12 15:10:54 -0800
+
+
Michael Vrhel <michael.vrhel@artifex.com>
+2dea734a6184668511758fe1929a1d3166df85b6
+
+
+ Bug 702114 non-isolated group in knockout group
+
+ Make sure to use the parents backdrop as our backdrop when we
+ push a non-isolated group that resides in a knockout group.
+ Note though that this apparently is not the case if we are
+ constructing a soft mask.
+
+base/gdevp14.c
+
+
+
+2020-02-12 10:54:47 -0800
+
+
Michael Vrhel <michael.vrhel@artifex.com>
+9af467b71198710bc42509e00b730a716b8e4828
+
+
+ Bug 702113 Softmask with transfer function
+
+ In a couple spots we look at the value of the background value
+ of the softmask to decide if we really need the softmask in
+ areas outside the group bounding box. These checks were not
+ considering the impact of the transfer function.
+
+base/gdevp14.c
+
+
+
+2020-02-12 11:37:33 +0000
+
+
Chris Liddell <chris.liddell@artifex.com>
+9557cdc0b00894bc4c2c1fccb1f19c33fd7eb499
+
+
+ Dates etc for 9.51 RC1
+
+Makefile.in
+base/gscdefs.h
+doc/DLL.htm
+doc/Deprecated.htm
+doc/Develop.htm
+doc/Devices.htm
+doc/Drivers.htm
+doc/Fonts.htm
+doc/History9.htm
+doc/Install.htm
+doc/Internal.htm
+doc/Language.htm
+doc/Lib.htm
+doc/Make.htm
+doc/News.htm
+doc/Ps-style.htm
+doc/Ps2epsi.htm
+doc/Psfiles.htm
+doc/Readme.htm
+doc/Release.htm
+doc/SavedPages.htm
+doc/Source.htm
+doc/Unix-lpr.htm
+doc/Use.htm
+doc/VectorDevices.htm
+doc/WhatIsGS.htm
+doc/gs-vms.hlp
+doc/sample_downscale_device.htm
+doc/subclass.htm
+doc/thirdparty.htm
+man/dvipdf.1
+man/gs.1
+man/gslp.1
+man/gsnd.1
+man/pdf2dsc.1
+man/pdf2ps.1
+man/pf2afm.1
+man/pfbtopfa.1
+man/printafm.1
+man/ps2ascii.1
+man/ps2epsi.1
+man/ps2pdf.1
+man/ps2pdfwr.1
+man/ps2ps.1
+psi/winint.mak
+
+
+
+2020-02-11 11:11:47 -0800
+
+
Ray Johnston <ray.johnston@artifex.com>
+ad317d8d436f3ae282597631464313666451747f
+
+
+ Fix bug 702060: clip_transform_pixel_region was ignoring the 'transpose' flag.
+
+base/gxclip.c
+
+
+
+2020-02-12 00:24:25 +0800
+
+
Sebastian Rasmussen <sebras@gmail.com>
+1c6bfa12cccb726974aa1c3ad5c4887600f7331d
+
+
+ Update jbig2dec stuff for 0.18 release.
+
+jbig2dec/CHANGES
+jbig2dec/jbig2.h
+jbig2dec/jbig2dec.1
+
+
+
+2020-02-12 00:27:41 +0800
+
+
Sebastian Rasmussen <sebras@gmail.com>
+70f094ae147afdbbcfcff3351f3ec13db6a84c42
+
+
+ jbig2dec: Sync memento from ghostscript.
+
+jbig2dec/memento.c
+
+
+
+2020-02-10 16:19:49 +0000
+
+
Julian Smith <jules@op59.net>
+f35924926cb35f08be5a12ded4a00eb2f42aed3e
+
+
+ Fix leaks after error in gs_main_init_with_args01() (found by memento).
+
+ Fixes various memento failures starting with:
+ MEMENTO_FAILAT=2034 LD_LIBRARY_PATH=../libbacktrace/.libs ./membin/gpdl -sDEVICE=bit -o /dev/null examples/tiger.eps
+
+psi/imainarg.c
+
+
+
+2020-02-10 16:11:31 +0000
+
+
Julian Smith <jules@op59.net>
+2704441705cb115b352350252480dbb2505d9767
+
+
+ Memento: show backtrace when we start failing.
+
+base/memento.c
+
+
+
+2020-02-10 16:11:06 +0000
+
+
Julian Smith <jules@op59.net>
+c736329f36c2258011162c97eec59818fb6f147e
+
+
+ Fixed segv after alloc failure in ps_impl_allocate_interp_instance() (found by memento).
+
+ Fixes:
+ MEMENTO_FAILAT=2017 LD_LIBRARY_PATH=../libbacktrace/.libs ./membin/gpdl -sDEVICE=bit -o /dev/null examples/tiger.eps
+
+gpdl/psitop.c
+
+
+
+2020-02-10 16:00:29 +0000
+
+
Julian Smith <jules@op59.net>
+f1cb9e832424a1185fe081e2238b2ba42f805318
+
+
+ Fixed leak in xps_impl_allocate_interp_instance() (found by memento).
+
+ Fixes:
+ MEMENTO_FAILAT=2011 LD_LIBRARY_PATH=../libbacktrace/.libs ./membin/gpdl -sDEVICE=bit -o /dev/null examples/tiger.eps
+
+xps/xpstop.c
+
+
+
+2020-02-10 15:40:01 +0000
+
+
Julian Smith <jules@op59.net>
+59dba1a5a0f2d45c18249697b3429c250ae7311a
+
+
+ Fixed segv on error in gs_cspace_new_scrgb() (found by memento).
+
+ Fixes:
+ MEMENTO_FAILAT=2006 LD_LIBRARY_PATH=../libbacktrace/.libs ./membin/gpdl -sDEVICE=bit -o /dev/null examples/tiger.eps
+
+base/gscspace.c
+
+
+
+2020-02-10 15:30:18 +0000
+
+
Julian Smith <jules@op59.net>
+95378885483aa68969417c84e59be4eb1ad0f05e
+
+
+ Fixed segv on error in gsicc_set_iccsmaskprofile() (found by memento).
+
+ Fixes:
+ MEMENTO_FAILAT=1951 LD_LIBRARY_PATH=../libbacktrace/.libs ./membin/gpdl -sDEVICE=bit -o /dev/null examples/tiger.eps
+
+base/gsicc_manage.c
+
+
+
+2020-02-10 12:21:24 +0000
+
+
Julian Smith <jules@op59.net>
+691d2e37fc9f06bf6fb0ed009a880f4d40a86f48
+
+
+ Fixed leak on error in xps_impl_allocate_interp_instance() (found by memento).
+
+ Fixes:
+ MEMENTO_FAILAT=1938 LD_LIBRARY_PATH=../libbacktrace/.libs ./membin/gpdl -sDEVICE=bit -o /dev/null examples/tiger.eps
+
+xps/xpstop.c
+
+
+
+2020-02-10 11:40:59 +0000
+
+
Julian Smith <jules@op59.net>
+450eb91a0af4901b1f9a259cc69d8976113cbadb
+
+
+ Fix error handling in xps_impl_allocate_interp_instance() (detected by memento).
+
+ Handle error from gs_font_dir_alloc(), and moved all cleanup to end.
+
+ Fixes:
+ MEMENTO_FAILAT=1937 LD_LIBRARY_PATH=../libbacktrace/.libs ./membin/gpdl -sDEVICE=bit -o /dev/null examples/tiger.eps
+
+xps/xpstop.c
+
+
+
+2020-02-10 11:21:37 +0000
+
+
Julian Smith <jules@op59.net>
+33130c86c4d46bafe7613e3b4b114481c30d17ad
+
+
+ Fix segv in gsicc_alloc_link() error handling (detected by memento).
+
+ Set up placeholder values in *result before trying to set result->lock, so that
+ gs_free_object() works without segv.
+
+ Fixes:
+ MEMENTO_FAILAT=431 LD_LIBRARY_PATH=../libbacktrace/.libs ./membin/gpdl -sDEVICE=bit -o /dev/null examples/tiger.eps
+
+base/gsicc_cache.c
+
+
+
+2020-02-07 19:01:01 +0000
+
+
Julian Smith <jules@op59.net>
+da2759cd587e2a67134db469cb143643469f09f5
+
+
+ Fix leak on error in gsicc_profile_new() (detected by memento).
+
+ Fixes:
+ MEMENTO_FAILAT=369 ./membin/gpdl -sDEVICE=bit -o /dev/null examples/tiger.eps
+
+base/gsicc_manage.c
+
+
+
+2020-02-07 19:38:55 +0000
+
+
Robin Watts <Robin.Watts@artifex.com>
+0ddc921923d36c19480223f3d92c19aee03df961
+
+
+ Pull in a couple of memento fixes from Sebastian.
+
+base/memento.c
+
+
+
+2019-09-29 16:59:29 +0200
+
+
Sebastian Rasmussen <sebras@gmail.com>
+df70f85ce3f5dd300b5ce75b348e78dff528c2f4
+
+
+ jbig2dec: Invite user to define MEMENTO in CFLAGS.
+
+ Previously we invited the user to define MEMENTO in jbig2_priv.h.
+ The problem with doing that is that the flag is enabled for all .c
+ modules, except memento.c. This implies that while memento's wrapper
+ functions are called, the versions being called are the ones that
+ have memento features disabled.
+
+ Setting CFLAGS=-DMEMENTO while configuring/building is the better
+ option as CFLAGS will affect all .c modules.
+
+jbig2dec/jbig2_priv.h
+
+
+
+2019-09-29 16:55:51 +0200
+
+
Sebastian Rasmussen <sebras@gmail.com>
+20009c9e35eca1d66f0c1d2fadb9956304692156
+
+
+ jbig2dec: Fix compilation issues with memento build.
+
+jbig2dec/memento.c
+
+
+
+2019-10-17 12:11:54 +0200
+
+
Sebastian Rasmussen <sebras@gmail.com>
+5fde8364de28bc44965a57f1dd0190c0966bccb4
+
+
+ jbig2dec: Fix memento interfering with allocator callback names.
+
+ Memento changes the names of the callbacks when they are set, but
+ not when the structure is defined in the command line tool. Work
+ around this by including memento prior to the structure being
+ defined so that memento changes the names in both places.
+
+ The alternative would be changing the jbig2dec API yet again.
+
+jbig2dec/jbig2dec.c
+
+
+
+2020-02-08 03:18:09 +0800
+
+
Sebastian Rasmussen <sebras@gmail.com>
+22665fbc3ff92c46952b07fcb99b8102e0fabde5
+
+
+ jbig2dec: Sync memento from ghostscript.
+
+jbig2dec/memento.c
+jbig2dec/memento.h
+
+
+
+2020-01-11 01:51:19 +0100
+
+
Sebastian Rasmussen <sebras@gmail.com>
+ebe1bfef330f4568c6ef394571cf800604dff277
+
+
+ Bug 702097: Import security fixes for OpenJPEG.
+
+ Upstream has merged two security fixes. At the moment there is
+ no new upstream release, so we merge the two fixes downstream:
+
+ * Fix for upstream issue #1228, registered as CVE-2020-6851:
+ https://github.com/uclouvain/openjpeg/commit/024b8407392cb0b82b04b58ed256094ed5799e04
+ "opj_j2k_update_image_dimensions(): reject images whose coordinates are beyond INT_MAX (fixes #1228)"
+
+ * Fix for upstream issue #1231, registered as CVE-2020-8112:
+ https://github.com/uclouvain/openjpeg/commit/05f9b91e60debda0e83977e5e63b2e66486f7074
+ "opj_tcd_init_tile(): avoid integer overflow
+ That could lead to later assertion failures.
+ Fixes #1231 / CVE-2020-8112"
+
+openjpeg/src/lib/openjp2/j2k.c
+openjpeg/src/lib/openjp2/tcd.c
+
+
+
+2020-02-06 11:47:48 +0000
+
+
Julian Smith <jules@op59.net>
+c6d8dcf8448235895759fb7e3268105c4092a194
+
+
+ clusterpush.pl: exclude all *-bin and *-obj directories.
+
+toolbin/localcluster/clusterpush.pl
+
+
+
+2020-02-07 14:27:12 +0000
+
+
Julian Smith <jules@op59.net>
+e507f7e272cfe94099ed6a395a3fa584d56fd3aa
+
+
+ Fixed memento leak when squeezed in gs_main_init1().
+
+ Fixes leaked blocks in:
+ MEMENTO_FAILAT=202 ./membin/gs -sDEVICE=bit -o /dev/null examples/tiger.eps
+
+ Also in context_state_alloc(), ensure pcst->memory is valid even if we return
+ an error.
+
+psi/icontext.c
+psi/imain.c
+
+
+
+2020-02-07 12:33:56 +0000
+
+
Robin Watts <Robin.Watts@artifex.com>
+0e9f7fc153d92cbed9a4f1fcf60778176888625d
+
+
+ Bug 702100: Followup: Fix arch.h for OS-X to include size_t changes.
+
+ Our fix for Bug 702100 meant we were using newly defined size_t
+ limits from arch.h. While these were generated correctly for
+ things using arch.h, they were missed out of one of the
+ pregenerated files in the arch directory, namely the OS-X one.
+
+ Add those back here.
+
+ Thanks to Peter Skarpetis for reporting this.
+
+arch/osx-x86-x86_64-ppc-gcc.h
+
+
+
+2020-02-06 15:08:55 +0000
+
+
Robin Watts <Robin.Watts@artifex.com>
+e193b5dc14a6029b2648a5712c154499d819186f
+
+
+ Bug 702100: Fix memory limit to be based on size_t not long.
+
+ I missed this when converting from longs to size_ts. This
+ resulted on different maximums for linux and windows 64bit
+ builds, due to the different size of longs on those two
+ platforms.
+
+ Update the debugging printfs to make use of the PRIdSIZE macros
+ rather than truncating.
+
+base/gsalloc.c
+base/gsmalloc.c
+base/std.h
+
+
+
+2020-02-06 14:39:10 +0000
+
+
Robin Watts <Robin.Watts@artifex.com>
+3ac7d3c0ed5a339c8e2fe25c43feac92b9813b1b
+
+
+ Sync memento between mupdf and gs.
+
+base/memento.c
+
+
+
+2020-02-06 13:02:33 +0000
+
+
Robin Watts <Robin.Watts@artifex.com>
+d185c5afea23e937edda368491d382650001f5b4
+
+
+ Memento: Remove MEMENTO_SQUEEZE_BUILD from the code.
+
+ Rather than relying on building with MEMENTO_SQUEEZE_BUILD,
+ instead nobble the pthread based threading functions themselves
+ to check Memento_squeezing in MEMENTO builds.
+
+ a) This means less pollution of the code overall as the changes
+ are restricted to just one module.
+
+ b) This will stop me forgetting to build with MEMENTO_SQUEEZE_BUILD
+ and not understanding the results - EVERY SINGLE TIME.
+
+ c) It means a single MEMENTO build can be used both for
+ memory squeezing (of single-threaded runs) and normal memento
+ testing (of both single- and multi-threaded runs).
+
+base/gp_psync.c
+base/gsicc_cache.c
+base/gsicc_lcms2.c
+base/gsicc_lcms2mt.c
+base/gsicc_manage.c
+base/gslibctx.c
+base/gsmalloc.c
+base/memento.c
+base/memento.h
+base/sjpx_openjpeg.c
+psi/imain.c
+
+
+
+2020-02-06 11:06:38 +0000
+
+
Julian Smith <jules@op59.net>
+f40471ba6312a89cda81c23c1690dfbdbbc2722f
+
+
+ Fix MEMENTO_FAILAT=352 in gsicc_cache_new()
+
+ Ensure that result's fields are initialised before we attempt to allocate
+ result->lock. Otherwise if the latter fails and we attempt to clean up,
+ icc_linkcache_finalize() will get a SEGV.
+
+base/gsicc_cache.c
+
+
+
+2018-10-31 20:22:11 +0100
+
+
Sebastian Rasmussen <sebras@gmail.com>
+37fae2058eb7216c60801dfdbd5b9c987446866a
+
+
+ Re-apply fix for bug 700088 lost in openjpeg 2.3.1 upgrade.
+
+ The original commit message read:
+
+ Bug 700088: Report error if all wanted J2K components are not decoded.
+
+ Ghostscript used to attempt to use even the undecoded components.
+ The source code for upstream's opj_decompress tool avoided this by
+ a workaround along with a comment indicating that this ought to be
+ done in the library (so all clients, e.g. Ghostscript will benefit
+ from it). With this commit the library will error out if not all
+ requested components are successfully decoded. Thus Ghostscript
+ will no longer crash.
+
+ Reported in https://github.com/uclouvain/openjpeg/issues/1158
+ sent upstream in https://github.com/uclouvain/openjpeg/pull/1164
+ and finally committed in e66125fe260deee49fdf6e9978d9bd29871dd5bb
+
+openjpeg/src/lib/openjp2/j2k.c
+
+
+
+2020-02-05 11:53:57 +0000
+
+
Robin Watts <Robin.Watts@artifex.com>
+56e3ed1abc84ef0c8a718b458a5734b016e7b8cc
+
+
+ jbig2dec: Simplify jbig2_arith_decode.
+
+ Previously we passed in an int * to get errors back, and
+ used the return code for 0 or 1. Now we use the return code
+ for 0, 1 or -ve for error.
+
+ This saves between 1% and 2% of gs runtime for decoding
+ tests/pdf/Jbig2_042_06.pdf.
+
+jbig2dec/jbig2_arith.c
+jbig2dec/jbig2_arith.h
+jbig2dec/jbig2_arith_iaid.c
+jbig2dec/jbig2_arith_int.c
+jbig2dec/jbig2_generic.c
+jbig2dec/jbig2_refinement.c
+
+
+
+2020-02-04 11:10:41 +0000
+
+
Robin Watts <Robin.Watts@artifex.com>
+db24ea3579f2fb6feef7eef98b7163ce6879ef98
+
+
+ Bug 702068 continued: Revised handling of images within smasks.
+
+ In an earlier commit, (Jan 27th, f6f8b8de) I updated the gridfitting
+ logic so that Images within SMask definitions were gridfitted. This
+ solved the original complaint.
+
+ Sadly, this caused problems with other things (thanks to Ken for
+ spotting them). Files sometimes use an image in an smask, and then
+ another "matching" image masked by that smask. The upshot of my
+ new code was that we'd treat them differently. 'Stretching' the
+ SMasked image, and not stretching the underlying image could cause
+ moire effects.
+
+ The solution, implemented here, is to apply gridfitting to images
+ both in SMask definitions and usage.
+
+base/gdevp14.c
+base/gdevp14.h
+base/gxdevsop.h
+base/gxipixel.c
+
+
+
+2020-02-03 11:06:48 +0000
+
+
Robin Watts <Robin.Watts@artifex.com>
+93ff4543685f8692db40a8911ad4605124b3433c
+
+
+ jbig2dec: Fix OSS-Fuzz issue 20493
+
+ The maximum x gbat works out as 126, where GBW is 32.
+ This makes right = GBW - gmax huge. Clip the value to
+ avoid problems.
+
+ Thanks for OSS-Fuzz for reporting.
+
+jbig2dec/jbig2_arith.c
+
+
+
+2020-02-04 11:33:02 +0000
+
+
Ken Sharp <ken.sharp@artifex.com>
+a8572b92d6839abc60ecce6fae7a23b8b3a6bbbd
+
+
+ Fix test of uninitialised value in halftone screens
+
+ This is a result of bug #702077 and commit :
+ http://git.ghostscript.com/?p=ghostpdl.git;a=commit;h=f434497caaf2624caabbbc62f36b745e096e95b5
+
+ There's nothing wrong with the commit, but a 64-bit release build on
+ Linux, using the customer file and 720 dpi, resulted in an infinite
+ loop. Valgrind suggested this was due to an uninitialised variable.
+
+ The problem here was that the code assumed that the first iteration
+ looking for the best match would succeed. However, because the halftone
+ has a Frequency of 1 the value of 'W' exceeded the maximum of a short,
+ which led to use running round the loop without finding a valid halftone.
+
+ Because we didn't find a valid halftone we would not set phcp to the
+ values in 'p' (which is set by gx_compute_cell_values) and so we would
+ test phcp->C which was uninitialised, and could end up going round the
+ loop retrying with different values of rt endlessly.
+
+ This commit simply short-circuits this by checking to see if we have
+ at least one valid match (rt is not 1) or that we have set phcp to p
+ (better is true). If we have done neither of these, then exit
+ immediately with an error to prevent testing phcp->C.
+
+base/gshtscr.c
+
+
+
+2020-02-03 16:29:59 +0000
+
+
Julian Smith <jules@op59.net>
+b439a0a33f637254a831b3e76525002df3d41774
+
+
+ jbig2dec: Fix OSS-Fuzz issue 20505.
+
+ Previous code could overflow if w >= 2^32 - 32, breaking behaviour of 'if'
+ statements and causing incorrect behaviour (including assert failures).
+
+ The fix is due to sebras - change expressions such as (x + 32 > w) to (w - x <
+ 32) to avoid overflow for very large w. (We know at all times that x <= w.)
+
+ Thanks for OSS-Fuzz for reporting.
+
+jbig2dec/jbig2_mmr.c
+
+
+
+2020-02-03 11:06:48 +0000
+
+
Robin Watts <Robin.Watts@artifex.com>
+ece7a0b952d5dbca2a04682f38199444cb1ea16f
+
+
+ jbig2dec: Fix OSS-Fuzz issue 20493
+
+ The maximum x gbat works out as 126, where GBW is 32.
+ This makes right = GBW - gmax huge. Clip the value to
+ avoid problems.
+
+ Thanks for OSS-Fuzz for reporting.
+
+jbig2dec/jbig2_generic.c
+
+
+
+2020-02-03 10:54:09 +0000
+
+
Ken Sharp <ken.sharp@artifex.com>
+f434497caaf2624caabbbc62f36b745e096e95b5
+
+
+ PDF interpreter - don't abort stream on halftone errors
+
+ Bug #702077 "Rangecheck error @720 dpi in sethalftone with SimpleDot"
+
+ The supplied PDF file has a legal but stupid Halftone, it has a type 5
+ halftone that does not specify a child halftone for each ink, for those
+ inks that it does specify it uses the same halftone for all of them, and
+ the child haftone has a /Frequency and /Angle of 1.
+
+ Chris suggests this is a Harlequin Rip specific halftone which is
+ intended not to be used, but to be replaced by something in the rip. Of
+ course this means that the PDF file is now device-specific because any
+ conforming PDF consumer which halftones should use the crazy halftone
+ in the file which will lead to terrible output.
+
+ However, poor quality isn't the complaint here, its the fact that we
+ simply cannot create a halftone tile large enough to produce a 1 lpi
+ screen at 720 dpi, so we throw an error.
+
+ I believe this is a reasonable error, so I'm not going to try and
+ change it. Instead this commit runs sethalftone in a stopped context
+ and, if it fails, does not abort the current content stream but instead
+ emits a warning and carries on.
+
+Resource/Init/pdf_draw.ps
+
+
+
+2020-02-03 10:15:30 +0000
+
+
Robin Watts <Robin.Watts@artifex.com>
+6a32a890b95355165cbaf79ff679c2f774b41d26
+
+
+ Update msvc.mak to cope with new nmake version.
+
+psi/msvc.mak
+
+
+
+2020-01-30 19:08:55 -0800
+
+
Ray Johnston <ray.johnston@artifex.com>
+a3bc57e11d62227a73e9d86d804966740a6a2196
+
+
+ Fix SEGV with -ZB debug in gx_image1_plane_data
+
+ Discovered while debugging. If the buffer is used "in place" without
+ copying, the 'buffer' pointer in the debug loop would be NULL. Instead
+ use the penum->buffer.
+
+base/gxidata.c
+
+
+
+2020-01-29 15:34:58 +0000
+
+
Robin Watts <Robin.Watts@artifex.com>
+1c5a25063d6041902442334f633840bd8660451e
+
+
+ Further optimisations to jbig2_decode_generic functions.
+
+ Carry 'window' of pixel data across scanlines, and read
+ samples from it.
+
+ Write pixel data back in whole bytes rather than single bits.
+ Sadly, for cases where the adaptive pixels are non-standard we
+ need to write back after every pixel in case the adaptive
+ pixels read from it.
+
+ Profiling shows the time spent in the hotspot with jbig2_042_08.pdf
+ drops from 56% to 43% with this optimisation.
+
+ Particular thanks to Sebastian for spotting various issues with
+ this.
+
+jbig2dec/jbig2_generic.c
+
+
+
+2020-01-29 15:21:53 +0000
+
+
Robin Watts <Robin.Watts@artifex.com>
+0e84a5f7ca660af4de1afb5bce79f6262b44ebd1
+
+
+ Solve warnings in jbig2_image.h.
+
+ Move some static inlines into the only file they are called
+ from rather than having them in the header.
+
+jbig2dec/jbig2_generic.c
+jbig2dec/jbig2_image.h
+
+
+
+2020-01-30 09:39:40 +0000
+
+
Ken Sharp <ken.sharp@artifex.com>
+e852e56f0413d5ecb70a83fc03d78ad4a0561433
+
+
+ More 'trailing white space' fixes.
+
+base/gxblend.c
+
+
+
+2020-01-30 09:12:13 +0000
+
+
Ken Sharp <ken.sharp@artifex.com>
+97868a9e6c787ea988f43952ae5d4236e142db13
+
+
+ Fix trailing white spaces in a number of places.
+
+ Since I use the Git commit hooks to verify no white space problems I
+ can't merge master into the pdfi branch without first fixing these.
+
+base/gp_unifs.c
+base/gscolor2.c
+base/gscspace.c
+base/gsovrc.c
+base/gxblend.c
+base/gxccache.c
+base/gxclthrd.c
+contrib/gdevlx32.c
+
+
+
+2020-01-29 15:10:06 +0000
+
+
Julian Smith <jules@op59.net>
+3b2ae21ca594934728f623667db1a002286193ea
+
+
+ Fix plane_strip_copy_rop() to use correct color depth when processing the plane.
+
+ Temporarily change mdev->color_info.depth to mdev->planes[plane].depth
+ so that things work when we process the plane. E.g. this fixes bug where
+ mem_gray8_rgb24_strip_copy_rop() was overwriting into the line_ptrs[] array.
+
+ Fixes segv in:
+ ./bin/gs -sOutputFile=foo -dGraphicsAlphaBits=4 -dTextAlphaBits=4 -dMaxBitmap=10000 -sDEVICE=psdrgb -r300 -Z: -sDEFAULTPAPERSIZE=letter -dNOPAUSE -dBATCH -K2000000 -dClusterJob -dJOBSERVER ../fts_27_2709.pdf
+
+base/gdevmpla.c
+
+
+
+2020-01-27 15:50:44 +0000
+
+
Robin Watts <Robin.Watts@artifex.com>
+f6f8b8de526266eebd850e43bf1d0037b6f62e4c
+
+
+ Bug 702068: Fix 'cracks' appearing around transparently blended regions.
+
+ As part of rendering SMasks, we take the bbox for the region, and round
+ it up to make the buffer in pdf14. If (as is frequently the case) the
+ SMask contents are an image, the PS rendering of that image can result
+ in it rounding DOWN (due to "any part of a pixel" vs "pixel centre
+ covered"). This can result in 'cracks' around the edge of smasked
+ groups.
+
+ The fix, implemented here, is to extend the logic that "gridfits"
+ images within pattern accumulator to also cover smasks.
+
+ To make this work we add a new gx_dev_spec_op to detect whether we are
+ in an smask definition.
+
+base/gdevp14.c
+base/gdevp14.h
+base/gxdevsop.h
+base/gxipixel.c
+
+
+
+2020-01-29 12:40:14 +0000
+
+
Robin Watts <Robin.Watts@artifex.com>
+e22376d9226b02ac8cb7951264dae2f3c1bc0b7f
+
+
+ jbig2dec: Fix OSS-Fuzz issue 20358
+
+ Avoid a signed/unsigned comparison which was implicitly casting
+ gmax=-1 to unsigned, and hence making right larger than it should
+ have been.
+
+ Apply similar fixes to equivalent places in the code.
+
+jbig2dec/jbig2_generic.c
+
+
+
+2020-01-29 11:00:18 +0000
+
+
Robin Watts <Robin.Watts@artifex.com>
+dc48809733f2eec9ab96c012f62c9dd3a7c06c90
+
+
+ Tweak stdpre.h's definition of inline.
+
+ Ensure it's actually set when possible, in particular for
+ VS.
+
+base/stdpre.h
+
+
+
+2020-01-28 17:54:28 +0000
+
+
Robin Watts <Robin.Watts@artifex.com>
+2450ea4feb89996e1107bb79d44a049bab5b971e
+
+
+ MSVC makefile tweaks for VS2019.
+
+ Spot a new version of nmake, as supplied with the latest version
+ of the platform tools.
+
+ Cope with both Community and Professional versions of VS2019.
+
+psi/msvc.mak
+
+
+
+2020-01-29 10:00:39 +0000
+
+
Ken Sharp <ken.sharp@artifex.com>
+cb456c92a550e1af70a4e268b2f5b02f2df5b8c6
+
+
+ Fix jbig2dec compilation when inline is not defined.
+
+ VS 2008 defines __inline but not inline, later versions of Visual Studio
+ do define inline, but apparently also permit __inline (presumably for
+ backwards compatibility).
+
+ Since we now use inline for performance purposes in jbig2_image.h its
+ vital that inline is defined. Here we modify the win32 config file to
+ define inline in terms of __inline for VS 2008 and above, unless inline
+ is already defined in which case we use it as is. For VS 2005
+ Ghostscript defines inline as nothing, so we do the same.
+
+ Finally, add a last-ditch definition of inline (as nothing) to jbig2.h
+ to cover any build environment where inline is still undefined, so that
+ the code will at least compile.
+
+jbig2dec/config_win32.h
+jbig2dec/jbig2.h
+
+
+
+2020-01-29 05:04:34 +0800
+
+
Sebastian Rasmussen <sebras@gmail.com>
+440dca503ee663290227334415f0c482e87b4ad7
+
+
+ Bug 702041: Recognize pre-multiplied alpha when decoding with OpenJPEG.
+
+ The bug's attached PDF has an annotation where the apperance stream consists of
+ a JPEG2000 image with a softmask embedded in the image data (SMaskInData is
+ non-zero). The JPEG2000 bitstream provides all three RGB channels and has both
+ non-pre-multiplied and pre-multiplied alpha. The last alpha channel defined in
+ the bitstream happens to be the pre-multiplied alpha. Having more than than a
+ single alpha channel is not allowed according to PDF 2.0 if SMaskInData is
+ non-zero. So the JPEG2000 bitstream (and by inference the PDF file) is arguably
+ broken.
+
+ Adobe Acrobat renders the annotation as a mostly transparent image consisting
+ of a few hand-scribbled lines, but Ghostscript renders the annotation as a
+ solid black square. So a workaround to match Acrobat is needed even if the PDF
+ is broken.
+
+ OpenJPEG hides that the JPEG2000 bitstream has multiple alpha channels by
+ discarding all alpha channels except the last one defined, so Ghostscript can
+ only get at the pre-multipled alpha channel. Previously the OpenJPEG glue layer
+ therefore didn't recognize any alpha channels at all. The PDF interpreter has
+ its own JPX cdef header decoder in Resources/Init/pdf_draw.ps and it _did_
+ recognize that the file contained an alpha channel. This mismatch between the
+ OpenJPEG glue layer and the PDF interpreter meant that no alpha channel data
+ was propagated to the transparency compositor. It assumed that the alpha
+ channel was fully opaque and because the RGB channels are all zero the
+ annotation was rendered as a solid black square.
+
+ Now that pre-multiplied alpha channels are recognized both in the OpenJPEG glue
+ layer and in the PDF interpreter the pre-multiplied alpha channel data which
+ contains the hand-scribbling is propagated to the transparency compositor which
+ therefore can render the annotation similar to Acrobat.
+
+base/sjpx_openjpeg.c
+
+
+
+2020-01-28 10:48:34 +0000
+
+
Robin Watts <Robin.Watts@artifex.com>
+0e529d11fa270f8a40ebc2512cfb19cf8d3b0e50
+
+
+ Remove "STANDARD_SLOW_VERSION" define from openjpeg makefile.
+
+ This was added (apparently) to workaround a bug causing SEGVs
+ in the optimised code. Sadly, this also halves the speed of the
+ code.
+
+ We have updated openjpeg since, so it shouldn't be necessary.
+ Tests with the cluster seem to bear this out.
+
+base/openjpeg.mak
+
+
+
+2020-01-28 17:35:37 +0000
+
+
Robin Watts <Robin.Watts@artifex.com>
+9156c43b44b64c3928d2ef20f15d56bd44c6f897
+
+
+ gpdl: Update j2k reading code to spot modified header.
+
+ The JP2K spec says we should spot "jP ", where previously
+ we'd only been spotting "jP\1a\1a". No idea where that
+ latter one came from, but presumably we've been seeing it
+ in some files. Make the code cope with both.
+
+gpdl/jp2ktop.c
+
+
+
+2020-01-27 11:05:38 -0800
+
+
Ray Johnston <ray.johnston@artifex.com>
+85cf3b3a7befbed4811d9460dc6a4637f929f8ab
+
+
+ Fix bug 702065: Multiple rendering threads run slower.
+
+ The image_render_color_DeviceN would remap colors using gx_remap_ICC
+ which would get the link from the icclink_cache every time. This would
+ temporarily lock the mutex for the cache which apparently caused delays.
+
+ This would only occur in devices that support spot colors, when the page
+ used transparency due to gx_device_uses_std_cmap_procs returning false in
+ this case.
+
+ The change refactors gx_remap_ICC to produce gx_remap_ICC_with_link that
+ can be used by image_render_color_DeviceN with an icc_link that is retained
+ in the image enum. The gs_image_class_4_color function is changed to get the
+ icc_link for the image_enum before checking the for std cmap procs so that
+ it will be available during image_render_color_DeviceN.
+
+base/gsicc.c
+base/gsicc.h
+base/gxicolor.c
+
+
+
+2020-01-28 10:47:04 +0000
+
+
Robin Watts <Robin.Watts@artifex.com>
+fe9e85d882ade3ebd55c4da0baf1f10d4bb8542d
+
+
+ Remove stray defines from CAL makefile.
+
+ When I created the CAL makefile, I copied bits of it from elsewhere.
+ I obviously copied in a few stray defines. Remove those.
+
+base/cal.mak
+
+
+
+2020-01-27 13:07:00 -0800
+
+
Ray Johnston <ray.johnston@artifex.com>
+ad285b8ae3e1871db43d35e87f49e1d099eaf047
+
+
+ Fix devn code that failed to check for allocation returning NULL
+
+ Discovered while fixing Coverity CID 353647. pdf14_spot_get_color_comp_index
+ failed to check, and since that code was copied from code in this file,
+ it had the same problem.
+
+base/gdevdevn.c
+
+
+
+2020-01-27 13:01:28 -0800
+
+
Ray Johnston <ray.johnston@artifex.com>
+6efb69c6ae71b10b492ca194f92bfae17310c481
+
+
+ Fix Coverity ID 353647: Possible out of bounds access
+
+ The testing where separations were added in pdf14_spot_get_color_comp_index
+ was wrong since it failed to take into account the process colorants.
+
+ Also I found that the allocation of sep_name was not checked for NULL which
+ could lead to dreferencing location 0 if the allocation failed. Note that
+ there were other instances of this in gdevdevn.c which will be fixed in a
+ separate commit.
+
+base/gdevp14.c
+
+
+
+2020-01-23 11:19:45 -0800
+
+
Ray Johnston <ray.johnston@artifex.com>
+089bff145f277d66afe4a3d9e19441aeccaed235
+
+
+ Fix bug 702062: Opacity being applied twice.
+
+ If an image has an SMask, the alpha was applied twice, during painting of
+ the transparency group and again when the transparencygroup was popped.
+ Thanks to Michael Vrhel for the analysis and suggested cure.
+
+ If the device has PreserveSMask (e.g., pdfwrite) the SMask will be processed
+ by the device and we should not push the group, nor change the opacity.
+
+Resource/Init/pdf_draw.ps
+
+
+
+2020-01-27 10:12:24 -0800
+
+
Robin Watts <Robin.Watts@artifex.com>
+17411adec88c3a846c10cb583cb261f50ca878d6
+
+
+ Fix OSS-Fuzz issue 20332: buffer overflow in jbig2_image_compose.
+
+ With extreme values of x/y/w/h we can get overflow. Test for this
+ and exit safely.
+
+ Thanks for OSS-Fuzz for reporting.
+
+jbig2dec/jbig2_image.c
+
+
+
+2020-01-23 14:45:15 +0000
+
+
Robin Watts <Robin.Watts@artifex.com>
+430b6a3eacd9648d029887081e99b3a3f0bba3c7
+
+
+ Further optimisation to jbig2_decode_generic_template0_TPGDON.
+
+ When the "standard" values for gbat are used, the pixel lookups
+ simplify nicely. Optimise for this case.
+
+ This brings the time spent in this function down to 17% (from 22%)
+ for JBig2_042_08.pdf.
+
+jbig2dec/jbig2_generic.c
+
+
+
+2020-01-23 12:55:27 +0000
+
+
Robin Watts <Robin.Watts@artifex.com>
+94d8ea178fa7c36ad7b844d6d0912b6e090a35e2
+
+
+ Further optimisations to jbig2_decode_generic_template0_TPGDON.
+
+ Add a function to get a 'run' of pixels, and call that.
+
+ This takes the time spent in this function from 29% to 22% for
+ Jbig2_042_08.pdf.
+
+jbig2dec/jbig2_generic.c
+jbig2dec/jbig2_image.h
+
+
+
+2020-01-23 12:09:08 +0000
+
+
Robin Watts <Robin.Watts@artifex.com>
+124ef6a255de0a2816cce32c4fba0852eac1beb3
+
+
+ jbig2dec: Optimise jbig2_decode_generic_template0_TPGDON
+
+ Decodes of JBig2_042_08.pdf (the worst comparing file to
+ luratech in terms of time) show significant time in that
+ function (45%). With this patch that drops to 29%.
+
+jbig2dec/jbig2_generic.c
+jbig2dec/jbig2_image.h
+
+
+
+2020-01-25 19:05:09 +0000
+
+
Julian Smith <jules@op59.net>
+a2f9e74ece1690520cb77d7761cf0a5ddaa98474
+
+
+ Coverity 94484: try different spacing in coverity annotation.
+
+base/gsbitcom.c
+
+
+
+2020-01-24 18:08:22 +0000
+
+
Robin Watts <Robin.Watts@artifex.com>
+34518a9aeaece63d97eda9b802824581846e289e
+
+
+ jbig2dec: Fix whitespace issues from jbig2_image.c
+
+ Introduced because I edited this in MuPDF and copied it back across.
+
+jbig2dec/jbig2_image.c
+
+
+
+2020-01-24 18:00:13 +0000
+
+
Robin Watts <Robin.Watts@artifex.com>
+c1565a04a938408fe31c862f10ef91f9ab5a14b1
+
+
+ jbig2dec: reintroduce gcc attribute that got dropped by accident.
+
+jbig2dec/jbig2_priv.h
+
+
+
+2020-01-24 17:04:27 +0000
+
+
Julian Smith <jules@op59.net>
+a2e8041383100db54d1ea949d1b2648330f5188a
+
+
+ Coverity 94484: added some asserts derived from bits_compress_scaled()'s preconditions.
+
+ These are enough to demonstrate to the reader that Coverity 94484's
+ negative_shift warning is spurious - in_shift_initial cannot be negative.
+
+base/gsbitcom.c
+
+
+
+2020-01-23 17:12:55 +0000
+
+
Julian Smith <jules@op59.net>
+409baa5cc81b8d184dceb52c06c9a80c5dcd61d6
+
+
+ Coverity 94484: added annotation to avoid negative_shift issue.
+
+base/gsbitcom.c
+
+
+
+2020-01-22 12:24:43 +0000
+
+
Julian Smith <jules@op59.net>
+77b7cce9253863ac48ef6eb9821880250c7e1307
+
+
+ jbig2dec/jbig2_mmr.c: optimised jbig2_find_changing_element().
+
+ This was a hotspot after optimsation of jbig2_compose_image.
+
+ Rather than step through each bit in turn, we now look 8, 16 and 32-bit at a
+ time.
+
+jbig2dec/jbig2_mmr.c
+
+
+
+2020-01-23 10:39:30 +0000
+
+
Robin Watts <Robin.Watts@artifex.com>
+079117d95a3f07587624d6fd9ca388b300d0759e
+
+
+ jbig2dec: Insert missing "inline" in templating.
+
+ When using static inline templating to optimise a file, it's
+ generally best to actually use static inline, and not just
+ static.
+
+jbig2dec/jbig2_image.c
+
+
+
+2020-01-23 10:39:04 +0000
+
+
Robin Watts <Robin.Watts@artifex.com>
+f8e918106400220ffe21aef6ef1d491a42991475
+
+
+ Squash some double -> fixed warnings.
+
+base/gdevp14.c
+
+
+
+2020-01-21 18:16:37 +0000
+
+
Robin Watts <Robin.Watts@artifex.com>
+b1b3c83af56412a06eeade1ea26a4db10de923a5
+
+
+ Optimise jbig2_compose_image.
+
+ Work at byte level rather than bit level, and use static inline
+ templating methods to generate optimised versions for each
+ different operator.
+
+jbig2dec/jbig2_image.c
+jbig2dec/jbig2_priv.h
+
+
+
+2020-01-22 09:54:25 -0800
+
+
Ray Johnston <ray.johnston@artifex.com>
+bd73d0c1d0c42fd1671b56f1277b5e9f25391907
+
+
+ Bug 702052: MaxSpots > 58 caused exception with tiffsep device.
+
+ The MaxSpots devn parameter was allowed to be set according the the
+ capability of the tiffsep device (up to 60), but an array to hold the
+ equivalent CMYK parameter information was not that large. Get rid of
+ the MAX_DEVICE_PROCESS_COLORS #define and use the device num_std_colorants
+ and color_info.max_components to determine the maximum number of spot
+ colorants possible for this and PageSpotColors and update the Devices.htm
+ document to reflect the actual limit.
+
+ Also to reduce potential mischief, add range check error limits on the
+ DeviceN params based on the device component support, not the absolute max.
+
+base/gdevdevn.c
+base/gdevdevn.h
+doc/Devices.htm
+
+
+
+2020-01-22 17:53:24 +0000
+
+
Robin Watts <Robin.Watts@artifex.com>
+8d548e306ae773e228dba331e614dd4cca2c56c7
+
+
+ Bug 702057: Avoid division by zero in old scan converter.
+
+base/gxdtfill.h
+
+
+
+2020-01-21 11:19:33 -0800
+
+
Michael Vrhel <michael.vrhel@artifex.com>
+ba331d45f8e5be7723ff7bca9450f09c28910464
+
+
+ Bug 702053: Overprint precision issue
+
+ AR assumes for the purposes of overprint mode that a color
+ value that is less that 0.5/255 is essentially zero. Also
+ fix an issue in the Compatible overprint blend mode when
+ overprint mode is enabled.
+
+base/gscspace.c
+base/gxblend.c
+
+
+
+2020-01-21 17:41:52 +0000
+
+
Chris Liddell <chris.liddell@artifex.com>
+d6569b95a29bf86dbdca0bc95e095acaad003525
+
+
+ Fix segfaults in transparent patterns with -Z@
+
+ One gc'ed member (buf) of the structure for patterns with transparency was not
+ being initialised after allocation, meaning a debug build (which adds a
+ validation step to the garbager) would attempt to follow an uninitialised
+ pointer.
+
+ Adding the relevant initialisation meant almost identical code in two places,
+ so use the pre-existing function insteading of duplicating the code.
+
+ Segfaults spotted in weekly debug-Z@ test.
+
+base/gxpcmap.c
+
+
+
+2020-01-20 17:01:38 +0000
+
+
Chris Liddell <chris.liddell@artifex.com>
+a0df672b0b65110d81f1e143b2e3681d660df8d2
+
+
+ Bug 702054: Fix threaded render segfault with shared ICC profiles
+
+ When creating the devices for individual rendering threads, if we cannot share
+ the ICC profiles, we also cannot share the device icc_struct. In such a case,
+ have each rendering thread device also create its own icc_struct.
+
+base/gxclthrd.c
+
+
+
+2020-01-20 14:23:50 +0000
+
+
Julian Smith <jules@op59.net>
+df228c8f42962d696861cfc79f7b114ac887d3c4
+
+
+ Coverity 341118: avoid stat()/opendir() race in gp_enumerate_files_next_impl().
+
+base/gp_unifs.c
+
+
+
+2020-01-20 12:32:26 +0000
+
+
Julian Smith <jules@op59.net>
+30f86d215ac5abba5cfe86f0307d642274b850e4
+
+
+ Coverity 350947: check return from gdev_prn_get_bits().
+
+ Also changed some fns from void to int so we can propogate any error.
+
+contrib/gdevlx32.c
+
+
+
+2020-01-20 12:31:00 +0000
+
+
Julian Smith <jules@op59.net>
+bf2fcdc76fe0cec69e48f82e10144441b498a6b2
+
+
+ Coverity 94484: assert that shift is >= 0.
+
+ Have ran gs on 6,000 test files with some code that aborts if this shift is
+ -ve, and nothing failed.
+
+base/gsbitcom.c
+
+
+
+2020-01-17 12:58:14 +0000
+
+
Chris Liddell <chris.liddell@artifex.com>
+144077b38b07119a0a5293ff8f3fc9e44f2813e1
+
+
+ Bug 702049: Handle format strings in pipe OutputFiles
+
+ When we implemented the new file access controls, we didn't realise that piped
+ output files could include formatted strings: "|md5sum > %03d.txt", for example.
+
+ This just tweaks the gs_add_control_path() logic so it will go through both
+ the formatted string section *and* the pipe output section (rather than one or
+ the other).
+
+base/gslibctx.c
+
+
+
+2020-01-17 11:32:10 +0000
+
+
Chris Liddell <chris.liddell@artifex.com>
+bb8c4e0dbc304e404a09e9e6f9551e1e504822bb
+
+
+ Improve handling of current directory permissions
+
+ Tweak the file access permissions code to allow file names with a current
+ directory prefix to match "bare" file names - i.e. "file.ps" == "./file.ps".
+
+ This improves compatibility with the "-P" command line option, as well as
+ better matching user expectations.
+
+base/gpmisc.c
+
+
+
+2020-01-15 16:05:45 +0000
+
+
Chris Liddell <chris.liddell@artifex.com>
+05d44f258a727d86b9d7d9cbe04e43f3e741a636
+
+
+ Bug 702037: Handle empty path from PDF text clip modes
+
+ When using one of the clipping Tr modes (4 to 7), if there is no valid
+ current point (i.e. no glyphs have been drawn, and no other previous operation
+ has established a current point), Acrobat ignores the operation, whilst gs was
+ treating that (as in Postscript) as an empty clip.
+
+ We now check for a valid current point before calling clip during the ET
+ handling.
+
+Resource/Init/pdf_ops.ps
+
+
+
+2020-01-16 09:33:47 -0800
+
+
Ray Johnston <ray.johnston@artifex.com>
+dfdf07b07d4fd83fc606d50eaa7132fc9ea7a1ce
+
+
+ Coverity 353342: supposed Null pointer dereferences in gxclpath.c
+
+ Strange that it griped about passing pdevc_stroke to cmd_put_drawing_color,
+ but not earlier where it was passed to gx_default_fill_stroke_path.
+ Fix (hopefully) by checking for NULL color pointers before ANY use.
+
+base/gxclpath.c
+
+
+
+2020-01-15 12:23:21 -0800
+
+
Ray Johnston <ray.johnston@artifex.com>
+27a3bf0bc16f492538434a9b1bfdbd588e29cedc
+
+
+ Fix coverity CID 353343.
+
+ Remove ppcs. When the code was changed to write the pgs->color[0],
+ the ppcs param was never removed.
+
+base/gxclrast.c
+
+
+
+2020-01-15 12:08:22 -0800
+
+
Michael Vrhel <michael.vrhel@artifex.com>
+39eff9a56b2077d1a9adb48dfefd38e5e94b59c6
+
+
+ Make -dUseFastColor occur even when source color space is ICC based
+
+ The exception will be the CIELAB color space, the PS CIE color spaces,
+ named color, and DeviceN ICC profiles.
+
+base/gsicc_cache.c
+base/gsicc_manage.c
+base/gsicc_manage.h
+doc/Use.htm
+
+
+
+2020-01-15 11:33:45 -0800
+
+
Michael Vrhel <michael.vrhel@artifex.com>
+1b7690cdd644fd690c2480a88da62be6131e79ab
+
+
+ Coverity 353370 dead code removal
+
+base/gdevp14.c
+
+
+
+2020-01-15 13:42:33 +0000
+
+
Julian Smith <jules@op59.net>
+4872417c26e9133e1f39fc5f9a361053aaee87a7
+
+
+ Coverity 350199: mark cf_encode_2d() as not tainting <lbuf> buffer.
+
+ After annotating cf_encode_1d(), this coverity issue appears to have changed
+ to worrying about cf_encode_2d(). Would have expected a new issue to have been
+ generated.
+
+base/scfe.c
+
+
+
+2020-01-15 11:09:53 +0000
+
+
Chris Liddell <chris.liddell@artifex.com>
+c58f4c538404527cac25b549453f5b805652b445
+
+
+ Fix dependency for custom freetype config header
+
+ I'd missed the dependency to make sure the required directories were created
+ before attempting to copy the custom header into one of those directories.
+
+base/lib.mak
+
+
+
+2020-01-14 11:05:22 +0000
+
+
Julian Smith <jules@op59.net>
+22618fc2fde49c8fc24ed7e88e98f9677e689c85
+
+
+ Coverity 350199: Final attempt to convince coverity that cf_encode_1d() doesn't taint lbuf.
+
+base/scfe.c
+
+
+
+2020-01-13 13:42:21 +0000
+
+
Chris Liddell <chris.liddell@artifex.com>
+d824fb03a6653856dfe6e304bab8fe67a2c8f1f9
+
+
+ Bug 689279: Disable bitmap glyphs in freetype
+
+ The font in the XPS file has both outline and bitmap glyphs, and with such fonts
+ freetype ends up marking them as "bitmap" and "non-scalable" fonts, so when we
+ attempt to set a size for glyph scaling not equivalent to the included bitmaps,
+ freetype throws an error.
+
+ The file works with (a default build) of mupdf because mupdf disables freetype's
+ bitmap font support at build time. It is not possible to force freetype to
+ ignore bitmap glyphs at run time.
+
+ This commit adopts a similar approach to mupdf, and disables bitmap glyph
+ support using a custom options header file.
+
+base/freetype.mak
+base/gsftopts.h
+base/lib.mak
+
+
+
+2020-01-13 09:54:41 -0800
+
+
Michael Vrhel <michael.vrhel@artifex.com>
+67559bed1c0dceb2a1a59be0349e3465a1361743
+
+
+ Fix error handling issue found by Coverity
+
+base/gdevp14.c
+
+
+
+2020-01-13 18:18:57 +0000
+
+
Julian Smith <jules@op59.net>
+defe1d994b52100f535cb9e6a7e6a4f4255d2b2b
+
+
+ Coverity 350199: another attempt to quieten coverity.
+
+ Will clean up annotations once we've found one that works.
+
+base/scfe.c
+
+
+
+2020-01-13 16:48:32 +0000
+
+
Julian Smith <jules@op59.net>
+3704918f3a987e95e7d06fc025de2dce04bab5e8
+
+
+ Coverity 350199: further attempt to quieten coverity using -tainted_data_sink tag.
+
+base/scfe.c
+
+
+
+2020-01-12 15:43:51 -0800
+
+
Michael Vrhel <michael.vrhel@artifex.com>
+4ad96e96f1f929e444fdb0e220d2b05c1dde1bf1
+
+
+ Fix defects reported from fill-stroke3 merge
+
+base/gdevp14.c
+base/gscspace.c
+base/gsovrc.c
+
+
+
+2020-01-11 12:14:48 -0800
+
+
Michael Vrhel <michael.vrhel@artifex.com>
+05c41c0dedaa512419f15798cbc3da92b6a90bbc
+
+
+ Squashed commit fill-stroke3 branch
+
+ This branch had several contributors including Robin Watts,
+ Ken Sharp and Ray Johnston.
+
+ The intent was to add a "fill and stroke" path device method
+ to ensure we get proper rendering when doing fill/stroke
+ methods with overprint and transparency. In addition,
+ adding the method made it possible for pdfwrite to match
+ the original pdf source file if it also had fill/stroke methods.
+
+ The interaction with overprint and transparency led to significant
+ changes in parts of the code related to those sections. In particular,
+ overprint was reworked to ensure that the overprint compositor and
+ the transparency compositor were aware if it was to be using
+ the overprint drawn_comps for stroke or for fill. The code was
+ rewritten so that the overprint compositor actions only occurred when
+ an actual operation occurred (e.g. fill, stroke, image, text) as opposed
+ to every time that the overprint graphic state values changed.
+
+ When there is a fill-stroke operation with transparency, depending upon the
+ graphic state values, a non-isolated knockout group may be pushed. From this,
+ an issue with knockout groups within knockout groups was revealed, which was
+ related to the backdrop selection. The backdrop selection code was simplified.
+
+Resource/Init/pdf_ops.ps
+base/gdbflags.h
+base/gdevdflt.c
+base/gdevepo.c
+base/gdevflp.c
+base/gdevmem.h
+base/gdevmplt.c
+base/gdevnfwd.c
+base/gdevoflt.c
+base/gdevp14.c
+base/gdevp14.h
+base/gdevsclass.c
+base/gdevsclass.h
+base/gscdevn.c
+base/gscolor.c
+base/gscolor2.c
+base/gscolor3.c
+base/gscpixel.c
+base/gscsepr.c
+base/gscspace.c
+base/gscspace.h
+base/gsdcolor.h
+base/gsdevice.c
+base/gsdparam.c
+base/gsdps1.c
+base/gsicc.c
+base/gsicc_manage.c
+base/gsimage.c
+base/gsovrc.c
+base/gsovrc.h
+base/gspaint.c
+base/gspaint.h
+base/gspath.c
+base/gspcolor.c
+base/gsptype1.c
+base/gsptype2.c
+base/gsstate.c
+base/gstext.c
+base/gstrans.h
+base/gxblend.c
+base/gxblend1.c
+base/gxccache.c
+base/gxclimag.c
+base/gxclip.c
+base/gxclip.h
+base/gxclipm.c
+base/gxclist.c
+base/gxclist.h
+base/gxclpath.c
+base/gxclpath.h
+base/gxclrast.c
+base/gxclrect.c
+base/gxcmap.c
+base/gxdevcli.h
+base/gxdevice.h
+base/gxdevsop.h
+base/gxfill.c
+base/gxgstate.h
+base/gxpaint.c
+base/gxpaint.h
+base/gxpath.h
+base/gxpath2.c
+base/gxpcmap.c
+base/gxpcolor.h
+base/gxstroke.c
+base/lib.mak
+devices/gdevpsd.c
+devices/vector/gdevpdfb.h
+devices/vector/gdevpdfd.c
+devices/vector/gdevpdfg.c
+devices/vector/gdevpdfg.h
+devices/vector/gdevpdfx.h
+lcms2mt/ChangeLog
+lcms2mt/Projects/VC2010/lcms2mt.rc
+lcms2mt/config.guess
+psi/int.mak
+psi/zcolor.c
+psi/zpaint.c
+
+
+
+2020-01-10 16:50:08 +0000
+
+
Robin Watts <Robin.Watts@artifex.com>
+5faf010d8e043d77ff10f3deee466e9fb2dc7b7e
+
+
+ Bug 702032: Fix overflow problem in scan converter.
+
+ Very wide regions to be filled (> 0x80000000) can cause problems
+ with overflow in clipping calculations, causing regions to be
+ filled 'the wrong way' (i.e. from -ve to x rather than from x to
+ +ve).
+
+ Fix this by tweaking calculations to promote to 64bit 1 step
+ earlier than before.
+
+base/gxscanc.c
+
+
+
+2020-01-10 11:56:54 +0000
+
+
Julian Smith <jules@op59.net>
+419f528cf8625a7e2989068324e962c498c255ef
+
+
+ Coverity 94984: disabled code that had no affect other than to cause a coverity issue.
+
+contrib/gdevgdi.c
+
+
+
+2020-01-09 17:14:57 +0000
+
+
Julian Smith <jules@op59.net>
+e3c394504318a9a6774d65c386842d3f568126ce
+
+
+ Coverity 94488: improved detection of uninitialised Jbig2HuffmanEntry.
+
+ When checking for an incorrect uninitialised entry, test for /either/ of
+ <flags> and <PREFLEN> being -1.
+
+ Previously we tested for /all/ of <flags>, <PREFLEN> and <entry->u.RANGELOW>
+ being -1, which made coverity think that the following code could be run with
+ PREFLEN=-1, which then triggers issue about illegal shifts.
+
+ [It seems that <entry->u.RANGELOW> can be -1 in normal operation, so have
+ excluded from the new test.]
+
+jbig2dec/jbig2_huffman.c
+
+
+
+2020-01-09 15:09:58 +0000
+
+
Julian Smith <jules@op59.net>
+a9c19743cf5bc787ebbcbbff58c5cce0c923d0cc
+
+
+ Coverity 94740: added /* Fall through. */ comment.
+
+contrib/lips4/gdevl4r.c
+
+
+
+2020-01-09 15:07:21 +0000
+
+
Julian Smith <jules@op59.net>
+7ee0bc7749eb7c2726bb593637de7653e2b62f10
+
+
+ Coverity 94747: removed 'if' with duplicate code.
+
+contrib/lips4/gdevl4v.c
+
+
+
+2020-01-09 14:40:54 +0000
+
+
Julian Smith <jules@op59.net>
+ccd8370b09531128634b3f5bab76b1de426ab116
+
+
+ Coverity 94809: added /* Fall through. */ comment.
+
+contrib/eplaser/gdevescv.c
+
+
+
+2020-01-09 14:26:05 +0000
+
+
Julian Smith <jules@op59.net>
+f563ab707b6068a653fb917974fb1e6a88c068d8
+
+
+ Coverity 121439: use gx_color_index instead of uint, to avoid overflow when shifting.
+
+contrib/pcl3/eprn/eprnrend.c
+
+
+
+2020-01-09 14:21:01 +0000
+
+
Julian Smith <jules@op59.net>
+3acc9babb87048dda29ab766ca41750fc6f58eaf
+
+
+ Coverity 94905: disabled code that had no affect other than to cause a coverity issue.
+
+contrib/gdevgdi.c
+
+
+
+2020-01-09 11:32:11 +0000
+
+
Julian Smith <jules@op59.net>
+bd6f5232dbaaa372b9fdcdb98134af8096c807be
+
+
+ Coverity 95087: use cast to indicate intermediate integer division is expected.
+
+contrib/japanese/gdevmjc.c
+
+
+
+2020-01-09 12:17:49 +0000
+
+
Chris Liddell <chris.liddell@artifex.com>
+78773b740b3c0095fb4c5df59390f0eea84a6a49
+
+
+ Docs: Fix a link to a long gone file.
+
+ Reword the "What if I'm writing documentation?" so it makes some sense.
+
+doc/Readme.htm
+
+
+
+2019-12-17 15:50:13 +0000
+
+
Chris Liddell <chris.liddell@artifex.com>
+1075fd1caba19e642c9713c3a07961c0a3f0f88d
+
+
+ Improve the English in section on Unicode TTFs
+
+doc/Use.htm
+
+
+
+2020-01-08 12:13:35 +0000
+
+
Julian Smith <jules@op59.net>
+af1fe01f44f528fb1322cfcf1b48aa5e1aa76059
+
+
+ Coverity 95007: propogate error from eprn_check_colour_info().
+
+contrib/pcl3/eprn/gdeveprn.c
+contrib/pcl3/eprn/gdeveprn.h
+contrib/pcl3/src/gdevpcl3.c
+
+
+
+2020-01-08 14:25:52 +0000
+
+
Julian Smith <jules@op59.net>
+e0a0c0ca0e16e8b598a7839011df4c3374ab561d
+
+
+ clusterpush.pl: also exclude luratech* directories.
+
+toolbin/localcluster/clusterpush.pl
+
+
+
+2020-01-08 13:08:07 +0000
+
+
Julian Smith <jules@op59.net>
+aba372d8efa1ffdb11a496474f519b0015b31031
+
+
+ Coverity 94665: removed unnecessary if and refactored expression.
+
+contrib/gdevdj9.c
+
+
+
+2020-01-08 13:04:41 +0000
+
+
Julian Smith <jules@op59.net>
+5e1685812864cfde94a5c0daee0cae3307078aa7
+
+
+ Coverity 94713: added {...} to match indentation.
+
+contrib/lips4/gdevl4v.c
+
+
+
+2020-01-08 13:02:35 +0000
+
+
Julian Smith <jules@op59.net>
+3b727b709f40d6b93e874680ab307aa124de5422
+
+
+ Coverity 94729: oki4w_print_page()'s compress_code is always 2.
+
+ Simplified code accordingly, and removed static fn oki_compress() as no longer
+ referenced.
+
+contrib/gdevop4w.c
+
+
+
+2020-01-08 12:41:57 +0000
+
+
Julian Smith <jules@op59.net>
+4e4edd2161b4b7f3ccb23a90a8ca90dccffd078c
+
+
+ Coverity 94757: avoid 'if (foo) return code; return code;' construct.
+
+ This code is slightly odd, and didn't want to make major changes, so have ended
+ up with odd-looking extended expression whose actual value we ignore.
+
+contrib/gdevbjc_.c
+
+
+
+2020-01-08 12:31:50 +0000
+
+
Julian Smith <jules@op59.net>
+cef68e9a0ca0be10f08e415785f8b8fac37d7828
+
+
+ Coverity 94778: added missing {...}.
+
+contrib/lips4/gdevl4v.c
+
+
+
+2020-01-08 12:28:15 +0000
+
+
Julian Smith <jules@op59.net>
+c517f26773cd3a63f029b1bf6e275b227e3af5e8
+
+
+ Coverity 94811: added break in switch block.
+
+contrib/gdevlx32.c
+
+
+
+2020-01-08 12:25:54 +0000
+
+
Julian Smith <jules@op59.net>
+0c84b20c653444310c979a5df78542e9671a6692
+
+
+ Coverity 94846: don't dereference <data> without checking it isn't NULL.
+
+contrib/pcl3/src/pclgen.c
+
+
+
+2020-01-08 12:18:02 +0000
+
+
Julian Smith <jules@op59.net>
+87c48dabcdb64262fc0d24ed81b38d28e7545cb2
+
+
+ Coverity 95006: improved use preprocessor to hopefully fix this warning.
+
+contrib/opvp/gdevopvp.c
+
+
+
+2020-01-08 11:58:50 +0000
+
+
Julian Smith <jules@op59.net>
+4c1e5ac5d9def3cbe25c52c63a3d5ba11f2603ac
+
+
+ Coverity 121439: avoid overflow when shifting.
+
+contrib/pcl3/eprn/eprnrend.c
+
+
+
+2020-01-08 11:58:14 +0000
+
+
Julian Smith <jules@op59.net>
+f71ebb708947e57eaf7cd33b319ec0676e03ba2e
+
+
+ Coverity 121442: avoid overflow when shifting.
+
+contrib/opvp/gdevopvp.c
+
+
+
+2020-01-08 11:41:50 +0000
+
+
Julian Smith <jules@op59.net>
+4bb071925d68398f8efb493c6b529e897a9bc356
+
+
+ Coverity 350199: fix coverity annotation arg number.
+
+base/scfe.c
+
+
+
+2020-01-07 19:43:07 +0000
+
+
Robin Watts <Robin.Watts@artifex.com>
+d24553cea74bda19ae7e3dd5a60302fdc49d1fb2
+
+
+ Fix indentation problems in examples in API.htm
+
+doc/API.htm
+
+
+
+2020-01-06 16:30:17 +0000
+
+
Ken Sharp <ken.sharp@artifex.com>
+147591b7a8390d0e98418851b60ac67e659cf2f1
+
+
+ PDF interpreter - don't abort on errors in JBIG2 globals
+
+ This was due to Julian's work on comparing jbig2dec with Luratech.
+
+ The test file 'normal_716.pdf' and the cluster test file
+ jbig2_null_segments_and_glyphs.pdf throw errors when trying to read
+ the JBIG2 globals dictionary. Luratech doesn't cache the globals, while
+ jbig2dec does, and the problem was that jbig2dec was returning an error
+ at a point where the PDF interpreter wasn't able to ignore it, while
+ Luratech deferred the error to a later point, at a time when the
+ interpreter could, and did, ignore it.
+
+ This meant that Luratech continued to render any further content on the
+ page while jbig2dec did not, resulting in diffs.
+
+ This commit simply runs the global context extraction in a stopped
+ context. If it fails we clean up the stack and exit, which (effectively)
+ defers the error to the same point as the Luratech decoder.
+
+Resource/Init/pdf_base.ps
+
+
+
+2020-01-06 12:56:52 +0000
+
+
Robin Watts <Robin.Watts@artifex.com>
+9a2414c7f88ef07cb9297bdeb3236cdba44c25ad
+
+
+ Bug 702018: Fix CAL build crash in tiffsep1.
+
+ The SSE code for CAL currently only copes with a maximum of 4
+ planes. Ensure the device falls back to non-CAL code in such
+ cases.
+
+devices/gdevtsep.c
+
+
+
+2020-01-06 11:40:37 +0000
+
+
Robin Watts <Robin.Watts@artifex.com>
+1085ead1dd22e3908c341df160a722e71a9c7cfe
+
+
+ Fix VS2019 project getting many x64 builds wrong.
+
+windows/GhostPDL.sln
+
+
+
+2020-01-06 08:22:00 +0000
+
+
Chris Liddell <chris.liddell@artifex.com>
+c53f9d984015b65bf234d65befa552fe9d18c886
+
+
+ Bug 702019: fix dependencies for cups devs and gdevp14
+
+ Any "printer" device depends on the low level 'page' device (page.dev),
+ unaccountably, the cups devices (cups and pwgraster) did not have that
+ dependency in the makefiles.
+
+ Also, the PDF transparency compositor now (and for some time) has also depended
+ upon page.dev, so update the makefiles for that, too.
+
+base/lib.mak
+devices/devs.mak
+
+
+
+2020-01-04 20:04:03 -0800
+
+
Ray Johnston <ray.johnston@artifex.com>
+d1aa5fdfdbea4c55445ee1bdbe08b822a1bd7a8c
+
+
+ Further refinement for Bug 701880. Make tiffsep better match pbmraw
+
+ The previous change attempted to fix the y-phase, but this was not a
+ 180 degree rotation, so it caused the primary angle of the pattern to
+ shift by 90 degrees. A better correspondence is achieved by inverting
+ the polarity of the thresholds. This is slightly "darker" than pbmraw
+ but the angle and phase matches pbmraw closely.
+
+ Note that the phase using the CAL module does not match the non-CAL
+ or pbmraw, but the angle of the pattern does match.
+
+devices/gdevtsep.c
+
+
+
+2020-01-03 09:56:29 -0800
+
+
Ray Johnston <ray.johnston@artifex.com>
+372c862f2050d82248316f54156e5bb33dd7520a
+
+
+ Fix Bug 701845. The devicen device would confuse transparency.
+
+ The devicen device defines 32-bit depth, but 0 components and no
+ standard process colors or names. This confused the pdf14 device into
+ writing a clist with 1-component (gray), but then because the icc_profile
+ had 4 components, would try and use 4 component when reading.
+
+ Fix by making it 32-bit CMYK, and also fix to write a valid PCX by
+ converting the 32-bit CMYK to 24-bit RGB on output. PCX cannot handle
+ 32-bit CMYK. Prior to this, 32-bit CMYK would fail showpage with a
+ rangecheck error.
+
+base/gdevdevn.c
+
+
+
+2020-01-03 15:51:00 +0000
+
+
Robin Watts <Robin.Watts@artifex.com>
+9608d275bd750b189dd52681791f31617a640817
+
+
+ Use CAL halftoning in tiffsep1 post processing.
+
+ A quick back to back test with/without cal using:
+
+ bin/gswin32c.exe -sDEVICE=tiffsep1 -o out.tif -r600 -dMaxBitmap=80000000
+ examples/tiger.eps
+
+ shows timings of 1.142s vs 1.297s on my machine.
+
+devices/devs.mak
+devices/gdevtsep.c
+
+
+
+2020-01-03 15:52:41 +0000
+
+
Robin Watts <Robin.Watts@artifex.com>
+59ed026565b5be1bd055d0fbd1b066b8c07274e0
+
+
+ Squash warnings (dropped from earlier commit).
+
+ These warnings were supposed to have been squashed a few
+ commits ago, but somehow got lost in a rebase. Thus they
+ were mentioned in the commit message, but didn't make it
+ in.
+
+ Avoid problems with 'errno' being a special thing that
+ shouldn't be used as a parameter name.
+
+ Explicitly cast time_t to long for printing.
+
+base/gsioram.c
+base/mkromfs.c
+base/pack_ps.c
+
+
+
+2020-01-03 10:21:18 +0000
+
+
Ken Sharp <ken.sharp@artifex.com>
+d7d012bfe6c8f248db8b8474743618c53318ce40
+
+
+ PDF interpreter - increase robustness in face of invalid annotations
+
+ Bug #702016 "Invalid annotation causing an error"
+
+ The PDF file has an annotation where the creating application has
+ inserted the appearance stream directly into the annotation dictionary.
+ This breaks the code which attempts to parse the annotation dictionary
+ from an indirect reference into a dictionary object.
+
+ This commit tries to recover from such egregiously broken situations by
+ running the 'oforce' in a stopped context. This is complicated firstly
+ by the fact that we parse the annotation dictionary in two places, once
+ to check it for the presence of transparency and once to actually draw
+ it (if we are rendering annotations).
+
+ In addition, the code could potentially leave anything on the stack, so
+ we can't use a mark/cleartomark pair to tidy up. Instead, use a
+ (hopefully) unique name object, create it on the stack and in the case
+ of an error, unwind the stack back to the expected name.
+
+ Finally, report the error to the user in a more or less meaningnful way.
+
+Resource/Init/pdf_main.ps
+
+
+
+2019-12-13 12:40:44 +0000
+
+
Robin Watts <Robin.Watts@artifex.com>
+92031bd1fb9084088a657b7d83339bf499dcc7d2
+
+
+ Update Visual Studio solution to VS2019.
+
+ Our belief is that this should work in all versions of VS from
+ 2010 onwards.
+
+ By moving to VS2019, we lose support totally for Windows XP prior
+ to SP3. If this is a problem, either build using the Makefile, or
+ pull the old VS2005 solution out of git and use that. If customers
+ find this to be a problem, we can maintain the old VS2005 solution
+ alongside the new one with minimal effort.
+
+ Default builds lose support for Windows XP SP3/Windows Server 2003,
+ but the new "ReleaseXP", "DebugXP" and "MementoXP" configurations
+ will target these platforms (assuming the v141 tools have been
+ installed too).
+
+ These "XP" binaries will be build into {,debug,mem}objxp directories
+ and will produce binaries with an 'XP' suffix: i.e.
+ {,debug,mem}bin/{gs,gpcl6,gxps,gpdl}win{32,32}{,c}xp.exe.
+
+psi/msvc.mak
+windows/All.vcxproj
+windows/GhostPDL.sln
+windows/ghostpcl.vcxproj
+windows/ghostpcl.vcxproj.filters
+windows/ghostpdl.vcxproj
+windows/ghostpdl.vcxproj.filters
+windows/ghostscript.vcxproj
+windows/ghostscript.vcxproj.filters
+windows/ghostxps.vcxproj
+windows/ghostxps.vcxproj.filters
+
+
+
+2019-12-16 18:18:47 +0000
+
+
Robin Watts <Robin.Watts@artifex.com>
+10d2678613d5a93bedc094a62b1b98972871f464
+
+
+ Tweak windows Makefiles to know about VS2017 and VS2019.
+
+ These builds have only been tested with "DEVSTUDIO=" (i.e.
+ relying on the paths to the compilers etc having been set up
+ in advance, such as happens when building from within the IDE
+ using the supplied solution). Logic has been added for
+ command like nmake builds, but this hasn't been tested.
+
+ Update the makefiles to avoid using flags that aren't supported
+ in later versions.
+
+base/msvccmd.mak
+base/msvclib.mak
+psi/msvc.mak
+
+
+
+2020-01-02 11:01:03 +0000
+
+
Robin Watts <Robin.Watts@artifex.com>
+00cd7c475b173e5cdce7e1e4ff3f0880e1e70583
+
+
+ Squash warnings
+
+ Don't define STRICT multiple times.
+
+ Explicitly cast time_t's in printfs.
+
+ Avoid warnings due to errno being a #defined thing.
+
+base/windows_.h
+
+
+
+2019-12-26 13:14:43 -0800
+
+
Ray Johnston <ray.johnston@artifex.com>
+bf689ee0bff720f202ebc98f301c765f34e2c1fa
+
+
+ Bug 701880: tiffsep1 threshold_from_order caused dots in full white.
+
+ For patterns with > 256 dots, threshold_from_order would put in 0 value
+ cells which would then always be imaged. Change this device to (finally)
+ use the gx_ht_construct_threshold used by the fast_ht thresholding code
+ so that it should match the other devices, such as pbmraw.
+
+ Also vertically invert the use of the threshold array to match the dots
+ of the other devices.
+
+ Add missing dependencies for gdevtsep.c in devs.mak
+
+devices/devs.mak
+devices/gdevtsep.c
+
+
+
+2019-12-19 09:22:32 -0800
+
+
Nancy Durgin <nancy.durgin@artifex.com>
+97ac0f6ef4010e0a49bf6f8f4515c32a5695df68
+
+
+ PDF interpreter -- take out manually drawn rectfill
+
+ We can now just draw the rectangle directly with rectfill.
+ Whatever issue ken ran into 5 years ago no longer applies.
+
+ See also Bug 693731
+
+Resource/Init/pdf_draw.ps
+
+
+
+2019-12-18 14:46:26 +0000
+
+
Ken Sharp <ken.sharp@artifex.com>
+719bf1f2c4104d933767d37e62489535e8ba9a17
+
+
+ pdfwrite - use correct FontFile key
+
+ This was found as part of bug #701997, even if we set -dCompatibilityLevel
+ to 1.1, so that type 1 fonts are not converted to type 2 (1c, CFF) we
+ would still write out a FontFile3 key, instead of the correct
+ FontFile key.
+
+ Ghostscript doesn't care about this, but Acrobat refuses to parse the
+ font from the file when it has the wrong FontFile key.
+
+ The test we were using was incorrect anyway, we were checking
+ ResourcesBeforeUsgae and we should have been checking HaveCFF because
+ if HaveCFF is true we would convert type 1 to CFF, and if it isn't we
+ wouldn't.
+
+devices/vector/gdevpdtb.c
+
+
+
+2019-12-16 09:52:13 +0000
+
+
Ken Sharp <ken.sharp@artifex.com>
+bb47dd4128481c2e62bbd6b5e354da8299f2f16b
+
+
+ PDF interpreter - use PDFDocEncoding for fonts in text annotations
+
+ Bug #701889 ""
+
+ We were often not applying PDFDocEncoding to fonts when we used them to
+ draw text for annotations. This commit re-encodes the selected font
+ which will give a better result.
+
+ We probably should also check for UTF16-BE text and use the FallBack
+ CIDFont in that case, but we'll wait for an example before trying to
+ code that.
+
+Resource/Init/pdf_draw.ps
+
+
+
+2019-12-14 19:13:27 +0000
+
+
Ken Sharp <ken.sharp@artifex.com>
+c3b184c41144a2650e5520643bbb1cff42c18acc
+
+
+ PDF interpreter - fix line ending positions on Line annotations
+
+ Bug #701889 "Annotation objects missing or incorrectly interpreted when appearance stream missing"
+
+ The calculation of the position of the line ending was incorrect, and
+ we were applying the wrong LE entry to each end of the line.
+
+Resource/Init/pdf_draw.ps
+
+
+
+2019-12-14 15:24:57 +0000
+
+
Ken Sharp <ken.sharp@artifex.com>
+1246085e17ee35928f737f1fbf69d69fe6b7a2ae
+
+
+ PDF interpreter - Add arrows to /CL lines in FreeText annotations
+
+ Bug #701889 "Annotation objects missing or incorrectly interpreted when appearance stream missing"
+
+ Add arrowheads to the ends of callout lines.
+
+Resource/Init/pdf_draw.ps
+
+
+
+2019-12-13 15:13:58 +0000
+
+
Ken Sharp <ken.sharp@artifex.com>
+acccfd2fe90e25534e7d492ca2378dc32269e48e
+
+
+ PDF interpreter - Fix multi-line FreeText annotation with /Rotate 270
+
+ The calculation of the 'width' of the container for the text was
+ incorrect, as was the starting x co-ordinate. Fixed here.
+
+Resource/Init/pdf_draw.ps
+
+
+
+2019-12-13 11:55:15 +0000
+
+
Ken Sharp <ken.sharp@artifex.com>
+5e5f7b41c080bdbd15fac5afbd09052a83e81a01
+
+
+ PDF interpreter - apply /C to more annotation types
+
+ Bug #701889 "Annotation objects missing or incorrectly interpreted when appearance stream missing"
+
+ Seems we also need to apply the /C colour to Polygon, Square and Circle
+ annotations before drawing them.
+
+Resource/Init/pdf_draw.ps
+
+
+
+2019-12-13 11:23:28 +0000
+
+
Ken Sharp <ken.sharp@artifex.com>
+4940c5cb80916017d3ee0c9b53475323cf5ebbd6
+
+
+ PDF interpreter - more annotation improvements
+
+ Bug #701889 "Annotation objects missing or incorrectly interpreted when appearance stream missing"
+
+ Apply the /RD array (if present) to the annotation /Rect before using
+ the Rect to draw the border.
+
+ We were using the /C array in drawborder to set the colour before
+ stroking the border, there are two problems with this; firstly the /C
+ array is not used to specify a border colour, secondly we need to set
+ the colour for certain objects irrespective of whether they have a
+ border.
+
+ Remove annotsetcolor from drawborder and apply it to Squiggly, Strikeout,
+ Underline, Highlight, Line and Ink annotations in order to set the
+ colour before drawing the annotation. The specification says that this
+ is used for; the border of a Link annotation, the title bar of a
+ pop-up annotation's pop-up and the background of the annotation's icon
+ when closed, but in fact Acrobat also uses it to set the colour for all
+ the annotation types listed above.
+
+ There may still be more work needing done here, but this matches all the
+ test cases I currently have.
+
+Resource/Init/pdf_draw.ps
+
+
+
+2019-12-12 17:04:17 +0000
+
+
Ken Sharp <ken.sharp@artifex.com>
+d95dd7a23f25e73042f3c8e6043c83285387d0a1
+
+
+ PDF interpreter - apply RD array to Circle, Square and FreeText, apply Rotate to FreeText
+
+ Bug #701889 "Annotation objects missing or incorrectly interpreted when appearance stream missing"
+
+ The /RD array makes certain kinds of annotations be drawn in a smaller
+ area. Although the spec does not mention it, Acrobat applies the
+ /Rotate key if found to the text in a FreeText annotation.
+
+ Still more to do on the text; we are nto fitting the text correctly
+ when Rotate is 270, not certain why. Also we are not drawing Borders
+ when we should, some text is missing and text is in the wrong colour
+ (due to not applying /DS)
+
+Resource/Init/pdf_draw.ps
+
+
+
+2019-12-12 19:47:18 +0000
+
+
Robin Watts <Robin.Watts@artifex.com>
+f25987c838ea9437b60f8b3b93f90e187013b641
+
+
+ Tweak CAL makefile to include new intrinsics headers in dependencies.
+
+base/cal.mak
+
+
+
+2019-12-12 15:44:30 +0000
+
+
Robin Watts <Robin.Watts@artifex.com>
+321cf6026a05e31140a87cc83a2653b048550df4
+
+
+ Fix arch.h dependency in cal build.
+
+ This was causing parallel makes of CAL enabled builds to
+ fail.
+
+base/cal.mak
+
+
+
+2019-11-29 17:48:29 +0000
+
+
Robin Watts <Robin.Watts@artifex.com>
+b6f6adb5448fda1f33db4c92c030709618e4ee54
+
+
+ Support for YCbCr, LogL, LOGLUV and paletted TIFFs.
+
+ YCbCr TIFFs have to use TIFFRGBAImage as for the old JPEG
+ encapsulation.
+
+gpdl/tifftop.c
+
+
+
+2019-11-28 22:32:43 +0000
+
+
Robin Watts <Robin.Watts@artifex.com>
+ae1cee743e56a7b654d9dbb2ea88ed90d48d298d
+
+
+ Further fixes for GPDL TIFF.
+
+ Support JPEG encoded TIFFs (both old and new formats).
+
+ Old JPEG format requires the whole image to be decoded to an
+ RGBAImage in memory at once; looks like that's just a limitation
+ of libtiff. This is particularly annoying because it looks like
+ the internals of libtiff are prepared to do scanline extraction
+ as you'd hope, but aren't exposed to the outside world.
+
+base/msvclib.mak
+base/tiff.mak
+configure.ac
+gpdl/gpdl.mak
+gpdl/tifftop.c
+psi/msvc.mak
+
+
+
+2019-12-12 17:26:02 +0000
+
+
Robin Watts <Robin.Watts@artifex.com>
+ef66198ade77d5d551b3045cd36bed81c0b04f54
+
+
+ Changes to libtiff for gpdl.
+
+ 1) Ensure that libtiff doesn't mess with 'boolean' in GS builds
+ on Windows. Without this, the jpeg structures used by our JPEG
+ lib build are different in size when called from gs and libtiff,
+ resulting in runtime errors.
+
+ 2) Update libtiff so that it can correctly call into the jpeg
+ library so that memory operations happen from our pools, not
+ malloc/free. Slightly horrid in that this is more complex with
+ OJPEG than JPEG files.
+
+tiff/libtiff/tif_jpeg.c
+tiff/libtiff/tif_ojpeg.c
+tiff/libtiff/tif_open.c
+tiff/libtiff/tiffio.h
+tiff/libtiff/tiffiop.h
+
+
+
+2019-11-28 10:52:49 +0000
+
+
Robin Watts <Robin.Watts@artifex.com>
+0c248ced8997dfe8f253a07fc6cc5f47837ca12e
+
+
+ Fixes for GPDL TIFF support.
+
+ Support tiled TIFFs, planar TIFFs, and TIFFs where the resolution
+ isn't properly specified.
+
+gpdl/tifftop.c
+
+
+
+2019-12-12 14:33:27 +0000
+
+
Chris Liddell <chris.liddell@artifex.com>
+76bd0d75823a571130f340ab6231e064d1f997f7
+
+
+ Move pdf_info.ps into lib (from toolbin)
+
+ And add it to the list of files to install on Unix systems.
+
+ Also, tweak the comments in pdf_info.ps to reflect its new home.
+
+base/unixinst.mak
+lib/pdf_info.ps
+
+
+
+2019-12-12 14:26:30 +0000
+
+
Chris Liddell <chris.liddell@artifex.com>
+e39d57f23585b6fe71db5433dc205459be7a3c22
+
+
+ Tweak to handle .shellarguments throwing an error
+
+ .shellarguments for quite some time has thrown an undefined error if Ghostscript
+ is not invoked with the '--' option, so handle that.
+
+toolbin/pdf_info.ps
+
+
+
+2019-12-12 14:16:41 +0000
+
+
Chris Liddell <chris.liddell@artifex.com>
+72f6dd34cd0732cb7cdd9246d5063fc0f70ce79b
+
+
+ Add hex string representation of font names
+
+ Mainly CIDFonts come up with multibyte characters in their names, hence making
+ the normal Postscript string pretty meaningless. This adds a hex string
+ representation which can be used in Fontmap.GS or cidfmap for subsitution.
+
+toolbin/pdf_info.ps
+
+
+
+2019-12-12 13:07:46 +0000
+
+
Chris Liddell <chris.liddell@artifex.com>
+bcb6fb284fcbe776d9ddd44f98d196da7df2c054
+
+
+ Add NDEBUG to the optimised build flags
+
+ Without that, asserts get included in an optimised build, which we don't want.
+
+base/unix-gcc.mak
+base/unixansi.mak
+configure.ac
+psi/msvc.mak
+
+
+
+2019-12-10 15:37:35 +0000
+
+
Chris Liddell <chris.liddell@artifex.com>
+044848a1752273471e9deab826045eca82030d62
+
+
+ Reinstate basic regular expression compatibility
+
+ In Basic Regular Expressions `+' is an ordinary character, use `*' instead.
+
+ This also maintains consistency with the equivalent code a few lines above in
+ the file.
+
+jbig2dec/autogen.sh
+
+
+
+2019-12-09 03:00:42 +0000
+
+
Ken Sharp <ken.sharp@artifex.com>
+35828fce7ad795c546831520b7a57ef233453b43
+
+
+ txtwrite - don't close the device on media size changes
+
+ Bug #701971 "txtwrite incomplete for certain files and differs when stdout versus file is output"
+
+ The problem is nothing to do with stdout vs file. The difference is due
+ to the fact that the input PDF file has multiple pages with different
+ media sizes. When the media size is changed the default put_params()
+ method closes and reopens the device. When the txtwrite device is
+ closed it closes its output file. Re-opening the device opens a new
+ file, if the filename doesn not have a %d then the sam file is opened
+ which will of course truncate it.
+
+ Writing to stdout obviously doesn't have this behaviour when the output
+ file is closed.
+
+ We don't need to close the txtwrite device when the media size changes
+ so here we patch the 'is_open' flag to prevent the default method
+ from closing the device.
+
+devices/vector/gdevtxtw.c
+
+
+
+2019-12-06 21:45:09 +0000
+
+
Chris Liddell <chris.liddell@artifex.com>
+b46142c94bde32f620bda18e3bc5912fbf999446
+
+
+ Bug 701973: Fix gssprintf.c includes for PRI macros
+
+ The header inclusion in gssprintf.c meant the definitions of the PRI macros
+ for string formatting could be inconsistent with other source files.
+
+ Adding the appropriate headers in the correct order resolves that issue.
+
+base/gssprintf.c
+base/lib.mak
+
+
+
+2019-12-06 21:44:13 +0000
+
+
Chris Liddell <chris.liddell@artifex.com>
+a4c78f01d9a1bd9862b575f33aa48afddd167005
+
+
+ Fix configure based build for post-Sun Solaris releases
+
+base/stdint_.h
+configure.ac
+
+
+
+2019-12-07 15:02:15 +0000
+
+
Ken Sharp <ken.sharp@artifex.com>
+3bf992e26006c8af9e137822159eb7c7540462c0
+
+
+ PDF interpreter - Accept /ColorSpace as well as /CS in group attribute dictionary
+
+ Again, no bug report, the customer has asked that the file be kept
+ confidential
+
+ The problem is due to a group attribute dictionary for an SMask. The
+ dictionary is required to contain a /CS (colour space) entry in order
+ to correctly set the background. In this case, however, the dictionary
+ contains a /ColorSpace entry.
+
+ I've chosen to implement treating the /ColorSpace as a /CS entry, this
+ is not what Acrobat does, but mimicking Acrobat's behaviour is more or
+ less impossible for us. We do emit a warning.
+
+Resource/Init/pdf_draw.ps
+
+
+
+2019-12-06 18:43:28 +0000
+
+
Ken Sharp <ken.sharp@artifex.com>
+539fe73419fdf00ffd7747a2cf890e56bc6f0504
+
+
+ PDF interpreter - cope with legal but sub-optimal indirect /Pattern
+
+ No bug, the report is from a customer who wants the file to be treated
+ confidentially.
+
+ The files uses a Pattern colour space, which it defines in a highly
+ peculiar fashion:
+
+ stream
+ ....
+ /CS0 cs /P0 scn
+
+ ....
+ endstream
+
+ CS0 is defined as:
+ /CS0 22 0 R
+
+ and object 22 is:
+
+ 22 0 obj
+ [ 23 0 R ]
+ endobj
+
+ 23 0 obj
+ /Pattern
+ endobj
+
+ The PDF interpreter wasn't prepared to handle the name being an indirect
+ reference.
+
+Resource/Init/pdf_draw.ps
+
+
+
+2019-11-21 09:54:53 -0800
+
+
Ray Johnston <ray.johnston@artifex.com>
+5dfca9b93a17806e11d54068a6e5b9705f3b6bc6
+
+
+ Fix problem with setup_trans being undone by grestore
+
+ Noticed with text from Bug688728.pdf, but the offending method was
+ also an issue with 'sh' and 'image' operations where the setup_trans
+ invocation was withing a gsave ... grestore. The BlendMode and other
+ graphics state parameters would be reset by the grestore.
+
+ Also some places could get errors from pathbbox and/or strokepath
+ due to a non-invertable matrix, so errors from these now just emit
+ an empty bbox [ 0 0 0 0 ].
+
+Resource/Init/pdf_draw.ps
+Resource/Init/pdf_main.ps
+Resource/Init/pdf_ops.ps
+
+
+
+2019-12-05 12:50:26 +0000
+
+
Chris Liddell <chris.liddell@artifex.com>
+fbd776580b26bdf27bcf5778dea94b446c786f67
+
+
+ Coverity ID 351435: reduce buffer size passed to strncat()
+
+ Fixes an (unlikely) potential buffer overflow
+
+base/gp_unix.c
+
+
+
+2019-12-04 12:23:02 +0000
+
+
Chris Liddell <chris.liddell@artifex.com>
+53ab3ecee8a60d412c2bf1406340bf9cb228e106
+
+
+ Bug 701969: Fix fontconfig path permissions handling
+
+ The paths from fontconfig to be added to the permit file reading list was not
+ having the trailing directory separator added to indicate we want to allow
+ the directory to be read.
+
+ Also, tweak the path/filename splitting (for the permit file read list) when
+ parsing the cidfmap so it matches the improved version in gs_fonts.ps
+
+Resource/Init/gs_cidfm.ps
+base/gp_unix.c
+
+
+
+2019-12-02 18:24:09 +0000
+
+
Ken Sharp <ken.sharp@artifex.com>
+c25d59001421845d0ff74735388d450d62b459d5
+
+
+ PDF interpreter - improve /Polygon annotation appearance creation
+
+ Bug #701889 "Annotation objects missing or incorrectly interpreted when appearance missing"
+
+ Another case of failing to stroke the border of an annotation if it had
+ no interior colour. We still don't support the 'Cloudy' Border Effect.
+
+Resource/Init/pdf_draw.ps
+
+
+
+2019-12-02 17:59:34 +0000
+
+
Ken Sharp <ken.sharp@artifex.com>
+11f6202373fc546cc10d08acfb5ca0463df20437
+
+
+ PDF interpreter - generate callout (/CL) lines for FreeText annots
+
+ Bug #701889 "Annotation objects missing or incorrectly interpreted when appearance is missing"
+
+ FreeText annotations can have a /CL (callout) entry, which defines a
+ line to be drawn to the point referenced by the text.
+
+ This is a first pass at the problem, Acrobat generates arrow heads for
+ the callout lines, this patch does not.
+
+Resource/Init/pdf_draw.ps
+
+
+
+2019-12-02 17:19:00 +0000
+
+
Ken Sharp <ken.sharp@artifex.com>
+182e228cee6b30c6e2f00d8abd20a6791d44323f
+
+
+ PDF interpreter - improve /Square annotation appearance creation
+
+ Bug #701889 "Annotation objects missing or incorrectly interpreted when appearance stream missing"
+
+ First of probably several changes. In this case we were failing to
+ stroke the border of a /Square annotation if it had no interior colour
+ (we did not render the annotation at all).
+
+ In addition, when element 3 of the Border array was 0 we were still
+ drawing a Border, which we should not do (this didn't show up until we
+ fixed the problem above).
+
+Resource/Init/pdf_draw.ps
+
+
+
+2019-12-01 22:04:21 +0000
+
+
Chris Liddell <chris.liddell@artifex.com>
+c535c0c879162ccd7c88c5b8cc6c3a0847c0babe
+
+
+ Create devdevs.tr correctly
+
+ devdevs.tr is an interim list of output and core library "devs" that gets
+ created and then used, ultimately, to create the gconfig.h header file
+ (which has the bulid configuration of the graphics library), and the linker
+ scripts.
+
+ When devdevs.tr required creation, we were always appending to the file (if it
+ already existed), not overwriting it, meaning the list would grow indefinitely,
+ and contain duplicates.
+
+ This looks like a typo: the first line of devdevs.tr creation used a '-a'
+ echogs paramater, rather than the '-w' parameter.
+
+ I think this should solve the problem.
+
+base/gs.mak
+
+
+
+2019-12-01 21:55:48 +0000
+
+
Chris Liddell <chris.liddell@artifex.com>
+aa4fa650fa837a6f7b22caad33699bbbf9156bc1
+
+
+ Bug 701957: Explicitly disable webp and ztsd for libtiff
+
+configure.ac
+
+
+
+2019-11-29 08:42:15 -0800
+
+
Ray Johnston <ray.johnston@artifex.com>
+c2b492ad627bdcb476fa3cd15a1c31cc3b6b788d
+
+
+ Fix typo (inadvertent paste) in devices/gdevjbig2.c from f63270230 commit
+
+devices/gdevjbig2.c
+
+
+
+2019-11-29 14:40:47 +0000
+
+
Julian Smith <jules@op59.net>
+8636935ac086f56464f0541ed735f1016f2c3895
+
+
+ Coverity 94659: removed cp_num - was allocated but never actually used.
+
+contrib/opvp/gdevopvp.c
+
+
+
+2019-11-29 14:35:25 +0000
+
+
Julian Smith <jules@op59.net>
+a3f284624a68dcb1ecb72dcf307b42d194e78de1
+
+
+ Coverity 94653: fixed incorrect if() that was logically dead code.
+
+contrib/lips4/gdevl4v.c
+
+
+
+2019-11-29 14:15:57 +0000
+
+
Julian Smith <jules@op59.net>
+ff02f8741f71830e7a4795645680a16b9d7ae106
+
+
+ Coverity 94652: return error from opvp_image_plane_data() rather than segv.
+
+contrib/opvp/gdevopvp.c
+
+
+
+2019-11-29 12:40:02 +0000
+
+
Julian Smith <jules@op59.net>
+f977255de00bb71f5c2627b8692912bb3263ee48
+
+
+ Coverity 94645: added '/* Fall through. */ comments to switch statements.
+
+ This should convince Coverity that the fall-through's are intentional.
+
+contrib/lips4/gdevl4r.c
+
+
+
+2019-11-29 12:38:10 +0000
+
+
Julian Smith <jules@op59.net>
+f877f5bc792206085f9edf4143983d4156fb3ae5
+
+
+ Coverity 94638: added '/* Fall through. */ comments to switch statements.
+
+ This should convince Coverity that the fall-through's are intentional.
+
+contrib/gdevmd2k.c
+
+
+
+2019-11-29 12:33:51 +0000
+
+
Julian Smith <jules@op59.net>
+39286afa21126c193fcd0f3ccc0800f7c0662ed0
+
+
+ Coverity 94616: added '/* Fall through. */ comments to switch statements
+
+ This should convince Coverity that the fall-through's are intentional.
+
+contrib/gdevgdi.c
+
+
+
+2019-11-29 12:30:57 +0000
+
+
Julian Smith <jules@op59.net>
+1c899fc1100f21f6e24096375e2daac26b23f33b
+
+
+ Coverity 94608: added '/* Fall through. */ comments to switch statements.
+
+ This should convince Coverity that the fall-through's are intentional.
+
+contrib/lips4/gdevl4v.c
+
+
+
+2019-11-29 12:10:19 +0000
+
+
Julian Smith <jules@op59.net>
+adbf399b79b3e6b645e98acd53f42f9fd5ca9174
+
+
+ Coverity 94601: avoid out-of-bounds access of gendata->dev->hoffset[] if newhead < 0.
+
+contrib/gdevlx32.c
+
+
+
+2019-11-29 11:41:05 +0000
+
+
Julian Smith <jules@op59.net>
+1d04fe90a4c3b82e1286a1b341cdb89a96625715
+
+
+ Coverity 94490: check return codes in opvp_fill_mask().
+
+contrib/opvp/gdevopvp.c
+
+
+
+2019-11-28 18:26:56 +0000
+
+
Julian Smith <jules@op59.net>
+fbd78a0467afb2c66a41d55ee9b3aee0a7a01d7b
+
+
+ Coverity 94511: Use full range of frac when source is 8-bit.
+
+ Essentially we use frac2byte() and byte2frac(), instead of frac2cv() and
+ cv2frac(). This ensures we use full range of frac with the transfer fns.
+
+ Note that this change is untested. It is based on observation and discussion
+ between gs develpoers. This code has not been modified since initial import.
+
+contrib/opvp/gdevopvp.c
+
+
+
+2019-11-28 17:00:08 +0000
+
+
Julian Smith <jules@op59.net>
+a537e5bd4252abdbdc3f90dfdce8dc9fb621b38d
+
+
+ Coverity 94505: converted macros into static fns.
+
+ This should avoid Coverity worrying about bits 8-15 always being zero in a call
+ of write_short().
+
+contrib/gdevmd2k.c
+
+
+
+2019-11-28 16:34:49 +0000
+
+
Julian Smith <jules@op59.net>
+35e0c3f70ba2646b4bdfb41663a708a8594eeb68
+
+
+ Coverity 94553: fixed possible copy&paste error in lips4_image_out().
+
+ Use Len_rle instead of Len inside RLE block.
+
+contrib/lips4/gdevl4r.c
+
+
+
+2019-11-28 16:08:23 +0000
+
+
Julian Smith <jules@op59.net>
+792c922fc83aed63090fb37ffc823e75ec8f9c5c
+
+
+ Coverity 95077: fixed various scan-build issues with contrib/japanese/gdevmjc.c.
+
+ Some of these will correspond to coverity issues also.
+
+contrib/japanese/gdevmjc.c
+
+
+
+2019-11-28 15:44:05 +0000
+
+
Julian Smith <jules@op59.net>
+efff831b1f3a00c69a32b4edd48614d583f9034a
+
+
+ Coverity 95077: removed unused assignment to <H> variable.
+
+contrib/japanese/gdevmjc.c
+
+
+
+2019-11-28 12:05:43 +0000
+
+
Julian Smith <jules@op59.net>
+94190ff3e48c36a8538a3aba252e2b56909f6984
+
+
+ Coverity 95034: avoid warnings about ignoring return from gs_note_error().
+
+contrib/pcl3/src/gdevpcl3.c
+
+
+
+2019-11-28 11:32:14 +0000
+
+
Julian Smith <jules@op59.net>
+c9f669385954f205d395cbacb2b611d659b3ebf9
+
+
+ Coverity 350199: add '-tainted_data_return' annotation.
+
+ This makes this annotation match what has worked elsewhere.
+
+base/scfe.c
+
+
+
+2019-11-28 14:36:52 +0000
+
+
Chris Liddell <chris.liddell@artifex.com>
+fd2b1946fe5a4a8c029324c15f9bd606a489f543
+
+
+ Include the source file libtiff webp compression support
+
+ If the webp lib is available, it could cause linker failures if we don't
+ include the source file.
+
+base/tiff.mak
+
+
+
+2019-11-28 11:29:03 +0000
+
+
Chris Liddell <chris.liddell@artifex.com>
+874ef8cf7f0af2efae3d7fb6598013be5d277384
+
+
+ Enable jpeg support in libtiff if possible
+
+base/tiff.mak
+configure.ac
+psi/msvc.mak
+
+
+
+2019-11-27 15:29:04 +0000
+
+
Julian Smith <jules@op59.net>
+15f3faeffff7d1b2658b824262314091f7af088b
+
+
+ Coverity 95034: move code so that we have one less call to pcl_cm_is_differential().
+
+ fixes scan-build issue, e.g.:
+ scan-build -o ../scan-build-out make sanitize
+
+contrib/pcl3/src/gdevpcl3.c
+
+
+
+2019-11-27 15:27:25 +0000
+
+
Julian Smith <jules@op59.net>
+6e8c15137a70012776c1b163d7480e1a2cc7c61b
+
+
+ Coverity 95034: removed use of guard() macro.
+
+ Instead use static fn to convert error codes, with explicit inline code.
+
+contrib/pcl3/src/gdevpcl3.c
+
+
+
+2019-11-27 14:29:41 +0000
+
+
Julian Smith <jules@op59.net>
+7e1c4da27805ab9b545bc8ab5b0747c37b69454c
+
+
+ Coverity 95034: refactor pcl3_print_page() to avoid leaks.
+
+contrib/pcl3/src/gdevpcl3.c
+
+
+
+2019-11-27 13:11:29 +0000
+
+
Julian Smith <jules@op59.net>
+1df794e69d9f29dae215e50cf328ccad40fe29e8
+
+
+ Coverity 95027: fix off-by-one when bounds-checking against LIPS_MEDIACHAR_MAX.
+
+contrib/lips4/gdevl4r.c
+
+
+
+2019-11-27 12:52:17 +0000
+
+
Julian Smith <jules@op59.net>
+e9ccb4139c5f3fb89a5f4d6554e73323dbf73641
+
+
+ Coverity 94957: Call dlclose() to avoid leaks of handles from dlopen().
+
+contrib/opvp/gdevopvp.c
+
+
+
+2019-11-27 11:39:28 +0000
+
+
Julian Smith <jules@op59.net>
+e4dcc70672b447df52b0a3c7976ab6ece280841e
+
+
+ Coverity 350199: mark cf_encode_1d() as not tainting lbuf.
+
+ This may work better than the previous annotation.
+
+base/scfe.c
+
+
+
+2019-11-26 12:04:54 -0800
+
+
Ray Johnston <ray.johnston@artifex.com>
+334132f45320ef35b54032c053c100d07e02ec98
+
+
+ Fix problems seen with m8510 device and improve gdev_prn_copy_scan_lines
+
+ Previous patch made this device pay attention to return code from the
+ gdev_prn_copy_scan_lines, which caused the all_devices test to get an error.
+
+ Also this device would get an ioerror if the page width was not a multiple
+ of 8. Fix m8510_output_run to round up when setting out_end, bullet proof
+ check of count so we don't try and print with a negative count.
+
+ Also fix gdev_prn_copy_scan_lines to return count == 0 if the starting
+ line is past the end of the page, and fill lines past end of page with
+ zeroes if the count did not fill it (or if there was an error from
+ gdev_prn_get_bits).
+
+base/gdevprn.c
+devices/gdev8510.c
+
+
+
+2019-11-26 14:43:58 +0000
+
+
Robin Watts <Robin.Watts@artifex.com>
+23b4705f975ee0d4288ad47e62ffb8737ced48a8
+
+
+ GPDL PNG support
+
+gpdl/gpdl.mak
+gpdl/jp2ktop.c
+gpdl/pngtop.c
+pcl/pl/plimpl.c
+windows/ghostpdl.vcproj
+
+
+
+2019-11-26 14:35:05 +0000
+
+
Robin Watts <Robin.Watts@artifex.com>
+b772aaf901a3cd37baf5c06eb141c689829bf673
+
+
+ Bug 701949: Add 'omitEOD' flag to RLE compressor and use for PXL.
+
+ It turns out that some printers (Samsung ML-2250 and Canon
+ ImageRunner iRC2380i at least) object to the EOD byte appearing
+ in RLE data in PXL streams.
+
+ Ken kindly checked the PXL spec for me, and found that: "The PXL
+ spec does say a control code of -128 is ignored and not included
+ in the decompressed data and the byte following a control byte
+ of 128 (I assume they mean -128 here) is treated as the next
+ control byte. And PCL only uses RLE data for images, so they do
+ know how much data they expect."
+
+ Thus, the conclusion we reached is that PCL/PXL don't need
+ (indeed, really does not want) the EOD byte.
+
+ The Postscript spec clearly defines the EOD byte though. Rather
+ than break the streams for postscript, we introduce a flag
+ 'omitEOD' that can be set for the encoder when we want to produce
+ a stream for use with PCL/PXL.
+
+base/srle.c
+base/srlx.h
+devices/vector/gdevpx.c
+psi/zfilter.c
+
+
+
+2019-11-27 13:27:35 +0000
+
+
Chris Liddell <chris.liddell@artifex.com>
+c9ed069d86f291dc3118ee96f76765432ac478e3
+
+
+ Update thirdparty.htm to reflect updated libs
+
+doc/thirdparty.htm
+
+
+
+2019-11-26 14:39:02 +0000
+
+
Chris Liddell <chris.liddell@artifex.com>
+79ac3f84060fbd5447219264ab0bcf89c7caa2cf
+
+
+ Update Freetype to 2.4.10
+
+ Plus makefile updates to support it
+
+ Bug 701288: Handle SEAC ligature glyph metrics correctly.
+
+ As originally intended, a Type 1 SEAC charstring would be used for an accented
+ glyph (like an a-caron, or u-umlaut) where the advance with of the SEAC glyph
+ is the same as that of the 'base' glyph ('a' or 'u').
+
+ It this case, it is not uncommon for the SEAC to skip using an (H)SBW op code
+ and rely on the one from the base glyph.
+
+ But out of spec fonts also use SEAC glyphs ligature glyphs (like 'oe' or 'fi'),
+ and in those cases the overall advance width is greater than that of the 'base'
+ glyph.
+
+ In this case, we have to allow for the SEAC glyph having included an (H)SBW and
+ if it has, retain those values, rather than those from the base glyph.
+
+ Rename file and make file change to match
+
+ Avoids file name clash with freetype 2.4.10
+
+ Work around a change in the zlib API for 1.2.11
+
+ where it's used in the Freetype/zlib interface debugging code.
+
+base/freetype.mak
+base/lcupsi.mak
+cups/libs/filter/cupsraster.c
+freetype/CMakeLists.txt
+freetype/ChangeLog
+freetype/ChangeLog.20
+freetype/ChangeLog.21
+freetype/ChangeLog.22
+freetype/ChangeLog.23
+freetype/ChangeLog.24
+freetype/ChangeLog.25
+freetype/ChangeLog.26
+freetype/ChangeLog.27
+freetype/ChangeLog.28
+freetype/ChangeLog.29
+freetype/Jamfile
+freetype/Jamrules
+freetype/Makefile
+freetype/README
+freetype/README.git
+freetype/autogen.sh
+freetype/builds/amiga/README
+freetype/builds/amiga/include/config/ftconfig.h
+freetype/builds/amiga/include/config/ftmodule.h
+freetype/builds/amiga/makefile
+freetype/builds/amiga/makefile.os4
+freetype/builds/amiga/smakefile
+freetype/builds/amiga/src/base/ftdebug.c
+freetype/builds/amiga/src/base/ftsystem.c
+freetype/builds/ansi/ansi-def.mk
+freetype/builds/ansi/ansi.mk
+freetype/builds/beos/beos-def.mk
+freetype/builds/beos/beos.mk
+freetype/builds/beos/detect.mk
+freetype/builds/cmake/iOS.cmake
+freetype/builds/cmake/testbuild.sh
+freetype/builds/compiler/ansi-cc.mk
+freetype/builds/compiler/bcc-dev.mk
+freetype/builds/compiler/bcc.mk
+freetype/builds/compiler/emx.mk
+freetype/builds/compiler/gcc-dev.mk
+freetype/builds/compiler/gcc.mk
+freetype/builds/compiler/intelc.mk
+freetype/builds/compiler/unix-lcc.mk
+freetype/builds/compiler/visualage.mk
+freetype/builds/compiler/visualc.mk
+freetype/builds/compiler/watcom.mk
+freetype/builds/compiler/win-lcc.mk
+freetype/builds/detect.mk
+freetype/builds/dos/detect.mk
+freetype/builds/dos/dos-def.mk
+freetype/builds/dos/dos-emx.mk
+freetype/builds/dos/dos-gcc.mk
+freetype/builds/dos/dos-wat.mk
+freetype/builds/exports.mk
+freetype/builds/freetype.mk
+freetype/builds/link_dos.mk
+freetype/builds/link_std.mk
+freetype/builds/mac/README
+freetype/builds/mac/freetype-Info.plist
+freetype/builds/mac/ftmac.c
+freetype/builds/modules.mk
+freetype/builds/os2/detect.mk
+freetype/builds/os2/os2-def.mk
+freetype/builds/os2/os2-dev.mk
+freetype/builds/os2/os2-gcc.mk
+freetype/builds/symbian/bld.inf
+freetype/builds/symbian/freetype.mmp
+freetype/builds/toplevel.mk
+freetype/builds/unix/aclocal.m4
+freetype/builds/unix/config.guess
+freetype/builds/unix/config.sub
+freetype/builds/unix/configure
+freetype/builds/unix/configure.ac
+freetype/builds/unix/configure.raw
+freetype/builds/unix/detect.mk
+freetype/builds/unix/freetype-config.in
+freetype/builds/unix/freetype2.m4
+freetype/builds/unix/ft-munmap.m4
+freetype/builds/unix/ftconfig.in
+freetype/builds/unix/ftsystem.c
+freetype/builds/unix/install-sh
+freetype/builds/unix/install.mk
+freetype/builds/unix/ltmain.sh
+freetype/builds/unix/unix-cc.in
+freetype/builds/unix/unix-def.in
+freetype/builds/unix/unix-dev.mk
+freetype/builds/unix/unix-lcc.mk
+freetype/builds/unix/unix.mk
+freetype/builds/unix/unixddef.mk
+freetype/builds/vms/LIBS.OPT_IA64
+freetype/builds/vms/_LINK.OPT_IA64
+freetype/builds/vms/ftconfig.h
+freetype/builds/vms/ftsystem.c
+freetype/builds/vms/vmslib.dat
+freetype/builds/wince/ftdebug.c
+freetype/builds/wince/vc2005-ce/freetype.vcproj
+freetype/builds/wince/vc2005-ce/index.html
+freetype/builds/wince/vc2008-ce/freetype.vcproj
+freetype/builds/wince/vc2008-ce/index.html
+freetype/builds/windows/detect.mk
+freetype/builds/windows/ftdebug.c
+freetype/builds/windows/vc2005/freetype.sln
+freetype/builds/windows/vc2005/freetype.vcproj
+freetype/builds/windows/vc2005/index.html
+freetype/builds/windows/vc2008/freetype.sln
+freetype/builds/windows/vc2008/freetype.vcproj
+freetype/builds/windows/vc2008/index.html
+freetype/builds/windows/vc2010/freetype.vcxproj
+freetype/builds/windows/vc2010/freetype.vcxproj.filters
+freetype/builds/windows/vc2010/index.html
+freetype/builds/windows/visualc/freetype.dsp
+freetype/builds/windows/visualc/freetype.sln
+freetype/builds/windows/visualc/freetype.vcproj
+freetype/builds/windows/visualc/index.html
+freetype/builds/windows/visualce/freetype.dsp
+freetype/builds/windows/visualce/freetype.vcproj
+freetype/builds/windows/visualce/index.html
+freetype/builds/windows/w32-bcc.mk
+freetype/builds/windows/w32-bccd.mk
+freetype/builds/windows/w32-dev.mk
+freetype/builds/windows/w32-gcc.mk
+freetype/builds/windows/w32-icc.mk
+freetype/builds/windows/w32-intl.mk
+freetype/builds/windows/w32-lcc.mk
+freetype/builds/windows/w32-mingw32.mk
+freetype/builds/windows/w32-vcc.mk
+freetype/builds/windows/w32-wat.mk
+freetype/builds/windows/win32-def.mk
+freetype/configure
+freetype/devel/ft2build.h
+freetype/devel/ftoption.h
+freetype/docs/CHANGES
+freetype/docs/CUSTOMIZE
+freetype/docs/DEBUG
+freetype/docs/DOCGUIDE
+freetype/docs/INSTALL
+freetype/docs/INSTALL.ANY
+freetype/docs/INSTALL.CROSS
+freetype/docs/INSTALL.GNU
+freetype/docs/INSTALL.UNIX
+freetype/docs/INSTALL.VMS
+freetype/docs/MAKEPP
+freetype/docs/TODO
+freetype/docs/VERSIONS.TXT
+freetype/docs/formats.txt
+freetype/docs/freetype-config.1
+freetype/docs/raster.txt
+freetype/docs/reference/README
+freetype/docs/reference/ft2-auto_hinter.html
+freetype/docs/reference/ft2-base_interface.html
+freetype/docs/reference/ft2-basic_types.html
+freetype/docs/reference/ft2-bdf_fonts.html
+freetype/docs/reference/ft2-bitmap_handling.html
+freetype/docs/reference/ft2-bzip2.html
+freetype/docs/reference/ft2-cache_subsystem.html
+freetype/docs/reference/ft2-cff_driver.html
+freetype/docs/reference/ft2-cid_fonts.html
+freetype/docs/reference/ft2-computations.html
+freetype/docs/reference/ft2-error_code_values.html
+freetype/docs/reference/ft2-error_enumerations.html
+freetype/docs/reference/ft2-font_formats.html
+freetype/docs/reference/ft2-gasp_table.html
+freetype/docs/reference/ft2-glyph_management.html
+freetype/docs/reference/ft2-glyph_stroker.html
+freetype/docs/reference/ft2-glyph_variants.html
+freetype/docs/reference/ft2-gx_validation.html
+freetype/docs/reference/ft2-gzip.html
+freetype/docs/reference/ft2-header_file_macros.html
+freetype/docs/reference/ft2-header_inclusion.html
+freetype/docs/reference/ft2-incremental.html
+freetype/docs/reference/ft2-index.html
+freetype/docs/reference/ft2-lcd_filtering.html
+freetype/docs/reference/ft2-list_processing.html
+freetype/docs/reference/ft2-lzw.html
+freetype/docs/reference/ft2-mac_specific.html
+freetype/docs/reference/ft2-module_management.html
+freetype/docs/reference/ft2-multiple_masters.html
+freetype/docs/reference/ft2-ot_validation.html
+freetype/docs/reference/ft2-outline_processing.html
+freetype/docs/reference/ft2-parameter_tags.html
+freetype/docs/reference/ft2-pcf_driver.html
+freetype/docs/reference/ft2-pfr_fonts.html
+freetype/docs/reference/ft2-properties.html
+freetype/docs/reference/ft2-quick_advance.html
+freetype/docs/reference/ft2-raster.html
+freetype/docs/reference/ft2-sfnt_names.html
+freetype/docs/reference/ft2-sizes_management.html
+freetype/docs/reference/ft2-system_interface.html
+freetype/docs/reference/ft2-t1_cid_driver.html
+freetype/docs/reference/ft2-toc.html
+freetype/docs/reference/ft2-truetype_engine.html
+freetype/docs/reference/ft2-truetype_tables.html
+freetype/docs/reference/ft2-tt_driver.html
+freetype/docs/reference/ft2-type1_tables.html
+freetype/docs/reference/ft2-user_allocation.html
+freetype/docs/reference/ft2-version.html
+freetype/docs/reference/ft2-winfnt_fonts.html
+freetype/docs/reference/site/404.html
+freetype/docs/reference/site/assets/fonts/font-awesome.css
+freetype/docs/reference/site/assets/fonts/material-icons.css
+freetype/docs/reference/site/assets/fonts/specimen/FontAwesome.ttf
+freetype/docs/reference/site/assets/fonts/specimen/FontAwesome.woff
+freetype/docs/reference/site/assets/fonts/specimen/FontAwesome.woff2
+freetype/docs/reference/site/assets/fonts/specimen/MaterialIcons-Regular.ttf
+freetype/docs/reference/site/assets/fonts/specimen/MaterialIcons-Regular.woff
+freetype/docs/reference/site/assets/fonts/specimen/MaterialIcons-Regular.woff2
+freetype/docs/reference/site/assets/images/favicon.png
+freetype/docs/reference/site/assets/images/icons/bitbucket.1b09e088.svg
+freetype/docs/reference/site/assets/images/icons/github.f0b8504a.svg
+freetype/docs/reference/site/assets/images/icons/gitlab.6dd19c00.svg
+freetype/docs/reference/site/assets/javascripts/application.d9aa80ab.js
+freetype/docs/reference/site/assets/javascripts/lunr/lunr.da.js
+freetype/docs/reference/site/assets/javascripts/lunr/lunr.de.js
+freetype/docs/reference/site/assets/javascripts/lunr/lunr.du.js
+freetype/docs/reference/site/assets/javascripts/lunr/lunr.es.js
+freetype/docs/reference/site/assets/javascripts/lunr/lunr.fi.js
+freetype/docs/reference/site/assets/javascripts/lunr/lunr.fr.js
+freetype/docs/reference/site/assets/javascripts/lunr/lunr.hu.js
+freetype/docs/reference/site/assets/javascripts/lunr/lunr.it.js
+freetype/docs/reference/site/assets/javascripts/lunr/lunr.ja.js
+freetype/docs/reference/site/assets/javascripts/lunr/lunr.jp.js
+freetype/docs/reference/site/assets/javascripts/lunr/lunr.multi.js
+freetype/docs/reference/site/assets/javascripts/lunr/lunr.nl.js
+freetype/docs/reference/site/assets/javascripts/lunr/lunr.no.js
+freetype/docs/reference/site/assets/javascripts/lunr/lunr.pt.js
+freetype/docs/reference/site/assets/javascripts/lunr/lunr.ro.js
+freetype/docs/reference/site/assets/javascripts/lunr/lunr.ru.js
+freetype/docs/reference/site/assets/javascripts/lunr/lunr.stemmer.support.js
+freetype/docs/reference/site/assets/javascripts/lunr/lunr.sv.js
+freetype/docs/reference/site/assets/javascripts/lunr/lunr.th.js
+freetype/docs/reference/site/assets/javascripts/lunr/lunr.tr.js
+freetype/docs/reference/site/assets/javascripts/lunr/tinyseg.js
+freetype/docs/reference/site/assets/javascripts/lunr/wordcut.js
+freetype/docs/reference/site/assets/javascripts/modernizr.1f0bcf2b.js
+freetype/docs/reference/site/assets/stylesheets/application-palette.224b79ff.css
+freetype/docs/reference/site/assets/stylesheets/application.982221ab.css
+freetype/docs/reference/site/ft2-auto_hinter.html
+freetype/docs/reference/site/ft2-base_interface.html
+freetype/docs/reference/site/ft2-basic_types.html
+freetype/docs/reference/site/ft2-bdf_fonts.html
+freetype/docs/reference/site/ft2-bitmap_handling.html
+freetype/docs/reference/site/ft2-bzip2.html
+freetype/docs/reference/site/ft2-cache_subsystem.html
+freetype/docs/reference/site/ft2-cff_driver.html
+freetype/docs/reference/site/ft2-cid_fonts.html
+freetype/docs/reference/site/ft2-color_management.html
+freetype/docs/reference/site/ft2-computations.html
+freetype/docs/reference/site/ft2-error_code_values.html
+freetype/docs/reference/site/ft2-error_enumerations.html
+freetype/docs/reference/site/ft2-font_formats.html
+freetype/docs/reference/site/ft2-gasp_table.html
+freetype/docs/reference/site/ft2-glyph_management.html
+freetype/docs/reference/site/ft2-glyph_stroker.html
+freetype/docs/reference/site/ft2-glyph_variants.html
+freetype/docs/reference/site/ft2-gx_validation.html
+freetype/docs/reference/site/ft2-gzip.html
+freetype/docs/reference/site/ft2-header_file_macros.html
+freetype/docs/reference/site/ft2-header_inclusion.html
+freetype/docs/reference/site/ft2-incremental.html
+freetype/docs/reference/site/ft2-index.html
+freetype/docs/reference/site/ft2-layer_management.html
+freetype/docs/reference/site/ft2-lcd_rendering.html
+freetype/docs/reference/site/ft2-list_processing.html
+freetype/docs/reference/site/ft2-lzw.html
+freetype/docs/reference/site/ft2-mac_specific.html
+freetype/docs/reference/site/ft2-module_management.html
+freetype/docs/reference/site/ft2-multiple_masters.html
+freetype/docs/reference/site/ft2-ot_validation.html
+freetype/docs/reference/site/ft2-outline_processing.html
+freetype/docs/reference/site/ft2-parameter_tags.html
+freetype/docs/reference/site/ft2-pcf_driver.html
+freetype/docs/reference/site/ft2-pfr_fonts.html
+freetype/docs/reference/site/ft2-properties.html
+freetype/docs/reference/site/ft2-quick_advance.html
+freetype/docs/reference/site/ft2-raster.html
+freetype/docs/reference/site/ft2-sfnt_names.html
+freetype/docs/reference/site/ft2-sizes_management.html
+freetype/docs/reference/site/ft2-system_interface.html
+freetype/docs/reference/site/ft2-t1_cid_driver.html
+freetype/docs/reference/site/ft2-truetype_engine.html
+freetype/docs/reference/site/ft2-truetype_tables.html
+freetype/docs/reference/site/ft2-tt_driver.html
+freetype/docs/reference/site/ft2-type1_tables.html
+freetype/docs/reference/site/ft2-user_allocation.html
+freetype/docs/reference/site/ft2-version.html
+freetype/docs/reference/site/ft2-winfnt_fonts.html
+freetype/docs/reference/site/images/favico.ico
+freetype/docs/reference/site/index.html
+freetype/docs/reference/site/javascripts/extra.js
+freetype/docs/reference/site/search/search_index.json
+freetype/docs/reference/site/sitemap.xml
+freetype/docs/reference/site/sitemap.xml.gz
+freetype/docs/reference/site/stylesheets/extra.css
+freetype/docs/release
+freetype/include/freetype/config/ftconfig.h
+freetype/include/freetype/config/ftheader.h
+freetype/include/freetype/config/ftmodule.h
+freetype/include/freetype/config/ftoption.h
+freetype/include/freetype/config/ftstdlib.h
+freetype/include/freetype/freetype.h
+freetype/include/freetype/ftadvanc.h
+freetype/include/freetype/ftbbox.h
+freetype/include/freetype/ftbdf.h
+freetype/include/freetype/ftbitmap.h
+freetype/include/freetype/ftbzip2.h
+freetype/include/freetype/ftcache.h
+freetype/include/freetype/ftchapters.h
+freetype/include/freetype/ftcid.h
+freetype/include/freetype/ftcolor.h
+freetype/include/freetype/ftdriver.h
+freetype/include/freetype/fterrdef.h
+freetype/include/freetype/fterrors.h
+freetype/include/freetype/ftfntfmt.h
+freetype/include/freetype/ftgasp.h
+freetype/include/freetype/ftglyph.h
+freetype/include/freetype/ftgxval.h
+freetype/include/freetype/ftgzip.h
+freetype/include/freetype/ftimage.h
+freetype/include/freetype/ftincrem.h
+freetype/include/freetype/ftlcdfil.h
+freetype/include/freetype/ftlist.h
+freetype/include/freetype/ftlzw.h
+freetype/include/freetype/ftmac.h
+freetype/include/freetype/ftmm.h
+freetype/include/freetype/ftmodapi.h
+freetype/include/freetype/ftmoderr.h
+freetype/include/freetype/ftotval.h
+freetype/include/freetype/ftoutln.h
+freetype/include/freetype/ftparams.h
+freetype/include/freetype/ftpfr.h
+freetype/include/freetype/ftrender.h
+freetype/include/freetype/ftsizes.h
+freetype/include/freetype/ftsnames.h
+freetype/include/freetype/ftstroke.h
+freetype/include/freetype/ftsynth.h
+freetype/include/freetype/ftsystem.h
+freetype/include/freetype/fttrigon.h
+freetype/include/freetype/fttypes.h
+freetype/include/freetype/ftwinfnt.h
+freetype/include/freetype/internal/autohint.h
+freetype/include/freetype/internal/cffotypes.h
+freetype/include/freetype/internal/cfftypes.h
+freetype/include/freetype/internal/ftcalc.h
+freetype/include/freetype/internal/ftdebug.h
+freetype/include/freetype/internal/ftdrv.h
+freetype/include/freetype/internal/ftgloadr.h
+freetype/include/freetype/internal/fthash.h
+freetype/include/freetype/internal/ftmemory.h
+freetype/include/freetype/internal/ftobjs.h
+freetype/include/freetype/internal/ftpic.h
+freetype/include/freetype/internal/ftpsprop.h
+freetype/include/freetype/internal/ftrfork.h
+freetype/include/freetype/internal/ftserv.h
+freetype/include/freetype/internal/ftstream.h
+freetype/include/freetype/internal/fttrace.h
+freetype/include/freetype/internal/ftvalid.h
+freetype/include/freetype/internal/internal.h
+freetype/include/freetype/internal/psaux.h
+freetype/include/freetype/internal/pshints.h
+freetype/include/freetype/internal/services/svbdf.h
+freetype/include/freetype/internal/services/svcfftl.h
+freetype/include/freetype/internal/services/svcid.h
+freetype/include/freetype/internal/services/svfntfmt.h
+freetype/include/freetype/internal/services/svgldict.h
+freetype/include/freetype/internal/services/svgxval.h
+freetype/include/freetype/internal/services/svkern.h
+freetype/include/freetype/internal/services/svmetric.h
+freetype/include/freetype/internal/services/svmm.h
+freetype/include/freetype/internal/services/svotval.h
+freetype/include/freetype/internal/services/svpfr.h
+freetype/include/freetype/internal/services/svpostnm.h
+freetype/include/freetype/internal/services/svprop.h
+freetype/include/freetype/internal/services/svpscmap.h
+freetype/include/freetype/internal/services/svpsinfo.h
+freetype/include/freetype/internal/services/svsfnt.h
+freetype/include/freetype/internal/services/svttcmap.h
+freetype/include/freetype/internal/services/svtteng.h
+freetype/include/freetype/internal/services/svttglyf.h
+freetype/include/freetype/internal/services/svwinfnt.h
+freetype/include/freetype/internal/sfnt.h
+freetype/include/freetype/internal/t1types.h
+freetype/include/freetype/internal/tttypes.h
+freetype/include/freetype/internal/wofftypes.h
+freetype/include/freetype/t1tables.h
+freetype/include/freetype/ttnameid.h
+freetype/include/freetype/tttables.h
+freetype/include/freetype/tttags.h
+freetype/include/ft2build.h
+freetype/modules.cfg
+freetype/src/Jamfile
+freetype/src/autofit/Jamfile
+freetype/src/autofit/afangles.c
+freetype/src/autofit/afangles.h
+freetype/src/autofit/afblue.c
+freetype/src/autofit/afblue.cin
+freetype/src/autofit/afblue.dat
+freetype/src/autofit/afblue.h
+freetype/src/autofit/afblue.hin
+freetype/src/autofit/afcjk.c
+freetype/src/autofit/afcjk.h
+freetype/src/autofit/afcover.h
+freetype/src/autofit/afdummy.c
+freetype/src/autofit/afdummy.h
+freetype/src/autofit/aferrors.h
+freetype/src/autofit/afglobal.c
+freetype/src/autofit/afglobal.h
+freetype/src/autofit/afhints.c
+freetype/src/autofit/afhints.h
+freetype/src/autofit/afindic.c
+freetype/src/autofit/afindic.h
+freetype/src/autofit/aflatin.c
+freetype/src/autofit/aflatin.h
+freetype/src/autofit/aflatin2.c
+freetype/src/autofit/aflatin2.h
+freetype/src/autofit/afloader.c
+freetype/src/autofit/afloader.h
+freetype/src/autofit/afmodule.c
+freetype/src/autofit/afmodule.h
+freetype/src/autofit/afpic.c
+freetype/src/autofit/afpic.h
+freetype/src/autofit/afranges.c
+freetype/src/autofit/afranges.h
+freetype/src/autofit/afscript.h
+freetype/src/autofit/afshaper.c
+freetype/src/autofit/afshaper.h
+freetype/src/autofit/afstyles.h
+freetype/src/autofit/aftypes.h
+freetype/src/autofit/afwarp.c
+freetype/src/autofit/afwarp.h
+freetype/src/autofit/afwrtsys.h
+freetype/src/autofit/autofit.c
+freetype/src/autofit/module.mk
+freetype/src/autofit/rules.mk
+freetype/src/base/Jamfile
+freetype/src/base/basepic.c
+freetype/src/base/basepic.h
+freetype/src/base/ftadvanc.c
+freetype/src/base/ftapi.c
+freetype/src/base/ftbase.c
+freetype/src/base/ftbase.h
+freetype/src/base/ftbbox.c
+freetype/src/base/ftbdf.c
+freetype/src/base/ftbitmap.c
+freetype/src/base/ftcalc.c
+freetype/src/base/ftcid.c
+freetype/src/base/ftcolor.c
+freetype/src/base/ftdbgmem.c
+freetype/src/base/ftdebug.c
+freetype/src/base/fterrors.c
+freetype/src/base/ftfntfmt.c
+freetype/src/base/ftfstype.c
+freetype/src/base/ftgasp.c
+freetype/src/base/ftgloadr.c
+freetype/src/base/ftglyph.c
+freetype/src/base/ftgxval.c
+freetype/src/base/fthash.c
+freetype/src/base/ftinit.c
+freetype/src/base/ftlcdfil.c
+freetype/src/base/ftmac.c
+freetype/src/base/ftmm.c
+freetype/src/base/ftobjs.c
+freetype/src/base/ftotval.c
+freetype/src/base/ftoutln.c
+freetype/src/base/ftpatent.c
+freetype/src/base/ftpfr.c
+freetype/src/base/ftpic.c
+freetype/src/base/ftpsprop.c
+freetype/src/base/ftrfork.c
+freetype/src/base/ftsnames.c
+freetype/src/base/ftstream.c
+freetype/src/base/ftstroke.c
+freetype/src/base/ftsynth.c
+freetype/src/base/ftsystem.c
+freetype/src/base/fttrigon.c
+freetype/src/base/fttype1.c
+freetype/src/base/ftutil.c
+freetype/src/base/ftver.rc
+freetype/src/base/ftwinfnt.c
+freetype/src/base/rules.mk
+freetype/src/bdf/Jamfile
+freetype/src/bdf/bdf.h
+freetype/src/bdf/bdfdrivr.c
+freetype/src/bdf/bdfdrivr.h
+freetype/src/bdf/bdferror.h
+freetype/src/bdf/bdflib.c
+freetype/src/bzip2/Jamfile
+freetype/src/bzip2/ftbzip2.c
+freetype/src/bzip2/rules.mk
+freetype/src/cache/Jamfile
+freetype/src/cache/ftcache.c
+freetype/src/cache/ftcbasic.c
+freetype/src/cache/ftccache.c
+freetype/src/cache/ftccache.h
+freetype/src/cache/ftccback.h
+freetype/src/cache/ftccmap.c
+freetype/src/cache/ftcerror.h
+freetype/src/cache/ftcglyph.c
+freetype/src/cache/ftcglyph.h
+freetype/src/cache/ftcimage.c
+freetype/src/cache/ftcimage.h
+freetype/src/cache/ftcmanag.c
+freetype/src/cache/ftcmanag.h
+freetype/src/cache/ftcmru.c
+freetype/src/cache/ftcmru.h
+freetype/src/cache/ftcsbits.c
+freetype/src/cache/ftcsbits.h
+freetype/src/cache/rules.mk
+freetype/src/cff/Jamfile
+freetype/src/cff/cff.c
+freetype/src/cff/cffcmap.c
+freetype/src/cff/cffcmap.h
+freetype/src/cff/cffdrivr.c
+freetype/src/cff/cffdrivr.h
+freetype/src/cff/cfferrs.h
+freetype/src/cff/cffgload.c
+freetype/src/cff/cffgload.h
+freetype/src/cff/cffload.c
+freetype/src/cff/cffload.h
+freetype/src/cff/cffobjs.c
+freetype/src/cff/cffobjs.h
+freetype/src/cff/cffparse.c
+freetype/src/cff/cffparse.h
+freetype/src/cff/cffpic.c
+freetype/src/cff/cffpic.h
+freetype/src/cff/cfftoken.h
+freetype/src/cff/module.mk
+freetype/src/cff/rules.mk
+freetype/src/cid/Jamfile
+freetype/src/cid/ciderrs.h
+freetype/src/cid/cidgload.c
+freetype/src/cid/cidgload.h
+freetype/src/cid/cidload.c
+freetype/src/cid/cidload.h
+freetype/src/cid/cidobjs.c
+freetype/src/cid/cidobjs.h
+freetype/src/cid/cidparse.c
+freetype/src/cid/cidparse.h
+freetype/src/cid/cidriver.c
+freetype/src/cid/cidriver.h
+freetype/src/cid/cidtoken.h
+freetype/src/cid/module.mk
+freetype/src/cid/rules.mk
+freetype/src/cid/type1cid.c
+freetype/src/gxvalid/Jamfile
+freetype/src/gxvalid/README
+freetype/src/gxvalid/gxvalid.c
+freetype/src/gxvalid/gxvalid.h
+freetype/src/gxvalid/gxvbsln.c
+freetype/src/gxvalid/gxvcommn.c
+freetype/src/gxvalid/gxvcommn.h
+freetype/src/gxvalid/gxverror.h
+freetype/src/gxvalid/gxvfeat.c
+freetype/src/gxvalid/gxvfeat.h
+freetype/src/gxvalid/gxvfgen.c
+freetype/src/gxvalid/gxvjust.c
+freetype/src/gxvalid/gxvkern.c
+freetype/src/gxvalid/gxvlcar.c
+freetype/src/gxvalid/gxvmod.c
+freetype/src/gxvalid/gxvmod.h
+freetype/src/gxvalid/gxvmort.c
+freetype/src/gxvalid/gxvmort.h
+freetype/src/gxvalid/gxvmort0.c
+freetype/src/gxvalid/gxvmort1.c
+freetype/src/gxvalid/gxvmort2.c
+freetype/src/gxvalid/gxvmort4.c
+freetype/src/gxvalid/gxvmort5.c
+freetype/src/gxvalid/gxvmorx.c
+freetype/src/gxvalid/gxvmorx.h
+freetype/src/gxvalid/gxvmorx0.c
+freetype/src/gxvalid/gxvmorx1.c
+freetype/src/gxvalid/gxvmorx2.c
+freetype/src/gxvalid/gxvmorx4.c
+freetype/src/gxvalid/gxvmorx5.c
+freetype/src/gxvalid/gxvopbd.c
+freetype/src/gxvalid/gxvprop.c
+freetype/src/gxvalid/gxvtrak.c
+freetype/src/gxvalid/module.mk
+freetype/src/gxvalid/rules.mk
+freetype/src/gzip/Jamfile
+freetype/src/gzip/ftgzip.c
+freetype/src/gzip/infblock.c
+freetype/src/gzip/infcodes.c
+freetype/src/gzip/inflate.c
+freetype/src/gzip/rules.mk
+freetype/src/lzw/Jamfile
+freetype/src/lzw/ftlzw.c
+freetype/src/lzw/ftzopen.c
+freetype/src/lzw/ftzopen.h
+freetype/src/lzw/rules.mk
+freetype/src/otvalid/Jamfile
+freetype/src/otvalid/module.mk
+freetype/src/otvalid/otvalid.c
+freetype/src/otvalid/otvalid.h
+freetype/src/otvalid/otvbase.c
+freetype/src/otvalid/otvcommn.c
+freetype/src/otvalid/otvcommn.h
+freetype/src/otvalid/otverror.h
+freetype/src/otvalid/otvgdef.c
+freetype/src/otvalid/otvgpos.c
+freetype/src/otvalid/otvgpos.h
+freetype/src/otvalid/otvgsub.c
+freetype/src/otvalid/otvjstf.c
+freetype/src/otvalid/otvmath.c
+freetype/src/otvalid/otvmod.c
+freetype/src/otvalid/otvmod.h
+freetype/src/otvalid/rules.mk
+freetype/src/pcf/Jamfile
+freetype/src/pcf/pcf.h
+freetype/src/pcf/pcfdrivr.c
+freetype/src/pcf/pcfdrivr.h
+freetype/src/pcf/pcferror.h
+freetype/src/pcf/pcfread.c
+freetype/src/pcf/pcfutil.c
+freetype/src/pfr/Jamfile
+freetype/src/pfr/module.mk
+freetype/src/pfr/pfr.c
+freetype/src/pfr/pfrcmap.c
+freetype/src/pfr/pfrcmap.h
+freetype/src/pfr/pfrdrivr.c
+freetype/src/pfr/pfrdrivr.h
+freetype/src/pfr/pfrerror.h
+freetype/src/pfr/pfrgload.c
+freetype/src/pfr/pfrgload.h
+freetype/src/pfr/pfrload.c
+freetype/src/pfr/pfrload.h
+freetype/src/pfr/pfrobjs.c
+freetype/src/pfr/pfrobjs.h
+freetype/src/pfr/pfrsbit.c
+freetype/src/pfr/pfrsbit.h
+freetype/src/pfr/pfrtypes.h
+freetype/src/pfr/rules.mk
+freetype/src/psaux/Jamfile
+freetype/src/psaux/afmparse.c
+freetype/src/psaux/afmparse.h
+freetype/src/psaux/cffdecode.c
+freetype/src/psaux/cffdecode.h
+freetype/src/psaux/module.mk
+freetype/src/psaux/psarrst.c
+freetype/src/psaux/psarrst.h
+freetype/src/psaux/psaux.c
+freetype/src/psaux/psauxerr.h
+freetype/src/psaux/psauxmod.c
+freetype/src/psaux/psauxmod.h
+freetype/src/psaux/psblues.c
+freetype/src/psaux/psblues.h
+freetype/src/psaux/psconv.c
+freetype/src/psaux/psconv.h
+freetype/src/psaux/pserror.c
+freetype/src/psaux/pserror.h
+freetype/src/psaux/psfixed.h
+freetype/src/psaux/psfont.c
+freetype/src/psaux/psfont.h
+freetype/src/psaux/psft.c
+freetype/src/psaux/psft.h
+freetype/src/psaux/psglue.h
+freetype/src/psaux/pshints.c
+freetype/src/psaux/pshints.h
+freetype/src/psaux/psintrp.c
+freetype/src/psaux/psintrp.h
+freetype/src/psaux/psobjs.c
+freetype/src/psaux/psobjs.h
+freetype/src/psaux/psread.c
+freetype/src/psaux/psread.h
+freetype/src/psaux/psstack.c
+freetype/src/psaux/psstack.h
+freetype/src/psaux/pstypes.h
+freetype/src/psaux/rules.mk
+freetype/src/psaux/t1cmap.c
+freetype/src/psaux/t1cmap.h
+freetype/src/psaux/t1decode.c
+freetype/src/psaux/t1decode.h
+freetype/src/pshinter/Jamfile
+freetype/src/pshinter/module.mk
+freetype/src/pshinter/pshalgo.c
+freetype/src/pshinter/pshalgo.h
+freetype/src/pshinter/pshglob.c
+freetype/src/pshinter/pshglob.h
+freetype/src/pshinter/pshinter.c
+freetype/src/pshinter/pshmod.c
+freetype/src/pshinter/pshmod.h
+freetype/src/pshinter/pshnterr.h
+freetype/src/pshinter/pshpic.c
+freetype/src/pshinter/pshpic.h
+freetype/src/pshinter/pshrec.c
+freetype/src/pshinter/pshrec.h
+freetype/src/pshinter/rules.mk
+freetype/src/psnames/Jamfile
+freetype/src/psnames/module.mk
+freetype/src/psnames/psmodule.c
+freetype/src/psnames/psmodule.h
+freetype/src/psnames/psnamerr.h
+freetype/src/psnames/psnames.c
+freetype/src/psnames/pspic.c
+freetype/src/psnames/pspic.h
+freetype/src/psnames/pstables.h
+freetype/src/psnames/rules.mk
+freetype/src/raster/Jamfile
+freetype/src/raster/ftmisc.h
+freetype/src/raster/ftraster.c
+freetype/src/raster/ftraster.h
+freetype/src/raster/ftrend1.c
+freetype/src/raster/ftrend1.h
+freetype/src/raster/module.mk
+freetype/src/raster/raster.c
+freetype/src/raster/rasterrs.h
+freetype/src/raster/rastpic.c
+freetype/src/raster/rastpic.h
+freetype/src/raster/rules.mk
+freetype/src/sfnt/Jamfile
+freetype/src/sfnt/module.mk
+freetype/src/sfnt/pngshim.c
+freetype/src/sfnt/pngshim.h
+freetype/src/sfnt/rules.mk
+freetype/src/sfnt/sfdriver.c
+freetype/src/sfnt/sfdriver.h
+freetype/src/sfnt/sferrors.h
+freetype/src/sfnt/sfnt.c
+freetype/src/sfnt/sfntpic.c
+freetype/src/sfnt/sfntpic.h
+freetype/src/sfnt/sfobjs.c
+freetype/src/sfnt/sfobjs.h
+freetype/src/sfnt/sfwoff.c
+freetype/src/sfnt/sfwoff.h
+freetype/src/sfnt/ttbdf.c
+freetype/src/sfnt/ttbdf.h
+freetype/src/sfnt/ttcmap.c
+freetype/src/sfnt/ttcmap.h
+freetype/src/sfnt/ttcmapc.h
+freetype/src/sfnt/ttcolr.c
+freetype/src/sfnt/ttcolr.h
+freetype/src/sfnt/ttcpal.c
+freetype/src/sfnt/ttcpal.h
+freetype/src/sfnt/ttkern.c
+freetype/src/sfnt/ttkern.h
+freetype/src/sfnt/ttload.c
+freetype/src/sfnt/ttload.h
+freetype/src/sfnt/ttmtx.c
+freetype/src/sfnt/ttmtx.h
+freetype/src/sfnt/ttpost.c
+freetype/src/sfnt/ttpost.h
+freetype/src/sfnt/ttsbit.c
+freetype/src/sfnt/ttsbit.h
+freetype/src/smooth/Jamfile
+freetype/src/smooth/ftgrays.c
+freetype/src/smooth/ftgrays.h
+freetype/src/smooth/ftsmerrs.h
+freetype/src/smooth/ftsmooth.c
+freetype/src/smooth/ftsmooth.h
+freetype/src/smooth/ftspic.c
+freetype/src/smooth/ftspic.h
+freetype/src/smooth/module.mk
+freetype/src/smooth/rules.mk
+freetype/src/smooth/smooth.c
+freetype/src/tools/afblue.pl
+freetype/src/tools/apinames.c
+freetype/src/tools/docmaker/content.py
+freetype/src/tools/docmaker/docbeauty.py
+freetype/src/tools/docmaker/docmaker.py
+freetype/src/tools/docmaker/formatter.py
+freetype/src/tools/docmaker/sources.py
+freetype/src/tools/docmaker/tohtml.py
+freetype/src/tools/docmaker/utils.py
+freetype/src/tools/ftfuzzer/README
+freetype/src/tools/ftfuzzer/ftfuzzer.cc
+freetype/src/tools/ftfuzzer/ftmutator.cc
+freetype/src/tools/ftfuzzer/rasterfuzzer.cc
+freetype/src/tools/ftfuzzer/runinput.cc
+freetype/src/tools/glnames.py
+freetype/src/tools/update-copyright-year
+freetype/src/truetype/Jamfile
+freetype/src/truetype/module.mk
+freetype/src/truetype/rules.mk
+freetype/src/truetype/truetype.c
+freetype/src/truetype/ttdriver.c
+freetype/src/truetype/ttdriver.h
+freetype/src/truetype/tterrors.h
+freetype/src/truetype/ttgload.c
+freetype/src/truetype/ttgload.h
+freetype/src/truetype/ttgxvar.c
+freetype/src/truetype/ttgxvar.h
+freetype/src/truetype/ttinterp.c
+freetype/src/truetype/ttinterp.h
+freetype/src/truetype/ttobjs.c
+freetype/src/truetype/ttobjs.h
+freetype/src/truetype/ttpic.c
+freetype/src/truetype/ttpic.h
+freetype/src/truetype/ttpload.c
+freetype/src/truetype/ttpload.h
+freetype/src/truetype/ttsubpix.c
+freetype/src/truetype/ttsubpix.h
+freetype/src/type1/Jamfile
+freetype/src/type1/module.mk
+freetype/src/type1/rules.mk
+freetype/src/type1/t1afm.c
+freetype/src/type1/t1afm.h
+freetype/src/type1/t1driver.c
+freetype/src/type1/t1driver.h
+freetype/src/type1/t1errors.h
+freetype/src/type1/t1gload.c
+freetype/src/type1/t1gload.h
+freetype/src/type1/t1load.c
+freetype/src/type1/t1load.h
+freetype/src/type1/t1objs.c
+freetype/src/type1/t1objs.h
+freetype/src/type1/t1parse.c
+freetype/src/type1/t1parse.h
+freetype/src/type1/t1tokens.h
+freetype/src/type1/type1.c
+freetype/src/type42/Jamfile
+freetype/src/type42/module.mk
+freetype/src/type42/rules.mk
+freetype/src/type42/t42drivr.c
+freetype/src/type42/t42drivr.h
+freetype/src/type42/t42error.h
+freetype/src/type42/t42objs.c
+freetype/src/type42/t42objs.h
+freetype/src/type42/t42parse.c
+freetype/src/type42/t42parse.h
+freetype/src/type42/t42types.h
+freetype/src/type42/type42.c
+freetype/src/winfonts/Jamfile
+freetype/src/winfonts/fnterrs.h
+freetype/src/winfonts/module.mk
+freetype/src/winfonts/rules.mk
+freetype/src/winfonts/winfnt.c
+freetype/src/winfonts/winfnt.h
+freetype/vms_make.com
+
+
+
+2019-11-26 17:45:08 +0000
+
+
Chris Liddell <chris.liddell@artifex.com>
+36cbd382b160ee4951d1911f85a4fa0723dd8db3
+
+
+ Update openjpeg to 2.3.1
+
+openjpeg/.gitignore
+openjpeg/.travis.yml
+openjpeg/CHANGELOG.md
+openjpeg/INSTALL.md
+openjpeg/NEWS.md
+openjpeg/appveyor.yml
+openjpeg/doc/Doxyfile.dox.cmake.in
+openjpeg/src/bin/CMakeLists.txt
+openjpeg/src/bin/common/CMakeLists.txt
+openjpeg/src/bin/common/color.c
+openjpeg/src/bin/common/color.h
+openjpeg/src/bin/common/format_defs.h
+openjpeg/src/bin/common/opj_apps_config.h.cmake.in
+openjpeg/src/bin/common/opj_getopt.c
+openjpeg/src/bin/common/opj_getopt.h
+openjpeg/src/bin/common/opj_string.h
+openjpeg/src/bin/jp2/CMakeLists.txt
+openjpeg/src/bin/jp2/convert.c
+openjpeg/src/bin/jp2/convert.h
+openjpeg/src/bin/jp2/convertbmp.c
+openjpeg/src/bin/jp2/convertpng.c
+openjpeg/src/bin/jp2/converttif.c
+openjpeg/src/bin/jp2/index.c
+openjpeg/src/bin/jp2/index.h
+openjpeg/src/bin/jp2/opj_compress.c
+openjpeg/src/bin/jp2/opj_decompress.c
+openjpeg/src/bin/jp2/opj_dump.c
+openjpeg/src/bin/jp2/windirent.h
+openjpeg/src/bin/jp3d/CMakeLists.txt
+openjpeg/src/bin/jp3d/convert.c
+openjpeg/src/bin/jp3d/convert.h
+openjpeg/src/bin/jp3d/getopt.c
+openjpeg/src/bin/jp3d/getopt.h
+openjpeg/src/bin/jp3d/opj_jp3d_compress.c
+openjpeg/src/bin/jp3d/opj_jp3d_decompress.c
+openjpeg/src/bin/jp3d/tcltk/LPI_JP3D_VM.tcl
+openjpeg/src/bin/jp3d/tcltk/README
+openjpeg/src/bin/jp3d/tcltk/Thumbs.db
+openjpeg/src/bin/jp3d/tcltk/decoder.tcl
+openjpeg/src/bin/jp3d/tcltk/encoder.tcl
+openjpeg/src/bin/jp3d/tcltk/logoLPI.gif
+openjpeg/src/bin/jp3d/windirent.h
+openjpeg/src/bin/jpip/CMakeLists.txt
+openjpeg/src/bin/jpip/README
+openjpeg/src/bin/jpip/opj_dec_server.c
+openjpeg/src/bin/jpip/opj_jpip_addxml.c
+openjpeg/src/bin/jpip/opj_jpip_test.c
+openjpeg/src/bin/jpip/opj_jpip_transcode.c
+openjpeg/src/bin/jpip/opj_server.c
+openjpeg/src/bin/jpip/opj_viewer/dist/manifest.txt
+openjpeg/src/bin/jpip/opj_viewer/src/ImageManager.java
+openjpeg/src/bin/jpip/opj_viewer/src/ImageViewer.java
+openjpeg/src/bin/jpip/opj_viewer/src/ImageWindow.java
+openjpeg/src/bin/jpip/opj_viewer/src/ImgdecClient.java
+openjpeg/src/bin/jpip/opj_viewer/src/JPIPHttpClient.java
+openjpeg/src/bin/jpip/opj_viewer/src/MML.java
+openjpeg/src/bin/jpip/opj_viewer/src/PnmImage.java
+openjpeg/src/bin/jpip/opj_viewer/src/RegimViewer.java
+openjpeg/src/bin/jpip/opj_viewer/src/ResizeListener.java
+openjpeg/src/bin/jpip/opj_viewer_xerces/dist/manifest.txt.in
+openjpeg/src/bin/jpip/opj_viewer_xerces/src/ImageViewer.java
+openjpeg/src/bin/jpip/opj_viewer_xerces/src/ImageWindow.java
+openjpeg/src/bin/jpip/opj_viewer_xerces/src/JP2XMLparser.java
+openjpeg/src/bin/jpip/opj_viewer_xerces/src/OptionPanel.java
+openjpeg/src/bin/jpwl/CMakeLists.txt
+openjpeg/src/bin/jpwl/convert.c
+openjpeg/src/bin/jpwl/convert.h
+openjpeg/src/bin/jpwl/index.c
+openjpeg/src/bin/jpwl/index.h
+openjpeg/src/bin/jpwl/opj_jpwl_compress.c
+openjpeg/src/bin/jpwl/opj_jpwl_decompress.c
+openjpeg/src/bin/jpwl/windirent.h
+openjpeg/src/bin/mj2/CMakeLists.txt
+openjpeg/src/bin/mj2/meta_out.c
+openjpeg/src/bin/mj2/meta_out.h
+openjpeg/src/bin/mj2/mj2_to_metadata.c
+openjpeg/src/bin/mj2/mj2_to_metadata.dtd
+openjpeg/src/bin/mj2/mj2_to_metadata.h
+openjpeg/src/bin/mj2/mj2_to_metadata.sln
+openjpeg/src/bin/mj2/mj2_to_metadata.vcproj
+openjpeg/src/bin/mj2/mj2_to_metadata_Notes.doc
+openjpeg/src/bin/mj2/opj_mj2_compress.c
+openjpeg/src/bin/mj2/opj_mj2_decompress.c
+openjpeg/src/bin/mj2/opj_mj2_extract.c
+openjpeg/src/bin/mj2/opj_mj2_wrap.c
+openjpeg/src/bin/mj2/readme.txt
+openjpeg/src/bin/wx/CMakeLists.txt
+openjpeg/src/bin/wx/OPJViewer/CMakeLists.txt
+openjpeg/src/bin/wx/OPJViewer/OPJViewer.iss
+openjpeg/src/bin/wx/OPJViewer/Readme.txt
+openjpeg/src/bin/wx/OPJViewer/about/about.htm
+openjpeg/src/bin/wx/OPJViewer/about/opj_logo.png
+openjpeg/src/bin/wx/OPJViewer/source/OPJAbout.cpp
+openjpeg/src/bin/wx/OPJViewer/source/OPJChild.ico
+openjpeg/src/bin/wx/OPJViewer/source/OPJChild16.xpm
+openjpeg/src/bin/wx/OPJViewer/source/OPJDialogs.cpp
+openjpeg/src/bin/wx/OPJViewer/source/OPJThreads.cpp
+openjpeg/src/bin/wx/OPJViewer/source/OPJViewer.cpp
+openjpeg/src/bin/wx/OPJViewer/source/OPJViewer.h
+openjpeg/src/bin/wx/OPJViewer/source/OPJViewer.ico
+openjpeg/src/bin/wx/OPJViewer/source/OPJViewer.rc
+openjpeg/src/bin/wx/OPJViewer/source/OPJViewer16.xpm
+openjpeg/src/bin/wx/OPJViewer/source/about_htm.h
+openjpeg/src/bin/wx/OPJViewer/source/build.h
+openjpeg/src/bin/wx/OPJViewer/source/icon1.xpm
+openjpeg/src/bin/wx/OPJViewer/source/icon2.xpm
+openjpeg/src/bin/wx/OPJViewer/source/icon3.xpm
+openjpeg/src/bin/wx/OPJViewer/source/icon4.xpm
+openjpeg/src/bin/wx/OPJViewer/source/icon5.xpm
+openjpeg/src/bin/wx/OPJViewer/source/imagjpeg2000.cpp
+openjpeg/src/bin/wx/OPJViewer/source/imagjpeg2000.h
+openjpeg/src/bin/wx/OPJViewer/source/imagmxf.cpp
+openjpeg/src/bin/wx/OPJViewer/source/imagmxf.h
+openjpeg/src/bin/wx/OPJViewer/source/license.txt
+openjpeg/src/bin/wx/OPJViewer/source/opj_logo.xpm
+openjpeg/src/bin/wx/OPJViewer/source/readmeafter.txt
+openjpeg/src/bin/wx/OPJViewer/source/readmebefore.txt
+openjpeg/src/bin/wx/OPJViewer/source/wxj2kparser.cpp
+openjpeg/src/bin/wx/OPJViewer/source/wxjp2parser.cpp
+openjpeg/src/lib/CMakeLists.txt
+openjpeg/src/lib/openjp2/CMakeLists.txt
+openjpeg/src/lib/openjp2/bench_dwt.c
+openjpeg/src/lib/openjp2/dwt.c
+openjpeg/src/lib/openjp2/image.c
+openjpeg/src/lib/openjp2/j2k.c
+openjpeg/src/lib/openjp2/jp2.c
+openjpeg/src/lib/openjp2/openjpeg.h
+openjpeg/src/lib/openjp2/opj_intmath.h
+openjpeg/src/lib/openjp2/pi.c
+openjpeg/src/lib/openjp2/t1.c
+openjpeg/src/lib/openjp2/t2.c
+openjpeg/src/lib/openjp2/tcd.c
+openjpeg/src/lib/openjp2/thread.c
+
+
+
+2019-11-26 13:19:03 +0000
+
+
Chris Liddell <chris.liddell@artifex.com>
+107babf6d3652ed9bcf26b20823ac935ba86634b
+
+
+ Update expat to 2.2.9
+
+ And small makefile tweak to support it.
+
+base/expat.mak
+expat/CMake.README
+expat/CMakeLists.txt
+expat/Changes
+expat/ConfigureChecks.cmake
+expat/Makefile.am
+expat/Makefile.in
+expat/README.md
+expat/acinclude.m4
+expat/aclocal.m4
+expat/cmake/expat-config.cmake.in
+expat/cmake/mingw-toolchain.cmake
+expat/configure
+expat/configure.ac
+expat/conftools/ac_c_bigendian_cross.m4
+expat/conftools/ar-lib
+expat/conftools/ax-append-compile-flags.m4
+expat/conftools/ax-append-flag.m4
+expat/conftools/ax-append-link-flags.m4
+expat/conftools/ax-check-compile-flag.m4
+expat/conftools/ax-check-link-flag.m4
+expat/conftools/ax-require-defined.m4
+expat/conftools/config.guess
+expat/conftools/config.sub
+expat/conftools/expatcfg-compiler-supports-visibility.m4
+expat/conftools/install-sh
+expat/conftools/ltmain.sh
+expat/conftools/missing
+expat/doc/Makefile.am
+expat/doc/Makefile.in
+expat/doc/reference.html
+expat/examples/Makefile.in
+expat/examples/elements.c
+expat/examples/elements.vcxproj
+expat/examples/elements.vcxproj.filters
+expat/examples/outline.c
+expat/examples/outline.vcxproj
+expat/examples/outline.vcxproj.filters
+expat/expat.sln
+expat/expat_config.h
+expat/expat_config.h.cmake
+expat/expat_config.h.in
+expat/fix-xmltest-log.sh
+expat/lib/Makefile.am
+expat/lib/Makefile.in
+expat/lib/asciitab.h
+expat/lib/expat.h
+expat/lib/expat.vcxproj
+expat/lib/expat.vcxproj.filters
+expat/lib/expat_external.h
+expat/lib/expat_static.vcxproj
+expat/lib/expat_static.vcxproj.filters
+expat/lib/expatw.vcxproj
+expat/lib/expatw.vcxproj.filters
+expat/lib/expatw_static.vcxproj
+expat/lib/expatw_static.vcxproj.filters
+expat/lib/iasciitab.h
+expat/lib/internal.h
+expat/lib/latin1tab.h
+expat/lib/libexpat.def
+expat/lib/libexpatw.def
+expat/lib/loadlibrary.c
+expat/lib/nametab.h
+expat/lib/siphash.h
+expat/lib/utf8tab.h
+expat/lib/winconfig.h
+expat/lib/xmlparse.c
+expat/lib/xmlrole.c
+expat/lib/xmlrole.h
+expat/lib/xmltok.c
+expat/lib/xmltok.h
+expat/lib/xmltok_impl.c
+expat/lib/xmltok_impl.h
+expat/lib/xmltok_ns.c
+expat/test-driver-wrapper.sh
+expat/tests/Makefile.in
+expat/tests/benchmark/Makefile.in
+expat/tests/benchmark/benchmark.c
+expat/tests/benchmark/benchmark.sln
+expat/tests/benchmark/benchmark.vcxproj
+expat/tests/chardata.c
+expat/tests/chardata.h
+expat/tests/memcheck.c
+expat/tests/memcheck.h
+expat/tests/minicheck.c
+expat/tests/minicheck.h
+expat/tests/runtests.c
+expat/tests/runtests.sln
+expat/tests/runtests.vcxproj
+expat/tests/runtests.vcxproj.filters
+expat/tests/structdata.c
+expat/tests/structdata.h
+expat/tests/xmltest.sh
+expat/win32/README.txt
+expat/win32/build_expat_iss.bat
+expat/win32/expat.iss
+expat/xmlwf/Makefile.am
+expat/xmlwf/Makefile.in
+expat/xmlwf/codepage.c
+expat/xmlwf/ct.c
+expat/xmlwf/filemap.h
+expat/xmlwf/readfilemap.c
+expat/xmlwf/unixfilemap.c
+expat/xmlwf/win32filemap.c
+expat/xmlwf/xmlfile.c
+expat/xmlwf/xmlfile.h
+expat/xmlwf/xmlmime.c
+expat/xmlwf/xmltchar.h
+expat/xmlwf/xmlurl.h
+expat/xmlwf/xmlwf.c
+expat/xmlwf/xmlwf.vcxproj
+expat/xmlwf/xmlwf.vcxproj.filters
+expat/xmlwf/xmlwf_helpgen.py
+expat/xmlwf/xmlwf_helpgen.sh
+expat/xmlwf/xmlwin32url.cxx
+
+
+
+2019-11-26 13:13:11 +0000
+
+
Chris Liddell <chris.liddell@artifex.com>
+f25387684b5df27653e7f89a67e04d6151b92d02
+
+
+ Update libpng to 1.6.37
+
+base/png.mak
+libpng/ANNOUNCE
+libpng/AUTHORS
+libpng/CHANGES
+libpng/CMakeLists.txt
+libpng/INSTALL
+libpng/LICENSE
+libpng/Makefile.am
+libpng/Makefile.in
+libpng/README
+libpng/TODO
+libpng/TRADEMARK
+libpng/aclocal.m4
+libpng/arm/arm_init.c
+libpng/arm/filter_neon.S
+libpng/arm/filter_neon_intrinsics.c
+libpng/arm/palette_neon_intrinsics.c
+libpng/autogen.sh
+libpng/compile
+libpng/config.guess
+libpng/config.h.in
+libpng/config.sub
+libpng/configure
+libpng/configure.ac
+libpng/contrib/conftest/pngcp.dfa
+libpng/contrib/examples/iccfrompng.c
+libpng/contrib/examples/pngpixel.c
+libpng/contrib/gregbook/readpng2.c
+libpng/contrib/libtests/makepng.c
+libpng/contrib/libtests/pngimage.c
+libpng/contrib/libtests/pngstest.c
+libpng/contrib/libtests/pngunknown.c
+libpng/contrib/libtests/pngvalid.c
+libpng/contrib/libtests/readpng.c
+libpng/contrib/libtests/tarith.c
+libpng/contrib/libtests/timepng.c
+libpng/contrib/oss-fuzz/Dockerfile
+libpng/contrib/oss-fuzz/README.txt
+libpng/contrib/oss-fuzz/build.sh
+libpng/contrib/oss-fuzz/libpng_read_fuzzer.cc
+libpng/contrib/oss-fuzz/newcc
+libpng/contrib/pngminus/CHANGES.txt
+libpng/contrib/pngminus/CMakeLists.txt
+libpng/contrib/pngminus/LICENSE.txt
+libpng/contrib/pngminus/Makefile
+libpng/contrib/pngminus/README.txt
+libpng/contrib/pngminus/makefile.std
+libpng/contrib/pngminus/makefile.tc3
+libpng/contrib/pngminus/png2pnm.bat
+libpng/contrib/pngminus/png2pnm.c
+libpng/contrib/pngminus/png2pnm.sh
+libpng/contrib/pngminus/pngminus.bat
+libpng/contrib/pngminus/pngminus.sh
+libpng/contrib/pngminus/pnm2png.bat
+libpng/contrib/pngminus/pnm2png.c
+libpng/contrib/pngminus/pnm2png.sh
+libpng/contrib/pngsuite/README
+libpng/contrib/pngsuite/bad_interlace_conversions.txt
+libpng/contrib/pngsuite/ibasn0g08.png
+libpng/contrib/pngsuite/ibasn0g16.png
+libpng/contrib/pngsuite/ibasn2c08.png
+libpng/contrib/pngsuite/ibasn2c16.png
+libpng/contrib/pngsuite/ibasn3p08.png
+libpng/contrib/pngsuite/ibasn4a08.png
+libpng/contrib/pngsuite/ibasn4a16.png
+libpng/contrib/pngsuite/ibasn6a08.png
+libpng/contrib/pngsuite/ibasn6a16.png
+libpng/contrib/pngsuite/iftbbn2c16.png
+libpng/contrib/pngsuite/iftbbn3p08.png
+libpng/contrib/pngsuite/iftbgn2c16.png
+libpng/contrib/pngsuite/iftbgn3p08.png
+libpng/contrib/pngsuite/iftbrn2c08.png
+libpng/contrib/pngsuite/iftbwn0g16.png
+libpng/contrib/pngsuite/iftbwn3p08.png
+libpng/contrib/pngsuite/iftbyn3p08.png
+libpng/contrib/pngsuite/iftp0n0g08.png
+libpng/contrib/pngsuite/iftp0n2c08.png
+libpng/contrib/pngsuite/iftp0n3p08.png
+libpng/contrib/pngsuite/iftp1n3p08.png
+libpng/contrib/pngsuite/interlaced/README
+libpng/contrib/pngsuite/interlaced/ibasn0g01.png
+libpng/contrib/pngsuite/interlaced/ibasn0g02.png
+libpng/contrib/pngsuite/interlaced/ibasn0g04.png
+libpng/contrib/pngsuite/interlaced/ibasn3p01.png
+libpng/contrib/pngsuite/interlaced/ibasn3p02.png
+libpng/contrib/pngsuite/interlaced/ibasn3p04.png
+libpng/contrib/pngsuite/interlaced/iftbbn0g01.png
+libpng/contrib/pngsuite/interlaced/iftbbn0g02.png
+libpng/contrib/pngsuite/interlaced/iftbbn0g04.png
+libpng/contrib/powerpc-vsx/README
+libpng/contrib/powerpc-vsx/linux_aux.c
+libpng/contrib/testpngs/makepngs.sh
+libpng/contrib/tools/chkfmt
+libpng/contrib/tools/makesRGB.c
+libpng/contrib/tools/pngcp.c
+libpng/contrib/tools/pngfix.c
+libpng/contrib/visupng/PngFile.c
+libpng/contrib/visupng/PngFile.h
+libpng/contrib/visupng/VisualPng.c
+libpng/depcomp
+libpng/example.c
+libpng/install-sh
+libpng/intel/filter_sse2_intrinsics.c
+libpng/intel/intel_init.c
+libpng/libpng-manual.txt
+libpng/libpng.3
+libpng/libpngpf.3
+libpng/mips/filter_msa_intrinsics.c
+libpng/mips/mips_init.c
+libpng/missing
+libpng/png.5
+libpng/png.c
+libpng/png.h
+libpng/pngconf.h
+libpng/pngdebug.h
+libpng/pngerror.c
+libpng/pngget.c
+libpng/pnginfo.h
+libpng/pngmem.c
+libpng/pngpread.c
+libpng/pngpriv.h
+libpng/pngread.c
+libpng/pngrio.c
+libpng/pngrtran.c
+libpng/pngrutil.c
+libpng/pngset.c
+libpng/pngstruct.h
+libpng/pngtest.c
+libpng/pngtrans.c
+libpng/pngwio.c
+libpng/pngwrite.c
+libpng/pngwtran.c
+libpng/pngwutil.c
+libpng/powerpc/filter_vsx_intrinsics.c
+libpng/powerpc/powerpc_init.c
+libpng/projects/owatcom/pngconfig.mak
+libpng/projects/visualc71/README.txt
+libpng/projects/vstudio/README.txt
+libpng/projects/vstudio/zlib.props
+libpng/scripts/README.txt
+libpng/scripts/def.c
+libpng/scripts/descrip.mms
+libpng/scripts/libpng-config-head.in
+libpng/scripts/libpng.pc.in
+libpng/scripts/makefile.32sunu
+libpng/scripts/makefile.64sunu
+libpng/scripts/makefile.bor
+libpng/scripts/makefile.cegcc
+libpng/scripts/makefile.clang
+libpng/scripts/makefile.clang-asan
+libpng/scripts/makefile.darwin
+libpng/scripts/makefile.freebsd
+libpng/scripts/makefile.gcc
+libpng/scripts/makefile.gcc-asan
+libpng/scripts/makefile.hp64
+libpng/scripts/makefile.hpgcc
+libpng/scripts/makefile.hpux
+libpng/scripts/makefile.knr
+libpng/scripts/makefile.linux
+libpng/scripts/makefile.linux-opt
+libpng/scripts/makefile.mips
+libpng/scripts/makefile.msc
+libpng/scripts/makefile.msys
+libpng/scripts/makefile.ne12bsd
+libpng/scripts/makefile.netbsd
+libpng/scripts/makefile.openbsd
+libpng/scripts/makefile.sco
+libpng/scripts/makefile.sggcc
+libpng/scripts/makefile.sgi
+libpng/scripts/makefile.so9
+libpng/scripts/makefile.solaris
+libpng/scripts/makefile.solaris-x86
+libpng/scripts/makefile.std
+libpng/scripts/makefile.sunos
+libpng/scripts/makefile.tc3
+libpng/scripts/options.awk
+libpng/scripts/pnglibconf.dfa
+libpng/scripts/pnglibconf.h.prebuilt
+libpng/scripts/symbols.def
+libpng/test-driver
+
+
+
+2019-11-26 12:13:13 +0000
+
+
Chris Liddell <chris.liddell@artifex.com>
+9282c39e6150befd80793b3221864c9f1f814b66
+
+
+ Update libtiff to 4.1.0
+
+ Add in portability changes to tiffiop.h
+
+ Portability tiffiop.h
+
+ Remove globals from tif_pixarlog.c
+
+tiff/CMakeLists.txt
+tiff/ChangeLog
+tiff/HOWTO-RELEASE
+tiff/Makefile.am
+tiff/Makefile.in
+tiff/Makefile.vc
+tiff/README.md
+tiff/README.vms
+tiff/RELEASE-DATE
+tiff/SConstruct
+tiff/TODO
+tiff/VERSION
+tiff/aclocal.m4
+tiff/build/Makefile.in
+tiff/config/compile
+tiff/config/config.guess
+tiff/config/config.sub
+tiff/config/depcomp
+tiff/config/install-sh
+tiff/config/ltmain.sh
+tiff/config/missing
+tiff/config/mkinstalldirs
+tiff/config/test-driver
+tiff/configure
+tiff/configure.ac
+tiff/configure.com
+tiff/contrib/Makefile.in
+tiff/contrib/addtiffo/Makefile.in
+tiff/contrib/addtiffo/addtiffo.c
+tiff/contrib/addtiffo/tif_overview.c
+tiff/contrib/addtiffo/tif_ovrcache.c
+tiff/contrib/dbs/Makefile.in
+tiff/contrib/dbs/tiff-bi.c
+tiff/contrib/dbs/tiff-grayscale.c
+tiff/contrib/dbs/tiff-palette.c
+tiff/contrib/dbs/tiff-rgb.c
+tiff/contrib/dbs/xtiff/Makefile.in
+tiff/contrib/dbs/xtiff/xtiff.c
+tiff/contrib/iptcutil/Makefile.in
+tiff/contrib/iptcutil/iptcutil.c
+tiff/contrib/mfs/Makefile.in
+tiff/contrib/pds/Makefile.in
+tiff/contrib/pds/README
+tiff/contrib/pds/tif_imageiter.c
+tiff/contrib/pds/tif_imageiter.h
+tiff/contrib/pds/tif_pdsdirread.c
+tiff/contrib/pds/tif_pdsdirwrite.c
+tiff/contrib/ras/Makefile.in
+tiff/contrib/ras/tif2ras.c
+tiff/contrib/stream/Makefile.in
+tiff/contrib/tags/Makefile.in
+tiff/contrib/tags/README
+tiff/contrib/tags/xtif_dir.c
+tiff/contrib/win_dib/Makefile.in
+tiff/contrib/win_dib/Makefile.w95
+tiff/contrib/win_dib/README.tiff2dib
+tiff/contrib/win_dib/Tiffile.cpp
+tiff/html/Makefile.am
+tiff/html/Makefile.in
+tiff/html/addingtags.html
+tiff/html/bugs.html
+tiff/html/build.html
+tiff/html/document.html
+tiff/html/images.html
+tiff/html/images/Makefile.in
+tiff/html/index.html
+tiff/html/libtiff.html
+tiff/html/man/Makefile.in
+tiff/html/man/TIFFReadDirectory.3tiff.html
+tiff/html/man/TIFFWriteDirectory.3tiff.html
+tiff/html/man/TIFFmemory.3tiff.html
+tiff/html/v3.4beta007.html
+tiff/html/v3.4beta016.html
+tiff/html/v3.4beta018.html
+tiff/html/v3.4beta024.html
+tiff/html/v3.4beta028.html
+tiff/html/v3.4beta029.html
+tiff/html/v3.4beta031.html
+tiff/html/v3.4beta032.html
+tiff/html/v3.4beta033.html
+tiff/html/v3.4beta034.html
+tiff/html/v3.4beta035.html
+tiff/html/v3.4beta036.html
+tiff/html/v3.5.1.html
+tiff/html/v3.5.2.html
+tiff/html/v3.5.3.html
+tiff/html/v3.5.4.html
+tiff/html/v3.5.5.html
+tiff/html/v3.5.6-beta.html
+tiff/html/v3.5.7.html
+tiff/html/v3.6.0.html
+tiff/html/v3.6.1.html
+tiff/html/v3.7.0.html
+tiff/html/v3.7.0alpha.html
+tiff/html/v3.7.0beta.html
+tiff/html/v3.7.0beta2.html
+tiff/html/v3.7.1.html
+tiff/html/v3.7.2.html
+tiff/html/v3.7.3.html
+tiff/html/v3.7.4.html
+tiff/html/v3.8.0.html
+tiff/html/v3.8.1.html
+tiff/html/v3.8.2.html
+tiff/html/v3.9.0beta.html
+tiff/html/v3.9.1.html
+tiff/html/v3.9.2.html
+tiff/html/v4.0.0.html
+tiff/html/v4.0.1.html
+tiff/html/v4.0.10.html
+tiff/html/v4.0.2.html
+tiff/html/v4.0.3.html
+tiff/html/v4.0.4.html
+tiff/html/v4.0.4beta.html
+tiff/html/v4.0.5.html
+tiff/html/v4.0.6.html
+tiff/html/v4.0.7.html
+tiff/html/v4.0.8.html
+tiff/html/v4.0.9.html
+tiff/html/v4.1.0.html
+tiff/libtiff/CMakeLists.txt
+tiff/libtiff/Makefile.am
+tiff/libtiff/Makefile.in
+tiff/libtiff/Makefile.vc
+tiff/libtiff/SConstruct
+tiff/libtiff/libtiff.def
+tiff/libtiff/mkg3states.c
+tiff/libtiff/t4.h
+tiff/libtiff/tif_aux.c
+tiff/libtiff/tif_close.c
+tiff/libtiff/tif_codec.c
+tiff/libtiff/tif_color.c
+tiff/libtiff/tif_compress.c
+tiff/libtiff/tif_config.h.cmake.in
+tiff/libtiff/tif_config.h.in
+tiff/libtiff/tif_config.wince.h
+tiff/libtiff/tif_dir.c
+tiff/libtiff/tif_dir.h
+tiff/libtiff/tif_dirinfo.c
+tiff/libtiff/tif_dirread.c
+tiff/libtiff/tif_dirwrite.c
+tiff/libtiff/tif_dumpmode.c
+tiff/libtiff/tif_error.c
+tiff/libtiff/tif_extension.c
+tiff/libtiff/tif_fax3.c
+tiff/libtiff/tif_fax3.h
+tiff/libtiff/tif_flush.c
+tiff/libtiff/tif_getimage.c
+tiff/libtiff/tif_jbig.c
+tiff/libtiff/tif_jpeg.c
+tiff/libtiff/tif_luv.c
+tiff/libtiff/tif_lzma.c
+tiff/libtiff/tif_lzw.c
+tiff/libtiff/tif_next.c
+tiff/libtiff/tif_ojpeg.c
+tiff/libtiff/tif_open.c
+tiff/libtiff/tif_packbits.c
+tiff/libtiff/tif_pixarlog.c
+tiff/libtiff/tif_predict.c
+tiff/libtiff/tif_predict.h
+tiff/libtiff/tif_print.c
+tiff/libtiff/tif_read.c
+tiff/libtiff/tif_stream.cxx
+tiff/libtiff/tif_strip.c
+tiff/libtiff/tif_swab.c
+tiff/libtiff/tif_thunder.c
+tiff/libtiff/tif_tile.c
+tiff/libtiff/tif_unix.c
+tiff/libtiff/tif_version.c
+tiff/libtiff/tif_warning.c
+tiff/libtiff/tif_webp.c
+tiff/libtiff/tif_win32.c
+tiff/libtiff/tif_write.c
+tiff/libtiff/tif_zip.c
+tiff/libtiff/tif_zstd.c
+tiff/libtiff/tiff.h
+tiff/libtiff/tiffconf.h.cmake.in
+tiff/libtiff/tiffconf.h.in
+tiff/libtiff/tiffconf.vc.h
+tiff/libtiff/tiffconf.wince.h
+tiff/libtiff/tiffio.h
+tiff/libtiff/tiffio.hxx
+tiff/libtiff/tiffiop.h
+tiff/libtiff/tiffvers.h
+tiff/m4/libtool.m4
+tiff/man/Makefile.in
+tiff/man/TIFFClose.3tiff
+tiff/man/TIFFDataWidth.3tiff
+tiff/man/TIFFError.3tiff
+tiff/man/TIFFFieldDataType.3tiff
+tiff/man/TIFFFieldName.3tiff
+tiff/man/TIFFFieldPassCount.3tiff
+tiff/man/TIFFFieldReadCount.3tiff
+tiff/man/TIFFFieldTag.3tiff
+tiff/man/TIFFFieldWriteCount.3tiff
+tiff/man/TIFFFlush.3tiff
+tiff/man/TIFFGetField.3tiff
+tiff/man/TIFFOpen.3tiff
+tiff/man/TIFFPrintDirectory.3tiff
+tiff/man/TIFFRGBAImage.3tiff
+tiff/man/TIFFReadDirectory.3tiff
+tiff/man/TIFFReadEncodedStrip.3tiff
+tiff/man/TIFFReadEncodedTile.3tiff
+tiff/man/TIFFReadRGBAImage.3tiff
+tiff/man/TIFFReadRGBAStrip.3tiff
+tiff/man/TIFFReadRGBATile.3tiff
+tiff/man/TIFFReadRawStrip.3tiff
+tiff/man/TIFFReadRawTile.3tiff
+tiff/man/TIFFReadScanline.3tiff
+tiff/man/TIFFReadTile.3tiff
+tiff/man/TIFFSetDirectory.3tiff
+tiff/man/TIFFSetField.3tiff
+tiff/man/TIFFWarning.3tiff
+tiff/man/TIFFWriteDirectory.3tiff
+tiff/man/TIFFWriteEncodedStrip.3tiff
+tiff/man/TIFFWriteEncodedTile.3tiff
+tiff/man/TIFFWriteRawStrip.3tiff
+tiff/man/TIFFWriteRawTile.3tiff
+tiff/man/TIFFWriteScanline.3tiff
+tiff/man/TIFFWriteTile.3tiff
+tiff/man/TIFFbuffer.3tiff
+tiff/man/TIFFcodec.3tiff
+tiff/man/TIFFcolor.3tiff
+tiff/man/TIFFmemory.3tiff
+tiff/man/TIFFquery.3tiff
+tiff/man/TIFFsize.3tiff
+tiff/man/TIFFstrip.3tiff
+tiff/man/TIFFswab.3tiff
+tiff/man/TIFFtile.3tiff
+tiff/man/fax2ps.1
+tiff/man/fax2tiff.1
+tiff/man/libtiff.3tiff
+tiff/man/pal2rgb.1
+tiff/man/ppm2tiff.1
+tiff/man/raw2tiff.1
+tiff/man/tiff2bw.1
+tiff/man/tiff2pdf.1
+tiff/man/tiff2ps.1
+tiff/man/tiff2rgba.1
+tiff/man/tiffcmp.1
+tiff/man/tiffcp.1
+tiff/man/tiffcrop.1
+tiff/man/tiffdither.1
+tiff/man/tiffdump.1
+tiff/man/tiffgt.1
+tiff/man/tiffinfo.1
+tiff/man/tiffmedian.1
+tiff/man/tiffset.1
+tiff/man/tiffsplit.1
+tiff/nmake.opt
+tiff/port/CMakeLists.txt
+tiff/port/Makefile.am
+tiff/port/Makefile.in
+tiff/port/Makefile.vc
+tiff/port/_strtol.h
+tiff/port/_strtoul.h
+tiff/port/dummy.c
+tiff/port/getopt.c
+tiff/port/lfind.c
+tiff/port/libport.h
+tiff/port/snprintf.c
+tiff/port/strcasecmp.c
+tiff/port/strtol.c
+tiff/port/strtoll.c
+tiff/port/strtoul.c
+tiff/port/strtoull.c
+tiff/test/CMakeLists.txt
+tiff/test/Makefile.am
+tiff/test/Makefile.in
+tiff/test/ascii_tag.c
+tiff/test/check_tag.c
+tiff/test/common.sh
+tiff/test/custom_dir.c
+tiff/test/defer_strile_loading.c
+tiff/test/defer_strile_writing.c
+tiff/test/fax2tiff.sh
+tiff/test/images/README.txt
+tiff/test/images/lzw-single-strip.tiff
+tiff/test/images/miniswhite-1c-1b.g3
+tiff/test/long_tag.c
+tiff/test/raw_decode.c
+tiff/test/refs/o-tiff2ps-EPS1.ps
+tiff/test/refs/o-tiff2ps-PS1.ps
+tiff/test/refs/o-tiff2ps-PS2.ps
+tiff/test/refs/o-tiff2ps-PS3.ps
+tiff/test/rewrite_tag.c
+tiff/test/short_tag.c
+tiff/test/strip.c
+tiff/test/strip_rw.c
+tiff/test/test_arrays.c
+tiff/test/test_arrays.h
+tiff/test/testtypes.c
+tiff/test/tiff2ps-EPS1.sh
+tiff/test/tiff2ps-PS1.sh
+tiff/test/tiff2ps-PS2.sh
+tiff/test/tiff2ps-PS3.sh
+tiff/test/tiffcp-lzw-scanline-decode.sh
+tiff/test/tifftest.h
+tiff/tools/CMakeLists.txt
+tiff/tools/Makefile.in
+tiff/tools/Makefile.vc
+tiff/tools/fax2ps.c
+tiff/tools/fax2tiff.c
+tiff/tools/pal2rgb.c
+tiff/tools/ppm2tiff.c
+tiff/tools/raw2tiff.c
+tiff/tools/rgb2ycbcr.c
+tiff/tools/thumbnail.c
+tiff/tools/tiff2bw.c
+tiff/tools/tiff2pdf.c
+tiff/tools/tiff2ps.c
+tiff/tools/tiff2rgba.c
+tiff/tools/tiffcmp.c
+tiff/tools/tiffcp.c
+tiff/tools/tiffcrop.c
+tiff/tools/tiffdither.c
+tiff/tools/tiffdump.c
+tiff/tools/tiffgt.c
+tiff/tools/tiffinfo.c
+tiff/tools/tiffmedian.c
+tiff/tools/tiffset.c
+tiff/tools/tiffsplit.c
+
+
+
+2019-11-25 15:14:51 +0000
+
+
Julian Smith <jules@op59.net>
+aa13e1a3fac84ada2b676f9c5fcffb30f5df74dd
+
+
+ Coverity 351088: check for errors in px_begin_error_page().
+
+ Had to change px_begin_error_page()'s API to use out-parameter, so that return
+ value is error code.
+
+pcl/pxl/pxerrors.c
+pcl/pxl/pxerrors.h
+pcl/pxl/pxtop.c
+
+
+
+2019-11-25 14:42:05 +0000
+
+
Julian Smith <jules@op59.net>
+34fc5a7613eea288a8426d3be425c93647954668
+
+
+ Coverity 351086: Fix out-of-bounds access to score[2].
+
+gpdl/psitop.c
+
+
+
+2019-11-25 19:48:50 +0000
+
+
Robin Watts <Robin.Watts@artifex.com>
+a570a05622cb178c031db64711b412cf640038b2
+
+
+ Coverity 350201, 350191: Add some notes to the code.
+
+ Coverity spots that pdf14_fill_path checks for ppath being
+ NULL in one branch, hence assumes that it can be NULL in all
+ cases. Furthermore it spots that it is passed into
+ gx_default_fill_path, which can in some circumstances, dereference
+ it without checking it first.
+
+ The reason for this is that fill_path can permissibly be called
+ with a NULL path if we want to fill the given clipping path. This
+ is only used for shadings and patterns, which is exactly the case
+ checked for within gx_default_fill_path and pdf14_fill_path.
+
+ We'll resolve this with a 'false positive' in Coverity, but have
+ added the comments for the benefit of future readers.
+
+ Coverity spots the same thing in pdf14_stroke_path, but there it
+ really makes no sense for ppath to be NULL, so just eliminate the
+ check.
+
+ Credit to Julian Smith for the investigation on this.
+
+base/gdevp14.c
+
+
+
+2019-11-25 18:30:33 +0000
+
+
Robin Watts <Robin.Watts@artifex.com>
+fee6b609fbb8d1f0744f98ee3bf930c1fd733660
+
+
+ Fix indeterminism in gdevp201.c
+
+ The printers herein read 1bpp data from gs, and then compressed
+ in terms of bytes. For the case where w%8 != 0, we'd have
+ uninitialised bits. Solve this by masking the last byte of each
+ line as appropriate.
+
+ Also, ensure that we don't 'overread' lines, check the return
+ code from the get_bits call, and blank any lines of the buffer
+ required to bring us up to a multiple of the stripe height.
+
+contrib/japanese/gdevp201.c
+
+
+
+2019-11-25 09:44:29 -0800
+
+
Robin Watts <Robin.Watts@artifex.com>
+f3b0a9e346a97b23f1f7e016944be514c8b0ec78
+
+
+ Fix indeterminism in gdevatx.c
+
+ The compression used by this device relies on compressing pairs of
+ bytes; as such we have to be careful that when we offset to the end
+ of the line we don't move inot uninitialised data.
+
+ We fix this here by blanking an extra byte, and being smarter about
+ where we start the search for trailing empties from.
+
+ This should resolve the differences we see in the all-devs test.
+
+devices/gdevatx.c
+
+
+
+2019-11-25 16:12:17 +0000
+
+
Robin Watts <Robin.Watts@artifex.com>
+8a589c19d62884388cb9eff7d12bfba568e667ca
+
+
+ Fix incorrect transform in gpdl/pwgtop.c
+
+gpdl/pwgtop.c
+
+
+
+2019-11-22 19:43:46 +0000
+
+
Robin Watts <Robin.Watts@artifex.com>
+79e11b98dc078fcd92cda588ab6157a4aa14d0f0
+
+
+ Add Jpeg2000 "language" interpreter for gpdl.
+
+gpdl/gpdl.mak
+gpdl/jp2ktop.c
+pcl/pl/plimpl.c
+windows/ghostpdl.vcproj
+
+
+
+2019-11-25 15:59:00 +0000
+
+
Robin Watts <Robin.Watts@artifex.com>
+113792dd347ac7b9436b9517aca91e1153fb230d
+
+
+ Ensure oki4w device properly closes device.
+
+ This was causing indetermisms in cluster runs.
+
+contrib/gdevop4w.c
+
+
+
+2019-11-25 14:50:05 +0000
+
+
Robin Watts <Robin.Watts@artifex.com>
+12eef95ef9ed7a086ca02f06ef93acce9c9a2676
+
+
+ Remove FIXME and associated dead code in pwgtop.c
+
+ This should solve coverity 351087.
+
+gpdl/pwgtop.c
+
+
+
+2019-11-25 14:46:56 +0000
+
+
Robin Watts <Robin.Watts@artifex.com>
+ab089bf9511ccaa30a33d6e269ab0dae98ff5517
+
+
+ Fix coverity #351085; toff_t's are unsigned.
+
+ The tiff lib uses a 'seek' function that apes 'fseek' in that
+ it takes a whence field. In order for the whence field to be
+ useful for 'SEEK_SET' (and half the cases of SEEK_CURR), it
+ needs to be able to take negative offsets. The tiff seek
+ function only passes positive offsets though as it uses an
+ unsigned type.
+
+ It is therefore pointless to test against 0.
+
+gpdl/tifftop.c
+
+
+
+2019-11-22 15:31:47 +0000
+
+
Chris Liddell <chris.liddell@artifex.com>
+e056194328312f724089d52398e88c5a6a2fe277
+
+
+ Windows installer: offer to uninstall previous installations
+
+ If the installer detects previous gs installations (from the registry keys), an
+ additional page will appear in the installer, giving the user the option of
+ uninstalling each existing installation in turn - it allows uninstall a given
+ install, not uninstall it, or cancel out of uninstalling the remaining ones.
+
+psi/nsisinst.nsi
+
+
+
+2019-11-22 18:12:11 +0000
+
+
Julian Smith <jules@op59.net>
+e9ff39ee82680ea1719ddf99cf3809e26df0c946
+
+
+ Coverity 351050: avoid buffer overflow warning.
+
+ For simplicity, have used a temp four-character buffer filled in by
+ parse_file_access_string(), then snprintf() to append gp_fmode_binary_suffix
+ safely.
+
+psi/zfile.c
+
+
+
+2019-11-22 18:08:05 +0000
+
+
Julian Smith <jules@op59.net>
+354715346deed252ef7db53160b61d04bd630a2f
+
+
+ Coverity 351049: avoid buffer overflow warning.
+
+ We're actually safe because gp_fmode_binary_suffix is max one-character long,
+ but Coverity doesn't know that.
+
+base/gxclfile.c
+
+
+
+2019-11-22 18:05:35 +0000
+
+
Julian Smith <jules@op59.net>
+b8c8a6410658fdfe57ad5de4ae57fdc4cbece2ab
+
+
+ Coverity 351048: avoid buffer overflow warning.
+
+ We're actually safe because gp_fmode_binary_suffix is max one-character long,
+ but Coverity doesn't know that.
+
+base/gxclist.c
+
+
+
+2019-11-22 17:45:51 +0000
+
+
Julian Smith <jules@op59.net>
+882793bc7f35f21f7857e216966c0b777140a87c
+
+
+ Coverity 350209: fix bad return path in handle_dash_c().
+
+ Also refactored a little.
+
+pcl/pl/plmain.c
+
+
+
+2019-11-22 10:43:43 -0800
+
+
Michael Vrhel <michael.vrhel@artifex.com>
+8f611a6c45fafbea495206773eccf3028cfb4765
+
+
+ Bug 701625 Treat CMY color space as additive
+
+ Our support of CMY devices is currently not ideal with
+ respect to proper color management and the transparency
+ imaging model as described in Bug 697965. My plan is
+ to make a psd cmy based device and get things working
+ properly in terms of spot colors and ICC color management.
+ This will take a bit of effort and likely have a bug
+ tail. For now for Bug 701625 an easy solution is to
+ treat the color space as additive. In this case, the
+ output looks reasonable.
+
+cups/gdevcups.c
+
+
+
+2019-11-22 11:42:29 +0000
+
+
Julian Smith <jules@op59.net>
+f734274b455c321a4089d8ee7efa7511656ae9c6
+
+
+ Removed gp_fprintf(pstream, "") call that has no affect.
+
+ This was causing gcc warning because gp_fprintf() is now checked by gcc for
+ printf format warnings.
+
+devices/gdevmgr.c
+
+
+
+2019-11-21 18:39:21 +0000
+
+
Julian Smith <jules@op59.net>
+17a947dcc56fee115d7b416de7648289b04185f8
+
+
+ Fix some -W -Wall warnings about printf format type mismatches.
+
+contrib/gdevhl12.c
+jbig2dec/jbig2.c
+jbig2dec/jbig2_segment.c
+
+
+
+2019-11-21 17:47:53 +0000
+
+
Julian Smith <jules@op59.net>
+cbd8765cc2e5d67eae3d412a7584f37a9e02f2e9
+
+
+ Bug 701932: fixed up head dependencies for pxstate_h.
+
+pcl/pxl/pxl.mak
+
+
+
+2019-11-21 17:16:27 +0000
+
+
Julian Smith <jules@op59.net>
+3ee9bb6efff8929ff8df4fb7ca42001c2aeacdf6
+
+
+ Coverity 350198: fixed jbig2_error() printf format / type mismatches.
+
+ Unfortunately stdint_.h isn't available to jbig2dec code so we can't use
+ PRIdSIZE. Have instead used %li with a cast to long.
+
+ [This commit addresses all printf warnings from gcc -W -Wall; it probably fixes
+ multiple similar coverity issues.]
+
+jbig2dec/jbig2_symbol_dict.c
+
+
+
+2019-11-21 17:11:43 +0000
+
+
Julian Smith <jules@op59.net>
+67a59c12667bbdddf67e78d9496f94b34d55e702
+
+
+ Coverity 350195: check return from process_row().
+
+pcl/pcl/rtraster.c
+
+
+
+2019-11-21 17:01:55 +0000
+
+
Julian Smith <jules@op59.net>
+3819f5121013dd93dd3653475e686d8f6df9b068
+
+
+ Coverity 350189: explicitly ignore return from hpgl_arg_c_int().
+
+ We already initialised variable 'type', and we don't mind whether
+ hpgl_arg_c_int() changes it before we switch on it. So cast hpgl_arg_c_int()'s
+ return to void to stop Coverity from warning.
+
+pcl/pcl/pgconfig.c
+
+
+
+2019-11-21 16:52:32 +0000
+
+
Julian Smith <jules@op59.net>
+3b8f96dbe2dc0ab0cdbbf076cdb88e21c91639a5
+
+
+ Coverity 350185: fix printf format type mismatch.
+
+ Unfortunately stdint_.h isn't available to jbig2dec code so we can't use
+ PRIdSIZE. Have instead used %li with a cast to long.
+
+jbig2dec/jbig2_generic.c
+
+
+
+2019-11-21 16:49:51 +0000
+
+
Julian Smith <jules@op59.net>
+4b31b05c2db5967c00d0b08023167935bbb3d015
+
+
+ If gcc, make gcc check jbig2_error()'s format string agrees with types of parameters.
+
+jbig2dec/jbig2_priv.h
+
+
+
+2019-11-21 16:23:32 +0000
+
+
Julian Smith <jules@op59.net>
+1098cdd54a46dca9ca976b750ba25d0b714dfd9f
+
+
+ Add a --enable-mkromfs-quiet configure option.
+
+ Sets MKROMFS_FLAGS=-q and pass to all invocations of mkromfs.
+
+ [Makefile.in and configure.ac changes by chrisl]
+
+Makefile.in
+base/lib.mak
+configure.ac
+
+
+
+2019-11-21 12:52:41 +0000
+
+
Julian Smith <jules@op59.net>
+1f60fa73b7c6b5acfae75b6e4a1fede2b75ea1c4
+
+
+ mkromfs: added -q option to reduce verbose diagnostics.
+
+base/mkromfs.c
+
+
+
+2019-11-15 16:45:33 +0000
+
+
Julian Smith <jules@op59.net>
+3e01cc30c90094bcbef2966f1048c504e6b5361e
+
+
+ configure.ac: add -W -Wall to sanitize builds if supported.
+
+configure.ac
+
+
+
+2019-11-21 13:41:37 +0000
+
+
Julian Smith <jules@op59.net>
+b93f218d418827b689c61b37941ffd4eef0c0d84
+
+
+ Mark gp_fprintf() with gcc's __attribute__ ((format (__printf__, 2, 3))).
+
+ This makes gcc check types match the format string.
+
+base/gp.h
+
+
+
+2019-11-21 13:40:45 +0000
+
+
Julian Smith <jules@op59.net>
+87cd6160bf654a164469e75a9df7cc7b690b5aaa
+
+
+ Coverity 350172: fix gp_fprintf() call to use PRIdSIZE for ptrdiff_t.
+
+contrib/japanese/gdevp201.c
+
+
+
+2019-11-21 12:24:48 +0000
+
+
Julian Smith <jules@op59.net>
+53a370b272a89df418ea563f1abde7d774579105
+
+
+ Coverity 350169: avoid buffer overflow when writing to cups->pageSizeRequested.
+
+cups/gdevcups.c
+
+
+
+2019-11-20 19:30:55 +0000
+
+
Julian Smith <jules@op59.net>
+7fe9289f10c47fe7557375c23b54cd87e521d11c
+
+
+ Bug 701932: moved more global_* into px_state_s.
+
+ Specifically:
+
+ gs_point global_char_shear;
+ gs_point global_char_scale;
+ float global_char_bold_value;
+ float global_char_angle;
+
+pcl/pxl/pxpthr.c
+pcl/pxl/pxstate.h
+
+
+
+2019-11-20 19:16:48 +0000
+
+
Julian Smith <jules@op59.net>
+810c897c51e28dcdd589e1561af36769e72e0893
+
+
+ Bug 701932: moved more global_* into px_state_s.
+
+ Specifically:
+
+ static pcl_parser_state_t global_pcl_parser_state;
+ static hpgl_parser_state_t global_gl_parser_state;
+ static bool global_this_pass_contiguous = false;
+ static bool global_pass_first = true;
+
+pcl/pxl/pxparse.c
+pcl/pxl/pxpthr.c
+pcl/pxl/pxpthr.h
+pcl/pxl/pxstate.c
+pcl/pxl/pxstate.h
+
+
+
+2019-11-20 17:39:58 +0000
+
+
Julian Smith <jules@op59.net>
+d48555f7777a983e0d15972f3838bb5583e20657
+
+
+ Bug 701932: moved global_pcs into px_state_s.
+
+pcl/pxl/pxpthr.c
+pcl/pxl/pxpthr.h
+pcl/pxl/pxsessio.c
+pcl/pxl/pxstate.c
+pcl/pxl/pxstate.h
+
+
+
+2019-11-20 12:42:16 +0000
+
+
Julian Smith <jules@op59.net>
+4db291eb31b4dc8c6864e438acdd9283c3347671
+
+
+ Coverity 350170: cope with -ve from gs_vsprintf().
+
+pcl/pcl/pcstatus.c
+
+
+
+2019-11-22 13:02:39 +0000
+
+
Chris Liddell <chris.liddell@artifex.com>
+0bc5d53fa1c0d7832008d1ae8e0e6804bf5f9e9e
+
+
+ Windows (un)installer: Fix case for registry key removal
+
+psi/nsisinst.nsi
+
+
+
+2019-11-22 10:30:14 +0000
+
+
Chris Liddell <chris.liddell@artifex.com>
+efafc6f95b0bfedf63efafc55416846974a67bcc
+
+
+ "Promote" gpdl from experimental to actual product
+
+ Really, add gpdl to the default targets list.
+
+Makefile.in
+base/gs.mak
+base/unix-gcc.mak
+configure.ac
+psi/msvc.mak
+
+
+
+2019-11-22 11:49:02 +0000
+
+
Ken Sharp <ken.sharp@artifex.com>
+0243f6288ca26b2985f0778040feebae7322ac0b
+
+
+ Coverity ID 94736
+
+ This was partially addressed in a previous commit (2 years ago) but
+ because the 'contrib' folder wasn't included in the ananlysis, this
+ second instance of the same problem didn't show up.
+
+contrib/gdevcd8.c
+
+
+
+2019-11-21 15:18:29 -0800
+
+
Michael Vrhel <michael.vrhel@artifex.com>
+d9d92ab6b774914d81f63c8e19d78e4022ad9976
+
+
+ Bug 701357: Fix color document
+
+ Getting proper encoding of _ character requires use of
+ [T1]{fontenc} and lmodern.
+
+doc/GS9_Color_Management.pdf
+doc/GS9_Color_Management.tex
+
+
+
+2019-11-21 14:06:50 -0800
+
+
Michael Vrhel <michael.vrhel@artifex.com>
+0129596f6cf2d090ed46f9a9c8189ab60b56735f
+
+
+ Bug 700929: Pass object type rendering intent settings to pdf14 device
+
+base/gdevp14.c
+
+
+
+2019-11-21 18:45:55 +0000
+
+
Robin Watts <Robin.Watts@artifex.com>
+e0c2e4d8f43d6e83a0a04e6d2c350d2d7fc1e7a6
+
+
+ gpdl: Fixup some warnings.
+
+gpdl/gpdl.mak
+gpdl/jpgtop.c
+gpdl/pwgtop.c
+gpdl/tifftop.c
+
+
+
+2019-11-20 19:02:47 +0000
+
+
Robin Watts <Robin.Watts@artifex.com>
+23ea32bf2bd205c44c9a7979b3a187199e47da59
+
+
+ gpdl: Add 'jbig2' language implementation.
+
+gpdl/gpdl.mak
+gpdl/jbig2top.c
+pcl/pl/plimpl.c
+windows/ghostpdl.vcproj
+
+
+
+2019-11-20 19:01:31 +0000
+
+
Robin Watts <Robin.Watts@artifex.com>
+0c30c4cda3c2487ce52f79a952e3d0febef1d8bd
+
+
+ Remove some dead code/variables from tifftop.c
+
+gpdl/tifftop.c
+
+
+
+2019-11-21 11:20:49 -0800
+
+
Michael Vrhel <michael.vrhel@artifex.com>
+7043e985298f75291e1fc25ad272140be31ffe6d
+
+
+ Ghostscript Bug 701324. Improved robustness of lcms2mt
+
+ lcmsmt will give up if it can't find the perceptual MLUT.
+ This fix will have it check to see if the colorimetric or
+ saturation intents are present also.
+
+lcms2mt/src/cmsio1.c
+
+
+
+2019-11-21 10:45:59 -0800
+
+
Michael Vrhel <michael.vrhel@artifex.com>
+aa30c0798d32decfd99ff8149553221917d4301e
+
+
+ Use gp_fwrite instead of fwrite.
+
+base/gsicc_manage.c
+
+
+
+2019-11-21 08:40:02 -0800
+
+
Michael Vrhel <michael.vrhel@artifex.com>
+4640b5abd48430bfc76cc4e98cd626aa64075537
+
+
+ Bug 701717 Remove redundant check.
+
+base/gdevp14.c
+
+
+
+2019-11-19 15:40:02 +0000
+
+
Chris Liddell <chris.liddell@artifex.com>
+9189e54333d33104a0de8aa92b1c5a7662762048
+
+
+ JBIG2_CFLAGS/JPX_CFLAGS handling and remove commented out code
+
+ The JBIG2_CFLAGS and JPX_CFLAGS allow a user to tweak the CFLAGS specific to
+ the JBIG2 and JPX/JPEG2000 decoders respectively.
+
+ There was also some commented out code that, with the above tweak, is no
+ longer required to be there.
+
+configure.ac
+
+
+
+2019-11-06 13:29:19 +0000
+
+
Chris Liddell <chris.liddell@artifex.com>
+84a1bd8c73d740022877a5911851b8521ecc7458
+
+
+ Bug 701440: only include libs calling pkg-config for freetype
+
+ Only have the -l options, not the -L ones because they confuse genconf
+
+configure.ac
+
+
+
+2019-11-06 12:43:09 +0000
+
+
Chris Liddell <chris.liddell@artifex.com>
+aaea09a9a0e357b2784536b8476f4ab4fee19b64
+
+
+ Allow configure to set size etc for size_t in arch.h
+
+arch/arch_autoconf.h.in
+configure.ac
+
+
+
+2019-11-06 11:30:17 +0000
+
+
Chris Liddell <chris.liddell@artifex.com>
+64a35dc73ee8256421b1dd2760be0c73c05eadb8
+
+
+ Bug 701439: use pkg-config for libidn
+
+ If pkg-config is available, and knows about libidn, use it to get the CFLAGS and
+ LIBS, otherwise fall back to the AC_CHECK_LIB/AC_CHECK_HEADER method
+
+configure.ac
+
+
+
+2019-11-06 10:44:16 +0000
+
+
Chris Liddell <chris.liddell@artifex.com>
+317c0154a8141b8dde6e303f1e18a95e01f8ee33
+
+
+ Bug 701689: CPPFLAGS for aux tools when cross-compiling
+
+ Introduce CPPFLAGSAUX
+
+ Credit to Marvin Schmidt
+
+configure.ac
+
+
+
+2019-10-29 12:45:17 +0000
+
+
Chris Liddell <chris.liddell@artifex.com>
+c7c6043bde1517e8fd6d645d7c34142aec462248
+
+
+ Spaces should be tab
+
+base/gs.mak
+
+
+
+2019-10-21 10:45:56 +0100
+
+
Chris Liddell <chris.liddell@artifex.com>
+2d84ecc57837785b566ebd9d5909ba9edc9d697f
+
+
+ Use caller defined pkg-config and cups-config unconditionally
+
+ In an effort to better handle cross-compilation, we use a check combining
+ AC_PATH_TOOL() and AC_PATH_PROG() - where AC_CHECK_TOOL() will first attempt to
+ find the requested tool *with* a target-triplet prefix (for example,
+ "x86_64-linux-gnu-pkg-config") and if that fails, it will fall back to the
+ unadorned tool (e.g. "pkg-config"). If we are cross-compiling, and both
+ AC_PATH_TOOL() and AC_PATH_PROG() return the same value, we assume that
+ AC_PATH_TOOL() has fallen back to the default, non-cross-compile version, and we
+ disable using the given tool.
+
+ We do this for both pkg-config and cups-config.
+
+ This does not work well for every cross-compile environment, however, since not
+ all use the convention of the target triplet prefix.
+
+ We already allowed the caller to specify both a pkg-config and cups-config to
+ use, but we still applied the above outlined test.
+
+ Now, when the tool is explicitly specified, do *not* do the
+ AC_PATH_TOOL()/AC_PATH_PROG(), assume the caller knows what they are doing, and
+ just go ahead and use it.
+
+ Additionally, for cups-config, if the caller explicitly specified a cups-config,
+ and/or explicitly set --enable-cups then make not finding the cups libraries a
+ configure hard fail. By default, we'll still just warn, and exclude the cups
+ devices.
+
+configure.ac
+
+
+
+2019-10-18 09:46:03 +0100
+
+
Chris Liddell <chris.liddell@artifex.com>
+327dc8943c0aac1c7be7a1fb6e93346b61cd0900
+
+
+ Bug #699331: better support for cross-compiling
+
+ This is mainly moving from using uname to identify the the target platform,
+ to using the 'host' value to identify the target platform, and 'host' and
+ 'build' values to know when we're cross-compiling.
+
+ There are also a couple of tweaks related to cross-compiling to MSYS.
+
+ Also, make double sure API symbols are always visible. This affects builds with
+ gcc and compatible compilers.
+
+ Remove use of $cross_compiling variable
+
+ Credit to djcj for most of the changes
+
+.gitignore
+Makefile.in
+autogen.sh
+base/gp_unix.c
+base/gsutil.c
+base/lib.mak
+base/unix-dll.mak
+configure.ac
+pcl/pl/pjparse.c
+psi/iapi.h
+
+
+
+2019-11-21 14:58:49 +0000
+
+
Chris Liddell <chris.liddell@artifex.com>
+e20cd8d8fc1f40bf4218c18e545ca4ddb175c348
+
+
+ Remove gprf device from Windows makefile
+
+psi/msvc.mak
+
+
+
+2019-11-21 11:05:36 +0000
+
+
Chris Liddell <chris.liddell@artifex.com>
+7a56ef4aed70a50bcd7731b61e59850e98d08a4d
+
+
+ Ensure paths from Fontmap end in a directory separator
+
+ Since it's normal for multiple font files to be grouped together in a directory,
+ we strip the file name off, and add just the directory to the permit read list,
+ rather than flood the list with every font file.
+
+ The problem is, we weren't appending the directory separator character showing
+ the directory was reading permitted.
+
+ This commit does that.
+
+ Also, add extra detail to the documentation about this aspect of file
+ permissions lists.
+
+Resource/Init/gs_fonts.ps
+doc/Fonts.htm
+doc/Use.htm
+
+
+
+2019-11-20 15:24:28 -0800
+
+
Michael Vrhel <michael.vrhel@artifex.com>
+5e60fc862a73898ce048730d0c23c00b9ddb5578
+
+
+ Bug 701660 Trans. Text knockout missing ET
+
+ The file has contents that look like this
+
+ BT
+ stuff
+ BT
+ stuff
+ ET
+
+ more stuff
+
+ The first BT meets the conditions to push the text group.
+ Unfortunately it is missing the ET, so the group is never popped.
+ These fixes will make sure that if we are in a text group and
+ encounter another BT we popped the current text group.
+
+base/gdevp14.c
+base/gstrans.h
+
+
+
+2019-11-20 13:15:18 +0000
+
+
Ken Sharp <ken.sharp@artifex.com>
+d7118262b44939688c9143c278b8c76c6c620171
+
+
+ Remove trailing whitespace
+
+gpdl/tifftop.c
+pcl/pcl/pcfrgrnd.c
+pcl/pxl/pxpthr.c
+
+
+
+2019-11-20 12:32:06 +0000
+
+
Robin Watts <Robin.Watts@artifex.com>
+31c4abe348de980ff7922e28f05cc3f788fab29a
+
+
+ Remove gproof device.
+
+configure.ac
+devices/devs.mak
+devices/gdevgprf.c
+windows/ghostscript.vcproj
+
+
+
+2019-11-20 11:04:43 +0000
+
+
Julian Smith <jules@op59.net>
+1a5a05cf164f6657e3cc52f6fa31524ed190b981
+
+
+ Coverity 95049: stop coverity taints for jbig2_get_int16() etc.
+
+jbig2dec/jbig2.c
+
+
+
+2019-11-20 10:34:33 +0000
+
+
Julian Smith <jules@op59.net>
+9a26c1ee0ef8db26ba79f6804a4f09e1c88cb234
+
+
+ Coverity 350210: removed superflous extra param to jbig2_error().
+
+jbig2dec/jbig2_segment.c
+
+
+
+2019-11-20 10:24:09 +0000
+
+
Julian Smith <jules@op59.net>
+9d8f69e1e37475775917e71ba9bf82b7a2098942
+
+
+ Coverity 350166: stop coverity taint warnings for get_u32_big_endian().
+
+base/gsiorom.c
+
+
+
+2019-11-20 10:19:46 +0000
+
+
Julian Smith <jules@op59.net>
+09d9c492f135ceeb6d95323c1b340b1fc03f15ad
+
+
+ Coverity 341108: removed special coverity comment that didn't work.
+
+base/gp_unifs.c
+
+
+
+2019-11-20 10:13:03 +0000
+
+
Julian Smith <jules@op59.net>
+d79e80b43f388d1e9dd53d86466e04bdb2e6be25
+
+
+ Coverity 102214: stop coverity worrying about pl_get_int16() etc.
+
+ These fns use byte swapping, which makes coverity think that they return
+ tainted data, and also that they taint the input buffer.
+
+pcl/pl/plvalue.c
+
+
+
+2019-11-19 17:58:10 +0000
+
+
Julian Smith <jules@op59.net>
+b74cf2eff085b9270d26818e9064450ac4da41f9
+
+
+ Coverity 350199: try to stop coverity from thinking skip_white_pixels() taints buffer.
+
+base/scfe.c
+
+
+
+2019-11-19 17:30:52 +0000
+
+
Julian Smith <jules@op59.net>
+763a96187a286432e3c90b564a2031278e3688d0
+
+
+ Coverity 350190, 350208: make raster unsigned, to avoid sign extension issue.
+
+base/gsovrc.c
+
+
+
+2019-11-19 19:13:40 +0000
+
+
Robin Watts <Robin.Watts@artifex.com>
+1759596a7499d27e3d289bbff4c45f9206ad4798
+
+
+ Followon to fix for bug 701877.
+
+ This changes the 'extern' definitions for
+ {Single,Double,Treble,Quad}GlyphList to be more correct. This
+ enables us to use the simple castless form in the initialisations.
+ This works nicely in Visual Studio, and will hopefully assuage
+ Coverity.
+
+devices/vector/gdevpdfu.c
+devices/vector/gdevtxtw.c
+
+
+
+2019-11-19 16:35:50 -0800
+
+
Michael Vrhel <michael.vrhel@artifex.com>
+c5eb242fa82585aa21371919ca4a7a2d4d4effc3
+
+
+ Make sure blend mode is passed to tile with pdfi
+
+base/gxpcmap.c
+base/gxpcolor.h
+psi/zpcolor.c
+
+
+
+2019-11-19 18:13:08 +0000
+
+
Robin Watts <Robin.Watts@artifex.com>
+69bdf79e10370ed16a17a346690fd630272f7346
+
+
+ gpdl: Add tiff "interpreter" to gpdl.
+
+Makefile.in
+configure.ac
+gpdl/gpdl.mak
+gpdl/tifftop.c
+pcl/pl/plimpl.c
+psi/msvc.mak
+windows/ghostpdl.vcproj
+
+
+
+2019-11-19 18:11:55 +0000
+
+
Robin Watts <Robin.Watts@artifex.com>
+b5956ac8be8c923ad9e9fd3045724a5579cf4dce
+
+
+ gpdl: Fix compiler flags for pwgtop.c
+
+ Don't need to pass the JPEG include directory here.
+
+gpdl/gpdl.mak
+
+
+
+2019-11-19 18:10:54 +0000
+
+
Robin Watts <Robin.Watts@artifex.com>
+0329372164611fdff22f8c02201ff1fbbf94aae7
+
+
+ gpdl: Fix jpeg/pwg behaviour with varying resolutions.
+
+ I thought this worked before, but tests revealed that it was
+ broken.
+
+gpdl/jpgtop.c
+gpdl/pwgtop.c
+
+
+
+2019-11-18 11:36:30 +0000
+
+
Robin Watts <Robin.Watts@artifex.com>
+cd8747382f47393efd0f0013700a8294c0ded15c
+
+
+ Slight reorganisation of gpdl interpreter files.
+
+ Rather than having each different "language" have a 'top' file
+ in gpdl/foo/footop.c, move them to be gpdl/foo.c. Extra directories
+ seem overkill at this point, and it simplifies the Makefile
+ slightly.
+
+ Also, rename IMG to JPG.
+
+Makefile.in
+gpdl/gpdl.mak
+gpdl/jpgtop.c
+gpdl/psitop.c
+gpdl/pwgtop.c
+pcl/pl/plimpl.c
+windows/ghostpdl.vcproj
+
+
+
+2019-11-19 16:40:16 +0000
+
+
Julian Smith <jules@op59.net>
+e1b7dbc95945ef2afa38faeebfda56830f2762ab
+
+
+ Coverity 350182: check for error before dereferencing ptr from gs_cspace_build_ICC().
+
+ This allows us to remove the check for pcs == NULL after pcs has already been
+ dereferenced, which was the coverity issue.
+
+ Also fixed gs_cspace_build_ICC() to return gs_error_VMerror if
+ gs_cspace_alloc() fails - was returning zero with *ppcspace out-param set to
+ NULL. Have checked that all callers don't rely on the out-param being NULL to
+ indicate error. Though some of them make no checks at all.
+
+base/gdevp14.c
+base/gsicc.c
+
+
+
+2019-11-19 16:07:23 +0000
+
+
Julian Smith <jules@op59.net>
+e93430d762400247cdc4550be403a1f7c291112d
+
+
+ Coverity 350180: change gp_fmode_binary_suffix from char[] to char*.
+
+ Am hoping this will persuade Coverity that it is zero-terminated and not
+ zero-length, and thus safe to pass to strncat().
+
+base/gp.h
+base/gp_dosfs.c
+base/gp_ntfs.c
+base/gp_os2fs.c
+base/gp_unifn.c
+base/gp_vms.c
+
+
+
+2019-11-19 15:19:16 +0000
+
+
Julian Smith <jules@op59.net>
+bb2c2fbbc96b1f2de8e454ecb2adf3e58ddb52c3
+
+
+ Coverity 341108: disable mktemp() SECURE_TEMP issue, as mkstemp() not available.
+
+base/gp_unifs.c
+
+
+
+2019-11-19 14:50:01 +0000
+
+
Julian Smith <jules@op59.net>
+a4c44cc7579ab80a1d49d721fad48e1ed9bbe976
+
+
+ Coverity 323321: remove unused goto label and 'code' variable from template_mem_transform_pixel_region_render_landscape().
+
+ The label and variable appear to have been copied from a similar function, but
+ they are never used, and actually it looks like this fn can't fail.
+
+base/gdevdrop.c
+
+
+
+2019-11-19 13:06:48 +0000
+
+
Julian Smith <jules@op59.net>
+f804ebfa526bd36a808319225488fe9de416f350
+
+
+ Coverity: add additional annotation to jbig2_get_uint32().
+
+ Coverity thinks that jbig2_get_uint32() taints the buffer that it is passed,
+ which causes coverity issues in calling code.
+
+ So this commit adds an addional coverity annotation to ensure the buffer is not
+ tainted.
+
+ Am not 100% sure how to specify multiple annotations, but apparently doing
+ things like '// coverity[ foo, bar ]' does not work, so we put the new
+ annotation in a separate comment.
+
+jbig2dec/jbig2.c
+
+
+
+2019-11-19 12:26:18 +0000
+
+
Ken Sharp <ken.sharp@artifex.com>
+7ff87e872888da0f5cfd392b3f8b90fa7ad0e27c
+
+
+ Fix the Lexmark contributed device
+
+ Bug #701905 "heap-buffer-overflow at contrib/gdevlx32.c:1509 in convbuf"
+
+ The problem here is actually much earlier. In encode_bw_buf() there is a
+ comment (line 1771) about starting before the first non-white pixels
+ in order to "give the head a little more room to accelerate properly".
+
+ If the first non-white pixel is less than 3 pixels from the left edge
+ of the raster, this will cause the calculation of 'left' to become
+ negative. It seems to me this will immediately corrupt the data. In
+ addition right is calculated in a similar fashion, if right is also
+ close to the right edge of the raster, then we can end up with numcols
+ being more than the width of the raster.
+
+ This argument is passed to convbuf() and that tries to read off the end
+ of the input data, because numcols exceeds the bytes in the raster.
+
+ I'm pretty dubious about this whole piece of code but since I don't
+ have a printer to test with I'm reluctant to make major changes. This
+ commit simply clamps left to 0 and right to the right edge of the
+ raster. The comment implies that the extra spacing probably isn't useful
+ and certainly suggests that removing it won't be harmful.
+
+contrib/gdevlx32.c
+
+
+
+2019-11-18 17:36:54 +0000
+
+
Julian Smith <jules@op59.net>
+7e50bda19813d11555ff1ab4f7cb5c3e55ff0653
+
+
+ Coverity 341025: removed unreachable line of code.
+
+pcl/pl/plmain.c
+
+
+
+2019-11-18 17:34:49 +0000
+
+
Julian Smith <jules@op59.net>
+05cfc3afb00404ddfd3c1eac635f369491995e5b
+
+
+ Coverity 331894: check return from gs_bbox_transform().
+
+pcl/pl/plchar.c
+
+
+
+2019-11-18 17:32:05 +0000
+
+
Julian Smith <jules@op59.net>
+81e179af142575eab21633b2023e752e1e244c9a
+
+
+ Coverity 331893: check return code from gs_bbox_transform().
+
+base/gxclimag.c
+
+
+
+2019-11-18 17:28:42 +0000
+
+
Julian Smith <jules@op59.net>
+d57aff5bbdb206f00e4b0cb3b324616be10d358e
+
+
+ Coverity 323321: avoid dead code.
+
+base/gdevdrop.c
+
+
+
+2019-11-18 15:24:44 +0000
+
+
Julian Smith <jules@op59.net>
+3aa36ebc3df83d339695fff58a73332d5304c47d
+
+
+ Coverity 323317, 323320: avoid dead code.
+
+ Fixes coverity errors for transform_pixel_region_render_landscape() and
+ transform_pixel_region_render_skew().
+
+base/gdevdflt.c
+
+
+
+2019-11-18 14:49:38 +0000
+
+
Julian Smith <jules@op59.net>
+4a1a4e8ad165e678d3affab483460ec8b926d5dd
+
+
+ Coverity 261213: make pxPassthrough_pcl_state_nonpage_exceptions() check return from pcl_set_graphics_state().
+
+ Also changed pxPassthrough_pcl_state_nonpage_exceptions() to return an int, and
+ made all of its callers check the return value.
+
+pcl/pxl/pxpthr.c
+pcl/pxl/pxpthr.h
+
+
+
+2019-11-18 14:38:10 +0000
+
+
Julian Smith <jules@op59.net>
+1ee350a81d5799785ab53b3eece6e853cc4c607b
+
+
+ Coverity 261210: wrap call of pcl_mark_page_for_path() in hpgl_call().
+
+pcl/pcl/pgdraw.c
+
+
+
+2019-11-18 12:31:33 +0000
+
+
Julian Smith <jules@op59.net>
+884690a576e16043e674efb9d047a00760ac8443
+
+
+ Coverity 135902: remove support for USE_MAP_TYPE_IN_SPECIFICATION.
+
+ We now always treat map type 0 as map type 1. As suggested by henrystyles.
+
+ This will fix coverity issue.
+
+pcl/pcl/pctext.c
+
+
+
+2019-11-18 12:20:17 +0000
+
+
Julian Smith <jules@op59.net>
+9763a006f7c566e92f60e799fb2270c09807e9c8
+
+
+ Coverity 135902: Fixed indentation in char_is_printable().
+
+ This commit has no output from 'git diff -w', and is in preparation for next
+ commit that fixes coverity issue.
+
+pcl/pcl/pctext.c
+
+
+
+2019-11-15 16:55:22 +0000
+
+
Julian Smith <jules@op59.net>
+dd84fd3a36d0ef809ed697ed12f1bb04655a0388
+
+
+ Coverity 102254: avoid integer division when calculating double value.
+
+ It's possible that this could alter behaviour, but clusterpush showed no
+ additional regressions.
+
+pcl/pcl/pctext.c
+
+
+
+2019-11-18 12:08:38 +0000
+
+
Julian Smith <jules@op59.net>
+a631e0d40337da58ba596a9499b71c1d7888c9d5
+
+
+ Coverity 126570: build_foreground(): return error if pindexed is NULL.
+
+ Previously we would dereference pindexed which would inevitably SEGV.
+
+pcl/pcl/pcfrgrnd.c
+
+
+
+2019-11-18 11:25:16 +0000
+
+
Julian Smith <jules@op59.net>
+6fbd278d11e9ea567ea2dce0c7aa02e706d9a9e2
+
+
+ Coverity: try using C++ comment style for 'coverity[ -tainted_data_return ]'
+
+ E.g. for:
+ https://scan4.coverity.com/reports.htm#v46841/p11408/fileInstanceId=69767421&defectInstanceId=11904740&mergedDefectId=95049
+
+jbig2dec/jbig2.c
+
+
+
+2019-11-18 14:55:29 +0000
+
+
Ken Sharp <ken.sharp@artifex.com>
+e05d0e17c75adab181413c8bf5bf6760c76683e4
+
+
+ 'fix' buffer overrun in eps9mid device leading to SEGV
+
+ Bug #701853 "Segmentation fault at base/gsbitops.c:121 in bits_fill_rectangle"
+
+ The actual fault here is considerably earlier in the actual sequence of
+ execution.
+
+ The device(s) check for consecutive unchanged raster lines, and only
+ emit new lines when two lines differ. In addition under some conditions
+ the device can 'consolidate' runs by OR'ing the data in a raster with
+ the same data in the next raster (I don't understand why this is needed)
+
+ In order to ensure that there is sufficient data (24 rasters) for the
+ process to complete safely the raster data is copied into a buffer which
+ is allocated large enough, and is set to zero if less lines than 24 are
+ read from the device.
+
+ However the code doing the OR'ing wasn't using this memory, it was using
+ the single scan line pulled from the device to check whether consecutive
+ lines are the same. This caused it to run off the end of that buffer and
+ overwrite the 'line_ptrs' member of the device structure. *Much* later
+ we would attempt to use the corrupted data and that would cause a SEGV.
+
+ fixed by making the code OR'ing the lines use the workign buffer, as
+ (I think) it should.
+
+devices/gdevepsn.c
+
+
+
+2019-11-17 19:48:10 +0000
+
+
Ken Sharp <ken.sharp@artifex.com>
+da03855bf9ca18eab05d4ac870d73f457758a77f
+
+
+ txtwrite - fix buffer overflow
+
+ Bug #701877 "heap-buffer-overflow at devices/vector/gdevtxtw.c:2114 in txt_add_fragment"
+
+ We were trying to read too many entries from the enumerator 'Widths'
+ array, because we were reading the number of Unicode code points,
+ instead of the number of character codes.
+
+ At the same time.....
+
+ re-instate the code which uses & on the glyph lists and casts them to
+ appropriate pointers. While gcc happily works with the code that was
+ modified to make Coverity happy, Visual Studio absolutely does not.
+ In order to make Visual Studio happy we do need the crazy pointers and
+ casting. I think this is wrong, but this way works on both compilers
+ and I couldn't find any other construction which did.
+
+devices/vector/gdevtxtw.c
+
+
+
+2019-11-16 10:00:58 +0000
+
+
Ken Sharp <ken.sharp@artifex.com>
+0aa9d4f8237f7a0b459fc567e76ab8f0c4c2eebd
+
+
+ Coverity ID 350946
+
+ Not checking the return from gdev_prn_get_bits in two places
+
+ Again, no way for me to see this CID on the Coverity web interface.
+
+contrib/gdevlx7.c
+
+
+
+2019-11-16 09:55:36 +0000
+
+
Ken Sharp <ken.sharp@artifex.com>
+ea274a722040b1186374a96d61715ae96d58c36b
+
+
+ Coverity IDs 350943, 350942 and 350947
+
+ Not checking the return value from gdev_prn_get_bits() in three places.
+
+ Again, cannot see this on the Coverity web interface.
+
+contrib/gdevlx32.c
+
+
+
+2019-11-16 09:52:40 +0000
+
+
Ken Sharp <ken.sharp@artifex.com>
+3a913d9dc801508b19a8d5605e785852e1bfb082
+
+
+ Coverity ID 350944
+
+ Not checking the return value from gdev_prn_get_bits()
+
+ Slightly worryingly, I have the email from Coverity describing this
+ as a new issue, but I cannot persuade the Coverity web interface to
+ display it.
+
+contrib/gdevmd2k.c
+
+
+
+2019-11-16 09:48:23 +0000
+
+
Ken Sharp <ken.sharp@artifex.com>
+8bf3152fe37368b49dcd23535a407c632d7157d2
+
+
+ Coverity IDs 350945 and 350948
+
+ In these routines code can only ever be 0 (OK) or 1 (error). So instead
+ of testing for code < 0 we need to test for code > 0 for an error.
+
+devices/gdevicov.c
+
+
+
+2019-11-16 09:31:32 +0000
+
+
Ken Sharp <ken.sharp@artifex.com>
+5a4c29eeea1f0b63cc0b2fff3a1ca0f5b2d143b6
+
+
+ Coverity IDs 350163, 350949
+
+ previous fix for 350163 missed additional unchecked use of xps_fseek()
+
+ In addition; copying the cleanup code was not a complete fix, because
+ the existing cleanup code had a resource leak which Coverity did not
+ previously complain about.....
+
+ Fix that too
+
+xps/xpsjxr.c
+
+
+
+2019-11-15 18:50:56 +0000
+
+
Robin Watts <Robin.Watts@artifex.com>
+7fc7881b00a43fe1017e593846a0baf28e8837db
+
+
+ Add simple PWG "interpreter" for gpdl.
+
+base/spwgd.c
+gpdl/gpdl.mak
+gpdl/pwg/pwgtop.c
+pcl/pl/plimpl.c
+windows/ghostpdl.vcproj
+
+
+
+2019-11-15 18:49:23 +0000
+
+
Robin Watts <Robin.Watts@artifex.com>
+161adc70e0d6625618c5a6afcb5e04161acc2e2c
+
+
+ Squash a warning about an ininitialised variable.
+
+jpegxr/cw_emit.c
+
+
+
+2019-11-15 18:48:55 +0000
+
+
Robin Watts <Robin.Watts@artifex.com>
+b8de03bdb8696517bff0259e827ece4f5746663c
+
+
+ Squash a float -> int warning.
+
+contrib/japanese/gdevlbp3.c
+
+
+
+2019-11-15 18:48:26 +0000
+
+
Robin Watts <Robin.Watts@artifex.com>
+58bee0ad2c67888a52fa02e31de3120673525fda
+
+
+ Squash a double -> float warning.
+
+contrib/gdevdj9.c
+
+
+
+2019-11-13 18:08:20 +0000
+
+
Robin Watts <Robin.Watts@artifex.com>
+372e4f29d3fcbfeaa83a5ee8cc530cbb948edab7
+
+
+ Squash a warning in gdevcif due to dropping const.
+
+devices/gdevcif.c
+
+
+
+2019-11-15 17:30:23 +0000
+
+
Ken Sharp <ken.sharp@artifex.com>
+194c53ed02d657159a7be894b6d4b54ce1f435d4
+
+
+ Coverity ID 350163 unchecked return value
+
+ Check the return value of xps_fseek and throw an error if it fails.
+
+xps/xpsjxr.c
+
+
+
+2019-11-15 12:32:50 +0000
+
+
Julian Smith <jules@op59.net>
+83c6e520ee6eddeaa1e548e519eb1b42941e3153
+
+
+ Coverity 102206: use snprintf() to avoid unsafe strcpy() and strcat().
+
+pcl/pl/pjparse.c
+
+
+
+2019-11-15 12:24:36 +0000
+
+
Julian Smith <jules@op59.net>
+76c088b2b5468c1551c4636dc9d20f5b1ea5da36
+
+
+ Coverity 102205: cast ushort to final expression type (long) before bit-shift, to avoid sign extension.
+
+pcl/pl/pllfont.c
+
+
+
+2019-11-15 11:49:17 +0000
+
+
Julian Smith <jules@op59.net>
+b51e2be557128054b0f1e8f6eb4c3b7de506cca2
+
+
+ Coverity 102204: cast byte to long to avoid possible sign extension.
+
+pcl/pcl/pcwhtidx.c
+
+
+
+2019-11-15 11:30:34 +0000
+
+
Julian Smith <jules@op59.net>
+dd95eb235f00a600f8b8b99b8929e597283fa96c
+
+
+ Coverity 102189: removed less-than-zero comparison of unsigned.
+
+pcl/pl/plfont.c
+
+
+
+2019-11-15 11:27:53 +0000
+
+
Julian Smith <jules@op59.net>
+95706a3ced4f1cfa50b2ea48f0095ed9423bafe5
+
+
+ Coverity 102173: removed unnecessary comparisons against hpgl_rm_character.
+
+pcl/pcl/pgdraw.c
+
+
+
+2019-11-15 14:22:04 +0000
+
+
Ken Sharp <ken.sharp@artifex.com>
+5f24a32f0cc4513dfb9825900d561b3a6771b87c
+
+
+ Coverity ID 350216 - prevent dangling pointer
+
+ The variable pdcs is declared an immediately initialised to be
+ dsc->dcs2. Coverity correctly points out that if dsc->page_count is 1
+ we enter dsc_alloc_string, which can call dsc_reset() where,
+ if dsc->dcs2 is set, it will be freed and dsc->dcs2 will be set to
+ Null, leaving pdcs dangling.
+
+ By deferring the assignment of pdcs until it is actuallused we can
+ be certain that it is valid.
+
+psi/dscparse.c
+
+
+
+2019-11-15 13:28:38 +0000
+
+
Ken Sharp <ken.sharp@artifex.com>
+de9dc99614f86e4aaa0a447766a58447e76ca8c1
+
+
+ Attempted fix for Coverity ID 350194
+
+ Thanks to Robin for pointing me at the right bit of code.
+
+ There was a pointer cast and address of (&) on an array which was
+ already a pointer. This is, of course, silly, so remove the cast and
+ &.
+
+ At the same time, the quad_glyph_list was using signed shorts to hold
+ the Unicode points, when it should have been using unsigned shorts, so
+ fix that here too.
+
+devices/vector/gdevagl.h
+devices/vector/gdevtxtw.c
+
+
+
+2019-11-15 08:26:36 +0000
+
+
Chris Liddell <chris.liddell@artifex.com>
+0ea433a1a172298eda11203d698ce6fe69be58d2
+
+
+ Support CIDFSubstFont being a path/file
+
+ Preivously, to use a custom CIDFont substitute in a custom location, it was
+ necessary to both both CIDFSubstPath (for the location) and CIDFSubstFont
+ (the file name).
+
+ We'll now check the CIDFSubstFont value and if it looks like it includes a path
+ (i.e. contains a directory/file separator string) then we'll use it as is,
+ ignoring the CIDFSubstPath
+
+Resource/Init/gs_cidfm.ps
+
+
+
+2019-11-14 13:22:11 +0000
+
+
Chris Liddell <chris.liddell@artifex.com>
+51aff033bdc8744adfd86ce8b35ef00f23621de2
+
+
+ Bug 701903: (ps2write) clean up image enumerator streams.
+
+ At the end of an image (especially if the "end" is because of an error
+ condition) make sure we clean up any streams created for the handling of the
+ image data.
+
+ This saves leaving the streams around for gc to cleanup, and avoids a problem
+ where a special purpose stream (for color images) holds a reference to a
+ color space and graphics state either or both of which could be freed by a
+ Postscript restore before the garbager gets called to deal with unreferenced
+ objects.
+
+devices/vector/gdevpdfi.c
+
+
+
+2019-11-14 11:20:40 +0000
+
+
Ken Sharp <ken.sharp@artifex.com>
+33f4f0c0ba5449fd535061e785090bc57849ae51
+
+
+ PDF interpreter - don't ignore SUBSTFONT
+
+ The PDF interpreter attempts to find a 'better' match for missing fonts
+ by using a list of TrueType mappings (eg ArialMT, CourierNew) and a
+ list of mappings (gs_font.ps, /.substitutefaces)
+
+ Failing to find a match there it attempts to use the FontDescriptor
+ Flags if present. As far as I can see that basically means we use
+ Times-Roman for serif fonts and Helvetica for sans serif.
+
+ This commit checks to see if SUBSTFONT is set. If it is we ignore all
+ this nonsense and simply use the substitute font the user told us to.
+ Otherwise we continue as before.
+
+ The diff is actually very simple, but the routine was very large so
+ I decided to move the actual substitution code out into a separate
+ function, to simplify the logic in pdffindfont which makes the
+ differences appear substantial. All that has really changed is that the
+ code to do the substitution, after checking for the existence of a
+ FontDescriptor, checks to see if SUBSTFONT is defined. If it is we
+ behave as if the font had no FontDescriptor and use the normal font
+ substitution machinery.
+
+Resource/Init/pdf_font.ps
+
+
+
+2019-11-07 15:36:55 +0000
+
+
Robin Watts <Robin.Watts@artifex.com>
+98a8b291b135d49ffca23d9a289786971cf33a12
+
+
+ img language implementation
+
+ JPEGs only at this point.
+
+Makefile.in
+gpdl/gpdl.mak
+gpdl/image/imagetop.c
+pcl/pl/plimpl.c
+psi/msvc.mak
+windows/ghostpdl.vcproj
+
+
+
+2019-11-07 15:36:55 +0000
+
+
Robin Watts <Robin.Watts@artifex.com>
+91b104936ec55b3f1f22673d7e286ff67e4e2475
+
+
+ Public build changes to accommodate private URF support.
+
+ This includes build rubrik for devices to generate URF files
+ (urfgray, urfrgb, urfcmyk), a decompression filter for the
+ rle variant used in URF files and a urf "language" interpreter
+ implementation for gpdl.
+
+ Note, this is only the build framework for these things. The
+ actual implementation code lives in the private 'urf'
+ git module, and will be activated automatically as part of
+ the build if it is in position at configure time.
+
+Makefile.in
+base/lib.mak
+base/unix-gcc.mak
+configure.ac
+devices/devs.mak
+gpdl/gpdl.mak
+pcl/pl/plimpl.c
+psi/int.mak
+psi/msvc.mak
+psi/zfilter.c
+windows/ghostpdl.vcproj
+windows/ghostscript.vcproj
+
+
+
+2019-11-13 16:35:05 +0000
+
+
Ken Sharp <ken.sharp@artifex.com>
+af558a708b40a78eef9c0bc5b2ae229d771a3537
+
+
+ pdfwrite - Fix XMP emission
+
+ Bug #701895 "Ghostscript should leave the rdf:description rdf:about attribute empty (XMP Metadata)"
+
+ See the bug thread, it appears this value should be empty and this
+ commit makes that change.
+
+devices/vector/gdevpdfe.c
+
+
+
+2019-11-11 20:14:36 -0800
+
+
Ray Johnston <ray.johnston@artifex.com>
+f63270230f329c6e89375af18d2bf2930421174a
+
+
+ Fix devices that ignore return codes from gdev_prn get_bits & copy_scan_lines
+
+ Discovered these when working on bug 701845 'devicen' device. Checking
+ uncovered a plethora of other places that used one of these functions
+ assuming success.
+
+ Also the gdev_prn_copy_scan_lines had places that assumed the return code
+ was a valid line_count, so if negative, could memset many lines in front of
+ an allocated buffer.
+
+ The code in a few of these usages is strange, and we don't have a way to
+ check them, so this may not match the original intent.
+
+ Also, while perusing all of these files, check devices for alloc's that
+ assume success and fix them (usually return gs_error_VMerror).
+
+base/gdevdevn.c
+devices/gdev3852.c
+devices/gdev4081.c
+devices/gdev4693.c
+devices/gdev8510.c
+devices/gdevatx.c
+devices/gdevbit.c
+devices/gdevbj10.c
+devices/gdevbmp.c
+devices/gdevccr.c
+devices/gdevcdj.c
+devices/gdevcfax.c
+devices/gdevcif.c
+devices/gdevclj.c
+devices/gdevcljc.c
+devices/gdevdjtc.c
+devices/gdevdm24.c
+devices/gdevepsc.c
+devices/gdevepsn.c
+devices/gdevescp.c
+devices/gdevgprf.c
+devices/gdevhl7x.c
+devices/gdevicov.c
+devices/gdevifno.c
+devices/gdevimgn.c
+devices/gdevjbig2.c
+devices/gdevjpx.c
+devices/gdevl31s.c
+devices/gdevlbp8.c
+devices/gdevlj56.c
+devices/gdevlp8k.c
+devices/gdevlxm.c
+devices/gdevmgr.c
+devices/gdevn533.c
+devices/gdevokii.c
+devices/gdevpbm.c
+devices/gdevpdfimg.c
+devices/gdevperm.c
+devices/gdevphex.c
+devices/gdevpjet.c
+devices/gdevpsim.c
+devices/gdevrinkj.c
+devices/gdevsppr.c
+devices/gdevstc.c
+devices/gdevtifs.c
+devices/gdevtknk.c
+devices/gdevtsep.c
+devices/gdevwpr2.c
+devices/gdevxcf.c
+devices/gdevxcmp.c
+
+
+
+2019-11-13 13:51:27 +0000
+
+
Julian Smith <jules@op59.net>
+97277fcf0f70d482481ac329ce473e5687e7a935
+
+
+ Bug 701906: Fix duplicate call to tiff_from_filep() that caused leak of TIFF object.
+
+ The code in tiff_rgb_print_page() did tfdev->tif = tiff_from_filep(), but
+ then calls gdev_tiff_begin_page() which does the same thing, overwriting the
+ original tfdev->tif.
+
+ Also changed tiff12_print_page() as it looks to have the same problem.
+
+ This fixes:
+ ./sanbin/gs -dBATCH -dNOPAUSE -dSAFER -sOutputFile=tmp -sDEVICE=tiff48nc ../bug-701906.pdf
+
+devices/gdevtfnx.c
+
+
+
+2019-11-13 14:03:25 +0000
+
+
Ken Sharp <ken.sharp@artifex.com>
+6690c60c3e1be875134150fa4909bff0de7d583f
+
+
+ pdfwrite - For PDF input, copy any UserUnit to the output
+
+ If the input is PDF, and the input file uses the ugly UserUnit hack to
+ work around MediaBox limits in Acrobat, and the CompatibilityLevel of
+ the output is at least PDF 1.6, then do not apply the UserUnit to the
+ MediaBox and do not scale the content. Instead pass the value of
+ UserUnit to the pdfwrite device and insert it into the output page.
+
+ We use a special_op to inquire whether the device would like us to pass
+ it the UserUnit. The pdfwrite device checks the current PDF level
+ being emitted and either returns true, or false if too low a level is
+ requested.
+
+ If it returns true the PDF interpreter does not apply the UserUnit
+ scaling but instead uses a second special_op to inform the device what
+ of the value of UserUnit.
+
+ The pdfwrite device adds any non-unity value of UserUnit to the page
+ dictionary when emitting it.
+
+ If -dNoUserUnit is set we neither apply the UserUnit scaling nor pass it
+ to the device.
+
+Resource/Init/pdf_draw.ps
+Resource/Init/pdf_main.ps
+devices/vector/gdevpdf.c
+devices/vector/gdevpdfb.h
+devices/vector/gdevpdfp.c
+devices/vector/gdevpdfx.h
+
+
+
+2019-11-12 15:51:23 +0000
+
+
Julian Smith <jules@op59.net>
+9e1d2f76cabf84576424af0c38dceef5881c2b21
+
+
+ jbig2_hd_new(): return error if params->GRAYMAX is large enough that N wraps to zero.
+
+ This was noticed when investigating coverity warnings about params->GRAYMAX
+ being tainted.
+
+jbig2dec/jbig2_halftone.c
+
+
+
+2019-11-12 15:48:50 +0000
+
+
Julian Smith <jules@op59.net>
+e6d0fcd87934f01d4fb3c3029558fea134fbd086
+
+
+ Attempt to quieten coverity complaints about tainted data from jbig2_get_int32() and jbig2_get_uint32().
+
+ E.g. see Coverity p11408:94824.
+
+jbig2dec/jbig2.c
+
+
+
+2019-11-12 11:22:41 +0000
+
+
Julian Smith <jules@op59.net>
+d11a43b64a2e623aebdfa34f8ee992887dc5b2b2
+
+
+ Coverity p11408:350203: Stop coverity overflow warning about array of floats.
+
+ &lutatobparts->matrix->cu.u points to something the size of three floats,
+ but add_matrixwithbias() takes pointer to nine floats, which makes coverity
+ complain.
+
+ This fix changes things so that we pass a pointer to something nine floats in
+ size, which satisfies coverity.
+
+base/gsicc_create.c
+
+
+
+2019-11-12 10:29:16 +0000
+
+
Chris Liddell <chris.liddell@artifex.com>
+24ec06a27df63297796a379c95ee5d4b39040410
+
+
+ Bug 701894: fix the '--' and co options
+
+ The --, -+ and -@ need to add the file argument to the permit read list
+ before attempting to open and interpret them.
+
+psi/imainarg.c
+
+
+
+2019-11-11 13:45:59 +0000
+
+
Julian Smith <jules@op59.net>
+592fb032180aac0fc22a7c860ef116b38da8ca71
+
+
+ Coverity p11408:350214: fix use of uninitialised 'file'.
+
+base/gpmisc.c
+
+
+
+2019-11-11 13:41:29 +0000
+
+
Julian Smith <jules@op59.net>
+7da60037b788bec4217f6ee7017e238f541714ae
+
+
+ Coverity p11408:350217: avoid memcpy() with same buffers.
+
+pcl/pcl/pcindxed.c
+
+
+
+2019-11-11 12:44:26 +0000
+
+
Julian Smith <jules@op59.net>
+658e14023fa84232c569ecc5528b77fd35bcf290
+
+
+ Coverity p11408:350197: fix issue by initialising 'file' to NULL.
+
+base/gpmisc.c
+
+
+
+2019-11-11 11:17:57 +0000
+
+
Julian Smith <jules@op59.net>
+11f8439f49a3704bb4506e02382a0e697e5edf8e
+
+
+ Coverity p11408:350178: Stop coverity overflow warning about array of floats.
+
+base/gsicc_create.c
+
+
+
+2019-11-11 12:00:20 +0000
+
+
Chris Liddell <chris.liddell@artifex.com>
+a1747b9267b4aac28e256820c5cea37af299af86
+
+
+ Make lack of freetype a hard error
+
+configure.ac
+
+
+
+2019-10-24 10:09:55 +0100
+
+
Chris Liddell <chris.liddell@artifex.com>
+37a322fb93c5cd1e96a4cad2ffccdc397f7c0ea5
+
+
+ Reinstate Apple devices (gdevadmp.c) as contrib devices
+
+configure.ac
+contrib/contrib.mak
+contrib/gdevadmp.c
+
+
+
+2019-11-11 10:21:13 +0000
+
+
Chris Liddell <chris.liddell@artifex.com>
+aad7bcab6a3aedc4e2bfecd7b1e6bf893c299d0e
+
+
+ Better solution for commit 68aeff88e95c
+
+ This is a simplified (and fixed) solution for the problem addressed in commit
+ 68aeff88e95c: instead of assiging to the 'fixed' type, then converting to
+ ufixed (wrongly, in the original commit), just go straight to ufixed.
+
+ This solves coverity issues: 350493 and 350492
+
+base/gxhintn.c
+
+
+
+2019-11-11 10:42:11 +0000
+
+
Chris Liddell <chris.liddell@artifex.com>
+2de09275898086e903a19812fd78e73381f7e71e
+
+
+ Bug 695873: reverse search to auto-set GenericResourceDir
+
+ A -I path like:
+
+ /path/to/Resources/share/ghostscript/9.15/Resource/Init
+
+ Would cause us to wrongly set GenericResourceDir and the ICCProfilesDir because
+ in both cases we'd search the path for the string 'Resource', and end up using:
+
+ /path/to/Resource
+
+ To work better, this uses the new and non-standard rsearch operator to search
+ the path backwards.
+
+ I opted not to include the trailing directory separator at this stage because
+ that complicates matters with platforms that uses different directory
+ separators (Unix vs Windows vs OpenVMS, for example)
+
+Resource/Init/gs_lev2.ps
+Resource/Init/gs_res.ps
+
+
+
+2019-11-09 12:51:05 -0800
+
+
Ray Johnston <ray.johnston@artifex.com>
+c198ac5dcb26fadc53074525cabb413e5395cdba
+
+
+ Clear out gs_gstate at the start of clist playback.
+
+ There are some elements of the (stack based) gs_gstate that were not being
+ set by either GS_STATE_INIT_VALUES_CLIST, or gs_gstate_initialize, so set
+ the entire structure to 0 before setting the values we care about. This
+ was prompted by a customer that has made modifications to the clist playback
+ that relied on gs_gstate.color[0/1].color_space being NULL or valid, but
+ since it is so quick and only happens once per band, go ahead and do it.
+
+base/gxclrast.c
+
+
+
+2019-11-09 10:27:22 +0000
+
+
Ken Sharp <ken.sharp@artifex.com>
+7174b69e6c0027277fe1a9ece341c3380fe7979d
+
+
+ Fix PDF 2.0 /Square annotation appearance generation
+
+ All the routines to generate annotation appearances are supposed to
+ return a boolean value indicating whether an annotation has a valid
+ Appearance (returns true, caller must run the appearance stream) or
+ the appearance has been generated (false, caller must not attempt to
+ run the appearance stream).
+
+ The /Square annotation was failing to return false if there was no
+ appearance and one had been generated.
+
+Resource/Init/pdf_draw.ps
+
+
+
+2019-11-08 17:40:37 +0000
+
+
Julian Smith <jules@op59.net>
+ba5b47dc979ca1590f280f482d432705e9b535bf
+
+
+ Coverity p11408:350177: avoid use of uninitialised state.start.x.
+
+ Probably not a problem in practise because we can't get gs_pe_closepat without
+ earlier gs_pe_moveto or similar.
+
+base/gdevvec.c
+
+
+
+2019-11-08 17:21:38 +0000
+
+
Julian Smith <jules@op59.net>
+4a3401e5e4f5828c67d7c65f77a3bb0106753649
+
+
+ Coverity p11408:350167: fixed use of uninitialised gp_file*.
+
+base/gpmisc.c
+
+
+
+2019-11-08 16:40:00 +0000
+
+
Julian Smith <jules@op59.net>
+f44249d69a36fa7233504bdb137af9ff5008ec37
+
+
+ Coverity Coverity p11408:350165: try to stop coverity warning about array of floats.
+
+ Coverity complains about passing &float to something that assumes it is
+ float[9]. Trying explicit cast of base object to float*.
+
+base/gsicc_create.c
+
+
+
+2019-11-08 16:25:01 +0000
+
+
Julian Smith <jules@op59.net>
+2029235dc8997314c1925e5786212a6c7331f0cf
+
+
+ Coverity p11408:350164: only call memcpy() if buffers are different.
+
+ We could use memmove() instead, but this makes things a little clearer.
+
+pcl/pcl/pcindxed.c
+
+
+
+2019-11-08 12:31:08 +0000
+
+
Julian Smith <jules@op59.net>
+5605c6c6a9677013560a6a3c947f4b100eae4e09
+
+
+ Coverity p11408:350160: attempt to avoid coverity issues when calling pl_dict_put().
+
+ Coverity doesn't like hard-coded 32 for the size of 'short
+ unicode_fontname[16]', so use sizeof().
+
+pcl/pl/pllfont.c
+
+
+
+2019-11-08 15:13:50 +0000
+
+
Ken Sharp <ken.sharp@artifex.com>
+95151ae3c3c63100bc7ae958f59b8096e7a0f211
+
+
+ Improve handling of microscopic fonts with text rendering mode 3
+
+ Bug #701875 "empty TIFF-file is generated when using -r300, correct output with -r72"
+
+ In the past we've seen PDF producers set the text rendering mode to 3
+ and then (goodness knows why) set a CTM where one of the scale factors
+ is 0. In this case the scale factor isn't 0 but its absolutely minute,
+ 5.3x10-6.
+
+ This evades our existing code, so here we improve it; we check to see
+ if the CTM scales in either direction by a really small amount instead
+ of 0 (0.000001).
+
+ In addition, we previously tried to patch up the CTM and use it anyway
+ but really this is only going to make sense is one scale factor is
+ tiny (or 0) and the other is sensible. If that's not the case then
+ any displacement due to drawing the text will also be tiny. So lets
+ simply ignore it.
+
+Resource/Init/pdf_ops.ps
+
+
+
+2019-11-08 12:47:59 +0000
+
+
Chris Liddell <chris.liddell@artifex.com>
+0f7653fd4f1d1c5bf36719efcd8464eafcd46faf
+
+
+ Bug 701870: Use object number from Font rather than FontDescriptor
+
+ In case where two CIDFont /Font objects share a /FontDescriptor, because the
+ /Font objects can contain different details like /CIDSystemInfo contents and
+ /CIDToGIDMap, if we use the object number from the /FontDescriptor to validate
+ the instance of the font we should use, we can end up reusing a (Postscript)
+ font when we shouldn't. This can result in garbled or missing glyphs.
+
+Resource/Init/pdf_font.ps
+
+
+
+2019-11-08 12:08:52 +0000
+
+
Robin Watts <Robin.Watts@artifex.com>
+6882df85d37819d849476cf2b4822a90e64d9b24
+
+
+ Add a couple of FIXMEs to the xps interpreter.
+
+xps/xpsimage.c
+xps/xpstop.c
+
+
+
+2019-11-08 12:08:24 +0000
+
+
Robin Watts <Robin.Watts@artifex.com>
+b7fac758d046c82d65fa69dd2c4bc0f1cf9712bc
+
+
+ Remove unused gpdlpsi.mak file.
+
+gpdl/psi/gpdlpsi.mak
+
+
+
+2019-11-08 11:32:41 +0000
+
+
Julian Smith <jules@op59.net>
+328d27b3cccc89c4ff60529106489a9a635f0f72
+
+
+ Bug 701854: bj10v_print_page(): increase buffer by one byte to give space for sentinel.
+
+ Fixes:
+ ./sanbin/gs -r928 -sOutputFile=tmp -sDEVICE=bj10v ../bug-701854.ps
+
+contrib/japanese/gdev10v.c
+
+
+
+2019-11-07 10:08:35 +0000
+
+
Chris Liddell <chris.liddell@artifex.com>
+68aeff88e95ccfd1af430fe180597d624ad9f47e
+
+
+ Old Type 1 hinter: protect against signed overflow
+
+ To avoid overflow during hinting, we tweak the balance of the size of the
+ coordinates and the scaling in the hinter (this is only dealing with coords
+ so large that hinting is largely pointless anyway).
+
+ But the code that does that didn't protect against signed overflow in the
+ starting coordinates.
+
+ This is a naive protection to prevent an infinite (or near so) loop, but
+ a) it's old code that shouldn't be in use anymore, and b) in practice it will
+ make no difference to rendering with coordinates that large.
+
+base/gxhintn.c
+
+
+
+2019-11-06 14:17:33 +0000
+
+
Chris Liddell <chris.liddell@artifex.com>
+713645137a2fc483e5509bfd0f92d7311faeb614
+
+
+ Some more transparency ops doc tweaks
+
+doc/Language.htm
+
+
+
+2019-11-07 16:55:15 +0000
+
+
Julian Smith <jules@op59.net>
+6c3af6e12e4448b519d2b48c2047c0c83b3cf082
+
+
+ Coverity issue 102147:323319: transform_pixel_region_render_skew(): don't return pointer to local data.
+
+base/gdevdflt.c
+
+
+
+2019-11-07 16:18:32 +0000
+
+
Julian Smith <jules@op59.net>
+66878fb30f37b06a532fdce39991f31642cdb09b
+
+
+ Bug 701856: fix bad bracketting in original fix.
+
+devices/gdevepsn.c
+
+
+
+2019-11-07 16:13:06 +0000
+
+
Julian Smith <jules@op59.net>
+76db3df8090127482960b742f15831e59816a05e
+
+
+ Coverity issue 102147: initialise gx_device_color::type.
+
+ Might fix Coverity issue in base/gxiscale.c.
+
+base/gxiscale.c
+
+
+
+2019-11-07 12:34:24 +0000
+
+
Julian Smith <jules@op59.net>
+9caccf9f09e06324f07822cc55e1737d881c6eb3
+
+
+ Bug 701856: fixed buffer overflow in devices/gdevepsn.c.
+
+ Need to protect aginst overflow with high x_dpi when using local
+ graphics_modes_24[] or graphics_modes_9[] arrays.
+
+ Fixes:
+ ./sanbin/gs -dBATCH -dNOPAUSE -r914 -sOutputFile=tmp -sDEVICE=eps9high ../bug-701856.pdf
+
+devices/gdevepsn.c
+
+
+
+2019-11-07 11:57:35 +0000
+
+
Julian Smith <jules@op59.net>
+018003614ad80910ca2c009eb1d523e8015756bc
+
+
+ Bug 701849: Fix buffer overflow in devices/gdevhl7x.c.
+
+ High values of pdev->x_pixels_per_inch result in Summary::pageWidth being
+ greater than Summary::previousData's fixed size of 1500 bytes, which causes
+ buffer overflow in resetPreviousData() (and possibly other places too).
+
+ So have changed to initSummary() to allocate Summary::previousData using
+ gs_malloc(), and added freeSummary() to clean up.
+
+ Fixes:
+ ./sanbin/gs -r968 -dFitPage -dUseCropBox -sPAPERSIZE=legal -sOutputFile=tmp -sDEVICE=hl7x0 ../bug-701849.pdf
+
+devices/gdevhl7x.c
+
+
+
+2019-11-06 15:25:12 +0000
+
+
Julian Smith <jules@op59.net>
+7da3de0c7662491fa2a0b6f5a638848bcf13a5fa
+
+
+ Bug 701847: make pj_common_print_page() work with any line_size.
+
+ Much of the code used to be hard-coded for fixed LINE_SIZE.
+
+ Fixes:
+ ./sanbin/gs -dBATCH -dNOPAUSE -sOutputFile=tmp -sDEVICE=lj250 ../bug-701847.pdf
+
+devices/gdevpjet.c
+
+
+
+2019-11-06 14:44:13 +0000
+
+
Julian Smith <jules@op59.net>
+494eeedf73d13fac5710e56f3a8fb2e7e2379d73
+
+
+ Bug 701846: fix use of uninitialised data in clj_media_size().
+
+ If param_read_float_array() fails, fres.data[] is unset. The values to use are
+ always in res[].
+
+ Fixes:
+ ./sanbin/gs -dBATCH -dNOPAUSE -dSAFER -dFIXEDMEDIA -sOutputFile=tmp -sDEVICE=cljet5pr ../bug-701846.pdf
+
+devices/gdevclj.c
+
+
+
+2019-11-06 12:41:28 +0000
+
+
Julian Smith <jules@op59.net>
+4f6bc662909ab79e8fbe9822afb36e8a0eafc2b7
+
+
+ Bug 701844: fixed output buffer size worst case in lp8000_print_page().
+
+ Fixes:
+ ./sanbin/gs -dBATCH -dNOPAUSE -dSAFER -dFIXEDMEDIA -sPAPERSIZE=legal -sOutputFile=tmp -sDEVICE=lp8000 ../bug-701844.pdf
+
+devices/gdevlp8k.c
+
+
+
+2019-11-06 16:46:44 +0000
+
+
Ken Sharp <ken.sharp@artifex.com>
+ce681338646435ca064ab2d1b8bde1614e5ed3f1
+
+
+ PDF interpreter - preserve colour space on Image XObjects with Do
+
+ No bug number the customer file is large and looks confidential.
+
+ The problem is that the PDF file sets a custom colour space, then
+ draws an image, the image is in a different colour space (DeviceRGB),
+ the file then sets a new colour in the original space.
+
+ The PDF interpreter was changing the colour space in order to draw
+ the image, but was not resetting it afterwards, which meant that the
+ attempt to set the colour failed as the colour space was inappropriate.
+
+ I'm *amazed* this hasn't arisen before, its so clearly wrong.
+
+ This commit gets the colour space before executing the image, and puts
+ it back again afterwards. We have to be careful to do the restoration
+ in a stopped context because this code can be called when drawing a
+ glyph, and we are not permitted to change colour space while in an
+ uncoloured glyph, it throws an error.
+
+ In addition, the appearance generation for /Square annotations (and
+ other types) was setting the colour space to white and filling the
+ annotation rectangle, even if the /IC (Interior Color) key was not
+ present. Acrobat appears not to do this so I've modified the code to
+ not fill the annotation if there is no /IC in the annotation dictionary.
+
+Resource/Init/pdf_draw.ps
+
+
+
+2019-11-06 11:56:07 +0000
+
+
Julian Smith <jules@op59.net>
+4e713293de84b689c4ab358f3e110ea54aa81925
+
+
+ Bug 701843: avoid divide by zero in devices/gdevepsc.c:epsc_print_page().
+
+ Fixes:
+ ./sanbin/gs -dBATCH -dNOPAUSE -dSAFER -r8 -dNOCIE -dFitPage -sOutputFile=tmp -sDEVICE=epsonc ../bug-701843.pdf
+
+devices/gdevepsc.c
+
+
+
+2019-11-06 11:46:10 +0000
+
+
Julian Smith <jules@op59.net>
+f70ab2044429fe4b991801476ea3f4b4a5c0cdf4
+
+
+ Bug 701843: avoid divide by zero caused by custom resolution being too low.
+
+ Fixes:
+ ./sanbin/gs -dBATCH -dNOPAUSE -dSAFER -r8 -dNOCIE -dFitPage -sOutputFile=tmp -sDEVICE=eps9mid ../bug-701843.pdf
+
+devices/gdevepsn.c
+
+
+
+2019-11-06 11:18:55 +0000
+
+
Julian Smith <jules@op59.net>
+ce2afc4f02617dee51f3322ae8386c4b46047c18
+
+
+ Bug 701842: avoid buffer overflow in lxm5700m_print_page().
+
+ Fixes:
+ ./sanbin/gs -dBATCH -sOutputFile=tmp -sDEVICE=lxm5700m ../bug-701842.ps
+
+devices/gdevlxm.c
+
+
+
+2019-11-05 18:18:50 +0000
+
+
Robin Watts <Robin.Watts@artifex.com>
+027c546e0dd11e0526f1780a7f3c2c66acffe209
+
+
+ Bug 701842: Fix misindexing in gxicolor.c
+
+ We were incorrectly decrementing position per-component, rather
+ than per-pixel (in 2 places).
+
+ Also, take care of some whitespace oddities.
+
+base/gxicolor.c
+
+
+
+2019-11-05 15:02:23 +0000
+
+
Julian Smith <jules@op59.net>
+1159afbcad927e1a32008b0ab87e257fc21da8e2
+
+
+ Ensure strncpy() terminates when called from pjl_parsed_filename_to_string().
+
+ Passing strlen()+1 to strncpy() ensures that it will terminate the
+ string. Possibly not required here because the code always terminates the
+ string, but this might fix coverity issue 102147.
+
+pcl/pl/pjparse.c
+
+
+
+2019-11-05 14:59:56 +0000
+
+
Robin Watts <Robin.Watts@artifex.com>
+67b4efc310af7bf9d30f84a70c6b9858ab138e3d
+
+
+ Bug 701809: Fix out oob access in transform_pixel_region.
+
+ When collating pixels to write out using copy_color,
+ we can only write within our array. Clip maxx/minx accordingly.
+
+base/gdevdflt.c
+
+
+
+2019-11-05 14:54:22 +0000
+
+
Robin Watts <Robin.Watts@artifex.com>
+02c566b4b5f3f60ff8ebd7f4523722c39c2d72e7
+
+
+ Memento: Unlock a block with valgrind before checking it.
+
+ This avoids false positives on closedown.
+
+base/memento.c
+
+
+
+2019-11-05 13:36:04 +0000
+
+
Julian Smith <jules@op59.net>
+f38c6b08c6582872af25fc669a5fd3bde9f32753
+
+
+ Bug 701831: fixed buffer overflow in bjc_compress().
+
+ Fixes:
+ ./sanbin/gs -dBATCH -dNOPAUSE -sOutputFile=tmp -sDEVICE=bjc800 ../bug-701831.ps
+
+devices/gdevcdj.c
+
+
+
+2019-11-05 12:03:23 +0000
+
+
Julian Smith <jules@op59.net>
+b25cad42dc869e8e9d7ea58adae2c8baba0ee25d
+
+
+ Bug 701830: avoid buffer overflow in lips_rle_encode().
+
+ Worst case for lips_rle_encode() is 2*Length+2, so adjust corresponding alloc
+ to match.
+
+ Fixes:
+ ./sanbin/gs -dBATCH -dNOPAUSE -r489 -dFitPage -sOutputFile=tmp -sDEVICE=lips4 ../bug-701830.eps
+
+contrib/lips4/gdevl4r.c
+
+
+
+2019-11-05 10:49:58 +0000
+
+
Chris Liddell <chris.liddell@artifex.com>
+e7118494be4162b8c2c06d8b7d4cb2d7ebb57f61
+
+
+ Add -dALLOWPSTRANSPARENCY to the documentation.
+
+doc/Use.htm
+
+
+
+2019-11-05 09:45:27 +0000
+
+
Chris Liddell <chris.liddell@artifex.com>
+485904772c5f0aa1140032746e5a0abfc40f4cef
+
+
+ Bug 701841: remove .forceput from /.charkeys
+
+ When loading Type 1 or Truetype fonts from disk, we attempt to extend the glyph
+ name table to include all identifiable glyph names from the Adobe Glyph List.
+
+ In the case of Type 1 fonts, the font itself (almost always) marks the
+ CharStrings dictionary as read-only, hence we have to use .forceput for that
+ case.
+
+ But for Truetype fonts, the CharStrings dictionary is created internally and is
+ not read-only until *after* we have fully populated it (including the extended
+ glyph names from the AGL), hence there is no need for .forceput, and no need to
+ carry the security risk of using it.
+
+ Replace with regular put.
+
+Resource/Init/gs_ttf.ps
+
+
+
+2019-11-04 14:23:30 +0000
+
+
Chris Liddell <chris.liddell@artifex.com>
+94d8955cb7725eb5f3557ddc02310c76124fdd1a
+
+
+ Bug 701818: better handling of error during PS/PDF image
+
+ In the xps device, if an error occurred after xps_begin_image() but before
+ xps_image_end_image(), *if* the Postscript had called 'restore' as part of the
+ error handling, the image enumerator would have been freed (by the restore)
+ despite the xps device still holding a reference to it.
+
+ Simply changing to an allocator unaffected save/restore doesn't work because
+ the enumerator holds references to other objects (graphics state, color space,
+ possibly others) whose lifespans are inherently controlled by save/restore.
+
+ So, add a finalize method for the XPS device's image enumerator
+ (xps_image_enum_finalize()) which takes over cleaning up the memory it allocates
+ and also deals with cleaning up references from the device to the enumerator
+ and from the enumerator to the device.
+
+devices/vector/gdevxps.c
+
+
+
+2019-10-31 15:30:19 +0000
+
+
Chris Liddell <chris.liddell@artifex.com>
+39b4cdb491c3e09434f5d2b9c334a898fb569850
+
+
+ Update docs for current state of transparency ops
+
+doc/Language.htm
+
+
+
+2019-10-31 10:19:01 +0000
+
+
Chris Liddell <chris.liddell@artifex.com>
+d1eac80695b2c6f2a85942a82518715549541969
+
+
+ Add the ability to allow transparency ops in Postscript
+
+ -dALLOWPSTRANSPARENCY on the command line will prevent the undefining of the
+ non-standard gs Postscript transparency operators.
+
+ Driving these operators in the wrong way can cause undefined behavior, hence
+ not allowing them normally.
+
+ Also, use a better condition for dropping the transparency ops in:
+ examples/transparency_example.ps
+
+Resource/Init/gs_init.ps
+Resource/Init/pdf_main.ps
+examples/transparency_example.ps
+
+
+
+2019-11-05 08:50:45 +0000
+
+
Ken Sharp <ken.sharp@artifex.com>
+27409d99b069e434c6863f43456cf8985bbdf7f8
+
+
+ Fix the quad glyph table
+
+ This might fix Coverity ID 350194. Even if it doesn't it is incorrect
+ so fix the initialisation of the table.
+
+devices/vector/gdevagl.c
+
+
+
+2019-11-05 08:48:10 +0000
+
+
Ken Sharp <ken.sharp@artifex.com>
+407c98a38c3a6ac1681144ed45cc2f4fc374c91f
+
+
+ txtwrite - guard against using GS_NO_GLYPH to retrieve Unicode values
+
+ Bug 701822 "Segmentation fault at psi/iname.c:296 in names_index_ref"
+
+ Avoid using a glyph with the value GS_NO_GLYPH to retrieve a glyph
+ name or Unicode code point from the glyph ID, as this is not a valid
+ ID.
+
+devices/vector/gdevtxtw.c
+psi/zbfont.c
+
+
+
+2019-11-04 16:12:04 +0000
+
+
Julian Smith <jules@op59.net>
+af004276fd8f6c305727183c159b83021020f7d6
+
+
+ Bug 701829: ep_print_image(): protect against memcmp() beyond buffer.
+
+ Fixes:
+ ./sanbin/gs -dBATCH -dNOPAUSE -r12 -sOutputFile=tmp -sDEVICE=escp ../bug-701829.pdf
+
+devices/gdevcdj.c
+
+
+
+2019-11-01 11:55:23 -0700
+
+
Ray Johnston <ray.johnston@artifex.com>
+4f73e8b4d578e69a17f452fa60d2130c5faaefd6
+
+
+ Fix bugs 701787, 701806, 701810. Problems with cdj970 device.
+
+ As Robin mentioned in bug 701787, the device was changing resolution AFTER
+ the device had been opened and all of the buffers configured.
+
+ Move the "one time" initial setup into the open function, leaving the code
+ to write the header in the print_page function. Presumably that only needs
+ to be written once even if there are multiple pages.
+
+ Also add a check for valid resolutions since it appears that the intent was
+ to have the "Quality" parameter set up 300 or 600 dpi. Other deskjet devices
+ have this type of check.
+
+ Add a gs_closedevice if the Quality is changed since this will change the
+ resolution and thus the page buffer geometry.
+
+ Lastly, fix cdj970_put_params so that errors are not ignored for all but the
+ last (which happened to be BlackCorrect).
+
+ These changes prevent the bugs cited, but remain untested except for some
+ parameter testing to make sure bad values don't cause memory violations. It
+ does seem that some parameter values that are out of range (like Quality) are
+ ignored, but that may be intentional.
+
+contrib/gdevdj9.c
+
+
+
+2019-11-04 15:32:04 +0000
+
+
Julian Smith <jules@op59.net>
+eaba1d97b62831b42c51840cc8ee2bc4576c942e
+
+
+ Bug 701828: make dot24_print_page() return error instead of divide by zero.
+
+ Fixes:
+ ./sanbin/gs -dBATCH -dNOPAUSE -dSAFER -r2 -sOutputFile=tmp -sDEVICE=necp6 ../bug-701828.pdf
+
+devices/gdevdm24.c
+
+
+
+2019-11-04 13:00:04 +0000
+
+
Julian Smith <jules@op59.net>
+a6f7464dddc689386668a38b92dfd03cc1b38a10
+
+
+ Bug 701827: fixed incorrect buffer expansion in lxm5700m_print_page().
+
+ Fixes:
+ ./sanbin/gs -dBATCH -dNOPAUSE -r425 -dFitPage -sOutputFile=tmp -sDEVICE=lxm5700m ../bug-701827.eps
+
+devices/gdevlxm.c
+
+
+
+2019-11-04 12:30:33 +0000
+
+
Julian Smith <jules@op59.net>
+2793769ff107d8d22dadd30c6e68cd781b569550
+
+
+ Bug 701819: fixed ordering in if expression to avoid out-of-bounds access.
+
+ Fixes:
+ ./sanbin/gs -dBATCH -dNOPAUSE -r965 -sOutputFile=tmp -sDEVICE=pcx16 ../bug-701819.pdf
+
+devices/gdevpcx.c
+
+
+
+2019-11-01 18:09:30 +0000
+
+
Julian Smith <jules@op59.net>
+366ad48d076c1aa4c8f83c65011258a04e348207
+
+
+ Bug 701815: avoid uninitialised bytes being >7, which broke indexing.
+
+ Fixes:
+ ./sanbin/gs -dBATCH -dNOPAUSE -sOutputFile=tmp -sDEVICE=jetp3852 ../bug-701815.pdf
+
+devices/gdev3852.c
+
+
+
+2019-11-01 14:55:16 +0000
+
+
Robin Watts <Robin.Watts@artifex.com>
+ec065fd285f8064ac34cc160106dd730569ebc75
+
+
+ Clear eol padding bits in "atx" devices.
+
+ This upsets the blank line detection and therefore can randomly
+ change the output.
+
+devices/gdevatx.c
+
+
+
+2019-11-01 14:26:52 +0000
+
+
Robin Watts <Robin.Watts@artifex.com>
+e4dce29961108c6fef5c02bf4d5e527b265bf8d8
+
+
+ Mask eol padding bits for pngmono device in CLUSTER builds.
+
+devices/gdevpng.c
+
+
+
+2019-11-01 14:24:08 +0000
+
+
Robin Watts <Robin.Watts@artifex.com>
+9076e48cf91ba6bf4e939b0562c53e6cbb62282e
+
+
+ Fix previous planm eol masking fix.
+
+ The previous attempt to fix the masking of eol padding bits
+ for planm would have failed in the width == multiple of 8 case.
+ Also make it dependent on CLUSTER here.
+
+devices/gdevplan.c
+
+
+
+2019-11-01 12:38:41 +0000
+
+
Robin Watts <Robin.Watts@artifex.com>
+1126deff06d81d4fa1975ea0ed3a3b64e9cf0661
+
+
+ Update "planm" device to clear eol padding bits.
+
+ This should avoid md5 changes in the alldevs cluster test.
+
+devices/gdevplan.c
+
+
+
+2019-11-01 12:22:55 +0000
+
+
Robin Watts <Robin.Watts@artifex.com>
+bcb881e566d90ae43648085ff1edfdcddcd6eb50
+
+
+ Fix "cif" device in CLUSTER builds.
+
+ Use a hardcoded "clusterout" filename for embedding rather
+ than the real one in CLUSTER builds. This stops the md5sum
+ from changing randomly.
+
+devices/gdevcif.c
+
+
+
+2019-11-01 10:26:44 +0000
+
+
Ken Sharp <ken.sharp@artifex.com>
+aadb53eb834b3def3ef68d78865ff87a68901804
+
+
+ Tiffsep and Tiffsep1 - abort on multi-page input wtithout %d OutputFile
+
+ Bug #701821 "Segmentation fault at tiff//libtiff/tif_dirinfo.c:513 in TIFFFindField"
+
+ The tiffsep and tiffsep1 only set 'code' to an error when an attempt is
+ made to write a second output file without using %d in the OutputFile
+ specification.
+
+ This causes problems later when attempting to process the files. The
+ devices should exit without trying to further process the pages under
+ these conditions and this commit returns immediately on error.
+
+ The other devices like this already return immediately on error, it
+ looks like the code here was copied between devices without realising
+ that the tiffsep and tiffsep1 devices didn't exit when the error
+ condition was set.
+
+devices/gdevtsep.c
+
+
+
+2019-10-31 19:47:13 +0000
+
+
Robin Watts <Robin.Watts@artifex.com>
+9c196bb7f6873b4fe43a649fc87cba363c6af8e5
+
+
+ Fix devicen device for new file security world.
+
+ Again, update the code to allow spot files to be written.
+
+base/gdevdevn.c
+
+
+
+2019-10-31 19:24:44 +0000
+
+
Robin Watts <Robin.Watts@artifex.com>
+a6e36c29b69b4d15aac872e37303dcf9cb8d7739
+
+
+ Update spotcmyk device for new file access security.
+
+ This device writes the data to a file, then reads it back in,
+ and writes out various spot ".pcx" files. Accordingly we
+ need to make the file readable too, and then make the .pcx
+ files writable.
+
+base/gdevdevn.c
+
+
+
+2019-10-31 18:21:01 +0000
+
+
Robin Watts <Robin.Watts@artifex.com>
+dbdb5f8527007b482d4e6037b558dbf3e6a06d3a
+
+
+ Fix spurious rangechecks from cljet5pr device.
+
+ The device would rangecheck whenever it was called with a
+ param list that didn't contain HWResolution. Now, if it's
+ not given an HWResolution, look at the device's current
+ value.
+
+devices/gdevclj.c
+
+
+
+2019-10-31 17:42:48 +0000
+
+
Robin Watts <Robin.Watts@artifex.com>
+f5673b5a50f141440329c62ee5b53eefcd585a3f
+
+
+ pdfimg: Avoid ID's varying by filename in CLUSTER builds.
+
+ This was upsetting the alldevs runs.
+
+devices/gdevpdfimg.c
+
+
+
+2019-10-31 17:01:42 +0000
+
+
Julian Smith <jules@op59.net>
+b5bc53eb7223f8999882a5d8e2e35c27fe7a0b57
+
+
+ Bug 701788: added comment about asn/valgrind detecting leaks in fontconfig.
+
+base/gp_unix.c
+
+
+
+2019-10-31 16:22:01 +0000
+
+
Robin Watts <Robin.Watts@artifex.com>
+255eef0a7d9d24962ebbcbb4b1858e44b803f16b
+
+
+ mgr4 device: clear any unused trailing bits for each line.
+
+ This avoids valgrind errors and varying md5sums in the alldevs
+ cluster test.
+
+devices/gdevmgr.c
+
+
+
+2019-10-31 16:21:06 +0000
+
+
Robin Watts <Robin.Watts@artifex.com>
+351a2251b4a80fa31ac15229036318b01d124532
+
+
+ Squash warning caused by previous fix.
+
+ Include the correct header for 'free' before using it.
+
+contrib/eplaser/gdevescv.c
+
+
+
+2019-10-31 13:12:47 +0000
+
+
Julian Smith <jules@op59.net>
+f54414c8b15b2c27d1dcadd92cfe84f6d15f18dc
+
+
+ Bug 701808: return error from okiibm_print_page1() if x_dpi too high.
+
+ Avoids asan error in:
+ ./sanbin/gs -dBATCH -dNOPAUSE -dSAFER -r599 -sOutputFile=tmp -sDEVICE=okiibm ../bug-701808.pdf
+
+devices/gdevokii.c
+
+
+
+2019-10-31 15:36:22 +0000
+
+
Robin Watts <Robin.Watts@artifex.com>
+464107095e614d54417ffd2bedbdc852efee0961
+
+
+ Update lbp8 device to not use a fixed sized buffer for line data.
+
+devices/gdevlbp8.c
+
+
+
+2019-10-31 14:25:25 +0000
+
+
Robin Watts <Robin.Watts@artifex.com>
+5eaccd845c9957dff754ebfdde417fe5d82e5e82
+
+
+ Update vdb.pl script to latest version.
+
+toolbin/vdb.pl
+
+
+
+2019-10-31 14:17:38 +0000
+
+
Robin Watts <Robin.Watts@artifex.com>
+0d998f17c495a12b04904113ff676c7427089883
+
+
+ Fix gdevescv for operation with Memento.
+
+ Blocks returned by system malloc can't be freed by Memento_free.
+
+ Also, avoid a problem in CLUSTER builds.
+
+contrib/eplaser/gdevescv.c
+
+
+
+2019-10-31 11:55:38 +0000
+
+
Julian Smith <jules@op59.net>
+714e8995cd582d418276915cbbec3c70711fb19e
+
+
+ Bug 701807: avoid buffer overflow in tiff12_print_page().
+
+ Fixes:
+ ./sanbin/gs -r650 -sOutputFile=tmp -sDEVICE=tiff12nc ../bug-701807.pdf
+
+devices/gdevtfnx.c
+
+
+
+2019-10-31 10:33:10 +0000
+
+
Robin Watts <Robin.Watts@artifex.com>
+c64d06deea998199a0e30180fd884286b4b2256c
+
+
+ Nobble various uses of "time" in the code in CLUSTER builds.
+
+ This causes the bjccolor device at least to give indeterminate
+ results. Nobbling the rest won't hurt.
+
+contrib/eplaser/gdevescv.c
+contrib/gdevbjca.c
+devices/gdevpdfimg.c
+devices/gdevtifs.c
+devices/vector/gdevpdfe.c
+devices/vector/gdevpsu.c
+
+
+
+2019-10-31 10:31:24 +0000
+
+
Robin Watts <Robin.Watts@artifex.com>
+bf72f1a3dd5392ee8291e3b1518a0c2c5dc6ba39
+
+
+ Fix valgrind problems with gdevbjca.c
+
+ 2 problems here. Firstly, we could access off the end of a row
+ while looking for runs. Change the indexing to fix this.
+
+ Secondly, we could overrun our gamma tables due to unexpectedly
+ large values. Add some clamping.
+
+contrib/gdevbjca.c
+
+
+
+2019-10-31 10:29:32 +0000
+
+
Robin Watts <Robin.Watts@artifex.com>
+fa7f0cde80ce734ddc22bde34d121c1be5c7deb4
+
+
+ Fix various incorrect casts in contrib devices.
+
+ Various contrib devices cast a gx_color_index (a 32 or 64
+ bit value typically containing 24 bits of data) down to
+ a gx_color_value before manipulating it. This is a typo,
+ copied into several places in the code. Correct it here.
+
+contrib/gdevcd8.c
+contrib/gdevdj9.c
+contrib/japanese/gdevmjc.c
+
+
+
+2019-10-31 10:17:09 +0000
+
+
Robin Watts <Robin.Watts@artifex.com>
+f1fd4a73480c5a2f900b1541b45a62ffcc75e12d
+
+
+ Fix warnings when building contrib on windows.
+
+ MSVC is much more sensitive to casting types than gcc is, it
+ seems. Accordingly avoid making doubles when we want floats, and
+ make all casts down to int (or byte) explicit.
+
+base/gxdevice.h
+contrib/gdevbjc_.c
+contrib/gdevbjc_.h
+contrib/gdevcd8.c
+contrib/gdevdj9.c
+contrib/gdevgdi.c
+contrib/gdevln03.c
+contrib/gdevlx32.c
+contrib/gdevmd2k.c
+contrib/gdevop4w.c
+contrib/japanese/gdev10v.c
+contrib/japanese/gdevalps.c
+contrib/japanese/gdevespg.c
+contrib/japanese/gdevmjc.c
+contrib/japanese/gdevnpdl.c
+contrib/japanese/gdevrpdl.c
+contrib/lips4/gdevl4r.c
+contrib/lips4/gdevlips.h
+contrib/pcl3/eprn/mediasize.c
+contrib/pcl3/eprn/mediasize.h
+contrib/pcl3/src/gdevpcl3.c
+contrib/pcl3/src/pclcap.c
+contrib/pcl3/src/pclgen.c
+devices/gdevphex.c
+
+
+
+2019-10-30 17:40:18 +0000
+
+
Robin Watts <Robin.Watts@artifex.com>
+67a101f3eb888bc651cc13bfb06280a669a84967
+
+
+ Fix contrib.mak to work on windows.
+
+ Building Debug-contrib|win32 will currently attempt to run
+ contrib.mak 3 times due to poor commenting out of make lines.
+ For me, this manifested itself as new instances of Visual
+ Studio starting up and attempting to "upgrade" the makefile.
+
+contrib/contrib.mak
+
+
+
+2019-10-29 17:16:03 +0000
+
+
Robin Watts <Robin.Watts@artifex.com>
+4fcbece468706e0e89ed2856729b2ccacbc112be
+
+
+ Avoid some devices dying due to inappropriate resolutions.
+
+contrib/japanese/gdev10v.c
+contrib/japanese/gdevalps.c
+
+
+
+2019-10-29 16:01:39 +0000
+
+
Robin Watts <Robin.Watts@artifex.com>
+19cebe708b9ee3d9e0f8bcdd79dbc6ef9ddc70d2
+
+
+ Avoid division by zero with bj10v device.
+
+ When called with a low resolution, we can end up dividing by zero.
+ Spot this in the open call and give a rangecheck error.
+
+contrib/japanese/gdev10v.c
+
+
+
+2019-10-29 17:28:53 +0000
+
+
Julian Smith <jules@op59.net>
+849e74e5ab450dd581942192da7101e0664fa5af
+
+
+ Bug 701799: avoid out-of-range array access in mj_color_correct().
+
+ Code is obscure, so this fix merely avoids out-of-range access in the simplest
+ way possible, without understanding what the code is trying to do.
+
+ Fixes:
+ ./sanbin/gs -sOutputFile=tmp -sDEVICE=mj6000c ../bug-701799.pdf
+
+contrib/japanese/gdevmjc.c
+
+
+
+2019-10-29 16:49:13 +0000
+
+
Julian Smith <jules@op59.net>
+89f58f1aa95b3482cadf6977da49457194ee5358
+
+
+ Bug 701794: check for x_dpi out of range in epsc_print_page().
+
+ Avoids out-of-bounds of local arrays graphics_modes_9 and graphics_modes_24.
+
+ Larger diff than would like, because can't return error from within
+ declarations in old-style C.
+
+ Fixes:
+ ./sanbin/gs -r680 -sOutputFile=tmp -sDEVICE=epsonc ../bug-701794.pdf
+
+devices/gdevepsc.c
+
+
+
+2019-10-29 16:20:56 +0000
+
+
Julian Smith <jules@op59.net>
+863ada11f9a942a622a581312e2be022d9e2a6f7
+
+
+ Bug 701793: check we are within buffer before comparing buffer contents.
+
+ Fixes:
+ ./sanbin/gs -sOutputFile=tmp -sDEVICE=mj700v2c ../bug-701793.pdf
+
+contrib/japanese/gdevmjc.c
+
+
+
+2019-10-29 15:49:25 +0000
+
+
Julian Smith <jules@op59.net>
+9f39ed4a92578a020ae10459643e1fe72573d134
+
+
+ Bug 701792: Avoid going beyond buffer in GetNumSameData() and GetNumWrongData().
+
+ GetNumSameData() compared buffer contents before checking that we are still
+ within bounds of buffer, which caused the bug.
+
+ Have made similar fix to GetNumWrongData() because it has similar error.
+
+ Fixes address sanitizer error in:
+ ./sanbin/gs -sOutputFile=tmp -sDEVICE=lips4v ../bug-701792.pdf
+
+contrib/lips4/gdevlips.c
+
+
+
+2019-10-29 14:13:25 +0000
+
+
Julian Smith <jules@op59.net>
+d31e25ed5b130499e0d880e4609b1b4824699768
+
+
+ Bug 701788: include space for string terminator in call to malloc in cif_print_page().
+
+ Fixes ./sanbin/gs -sOutputFile=tmp -sDEVICE=cif ../bug-701788.pdf
+
+devices/gdevcif.c
+
+
+
+2019-10-28 17:29:34 -0600
+
+
Henry Stiles <henry.stiles@artifex.com>
+6e6c69487094b877bc56fcc07b9840f6e5b95925
+
+
+ Bug #701803, fix missing Greek symbols.
+
+ New symbol set ISO/IEC 8859-7 Latin/Greek alphabet added.
+
+pcl/pl/plsymbol.c
+
+
+
+2019-10-28 10:37:46 -0700
+
+
Michael Vrhel <michael.vrhel@artifex.com>
+7870f4951bcc6a153f317e3439e14d0e929fd231
+
+
+ Bug 701795: Segv due to image mask issue
+
+base/gxblend.c
+
+
+
+2019-10-28 14:56:56 +0000
+
+
Julian Smith <jules@op59.net>
+1e6b2518ed4b130ad649b96bf914558e642e414d
+
+
+ clusterpush.pl: also exclude sanbin and sanobj directories.
+
+toolbin/localcluster/clusterpush.pl
+
+
+
+2019-10-28 14:41:35 +0000
+
+
Julian Smith <jules@op59.net>
+a2df79b5fdf97e1e33503634910ad08672bcee39
+
+
+ Added support for MEMENTO_BREAKAT, equivalent to (gdb) call Memento_breakAt(...).
+
+ It can be more convenient to specify this on the command line rather than
+ manually stop in gdb.
+
+base/memento.c
+
+
+
+2019-10-28 14:37:48 +0000
+
+
Julian Smith <jules@op59.net>
+450da26a76286a8342ec0864b3d113856709f8f6
+
+
+ Bug 701785: fixed sanitizer heap-buffer-overflow in lprn_is_black().
+
+ In contrib/lips4/gdevlprn.c:lprn_is_black(), it seems that bpl is not
+ necessarily a multiple of lprn->nBw, so we need to explicitly avoid straying
+ into the next line's data.
+
+ This also avoids accessing beyond our buffer if we are already on the last
+ line, and so fixes the sanitizer error.
+
+ Fixes:
+ ./sanbin/gs -sOutputFile=tmp -sDEVICE=lips2p ../bug-701785.pdf
+
+contrib/lips4/gdevlprn.c
+
+
+
+2019-10-27 19:44:35 -0700
+
+
Ray Johnston <ray.johnston@artifex.com>
+93cb0c0adbd9bcfefd021d59c472388f67d3300d
+
+
+ Fix Bug 701786: jetp3852 stack corruption caused by width/resolution
+
+ This "contrib" driver has a questionable design where it collects the raster
+ data from the graphics library into a stack based array, but the size of the
+ array cannot accomodate high resolutions or wide pages. Issue an error and
+ fail (without stack corruption).
+
+devices/gdev3852.c
+
+
+
+2019-10-26 17:14:23 +0100
+
+
Ken Sharp <ken.sharp@artifex.com>
+2c2dc335c212750e0fb8ae157063bc06cafa8d3e
+
+
+ Color Laserjet device - properly check params
+
+ Bug #701796 "Segmentation fault at devices/gdevclj.c:269 in clj_media_size"
+
+ The test in clj_media_size() as incorrect, it didn't signal an error if
+ there was no HWResolution in the param list. This left the parameter
+ 'fres' undefined leading to a potential invalid memory read, or a
+ divide-by-zero error.
+
+ This commit returns an error if we get a param list with no HWResolution
+ I'm not absolutely certain if this is correct, but at least signalling
+ an error is better than a seg fault.
+
+devices/gdevclj.c
+
+
+
+2019-10-26 15:43:38 +0100
+
+
Ken Sharp <ken.sharp@artifex.com>
+bfeff28bb56ee4424ac78619792c18bf4f5104ef
+
+
+ Coverity ID #126579 take 2
+
+ Commit 13b3c67366aef69beed5f9c7e058c59a03714997 addressed this, but
+ there were 2 instances and that only fixed one. Fix the other here.
+
+devices/vector/gdevpdfg.c
+
+
+
+2019-10-26 15:04:26 +0100
+
+
Ken Sharp <ken.sharp@artifex.com>
+aba3375ac24f8e02659d9b1eb9093909618cdb9f
+
+
+ Prevent a heap-buffer overrun
+
+ Bug #701791 "global-buffer-overflow at devices/gdevpjet.c:177 in pj_common_print_page"
+
+ We were not setting the unused bytes at the end of a line to 0, which
+ later caused us to read uninitialised data from the line, and attempt
+ to use that as the index into an 8-byte table. If the uninitialised
+ data was greater than 16 then we would read off the end of the table.
+
+ Its 'probably' benign since we aren't using tis data, and we probably
+ won't try to read from an invalid address, but its poor practice and
+ its easily fixed. Setting the buffer to 0x00 before we start ensures
+ that any padding bytes are in the valid range for the table.
+
+devices/gdevpjet.c
+
+
+
+2019-10-25 18:48:05 +0100
+
+
Robin Watts <Robin.Watts@artifex.com>
+4b9e86a33b237740df682369300f1a9507dc63c5
+
+
+ Memento: Fix annoyance with %p
+
+ Windows displays %p without a leading 0x. Linux adds a leading 0x.
+ Use a macro to give consistent results on all platforms.
+
+base/memento.c
+
+
+
+2019-10-25 13:52:44 +0100
+
+
Chris Liddell <chris.liddell@artifex.com>
+17ad4a12dd40799655b71a93de1209a6a0f24204
+
+
+ Coverity issues: Assignment of overlapping union members
+
+ Strictly speaking assigning one element of union to another, overlapping
+ element of a different size is undefined behavior, hence assign to intermediate
+ variables before setting the other element in the union.
+
+ Coverity #: 350159, 350173, 350205, 350176, 350215, 350192
+
+base/gsfunc4.c
+base/gsparam.c
+pcl/pcl/pgparse.c
+psi/zfont2.c
+psi/ztype.c
+
+
+
+2019-10-25 13:30:56 +0100
+
+
Chris Liddell <chris.liddell@artifex.com>
+62a1c3cdbb374d2f90b00f7aa276be50961c580a
+
+
+ Tweak the section on building with Visual Studio
+
+doc/Make.htm
+
+
+
+2019-10-24 10:15:19 +0100
+
+
Chris Liddell <chris.liddell@artifex.com>
+e80779ae9f53fac617d1416f7075a1b1b7f7688c
+
+
+ Reduce confusion about contrib.mak dependency
+
+ We have two contri.mak files, one in devices/ and one in contrib/, both have
+ dependency declarations:
+ CONTRIB_MAK=...
+
+ This changes the devices/contrib.mak to use:
+ DCONTRIB_MAK=...
+
+ Prepending the 'D' to avoid the two getting muddled.
+
+devices/contrib.mak
+
+
+
+2019-10-25 13:53:31 +0100
+
+
Robin Watts <Robin.Watts@artifex.com>
+9ae928f80e70e04e89f0c36a7b58332fb0a9b19d
+
+
+ Fix CAL ETS compiler flags.
+
+base/cal.mak
+
+
+
+2019-10-24 15:04:58 +0100
+
+
Julian Smith <jules@op59.net>
+9001678252cc6c4e45251db70b83daae39b7d4ec
+
+
+ Bug 697545 (Memory Squeezing): fixed hpgl_polyfill_using_current_line_type() leak on error.
+
+ Need to always call hpgl_grestore().
+
+ Fixes this leak:
+ MEMENTO_FAILAT=15840 ./membin/gpcl6 -sDEVICE=pbmraw -o /dev/null ../pcl5cfts/fts.1552
+
+pcl/pcl/pgdraw.c
+
+
+
+2019-10-24 08:31:38 -0700
+
+
Robin Watts <Robin.Watts@artifex.com>
+d6746f08c592057dfd3abe1b957c8b23971508cc
+
+
+ Memento tweaks: libbacktrace warning/instructions.
+
+ If we can't load libbacktrace.so, give a warning that backtraces
+ will be cryptic.
+
+ Add info to memento.h about where people can get libbacktrace
+ from, how to build it, and where to install it.
+
+ Also add some code from Julian Smith to call gdb to extract
+ backtrace data; this doesn't work for me, so it's disabled
+ by default for now.
+
+base/memento.c
+base/memento.h
+
+
+
+2019-10-23 13:29:38 -0700
+
+
Nancy Durgin <nancy.durgin@artifex.com>
+de22d4d177a5911310d4af0777e87a8809a1622c
+
+
+ Change pdf implementation to use CalGray and CalRGB
+
+ It was previously mapping these to DeviceGray and DeviceRGB for some
+ reason.
+
+ See tests_private/pdf/PDF_1.7_FTS/fts_08_0829.pdf for example where this
+ matters.
+
+Resource/Init/pdf_ops.ps
+
+
+
+2019-10-21 17:37:59 +0100
+
+
Robin Watts <Robin.Watts@artifex.com>
+a1cd6ee4a3724fbf70718483aa702c7af0f0a6cc
+
+
+ Use CAL implementation of ETS in WITH_CAL builds.
+
+base/cal.mak
+base/ets.h
+base/gxdownscale.c
+base/lib.mak
+
+
+
+2019-09-27 11:16:23 +0100
+
+
Shailesh Mistry <shailesh.mistry@hotmail.co.uk>
+a44d0ce727f2095fbbedb8bf6b1e062fca3c8f01
+
+
+ Bug 697545 : Prevent memory leaks in gx_cpath_assign_preserve.
+
+ Update functionality to propagate error codes correctly and release path segments.
+
+ Error created using :-
+ MEMENTO_FAILAT=15840 ./membin/gpcl6 -sDEVICE=pbmraw -o /dev/null ./tests_private/pcl/pcl5cfts/fts.1552
+
+base/gxacpath.c
+base/gxcpath.c
+
+
+
+2019-09-26 15:08:02 +0100
+
+
Shailesh Mistry <shailesh.mistry@hotmail.co.uk>
+4637eeae2415b593d84bb60dbac5369eb2ecc54b
+
+
+ Bug 697545 : Prevent memory leaks in hpgl_LB.
+
+ Update code to propagate error codes correctly and prevent font leaks.
+
+ Error created using :-
+ MEMENTO_FAILAT=19935 ./membin/gpcl6 -sDEVICE=pbmraw -o /dev/null ./tests_private/pcl/pcl5cfts/fts.1480
+
+pcl/pcl/pglabel.c
+
+
+
+2019-09-26 11:49:08 +0100
+
+
Shailesh Mistry <shailesh.mistry@hotmail.co.uk>
+dc3b7d7f6882e1ed1ff41083ff22893efc5c5afa
+
+
+ Bug 697545 : Prevent memory leaks in hpgl_EP.
+
+ Update code to propagate error codes correctly and prevent graphic state leaks.
+
+ Error created using :-
+ MEMENTO_FAILAT=15166 ./membin/gpcl6 -sDEVICE=pbmraw -o /dev/null ./tests_private/pcl/pcl5cfts/fts.1470
+
+base/gxstroke.c
+pcl/pcl/pgpoly.c
+
+
+
+2019-10-23 14:08:02 +0100
+
+
Julian Smith <jules@op59.net>
+3ff1490e231c8b02ce77386a75f23ac76e97cc29
+
+
+ Bug 697545 (Memory Squeezing): fixed owl.pcl leak in hpgl_draw_current_path().
+
+ In pcl/pcl/pgdraw.c:hpgl_draw_current_path() case hpgl_char_fill_edge, ensure
+ that we call hpgl_grestore() before looking at error from (*fill) (pgs).
+
+ Fixes leak at 10093 in:
+ MEMENTO_SQUEEZEAT=1 membin/gpcl6 -sDEVICE=bit -o /dev/null pcl/examples/owl.pcl
+
+pcl/pcl/pgdraw.c
+
+
+
+2019-10-23 15:08:29 +0100
+
+
Julian Smith <jules@op59.net>
+5ce07cab3d1e9e38401cfaddd0312bd06f48422b
+
+
+ Fix hpgl_call_and_check() macro to not define <code> local variable.
+
+ This can conflict with surrounding code. Use <hpgl_call_and_check_code>
+ instead, which should be unique enough.
+
+pcl/pcl/pgmisc.h
+
+
+
+2019-10-23 10:02:02 +0100
+
+
Chris Liddell <chris.liddell@artifex.com>
+1bb7a148bc6a4e4a8736d27a937465aab95069e5
+
+
+ Revision for a34130a136fa that will actually work
+
+ The Coverity report was misleading, and I missed a compiler warning with
+ commit a34130a136fa.
+
+ This resolves the compiler warning, and should keep coverity happy.
+
+base/gstype42.c
+
+
+
+2019-10-23 09:39:11 +0100
+
+
Chris Liddell <chris.liddell@artifex.com>
+6d7243cea061373f592a6d9113626393ff0eb7d8
+
+
+ Coverity ID 350179: Add buffer size check for string
+
+ Before we append chars to a string buffer, check it's large enough
+
+base/genconf.c
+
+
+
+2019-10-23 09:22:14 +0100
+
+
Chris Liddell <chris.liddell@artifex.com>
+a34130a136fa9a61af3991224438dbf31b834767
+
+
+ Coverity ID 350219: Fix mistake in TTF post table handling
+
+ Mistakenly passing a pointer into a macro, rather than the variable.
+
+base/gstype42.c
+
+
+
+2019-10-11 10:20:04 +0100
+
+
Robin Watts <Robin.Watts@artifex.com>
+5573498b2d9abe918794d377729edeab6b28e1fb
+
+
+ Add arch.h dependency for CAL.
+
+base/cal.mak
+
+
+
+2019-10-21 15:12:57 -0700
+
+
Ray Johnston <ray.johnston@artifex.com>
+a7fe4b47d438c78af0fc03adf030d465cfe0ba4f
+
+
+ Apply DOPS to "bare" PS operator in PDF's
+
+ PDF 1.2 defined a PS operator that could be used in streams to execute
+ PostScript. This went away with PDF 1.3 2nd edition spec., but Ghostscript
+ retained the functionality. In commit e7086fc6 we disabled the execution
+ of Subtype /PS streams (requiring -dDOPS to enable them), but the "PS"
+ operator, that sends PostScript strings to the underlying Postscript
+ interpreter remained unaffected, leading to Bug 700176 exploit.
+
+ This patch also disables the "PS" operator unless -dDOPS is specified.
+ Using -dDOPS is *NOT* recommended, although the fixes for Bug700176
+ should prevent that particular exploit.
+
+Resource/Init/pdf_main.ps
+doc/Use.htm
+
+
+
+2019-10-22 10:57:59 +0100
+
+
Ken Sharp <ken.sharp@artifex.com>
+b4521b891de48d7f62be739d02749c4aeca2fde8
+
+
+ Fix dvipdf script
+
+ Bug #701771 "dvipdf script broken"
+
+ Apparently the script requires a trailing '-'
+
+lib/dvipdf
+
+
+
+2019-10-22 09:32:05 +0100
+
+
Ken Sharp <ken.sharp@artifex.com>
+7c836caa3e05a286ac56f39ed45dab65eb979ee9
+
+
+ Update genfontmap.ps for SAFER default
+
+ Bug #701766 " genfontmap.ps Unrecoverable error, exit code 1"
+
+ The genfontmap.ps program, supplied as part of the support tools in
+ 'toolbin' rather than Ghostscript proper, relies on the non-standard
+ PostScript extension operator '.sort'.
+
+ As part of the security hardening, as many non-standard operators as
+ possible were removed from Ghostscript when SAFER is set, including
+ .sort, and with version 9.50 SAFER becomes the default.
+
+ This commit simply updates the genfontmap.ps program to check that it
+ is being run with NOSAFER, emits a warning and exits if this is not the
+ case. Also update the comments to indicate why we are doing this.
+
+toolbin/genfontmap.ps
+
+
+
+2019-10-17 11:51:59 +0100
+
+
Chris Liddell <chris.liddell@artifex.com>
+95e76aad97b1b1c2da51f7fc7e904168fadb1399
+
+
+ Remove the 136 LL3 font set fontmap files
+
+ The fontmap for the type 1 136 set is now in the repo with the font files
+
+lib/Fontmap.URW-136.T1
+lib/Fontmap.URW-136.TT
+
+
+
+2019-10-17 11:39:18 +0100
+
+
Chris Liddell <chris.liddell@artifex.com>
+164db4ba0d766e591884079d6fb21ab63829549d
+
+
+ Fontmap: cope better with bare filename maps
+
+ We don't automatically add FontResourceDir to the libfile search path, so a
+ name to plain file name mapping will only work if the directory containing the
+ file is explicitly added to the search path. For example:
+
+ /Dingbats (d050000l.pfb) ;
+
+ With this change, in addition to the search path and the bare file name, we'll
+ also try opening the file in the FontResourceDir, so users can use such custom
+ mappings simply by adding the font files to the FontResourceDir (usually:
+ Resource/Font).
+
+Resource/Init/gs_fonts.ps
+
+
+
+2019-10-19 11:06:46 +0100
+
+
Ken Sharp <ken.sharp@artifex.com>
+618c3867b8edec9d0ea757949c926d4290995ac7
+
+
+ Pattern handling- relax a heuristic
+
+ Bug #701753 "Error reading a content stream" with pdf using Type3 font"
+
+ This file uses a type 3 font with a FontMatrix more usually found in
+ type 1 font; [0.001 0 0 0.001 0 0]. It is also a coloured font, and
+ uses a Pattern colour space with a Shading function to colour the text.
+
+ The Pattern cell, when scaled by the Font Matrix, results in a mapping
+ of the step matrix to device space where the matrix determinant is less
+ than 1/1,000,000. We detect this as a degenerate matrix and throw an
+ error.
+
+ Acrobat renders an empty page.
+
+ So relax this heuristic further from 10^-6 to 10^-9, this allows the
+ file to render and doesn't cause any changes in our regression tests.
+
+ Of course, at this cell size, the pattern renders blank, just as it
+ does with Acrobat.
+
+base/gsptype1.c
+
+
+
+2019-10-16 08:18:59 -0700
+
+
Ray Johnston <ray.johnston@artifex.com>
+7acf36de36e6972be8a892078d214eea8e311cdd
+
+
+ Fix bug 699457: Parameter range checking wrong (would not spot bad values).
+
+devices/gdevtsep.c
+
+
+
+2019-10-16 08:04:34 -0700
+
+
Ray Johnston <ray.johnston@artifex.com>
+1170f928cc98b64a26edc275b66f081be9079cbb
+
+
+ Fix bug 701719: Parens seem wrong -- fixed for clarity.
+
+base/gxclthrd.c
+
+
+
+2019-10-16 16:12:50 +0100
+
+
Chris Liddell <chris.liddell@artifex.com>
+928ae0dbcf9a2307bb33ba8d2abd83274fc34a7d
+
+
+ Change a URL string to a an href link in the footers.
+
+doc/API.htm
+doc/C-style.htm
+doc/DLL.htm
+doc/Deprecated.htm
+doc/Develop.htm
+doc/Devices.htm
+doc/Drivers.htm
+doc/Fonts.htm
+doc/History9.htm
+doc/Install.htm
+doc/Internal.htm
+doc/Language.htm
+doc/Lib.htm
+doc/Make.htm
+doc/News.htm
+doc/Ps-style.htm
+doc/Ps2epsi.htm
+doc/Psfiles.htm
+doc/Readme.htm
+doc/Release.htm
+doc/Source.htm
+doc/Unix-lpr.htm
+doc/Use.htm
+doc/VectorDevices.htm
+doc/WhatIsGS.htm
+doc/sample_downscale_device.htm
+doc/thirdparty.htm
+
+
+
+2019-10-16 06:52:51 -0700
+
+
Ray Johnston <ray.johnston@artifex.com>
+65dbe88e660adcfba315fe559fcd7fd97628ee49
+
+
+ Fix bug 701718: Use separate 'if' in clist_fillpage.
+
+ The intent was to return the error code if clist_close_writer_and_init_reader
+ failed, THEN run clist_finish_page and similarly return if that fails.
+
+base/gxclrect.c
+
+
+
+2019-10-16 06:43:04 -0700
+
+
Ray Johnston <ray.johnston@artifex.com>
+e22ef03cdd31263ba1266f3d53aef7be4467e405
+
+
+ Fix bug 701715. Problem in thresh_remap.c binary output.
+
+ I never use binary output -- just -p for PostScript output, so this
+ was untested.
+
+toolbin/halftone/thresh_remap/thresh_remap.c
+
+
+
+2019-08-15 11:39:51 +0100
+
+
Chris Liddell <chris.liddell@artifex.com>
+8a3309451ded2335b7f7ab5ebf1c19eebad8b32c
+
+
+ Bring master up to date with 9.50 branch
+
+ docs, dates etc
+
+ Dates and versions for 9.28 RC 1
+
+ Date for 9.28 rc2
+
+ Doc updates, changelog, news etc
+
+ Update to note explicitly case sensitivity on Windsows
+
+ In News.htm and History9.htm
+
+ Dates, docs, etc for 9.28 rc3
+
+ Dates and docs for 9.28 rc4
+
+ Small changelog tweak
+
+ Change version to 9.50
+
+ Update changelog
+
+ Fix a mistake in the news section
+
+ Dates etc for 9.50 release
+
+ Plus a comment on going to 9.50, rather than 9.28.
+
+base/version.mak
+doc/DLL.htm
+doc/Deprecated.htm
+doc/Develop.htm
+doc/Devices.htm
+doc/Drivers.htm
+doc/Fonts.htm
+doc/History9.htm
+doc/Install.htm
+doc/Internal.htm
+doc/Language.htm
+doc/Lib.htm
+doc/Make.htm
+doc/News.htm
+doc/Ps-style.htm
+doc/Ps2epsi.htm
+doc/Psfiles.htm
+doc/Readme.htm
+doc/Release.htm
+doc/SavedPages.htm
+doc/Source.htm
+doc/Unix-lpr.htm
+doc/Use.htm
+doc/VectorDevices.htm
+doc/WhatIsGS.htm
+doc/gs-vms.hlp
+doc/sample_downscale_device.htm
+doc/subclass.htm
+doc/thirdparty.htm
+man/dvipdf.1
+man/gs.1
+man/gslp.1
+man/gsnd.1
+man/pdf2dsc.1
+man/pdf2ps.1
+man/pf2afm.1
+man/pfbtopfa.1
+man/printafm.1
+man/ps2ascii.1
+man/ps2epsi.1
+man/ps2pdf.1
+man/ps2pdfwr.1
+man/ps2ps.1
+
+
+
+2019-10-15 09:27:39 +0100
+
+
Chris Liddell <chris.liddell@artifex.com>
+ac5c8747c9f9e2710a315ff25d41a7b9a592b583
+
+
+ Version number, to dovetail with release
+
+Resource/Init/gs_init.ps
+base/version.mak
+
+
+
+2019-10-14 18:29:10 +0100
+
+
Chris Liddell <chris.liddell@artifex.com>
+e7488d8a4d2bb48d6285d4ba3db1539206f0e67f
+
+
+ Have warning honor -dQUIET
+
+ Have the warning about calling .lockfileaccess or .setsafe when the controls are
+ already in place honor the -dQUIET/-q command line params.
+
+Resource/Init/gs_init.ps
+
+
+
+2019-10-14 18:07:29 +0100
+
+
Chris Liddell <chris.liddell@artifex.com>
+75275c5c001699b32dfdc1d7d7977c8c4c9f2c80
+
+
+ Add words about .currentpathcontrolstate operator
+
+doc/Language.htm
+
+
+
+2019-10-14 10:20:19 +0100
+
+
Chris Liddell <chris.liddell@artifex.com>
+74e468866b53e1a11d641549841b06027266ce39
+
+
+ Update docs on SAFER
+
+ to reflect that SAFER is now the default, and remove the comments about making
+ SAFER the default "in the future".
+
+doc/Use.htm
+
+
+
+2019-10-11 15:10:41 +0100
+
+
Ken Sharp <ken.sharp@artifex.com>
+72ab3591097a2e5ae5201f4a28d3560b019a1019
+
+
+ PDF interpreter - handle ObjStm with contents which are non-delimited
+
+ No bug number, confidential file supplied by a customer.
+
+ This is in the same area as commit
+ d9889892feaac3ca09f85d9bbdc001b1aec50cc3
+
+ In this case the file is actually completely valid and exposes a flaw
+ in our processing of ObjStm streams. We 'tokenise' the entire contents
+ of the ObjStm, for performance reasons, when we first need to read an
+ object from it. This caused problems if we read too many objects which
+ was dealt with in the commit above.
+
+ In this case, however, what we have is objects which do not have any
+ delimiter, so the tokeniser carries straight on, instead of stopping
+ when it reaches the end of the object (as given by the difference
+ between successive offsets). For example, if we have three null objects
+ then the (decompressed) stream would read nullnullnull, each object
+ has a different offset and the length of each is given by subtracting
+ one offset from the next.
+
+ What we were reading was, literally, nullnullnull which of course is not
+ legal.
+
+ This commit leverages off the code in the commit to fix the extra
+ objects and uses the same approach, we set up a ReusableStream on the
+ decompressed ObjStm so we can seek around in it, then read each object
+ by seeking to the offset, setting up a SubFileDecode (so we stop at the
+ end of the object) and reading the object.
+
+ That works as well for this case, albeit with a (negligible in this
+ case) performance penalty). We check at the end of reading the objects
+ individually, and if we don't have enough objects then we raise a
+ warning.
+
+Resource/Init/pdf_base.ps
+
+
+
+2019-10-11 12:06:07 +0100
+
+
Ken Sharp <ken.sharp@artifex.com>
+fbe920c86d42919620a425d0933d9dcbfaa1c3cb
+
+
+ PDF interpreter - do not unconditionally restore state in update_alpha
+
+ Bug #701644 "Error: /unregistered in --.pdfexectoken--"
+
+ The problem is caused by the insanely complicated (and inefficient)
+ way the file is constructed. We have a SMask in a Group, which is
+ enclosed within another Group.
+
+ When we call start a transparency mask we call pdf_prepare_drawing()
+ which calls pdf_update_alpha(). Crucially this is called after we have
+ entered a substream for an enclosing Group, but it does not begin a
+ new substream.
+
+ However, pdf_update_alpha() assumes that if the smask_id has changed
+ then a new viewer state has been saved, and the first thing it does
+ is restore that state. If no such state has been saved (as here) then
+ the code to restore the viewer state sees this as an error (which it is)
+
+ We fix this by checking to see if a viewer state has been pushed before
+ trying to restore to it.
+
+devices/vector/gdevpdfg.c
+
+
+
+2019-10-10 17:13:16 +0100
+
+
Ken Sharp <ken.sharp@artifex.com>
+9dddc61852d012b867e0353c7897b9c5301e17e6
+
+
+ PDF interpreter - Ignore invalid MediaBox array
+
+ Again, no bug, the specimen file is a confidential customer file.
+
+ The file contains, on page 60, an invalid MediaBox:
+
+ /MediaBox[ 0 0 612 792 0 0 720 917]
+
+ The 8 values were unloaded onto the stack, but only 4 were consumed
+ leading to errors later in processing. This commit checks the length
+ of the array and if it isn't exactly 4 then it exits and uses the
+ current page size instead.
+
+Resource/Init/pdf_main.ps
+
+
+
+2019-10-10 15:51:13 +0100
+
+
Ken Sharp <ken.sharp@artifex.com>
+d305e46c4af1af14dfe79f7ebab6d2edf168f068
+
+
+ PDF interpreter - match observed Acrobat processing of Widget annots
+
+ No bug for this, arising from a customer file.
+
+ It appears Acrobat does not render Widget annotations unless the
+ annotation dictionary contains a /FT and a /T key, either directly in
+ the annotation dictionary or inherited from a Form Definition Field
+ dictionary (via the AcroForm /Fields entry).
+
+ This commit checks annotations to see if they are Widgets, then checks
+ to see if both /FT sand /T are present. If either is missing we walk
+ back up the FDF heirarchy using the /Parent key, storing any FT or T
+ keys in the annotation dictionary as we go.
+
+ We don't actually care what the associated values are, we only care if
+ they keys are present, so reversing the lookup is acceptable here.
+
+ We then re-test the annotation dictionary for the presence of both keys
+ and if either is missing we do not render the annotation.
+
+Resource/Init/pdf_draw.ps
+
+
+
+2019-10-10 10:15:49 +0100
+
+
Chris Liddell <chris.liddell@artifex.com>
+797ddfc6ef5f0cdfba664f550fe57acc43f309bb
+
+
+ Fix the logic for permitted directories
+
+ The logic to match a permitted path ending in a directory separator with any
+ file in that directory (but only that directory) was wrong, causing us to
+ reject such cases.
+
+base/gpmisc.c
+
+
+
+2019-10-10 09:29:48 +0100
+
+
Ken Sharp <ken.sharp@artifex.com>
+d45d594ea5660976a21106ea864eb879801827b1
+
+
+ ps2write - restore missing %%PageTrailer comment
+
+ Bug #701659 "Missing %%PageTrailer commen"
+
+ An oversight in commit 96c381cce28c27eac182549441a6c5025b0dcdd6
+ caused the comment to be omitted.
+
+devices/vector/gdevpdf.c
+
+
+
+2019-10-09 16:45:31 +0100
+
+
Ken Sharp <ken.sharp@artifex.com>
+34774ab185f17186b26949f5fee118dee9114d3a
+
+
+ PDF interpreter - fix /None case of Line Ending style
+
+ Bug #701622 "pdfwrite device fails with annotation appearance"
+
+ This is, in fact, nothing at all to do with pdfwrite. The problem is
+ that, when generating an Appearance stream for a /Line Annotation which
+ is defined without an Appearance stream, the /None line ending style
+ was not popping the copy of the annotation dictionary.
+
+ This led to an error in the annotation. If a previous annotation used
+ transparency, then this would cause the compositor to get confused,
+ because we would start the transparency in the Line annotation, but
+ the error meant we would not close the transparency group.
+
+Resource/Init/pdf_draw.ps
+
+
+
+2019-10-07 00:02:27 +0100
+
+
Ken Sharp <ken.sharp@artifex.com>
+b2c1beac237865bde26c7fa921d24d17ecda6fab
+
+
+ pdfwrite - preserve rendering intent
+
+ bug #701487 "Renedring intent not preserved by pdfwrite"
+
+ The pdfwrite device was not previously handling rendering intent changes
+ this commit adds a rendering_intent member to the pdfwrite device
+ structure, initialises it to 1 (absolute colorimetric) and then tracks
+ changes to the graphics state, emitting /RI entries in ExtGSatet
+ dictionaries as required.
+
+ This shows a number of small progressions in the test suite, and marked
+ progressions with icc_v4_profile.pdf and icc_rendering_intent.pdf.
+
+devices/vector/gdevpdfb.h
+devices/vector/gdevpdfg.c
+devices/vector/gdevpdfx.h
+
+
+
+2019-10-06 17:42:53 +0100
+
+
Ken Sharp <ken.sharp@artifex.com>
+faef233630240edfc3ad9f5ea154b5b32ed51c75
+
+
+ pdfwrite - Use CA and ca for text with transparency
+
+ Bug #701631 "pdfwrite: mishandling of alphas with Text render mode 2"
+
+ The problem is in both the PDF interpreter and pdfwrite. In the past
+ the PDF interpreter has never been able to create a fill+stroke
+ primitive, because PostScript doesn't support that. However we added
+ the ability for pdfwrite to maintain text rendering modes, for reasons
+ of quality, which breaks that assumption.
+
+ Although we added the stroke and fill constant alpha to the C graphics
+ state when we moved the PDF graphics state into the C graphics state,
+ nothing actually ever used them. Instead the PDF interpreter sets a
+ single 'opacity' alpha channel, based on whether the current operation
+ is a stroke or a fill. Because we could not emit a combined operation
+ this worked as we would set the opacity separately for each operation.
+
+ Of course for pdfwrite this doesn't work, and looking to the future
+ when the fill+stroke primitive is available in the graphics library,
+ we will need to do away with the opacity.alpha and properly use the
+ fill and stroke alphas stored in the graphics state. For now, however,
+ we need to continue to use the opacity.alpha, but when we are handling
+ text (in pdfwrite) actually use the values of stroke and fill alpha
+ instead of opacity.alpha.
+
+ So add a 'for_text' boolean to all the routines whihch need to set or
+ update the alpha, and when writing the ExtGState, if we are handling
+ text then use CA and ca instead of opacity.alpha.
+
+ This has also mean altering the XPS interpreter so that it sets the
+ stroke and fill alphas as well as opacity.alpha, otherwise pdfwrite
+ doesn't know which value to use for text operations.
+
+devices/vector/gdevpdfd.c
+devices/vector/gdevpdfg.c
+devices/vector/gdevpdfg.h
+devices/vector/gdevpdft.c
+devices/vector/gdevpdts.c
+devices/vector/gdevpdtt.c
+xps/xpscolor.c
+xps/xpsimage.c
+xps/xpsopacity.c
+
+
+
+2019-10-05 14:49:18 +0100
+
+
Ken Sharp <ken.sharp@artifex.com>
+21a10f9e2cb9134c351fd568fc73222f2917e159
+
+
+ PDF interpreter - Improve PreserveAnnots
+
+ PreserveAnnots currenlty works in conjunction with ShowAnnotTypes, but
+ We should really have a separate control for this.
+
+ This commit adds a new /PreserveAnnotTypses (must be set from PostScript
+ in the same way as ShowAnnotTypes). PreserveAnnots and PreserveAnnotTypes
+ only work with a device which can preserve Annotations (currently this
+ is the pdfwrite device only).
+
+ If the device supports Annotation preservation, and PreserveAnnots is
+ true (the default0 then for each annotation we consult the Types array,
+ if the annotation is to be preserved then we pass it to the device. If
+ not, then we pass the annotation to the 'draw' routines which will
+ render teh annotation instead.
+
+ Using the two separate controls allows us to selectively control, by
+ type, whther annotations are preserved, rendered, or simply ignored
+ altogether.
+
+ Also fix an omission, and some typos, in the documentation for
+ ShowAnnots in Use.htm
+
+Resource/Init/pdf_draw.ps
+doc/Use.htm
+doc/VectorDevices.htm
+
+
+
+2019-10-07 18:41:10 +0100
+
+
Chris Liddell <chris.liddell@artifex.com>
+61c489110685f7cab8cbbbca7b15d9b5cb2463d0
+
+
+ Bug 701657: Allocate "memory" device in immovable gc memory
+
+ Devices are supposed to be allocated in memory that cannot relocate (i.e.
+ non-gc memory or an immovable allocation). The memory device accessible from
+ Postscript (makeimagedevice/makewordimagedevice) was being created in regular,
+ relocatable gc memory.
+
+ This caused an invalid memory access when cleaning up subclassed devices, as the
+ one device in the chain may have moved. So switch to using an immovable
+ allocation.
+
+base/gsdevmem.c
+
+
+
+2019-10-01 10:35:48 +0100
+
+
Chris Liddell <chris.liddell@artifex.com>
+2d990b065c228802b3913602b4309165e42c08e9
+
+
+ Fix memory corruption setting a halftone
+
+ When setting a new halftone in the graphics state, we try to re-use the data
+ from the existing device halftone.
+
+ The problem is that the device halftone can have higher component indices than
+ there are components in the new halftone we are creating. In this case, we can
+ end up writing off the end of the components array for the new halftone
+ structure.
+
+ Simply check that the new halftone has enough components before doing the
+ duplication.
+
+base/gsht.c
+
+
+
+2019-09-30 13:40:35 +0100
+
+
Ken Sharp <ken.sharp@artifex.com>
+f03bac8ec2dabfff5583bf6afdd2b77f1885f8ef
+
+
+ pdfwrite - don't honour /Producer key in DOCINFO pdfmark
+
+ Bug #701639 "pdfwrite should not honour the /Producer key in DOCINFO pdfmark"
+
+ The Producer in the document information dictionary (and XML Metadata)
+ is defined quite clearly as the application which produced the PDF file
+ from its native format.
+
+ Ghostscript uses the Producer key (if present in the pdfmark) to set
+ the Producer, but it should not do so. Adobe Acrobat Distiller (at
+ least the end user version) does not permit this value to be altered.
+
+ On reflection we can see why; in the case of a problem with a PDF file
+ its important to know which application created it, and we should not
+ let PostScript obscure that (we already do not pass the Producer
+ information on when the input is PDF).
+
+ The code did already attempt to overwrite any Producer string which
+ contained 'Distiller' (I have no idea why) and that code contained an
+ error which could lead to an invalid Document Information dictionary
+ being created.
+
+ This commit removes the ability for DOCINFO pdfmarks to alter the
+ Producer, which obviously fixes the bug.
+
+ However..... it is actually important for our commercial customers to
+ be able to set this value. A problem with a PDF file created by one of
+ our customer's products should be reported to that customer, not us, as
+ we will not be able to investigate the problem while our customer
+ should be able to. At the very least our customer will know how to
+ retrieve the configuration of Ghostscript being used.
+
+ So permit the commercial version of Ghostscript to set the /Producer
+ from a pdfmark.
+
+devices/vector/gdevpdfm.c
+
+
+
+2019-09-27 13:26:01 +0100
+
+
Chris Liddell <chris.liddell@artifex.com>
+77f79475fd0419d16f1efe7812a44a9720fef10b
+
+
+ Bug 701634: Correctly handle file name of "\0"
+
+ Attempting to open a file with a filename string starting with a NULL
+ character should be treated the same as if the string was zero length.
+
+ Not doing so created a broken file object leading to several operations
+ resulting in a segfault.
+
+ Also, add cleanup in the event of such an error, freeing memory allocated in
+ preparing the gs stream object.
+
+base/sfxcommon.c
+psi/zfile.c
+
+
+
+2019-09-27 00:05:37 +0100
+
+
Robin Watts <Robin.Watts@artifex.com>
+ef597bf4a05814a97d05866868f9b96b98746ae9
+
+
+ Correct Memento usage example in header.
+
+base/memento.h
+
+
+
+2019-09-26 10:47:01 +0100
+
+
Chris Liddell <chris.liddell@artifex.com>
+7db398d549a03ff5d37ec991eb60f01378eac88d
+
+
+ Revised comment for 8992f00edfd1c39154c013489de2a01d2e9a92ee
+
+ Make it clearer why the revised behaviour is required.
+
+base/gstiffio.c
+
+
+
+2019-09-26 09:34:02 +0100
+
+
Chris Liddell <chris.liddell@artifex.com>
+8992f00edfd1c39154c013489de2a01d2e9a92ee
+
+
+ Bug 701313: Disable libtiff callbacks when libtiff is shared
+
+ It seems that libtiff uses global variables to store the error/warning callbacks
+ so if two callers in the exe are using the libtiff shared lib, very bad things
+ happen (usually a segfault).
+
+ So, if that's how we're linked, set the callbacks to NULL.
+
+base/gstiffio.c
+
+
+
+2019-09-03 18:37:21 -0700
+
+
Ray Johnston <ray.johnston@artifex.com>
+6293a99abfdc73b8881b2090cd7b01a1fbef5370
+
+
+ Fix pdf14_accum for DeviceN target devices such as display
+
+ Also fix display device for DeviceN (-dDisplayFormat=16#a0800).
+ Not sure when, but it had bit-rotted.
+
+ The pdf14_accum device now has the DeviceN devn_params available since
+ it now includes gx_devn_prn_device_common (rather than gx_prn_device_common).
+ A pdf14_accum_CMYKSpot device is added that is used when the target device
+ has more than 4 components. The pdf14_accum_CMYKSpot keeps the target device
+ (e.g. display) device equiv_cmyk_colors and devn_params updated as the clist
+ is being written.
+
+base/gdevp14.c
+base/gscdevn.c
+base/lib.mak
+devices/gdevdsp.c
+
+
+
+2019-09-25 04:57:22 -0700
+
+
Robin Watts <Robin.Watts@artifex.com>
+74787042b3259d51538d31556c38239d72539e3f
+
+
+ Run toolbin/headercompile.pl and update dependencies in Makefiles.
+
+ Move the definition of x_pixel within the headers to ensure
+ gdevcmp.h stands alone.
+
+ Include a ufst header to ensure that gxfapiu.h stands alone.
+
+base/gxfapiu.h
+base/lib.mak
+base/tiff.mak
+devices/contrib.mak
+devices/devs.mak
+devices/gdevx.h
+devices/gdevxcmp.h
+psi/int.mak
+toolbin/headercompile.pl
+
+
+
+2019-09-25 14:35:00 +0100
+
+
Robin Watts <Robin.Watts@artifex.com>
+eb7802dc979aaa0e9e43310de0f1e8dcc7b31b2c
+
+
+ Bug 578865: Fix typo
+
+ Fix typo in previous commit.
+
+base/gdevp14.c
+
+
+
+2019-09-19 12:07:00 +0100
+
+
Robin Watts <Robin.Watts@artifex.com>
+73bd448d2ebabad9ee31053abf897325a639cba1
+
+
+ Bug 578865: Push transparency group for non idempotent shadings.
+
+ Shadings that write the same pixels more than once can be
+ rendered incorrectly for blendmodes that aren't idempotent
+ (or for non solid opacities). In such cases, push a transparency
+ group so that the shading can be written just once, and
+ then safely blended.
+
+ Note that this doesn't capture shadings that are rendered
+ via zshfill.
+
+base/gdevp14.c
+base/gstparam.h
+
+
+
+2019-09-23 18:52:16 +0100
+
+
Robin Watts <Robin.Watts@artifex.com>
+1d1d6dc851e23edb36ac6e5db1bdf0edbba262bd
+
+
+ Knockout groups should knockout the group alpha (and shape) too.
+
+ When marking within a knockout group, for each pixel we mark, we
+ throw away the current colorant values in the destination, and
+ base the calculations of the new colorant values on the stored
+ backdrop values.
+
+ We were failing to do this for the group alpha and shape
+ calculations. This could lead to the group alpha getting out of
+ sync with the actual colorant values. We were seeing this with
+ shadings (particularly gradient shadings) where the shadings
+ paint some pixels more than once.
+
+ This becomes much more obvious with the forthcoming commit to
+ use knockout groups for shadings with either transparency or
+ non-idempotent blend modes.
+
+base/gdevp14.c
+
+
+
+2019-09-24 15:48:54 +0100
+
+
Chris Liddell <chris.liddell@artifex.com>
+05e794d14a2853c45a08d5c49d50d1fa5cadaf6c
+
+
+ Cope with .setsafe(global) being called when already 'SAFER'
+
+ As we default to SAFER file controls now, we want to cope with .setsafe and
+ .setsafeglobal being called either when already SAFER, or called multiple times.
+
+ This means adding a .currentpathcontrolstate operator so we don't try to
+ influence the path control lists after control is activated.
+
+Resource/Init/gs_init.ps
+psi/zfile.c
+
+
+
+2019-09-24 09:18:47 +0100
+
+
Chris Liddell <chris.liddell@artifex.com>
+5ca729649efc3b041237b8b45bd2d011b70143ff
+
+
+ tiffsep(1): Cope with .tiff ending as well as .tif
+
+devices/gdevtsep.c
+
+
+
+2019-09-23 20:04:49 +0100
+
+
Robin Watts <Robin.Watts@artifex.com>
+d1daff4546ae8fae46fc4acb8b0bef013753488a
+
+
+ Recast validate to use gs_file_name_check_separator.
+
+ Avoid using gp_file_name_directory_separator, as windows can
+ have 2 different directory separators.
+
+base/gpmisc.c
+
+
+
+2019-09-23 18:05:00 +0100
+
+
Chris Liddell <chris.liddell@artifex.com>
+3f4fc81482ecfef51adb4af98f6ac214c7e64bdb
+
+
+ Remove spurious call to gp_validate_path_len()...
+
+ ...in gx_device_open_output_file()
+
+ There is no need to validate the path in gx_device_open_output_file() as it will
+ be done at a lower level (gp_fopen) for paths that require it (we only validate
+ *after* the Postscript style %device% paths have been expanded into 'real'
+ paths).
+
+ This also interacts badly with the revised handling of formatted string
+ file names, hence remove it.
+
+base/gsdevice.c
+
+
+
+2019-09-23 17:56:34 +0100
+
+
Chris Liddell <chris.liddell@artifex.com>
+f874c5b9d2d5a3798dc00e53149c4a470ce5da01
+
+
+ Fix tiffsep(1) interaction with file permissions lists
+
+ The previous solution didn't quite work, when using formatted strings for
+ output file names (i.e. output-%d.tif).
+
+ This adds a dedicated gs_remove_outputfile_control_path() to mirror
+ gs_add_outputfile_control_path() and uses those for the dynamic adding and
+ removing of separation output file names.
+
+base/gslibctx.c
+base/gslibctx.h
+devices/gdevtsep.c
+
+
+
+2019-09-23 17:11:47 +0100
+
+
Robin Watts <Robin.Watts@artifex.com>
+a1c253838b0e1ccbadc5c0bdb6e3bde59b3b00a1
+
+
+ Update path validation to accept multiple *'s as special case.
+
+ Previously we interpretted multiple *'s as meaning the same as
+ single *'s. Now we use them to mean "just those chars that
+ might be created by the use of a %...{d,x,u,i,o,X} format
+ specifier".
+
+base/gpmisc.c
+doc/Use.htm
+
+
+
+2019-09-23 16:41:09 +0100
+
+
Robin Watts <Robin.Watts@artifex.com>
+3147ffb314f344520fb22c8bc57d4afcdc3c9c62
+
+
+ Improve OutputFile handling of %d etc.
+
+ Only accept %d (and friends) (as opposed to anything starting with %).
+ Only accept legal combinations of flags/widths/precision etc.
+ Generate a more conservative wildcard.
+
+base/gslibctx.c
+
+
+
+2019-09-23 09:25:27 +0100
+
+
Shailesh Mistry <shailesh.mistry@hotmail.co.uk>
+a38bf66e8e041f21ebb25492e576262a55b318b1
+
+
+ Bug 697545 : Prevent memory leaks and SEGV in pcl_font_header.
+
+ Update pcl_font_header to avoid freeing uninitialised font structure and also
+ double freeing the font.
+
+ Error created using :-
+ MEMENTO_FAILAT=17247 ./membin/gpcl6 -sDEVICE=pbmraw -o /dev/null ./tests_private/pcl/pcl5cfts/fts.0573
+
+pcl/pcl/pcsfont.c
+
+
+
+2019-09-22 20:11:00 +0100
+
+
Shailesh Mistry <shailesh.mistry@hotmail.co.uk>
+893018e1c7aca3218555701208cc41daee34b8c4
+
+
+ Bug 697545 : Prevent memory leaks in pcl_execute_macro.
+
+ Prevent memory leaks on error.
+
+ Error created using :-
+ MEMENTO_FAILAT=15270 ./membin/gpcl6 -sDEVICE=pbmraw -o /dev/null ./tests_private/pcl/pcl5cfts/fts.1100
+
+pcl/pcl/pcmacros.c
+
+
+
+2019-09-20 12:38:02 -0700
+
+
Ray Johnston <ray.johnston@artifex.com>
+adc3adfdf30f625444203a7c624c3fa123cfddd2
+
+
+ Slight improvement to "permit-file-***" parameter documentation.
+
+doc/Use.htm
+
+
+
+2019-09-20 11:17:53 -0700
+
+
Ray Johnston <ray.johnston@artifex.com>
+829bfe72c69091da7f0d7c1243a7647114619070
+
+
+ Fix tiffsep and tiffsep1 with new file access control and SAFER mode
+
+ The tiffsep and tiffsep1 synthesize output file names with the outputfile
+ and the separation color name, but the 'open' of these filenames would
+ fail since they were not included on the permit_file_writing list.
+ Add the full filename before opening, and remove the names after closing.
+
+devices/gdevtsep.c
+
+
+
+2019-09-20 11:53:10 -0700
+
+
Robin Watts <Robin.Watts@artifex.com>
+baad48ab4b35dc9edf0317a1773d9efc7631f2d7
+
+
+ Squash stupid const warning.
+
+base/gslibctx.c
+
+
+
+2019-09-20 19:42:01 +0100
+
+
Robin Watts <Robin.Watts@artifex.com>
+3aa9b059018bb49ddf67a87ddd87e01157143b99
+
+
+ Squash some "const" warnings.
+
+pcl/pl/plmain.c
+
+
+
+2019-09-19 11:51:40 +0100
+
+
Robin Watts <Robin.Watts@artifex.com>
+a09321624369d215a733fb991bf48c300c90107a
+
+
+ Remove some needlessly passed parameters.
+
+ For I am a bear of tiny brain, and such things confuse me.
+
+base/gdevp14.c
+
+
+
+2019-09-20 17:49:57 +0100
+
+
Robin Watts <Robin.Watts@artifex.com>
+02108ce46f9beafbfa733598164a6ad254ada7ca
+
+
+ Fix "permit-file-xxxx" handling.
+
+ Ray spotted that gs_add_explicit_control_path was adding 17
+ to arg before using it. 17 happens to be the right amount
+ to add for "--permit-file-read=", but the wrong amount for
+ write/control/all.
+
+ Update the code to call it with the correct arg pointer
+ to start with.
+
+ Also, update a couple of routines to cope with being called
+ with NULL strings.
+
+ Also use enum values in switch rather than 0, 1, 2.
+
+base/gslibctx.c
+pcl/pl/plmain.c
+psi/imainarg.c
+
+
+
+2019-09-18 20:40:42 +0100
+
+
Shailesh Mistry <shailesh.mistry@hotmail.co.uk>
+c0df83637a6234f804bef5a7ef31fe1bc5b66d78
+
+
+ Bug 697545 : Prevent SEGV in append_macro.
+
+ Prevent SEGV if append_macro is called with a NULL pointer and safe guarded
+ calls to chunk_resize_object and chunk_object_size. Also resolved leak when
+ resetting macros.
+
+ Error created using :-
+ MEMENTO_FAILAT=14839 ./membin/gpcl6 -sDEVICE=pbmraw -o /dev/null ./tests_private/pcl/pcl5cfts/fts.1060
+
+base/gsmchunk.c
+pcl/pcl/pcmacros.c
+pcl/pcl/pcparse.c
+
+
+
+2019-09-19 11:02:48 +0100
+
+
Chris Liddell <chris.liddell@artifex.com>
+071b96290c5e524291bb33b132e2cea3efd5f98e
+
+
+ Make missing jbig2 decoder fatal error.
+
+ If we have neither Luratech nor jbig2dec, have configure fail, unless
+ explicitly run with --without-jbig2dec
+
+configure.ac
+
+
+
+2019-09-18 17:18:29 +0100
+
+
Ken Sharp <ken.sharp@artifex.com>
+d9889892feaac3ca09f85d9bbdc001b1aec50cc3
+
+
+ PDF interpreter - handle ObjStm containing more objects than declared
+
+ There's no bug number for this one, I can't easily create a reduced file
+ without inadvertently fixing the problem, and I don't want to put the
+ customer file into Bugzilla.
+
+ The problem is that the file contains an ObjStm (a compressed stream
+ containing a sequence of PDF objects) which contains more objects than
+ the stream declares. Not only that, but the extra object is neither the
+ first nor the last object, so its not trivial to ignore.
+
+ Most consumers handle ObjStm constructs by using the 'catalog' at the
+ head of the stream to find the offset of each object in the stream and
+ then reposition to that object and read a single PDF object (note that
+ objects in an ObjStm do not begin with 'obj' and do not end with
+ 'endobj') which is IMO putting a lot of faith in the consumer's
+ ability to detect a single object.
+
+ For performance reasons Ghostscript's PDF interpreter reads *all* the
+ objects in the ObjStm immediately and stores them, thus trading memory
+ use for performance (we only need to read and decompress the objects
+ once). This approach is totally defeated when there are more objects
+ than expected, because we don't know which object relates to which
+ object number (no 'x y obj' in an ObjStm).
+
+ In this commit we spot the discrepancy; if there are too few objects we
+ exit immediately with an error (technically we could do something about
+ this too, provided the missing object is never used). If there are extra
+ objects then we move to a fallback.
+
+ We discard all the objects we've read, then use the offsets in the
+ 'catalog' to calculate the position and length of each object in the
+ ObjStm. We position the file pointer to the start of the object and
+ use a SubFileDecode filter to limit the number of bytes read to the
+ difference between the offsets. We then use the existing code to read
+ all the objects in that stream. If we get more than one then we discard
+ all but the first.
+
+ Repeat the above until we reach the last object in the catalog; that has
+ no known length so just read from there to the end of the stream.
+
+ The complications are all around getting the objects on the stack in
+ the order expected by the code which follows, and defines the actual
+ objects.
+
+Resource/Init/pdf_base.ps
+
+
+
+2019-09-18 14:28:32 +0100
+
+
Robin Watts <Robin.Watts@artifex.com>
+107aae1f353db3b62f8b714c5100ec7bc180f2fb
+
+
+ Tri/QuadriLinear changes for lcms2mt.
+
+ Add a mechanism so that we can force lcms2mt to use
+ TriLinear (or QuadriLinear) interpolation for specific
+ transforms. This is primarily useful so we can get
+ "best case" transforms which we can use as a baseline
+ for our accelerations.
+
+ The use of TriLinear/QuadriLinear is governed by a new
+ cmsFLAG bit, passed in to link creation. Unfortunately,
+ these flag bits are not passed all the way down to where
+ we actually need them. To avoid having to add an extra
+ flags argument in many places, I stash the flags in a
+ new field in the cmsContext. This is safe, if not entirely
+ pretty, as each context will only be used in a single
+ thread at a time. If this was a function used for more
+ than just testing, we'd consider doing it in the neater
+ (but more invasive) way.
+
+lcms2mt/include/lcms2mt.h
+lcms2mt/src/cmscnvrt.c
+lcms2mt/src/cmsintrp.c
+lcms2mt/src/cmsopt.c
+lcms2mt/src/lcms2_internal.h
+
+
+
+2019-09-16 11:32:33 +0100
+
+
Shailesh Mistry <shailesh.mistry@hotmail.co.uk>
+0b05dca78aaa456ba7b55b853917a4ae68a6fd38
+
+
+ Bug 697545 : Prevent memory leaks in show_char_background.
+
+ Prevent memory leaks on error and then later releasing graphic state.
+
+ Error created using :-
+ MEMENTO_FAILAT=15988 ./membin/gpcl6 -sDEVICE=pbmraw -o /dev/null ./tests_private/pcl/pcl5cfts/fts.0891
+
+pcl/pcl/pctext.c
+
+
+
+2019-09-17 10:37:58 +0100
+
+
Shailesh Mistry <shailesh.mistry@hotmail.co.uk>
+f40631e7592ed1287b2121840b3345acb1bdb1a8
+
+
+ Bug 697545 : Prevent leak in gx_image_enum_begin.
+
+ Prevent leak in gx_image_enum_begin by freeing clip_dev.
+
+ Error created using :-
+ MEMENTO_FAILAT=15565 ./membin/gpcl6 -sDEVICE=pbmraw -o /dev/null ./tests_private/pcl/pcl5cfts/fts.0954
+
+base/gxipixel.c
+
+
+
+2019-09-17 09:02:49 +0100
+
+
Shailesh Mistry <shailesh.mistry@hotmail.co.uk>
+91d18aec6a19a0d3b341701d10355278f4703fdd
+
+
+ Bug 697545 : Prevent SEGV in download_pcl_pattern.
+
+ The pattern is consumed by pl_dict_put during errors so remove second attempt to free it.
+
+ Error created using :-
+ MEMENTO_FAILAT=15501 ./membin/gpcl6 -sDEVICE=pbmraw -o /dev/null ./tests_private/pcl/pcl5cfts/fts.0954
+
+pcl/pcl/pcuptrn.c
+
+
+
+2019-09-17 11:42:13 +0100
+
+
Chris Liddell <chris.liddell@artifex.com>
+8c5348ae5fc35b449aa68eb6668cb6cbc6f345e0
+
+
+ Fix file permissions interaction with '@' command line
+
+ If an options file (prefixed '@' on the command line) followed something that
+ required initialising the Postscript interpreter (such as a '-c' option),
+ opening the file would potentially fail because file permissions had been
+ activated by the interpreter.
+
+ Add and remove the file from the permit reading list before attempting to open
+ it.
+
+base/gsargs.c
+
+
+
+2019-09-16 15:10:46 +0100
+
+
Chris Liddell <chris.liddell@artifex.com>
+955c431ab611efd9a74e62a762cdc1ab9f64e14a
+
+
+ Add explicit "flush" after warning message.
+
+ The warning messages could get trampled on (due to buffering) by messages on
+ stderr, flushing ensures the warning is emitted as intended.
+
+Resource/Init/gs_init.ps
+
+
+
+2019-09-13 09:33:20 +0100
+
+
Chris Liddell <chris.liddell@artifex.com>
+2b3ed0ea5d07005e64badfb9212911a725fefb94
+
+
+ Have .setsafe/.setsafeglobal undefine operators
+
+ In SAFER, we undefine certain delicate operators (mostly transparency related
+ ones), but we weren't doing so if SAFER was enabled using .setsafe
+
+ This means some rejigging to keep NOSAFER and DELAYBIND working.
+
+Resource/Init/gs_init.ps
+
+
+
+2019-09-12 14:23:10 +0100
+
+
Chris Liddell <chris.liddell@artifex.com>
+b3a1114d04a82e534d915b125eb34de21317993a
+
+
+ If set, add PCLFONTSOURCE value to permit_file_reading list
+
+pcl/pl/pjparse.c
+
+
+
+2019-09-11 13:07:02 +0100
+
+
Chris Liddell <chris.liddell@artifex.com>
+0350a0ab56e7b180d62af9423313d6c70345b386
+
+
+ Bug 701561: 'reduce' paths before adding to permit lists
+
+ Before attempting to open files, we pre-process the requested file name to
+ remove surplus/unnecessary elements: i.e. './././file' would be reduced to just
+ './file', or '../dir/../dir/../dir/file' would be reduced to '../dir/file'.
+
+ The 'reduced' path is what we try to open, hence it is also what we check
+ against the file permissions list before we allow files to be accessed.
+
+ That being so, we should also 'reduce' paths as we add them to the permissions
+ lists - thus the permissions list creation and checking are consistent.
+
+base/gslibctx.c
+base/lib.mak
+
+
+
+2019-09-15 12:18:48 +0100
+
+
Shailesh Mistry <shailesh.mistry@hotmail.co.uk>
+511260d72a4b6df9bd2ba48e022f7c3921b547cb
+
+
+ Bug 697545 : Propagate error codes from pcl_break_underline correctly.
+
+ The code has been updated to correctly propagate error codes from all
+ instances of pcl_break_underline.
+
+pcl/pcl/pccprint.c
+pcl/pcl/pcfont.h
+pcl/pcl/pcpage.c
+pcl/pcl/pcpatrn.c
+pcl/pcl/pcpatxfm.c
+pcl/pcl/pctext.c
+pcl/pcl/pcursor.c
+
+
+
+2019-09-11 14:10:27 -0700
+
+
Ray Johnston <ray.johnston@artifex.com>
+c917d64d73fae679d445b233662e0ef4480078f6
+
+
+ Fix Bug 696333. Allow large bitmaps in clist when writing tile cache.
+
+ When writing bits to update the tile cache, we don't need to restrict to
+ a single command buffer as with the copy_mono and copy_color commands.
+
+ Progressions on:
+ tests_private/comparefiles/Bug694385.pdf.psdcmyk.300.1..gs
+ tests_private/pdf/sumatra/2028_-_invisible_patterns.pdf.psdcmyk.300.1..gs
+ tests_private/ps/ps3cet/09-47B.PS.pdf.pkmraw.300.0..gs_pdf
+ tests_private/ps/ps3fts/176-01.ps.psdcmyk.300.1..gs
+
+base/gxclbits.c
+base/gxcldev.h
+base/gxclrect.c
+
+
+
+2019-09-12 10:37:42 -0700
+
+
Ray Johnston <ray.johnston@artifex.com>
+d79d17251261637b672f8518144ffffc42e1eb0e
+
+
+ Fix SEGV with flp device and PCL with clist mode and large BandHeight.
+
+ If the 'clist_init' fails initially (with rangecheck) due to the buffer
+ space too small for the BandHeight specified, we loop in the caller after
+ increasing the buffer size, but clist_init left "is_open" false when failing.
+ Add save_is_open in gdev_prn_setup_as_command_list so that we can restore it
+ if the clist_init eventually suceeds.
+
+ The SEGV was with image_data because re-opening the flp device reset the
+ "obsolete" procs to the default, so flp_image_data was replaced by the
+ gx_default_image_data, but no begin_image had been performed (flp_begin_image
+ skipped this since we were not yet at the FirstPage).
+
+base/gdevprn.c
+base/gxclist.c
+
+
+
+2019-09-16 18:53:49 +0200
+
+
Sebastian Rasmussen <sebras@gmail.com>
+8b0ed52ead9605cae14939362dbf9cdf22b9746c
+
+
+ Update jbig2dec stuff for 0.17 release.
+
+jbig2dec/CHANGES
+jbig2dec/jbig2.h
+jbig2dec/jbig2dec.1
+
+
+
+2019-09-16 18:48:36 +0200
+
+
Sebastian Rasmussen <sebras@gmail.com>
+79e2d671b672f3bc4cca09808dd683b71eff702a
+
+
+ jbig2dec: Use the same contact information everywhere.
+
+jbig2dec/README
+jbig2dec/configure.ac.in
+jbig2dec/jbig2dec.1
+
+
+
+2019-09-16 16:12:32 +0100
+
+
Paul Vojta <vojta@math.berkely.edu>
+7e49d51de2b14f9a4ca873135ba3c8d7aa56256f
+
+
+ Documentation - fix some typos
+
+ Bug #701589 "Minor documentation problems in 9.28-rc2"
+
+ Thanks to Paul Vojta for pointing these out. Unfortunately we cannot use the
+ supplied patch, as it includes alterations to History9.htm, which is auto-
+ generated from the commit logs. The remaining changes are applied here.
+
+doc/Language.htm
+doc/Use.htm
+
+
+
+2019-09-11 12:18:51 +0100
+
+
Chris Liddell <chris.liddell@artifex.com>
+e3d2cd4b2f13573962105d1761e7bb58d5f079c9
+
+
+ Bug 701563: pdfwrite annotation pdfmark /Border key
+
+ Despite the spec saying the values for the /Border key are in user space
+ coordinates, Distiller appears to pass the values through to the output PDF
+ untouched (no rescaling - unlike the values for /Rect, also in user space,
+ according to the spec, which it does scale/translate). Ghostscript/pdfwrite
+ did scale the /Border values.
+
+ This just changes pdfwrite to write the values out unchanged.
+
+devices/vector/gdevpdfm.c
+
+
+
+2019-09-16 09:56:52 +0100
+
+
Ken Sharp <ken.sharp@artifex.com>
+4ca426a86125b7bf2f52c00fbba1cef1395ea011
+
+
+ Documentation - add a note about SAFER for PDF/X ICC profiles
+
+ Bug #701553 "Examples of PDF/X and PDF/A conversion should be updated for Ghostscript 9.28"
+
+ ICC profiles required for PDF/X and PDF/A output need to be readable
+ in order to work when -dSAFER is true (the new default). This wasn't
+ clear from the documentation, so add a note about it.
+
+ As noted in the bug report, it is possible to embed the profile in the
+ PostScript code, but as Chris says this is probably beyond reasonable
+ expectations of the average user; they simply won't change the example
+ and will then complain that it isn't correct. Users capable of making
+ this work almost certainly have enough knowledge to realise they can
+ do this instead of making the profile readable.
+
+doc/VectorDevices.htm
+
+
+
+2019-09-13 10:28:37 +0100
+
+
Shailesh Mistry <shailesh.mistry@hotmail.co.uk>
+e0238104296a361d2dfcc678075e32f4c2070c52
+
+
+ Bug 697545 : Propagate error codes from pcl_set_cap_x and pcl_set_cap_y correctly.
+
+ The code has been updated to correctly propagate error codes from all instances
+ of pcl_set_cap_x and pcl_set_cap_y.
+
+pcl/pcl/pcfontpg.c
+pcl/pcl/pcjob.c
+pcl/pcl/pcpage.c
+pcl/pcl/pcsfont.c
+pcl/pcl/pcstatus.c
+pcl/pcl/pcursor.c
+pcl/pcl/pcursor.h
+pcl/pcl/rtgmode.c
+
+
+
+2019-09-12 07:59:03 +0100
+
+
Shailesh Mistry <shailesh.mistry@hotmail.co.uk>
+29f3e8d45595f443170bf13290404be4d34b5a2e
+
+
+ Bug 697545 : Propagate error codes from pcl_do_CR and pcl_do_LF correctly.
+
+ The code has been updated to correctly propagate error codes from all instances
+ of pcl_do_CR and pcl_do_LF.
+
+pcl/pcl/pcfontpg.c
+pcl/pcl/pcparse.c
+pcl/pcl/pctext.c
+pcl/pcl/pcursor.c
+pcl/pcl/pcursor.h
+
+
+
+2019-09-12 19:41:47 +0100
+
+
Robin Watts <Robin.Watts@artifex.com>
+afe11ca136aa173541ed0df09b8c189d2344f381
+
+
+ Fix various printer devices to properly call spec ops.
+
+ Various printer devices (psd, psdcmykog, tiffsep, tiffscaled)
+ were passing the spec ops on to gx_default_dev_spec_op rather
+ than gdev_prn_dev_spec_op.
+
+ The most obvious implication of this was that we'd sometimes
+ get a warning about printer devices having a private spec op.
+
+devices/gdevcmykog.c
+devices/gdevpsd.c
+devices/gdevtsep.c
+
+
+
+2019-09-12 17:09:50 +0100
+
+
Robin Watts <Robin.Watts@artifex.com>
+3b2ad1f24d2e9705481f9feb6835aa3e851726ac
+
+
+ Bug 701568 followup: Fix RLE compressor.
+
+ The previous fix to the RLE compressor reveals an additional
+ existing issue to do with us not checking whether we have
+ space in the buffer to write the EOD byte.
+
+ Fixed here.
+
+base/srle.c
+
+
+
+2019-09-12 09:35:01 +0100
+
+
Robin Watts <Robin.Watts@artifex.com>
+68c7275d4a580dca6c0ed3798f3717eea3513403
+
+
+ Bug 701568: Fix gdevpx.c RLE stream handling.
+
+ The current code in pclxl_write_image_data_RLE passes
+ lines of data to the RLE compression routine. It tells
+ each invocation of that routine that this is the "last"
+ block of data, when clearly it is not.
+
+ Accordingly, the compression routine inserts the "EOD" byte
+ into the stream, and returns EOFC.
+
+ Independently of the return value used, having multiple EOD
+ bytes in the data is clearly wrong. Update the caller to only
+ pass "last" in for the last block.
+
+ The code still returns EOFC at the end of the data, so update
+ this final call to accept (indeed, expect) that return value
+ there.
+
+devices/vector/gdevpx.c
+
+
+
+2019-09-10 14:22:32 +0100
+
+
Robin Watts <Robin.Watts@artifex.com>
+13a560a4d13d51e4dd9f7dd48b27a6ebe681f877
+
+
+ Update CAL makefile for NEON cms functions (correction)
+
+ Add NEON flags and includes.
+
+base/cal.mak
+
+
+
+2019-09-10 14:22:32 +0100
+
+
Robin Watts <Robin.Watts@artifex.com>
+61cff6434022bb4c444bd500da0628302abfb35e
+
+
+ Update CAL makefile for NEON cms functions.
+
+base/cal.mak
+
+
+
+2019-09-10 20:26:38 +0100
+
+
Shailesh Mistry <shailesh.mistry@hotmail.co.uk>
+be793aa94180e06135fd7fec36b6f6ab9ab67519
+
+
+ Bug 697545 : Prevent memory leaks in gx_image_enum_begin.
+
+ Prevent memory leaks on error and then later releasing graphic state.
+
+ Error created using :-
+ MEMENTO_FAILAT=15242 ./membin/gpcl6 -sDEVICE=pbmraw -o /dev/null ./tests_private/pcl/pcl5cfts/fts.0720
+
+base/gxipixel.c
+pcl/pcl/pcparse.c
+
+
+
+2019-09-09 21:41:16 +0100
+
+
Shailesh Mistry <shailesh.mistry@hotmail.co.uk>
+08c1e576fc09fcc7fdf5cd935d91fdfea1e7f0f9
+
+
+ Bug 697545 : Propagate error code in pcl_enter_graphics_mode.
+
+ Propagate error code in pcl_enter_graphics_mode to prevent trying to use an
+ uninitialised variable later leading to SEGV.
+
+ Error created using :-
+ MEMENTO_FAILAT=15210 ./membin/gpcl6 -sDEVICE=pbmraw -o /dev/null ./tests_private/pcl/pcl5cfts/fts.0720
+
+pcl/pcl/rtgmode.c
+
+
+
+2019-09-10 09:04:46 -0700
+
+
Ray Johnston <ray.johnston@artifex.com>
+8675b40266cbf9771a08f4178a6009cfd17e0ba1
+
+
+ Fix bug 701550, problem with forall on strings.
+
+ Hard to believe, but this problem has existed since at least version 3.33.
+ The 'string_continue' function altered the size which was used to decide if
+ there were still characters to be processed BEFORE invoking the 'push(#)' macro.
+ If the 'push(1)' encountered a full stack segment, it would return stackoverflow
+ so that the operand stack could be extended. This meant that the decision to
+ stop enumerating the string would end early (depending on how many times the
+ stackoverflow occurred).
+
+ Usually the procedure of the forall would either consume the character (reducing
+ the stack), or add an element to the stack triggering the stack extension before
+ the next execution of string_continue, but -c "401 string { dup } forall count ="
+ results in only 800 stack elements (rather than 802 as expected).
+
+psi/zgeneric.c
+
+
+
+2019-09-08 13:30:52 +0100
+
+
Shailesh Mistry <shailesh.mistry@hotmail.co.uk>
+d9e1d9474e5e21fe8ed9a451b91c48233e629eee
+
+
+ Bug 697545 : Prevent memory leaks and memory corruption.
+
+ Prevent several memory leaks in pcl_enter_graphics_mode by releasing graphic state.
+ Also prevent memory corruption by propagating error code from pcl_set_drawing_color.
+
+ Error created using :-
+ MEMENTO_FAILAT=14648 ./membin/gpcl6 -sDEVICE=pbmraw -o /dev/null ./tests_private/pcl/pcl5cfts/fts.0861.new
+
+pcl/pcl/pcdraw.c
+pcl/pcl/rtgmode.c
+
+
+
+2019-09-09 14:19:33 +0100
+
+
Robin Watts <Robin.Watts@artifex.com>
+bc48c29c5e86e6c528e23140c71ecfb58588333f
+
+
+ Optimise Eval{5,6,7,8}Inputs{,Float}.
+
+ Only use 1 Temporary array, and avoid needless work in the
+ 0xFFFF cases.
+
+lcms2mt/src/cmsintrp.c
+
+
+
+2019-09-09 11:03:59 +0100
+
+
Robin Watts <Robin.Watts@artifex.com>
+63e1fd40674a4f89f6593098cf100382061753e5
+
+
+ Tweak Eval4InputsFloat for speed.
+
+ Move to the Pentachoronal Interpolation algorithm.
+
+lcms2mt/src/cmsintrp.c
+
+
+
+2019-09-06 18:04:17 +0100
+
+
Robin Watts <Robin.Watts@artifex.com>
+1cc72912138544dcf00ed0dbc77ceaf47de04e91
+
+
+ Tweak Eval4Inputs for speed.
+
+ In coding the SSE version for CAL, I spotted a slightly
+ preferable test that allows us to capture some special
+ cases for free. These special cases accelerate some
+ useful cases including:
+
+ * C=M=Y=K (such as when all 0 = white?)
+ * C=M=Y (such as when pure black)
+ * M=Y=K (possibly useful in case we ever have profiles that
+ store K first).
+
+lcms2mt/src/cmsintrp.c
+
+
+
+2019-09-06 17:10:22 +0100
+
+
Robin Watts <Robin.Watts@artifex.com>
+3f46434c0fe3707f53a825f39fa1bab8c0875c03
+
+
+ Update CAL initialisation to register second lcms2mt plugin.
+
+ The first plugin deals with transformations. The second deals
+ with interpolation.
+
+base/gsicc_lcms2mt.c
+
+
+
+2019-06-13 01:35:36 +0200
+
+
Sebastian Rasmussen <sebras@gmail.com>
+b5e5ed8620f348e0fa619171d6f05a966a4bcf83
+
+
+ jbig2dec: Validate coordinates when add image onto page.
+
+ Detected by Coverity in CID 94850.
+
+jbig2dec/jbig2_page.c
+
+
+
+2019-06-12 18:55:16 +0200
+
+
Sebastian Rasmussen <sebras@gmail.com>
+ccc1a52f59194193450747e41006982d322c43a5
+
+
+ jbig2dec: Avoid extending page image beyond INT_MAX pixels high.
+
+ Detected by Coverity in CID 95080.
+
+jbig2dec/jbig2_page.c
+
+
+
+2019-06-12 18:52:44 +0200
+
+
Sebastian Rasmussen <sebras@gmail.com>
+758951f873b4b80de3c11294c3bc76ca0d6144d7
+
+
+ jbig2dec: Validate range of Huffman Table range values.
+
+ Detected by Coverity in CID 94835.
+
+jbig2dec/jbig2_huffman.c
+
+
+
+2019-06-07 13:29:40 +0200
+
+
Sebastian Rasmussen <sebras@gmail.com>
+cd815dfe5e8db6e997466765218c80bb54902234
+
+
+ jbig2dec: Avoid double checks for negative coordinates.
+
+ Negative coordinates are already handled prior in the function
+ by falling back to the unoptimized case.
+
+ This was detected by Coverity in CID 303984 and CID 303985.
+
+jbig2dec/jbig2_image.c
+
+
+
+2019-07-03 02:27:40 +0200
+
+
Sebastian Rasmussen <sebras@gmail.com>
+1ae9b9b92bfa6fef04a50b8f27c3dc6e9e03fba0
+
+
+ jbig2dec: A small collection of code cleanups.
+
+ * Refer to Jbig2ArithCx for memsetting in case it ever changes.
+ * Fix typo.
+ * Avoid using local variable when unnecessary.
+
+jbig2dec/jbig2.c
+jbig2dec/jbig2_symbol_dict.c
+jbig2dec/jbig2_text.c
+
+
+
+2019-06-21 15:02:14 +0200
+
+
Sebastian Rasmussen <sebras@gmail.com>
+14cc5cb07861b8bd8c3a2cfd1d7ac21dd98fa202
+
+
+ jbig2dec: Add all ubc test files.
+
+jbig2dec/test_jbig2dec.py
+
+
+
+2019-06-14 03:27:31 +0200
+
+
Sebastian Rasmussen <sebras@gmail.com>
+49a6ff2b166a4cda4d7b8c9d8192bb6f419c7ca3
+
+
+ Bug 701197: jbig2dec: Fix incorrectly computed halftone skip mask.
+
+ Halftone regions using a skip mask and negative horizontal grid origin
+ offsets caused issues due to multiplying signed and unsigned integers.
+ The mixed types expression was computed unsigned unsigned arithmetic
+ before being converted back to a signed integer. This meant that an
+ expected negative value became positive.
+
+ Several of the test files mentioned in the README rendered incorrectly,
+ e.g. 200-6-45.jb2. With this fix all files render correctly again.
+
+jbig2dec/jbig2_halftone.c
+
+
+
+2019-06-14 15:09:12 +0200
+
+
Sebastian Rasmussen <sebras@gmail.com>
+8719833a6a4242880ad8b81cb8fe19e03667af52
+
+
+ jbig2dec: Avoid duplicate declarations of Huffman tables in test code.
+
+ This is done by moving the tables into a separate compilation module and
+ declaring the tables extern in the header file that is used elsewhere.
+
+base/jbig2.mak
+jbig2dec/Makefile.am
+jbig2dec/Makefile.unix
+jbig2dec/jbig2_hufftab.c
+jbig2dec/jbig2_hufftab.h
+jbig2dec/msvc.mak
+windows/ghostscript.vcproj
+windows/ghostscript_rt.vcxproj
+
+
+
+2019-06-14 14:51:01 +0200
+
+
Sebastian Rasmussen <sebras@gmail.com>
+d75727a7fd5efb2245c7b0d0b33ee8611446c150
+
+
+ jbig2dec: Fix leak of huffman decoder state in test code.
+
+jbig2dec/jbig2_huffman.c
+
+
+
+2019-06-14 14:50:09 +0200
+
+
Sebastian Rasmussen <sebras@gmail.com>
+b3f859987f152e13ab141143234f686749f2caf7
+
+
+ jbig2dec: Declare internal data array static.
+
+jbig2dec/jbig2_arith.c
+
+
+
+2019-06-14 14:47:44 +0200
+
+
Sebastian Rasmussen <sebras@gmail.com>
+49fa7d21bc555a96e19318b56301185f12f68c55
+
+
+ jbig2dec: Fix leak of log message in command line tool.
+
+jbig2dec/jbig2dec.c
+
+
+
+2019-06-21 15:02:02 +0200
+
+
Sebastian Rasmussen <sebras@gmail.com>
+314250a3126243a228249ebf1e6272c0beaec9d6
+
+
+ jbig2dec: Verify file hashes of test files during testing.
+
+ Previously jbig2dec would accept any file with the same name.
+
+jbig2dec/test_jbig2dec.py
+
+
+
+2019-06-14 14:49:21 +0200
+
+
Sebastian Rasmussen <sebras@gmail.com>
+a9b92d33e7ed5e06d0728d6a1be771d8b464c50e
+
+
+ jbig2dec: Expect test files to reside inside jbig2dec directory.
+
+jbig2dec/test_jbig2dec.py
+
+
+
+2019-06-14 15:18:45 +0200
+
+
Sebastian Rasmussen <sebras@gmail.com>
+8b3ffd237746e2bab2867ad460e8635a79cd5916
+
+
+ jbig2dec: Indent test code by spaces like the rest of the code.
+
+jbig2dec/test_jbig2dec.py
+
+
+
+2019-06-14 22:18:14 +0200
+
+
Sebastian Rasmussen <sebras@gmail.com>
+2e957c0b1afc6d2d705c9d075fc55db2de5df854
+
+
+ jbig2dec: Make tests expect that some test files return white image.
+
+ Previously these tests would just error out and jbig2dec would not
+ return any output file at all. Now, jbig2dec parses as much as
+ possible, while emitting warning/error messages. In the case of a
+ few of the test files the end result is a white image.
+
+jbig2dec/test_jbig2dec.py
+
+
+
+2019-06-14 15:15:53 +0200
+
+
Sebastian Rasmussen <sebras@gmail.com>
+1c5c3a1f14c85582d09ab58f55b1fd83435b6562
+
+
+ jbig2dec: Indent Makefiles with tabs like the rest of the Makefiles.
+
+base/jbig2.mak
+
+
+
+2019-09-03 23:54:52 +0100
+
+
Robin Watts <Robin.Watts@artifex.com>
+5a6832ca60dfc34cb9a0680590cbd086f528fd22
+
+
+ Implement HyperPentahedral interpolation within lcms2mt.
+
+ This accelerates conversions from 4 component spaces, such as
+ CMYK.
+
+base/gxfill.c
+lcms2mt/src/cmsintrp.c
+
+
+
+2018-10-31 20:22:11 +0100
+
+
Sebastian Rasmussen <sebras@gmail.com>
+1c6d485f4ba59072fba1a73f8f61071b00d7a7e6
+
+
+ Bug 700088: Report error if all wanted J2K components are not decoded.
+
+ Ghostscript used to attempt to use even the undecoded components.
+ The source code for upstream's opj_decompress tool avoided this by
+ a workaround along with a comment indicating that this ought to be
+ done in the library (so all clients, e.g. Ghostscript will benefit
+ from it). With this commit the library will error out if not all
+ requested components are successfully decoded. Thus Ghostscript
+ will no longer crash.
+
+ Reported in https://github.com/uclouvain/openjpeg/issues/1158
+ sent upstream in https://github.com/uclouvain/openjpeg/pull/1164
+ and finally committed in e66125fe260deee49fdf6e9978d9bd29871dd5bb
+
+openjpeg/src/bin/jp2/opj_decompress.c
+openjpeg/src/lib/openjp2/j2k.c
+
+
+
+2019-09-03 12:34:55 -0700
+
+
Michael Vrhel <michael.vrhel@artifex.com>
+b7d32c453538bee41c34f8a77a3feb1dcc0ce759
+
+
+ Undo commit 95f7befcec1b30fd5014c8ad616485d32901ce33 for release
+
+ Proper handling of the page group color space is going to require
+ a more complex solution whereby we ensure that we do the final
+ alpha blending in the page group color space and not the target
+ device color space.
+
+base/gstrans.c
+
+
+
+2019-09-03 08:52:16 -0700
+
+
Michael Vrhel <michael.vrhel@artifex.com>
+40934a68930a1d6a41a26df694e1e50fe3c60202
+
+
+ Add -sBlendColorProfile into Use.htm
+
+doc/Use.htm
+
+
+
+2019-09-03 18:15:56 +0100
+
+
Robin Watts <Robin.Watts@artifex.com>
+e63504054baea4275af88e95418b5282c4394685
+
+
+ Avoid potential UMR with arg checking in arg sanitization code.
+
+base/gslibctx.c
+
+
+
+2019-09-02 17:16:45 +0100
+
+
Robin Watts <Robin.Watts@artifex.com>
+cfdb64eec150da48dea5063b14ae7596e6b7050a
+
+
+ Proper fix for deep color overprint.
+
+ The previous fix confused memset and memcpy. Properly write the
+ (native endian) 16 bit color values into the big endian buffer.
+
+base/gsovrc.c
+
+
+
+2019-09-02 12:59:33 +0100
+
+
Robin Watts <Robin.Watts@artifex.com>
+eeeb033d21f22b128900ebc998668c87be725f7d
+
+
+ Fix deep color mattes.
+
+ As seen with the content vanishing when rendering
+ tests_private/pdf/sumatra/uninitialized_value_with_JPX_images.pdf
+ to psdcmyk16. The Softmask on the image has a Matte of [1,1,1]
+ and the calculations in the current code overflow, meaning that
+ it comes out as completely white.
+
+ We resort to 64bit to avoid the overflow. Mattes are vanishingly
+ rare, so speed shouldn't be an issue. We can revisit if we ever
+ find a case that matters.
+
+base/gdevp14.c
+
+
+
+2019-08-31 12:45:47 +0100
+
+
Robin Watts <Robin.Watts@artifex.com>
+5569e2b2057a25ff1fe0b2b5106e71f2b5142f5c
+
+
+ Update overprint hl_color code to cope with 16bit devices too.
+
+base/gsovrc.c
+
+
+
+2019-08-31 12:16:40 +0100
+
+
Robin Watts <Robin.Watts@artifex.com>
+51dbfc90fdc681f4500b498cec52056fb0d2224b
+
+
+ Fix deep color transparency overprint.
+
+ The component copy loop at the end of the blend could fail to copy
+ enough entries.
+
+base/gxblend.c
+
+
+
+2019-08-30 15:16:34 +0100
+
+
Robin Watts <Robin.Watts@artifex.com>
+1e48a71a99beb5870edadf0754e2c3bcf6a86f87
+
+
+ Avoid overflow in deep color luminosity calculations.
+
+ Resort to 64bit as scale calculations are not constrained
+ to the usual 16bit range.
+
+base/gxblend.c
+
+
+
+2019-08-29 10:02:49 +0100
+
+
Chris Liddell <chris.liddell@artifex.com>
+59660b5d998b53df383192aee71b7439a424be47
+
+
+ Fix clearing of the drag and drop file list
+
+ Because we have to store the list of file names from drag and drop events, in
+ order to correctly add and remove them from the permit file read list, we also
+ want to clear the lists before we destroy the "text" window object.
+
+ The problem is, this happens after we shutdown Ghostscript and unload the dll.
+
+ This moves that clearing of the list into function that we call before we
+ shut down.
+
+psi/dwmain.c
+psi/dwtext.c
+psi/dwtext.h
+
+
+
+2019-08-28 10:14:52 +0100
+
+
Chris Liddell <chris.liddell@artifex.com>
+94742723659fb4bba6b50ad29123d4ff38a9ebd6
+
+
+ Fix path permissions added from cidfmap.
+
+ From the cidfmap, we accumulate a list of unique directory paths a we process
+ cidfmap and then add them - when I did that code, I forgot that to allow access
+ to the directory, we need a trailing directory separator.
+
+ Add that before calling .addcontrolpath
+
+Resource/Init/gs_cidfm.ps
+
+
+
+2019-08-27 16:49:30 +0100
+
+
Chris Liddell <chris.liddell@artifex.com>
+4135d3b50a66dc67eb7f4f4ad360fdf703783141
+
+
+ Fix font file finding with -P
+
+ In trying to reproduce the issue that inspired commit dea69cd04964, I noticed
+ that font file searching wasn't working correctly with -P specified on the
+ command line.
+
+ Previously, it could just end up with us not finding a font we should have, but
+ with dea69cd04964 it would result in a typecheck error.
+
+ This ensures the stack is always how it should be after the findlibfile
+ call
+
+Resource/Init/gs_fonts.ps
+
+
+
+2019-08-22 16:10:03 +0100
+
+
Chris Liddell <chris.liddell@artifex.com>
+2b9ab0d54ab2299b3db94e57f45cfc52f6045e62
+
+
+ Make it clear: file/path matching is always case sensitive
+
+ even on Windows.
+
+doc/Use.htm
+
+
+
+2019-08-29 19:50:08 +0100
+
+
Robin Watts <Robin.Watts@artifex.com>
+cc2cbb8c78acdff736a966eb40ca22a6a7c52b26
+
+
+ Fix overflow in 16bit blending calculations.
+
+ The blending code uses the following construction in
+ several places:
+
+ src_scale = ...; /* a value between 0 and 0x10000 */
+ tmp = (y-z) * src_scale + 0x8000;
+ foo = x + (tmp>>16);
+
+ Where x,y,z, are all expected to be in the 0...0xffff range.
+
+ Due to y-z having a sign bit, this can overflow a 32 bit tmp.
+
+ We therefore sacrifice a bit of accuracy in src_scale to get
+ correctness.
+
+base/gxblend.c
+base/gxblend1.c
+
+
+
+2019-08-28 14:13:27 +0100
+
+
Robin Watts <Robin.Watts@artifex.com>
+8c5059661a48e2e17d0f15c7c6936510192728b6
+
+
+ Remove outdated FIXME's.
+
+base/gdevp14.c
+
+
+
+2019-08-28 12:50:36 +0100
+
+
Robin Watts <Robin.Watts@artifex.com>
+f531552c99a04f003412f7a83d4661e927f88d40
+
+
+ Bug 701446: Avoid divide by zero in shading.
+
+ The previous commit for this bug was enough to solve the problem
+ for ppmraw, but not, it seems, for other devices. This addresses
+ the division by zero more directly.
+
+base/gxshade6.c
+
+
+
+2019-08-27 20:13:02 +0100
+
+
Robin Watts <Robin.Watts@artifex.com>
+25f7cb4da347610dd49bd8001746605f1a29caa8
+
+
+ Fix deep color transparency saturation blending.
+
+ Problem seen with:
+
+ tests_private/pdf/PDF_1.7_FTS/fts_25_2513.pdf.psdcmyk16.300.1
+
+base/gxblend.c
+
+
+
+2019-08-27 17:45:57 +0100
+
+
Robin Watts <Robin.Watts@artifex.com>
+b9e4b4e4d97a2f0c32596fed0342fb83773a56c2
+
+
+ Bug 701446: Avoid division by zero in gx_shade_trapezoid
+
+ Remove some incorrect clipping code.
+
+base/gxshade6.c
+
+
+
+2019-08-27 15:54:36 +0100
+
+
Robin Watts <Robin.Watts@artifex.com>
+0d46b4f51b5efba7e72b7d45517d0fba642477aa
+
+
+ Exit early from gx_shade_trapezoid in more cases.
+
+ A zero height trap isn't plotted, so we can bail out early in
+ that case.
+
+base/gxshade6.c
+
+
+
+2019-08-26 17:02:03 +0100
+
+
Robin Watts <Robin.Watts@artifex.com>
+42f386a85d3998310f0317501b54780ffbe6dc6b
+
+
+ Fix deep colour transparency "uncompositing".
+
+ Uncompositing a group uses a scale factor that is greater in range
+ than we'd like; we need to resort to 64bit to do this to avoid
+ losing accuracy.
+
+ This solves problems seen in:
+
+ tests_private/comparefiles/Bug689918.pdf.psdcmyk16.300.1
+
+base/gxblend.c
+
+
+
+2019-08-27 14:26:41 +0100
+
+
Chris Liddell <chris.liddell@artifex.com>
+dea69cd04964b27a08c8b340476d58031cb9e517
+
+
+ Handle relative FONTPATH values
+
+ Prior to 9.21 (specifically: 8abd22010eb4db0fb1b10e430d5f5d83e015ef70), relative
+ paths for FONTPATH worked, but did so due to a logic fault with how we search
+ for "lib" files.
+
+ When attempting to open file names specified on the command line, we used a
+ flag set in the command line handling (starting_arg_file) to know whether the
+ lib file searching logic should try to open the file name directly (as well as
+ trying the file combined with each path in the search path).
+
+ In versions prior to commit 8abd22010eb4 that flag (starting_arg_file) could
+ remain set to true, even after the command line file(s) had been opened. This
+ represented a (minor) security risk. Commit 8abd22010eb4 ensured the flag was
+ properly (re)set, and that caused relative paths for FONTPATH stopped working.
+
+ Rather than reintroduce the security risk, update the code that checks whether
+ the font files exist so it explicitly tries the file name directly, rather than
+ assuming .libfile (or findlibfile, in this case) does that automatically.
+
+ Also remove an extraneous (but benign) dup of the font name.
+
+Resource/Init/gs_fonts.ps
+
+
+
+2019-08-27 15:27:05 +0100
+
+
Ken Sharp <ken.sharp@artifex.com>
+5d10fde23ccd74c2721e4870c5914fe7373a7816
+
+
+ pdfwrite - fix corner case with Color Conversion
+
+ Bug #701456 "Ghostscript creates broken PDF file after color conversion"
+
+ The test file is, essentially weird. The image on page 3 is not a single
+ image, its a series of images, all of which are in a /Indexed /DeviceRGB
+ colour space.
+
+ In addition, these images are drawn on *top* of another set of images
+ (thereby completely obscuring them). These images are also drawn in
+ /Indexed /DeviceRGB. However, these images are in fact monochrome, the
+ Indexed space consists of 2 colours. This means that (highly unusually)
+ we have a DeviceRGB image with 1 Bit Per Component.
+
+ This caused problems for the pdfwrite compression filter chooser because
+ it chose (and configured) a compression scheme suitable for 1 BPC data
+ and then actually output 8 BPC data. This led to the compression filter
+ writing too little data.
+
+ Fix this here by setting the BPC to 8 if we are doing colour conversion,
+ and have the colour conversion setup code use the original value in the
+ image enumerator (the conversion code *does* need to know the input is
+ 1 BPC).
+
+devices/vector/gdevpdfi.c
+
+
+
+2019-08-27 11:36:35 +0100
+
+
Ken Sharp <ken.sharp@artifex.com>
+02c252f00e7bbc9a9a23d0a0996e88ba1839f127
+
+
+ PDF interpreter - more /Mask strangeness in Acrobat
+
+ Bug #701468 " More weirdness with images containing invalid /Mask values"
+
+ In order to render this file as per Acrobat, we need to ignore the /Mask
+ array. However, in order to render bug 689717 correctly we need to fix
+ the /Mask array.
+
+ Both cases are 1 BitsPerComponent DeviceGray images, the only difference
+ is the actual /Mask values. Bug 689717 has [255 255] while 701468 has
+ [243 255]. We can differentiate based on whether we have DeviceGray
+ 1 BPC image, where the Mask values are not the same. In the case they
+ are different we use the existing technique of calculating the maximum
+ value and using that (for both, so there is no range). Where there is a
+ range (ie not a single colour) this is clearly unusable in a 2-colour
+ image, so ignore the /Mask altogether.
+
+Resource/Init/pdf_draw.ps
+
+
+
+2019-08-26 15:28:33 +0100
+
+
Robin Watts <Robin.Watts@artifex.com>
+3554f0fc4dadebad2e816adbd7cf4a548f76de74
+
+
+ Fix deep colour knockout logic.
+
+ Problem seen with:
+
+ tests_private/pdf/PDF_1.7_FTS/fts_25_2507.pdf.psdcmyk16.72.0
+
+base/gxblend.c
+
+
+
+2019-08-26 14:34:46 +0100
+
+
Robin Watts <Robin.Watts@artifex.com>
+5280581fd0c075da7dc0632937e294a9fa3fe736
+
+
+ Squash a couple of warnings.
+
+base/gdevmem.c
+base/gdevp14.c
+
+
+
+2019-08-26 14:01:39 +0100
+
+
Robin Watts <Robin.Watts@artifex.com>
+2e872508d683302b556a160004a9ca3d64e7b4f1
+
+
+ Fix SoftLight blending in deep color transparency.
+
+ As seen with:
+
+ gs -sDEVICE=psdcmyk16 -r72 -dMaxBitmap=80000000 -o out.psd
+ tests_private/pdf/PDF_1.7_FTS/fts_09_0919.pdf
+
+base/gxblend.c
+
+
+
+2019-08-26 11:28:40 +0100
+
+
Robin Watts <Robin.Watts@artifex.com>
+1fe43c3ba4423631129925d789c936b9e461d1d6
+
+
+ Fix problems with pngalpha and deep color transparency filling.
+
+ The pngalpha device is created with a depth of 32, with 3 color
+ components; this was confusing pdf14 into thinking that more
+ than 8 bits per color were being used, and so deep color buffers
+ were required.
+
+ To fix this we update the logic to be smarter; in cases where we
+ don't have a clear determination based on bits alone, we look
+ at the max_color and max_gray values. Because this code is now
+ more complex than before, we pull it into a shared function.
+
+base/gdevdflt.c
+base/gdevmem.c
+base/gdevp14.c
+base/gdevprn.c
+base/gsptype1.c
+base/gstrans.c
+base/gxclthrd.c
+base/gxdevcli.h
+
+
+
+2019-08-23 15:06:17 +0100
+
+
Robin Watts <Robin.Watts@artifex.com>
+0ac36b1eb87a919d3df19b7fb555d277d959396b
+
+
+ Fix deep color transparency issue.
+
+ Fix overflow in art_pdf_composite_knockout_16, seen in:
+
+ tests_private/comparefiles/Bug690546.pdf.psdcmyk16.72.0
+
+base/gdevp14.c
+base/gxblend.c
+
+
+
+2019-08-22 18:24:49 +0100
+
+
Robin Watts <Robin.Watts@artifex.com>
+cda2b1e057951dc4687c4d2ad489100d1ea6ea4b
+
+
+ Fix deep color transparent pattern problems.
+
+ Transparency buffers are held as native endian. Pattern cache
+ tiles are held as big endian. When we make pattern cache tiles
+ from transparency buffers we therefore need a conversion.
+
+base/gdevp14.c
+base/gxblend.c
+base/gxp1fill.c
+base/gxpcolor.h
+
+
+
+2019-08-25 19:35:14 +0200
+
+
Till Kamppeter <till.kamppeter@gmail.com>
+4e220de447dc5cc79a00e8bb57b69c6ea242fe75
+
+
+ "cups"/"pwgraster" output device: Do not output LUTs with CUPS_DEBUG set
+
+ This change lets complete LUTs in the debug output only be listed when
+ CUPS_DEBUG2 is set and not already with CUPS_DEBUG.
+
+cups/gdevcups.c
+
+
+
+2019-08-25 19:08:52 +0200
+
+
Till Kamppeter <till.kamppeter@gmail.com>
+30575d50af5f8dd17ef20ccbbf2b2d8afae51589
+
+
+ "cups"/"pwgraster" output device: Prefer the page size requested by user
+
+ Without special scaling/cropping options ("fit-to-page", "fill",
+ "crop-to-fit΅, ...) PDF and PostScript files printed with CUPS will be
+ printed with the page sizes of the document's pages and not the size
+ requested by the user via the "PageSize" or "media" option. This
+ allows correct printing of jobs with differently sized pages on
+ printers which have the appropriate sizes loaded without need of
+ manual intervention. Therefore the CUPS output device is matching each
+ input page against the sizes listed in the PPD to generate a correct
+ page geometry for the printer for each page.
+
+ Problem is if there are several equally-sized page size entries in the
+ PPD. Without further guiding always the first match is used, making
+ access to special functions provided by the others (like
+ full-bleed/borderless printing) inaccessible.
+
+ This commit adds the functionality of the user-requested page size
+ (via "PageSize" or "media" option) being preferred under the matching
+ page sizes, so that if for example a user selects a full-bleed version
+ of the desired page size and sends a photo, the photo gets rendered
+ and printed with the page geometry which the PPD reports for the
+ full-bleed version.
+
+ Nothing changes if the size of the user-requested page size does not
+ match the size of the input page at all.
+
+cups/gdevcups.c
+
+
+
+2019-08-25 12:45:27 +0200
+
+
Till Kamppeter <till.kamppeter@gmail.com>
+3283e6d5ce389f5b6d5ebf4adb309b1259a5fe1d
+
+
+ "cups"/"pwgraster" output device: Small fix on size matching improvements
+
+ This is a fix for one little oversight on the changes to support matching
+ the input page size against the imageable areas of the PPD's page sizes.
+
+ This completes the fix of bug 701438.
+
+cups/gdevcups.c
+
+
+
+2019-08-24 23:11:10 +0200
+
+
Till Kamppeter <till.kamppeter@gmail.com>
+3e09cede82a3b8c5c7a6e30a5934336f20dfa1f8
+
+
+ "cups"/"pwgraster" output device: Improved page size matching with PPD
+
+ Applied the following improvements for finding the correct page size
+ of the PPD file for the input page:
+
+ - Do not try to match by page size name, the input files do not
+ contain page size names.
+
+ - Do not only match the input page size against the actual media sizes
+ reported by the PPD but also to the imageable areas. Media size match
+ is preferred but if there is no media size match, we accept also
+ a match of the imageable area. In case of a match of the imageable
+ area we position the input page in the imageable area of the output
+ page.
+
+ - More debug output.
+
+ - In case of a custom page size (no match with PPD sizes) the page
+ size name in the CUPS Raster output is a correct "Custom.XXXxYYY"
+ and not the default page size name.
+
+ This should fix bug #701438.
+
+cups/gdevcups.c
+
+
+
+2019-08-23 18:09:32 +0200
+
+
Till Kamppeter <till.kamppeter@gmail.com>
+2d6bb6e69feb0a75be98d03f550258d4b7540aef
+
+
+ "cups"/"pwgraster" output device: Reduced page size comparison tolerances
+
+ Before each page gets rendered its size is compared to the page sizes
+ of the PPD file to select the actual page size for the output. Reduced
+ the tolerances from 7% for the long edge and 5% for the short edge to
+ 1%, as before easily wrong sizes got picked (See also bug 701438).
+
+cups/gdevcups.c
+
+
+
+2019-08-23 10:11:05 +0100
+
+
Chris Liddell <chris.liddell@artifex.com>
+5ab40cc018d8ac76758cebc7b4962e9b19fffc86
+
+
+ Windows Installer: cope with COMPILE_INITS=0
+
+ We default to COMPILE_INITS=1, and that was the only case that the installer
+ handled - i.e. building the installer with COMPILE_INITS=0 would install an
+ executable that wouldn't work without extra action (-I.. or similar).
+
+ This changes the installer compiler invocation, and the installer creation
+ so it behaves as it does now with COMPILE_INITS=1, but with COMPILE_INITS=0 the
+ installer will write the path to Resource/Init into the GS_LIB registry
+ key.
+
+psi/nsisinst.nsi
+psi/winint.mak
+
+
+
+2019-08-22 23:30:34 +0200
+
+
Till Kamppeter <till.kamppeter@gmail.com>
+863d77f731c6144dcf139e06e64a857754d8327f
+
+
+ "cups"/"pwgraster" output device: Produce more debug output
+
+ When building with CUPS_DEBUG now debug output for the process of
+ matching the page geometry with the PPD file's page sizes is
+ produced.
+
+cups/gdevcups.c
+
+
+
+2019-08-22 08:58:01 +0100
+
+
Chris Liddell <chris.liddell@artifex.com>
+24478335925f891673160893513fac43b0334c48
+
+
+ Handle explicit '\' escaping in path matching
+
+ As well as having to cope with both '/' and '\' as directory separators on
+ Windows, it turns out we also need to cope with the backslash separator being
+ explicitly escaped ("\\") - the explicit is added by the Postcript path
+ templating code in gs_init.ps.
+
+ I don't want to change templating code because that would likely have
+ implications in a lot of other places.
+
+base/gpmisc.c
+
+
+
+2019-08-22 10:51:28 +0100
+
+
Robin Watts <Robin.Watts@artifex.com>
+7c9794ee644a904527006922e4fc387ad33be2a4
+
+
+ Better CMYK conversion for bmpcmp
+
+toolbin/bmpcmp.c
+toolbin/bmpcmptab.h
+
+
+
+2019-08-21 17:49:32 +0100
+
+
Robin Watts <Robin.Watts@artifex.com>
+079ea7d9e0c713a7834fc8f08d52ce42e6a03666
+
+
+ Update bmpcmp.c to read psdrgb rather than psdbgr.
+
+toolbin/bmpcmp.c
+
+
+
+2019-08-21 15:33:27 +0100
+
+
Chris Liddell <chris.liddell@artifex.com>
+935408d6205742e40471b18d7f0f1fe4febc437c
+
+
+ Fix commit ec0b35fed3de: "Handle directory separators..."
+
+ The logic in the above fix was wrong.
+
+base/gpmisc.c
+
+
+
+2019-08-21 14:28:20 +0100
+
+
Robin Watts <Robin.Watts@artifex.com>
+4041906852365a602c2f9e011703e4174bdc8040
+
+
+ Bug 701451: Fix clist color_usage calculations for shadings.
+
+ Or rather, don't attempt to calculate them badly, and just
+ use the safe "all colors" value.
+
+base/gxclrect.c
+
+
+
+2019-08-21 10:10:51 +0100
+
+
Ken Sharp <ken.sharp@artifex.com>
+cd1b1cacadac2479e291efe611979bdc1b3bdb19
+
+
+ PDF interpreter - review .forceput security
+
+ Bug #701450 "Safer Mode Bypass by .forceput Exposure in .pdfexectoken"
+
+ By abusing the error handler it was possible to get the PDFDEBUG portion
+ of .pdfexectoken, which uses .forceput left readable.
+
+ Add an executeonly appropriately to make sure that clause isn't readable
+ no mstter what.
+
+ Review all the uses of .forceput searching for similar cases, add
+ executeonly as required to secure those. All cases in the PostScript
+ support files seem to be covered already.
+
+Resource/Init/pdf_base.ps
+Resource/Init/pdf_draw.ps
+Resource/Init/pdf_font.ps
+Resource/Init/pdf_main.ps
+Resource/Init/pdf_ops.ps
+
+
+
+2019-08-21 10:56:02 +0100
+
+
Chris Liddell <chris.liddell@artifex.com>
+ec0b35fed3de9f313c7c992844daac5f3f28618d
+
+
+ Handle directory separators in access control matching
+
+ On Windows, we end up dealing with a mishmash of "/" and "\" as directory
+ separators, so a simple equality check isn't sufficient.
+
+ Since there is already (platform specific) function for checking whether a
+ string (or part thereof) is a directory separation, use it.
+
+base/gpmisc.c
+
+
+
+2019-08-20 21:50:18 -0700
+
+
Michael Vrhel <michael.vrhel@artifex.com>
+453ef45209143ecf3c3e25dafd9fbe6698e2c5a1
+
+
+ Disable use of alternate tint transform ICC profile
+
+ A prior commit introduced the use of color management
+ if the DeviceN or Separation device had an ICC profile
+ associated with the colorants. While there is an argument
+ for doing this, it is not the standard behavior seen in
+ AR. Disabling for now and will likely turn this into a
+ command line option.
+
+base/gxcmap.c
+
+
+
+2019-08-20 18:48:49 +0100
+
+
Robin Watts <Robin.Watts@artifex.com>
+cc656558a289fa28dbb491d70478fd18973b287a
+
+
+ Fix crashes in RAW_DUMP debug code.
+
+ Dump the buffer before freeing the device, or the pointer will no
+ longer be valid.
+
+ Also, don't access through ppatdev14 when we know it's NULL.
+
+base/gdevp14.c
+
+
+
+2019-08-20 18:47:09 +0100
+
+
Robin Watts <Robin.Watts@artifex.com>
+633c454261c95e3d1771ad93b7bd6c481119c0d0
+
+
+ Fix deep color transparency pattern copying problem.
+
+ The following test:
+
+ tests/pdf/pattrans_solid_nonrect.pdf.psdcmyk16.300.1..gs
+
+ among others, was showing problems, due to us treating the offset
+ as bytes rather than shorts.
+
+base/gxp1fill.c
+
+
+
+2019-08-20 14:29:33 +0100
+
+
Robin Watts <Robin.Watts@artifex.com>
+69b066540069330a8a046039b93e1dcadecfa153
+
+
+ Avoid signed overflow in deep transparency calculations.
+
+base/gxblend.c
+
+
+
+2019-08-20 12:24:03 +0100
+
+
Robin Watts <Robin.Watts@artifex.com>
+825f77eabdbfaa9d566d38c4b2be918143cd5778
+
+
+ Fix overflow in deep color blending.
+
+ Multiplying a 16bit unsigned value with a 16 bit signed value
+ in a 32bit int means we lose the sign bit. Sacrifice a bit of
+ accuracy to avoid that.
+
+base/gxblend.c
+
+
+
+2019-08-20 10:10:28 +0100
+
+
Ken Sharp <ken.sharp@artifex.com>
+885444fcbe10dc42787ecb76686c8ee4dd33bf33
+
+
+ make .forceput inaccessible
+
+ Bug #701343, #701344, #701345
+
+ More defensive programming. We don't want people to access .forecput
+ even though it is no longer sufficient to bypass SAFER. The exploit
+ in #701343 didn't work anyway because of earlier work to stop the error
+ handler being used, but nevertheless, prevent access to .forceput from
+ .setuserparams2.
+
+Resource/Init/gs_lev2.ps
+Resource/Init/gs_pdfwr.ps
+
+
+
+2019-08-19 10:03:57 +0100
+
+
Chris Liddell <chris.liddell@artifex.com>
+9dae3b271e781c076e49d94dc8590ed95e3f38c9
+
+
+ Handle drag'n'drop file name/paths
+
+ Because we now run by default with the file access permission active,
+ we need to do additional work for Windows drag and drop files, so they don't
+ throw an invalidaccess error (since we implement drag and drop by sending
+ characters to the gs console to do '(file) run').
+
+ The problem is, we cannot add the file to read list, send the characters to the
+ console, and remove the file from the read list because, although SendMessage()
+ blocks until the message is handles, WriteConsoleInput() does not block until
+ the console buffers are consumed (i.e. it is asynchronous). So, there is no
+ certainty when the final SendMessage() in WM_DROPFILES case is finished that
+ Ghostcript will actually have run the file.
+
+ So, we create a list of dropped file names, add them to the permit read list,
+ when the next WM_DROPFILES event happens, or a WM_DESTROY event, we drop
+ file names from the permit read list before, if necessary, adding the current
+ ones.
+
+psi/dwimg.c
+psi/dwmain.c
+psi/dwmainc.c
+psi/dwtext.c
+psi/dwtext.h
+
+
+
+2019-08-16 15:43:32 +0100
+
+
Robin Watts <Robin.Watts@artifex.com>
+6c18c7092e8945dcd932226bfea790c842ae21a0
+
+
+ Squash warnings in claptrap.
+
+ Thanks to William Bader for highlighting these.
+
+base/claptrap-planar.c
+
+
+
+2019-08-16 15:28:49 +0100
+
+
Robin Watts <Robin.Watts@artifex.com>
+89f63112bd8ef15ba7df1fca5b962561c1f756c8
+
+
+ Squash warning in gdevpsd.c
+
+ Thanks to William Bader for spotting this.
+
+devices/gdevpsd.c
+
+
+
+2019-08-16 13:08:14 +0100
+
+
Robin Watts <Robin.Watts@artifex.com>
+f74553992b28ca536d62aa93cf9208bb7aa670b3
+
+
+ Squash some compiler warnings.
+
+base/gslibctx.c
+base/gslibctx.h
+devices/gdevpdfimg.c
+devices/vector/gdevpdfu.c
+pcl/pl/plmain.c
+
+
+
+2019-08-16 11:45:01 +0100
+
+
Chris Liddell <chris.liddell@artifex.com>
+924f701fdc990ac981fb08c4f6c21c668b8b74ef
+
+
+ Fix X11 device ICC profile memory leaks
+
+ When the x11 devices are running in "buffered mode" (i.e. we render to a
+ pixmap, then blit the pixmap to the X11 Window), we create a memory device
+ which actually does the rendering.
+
+ The memory device takes a reference to the ICC profiles from the x11 device
+ and it is reference counted.
+
+ Firstly, we always incremented the reference count, ignoring the posibility
+ that we were resizing an existing memory device rather than creating a new one.
+
+ Secondly, when shutting down the x11 device, we ignored posibility that
+ buffering was in force, and failed to free the memory device - most of the
+ memory was hoovered up by the garbager, but the ICC profile data isn't in
+ gc memory, hence showing a leak.
+
+ So, fix the memory device ICC reference counting, and reconfigure the device
+ as non-buffering before we shut it down.
+
+devices/gdevxini.c
+
+
+
+2019-08-15 17:06:02 +0100
+
+
Chris Liddell <chris.liddell@artifex.com>
+79350a5f0fc9514746f34ff0820f0b6a89f67117
+
+
+ Add -dNOSAFER for Windows installer cidfmap creation
+
+psi/nsisinst.nsi
+
+
+
+2019-08-15 11:35:15 +0100
+
+
Chris Liddell <chris.liddell@artifex.com>
+443e60cd379c3a8b5fca89b59280573b2c651e33
+
+
+ Bump the version number for release.
+
+Resource/Init/gs_init.ps
+base/version.mak
+
+
+
+2019-08-15 14:36:55 +0100
+
+
Ken Sharp <ken.sharp@artifex.com>
+f1ae75eb9d43d9773915ab66b0c97086d0252257
+
+
+ ps2write - don't password encrypt PostScript output!
+
+ Noticed while testing the args commit; if we set -sOwnerPassword (to
+ create a password-protected PDF file), but select (e)ps2write as the
+ device, then the resulting PostScript file would have all the streams
+ (in a PDF sense) encrypted with PDF password encryption.
+
+ Unsurprisingly, this result in a completely unusable PostScript file.
+ Lets not permit that....
+
+devices/vector/gdevpdfp.c
+
+
+
+2019-10-15 10:03:54 +0100
+
+
Chris Liddell <chris.liddell@artifex.com>
+d2897b976cf065874516f9f8e2a040965b2a384b
+
+
+ Remove RC string for real release
+
+base/gscdefs.h
+
+
+
+2019-10-15 08:54:21 +0100
+
+
Chris Liddell <chris.liddell@artifex.com>
+18eedc30986ed2dfaf2357c0b0ca962532ace896
+
+
+ Dates etc for 9.50 release
+
+ Plus a comment on going to 9.50, rather than 9.28.
+
+base/version.mak
+doc/DLL.htm
+doc/Deprecated.htm
+doc/Develop.htm
+doc/Devices.htm
+doc/Drivers.htm
+doc/Fonts.htm
+doc/History9.htm
+doc/Install.htm
+doc/Internal.htm
+doc/Language.htm
+doc/Lib.htm
+doc/Make.htm
+doc/News.htm
+doc/Ps-style.htm
+doc/Ps2epsi.htm
+doc/Psfiles.htm
+doc/Readme.htm
+doc/Release.htm
+doc/SavedPages.htm
+doc/Source.htm
+doc/Unix-lpr.htm
+doc/Use.htm
+doc/VectorDevices.htm
+doc/WhatIsGS.htm
+doc/gs-vms.hlp
+doc/sample_downscale_device.htm
+doc/subclass.htm
+doc/thirdparty.htm
+man/dvipdf.1
+man/gs.1
+man/gslp.1
+man/gsnd.1
+man/pdf2dsc.1
+man/pdf2ps.1
+man/pf2afm.1
+man/pfbtopfa.1
+man/printafm.1
+man/ps2ascii.1
+man/ps2epsi.1
+man/ps2pdf.1
+man/ps2pdfwr.1
+man/ps2ps.1
+
+
+
+2019-10-15 08:48:43 +0100
+
+
Chris Liddell <chris.liddell@artifex.com>
+80f8dff6c57620dd5acae9ebc5b9ab64674b88f0
+
+
+ Fix a mistake in the news section
+
+doc/History9.htm
+doc/News.htm
+
+
+
+2019-10-14 18:29:10 +0100
+
+
Chris Liddell <chris.liddell@artifex.com>
+24a66f42d67d83714ad971347488c0246e3e8f7c
+
+
+ Have warning honor -dQUIET
+
+ Have the warning about calling .lockfileaccess or .setsafe when the controls are
+ already in place honor the -dQUIET/-q command line params.
+
+Resource/Init/gs_init.ps
+
+
+
+2019-10-14 18:10:31 +0100
+
+
Chris Liddell <chris.liddell@artifex.com>
+dad10464de52d344287843ca872b56c8e7f33ccb
+
+
+ Update changelog
+
+doc/History9.htm
+
+
+
+2019-10-14 18:07:29 +0100
+
+
Chris Liddell <chris.liddell@artifex.com>
+f2e2a3fe85d64cabde82d0f6eb982643bc6e8427
+
+
+ Add words about .currentpathcontrolstate operator
+
+doc/Language.htm
+
+
+
+2019-10-14 10:28:15 +0100
+
+
Chris Liddell <chris.liddell@artifex.com>
+ad5b08d8be2e7a91599d3bbbc6aa841144662239
+
+
+ Change version to 9.50
+
+Resource/Init/gs_init.ps
+base/version.mak
+doc/DLL.htm
+doc/Deprecated.htm
+doc/Develop.htm
+doc/Devices.htm
+doc/Drivers.htm
+doc/Fonts.htm
+doc/History9.htm
+doc/Install.htm
+doc/Internal.htm
+doc/Language.htm
+doc/Lib.htm
+doc/Make.htm
+doc/News.htm
+doc/Ps-style.htm
+doc/Ps2epsi.htm
+doc/Psfiles.htm
+doc/Readme.htm
+doc/Release.htm
+doc/SavedPages.htm
+doc/Source.htm
+doc/Unix-lpr.htm
+doc/Use.htm
+doc/VectorDevices.htm
+doc/WhatIsGS.htm
+doc/gs-vms.hlp
+doc/sample_downscale_device.htm
+doc/subclass.htm
+doc/thirdparty.htm
+man/dvipdf.1
+man/gs.1
+man/gslp.1
+man/gsnd.1
+man/pdf2dsc.1
+man/pdf2ps.1
+man/pf2afm.1
+man/pfbtopfa.1
+man/printafm.1
+man/ps2ascii.1
+man/ps2epsi.1
+man/ps2pdf.1
+man/ps2pdfwr.1
+man/ps2ps.1
+
+
+
+2019-10-14 10:20:19 +0100
+
+
Chris Liddell <chris.liddell@artifex.com>
+1937e14f17e5de54b57d0e911e828639d197a08c
+
+
+ Update docs on SAFER
+
+ to reflect that SAFER is now the default, and remove the comments about making
+ SAFER the default "in the future".
+
+doc/Use.htm
+
+
+
+2019-10-10 09:29:48 +0100
+
+
Ken Sharp <ken.sharp@artifex.com>
+9c63f39ead4aab30addf213f0ab6843ac87b56cf
+
+
+ ps2write - restore missing %%PageTrailer comment
+
+ Bug #701659 "Missing %%PageTrailer commen"
+
+ An oversight in commit 96c381cce28c27eac182549441a6c5025b0dcdd6
+ caused the comment to be omitted.
+
+devices/vector/gdevpdf.c
+
+
+
+2019-10-07 18:41:10 +0100
+
+
Chris Liddell <chris.liddell@artifex.com>
+1d89e1aa9cf65e5345a1f009b6d317db024719fe
+
+
+ Bug 701657: Allocate "memory" device in immovable gc memory
+
+ Devices are supposed to be allocated in memory that cannot relocate (i.e.
+ non-gc memory or an immovable allocation). The memory device accessible from
+ Postscript (makeimagedevice/makewordimagedevice) was being created in regular,
+ relocatable gc memory.
+
+ This caused an invalid memory access when cleaning up subclassed devices, as the
+ one device in the chain may have moved. So switch to using an immovable
+ allocation.
+
+base/gsdevmem.c
+
+
+
+2019-10-02 00:01:17 +0200
+
+
Sebastian Rasmussen <sebras@gmail.com>
+458f715b0d59278f0788e0c89ee5eb04d48871ef
+
+
+ Update jbig2dec stuff for 0.17 release.
+
+jbig2dec/CHANGES
+
+
+
+2019-10-01 10:35:48 +0100
+
+
Chris Liddell <chris.liddell@artifex.com>
+f8ba9e017cdfab836f62853629d75f484127342e
+
+
+ Fix memory corruption setting a halftone
+
+ When setting a new halftone in the graphics state, we try to re-use the data
+ from the existing device halftone.
+
+ The problem is that the device halftone can have higher component indices than
+ there are components in the new halftone we are creating. In this case, we can
+ end up writing off the end of the components array for the new halftone
+ structure.
+
+ Simply check that the new halftone has enough components before doing the
+ duplication.
+
+base/gsht.c
+
+
+
+2019-09-30 13:40:35 +0100
+
+
Ken Sharp <ken.sharp@artifex.com>
+1681c7ebb5a338002d5f7dd8da9bffda675f0656
+
+
+ pdfwrite - don't honour /Producer key in DOCINFO pdfmark
+
+ Bug #701639 "pdfwrite should not honour the /Producer key in DOCINFO pdfmark"
+
+ The Producer in the document information dictionary (and XML Metadata)
+ is defined quite clearly as the application which produced the PDF file
+ from its native format.
+
+ Ghostscript uses the Producer key (if present in the pdfmark) to set
+ the Producer, but it should not do so. Adobe Acrobat Distiller (at
+ least the end user version) does not permit this value to be altered.
+
+ On reflection we can see why; in the case of a problem with a PDF file
+ its important to know which application created it, and we should not
+ let PostScript obscure that (we already do not pass the Producer
+ information on when the input is PDF).
+
+ The code did already attempt to overwrite any Producer string which
+ contained 'Distiller' (I have no idea why) and that code contained an
+ error which could lead to an invalid Document Information dictionary
+ being created.
+
+ This commit removes the ability for DOCINFO pdfmarks to alter the
+ Producer, which obviously fixes the bug.
+
+ However..... it is actually important for our commercial customers to
+ be able to set this value. A problem with a PDF file created by one of
+ our customer's products should be reported to that customer, not us, as
+ we will not be able to investigate the problem while our customer
+ should be able to. At the very least our customer will know how to
+ retrieve the configuration of Ghostscript being used.
+
+ So permit the commercial version of Ghostscript to set the /Producer
+ from a pdfmark.
+
+devices/vector/gdevpdfm.c
+
+
+
+2019-09-30 09:16:28 +0100
+
+
Chris Liddell <chris.liddell@artifex.com>
+a27af00c8727ec4eaf0f4730963b8a81aab8590d
+
+
+ Small changelog tweak
+
+doc/History9.htm
+
+
+
+2019-09-30 08:33:08 +0100
+
+
Chris Liddell <chris.liddell@artifex.com>
+84864d86363a3e5b53f4b75fae7c850c2c22e5ee
+
+
+ Dates and docs for 9.28 rc4
+
+base/gscdefs.h
+base/version.mak
+doc/DLL.htm
+doc/Deprecated.htm
+doc/Develop.htm
+doc/Devices.htm
+doc/Drivers.htm
+doc/Fonts.htm
+doc/History9.htm
+doc/Install.htm
+doc/Internal.htm
+doc/Language.htm
+doc/Lib.htm
+doc/Make.htm
+doc/News.htm
+doc/Ps-style.htm
+doc/Ps2epsi.htm
+doc/Psfiles.htm
+doc/Readme.htm
+doc/Release.htm
+doc/SavedPages.htm
+doc/Source.htm
+doc/Unix-lpr.htm
+doc/Use.htm
+doc/VectorDevices.htm
+doc/WhatIsGS.htm
+doc/gs-vms.hlp
+doc/sample_downscale_device.htm
+doc/subclass.htm
+doc/thirdparty.htm
+man/dvipdf.1
+man/gs.1
+man/gslp.1
+man/gsnd.1
+man/pdf2dsc.1
+man/pdf2ps.1
+man/pf2afm.1
+man/pfbtopfa.1
+man/printafm.1
+man/ps2ascii.1
+man/ps2epsi.1
+man/ps2pdf.1
+man/ps2pdfwr.1
+man/ps2ps.1
+
+
+
+2019-09-27 13:26:01 +0100
+
+
Chris Liddell <chris.liddell@artifex.com>
+55fef678a69b921b548d5e1ffb93d9162fedfdc3
+
+
+ Bug 701634: Correctly handle file name of "\0"
+
+ Attempting to open a file with a filename string starting with a NULL
+ character should be treated the same as if the string was zero length.
+
+ Not doing so created a broken file object leading to several operations
+ resulting in a segfault.
+
+ Also, add cleanup in the event of such an error, freeing memory allocated in
+ preparing the gs stream object.
+
+base/sfxcommon.c
+psi/zfile.c
+
+
+
+2019-09-26 10:47:01 +0100
+
+
Chris Liddell <chris.liddell@artifex.com>
+51e6a6103f9fa51e14c737e134bcef8a3daf7ef8
+
+
+ Revised comment for 8992f00edfd1c39154c013489de2a01d2e9a92ee
+
+ Make it clearer why the revised behaviour is required.
+
+base/gstiffio.c
+
+
+
+2019-09-26 09:34:02 +0100
+
+
Chris Liddell <chris.liddell@artifex.com>
+833fc0371d2ca44ca603b2fd1a42fa1ef820f7eb
+
+
+ Bug 701313: Disable libtiff callbacks when libtiff is shared
+
+ It seems that libtiff uses global variables to store the error/warning callbacks
+ so if two callers in the exe are using the libtiff shared lib, very bad things
+ happen (usually a segfault).
+
+ So, if that's how we're linked, set the callbacks to NULL.
+
+base/gstiffio.c
+
+
+
+2019-09-24 15:48:54 +0100
+
+
Chris Liddell <chris.liddell@artifex.com>
+cfd109650c2328300b21f7e5853c0e4bec669876
+
+
+ Cope with .setsafe(global) being called when already 'SAFER'
+
+ As we default to SAFER file controls now, we want to cope with .setsafe and
+ .setsafeglobal being called either when already SAFER, or called multiple times.
+
+ This means adding a .currentpathcontrolstate operator so we don't try to
+ influence the path control lists after control is activated.
+
+Resource/Init/gs_init.ps
+psi/zfile.c
+
+
+
+2019-09-24 09:18:47 +0100
+
+
Chris Liddell <chris.liddell@artifex.com>
+45013b96f1e7ef06c64028122ec8870f3a71335d
+
+
+ tiffsep(1): Cope with .tiff ending as well as .tif
+
+devices/gdevtsep.c
+
+
+
+2019-09-23 20:04:49 +0100
+
+
Robin Watts <Robin.Watts@artifex.com>
+6aea104cc48170a4064a12e89c72a898c6bd5967
+
+
+ Recast validate to use gs_file_name_check_separator.
+
+ Avoid using gp_file_name_directory_separator, as windows can
+ have 2 different directory separators.
+
+base/gpmisc.c
+
+
+
+2019-09-23 18:05:00 +0100
+
+
Chris Liddell <chris.liddell@artifex.com>
+f1a661c69f78ea42828f94fe829163d20bcf7706
+
+
+ Remove spurious call to gp_validate_path_len()...
+
+ ...in gx_device_open_output_file()
+
+ There is no need to validate the path in gx_device_open_output_file() as it will
+ be done at a lower level (gp_fopen) for paths that require it (we only validate
+ *after* the Postscript style %device% paths have been expanded into 'real'
+ paths).
+
+ This also interacts badly with the revised handling of formatted string
+ file names, hence remove it.
+
+base/gsdevice.c
+
+
+
+2019-09-23 17:56:34 +0100
+
+
Chris Liddell <chris.liddell@artifex.com>
+eed7d85ac16ae516e1c4e51bcdea3924a973da5e
+
+
+ Fix tiffsep(1) interaction with file permissions lists
+
+ The previous solution didn't quite work, when using formatted strings for
+ output file names (i.e. output-%d.tif).
+
+ This adds a dedicated gs_remove_outputfile_control_path() to mirror
+ gs_add_outputfile_control_path() and uses those for the dynamic adding and
+ removing of separation output file names.
+
+base/gslibctx.c
+base/gslibctx.h
+devices/gdevtsep.c
+
+
+
+2019-09-23 17:11:47 +0100
+
+
Robin Watts <Robin.Watts@artifex.com>
+76ca3dd29559dd72da3f154e2ba18f86cd46fff6
+
+
+ Update path validation to accept multiple *'s as special case.
+
+ Previously we interpretted multiple *'s as meaning the same as
+ single *'s. Now we use them to mean "just those chars that
+ might be created by the use of a %...{d,x,u,i,o,X} format
+ specifier".
+
+base/gpmisc.c
+doc/Use.htm
+
+
+
+2019-09-23 16:41:09 +0100
+
+
Robin Watts <Robin.Watts@artifex.com>
+dfc93423545c8a9a927b1f240ba4bdc22b39f0b6
+
+
+ Improve OutputFile handling of %d etc.
+
+ Only accept %d (and friends) (as opposed to anything starting with %).
+ Only accept legal combinations of flags/widths/precision etc.
+ Generate a more conservative wildcard.
+
+base/gslibctx.c
+
+
+
+2019-09-20 12:38:02 -0700
+
+
Ray Johnston <ray.johnston@artifex.com>
+cd3db03d3e04c9146b596280d6da76cec23f60a6
+
+
+ Slight improvement to "permit-file-***" parameter documentation.
+
+doc/Use.htm
+
+
+
+2019-09-20 11:17:53 -0700
+
+
Ray Johnston <ray.johnston@artifex.com>
+4baa696cc3498ae834052440f9f9d9fc0b8ad122
+
+
+ Fix tiffsep and tiffsep1 with new file access control and SAFER mode
+
+ The tiffsep and tiffsep1 synthesize output file names with the outputfile
+ and the separation color name, but the 'open' of these filenames would
+ fail since they were not included on the permit_file_writing list.
+ Add the full filename before opening, and remove the names after closing.
+
+devices/gdevtsep.c
+
+
+
+2019-09-20 11:53:10 -0700
+
+
Robin Watts <Robin.Watts@artifex.com>
+41d79063acee7244f5990d2a8e19c567e24051af
+
+
+ Squash stupid const warning.
+
+base/gslibctx.c
+
+
+
+2019-09-20 19:42:01 +0100
+
+
Robin Watts <Robin.Watts@artifex.com>
+b58f45daa9007f482a49132cbfaa47c8b86ce7d5
+
+
+ Squash some "const" warnings.
+
+pcl/pl/plmain.c
+
+
+
+2019-09-20 17:49:57 +0100
+
+
Robin Watts <Robin.Watts@artifex.com>
+0e7039d7a83a7e35b8b41d59d7fb9a8b4fda7fb0
+
+
+ Fix "permit-file-xxxx" handling.
+
+ Ray spotted that gs_add_explicit_control_path was adding 17
+ to arg before using it. 17 happens to be the right amount
+ to add for "--permit-file-read=", but the wrong amount for
+ write/control/all.
+
+ Update the code to call it with the correct arg pointer
+ to start with.
+
+ Also, update a couple of routines to cope with being called
+ with NULL strings.
+
+ Also use enum values in switch rather than 0, 1, 2.
+
+base/gslibctx.c
+pcl/pl/plmain.c
+psi/imainarg.c
+
+
+
+2019-09-19 11:02:48 +0100
+
+
Chris Liddell <chris.liddell@artifex.com>
+18316aba11fafc57ee77dbd7774b2c88b964a9d9
+
+
+ Make missing jbig2 decoder fatal error.
+
+ If we have neither Luratech nor jbig2dec, have configure fail, unless
+ explicitly run with --without-jbig2dec
+
+configure.ac
+
+
+
+2019-09-18 09:24:25 +0100
+
+
Chris Liddell <chris.liddell@artifex.com>
+569a551f2a57f6e6c1e692f6b834c765dcbe7cfa
+
+
+ Dates, docs, etc for 9.28 rc3
+
+base/gscdefs.h
+base/version.mak
+doc/DLL.htm
+doc/Deprecated.htm
+doc/Develop.htm
+doc/Devices.htm
+doc/Drivers.htm
+doc/Fonts.htm
+doc/History9.htm
+doc/Install.htm
+doc/Internal.htm
+doc/Language.htm
+doc/Lib.htm
+doc/Make.htm
+doc/News.htm
+doc/Ps-style.htm
+doc/Ps2epsi.htm
+doc/Psfiles.htm
+doc/Readme.htm
+doc/Release.htm
+doc/SavedPages.htm
+doc/Source.htm
+doc/Unix-lpr.htm
+doc/Use.htm
+doc/VectorDevices.htm
+doc/WhatIsGS.htm
+doc/gs-vms.hlp
+doc/sample_downscale_device.htm
+doc/subclass.htm
+doc/thirdparty.htm
+man/dvipdf.1
+man/gs.1
+man/gslp.1
+man/gsnd.1
+man/pdf2dsc.1
+man/pdf2ps.1
+man/pf2afm.1
+man/pfbtopfa.1
+man/printafm.1
+man/ps2ascii.1
+man/ps2epsi.1
+man/ps2pdf.1
+man/ps2pdfwr.1
+man/ps2ps.1
+
+
+
+2019-09-17 11:42:13 +0100
+
+
Chris Liddell <chris.liddell@artifex.com>
+2ff44c7c8a09dd1c6b7cd750323ee4087b5cebc5
+
+
+ Fix file permissions interaction with '@' command line
+
+ If an options file (prefixed '@' on the command line) followed something that
+ required initialising the Postscript interpreter (such as a '-c' option),
+ opening the file would potentially fail because file permissions had been
+ activated by the interpreter.
+
+ Add and remove the file from the permit reading list before attempting to open
+ it.
+
+base/gsargs.c
+
+
+
+2019-09-12 14:23:10 +0100
+
+
Chris Liddell <chris.liddell@artifex.com>
+3695b7f576c607bd3627e6e28dc982fdf68b1b32
+
+
+ If set, add PCLFONTSOURCE value to permit_file_reading list
+
+pcl/pl/pjparse.c
+
+
+
+2019-09-11 13:07:02 +0100
+
+
Chris Liddell <chris.liddell@artifex.com>
+4196e26a9cf3c8afd6c069a789ac649019ae096a
+
+
+ Bug 701561: 'reduce' paths before adding to permit lists
+
+ Before attempting to open files, we pre-process the requested file name to
+ remove surplus/unnecessary elements: i.e. './././file' would be reduced to just
+ './file', or '../dir/../dir/../dir/file' would be reduced to '../dir/file'.
+
+ The 'reduced' path is what we try to open, hence it is also what we check
+ against the file permissions list before we allow files to be accessed.
+
+ That being so, we should also 'reduce' paths as we add them to the permissions
+ lists - thus the permissions list creation and checking are consistent.
+
+base/gslibctx.c
+base/lib.mak
+
+
+
+2019-09-11 14:10:27 -0700
+
+
Ray Johnston <ray.johnston@artifex.com>
+3d55799ea64088e08fc2783012957035c77a66ca
+
+
+ Fix Bug 696333. Allow large bitmaps in clist when writing tile cache.
+
+ When writing bits to update the tile cache, we don't need to restrict to
+ a single command buffer as with the copy_mono and copy_color commands.
+
+ Progressions on:
+ tests_private/comparefiles/Bug694385.pdf.psdcmyk.300.1..gs
+ tests_private/pdf/sumatra/2028_-_invisible_patterns.pdf.psdcmyk.300.1..gs
+ tests_private/ps/ps3cet/09-47B.PS.pdf.pkmraw.300.0..gs_pdf
+ tests_private/ps/ps3fts/176-01.ps.psdcmyk.300.1..gs
+
+base/gxclbits.c
+base/gxcldev.h
+base/gxclrect.c
+
+
+
+2019-09-12 10:37:42 -0700
+
+
Ray Johnston <ray.johnston@artifex.com>
+1613502f83ddba352cc8e98e7dd3182c9d7732bc
+
+
+ Fix SEGV with flp device and PCL with clist mode and large BandHeight.
+
+ If the 'clist_init' fails initially (with rangecheck) due to the buffer
+ space too small for the BandHeight specified, we loop in the caller after
+ increasing the buffer size, but clist_init left "is_open" false when failing.
+ Add save_is_open in gdev_prn_setup_as_command_list so that we can restore it
+ if the clist_init eventually suceeds.
+
+ The SEGV was with image_data because re-opening the flp device reset the
+ "obsolete" procs to the default, so flp_image_data was replaced by the
+ gx_default_image_data, but no begin_image had been performed (flp_begin_image
+ skipped this since we were not yet at the FirstPage).
+
+base/gdevprn.c
+base/gxclist.c
+
+
+
+2019-09-16 18:53:49 +0200
+
+
Sebastian Rasmussen <sebras@gmail.com>
+f2d03f59e04a053c14285d8dbdd869bf9a4435e7
+
+
+ Update jbig2dec stuff for 0.17 release.
+
+jbig2dec/CHANGES
+jbig2dec/jbig2.h
+jbig2dec/jbig2dec.1
+
+
+
+2019-09-16 18:48:36 +0200
+
+
Sebastian Rasmussen <sebras@gmail.com>
+8da8fbaeb6074161bc3a9b22e89265f5942db0d9
+
+
+ jbig2dec: Use the same contact information everywhere.
+
+jbig2dec/README
+jbig2dec/configure.ac.in
+jbig2dec/jbig2dec.1
+
+
+
+2019-09-16 16:12:32 +0100
+
+
Paul Vojta <vojta@math.berkely.edu>
+6c6e19334062d12189612b84f53fe393a7808f74
+
+
+ Documentation - fix some typos
+
+ Bug #701589 "Minor documentation problems in 9.28-rc2"
+
+ Thanks to Paul Vojta for pointing these out. Unfortunately we cannot use the
+ supplied patch, as it includes alterations to History9.htm, which is auto-
+ generated from the commit logs. The remaining changes are applied here.
+
+doc/Language.htm
+doc/Use.htm
+
+
+
+2019-09-11 12:18:51 +0100
+
+
Chris Liddell <chris.liddell@artifex.com>
+90bdf83d696562e4136b8f565cac06cc32b161ae
+
+
+ Bug 701563: pdfwrite annotation pdfmark /Border key
+
+ Despite the spec saying the values for the /Border key are in user space
+ coordinates, Distiller appears to pass the values through to the output PDF
+ untouched (no rescaling - unlike the values for /Rect, also in user space,
+ according to the spec, which it does scale/translate). Ghostscript/pdfwrite
+ did scale the /Border values.
+
+ This just changes pdfwrite to write the values out unchanged.
+
+devices/vector/gdevpdfm.c
+
+
+
+2019-09-16 09:56:52 +0100
+
+
Ken Sharp <ken.sharp@artifex.com>
+a9e997cb97a274bebfc028e8831a43d6f66be0f9
+
+
+ Documentation - add a note about SAFER for PDF/X ICC profiles
+
+ Bug #701553 "Examples of PDF/X and PDF/A conversion should be updated for Ghostscript 9.28"
+
+ ICC profiles required for PDF/X and PDF/A output need to be readable
+ in order to work when -dSAFER is true (the new default). This wasn't
+ clear from the documentation, so add a note about it.
+
+ As noted in the bug report, it is possible to embed the profile in the
+ PostScript code, but as Chris says this is probably beyond reasonable
+ expectations of the average user; they simply won't change the example
+ and will then complain that it isn't correct. Users capable of making
+ this work almost certainly have enough knowledge to realise they can
+ do this instead of making the profile readable.
+
+doc/VectorDevices.htm
+
+
+
+2019-09-12 19:41:47 +0100
+
+
Robin Watts <Robin.Watts@artifex.com>
+cea41505580dfe55234bd4972fbb09af5e2e6bb8
+
+
+ Fix various printer devices to properly call spec ops.
+
+ Various printer devices (psd, psdcmykog, tiffsep, tiffscaled)
+ were passing the spec ops on to gx_default_dev_spec_op rather
+ than gdev_prn_dev_spec_op.
+
+ The most obvious implication of this was that we'd sometimes
+ get a warning about printer devices having a private spec op.
+
+devices/gdevcmykog.c
+devices/gdevpsd.c
+devices/gdevtsep.c
+
+
+
+2019-09-12 17:09:50 +0100
+
+
Robin Watts <Robin.Watts@artifex.com>
+89f3d6001728678755aca8c5a02e57bba72a0813
+
+
+ Bug 701568 followup: Fix RLE compressor.
+
+ The previous fix to the RLE compressor reveals an additional
+ existing issue to do with us not checking whether we have
+ space in the buffer to write the EOD byte.
+
+ Fixed here.
+
+base/srle.c
+
+
+
+2019-09-12 09:35:01 +0100
+
+
Robin Watts <Robin.Watts@artifex.com>
+f394c0722d3415ba03f57dc32dcd8484d3173b62
+
+
+ Bug 701568: Fix gdevpx.c RLE stream handling.
+
+ The current code in pclxl_write_image_data_RLE passes
+ lines of data to the RLE compression routine. It tells
+ each invocation of that routine that this is the "last"
+ block of data, when clearly it is not.
+
+ Accordingly, the compression routine inserts the "EOD" byte
+ into the stream, and returns EOFC.
+
+ Independently of the return value used, having multiple EOD
+ bytes in the data is clearly wrong. Update the caller to only
+ pass "last" in for the last block.
+
+ The code still returns EOFC at the end of the data, so update
+ this final call to accept (indeed, expect) that return value
+ there.
+
+devices/vector/gdevpx.c
+
+
+
+2019-09-10 09:04:46 -0700
+
+
Ray Johnston <ray.johnston@artifex.com>
+6cd0b941d86fe54b7e818e563dc702a147bab95a
+
+
+ Fix bug 701550, problem with forall on strings.
+
+ Hard to believe, but this problem has existed since at least version 3.33.
+ The 'string_continue' function altered the size which was used to decide if
+ there were still characters to be processed BEFORE invoking the 'push(#)' macro.
+ If the 'push(1)' encountered a full stack segment, it would return stackoverflow
+ so that the operand stack could be extended. This meant that the decision to
+ stop enumerating the string would end early (depending on how many times the
+ stackoverflow occurred).
+
+ Usually the procedure of the forall would either consume the character (reducing
+ the stack), or add an element to the stack triggering the stack extension before
+ the next execution of string_continue, but -c "401 string { dup } forall count ="
+ results in only 800 stack elements (rather than 802 as expected).
+
+psi/zgeneric.c
+
+
+
+2019-08-15 15:54:04 +0100
+
+
Chris Liddell <chris.liddell@artifex.com>
+f560f3c468ac187eca8cd55ee46a46e2924e0924
+
+
+ Doc updates, changelog, news etc
+
+ Update to note explicitly case sensitivity on Windsows
+
+ In News.htm and History9.htm
+
+doc/History9.htm
+doc/News.htm
+doc/Use.htm
+
+
+
+2019-09-05 09:09:38 +0100
+
+
Chris Liddell <chris.liddell@artifex.com>
+cc86598152465c85dfca5ba265608931672f730f
+
+
+ Date for 9.28 rc2
+
+base/gscdefs.h
+base/version.mak
+doc/DLL.htm
+doc/Deprecated.htm
+doc/Develop.htm
+doc/Devices.htm
+doc/Drivers.htm
+doc/Fonts.htm
+doc/History9.htm
+doc/Install.htm
+doc/Internal.htm
+doc/Language.htm
+doc/Lib.htm
+doc/Make.htm
+doc/News.htm
+doc/Ps-style.htm
+doc/Ps2epsi.htm
+doc/Psfiles.htm
+doc/Readme.htm
+doc/Release.htm
+doc/SavedPages.htm
+doc/Source.htm
+doc/Unix-lpr.htm
+doc/Use.htm
+doc/VectorDevices.htm
+doc/WhatIsGS.htm
+doc/gs-vms.hlp
+doc/sample_downscale_device.htm
+doc/subclass.htm
+doc/thirdparty.htm
+man/dvipdf.1
+man/gs.1
+man/gslp.1
+man/gsnd.1
+man/pdf2dsc.1
+man/pdf2ps.1
+man/pf2afm.1
+man/pfbtopfa.1
+man/printafm.1
+man/ps2ascii.1
+man/ps2epsi.1
+man/ps2pdf.1
+man/ps2pdfwr.1
+man/ps2ps.1
+
+
+
+2018-10-31 20:22:11 +0100
+
+
Sebastian Rasmussen <sebras@gmail.com>
+350a5cd8b7bddee3fa914c914dd40a685fed54e7
+
+
+ Bug 700088: Report error if all wanted J2K components are not decoded.
+
+ Ghostscript used to attempt to use even the undecoded components.
+ The source code for upstream's opj_decompress tool avoided this by
+ a workaround along with a comment indicating that this ought to be
+ done in the library (so all clients, e.g. Ghostscript will benefit
+ from it). With this commit the library will error out if not all
+ requested components are successfully decoded. Thus Ghostscript
+ will no longer crash.
+
+ Reported in https://github.com/uclouvain/openjpeg/issues/1158
+ sent upstream in https://github.com/uclouvain/openjpeg/pull/1164
+ and finally committed in e66125fe260deee49fdf6e9978d9bd29871dd5bb
+
+openjpeg/src/bin/jp2/opj_decompress.c
+openjpeg/src/lib/openjp2/j2k.c
+
+
+
+2019-09-03 12:34:55 -0700
+
+
Michael Vrhel <michael.vrhel@artifex.com>
+b944e875baed62e718eee8e7ad2b351cd4f4aa07
+
+
+ Undo commit 95f7befcec1b30fd5014c8ad616485d32901ce33 for release
+
+ Proper handling of the page group color space is going to require
+ a more complex solution whereby we ensure that we do the final
+ alpha blending in the page group color space and not the target
+ device color space.
+
+base/gstrans.c
+
+
+
+2019-09-03 08:52:16 -0700
+
+
Michael Vrhel <michael.vrhel@artifex.com>
+ebfe16357f3484209e69d6788cc52b20dbdb81a0
+
+
+ Add -sBlendColorProfile into Use.htm
+
+doc/Use.htm
+
+
+
+2019-09-03 18:15:56 +0100
+
+
Robin Watts <Robin.Watts@artifex.com>
+bbdfaa56b00f2ba556476f0265e65e4ad370f641
+
+
+ Avoid potential UMR with arg checking in arg sanitization code.
+
+base/gslibctx.c
+
+
+
+2019-09-02 17:16:45 +0100
+
+
Robin Watts <Robin.Watts@artifex.com>
+00d4696ea2de6c48a57d5a4ce0c3bbfd99201e3a
+
+
+ Proper fix for deep color overprint.
+
+ The previous fix confused memset and memcpy. Properly write the
+ (native endian) 16 bit color values into the big endian buffer.
+
+base/gsovrc.c
+
+
+
+2019-09-02 12:59:33 +0100
+
+
Robin Watts <Robin.Watts@artifex.com>
+c6d448b3fe616fdc2ba1e52766c9a4417e4e738f
+
+
+ Fix deep color mattes.
+
+ As seen with the content vanishing when rendering
+ tests_private/pdf/sumatra/uninitialized_value_with_JPX_images.pdf
+ to psdcmyk16. The Softmask on the image has a Matte of [1,1,1]
+ and the calculations in the current code overflow, meaning that
+ it comes out as completely white.
+
+ We resort to 64bit to avoid the overflow. Mattes are vanishingly
+ rare, so speed shouldn't be an issue. We can revisit if we ever
+ find a case that matters.
+
+base/gdevp14.c
+
+
+
+2019-08-31 12:45:47 +0100
+
+
Robin Watts <Robin.Watts@artifex.com>
+4c1f255c2e825ab5e0a3d0f7bfa88538c7cbb912
+
+
+ Update overprint hl_color code to cope with 16bit devices too.
+
+base/gsovrc.c
+
+
+
+2019-08-31 12:16:40 +0100
+
+
Robin Watts <Robin.Watts@artifex.com>
+373787ee145e906c8d19d5ccda84b4f267db2010
+
+
+ Fix deep color transparency overprint.
+
+ The component copy loop at the end of the blend could fail to copy
+ enough entries.
+
+base/gxblend.c
+
+
+
+2019-08-30 15:16:34 +0100
+
+
Robin Watts <Robin.Watts@artifex.com>
+361c4dd1e18ca0675173c0ad0104ffb910e93bb4
+
+
+ Avoid overflow in deep color luminosity calculations.
+
+ Resort to 64bit as scale calculations are not constrained
+ to the usual 16bit range.
+
+base/gxblend.c
+
+
+
+2019-08-29 10:02:49 +0100
+
+
Chris Liddell <chris.liddell@artifex.com>
+51d57fafbdc021c8c73475db505156f77e96ce39
+
+
+ Fix clearing of the drag and drop file list
+
+ Because we have to store the list of file names from drag and drop events, in
+ order to correctly add and remove them from the permit file read list, we also
+ want to clear the lists before we destroy the "text" window object.
+
+ The problem is, this happens after we shutdown Ghostscript and unload the dll.
+
+ This moves that clearing of the list into function that we call before we
+ shut down.
+
+psi/dwmain.c
+psi/dwtext.c
+psi/dwtext.h
+
+
+
+2019-08-28 10:14:52 +0100
+
+
Chris Liddell <chris.liddell@artifex.com>
+ad0532e379a9eb6eb8a6fc0a6305679b25cd9ecb
+
+
+ Fix path permissions added from cidfmap.
+
+ From the cidfmap, we accumulate a list of unique directory paths a we process
+ cidfmap and then add them - when I did that code, I forgot that to allow access
+ to the directory, we need a trailing directory separator.
+
+ Add that before calling .addcontrolpath
+
+Resource/Init/gs_cidfm.ps
+
+
+
+2019-08-27 16:49:30 +0100
+
+
Chris Liddell <chris.liddell@artifex.com>
+f0fedf1f77a9fe70627355b45fdb809e83df3568
+
+
+ Fix font file finding with -P
+
+ In trying to reproduce the issue that inspired commit dea69cd04964, I noticed
+ that font file searching wasn't working correctly with -P specified on the
+ command line.
+
+ Previously, it could just end up with us not finding a font we should have, but
+ with dea69cd04964 it would result in a typecheck error.
+
+ This ensures the stack is always how it should be after the findlibfile
+ call
+
+Resource/Init/gs_fonts.ps
+
+
+
+2019-08-22 16:10:03 +0100
+
+
Chris Liddell <chris.liddell@artifex.com>
+5c28996d19d5e10cb177e72c47037ec0c7b3e4d5
+
+
+ Make it clear: file/path matching is always case sensitive
+
+ even on Windows.
+
+doc/Use.htm
+
+
+
+2019-08-29 19:50:08 +0100
+
+
Robin Watts <Robin.Watts@artifex.com>
+24532ce9371fd1f69dd343cbd6ac8187a86c5c96
+
+
+ Fix overflow in 16bit blending calculations.
+
+ The blending code uses the following construction in
+ several places:
+
+ src_scale = ...; /* a value between 0 and 0x10000 */
+ tmp = (y-z) * src_scale + 0x8000;
+ foo = x + (tmp>>16);
+
+ Where x,y,z, are all expected to be in the 0...0xffff range.
+
+ Due to y-z having a sign bit, this can overflow a 32 bit tmp.
+
+ We therefore sacrifice a bit of accuracy in src_scale to get
+ correctness.
+
+base/gxblend.c
+base/gxblend1.c
+
+
+
+2019-08-28 14:13:27 +0100
+
+
Robin Watts <Robin.Watts@artifex.com>
+ca52028b90a09d056190548c41ae0b9a9fbadb4e
+
+
+ Remove outdated FIXME's.
+
+base/gdevp14.c
+
+
+
+2019-08-28 12:50:36 +0100
+
+
Robin Watts <Robin.Watts@artifex.com>
+bd59dc145252282d8f586c36082e63a0eba95c15
+
+
+ Bug 701446: Avoid divide by zero in shading.
+
+ The previous commit for this bug was enough to solve the problem
+ for ppmraw, but not, it seems, for other devices. This addresses
+ the division by zero more directly.
+
+base/gxshade6.c
+
+
+
+2019-08-27 20:13:02 +0100
+
+
Robin Watts <Robin.Watts@artifex.com>
+9a32a379933f4ba27ff1ad5734ec8c24c42eb513
+
+
+ Fix deep color transparency saturation blending.
+
+ Problem seen with:
+
+ tests_private/pdf/PDF_1.7_FTS/fts_25_2513.pdf.psdcmyk16.300.1
+
+base/gxblend.c
+
+
+
+2019-08-27 17:45:57 +0100
+
+
Robin Watts <Robin.Watts@artifex.com>
+68af4dbc7ca2d6bfdbe938b840799cb8883c973e
+
+
+ Bug 701446: Avoid division by zero in gx_shade_trapezoid
+
+ Remove some incorrect clipping code.
+
+base/gxshade6.c
+
+
+
+2019-08-27 15:54:36 +0100
+
+
Robin Watts <Robin.Watts@artifex.com>
+4be058791ae19131f19a8303364be53619abc280
+
+
+ Exit early from gx_shade_trapezoid in more cases.
+
+ A zero height trap isn't plotted, so we can bail out early in
+ that case.
+
+base/gxshade6.c
+
+
+
+2019-08-26 17:02:03 +0100
+
+
Robin Watts <Robin.Watts@artifex.com>
+9423e84178071f16b83d18412b22b0b479b1938b
+
+
+ Fix deep colour transparency "uncompositing".
+
+ Uncompositing a group uses a scale factor that is greater in range
+ than we'd like; we need to resort to 64bit to do this to avoid
+ losing accuracy.
+
+ This solves problems seen in:
+
+ tests_private/comparefiles/Bug689918.pdf.psdcmyk16.300.1
+
+base/gxblend.c
+
+
+
+2019-08-27 14:26:41 +0100
+
+
Chris Liddell <chris.liddell@artifex.com>
+131768114453972469296658b795406b79630538
+
+
+ Handle relative FONTPATH values
+
+ Prior to 9.21 (specifically: 8abd22010eb4db0fb1b10e430d5f5d83e015ef70), relative
+ paths for FONTPATH worked, but did so due to a logic fault with how we search
+ for "lib" files.
+
+ When attempting to open file names specified on the command line, we used a
+ flag set in the command line handling (starting_arg_file) to know whether the
+ lib file searching logic should try to open the file name directly (as well as
+ trying the file combined with each path in the search path).
+
+ In versions prior to commit 8abd22010eb4 that flag (starting_arg_file) could
+ remain set to true, even after the command line file(s) had been opened. This
+ represented a (minor) security risk. Commit 8abd22010eb4 ensured the flag was
+ properly (re)set, and that caused relative paths for FONTPATH stopped working.
+
+ Rather than reintroduce the security risk, update the code that checks whether
+ the font files exist so it explicitly tries the file name directly, rather than
+ assuming .libfile (or findlibfile, in this case) does that automatically.
+
+ Also remove an extraneous (but benign) dup of the font name.
+
+Resource/Init/gs_fonts.ps
+
+
+
+2019-08-27 15:27:05 +0100
+
+
Ken Sharp <ken.sharp@artifex.com>
+98310063bdbe8c67bcfe84e2c648cfa286a05738
+
+
+ pdfwrite - fix corner case with Color Conversion
+
+ Bug #701456 "Ghostscript creates broken PDF file after color conversion"
+
+ The test file is, essentially weird. The image on page 3 is not a single
+ image, its a series of images, all of which are in a /Indexed /DeviceRGB
+ colour space.
+
+ In addition, these images are drawn on *top* of another set of images
+ (thereby completely obscuring them). These images are also drawn in
+ /Indexed /DeviceRGB. However, these images are in fact monochrome, the
+ Indexed space consists of 2 colours. This means that (highly unusually)
+ we have a DeviceRGB image with 1 Bit Per Component.
+
+ This caused problems for the pdfwrite compression filter chooser because
+ it chose (and configured) a compression scheme suitable for 1 BPC data
+ and then actually output 8 BPC data. This led to the compression filter
+ writing too little data.
+
+ Fix this here by setting the BPC to 8 if we are doing colour conversion,
+ and have the colour conversion setup code use the original value in the
+ image enumerator (the conversion code *does* need to know the input is
+ 1 BPC).
+
+devices/vector/gdevpdfi.c
+
+
+
+2019-08-27 11:36:35 +0100
+
+
Ken Sharp <ken.sharp@artifex.com>
+aee3b922087674ddd7c64444988018fafc3da127
+
+
+ PDF interpreter - more /Mask strangeness in Acrobat
+
+ Bug #701468 " More weirdness with images containing invalid /Mask values"
+
+ In order to render this file as per Acrobat, we need to ignore the /Mask
+ array. However, in order to render bug 689717 correctly we need to fix
+ the /Mask array.
+
+ Both cases are 1 BitsPerComponent DeviceGray images, the only difference
+ is the actual /Mask values. Bug 689717 has [255 255] while 701468 has
+ [243 255]. We can differentiate based on whether we have DeviceGray
+ 1 BPC image, where the Mask values are not the same. In the case they
+ are different we use the existing technique of calculating the maximum
+ value and using that (for both, so there is no range). Where there is a
+ range (ie not a single colour) this is clearly unusable in a 2-colour
+ image, so ignore the /Mask altogether.
+
+Resource/Init/pdf_draw.ps
+
+
+
+2019-08-26 15:28:33 +0100
+
+
Robin Watts <Robin.Watts@artifex.com>
+ad22dcaa078fd16f2ac395f65b6ad87ba24c8903
+
+
+ Fix deep colour knockout logic.
+
+ Problem seen with:
+
+ tests_private/pdf/PDF_1.7_FTS/fts_25_2507.pdf.psdcmyk16.72.0
+
+base/gxblend.c
+
+
+
+2019-08-26 14:34:46 +0100
+
+
Robin Watts <Robin.Watts@artifex.com>
+4cda7bfc8cc8c5c4dcd36167191012aa379100ac
+
+
+ Squash a couple of warnings.
+
+base/gdevmem.c
+base/gdevp14.c
+
+
+
+2019-08-26 14:01:39 +0100
+
+
Robin Watts <Robin.Watts@artifex.com>
+7b5166b5c65703abb02c15a31c9f8341f54d1470
+
+
+ Fix SoftLight blending in deep color transparency.
+
+ As seen with:
+
+ gs -sDEVICE=psdcmyk16 -r72 -dMaxBitmap=80000000 -o out.psd
+ tests_private/pdf/PDF_1.7_FTS/fts_09_0919.pdf
+
+base/gxblend.c
+
+
+
+2019-08-26 11:28:40 +0100
+
+
Robin Watts <Robin.Watts@artifex.com>
+5875be5edeb034787a11760c9330cac039f13044
+
+
+ Fix problems with pngalpha and deep color transparency filling.
+
+ The pngalpha device is created with a depth of 32, with 3 color
+ components; this was confusing pdf14 into thinking that more
+ than 8 bits per color were being used, and so deep color buffers
+ were required.
+
+ To fix this we update the logic to be smarter; in cases where we
+ don't have a clear determination based on bits alone, we look
+ at the max_color and max_gray values. Because this code is now
+ more complex than before, we pull it into a shared function.
+
+base/gdevdflt.c
+base/gdevmem.c
+base/gdevp14.c
+base/gdevprn.c
+base/gsptype1.c
+base/gstrans.c
+base/gxclthrd.c
+base/gxdevcli.h
+
+
+
+2019-08-23 15:06:17 +0100
+
+
Robin Watts <Robin.Watts@artifex.com>
+6e7283fa5bcea9ffbe4bb9da440dd8fa4820e4d6
+
+
+ Fix deep color transparency issue.
+
+ Fix overflow in art_pdf_composite_knockout_16, seen in:
+
+ tests_private/comparefiles/Bug690546.pdf.psdcmyk16.72.0
+
+base/gdevp14.c
+base/gxblend.c
+
+
+
+2019-08-22 18:24:49 +0100
+
+
Robin Watts <Robin.Watts@artifex.com>
+628c9741323ea69b0be8e4008a81b1db3d644ab8
+
+
+ Fix deep color transparent pattern problems.
+
+ Transparency buffers are held as native endian. Pattern cache
+ tiles are held as big endian. When we make pattern cache tiles
+ from transparency buffers we therefore need a conversion.
+
+base/gdevp14.c
+base/gxblend.c
+base/gxp1fill.c
+base/gxpcolor.h
+
+
+
+2019-08-25 19:35:14 +0200
+
+
Till Kamppeter <till.kamppeter@gmail.com>
+be4da9d67cbec784be740086681f96a63496ae48
+
+
+ "cups"/"pwgraster" output device: Do not output LUTs with CUPS_DEBUG set
+
+ This change lets complete LUTs in the debug output only be listed when
+ CUPS_DEBUG2 is set and not already with CUPS_DEBUG.
+
+cups/gdevcups.c
+
+
+
+2019-08-25 19:08:52 +0200
+
+
Till Kamppeter <till.kamppeter@gmail.com>
+0e28c843e56d1be4638bf9d84a499794534ea0d9
+
+
+ "cups"/"pwgraster" output device: Prefer the page size requested by user
+
+ Without special scaling/cropping options ("fit-to-page", "fill",
+ "crop-to-fit΅, ...) PDF and PostScript files printed with CUPS will be
+ printed with the page sizes of the document's pages and not the size
+ requested by the user via the "PageSize" or "media" option. This
+ allows correct printing of jobs with differently sized pages on
+ printers which have the appropriate sizes loaded without need of
+ manual intervention. Therefore the CUPS output device is matching each
+ input page against the sizes listed in the PPD to generate a correct
+ page geometry for the printer for each page.
+
+ Problem is if there are several equally-sized page size entries in the
+ PPD. Without further guiding always the first match is used, making
+ access to special functions provided by the others (like
+ full-bleed/borderless printing) inaccessible.
+
+ This commit adds the functionality of the user-requested page size
+ (via "PageSize" or "media" option) being preferred under the matching
+ page sizes, so that if for example a user selects a full-bleed version
+ of the desired page size and sends a photo, the photo gets rendered
+ and printed with the page geometry which the PPD reports for the
+ full-bleed version.
+
+ Nothing changes if the size of the user-requested page size does not
+ match the size of the input page at all.
+
+cups/gdevcups.c
+
+
+
+2019-08-25 12:45:27 +0200
+
+
Till Kamppeter <till.kamppeter@gmail.com>
+a5ccd009fd632e058b4f0bc2849cfc293b39d1f2
+
+
+ "cups"/"pwgraster" output device: Small fix on size matching improvements
+
+ This is a fix for one little oversight on the changes to support matching
+ the input page size against the imageable areas of the PPD's page sizes.
+
+ This completes the fix of bug 701438.
+
+cups/gdevcups.c
+
+
+
+2019-08-24 23:11:10 +0200
+
+
Till Kamppeter <till.kamppeter@gmail.com>
+a0284b5ac8c59014eab90c5a5ec388cd1676b79d
+
+
+ "cups"/"pwgraster" output device: Improved page size matching with PPD
+
+ Applied the following improvements for finding the correct page size
+ of the PPD file for the input page:
+
+ - Do not try to match by page size name, the input files do not
+ contain page size names.
+
+ - Do not only match the input page size against the actual media sizes
+ reported by the PPD but also to the imageable areas. Media size match
+ is preferred but if there is no media size match, we accept also
+ a match of the imageable area. In case of a match of the imageable
+ area we position the input page in the imageable area of the output
+ page.
+
+ - More debug output.
+
+ - In case of a custom page size (no match with PPD sizes) the page
+ size name in the CUPS Raster output is a correct "Custom.XXXxYYY"
+ and not the default page size name.
+
+ This should fix bug #701438.
+
+cups/gdevcups.c
+
+
+
+2019-08-23 18:09:32 +0200
+
+
Till Kamppeter <till.kamppeter@gmail.com>
+ee43ff891b51f0ccec3ba38d538d3e23441ed439
+
+
+ "cups"/"pwgraster" output device: Reduced page size comparison tolerances
+
+ Before each page gets rendered its size is compared to the page sizes
+ of the PPD file to select the actual page size for the output. Reduced
+ the tolerances from 7% for the long edge and 5% for the short edge to
+ 1%, as before easily wrong sizes got picked (See also bug 701438).
+
+cups/gdevcups.c
+
+
+
+2019-08-23 10:11:05 +0100
+
+
Chris Liddell <chris.liddell@artifex.com>
+0311b61d5df67cd98e2c2d23ef3cec1cc4faa800
+
+
+ Windows Installer: cope with COMPILE_INITS=0
+
+ We default to COMPILE_INITS=1, and that was the only case that the installer
+ handled - i.e. building the installer with COMPILE_INITS=0 would install an
+ executable that wouldn't work without extra action (-I.. or similar).
+
+ This changes the installer compiler invocation, and the installer creation
+ so it behaves as it does now with COMPILE_INITS=1, but with COMPILE_INITS=0 the
+ installer will write the path to Resource/Init into the GS_LIB registry
+ key.
+
+psi/nsisinst.nsi
+psi/winint.mak
+
+
+
+2019-08-22 23:30:34 +0200
+
+
Till Kamppeter <till.kamppeter@gmail.com>
+137a0bda39f861600488b5a11c63914854c454c8
+
+
+ "cups"/"pwgraster" output device: Produce more debug output
+
+ When building with CUPS_DEBUG now debug output for the process of
+ matching the page geometry with the PPD file's page sizes is
+ produced.
+
+cups/gdevcups.c
+
+
+
+2019-08-22 08:58:01 +0100
+
+
Chris Liddell <chris.liddell@artifex.com>
+09b53ebdc674f9f6e7a9c445e92617312dd93ab3
+
+
+ Handle explicit '\' escaping in path matching
+
+ As well as having to cope with both '/' and '\' as directory separators on
+ Windows, it turns out we also need to cope with the backslash separator being
+ explicitly escaped ("\\") - the explicit is added by the Postcript path
+ templating code in gs_init.ps.
+
+ I don't want to change templating code because that would likely have
+ implications in a lot of other places.
+
+base/gpmisc.c
+
+
+
+2019-08-22 10:51:28 +0100
+
+
Robin Watts <Robin.Watts@artifex.com>
+f1692a288f1a17930f0b71e540908398a17d5366
+
+
+ Better CMYK conversion for bmpcmp
+
+toolbin/bmpcmp.c
+toolbin/bmpcmptab.h
+
+
+
+2019-08-21 17:49:32 +0100
+
+
Robin Watts <Robin.Watts@artifex.com>
+c8aaf3b7bc4232997d434170827fffd6887fc88f
+
+
+ Update bmpcmp.c to read psdrgb rather than psdbgr.
+
+toolbin/bmpcmp.c
+
+
+
+2019-08-21 15:33:27 +0100
+
+
Chris Liddell <chris.liddell@artifex.com>
+9ba1827e220cd49a6732c04fcf3e55a268014377
+
+
+ Fix commit ec0b35fed3de: "Handle directory separators..."
+
+ The logic in the above fix was wrong.
+
+base/gpmisc.c
+
+
+
+2019-08-21 14:28:20 +0100
+
+
Robin Watts <Robin.Watts@artifex.com>
+7d0206d2b118b26f6d87ba8f09d077eba417e4c9
+
+
+ Bug 701451: Fix clist color_usage calculations for shadings.
+
+ Or rather, don't attempt to calculate them badly, and just
+ use the safe "all colors" value.
+
+base/gxclrect.c
+
+
+
+2019-08-21 10:10:51 +0100
+
+
Ken Sharp <ken.sharp@artifex.com>
+320ec9672b987a765324f89450de08b70aafbcd3
+
+
+ PDF interpreter - review .forceput security
+
+ Bug #701450 "Safer Mode Bypass by .forceput Exposure in .pdfexectoken"
+
+ By abusing the error handler it was possible to get the PDFDEBUG portion
+ of .pdfexectoken, which uses .forceput left readable.
+
+ Add an executeonly appropriately to make sure that clause isn't readable
+ no mstter what.
+
+ Review all the uses of .forceput searching for similar cases, add
+ executeonly as required to secure those. All cases in the PostScript
+ support files seem to be covered already.
+
+Resource/Init/pdf_base.ps
+Resource/Init/pdf_draw.ps
+Resource/Init/pdf_font.ps
+Resource/Init/pdf_main.ps
+Resource/Init/pdf_ops.ps
+
+
+
+2019-08-21 10:56:02 +0100
+
+
Chris Liddell <chris.liddell@artifex.com>
+e5660f15f5fd4615254acec7ed403b4a7984cb09
+
+
+ Handle directory separators in access control matching
+
+ On Windows, we end up dealing with a mishmash of "/" and "\" as directory
+ separators, so a simple equality check isn't sufficient.
+
+ Since there is already (platform specific) function for checking whether a
+ string (or part thereof) is a directory separation, use it.
+
+base/gpmisc.c
+
+
+
+2019-08-20 21:50:18 -0700
+
+
Michael Vrhel <michael.vrhel@artifex.com>
+596e9baa1b24b0a9dac4d8bad1ea80cd23dcab79
+
+
+ Disable use of alternate tint transform ICC profile
+
+ A prior commit introduced the use of color management
+ if the DeviceN or Separation device had an ICC profile
+ associated with the colorants. While there is an argument
+ for doing this, it is not the standard behavior seen in
+ AR. Disabling for now and will likely turn this into a
+ command line option.
+
+base/gxcmap.c
+
+
+
+2019-08-20 18:48:49 +0100
+
+
Robin Watts <Robin.Watts@artifex.com>
+7547a2fc593e3a0bb8ea72f661389cd908c382f7
+
+
+ Fix crashes in RAW_DUMP debug code.
+
+ Dump the buffer before freeing the device, or the pointer will no
+ longer be valid.
+
+ Also, don't access through ppatdev14 when we know it's NULL.
+
+base/gdevp14.c
+
+
+
+2019-08-20 18:47:09 +0100
+
+
Robin Watts <Robin.Watts@artifex.com>
+421727ed068b3f41fdbd9657d759397610fe8821
+
+
+ Fix deep color transparency pattern copying problem.
+
+ The following test:
+
+ tests/pdf/pattrans_solid_nonrect.pdf.psdcmyk16.300.1..gs
+
+ among others, was showing problems, due to us treating the offset
+ as bytes rather than shorts.
+
+base/gxp1fill.c
+
+
+
+2019-08-20 14:29:33 +0100
+
+
Robin Watts <Robin.Watts@artifex.com>
+f9052f1debff2168d5a2606fa35bcaaf6f6f2ec7
+
+
+ Avoid signed overflow in deep transparency calculations.
+
+base/gxblend.c
+
+
+
+2019-08-20 12:24:03 +0100
+
+
Robin Watts <Robin.Watts@artifex.com>
+898c9e5f06bb44ec3fd262b47eeaa5028e18773f
+
+
+ Fix overflow in deep color blending.
+
+ Multiplying a 16bit unsigned value with a 16 bit signed value
+ in a 32bit int means we lose the sign bit. Sacrifice a bit of
+ accuracy to avoid that.
+
+base/gxblend.c
+
+
+
+2019-08-20 10:10:28 +0100
+
+
Ken Sharp <ken.sharp@artifex.com>
+85c9d6de80ba57deeee289238aa1c0202f584c3c
+
+
+ make .forceput inaccessible
+
+ Bug #701343, #701344, #701345
+
+ More defensive programming. We don't want people to access .forecput
+ even though it is no longer sufficient to bypass SAFER. The exploit
+ in #701343 didn't work anyway because of earlier work to stop the error
+ handler being used, but nevertheless, prevent access to .forceput from
+ .setuserparams2.
+
+Resource/Init/gs_lev2.ps
+Resource/Init/gs_pdfwr.ps
+
+
+
+2019-08-19 10:03:57 +0100
+
+
Chris Liddell <chris.liddell@artifex.com>
+3ba6d871c70398cfbd15b619127bf13ddea13282
+
+
+ Handle drag'n'drop file name/paths
+
+ Because we now run by default with the file access permission active,
+ we need to do additional work for Windows drag and drop files, so they don't
+ throw an invalidaccess error (since we implement drag and drop by sending
+ characters to the gs console to do '(file) run').
+
+ The problem is, we cannot add the file to read list, send the characters to the
+ console, and remove the file from the read list because, although SendMessage()
+ blocks until the message is handles, WriteConsoleInput() does not block until
+ the console buffers are consumed (i.e. it is asynchronous). So, there is no
+ certainty when the final SendMessage() in WM_DROPFILES case is finished that
+ Ghostcript will actually have run the file.
+
+ So, we create a list of dropped file names, add them to the permit read list,
+ when the next WM_DROPFILES event happens, or a WM_DESTROY event, we drop
+ file names from the permit read list before, if necessary, adding the current
+ ones.
+
+psi/dwimg.c
+psi/dwmain.c
+psi/dwmainc.c
+psi/dwtext.c
+psi/dwtext.h
+
+
+
+2019-08-16 15:43:32 +0100
+
+
Robin Watts <Robin.Watts@artifex.com>
+d2e36e8ef01546aaee0cd0531fbc0fa932b23b99
+
+
+ Squash warnings in claptrap.
+
+ Thanks to William Bader for highlighting these.
+
+base/claptrap-planar.c
+
+
+
+2019-08-16 15:28:49 +0100
+
+
Robin Watts <Robin.Watts@artifex.com>
+e34d5606835fc587e222b80bf9cac1bc40c4790b
+
+
+ Squash warning in gdevpsd.c
+
+ Thanks to William Bader for spotting this.
+
+devices/gdevpsd.c
+
+
+
+2019-08-16 13:08:14 +0100
+
+
Robin Watts <Robin.Watts@artifex.com>
+f416b415e8e3a25446b66bf1a6253f86be0366de
+
+
+ Squash some compiler warnings.
+
+base/gslibctx.c
+base/gslibctx.h
+devices/gdevpdfimg.c
+devices/vector/gdevpdfu.c
+pcl/pl/plmain.c
+
+
+
+2019-08-15 11:39:51 +0100
+
+
Chris Liddell <chris.liddell@artifex.com>
+9ead927968ff8104e1a81df1590fced74927639d
+
+
+ Dates and versions for 9.28 RC 1
+
+base/gscdefs.h
+doc/DLL.htm
+doc/Deprecated.htm
+doc/Develop.htm
+doc/Devices.htm
+doc/Drivers.htm
+doc/Fonts.htm
+doc/History9.htm
+doc/Install.htm
+doc/Internal.htm
+doc/Language.htm
+doc/Lib.htm
+doc/Make.htm
+doc/News.htm
+doc/Ps-style.htm
+doc/Ps2epsi.htm
+doc/Psfiles.htm
+doc/Readme.htm
+doc/Release.htm
+doc/SavedPages.htm
+doc/Source.htm
+doc/Unix-lpr.htm
+doc/Use.htm
+doc/VectorDevices.htm
+doc/WhatIsGS.htm
+doc/gs-vms.hlp
+doc/sample_downscale_device.htm
+doc/subclass.htm
+doc/thirdparty.htm
+man/dvipdf.1
+man/gs.1
+man/gslp.1
+man/gsnd.1
+man/pdf2dsc.1
+man/pdf2ps.1
+man/pf2afm.1
+man/pfbtopfa.1
+man/printafm.1
+man/ps2ascii.1
+man/ps2epsi.1
+man/ps2pdf.1
+man/ps2pdfwr.1
+man/ps2ps.1
+
+
+
+2019-08-15 11:35:56 +0100
+
+
Chris Liddell <chris.liddell@artifex.com>
+ae7dea2b9bd068f61b6aef312a7f4cbc9860cac3
+
+
+ Revision date
+
+base/version.mak
+
+
+
+2019-08-15 17:06:02 +0100
+
+
Chris Liddell <chris.liddell@artifex.com>
+2f8e2423c860e89b325675dc1311819179740c76
+
+
+ Add -dNOSAFER for Windows installer cidfmap creation
+
+psi/nsisinst.nsi
+
+
+
+2019-08-15 14:36:55 +0100
+
+
Ken Sharp <ken.sharp@artifex.com>
+226fb24dbe4f844b8c7531be3eccc2bfae1a103d
+
+
+ ps2write - don't password encrypt PostScript output!
+
+ Noticed while testing the args commit; if we set -sOwnerPassword (to
+ create a password-protected PDF file), but select (e)ps2write as the
+ device, then the resulting PostScript file would have all the streams
+ (in a PDF sense) encrypted with PDF password encryption.
+
+ Unsurprisingly, this result in a completely unusable PostScript file.
+ Lets not permit that....
+
+devices/vector/gdevpdfp.c
+
+
+
+
Version 9.50 (2019-10-15)
Highlights in this release include:
@@ -7606,6 +23492,64 @@ base/version.mak
+Version 9.27 (2019-04-03)
+
IMPORTANT: It is our intention, within the next 12 months (ideally sooner,
+in time for the next release) to make SAFER the default mode of operation. For many users
+this will have no effect, since they use SAFER explicitly, but some niche uses which rely
+on SAFER being disabled may need to start explicitly adding the "-dNOSAFER" option.
+
Highlights in this release include:
+
+-
+
We have extensively cleaned up the Postscript name space: removing access to internal
+and/or undocumented Postscript operators, procedures and data. This has benefits for security
+and maintainability.
+
+-
+
We have added a new "product": "gpdl". This is a rethink/redesign of the old
+"language_switch" product (pspcl6), and includes all the interpreters we
+develop based on the Ghostscript graphics library: Postscript, PDF, PCL6, PXL and XPS.
+This is experimental, and should be considered of beta testing quality, and thus is not
+built by default: it can be built by using the "experimental" target.
+
gpdl
uses a heuristic to judge the file type being passed to it. In general,
+it supports most of the widely used command line options for each interpreter, but
+compatibility is not complete (the practicalities of swapping interpreters means it is
+unlikely that full parity of command line options will be possible).
+
+-
+
Fontmap can now reference invidual fonts in a TrueType Collection for font subsitution.
+Previously, a Fontmap entry could only reference a TrueType collection and use the default
+(first) font. Now, the Fontmap syntax allows for specifying a specific index in a TTC.
+See the comments at the top of (the default) Fontmap.GS for details.
+
+-
+
IMPORTANT: We are in the process of forking LittleCMS. LCMS2 is not thread safe, and
+cannot be made thread safe without breaking the ABI. Our fork will be thread safe, and include
+performance enhancements (these changes have all be been offered and rejected upstream). We
+will maintain compatibility between Ghostscript and LCMS2 for a time, but not in perpetuity.
+Our fork will be available as its own package separately from Ghostscript (and MuPDF).
+
+-
+
The usual round of bug fixes, compatibility changes, and incremental improvements.
+
+
+For a list of open issues, or to report problems,
+please visit bugs.ghostscript.com.
+
Incompatible changes
+
+-
+
The process of "tidying" the Postscript name space should have removed
+only non-standard and undocumented operators. Nevertheless, it is possible that
+any integrations or utilities that rely on those non-standard and undocumented
+operators may stop working, or may change behaviour.
+
If you encounter such a case, please contact us (either the #ghostscript IRC channel,
+or the gs-devel mailing list would be best), and we'll work with you to either find an
+alternative solution.
+
One case we know this has occurred is GSView 5 (and earlier). GSView 5 support for PDF
+files relied upon internal use only features which are no longer available. GSView 5 will
+still work as previously for Postscript files. For PDF files, users are encouraged to look
+at MuPDF.
+
+
Changelog
2019-04-03 09:27:46 +0100
@@ -212444,12 +228388,12 @@ implied.
This software is distributed under license and may not be copied, modified
or distributed except as expressly authorized under the terms of that
-license. Refer to licensing information at http://www.artifex.com/
+license. Refer to licensing information at https://www.artifex.com
or contact Artifex Software, Inc., 1305 Grant Avenue - Suite 200,
Novato, CA 94945, U.S.A., +1(415)492-9861, for further information.
-Ghostscript version 9.50, 15 October 2019
+Ghostscript version 9.52, 19 March 2020
diff --git a/doc/Install.htm b/doc/Install.htm
index 53017de7..759376d9 100644
--- a/doc/Install.htm
+++ b/doc/Install.htm
@@ -435,12 +435,12 @@ implied.
This software is distributed under license and may not be copied, modified
or distributed except as expressly authorized under the terms of that
-license. Refer to licensing information at http://www.artifex.com/
+license. Refer to licensing information at https://www.artifex.com
or contact Artifex Software, Inc., 1305 Grant Avenue - Suite 200,
Novato, CA 94945, U.S.A., +1(415)492-9861, for further information.
-Ghostscript version 9.50, 15 October 2019
+Ghostscript version 9.52, 19 March 2020
diff --git a/doc/Internal.htm b/doc/Internal.htm
index 1b78ddc9..ac848116 100644
--- a/doc/Internal.htm
+++ b/doc/Internal.htm
@@ -113,12 +113,12 @@ implied.
This software is distributed under license and may not be copied, modified
or distributed except as expressly authorized under the terms of that
-license. Refer to licensing information at http://www.artifex.com/
+license. Refer to licensing information at https://www.artifex.com
or contact Artifex Software, Inc., 1305 Grant Avenue - Suite 200,
Novato, CA 94945, U.S.A., +1(415)492-9861, for further information.
-Ghostscript version 9.50, 15 October 2019
+Ghostscript version 9.52, 19 March 2020
diff --git a/doc/Language.htm b/doc/Language.htm
index 0b35e236..15f39e37 100644
--- a/doc/Language.htm
+++ b/doc/Language.htm
@@ -438,8 +438,15 @@ The garbage collector doesn't reclaim portions of arrays obtained with
Graphics and text operators
-Transparency
-
+Transparency
+
NOTE: The following paragraphs describe non-standard operators
+for accessing the PDF 1.4 and later transparent imaging model through Postscript.
+If used incorrectly, they can have unexpected side effects and result in undefined
+behavior. As a result, these operators are disabled when SAFER
+is in force (as it is by default from version 9.50 onwards). To utilise these operators
+you will either have to disable SAFER
(-dNOSAFER
) or use
+the command line parameter -dALLOWPSTRANSPARENCY
. The latter will make
+the custom operators available, but leave the file access controls active.
Ghostscript provides a set of operators for implementing the transparency
and compositing facilities of PDF 1.4. These are defined only if the
@@ -456,10 +463,34 @@ Ghostscript's model generalizes that of PDF 1.4 in that Ghostscript
maintains separate alpha and mask values for opacity and shape, rather than
a single value with a Boolean that says whether it represents opacity or
shape.
+
+What follows is a subset of all the custom operators related to transparency, but
+covers the most useful, most common requirements.
+
Graphics state
operators
+Pushing the compositor device must be done before any other marking
+operations are made on the current page, and must be done per page.
+Popping the compositor should be done after the last marking operation
+of the page, and before the call to showpage
. Any marking
+operations made after the compositor is popped will bypass the transparent
+imaging model, and may produce unexpected output.
+
+
+<depth> .pushpdf14devicefilter -
+- Installs the transparency compositor device into the graphics state. At
+present the
depth
parameter should always be zero (Subject
+To Change.)
+
+
+- .popdf14devicefilter -
+- Removes (or, more accuracately, disables) the transparency compositor in
+graphics state.
+
+
+
<modename> .setblendmode -
- Sets the blending mode in the graphics state. If the mode name is not
@@ -467,24 +498,44 @@ recognized, causes a
rangecheck
error. The initial value of
the blending mode is /Compatible
.
+
+- .currentblendmode <modename>
+- Returns the graphics state blend mode on the stack.
+
+
<0..1> .setopacityalpha -
- Sets the opacity alpha value in the graphics state.
The initial opacity alpha value is 1.
+
+- .currentopacityalpha <0..1>
+- Returns the graphics state opacity alpha on the stack.
+
+
<0..1> .setshapealpha -
- Sets the shape alpha value in the graphics state.
The initial shape alpha value is 1.
+
+- .currentshapealpha <0..1>
+- Returns the graphics state shape alpha on the stack.
+
+
<bool> .settextknockout -
- Sets the text knockout flag in the graphics state.
The initial value of the text knockout flag is
true
.
+
+- .currenttextknockout <bool>
+- Returns the graphics state text knockout on the stack..
+
+
Rendering stack
operators
@@ -496,7 +547,7 @@ accumulate only a coverage value. Layers must be properly nested, i.e., the
'end' or 'discard' operator must match the corresponding 'begin' operator.
-Beginning and ending layers must nest properly with respect to
+Beginning and ending groups must nest properly with respect to
save
and restore
: save
and
restore
do not save and restore the layer stack. Currently,
layers are not required to nest with respect to gsave
and
@@ -1969,12 +2020,12 @@ implied.
This software is distributed under license and may not be copied, modified
or distributed except as expressly authorized under the terms of that
-license. Refer to licensing information at http://www.artifex.com/
+license. Refer to licensing information at https://www.artifex.com
or contact Artifex Software, Inc., 1305 Grant Avenue - Suite 200,
Novato, CA 94945, U.S.A., +1(415)492-9861, for further information.
-Ghostscript version 9.50, 15 October 2019
+Ghostscript version 9.52, 19 March 2020
diff --git a/doc/Lib.htm b/doc/Lib.htm
index 3e2c1961..924a1e6e 100644
--- a/doc/Lib.htm
+++ b/doc/Lib.htm
@@ -1042,12 +1042,12 @@ implied.
This software is distributed under license and may not be copied, modified
or distributed except as expressly authorized under the terms of that
-license. Refer to licensing information at http://www.artifex.com/
+license. Refer to licensing information at https://www.artifex.com
or contact Artifex Software, Inc., 1305 Grant Avenue - Suite 200,
Novato, CA 94945, U.S.A., +1(415)492-9861, for further information.
-Ghostscript version 9.50, 15 October 2019
+Ghostscript version 9.52, 19 March 2020
diff --git a/doc/Make.htm b/doc/Make.htm
index 0f69e0a5..e38e1438 100644
--- a/doc/Make.htm
+++ b/doc/Make.htm
@@ -922,7 +922,7 @@ to build the executable.
Microsoft Visual Studio
- Using Microsoft Visual Studio
+ Using Microsoft Visual Studio
The Ghostscript source distribution ships with project
and solution
files for Visual Studio 2005 and later. These can be found in the windows
directory.
@@ -937,6 +937,16 @@ configurations. In that case, you need to find the Nmake
tab in the
Property Pages
and modify the appropriate entry: Build Command Line
,
Rebuild All Command Line
and/or Clean Command Line
.
+As mentioned above, nmake
does not support parallel builds. If you
+have downloaded and are building the GhostPDL
source archive (which contains
+Ghostscript, GhostPCL, GhostXPS, and GhostPDL "products"), the GhostPDL.sln
+contains individual projects for each product but, as a result of the limitations of nmake
+the products cannot be built in parallel, because nmake's
lack of parallel build
+awareness means it cannot manage the dependencies shared between the products, and may fail as multiple
+builds attempt to access the same dependencies.
+
To build all the products in one action, use the All
"pseudo-project". The
+All
project uses a single nmake
invocation to build all the supported products.
+
NOTE: changing the Output
property in the Nmake
properties will not
change the name of the executable - to do that requires editing of the psi/msvc.mak
makefile, or you can add: GS=myname.exe
to the nmake
command line.
@@ -1512,12 +1522,12 @@ implied.
This software is distributed under license and may not be copied, modified
or distributed except as expressly authorized under the terms of that
-license. Refer to licensing information at http://www.artifex.com/
+license. Refer to licensing information at https://www.artifex.com
or contact Artifex Software, Inc., 1305 Grant Avenue - Suite 200,
Novato, CA 94945, U.S.A., +1(415)492-9861, for further information.
-Ghostscript version 9.50, 15 October 2019
+Ghostscript version 9.52, 19 March 2020
diff --git a/doc/News.htm b/doc/News.htm
index c18ce550..ab0fe755 100644
--- a/doc/News.htm
+++ b/doc/News.htm
@@ -95,55 +95,70 @@ overview.
-
-Version 9.50 (2019-09-30)
+Version 9.52 (2020-03-19)
Highlights in this release include:
-
-
The change to version 9.50 (rather than the intended 9.28) follows recognition
-of the extent and importance of the file access control redesign/reimplementation
-outlined below.
+
The 9.52 release replaces the 9.51 release after a problem was reported with 9.51
+which warranted the quick turnaround. Thus, like 9.51, 9.52 is primarily a maintenance
+release, consolidating the changes we introduced in 9.50.
-
-
The file access control capability (enable with -dSAFER
) has been
-completely rewritten, with a ground-up rethink of the design. For more details,
-see: SAFER.
-
It is important to note that -dSAFER
now only enables
-the file access controls, and no longer applies restrictions to standard Postscript
-functionality (specifically, restrictions on setpagedevice
. If your
-application relies on these Postscript restrictions, see OLDSAFER,
-and please get in touch, as we do plan to remove those Postscript restrictions
-unless we have reason not to.
-
IMPORTANT: File access controls are now enabled by default. In
-order to run Ghostscript without these controls, see NOSAFER
-
Important Note for Windows Users: See below under
-Incompatible Changes
+
We have continued our work on code hygiene for this release, with a focus on the
+static analysis tool Coverity (from Synopsys, Inc)
+and we have now adopted a policy of maintaining zero Coverity issues in the
+Ghostscript/GhostPDL source base.
-
-
IMPORTANT: We are in the process of forking LittleCMS. LCMS2 is not thread safe, and
-cannot be made thread safe without breaking the ABI. Our fork will be thread safe, and include
-performance enhancements (these changes have all be been offered and rejected upstream). We
-will maintain compatibility between Ghostscript and LCMS2 for a time, but not in perpetuity.
-Our fork will be available as its own package separately from Ghostscript (and MuPDF).
+
IMPORTANT: In consultation with a representative of
+(OpenPrinting) it is
+our intention to deprecate and, in the not distant future, remove the
+OpenPrinting Vector/Raster Printer Drivers (that is, the opvp
+and oprp
devices).
+
If you rely on either of these devices, please get in touch with
+us, so we can discuss your use case, and revise our plans accordingly.
-
-
The usual round of bug fixes, compatibility changes, and incremental improvements.
+
IMPORTANT: We have forked LittleCMS2 into LittleCMS2mt (the "mt" indicating "multi-thread").
+LCMS2 is not thread-safe, and cannot be made thread-safe without breaking the ABI. Our fork
+will be thread-safe and include performance enhancements (these changes have all be been
+offered and rejected upstream). We will maintain compatibility between Ghostscript and LCMS2
+for a time, but not in perpetuity. If there is sufficient interest, our fork will be
+available as its own package separately from Ghostscript (and MuPDF).
-
-
Special thanks to Akira Kakuto, Paul Wessel, William Bader, Nelson H. F. Beebe and
-everyone else who put time and effort into testing this new release.
+
The usual round of bug fixes, compatibility changes, and incremental improvements.
For a list of open issues, or to report problems,
please visit bugs.ghostscript.com.
-
Incompatible changes
+Incompatible changes
+Included below are incompatible changes from recent releases (the
+specific release in question listed in parentheses). We include these,
+for now, as we are aware that not everyone upgrades with every release.
-
-
There are a couple of subtle incompatibilities between the old and new SAFER
-implementations. Firstly, as mentioned above, SAFER now leaves standard Postcript
-functionality unchanged (except for the file access limitations). Secondly,
-the interaction with save
/restore
operations, see
-SAFER.
+
(9.52) As of 9.52, the Windows binaries released by the Ghostscript development
+team are built with Microsoft Visual Studio 2019. As a result Microsoft Windows XP and
+earlier are no longer supported by these binaries. This does not imply we are or will
+start relying upon features only available in VS2019, so the nmake
Makefiles
+will continue to allow older Visual Studio versions (back to VS2005) to build Ghostscript.
+
+-
+
(9.52) -dALLOWPSTRANSPARENCY
: The transparency compositor (and related
+features), whilst we are improving it, remains sensitive to being driven correctly, and
+incorrect use can have unexpected/undefined results. Hence, as part of improving security,
+we limited access to these operators, originally using the -dSAFER
feature.
+As we made "SAFER" the default mode, that became unacceptable, hence the new option
+-dALLOWPSTRANSPARENCY which enables
+access to the operators.
+
+-
+
(9.50) There are a couple of subtle incompatibilities between the old and new SAFER
+implementations. Firstly, as mentioned in the 9.50 release notes, SAFER now leaves
+standard Postscript functionality unchanged (except for the file access limitations).
+Secondly, the interaction with save
/restore
operations,
+see SAFER.
Important Note for Windows Users:
The file/path pattern matching is case sensitive, even on Windows. This is a
@@ -152,23 +167,21 @@ change in behaviour compared to the old code which, on Windows, was case
in that it now supports (although does not enforce) case sensitivity.
-
-
The following is not strictly speaking new to 9.50, as not much has changed since
-9.27 in this area, but for those who don't upgrade with every release:
-
The process of "tidying" the Postscript name space should have removed
+
(9.27) The process of "tidying" the Postscript name space should have removed
only non-standard and undocumented operators. Nevertheless, it is possible that
any integrations or utilities that rely on those non-standard and undocumented
operators may stop working, or may change behaviour.
If you encounter such a case, please contact us (either the #ghostscript IRC channel,
or the gs-devel mailing list would be best), and we'll work with you to either find an
-alternative solution or return the previous functionality, if there is genuinely no other
+alternative solution or return the previous functionality if there is genuinely no other
option.
One case we know this has occurred is GSView 5 (and earlier). GSView 5 support for PDF
-files relied upon internal use only features which are no longer available. GSView 5 will
+files relied upon internal use only features that are no longer available. GSView 5 will
still work as previously for Postscript files. For PDF files, users are encouraged to look
at MuPDF.
-Changelog
+Changelog
See the history file for complete log
of changes.
@@ -179,7 +192,7 @@ of changes.
-Copyright © 2005-2019 Artifex Software, Inc.
+Copyright © 2005-2020 Artifex Software, Inc.
All rights reserved.
@@ -188,12 +201,12 @@ implied.
This software is distributed under license and may not be copied, modified
or distributed except as expressly authorized under the terms of that
-license. Refer to licensing information at http://www.artifex.com/
+license. Refer to licensing information at https://www.artifex.com
or contact Artifex Software, Inc., 1305 Grant Avenue - Suite 200,
Novato, CA 94945, U.S.A., +1(415)492-9861, for further information.
-Ghostscript version 9.50, 15 October 2019
+Ghostscript version 9.52, 19 March 2020
diff --git a/doc/Ps-style.htm b/doc/Ps-style.htm
index c4e87855..29c268cc 100644
--- a/doc/Ps-style.htm
+++ b/doc/Ps-style.htm
@@ -544,12 +544,12 @@ implied.
This software is distributed under license and may not be copied, modified
or distributed except as expressly authorized under the terms of that
-license. Refer to licensing information at http://www.artifex.com/
+license. Refer to licensing information at https://www.artifex.com
or contact Artifex Software, Inc., 1305 Grant Avenue - Suite 200,
Novato, CA 94945, U.S.A., +1(415)492-9861, for further information.
-Ghostscript version 9.50, 15 October 2019
+Ghostscript version 9.52, 19 March 2020
diff --git a/doc/Ps2epsi.htm b/doc/Ps2epsi.htm
index da592547..84db926c 100644
--- a/doc/Ps2epsi.htm
+++ b/doc/Ps2epsi.htm
@@ -224,12 +224,12 @@ implied.
This software is distributed under license and may not be copied, modified
or distributed except as expressly authorized under the terms of that
-license. Refer to licensing information at http://www.artifex.com/
+license. Refer to licensing information at https://www.artifex.com
or contact Artifex Software, Inc., 1305 Grant Avenue - Suite 200,
Novato, CA 94945, U.S.A., +1(415)492-9861, for further information.
-Ghostscript version 9.50, 15 October 2019
+Ghostscript version 9.52, 19 March 2020
diff --git a/doc/Psfiles.htm b/doc/Psfiles.htm
index 0e1ffb09..bfea3bc5 100644
--- a/doc/Psfiles.htm
+++ b/doc/Psfiles.htm
@@ -889,12 +889,12 @@ implied.
This software is distributed under license and may not be copied, modified
or distributed except as expressly authorized under the terms of that
-license. Refer to licensing information at http://www.artifex.com/
+license. Refer to licensing information at https://www.artifex.com
or contact Artifex Software, Inc., 1305 Grant Avenue - Suite 200,
Novato, CA 94945, U.S.A., +1(415)492-9861, for further information.
-Ghostscript version 9.50, 15 October 2019
+Ghostscript version 9.52, 19 March 2020
diff --git a/doc/Readme.htm b/doc/Readme.htm
index 713dc838..8e259902 100644
--- a/doc/Readme.htm
+++ b/doc/Readme.htm
@@ -304,7 +304,10 @@ and its interfaces
If you are editing or adding to Ghostscript's existing documentation in
- HTML format, or writing a new document, you should read
+ HTML format, or writing a new document, you should contact us on our
+ IRC channel or the gs-devel
mailing list for guidance,
+ links to those are on: www.ghostscript.com.
+
@@ -573,12 +576,12 @@ implied.
This software is distributed under license and may not be copied, modified
or distributed except as expressly authorized under the terms of that
-license. Refer to licensing information at http://www.artifex.com/
+license. Refer to licensing information at https://www.artifex.com
or contact Artifex Software, Inc., 1305 Grant Avenue - Suite 200,
Novato, CA 94945, U.S.A., +1(415)492-9861, for further information.
-Ghostscript version 9.50, 15 October 2019
+Ghostscript version 9.52, 19 March 2020
diff --git a/doc/Release.htm b/doc/Release.htm
index 42304e5e..4c568b27 100644
--- a/doc/Release.htm
+++ b/doc/Release.htm
@@ -840,12 +840,12 @@ implied.
This software is distributed under license and may not be copied, modified
or distributed except as expressly authorized under the terms of that
-license. Refer to licensing information at http://www.artifex.com/
+license. Refer to licensing information at https://www.artifex.com
or contact Artifex Software, Inc., 1305 Grant Avenue - Suite 200,
Novato, CA 94945, U.S.A., +1(415)492-9861, for further information.
-Ghostscript version 9.50, 15 October 2019
+Ghostscript version 9.52, 19 March 2020
diff --git a/doc/SavedPages.htm b/doc/SavedPages.htm
index 517082d9..ddd80a9d 100644
--- a/doc/SavedPages.htm
+++ b/doc/SavedPages.htm
@@ -317,7 +317,7 @@ or contact Artifex Software, Inc., 1305 Grant Avenue - Suite 200,
Novato, CA 94945, U.S.A., +1(415)492-9861.
-Ghostscript version 9.50, 15 October 2019
+Ghostscript version 9.52, 19 March 2020
diff --git a/doc/Source.htm b/doc/Source.htm
index 7deaa45f..1855f907 100644
--- a/doc/Source.htm
+++ b/doc/Source.htm
@@ -460,12 +460,12 @@ implied.
This software is distributed under license and may not be copied, modified
or distributed except as expressly authorized under the terms of that
-license. Refer to licensing information at http://www.artifex.com/
+license. Refer to licensing information at https://www.artifex.com
or contact Artifex Software, Inc., 1305 Grant Avenue - Suite 200,
Novato, CA 94945, U.S.A., +1(415)492-9861, for further information.
-Ghostscript version 9.50, 15 October 2019
+Ghostscript version 9.52, 19 March 2020
diff --git a/doc/Unix-lpr.htm b/doc/Unix-lpr.htm
index 0330fc54..166eb6e3 100644
--- a/doc/Unix-lpr.htm
+++ b/doc/Unix-lpr.htm
@@ -299,12 +299,12 @@ implied.
This software is distributed under license and may not be copied, modified
or distributed except as expressly authorized under the terms of that
-license. Refer to licensing information at http://www.artifex.com/
+license. Refer to licensing information at https://www.artifex.com
or contact Artifex Software, Inc., 1305 Grant Avenue - Suite 200,
Novato, CA 94945, U.S.A., +1(415)492-9861, for further information.
-Ghostscript version 9.50, 15 October 2019
+Ghostscript version 9.52, 19 March 2020
diff --git a/doc/Use.htm b/doc/Use.htm
index 6a81c1f5..0d82ec49 100644
--- a/doc/Use.htm
+++ b/doc/Use.htm
@@ -271,11 +271,18 @@ On other systems the executable may have a different name:
VMS |
gs |
MS Windows 95 and later |
- gswin32c |
+ gswin32.exe |
+ gswin32c.exe |
+ gswin64.exe |
+ gswin64c.exe |
+
OS/2 |
gsos2 |
-
+On Windows, the two digit number indicates the word length of the system for which the binary was built (so
+gswin32.exe
is for x86 Windows systems, whilst gswin64.exe
is for x86_64 Windows
+systems). And the "c"
suffix indicates a Windows console based binary (note that the
+"display device"
window will still appear).
Selecting an output device
@@ -700,18 +707,18 @@ This option is also set by the -dFitPage
option.
-dShowAnnots=false
-
- Don't enumerate anntoations associated with the page objects through
-
Annots
attribute. Annotations are shown by default.
+ Don't enumerate annotations associated with the page
+ Annots
key. Annotations are shown by default.
In addition, finer control is available by defining an array
-/ShowAnnotTypes
. Annoation types listed in this array will
+/ShowAnnotTypes
. Annotation types listed in this array will
be drawn, whilst those not listed will not be drawn.
To use this feature:
--c "/ShowAnnotTypes [....]" -f <input file>
+-c "/ShowAnnotTypes [....] def" -f <input file>
Where the array can contain one or more of the following names:
/Stamp
, /Squiggly
, /Underline
, /Link
, /Text
, /Highlight
, /Ink
, /FreeText
, /StrikeOut
and /stamp_dict
.
For example, adding the follow to the command line:
--c "/ShowAnnotTypes [/Text /UnderLine]" -f <input file>
-
would draw only annoations with the subtypes "Text" and "UnderLine"
+-c "/ShowAnnotTypes [/Text /UnderLine] def" -f <input file>
+
would draw only annotations with the subtypes "Text" and "UnderLine"
@@ -1592,12 +1599,11 @@ possibly a specific one for each document.
Using Unicode True Type fonts
-Ghostscript can handle True Type fonts with the full Unicode character set.
-For doing that, a third-party software should generate a Postscript
-or PDF document with a text, which is encoded with the
-UTF-16 encoding. Ghostscript may be used for converting
-such Postscript documents to PDF and for
-re-distilling such PDF documents to PDF subsets.
+Ghostscript can make use of Truetype fonts with a Unicode character set.
+To do so, you should generate a (NOTE: non-standard!) Postscript or PDF
+job where the relevant text is encoded as UTF-16. Ghostscript may be used for
+converting such jobs to other formats (Postscript, PDF, PXL etc).
+The resulting output will be compliant with the spec (unlike the input).
To render an UTF-16 encoded text, one must do the following :
@@ -1611,12 +1617,12 @@ It must have a cmap
table with
and SpecificID
eqials to 1 (Unicode).
-Describe the font in lib/cidfmap
+Describe the font in Resource/Init/cidfmap
with special values for the CSI
key :
[(Artifex) (Unicode) 0]
.
-In the PS or PDF document combine the font
+In the PS or PDF job combine the font
with one of CMap Identity-UTF16-H
(for the horizontal writing mode)
or Identity-UTF16-V
@@ -1835,7 +1841,6 @@ RECORD
FORMAT stream_lf
-If the FTP transfer was in binary mode:
If the FTP transfer was in binary mode:
@@ -1861,8 +1866,8 @@ and then run Ghostscript by typing gs
at the command line.
The name of the Ghostscript command line executable on MS Windows is
-gswin32c
so use this instead of the plain 'gs
' in
-the quickstart examples.
+gswin32c
/gswin64c
so use this instead of the
+plain 'gs
' in the quickstart examples.
To run the batch files in the ghostscript lib
directory,
@@ -1884,8 +1889,8 @@ the command shell.
There is also an older version for MS Windows called just gswin32
that provides its own window for the interactive postscript prompt.
-The executable gswin32c
is usually the better option since
-it uses the native command prompt window.
+The executable gswin32c
/gswin64c
is usually the better
+option since it uses the native command prompt window.
For printer devices, the default output is the default printer.
@@ -2549,6 +2554,20 @@ incorrect) rendering of pages containing PDF 1.4 transparency and
blending.
+
+
+ -dALLOWPSTRANSPARENCY
+-
+Enables the use of the Ghostscript custom transparency operators
+(Transparency) from
+Postscript input. Normally, these operators are not accessible from Postscript
+jobs, being primarily intended to be called by the PDF interpreter. Using
+
-dALLOWPSTRANSPARENCY
leaves them available. It is important that
+these operators are used correctly, especially the order in which they are called,
+otherwise unintended, even undefined behavior may result.
+
+
+
-dNO_TN5044
- Turns off the TN 5044 psuedo operators. These psuedo operators are not a part
@@ -2561,8 +2580,10 @@ files from Corel 9 and Illustrator 88 do not operate properly if these operators
-dDOPS
-- Enables processing of DoPS directives in PDF files. DoPS has in
-fact been deprecated for some time. Use of this option is not
+
- Enables processing of Subtype /PS streams in PDF files and the DoPS operator.
+DoPS has in fact been deprecated for some time. Also the "PS" operator that was
+removed from the 1.3 2nd edition specification is also disabled by default, and
+enabled by
-dDOPS
. Use of this option is NOT
recommended in security-conscious applications, as it increases the
scope for malicious code. -dDOPS
has no effect on
processing of PostScript source files. Note: in releases 7.30 and
@@ -2746,7 +2767,10 @@ names are separated by ":
" on Unix systems, by
-sFONTPATH=
dir1;
dir2;
...
- Specifies a list of directories that will be scanned when looking for
fonts not found on the search path, overriding the environment variable
-
GS_FONTPATH
.
+ GS_FONTPATH
.
+By implication, any paths specified by FONTPATH
or GS_FONTPATH
are automatically
+added to the permit file read
list (see "-dSAFER").
+
@@ -3246,8 +3270,9 @@ to the output device profile. To achieve this, one should
-dUseFastColor=
true/false
-
-This is used to avoid the use of ICC profiles for source colors that
-are defined by DeviceGray, DeviceRGB and DeviceCMYK definitions. With
+This is used to avoid the use of ICC profiles for source colors. This
+includes those that are defined by DeviceGray, DeviceRGB and DeviceCMYK definitions
+as well as ICC-based color spaces in the source document. With
UseFastColor set to true, the traditional Postscript 255 minus operations
are used to convert between RGB and CMYK with black generation and undercolor
removal mappings.
@@ -3462,7 +3487,7 @@ Ghostscript development team) uses this interface, we have no control over third
code.
This is an entirely new implementation of SAFER
for Ghostscript versions
-9.28 and later. Earlier versions (see "-dOLDSAFER") relied on
+9.50 and later. Earlier versions (see "-dOLDSAFER") relied on
storing the file permission lists in Postscript VM (Virtual Memory), and only applied
file access permissions to the Postscript file related operators. It relied on restricting
the function of setpagedevice
to avoid the device code from being manipulated
@@ -3479,7 +3504,7 @@ access controls are enabled (see .ac
any call to .addcontrolpath
after .activatepathcontrol
will result in a
Fatal
error causing the interpreter to immediately exit.
-An incompatibility exists between the pre-9.28 and 9.28 and later SAFER
.
+An incompatibility exists between the pre-9.50 and 9.50 and later SAFER
.
By removing storage and application entirely from the Postscript language
environment and internal context, SAFER is no longer affected by Postscript
save
/restore
operations. Previously, it was possible
@@ -3494,7 +3519,7 @@ to do the equivalent of:
In that sequence, the Postscript ops
would run with SAFER
protection
but after the restore, SAFER
would no longer be in force. This is no longer the case.
After the call to .setsafe
the file controls are in force until the
-interpreter exits. As the 9.28 and later implementation no longer restricts the
+interpreter exits. As the 9.50 and later implementation no longer restricts the
operation of setpagedevice
, and because this capability is extremely
rarely used, we feel the improvement in security warrants the small reduction in
flexibility.
@@ -3571,8 +3596,8 @@ are automatically added to the permit read lists.
-
NOTE: This enables deprecated code which will shortly be removed
Used in combination with -dSAFER
(or .setsafe
) enables
-the pre-9.28 SAFER implementation. It is included (for now) in case any users find
-a case where the 9.28 and later SAFER
does not work for them. It means
+the pre-9.50 SAFER implementation. It is included (for now) in case any users find
+a case where the 9.50 and later SAFER
does not work for them. It means
such users can keep working until we have assessed the issue, and distributed a solution.
Disables the deletefile
and renamefile
@@ -5242,12 +5267,12 @@ implied.
This software is distributed under license and may not be copied, modified
or distributed except as expressly authorized under the terms of that
-license. Refer to licensing information at http://www.artifex.com/
+license. Refer to licensing information at https://www.artifex.com
or contact Artifex Software, Inc., 1305 Grant Avenue - Suite 200,
Novato, CA 94945, U.S.A., +1(415)492-9861, for further information.
-Ghostscript version 9.50, 15 October 2019
+Ghostscript version 9.52, 19 March 2020
diff --git a/doc/VectorDevices.htm b/doc/VectorDevices.htm
index 6bd61d34..1acc9ff1 100644
--- a/doc/VectorDevices.htm
+++ b/doc/VectorDevices.htm
@@ -771,6 +771,20 @@ to the old behaviour, or find that the new behaviour leads to problems, you can
inserted into the page content stream, instead of preserved as annotations.
+ In addition, finer control is available by defining an array
+/PreserveAnnotTypes
. Annotation types listed in this array will
+be preserved, whilst those not listed will be drawn according to the setting os ShowAnnots and ShowAnnotTypes.
+By using the controls PreserveAnnots, PreserveAnnotTypes, ShowAnnots and ShowAnnotTypes it is possible to select
+by annotation type whether annotations are preserved as annotations, drawn into the page, or simply dropped.
+
+ To use this feature:
+-c "/PreserveAnnotTypes [....] def" -f <input file>
+
Where the array can contain one or more of the following names:
+/Stamp
, /Squiggly
, /Underline
, /Link
, /Text
, /Highlight
, /Ink
, /FreeText
, /StrikeOut
and /stamp_dict
.
+ For example, adding the follow to the command line:
+-c "/PreserveAnnotTypes [/Text /UnderLine] def" -f <input file>
+
would preserve only annotations with the subtypes "Text" and "UnderLine"
+
The following options are useful for creating PDF 1.2 files:
@@ -1391,12 +1405,12 @@ implied.
This software is distributed under license and may not be copied, modified
or distributed except as expressly authorized under the terms of that
-license. Refer to licensing information at http://www.artifex.com/
+license. Refer to licensing information at https://www.artifex.com
or contact Artifex Software, Inc., 1305 Grant Avenue - Suite 200,
Novato, CA 94945, U.S.A., +1(415)492-9861, for further information.
-Ghostscript version 9.50, 15 October 2019
+Ghostscript version 9.52, 19 March 2020
diff --git a/doc/WhatIsGS.htm b/doc/WhatIsGS.htm
index d6739ab9..15835a50 100644
--- a/doc/WhatIsGS.htm
+++ b/doc/WhatIsGS.htm
@@ -184,12 +184,12 @@ implied.
This software is distributed under license and may not be copied, modified
or distributed except as expressly authorized under the terms of that
-license. Refer to licensing information at http://www.artifex.com/
+license. Refer to licensing information at https://www.artifex.com
or contact Artifex Software, Inc., 1305 Grant Avenue - Suite 200,
Novato, CA 94945, U.S.A., +1(415)492-9861, for further information.
-Ghostscript version 9.50, 15 October 2019
+Ghostscript version 9.52, 19 March 2020
diff --git a/doc/gs-vms.hlp b/doc/gs-vms.hlp
index f6264ad5..1fb39953 100644
--- a/doc/gs-vms.hlp
+++ b/doc/gs-vms.hlp
@@ -1,6 +1,6 @@
1 gs
gs - GPL Ghostscript interpreter/previewer
-! Ghostscript version 9.50, 15 October 2019
+! Ghostscript version 9.52, 19 March 2020
Usage:
$ gs [options] [file ...]
diff --git a/doc/sample_downscale_device.htm b/doc/sample_downscale_device.htm
index bb84b80f..8834c3d2 100644
--- a/doc/sample_downscale_device.htm
+++ b/doc/sample_downscale_device.htm
@@ -258,12 +258,12 @@ implied.
This software is distributed under license and may not be copied, modified
or distributed except as expressly authorized under the terms of that
-license. Refer to licensing information at http://www.artifex.com/
+license. Refer to licensing information at https://www.artifex.com
or contact Artifex Software, Inc., 1305 Grant Avenue - Suite 200,
Novato, CA 94945, U.S.A., +1(415)492-9861, for further information.
-Ghostscript version 9.50, 15 October 2019
+Ghostscript version 9.52, 19 March 2020
diff --git a/doc/subclass.htm b/doc/subclass.htm
index d6b41d5d..14b84309 100644
--- a/doc/subclass.htm
+++ b/doc/subclass.htm
@@ -812,7 +812,7 @@ or contact Artifex Software, Inc., 1305 Grant Avenue - Suite 200,
Novato, CA 94945, U.S.A., +1(415)492-9861.
-Ghostscript version 9.50, 15 October 2019
+Ghostscript version 9.52, 19 March 2020
diff --git a/doc/thirdparty.htm b/doc/thirdparty.htm
index bb87b340..bc2538e3 100644
--- a/doc/thirdparty.htm
+++ b/doc/thirdparty.htm
@@ -95,7 +95,7 @@ the relevant license, and the "upstream" URL.
eXpat |
-2.2.5 |
+2.2.9 |
XML parsing for XPS interpreter |
MIT/eXpat License |
http://expat.sourceforge.net/ |
@@ -103,7 +103,7 @@ the relevant license, and the "upstream" URL.
FreeType |
-2.9.1 |
+2.10.1 |
Font scaling and rendering for Ghostscript |
FreeType License
(BSD-style license with a credit clause) |
@@ -112,7 +112,7 @@ the relevant license, and the "upstream" URL.
jbig2dec |
-0.16 |
+0.17 |
JBIG2 decoding for the PDF interpreter |
Licensed with Ghostscript/GhostPDL
(copyright owned by Artifex) |
@@ -140,7 +140,7 @@ the relevant license, and the "upstream" URL.
libpng |
-1.6.34 |
+1.6.37 |
PNG image encoding/decoding. |
libpng license
classified as "a permissive free software license" |
@@ -149,7 +149,7 @@ the relevant license, and the "upstream" URL.
OpenJPEG |
-2.3.0 |
+2.3.1 |
JPEG2000 image decoding for the PDF interpreter |
BSD-style |
http://www.openjpeg.org/ |
@@ -157,7 +157,7 @@ the relevant license, and the "upstream" URL.
libtiff |
-4.0.9 |
+4.1.0 |
TIFF image encoding/decoding |
BSD-style |
http://www.remotesensing.org/libtiff/ |
@@ -221,21 +221,6 @@ the relevant license, and the "upstream" URL.
http://www.luratech.com/ |
-
-
- The following are deprecated but still available for use – support will be removed in a future release.
|
-
-
-
-JasPer |
-1.701.0
-(with patches, hence v1.701.0-gs5) |
-JPEG2000 image decoding for the PDF interpreter |
-JasPer License Version 2.0
-based on MIT License |
-http://www.ece.uvic.ca/~frodo/jasper/ |
-
-
LittleCMS
(lcms2) |
@@ -254,7 +239,7 @@ the relevant license, and the "upstream" URL.
-Copyright © 2005-2019 Artifex Software, Inc.
+Copyright © 2005-2020 Artifex Software, Inc.
All rights reserved.
@@ -263,12 +248,12 @@ implied.
This software is distributed under license and may not be copied, modified
or distributed except as expressly authorized under the terms of that
-license. Refer to licensing information at http://www.artifex.com/
+license. Refer to licensing information at https://www.artifex.com
or contact Artifex Software, Inc., 1305 Grant Avenue - Suite 200,
Novato, CA 94945, U.S.A., +1(415)492-9861, for further information.
-Ghostscript version 9.50, 15 October 2019
+Ghostscript version 9.52, 19 March 2020
diff --git a/examples/transparency_example.ps b/examples/transparency_example.ps
index 82ffadab..81200497 100644
--- a/examples/transparency_example.ps
+++ b/examples/transparency_example.ps
@@ -3,7 +3,7 @@
/PageUsesTransparency true def
-systemdict /.pushpdf14devicefilter known not
+systemdict /.setalphaisshape known not
{
(\n\n%%%% WARNING: Transparency operations ignored - probably due to using -dSAFER\n\n) print flush
/.pushpdf14devicefilter {pop} bind def
diff --git a/freetype/CMakeLists.txt b/freetype/CMakeLists.txt
index ad8ded0b..e3ffb83b 100644
--- a/freetype/CMakeLists.txt
+++ b/freetype/CMakeLists.txt
@@ -1,6 +1,6 @@
# CMakeLists.txt
#
-# Copyright 2013-2018 by
+# Copyright (C) 2013-2019 by
# David Turner, Robert Wilhelm, and Werner Lemberg.
#
# Written originally by John Cary
@@ -35,6 +35,10 @@
#
# cmake -E chdir build cmake -G Xcode -D IOS_PLATFORM=SIMULATOR ..
#
+# or
+#
+# cmake -E chdir build cmake -G Xcode -D IOS_PLATFORM=SIMULATOR64 ..
+#
# Finally, build the project with:
#
# cmake --build build
@@ -96,9 +100,10 @@ include(CheckIncludeFile)
if (APPLE)
if (DEFINED IOS_PLATFORM)
if (NOT "${IOS_PLATFORM}" STREQUAL "OS"
- AND NOT "${IOS_PLATFORM}" STREQUAL "SIMULATOR")
+ AND NOT "${IOS_PLATFORM}" STREQUAL "SIMULATOR"
+ AND NOT "${IOS_PLATFORM}" STREQUAL "SIMULATOR64")
message(FATAL_ERROR
- "IOS_PLATFORM must be set to either OS or SIMULATOR")
+ "IOS_PLATFORM must be set to either OS, SIMULATOR, or SIMULATOR64")
endif ()
if (NOT "${CMAKE_GENERATOR}" STREQUAL "Xcode")
message(AUTHOR_WARNING
@@ -129,7 +134,7 @@ endif ()
project(freetype C)
set(VERSION_MAJOR "2")
-set(VERSION_MINOR "9")
+set(VERSION_MINOR "10")
set(VERSION_PATCH "1")
# SOVERSION scheme: CURRENT.AGE.REVISION
@@ -153,7 +158,7 @@ option(FT_WITH_HARFBUZZ "Improve auto-hinting of OpenType fonts." OFF)
# Disallow in-source builds
-if ("${PROJECT_BINARY_DIR}" STREQUAL "${PROJECT_SOURCE_DIR}")
+if ("${CMAKE_BINARY_DIR}" STREQUAL "${CMAKE_SOURCE_DIR}")
message(FATAL_ERROR
"In-source builds are not permitted! Make a separate folder for"
" building, e.g.,\n"
@@ -229,8 +234,19 @@ if (UNIX)
endif ()
string(REPLACE "/undef " "#undef "
FTCONFIG_H "${FTCONFIG_H}")
- file(WRITE "${PROJECT_BINARY_DIR}/include/freetype/config/ftconfig.h"
- "${FTCONFIG_H}")
+else ()
+ file(READ "${PROJECT_SOURCE_DIR}/include/freetype/config/ftconfig.h"
+ FTCONFIG_H)
+endif ()
+
+set(FTCONFIG_H_NAME "${PROJECT_BINARY_DIR}/include/freetype/config/ftconfig.h")
+if (EXISTS "${FTCONFIG_H_NAME}")
+ file(READ "${FTCONFIG_H_NAME}" ORIGINAL_FTCONFIG_H)
+else ()
+ set(ORIGINAL_FTCONFIG_H "")
+endif ()
+if (NOT (ORIGINAL_FTCONFIG_H STREQUAL FTCONFIG_H))
+ file(WRITE "${FTCONFIG_H_NAME}" "${FTCONFIG_H}")
endif ()
@@ -257,8 +273,16 @@ if (HARFBUZZ_FOUND)
"/\\* +(#define +FT_CONFIG_OPTION_USE_HARFBUZZ) +\\*/" "\\1"
FTOPTION_H "${FTOPTION_H}")
endif ()
-file(WRITE "${PROJECT_BINARY_DIR}/include/freetype/config/ftoption.h"
- "${FTOPTION_H}")
+
+set(FTOPTION_H_NAME "${PROJECT_BINARY_DIR}/include/freetype/config/ftoption.h")
+if (EXISTS "${FTOPTION_H_NAME}")
+ file(READ "${FTOPTION_H_NAME}" ORIGINAL_FTOPTION_H)
+else ()
+ set(ORIGINAL_FTOPTION_H "")
+endif ()
+if (NOT (ORIGINAL_FTOPTION_H STREQUAL FTOPTION_H))
+ file(WRITE "${FTOPTION_H_NAME}" "${FTOPTION_H}")
+endif ()
file(GLOB PUBLIC_HEADERS "include/ft2build.h" "include/freetype/*.h")
@@ -325,7 +349,7 @@ endif ()
if (NOT DISABLE_FORCE_DEBUG_POSTFIX)
set(CMAKE_DEBUG_POSTFIX d)
-endif()
+endif ()
add_library(freetype
@@ -345,6 +369,10 @@ target_compile_definitions(
if (WIN32)
target_compile_definitions(
freetype PRIVATE _CRT_SECURE_NO_WARNINGS _CRT_NONSTDC_NO_WARNINGS)
+ if (BUILD_SHARED_LIBS)
+ target_compile_definitions(
+ freetype PRIVATE DLL_EXPORT)
+ endif ()
endif ()
if (BUILD_SHARED_LIBS)
@@ -353,17 +381,17 @@ if (BUILD_SHARED_LIBS)
SOVERSION ${LIBRARY_SOVERSION})
endif ()
-target_include_directories(
- freetype BEFORE # Pick up ftconfig.h and ftoption.h generated above.
- PRIVATE "${PROJECT_BINARY_DIR}/include")
-
+# Pick up ftconfig.h and ftoption.h generated above, first.
target_include_directories(
freetype
- PRIVATE "${PROJECT_SOURCE_DIR}/include")
+ PUBLIC
+ $
+ $
+ $
+ PRIVATE
+ ${CMAKE_CURRENT_BINARY_DIR}/include
+ ${CMAKE_CURRENT_SOURCE_DIR}/include)
-target_include_directories(
- freetype
- PUBLIC $)
if (BUILD_FRAMEWORK)
set_property(SOURCE ${PUBLIC_CONFIG_HEADERS}
@@ -444,7 +472,15 @@ if (NOT SKIP_INSTALL_LIBRARIES AND NOT SKIP_INSTALL_ALL)
string(REPLACE "%LIBS_PRIVATE%" "" # All libs support pkg-config
FREETYPE2_PC_IN ${FREETYPE2_PC_IN})
- file(WRITE ${PROJECT_BINARY_DIR}/freetype2.pc ${FREETYPE2_PC_IN})
+ set(FREETYPE2_PC_IN_NAME "${PROJECT_BINARY_DIR}/freetype2.pc")
+ if (EXISTS "${FREETYPE2_PC_IN_NAME}")
+ file(READ "${FREETYPE2_PC_IN_NAME}" ORIGINAL_FREETYPE2_PC_IN)
+ else ()
+ set(ORIGINAL_FREETYPE2_PC_IN "")
+ endif ()
+ if (NOT (ORIGINAL_FREETYPE2_PC_IN STREQUAL FREETYPE2_PC_IN))
+ file(WRITE "${FREETYPE2_PC_IN_NAME}" ${FREETYPE2_PC_IN})
+ endif ()
install(
FILES ${PROJECT_BINARY_DIR}/freetype2.pc
@@ -457,6 +493,7 @@ if (NOT SKIP_INSTALL_LIBRARIES AND NOT SKIP_INSTALL_ALL)
EXPORT freetype-targets
LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
+ RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
FRAMEWORK DESTINATION Library/Frameworks
COMPONENT libraries)
install(
@@ -480,9 +517,9 @@ set(CPACK_PACKAGE_VERSION "${CPACK_PACKAGE_VERSION_MAJOR}.${CPACK_PACKAGE_VERSIO
if (WIN32)
set(CPACK_GENERATOR ZIP)
-else()
+else ()
set(CPACK_GENERATOR TGZ)
-endif()
+endif ()
set(CPACK_COMPONENT_LIBRARIES_DISPLAY_NAME "Libraries")
set(CPACK_COMPONENT_HEADERS_DISPLAY_NAME "C/C++ Headers")
diff --git a/freetype/ChangeLog b/freetype/ChangeLog
index 806b8354..6450a60b 100644
--- a/freetype/ChangeLog
+++ b/freetype/ChangeLog
@@ -1,18 +1,14 @@
-2018-05-01 Werner Lemberg
+2019-07-01 Werner Lemberg
- * Version 2.9.1 released.
- =========================
+ * Version 2.10.1 released.
+ ==========================
- Tag sources with `VER-2-9-1'.
+ Tag sources with `VER-2-10-1'.
- * docs/VERSION.TXT: Add entry for version 2.9.1.
- * docs/CHANGES: Updated.
+ * docs/VERSION.TXT: Add entry for version 2.10.1.
- * README, Jamfile (RefDoc), builds/windows/vc2005/freetype.vcproj,
- src/base/ftver.rc, builds/windows/vc2005/index.html,
- builds/windows/vc2008/freetype.vcproj,
- builds/windows/vc2008/index.html,
+ * README, Jamfile (RefDoc), src/base/ftver.rc,
builds/windows/vc2010/freetype.vcxproj,
builds/windows/vc2010/index.html,
builds/windows/visualc/freetype.dsp,
@@ -24,521 +20,572 @@
builds/wince/vc2005-ce/freetype.vcproj,
builds/wince/vc2005-ce/index.html,
builds/wince/vc2008-ce/freetype.vcproj,
- builds/wince/vc2008-ce/index.html: s/2.9/2.9.1/, s/29/291/.
+ builds/wince/vc2008-ce/index.html: s/2.10.0/2.10.1/, s/2100/2101/.
* include/freetype/freetype.h (FREETYPE_PATCH): Set to 1.
- * builds/unix/configure.raw (version_info): Set to 22:1:16.
+ * builds/unix/configure.raw (version_info): Set to 23:1:17.
* CMakeLists.txt (VERSION_PATCH): Set to 1.
- * include/freetype/ftgasp.h: Use FT_BEGIN_HEADER and FT_END_HEADER.
+ * include/freetype/fterrors.h (FT_Error_String): Fix C++ compilation.
-2018-04-26 Werner Lemberg
+2019-06-26 Alexei Podtelezhnikov
- Another fix for handling invalid format 2 cmaps.
+ * src/bdf/bdfdrivr.c (bdf_cmap_char_{index,next}): Fix inequality.
- Sigh.
+ Reported by Armin Hasitzka.
- Reported as
+2019-06-16 Werner Lemberg
- https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=8003
+ * src/tools/apinames.c: Formatting, minor edits.
- * src/sfnt/ttcmap.c (tt_cmap2_char_next): Adjust condition to avoid
- an endless loop.
+2019-06-16 Werner Lemberg
-2018-04-24 Ben Wagner
+ [autofit] Disable hinting if no blue zones are available (#56450).
- [base] Avoid undefined behaviour in lcd filtering code (#53727).
+ * src/autofit/afglobal.c (af_face_global_get_metrics): Start again
+ (with dummy hinter module) if no blue zones are present.
- * src/base/ftlcdfil.c (ft_lcd_filter_fir, _ft_lcd_filter_legacy):
- Ensure `height > 0'.
+ * src/autofit/aflatin.c (af_latin_metrics_init_blues): Change
+ signature to return error code.
+ If no blue zones are found, update `glyph_styles' array to hold
+ AF_STYLE_NONE_DFLT instead of the current style.
+ (af_latin_metrics_init): Return internal error code if no blue zones
+ are found.
-2018-04-22 Werner Lemberg
+2019-06-16 Werner Lemberg
- * src/base/ftoutln.c (FT_Outline_Decompose): Improve error tracing.
+ Towards better VMS support.
-2018-04-22 Alexei Podtelezhnikov
+ More to come.
- [base] Fix bitmap emboldening.
+ * builds/vms/LIBS.OPT_IA64, builds/vms/_LINK.OPT_IA64,
+ builds/vms/vmslib.dat: New files provided by Jouk Jansen
+ .
- Bug introduced after release 2.8.
+ * builds/vms/ftconfig.h: Update, also from Jouk.
- * src/base/ftbitmap.c (ft_bitmap_assure_buffer): We use
- `FT_QALLOC_MULT', which doesn't zero out the buffer. Adjust the
- bitmap copying code to take care of this fact.
+2019-06-13 Werner Lemberg
-2018-04-22 Werner Lemberg
+ * src/autofit/aflatin.c (af_latin_metrics_init_widths): Minor.
- Another fix for handling invalid format 2 cmaps.
+2019-06-13 Alexei Podtelezhnikov
- The previous commit was incomplete.
+ [smooth] Restore the span buffering for direct mode only.
- Reported as
+ The buffer size FT_MAX_GRAY_SPANS is set to 10 spans, which should be
+ enough to cover the entire scanline for simple glyphs in most cases:
+ each slightly slanted edge needs up to two spans, plus a filling span
+ in-between. This is not new, we used to do it before cb4388783cecc.
- https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=7928
+ * src/smooth/ftgrays.c (gray_TWorker): Add `spans' and `num_spans'.
+ (gray_hline, gray_sweep): Implement the span buffering.
+ (gray_raster_render): Use negative `num_spans' to avoid the direct
+ mode.
- * src/sfnt/ttcmap.c (tt_cmap2_char_next): Adjust condition to avoid
- an endless loop.
+2019-06-12 Alexei Podtelezhnikov
-2018-04-19 Werner Lemberg
- * src/autofit/afblue.dat: Add blue zone data for Mtavruli.
- * src/autofit/afblue.c, src/autofit/afblue.h: Regenerated.
+ * src/truetype/ttobjs.c (tt_check_trickyness_family): Add `const'.
- * src/autofit/afscript.h: Add Mtavruli standard character.
+2019-06-11 Moazin Khatti
-2018-04-18 Werner Lemberg
+ [gzip] Add support for `gzip' encoded header.
- Fix handling of invalid format 2 cmaps.
+ * src/gzip/ftgzip.c (FT_Gzip_Uncompress): Modify the the call to
+ `inflateInit2' to enable support for `gzip' encoded headers.
- The problem was introduced after the last release.
+2019-06-10 Alexei Podtelezhnikov
- Reported as
+ [type1,type42] Use `const' for string literals.
- https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=7828
+ * include/freetype/internal/psaux.h (PS_Table_FuncsRec): Updated.
+ * include/freetype/internal/t1types.h (T1_EncodingRec): Updated.
+ * src/psaux/psobjs.[ch] (ps_table_add): Updated.
+ * src/type1/t1load.c (T1_Open_Face, parse_encoding): Updated.
+ * src/type42/t42objs.c (T42_Open_Face): Updated.
+ * src/type42/t42parse.c (t42_parse_encoding): Updated.
- * src/sfnt/ttcmap.c (tt_cmap2_char_next): Avoid endless loop.
+ * src/cff/cffobjs.c (cff_face_init): Minor.
-2018-04-17 Werner Lemberg
+2019-06-10 Alexei Podtelezhnikov
- [truetype] Integer overflow issues.
+ [bdf,pcf] Use `const' for string literals.
- Reported as
+ * src/bdf/bdf.h (bdf_property_t): Updated `name'.
+ * src/bdf/bdflib.c (_bdf_list_split,bdf_create_property,
+ _bdf_add_property,_bdf_ato*): Updated.
+ * src/bdf/bdfdrivr.c (bdf_interpret_style): Updated.
+ * src/pcf/pcfread.c (pcf_intrpret_style): Ditto.
- https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=7739
+2019-06-07 Philip Race
- * src/truetype/ttinterp.c (Ins_CEILING): Use FT_PIX_CEIL_LONG.
+ * src/base/ftinit.c (FT_Set_Default_Properties): Fix crash.
-2018-04-16 Werner Lemberg
+ Terminate loop at end of environment.
- [truetype] Integer overflow issues.
+2019-05-31 Alexei Podtelezhnikov
- Reported as
+ Solidify VC2005 builds.
- https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=7718
+ * include/freetype/internal/ftcalc.h (FT_MSB) [_MSC_VER]: Explicitly
+ declare `_BitScanReverse' intrinsic.
+ * builds/windows/visualc/freetype.vcproj [Debug]: Disable intrinsics.
- * src/truetype/ttinterp.c (Ins_MIRP): Use ADD_LONG.
+2019-05-30 Nikhil Ramakrishnan
-2018-04-15 Alexei Podtelezhnikov
+ [sfnt] Separate WOFF sources and headers.
- [build] Use `info' function of make 3.81.
+ Move WOFF sources and headers to separate files.
- * configure, docs/INSTALL, docs/INSTALL.CROSS, docs/INSTALL.GNU,
- docs/INSTALL.UNIX, docs/MAKEPP: Bump make version requirements.
+ * include/freetype/internal/wofftypes.h, src/sfnt/sfwoff.c,
+ src/sfnt/sfwoff.h: New files.
- * builds/detect.mk (std_setup): Replace `echo' with `info'.
- (dos_setup): Removed.
- * builds/unix/install.mk, builds/modules.mk, builds/dos/detect.mk,
- builds/windows/detect.mk, builds/os2/detect.mk: Updated.
- * builds/newline: No longer needed.
+ * include/freetype/internal/fttrace.h: Register `sfwoff.c'.
-2018-04-15 Werner Lemberg
+ * include/freetype/internal/internal.h: Define
+ FT_INTERNAL_WOFF_TYPES_H.
- [truetype]: Limit `SLOOP' bytecode argument to 16 bits.
+ * include/freetype/internal/sfnt.h: Include FT_INTERNAL_WOFF_TYPES_H.
- This fixes
+ * include/freetype/internal/tttypes.h: Move out WOFF structures.
- https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=7707
+ * src/sfnt/rules.mk: Add `sfwoff.c'.
- * src/truetype/ttinterp.c (Ins_SLOOP): Do it.
+ * src/sfnt/sfnt.c: Include `sfwoff.c'.
-2018-04-14 Werner Lemberg
+ * src/sfnt/sfobjs.c: Include `sfwoff.h', move out WOFF sources.
- [truetype] Integer overflow issues.
+2019-05-30 Werner Lemberg
- Reported as
+ [base] Fix `make multi'.
- https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=7652
+ Reported by Nikhil.
- * src/truetype/ttinterp.c (Ins_MDAP): Use SUB_LONG.
+ * src/base/fterrors.c: Include FT_INTERNAL_DEBUG_H.
-2018-04-14 Werner Lemberg
+2019-05-29 Ben Wagner
- [autofit] Update to Unicode 11.0.0.
+ [truetype] Fix copy-and-paste error (#56409).
- But no support new scripts (volunteers welcomed).
+ * src/truetype/ttgload.c (load_truetype_glyph): Use correct indices
+ into `unrounded' array for phantom points.
- * src/autofit/afranges.c (af_arab_nonbase_uniranges,
- af_beng_nonbase_uniranges, af_cakm_nonbase_uniranges,
- af_deva_nonbase_uniranges, af_geor_uniranges,
- af_gujr_nonbase_uniranges, af_mlym_nonbase_uniranges,
- af_nkoo_nonbase_uniranges, af_telu_nonbase_uniranges,
- af_hani_uniranges): Add new data.
+2019-05-29 Werner Lemberg
-2018-04-10 Nikolaus Waxweiler
+ [truetype] Fix 32bit builds (#56404).
- * CMakeLists.txt, builds/cmake/FindHarfBuzz.cmake: Extensive
- modernization measures.
+ Patch suggested by Ben Wagner .
- This brings up the minimum required CMake version to 2.8.12.
+ * src/truetype/ttgxvar.c (FT_fixedToInt, FT_fixedToFdot6): Remove
+ harmful cast to unsigned type.
- The installation paths follow the GNU defaults now, e.g. installing on a
- 64 bit host will place binaries into the lib64/ folder on e.g. Fedora.
+2019-05-26 Ben Wagner
- Symbols are hidden by default (e.g. `-fvisibility=hidden' on GCC).
+ * src/truetype/ttgload.c (TT_Process_Simple_Glyph): Improve accuracy.
- CMake will no longer look for a C++ compiler.
+2019-05-23 Werner Lemberg
- Library and .so version now match the Autotools build.
+ [truetype] Draw glyphs without deltas in variation font (#56374).
- Comments in the build file and informational messages now use platform
- agnostic example commands.
+ * src/truetype/ttgxvar.c (TT_Vary_Apply_Glyph_Deltas): Always fill
+ `unrounded' array.
- ftoption.h and ftconfig.h are written directly without a redundant `-new'
- copy.
+2019-05-21 Werner Lemberg
- External dependencies are expressed as option()s and will turn up as such
- in cmake-gui.
+ * src/truetype/ttinterp.c (opcode_name): Improve mnemonics.
- Internal: Properties such as dependencies and include directories are now
- privately set on the freetype library instead of globally.
+2019-05-16 Werner Lemberg
- The CPack definitions have been cleaned up, the `make dist' has been
- removed. Source packages generated with CPack don't contain Autotools
- files and aren't used by the maintainters anyway.
+ [truetype] Actually scale varied CVT values.
- On Windows, src/base/ftver.rc is compiled to decorate the library with
- version and copyright information.
+ Up to now, only the unscaled CVT values were varied; in other words,
+ the `CVAR' data was never used for bytecode hinting.
- A pkg-config file is now generated and installed.
+ * src/truetype/ttgxvar.c (tt_cvt_ready_iterator): New auxiliary
+ function.
+ (tt_face_vary_cvt): Use it to trigger rescaling of CVT values.
-2018-04-09 Werner Lemberg
+2019-05-16 Werner Lemberg
- [truetype] Integer overflow issues.
+ [truetype] Use 26.6 format for storing unscaled CVT values.
- Reported as
+ If `CVAR' data is applied to variation fonts, fractional values are
+ possible.
- https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=7453
+ * include/freetype/internal/tttypes.h (TT_FaceRec): Change type of
+ `cvt' from `FT_Short' to `FT_Int32'.
- * src/truetype/ttinterp.c (Round_Super, Round_Super_45): Use
- ADD_LONG and SUB_LONG.
+ * src/truetype/ttgxvar.c (FT_fdot6ToFixed): New macro.
+ (tt_face_vary_cvt): Use it to update code to 26.6 format.
-2018-04-06 Alexei Podtelezhnikov
+ * src/truetype/ttobjs.c (tt_size_run_prep): Update code to 26.6
+ format.
- [windows, wince] Clean up legacy project files.
+ * src/truetype/ttpload.c (tt_face_load_cvt): Stora data in 26.6
+ format.
- * builds/wince/vc2005-ce/freetype.vcproj,
- builds/wince/vc2008-ce/freetype.vcproj,
- builds/windows/vc2005/freetype.vcproj,
- builds/windows/vc2008/freetype.vcproj,
- builds/windows/visualce/freetype.vcproj,
- builds/windows/visualce/freetype.dsp,
- builds/windows/visualc/freetype.vcproj,
- builds/windows/visualc/freetype.dsp: Remove per-file compile flags.
+2019-05-16 Werner Lemberg
-2018-04-04 Werner Lemberg
+ * src/truetype/ttgload.c (load_truetype_glyph): Init `unrounded'.
- [cff, type1] Sanitize `BlueFuzz' and `BlueShift'.
+ This fixes linear advance width values for spacing glyphs. Bug
+ introduced 2019-05-09.
- Reported as
+2019-05-16 Werner Lemberg
- https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=7371
+ [truetype] Avoid code duplication.
- * src/cff/cffload.c (cff_load_private_dict): Sanitize
- `priv->blue_shift' and `priv->blue_fuzz' to avoid overflows later
- on.
+ * src/truetype/ttobjs.c (tt_size_run_prep): Scale CVT values in this
+ function.
+ (tt_size_ready_bytecode): Updated.
+ * src/truetype/ttgload.c (tt_loader_init): Updated.
- * src/type1/t1load.c (T1_Open_Face): Ditto.
+2019-05-13 Jouk Jansen
-2018-04-04 Ben Wagner
+ * vms_make.com: Updated. Handle `bzip2' directory, too.
- * src/truetype/ttobjs.c (trick_names): Add 3 tricky fonts (#53554),
- `DFHei-Md-HK-BF', `DFKaiShu-Md-HK-BF' and `DFMing-Bd-HK-BF'.
- (tt_check_trickyness_sfnt_ids): Add checksums for 3 tricky fonts
- in above.
+2019-05-13 Werner Lemberg
-2018-04-01 Werner Lemberg
+ * src/psaux/psfont.c (cf2_font_setup): Fix compiler warning.
- * builds/toplevel.mk (work): Use $(SEP).
+2019-05-12 Werner Lemberg
- This fixes the `make refdoc' using Cygwin: $(CAT) is `type' on this
- platform, and this program only understands backslashes in paths.
+ [truetype] Doh. Fix last commit to make it work.
- Reported by Nikhil Ramakrishnan .
+ Very embarassing :-)
-2018-03-30 Werner Lemberg
+ Reported as
- [truetype] Fix memory leak (only if tracing is on).
+ https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=14701
+ https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=14705
+ https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=14710
- * src/truetype/ttgxvar.c (TT_Get_MM_Var) [FT_DEBUG_LEVEL_TRACE}: Fix
- it.
+ * src/truetype/ttgload.c (IS_DEFAULT_INSTANCE): Move up and add
+ argument; update all callers.
+ (TT_Process_Simple_Glyph): Use it. The `unrounded' array is active
+ for variation fonts only, thus also enclose related code with
+ `#ifdef TT_CONFIG_OPTION_GX_VAR_SUPPORT ... #endif' where
+ necessary.
+ Revert commit a113e5d from 2019-05-09, and don't use `extra_points2'
+ but allocate a temporary array.
+ Speed up the scaling of the `unrounded' array.
-2018-03-23 Ben Wagner
+ * src/truetype/ttgxvar.c (FT_fixedToInt, FT_FixedToFdot6): Fix type
+ conversions and rounding. The unsigned type must have more or equal
+ bits to the signed type.
- [sfnt] Correctly handle missing bitmaps in sbix format (#53404).
+2019-05-09 Werner Lemberg
- * src/sfnt/ttfsbit.c (tt_face_load_sbix_image): Fix return value.
+ [truetype] Increase precision of font variation (#54371).
-2018-03-23 Ben Wagner
+ This patch makes FreeType use font units in 26.6 format internally
+ instead of integers.
- [truetype] Fix advance of empty glyphs in bitmap fonts (#53393).
+ * src/truetype/ttgxvar.c (FT_fixedToFdot6): New macro.
+ (TT_Vary_Apply_Glyph_Deltas): Add argument to output unrounded font
+ coordinates.
+ * src/truetype/ttgxvar.h: Updated.
- * src/truetype/ttgload.c (TT_Load_Glyph): Apply scaling to metrics
- for empty bitmaps.
+ * src/truetype/ttgload.c (TT_Process_Simple_Glyph): Use
+ `extra_points2' array to temporarily hold unrounded point
+ coordinates; use them to compute scaled coordinates and linear
+ advance width and height.
+ (load_truetype_code): Adjust similarly.
-2018-03-22 Werner Lemberg
+2019-05-09 Werner Lemberg
- Remove `ftlcdfil.c' and `ftfntfmt.c' from build files (#53415).
+ * src/truetype/ttgload.c (TT_Process_Simple_Glyph): Minor.
- builds/amiga/makefile, builds/amiga/makefile.os4,
- builds/amiga/smakefile, builds/mac/FreeType.m68k_cfm.make.txt,
- builds/mac/FreeType.m68k_far.make.txt,
- builds/mac/FreeType.ppc_carbon.make.txt,
- builds/mac/FreeType.ppc_classic.make.txt,
- builds/symbian/freetype.mmp, builds/wince/vc2005-ce/freetype.vcproj,
- builds/wince/vc2008-ce/freetype.vcproj,
- builds/windows/vc2005/freetype.vcproj,
- builds/windows/vc2008/freetype.vcproj,
- builds/windows/vc2010/freetype.vcxproj,
- builds/windows/vc2010/freetype.vcxproj.filters,
- builds/windows/visualc/freetype.dsp,
- builds/windows/visualc/freetype.vcproj,
- builds/windows/visualce/freetype.dsp,
- builds/windows/visualce/freetype.vcproj, vms_make.com: Do it.
+2019-05-08 Alexei Podtelezhnikov
-2018-03-13 Werner Lemberg
+ [smooth] Faster fractions.
- * src/sfnt/ttcmap.c (tt_cmap2_validate): Fix potential numeric
- overflow.
+ * src/smooth/ftgrays.c (SUBPIXELS): Replace with...
+ (FRACT): A fractional coordinate macro to use in...
+ (gray_render_line, gray_render_scanline): ... here.
-2018-03-13 Werner Lemberg
+2019-05-07 Alexei Podtelezhnikov
- Fix cmap format 2 handling (#53320).
+ * src/raster/ftraster.c (Draw_Sweep): Unbreak.
- The patch introduced for #52646 was not correct.
+2019-05-05 Alexei Podtelezhnikov
- * src/sfnt/ttcmap.c (tt_cmap2_char_next): Adjust condition.
+ * src/raster/ftraster.c: Clean-ups.
-2018-03-10 Nikolaus Waxweiler
+2019-05-05 Werner Lemberg
- * CMakeLists.txt (BASE_SRCS): Update to changes from 2018-03-05.
+ * src/truetype/ttgxvar.c: More use of `FT_fdot14ToFixed'.
-2018-03-09 Chun-wei Fan
+2019-05-04 Alexei Podtelezhnikov
- * CMakeLists.txt [win32]: Allow MSVC DLL builds (#53287).
+ * src/smooth/ftgrays.c (gray_render_line): Small shortcut.
- Do not limit DLL builds to MinGW, since we already have
- `__declspec(dllexport)' directives in `ftconfig.h'.
- Also suppress more warnings for POSIX functions.
+2019-05-04 Werner Lemberg
-2018-03-08 Hugh McMaster
+ Various clang 8.0 static analyzer fixes.
- Make installation of `freetype-config' optional (#53093).
+ Reported by Sender Ghost .
- * builds/unix/configure.raw: Add option `--enable-freetype-config'
- and set `INSTALL_FT2_CONFIG'.
- * builds/unix/unix-def.in (INSTALL_FT2_CONFIG): Define.
- * builds/unix/install.mk (install): Handle it.
+ * src/autofit/afcjk.c (af_cjk_hints_compute_edges): Catch a corner
+ case where `edge->first' could be NULL.
-2018-03-05 Werner Lemberg
+ * src/pfr/pfrobjs.c (pfr_slot_load): Remove unnecessary test of
+ `size'.
- Make `ftlcdfil.c' part of the `base' module.
+ * src/raster/ftraster.c (Draw_Sweep): Catch a corner case where
+ `draw_right' might be NULL.
- `ftobjs.c' needs `ft_lcd_padding'.
+ * src/sfnt/ttmtx.c (tt_face_get_metrics): Fix limit test for
+ `aadvance'.
+ Ensure `abearing' always hold a meaningful result.
- Problem reported by duhuanpeng <548708880@qq.com>.
+ * src/truetype/ttgload.c (load_truetype_glyph): Ensure `subglyph' is
+ not NULL before accessing it.
+ * src/truetype/ttgxvar.c (TT_Set_Named_Instance): Remove unnecessary
+ test of `namedstyle'.
- * modules.cfg (BASE_EXTENSIONS): Don't include `ftlcdfil.c'.
+ * src/type42/t42parse.c (t42_parser_done): Ensure
+ `parser->root.funcs.done' is not NULL before accessing it.
- * src/base/ftbase.c: Include `ftlcdfil.c'.
- * src/base/rules.mk (BASE_SRC): Add `ftlcdfil.c'.
- * src/base/Jamfile (_sources): Adjusted.
+2019-05-03 Alexei Podtelezhnikov
- * docs/INSTALL.ANY: Updated.
+ Miscellaneous macro updates.
-2018-03-05 Werner Lemberg
+ * src/base/ftoutln.c (SCALED): Updated.
+ * src/smooth/ftgrays.c (SCALED): Ditto.
+ (FLOOR, ROUND, CEILING): Removed.
+ * src/psaux/psfixed.h (cf2_fracToFixed): Updated.
- Make `ftfntfmt.c' part of the `base' module.
+2019-05-02 Alexei Podtelezhnikov
- `ftobjs.c' needs `FT_Get_Font_Format'.
+ Tweak LCD filtering.
- Problem reported by duhuanpeng <548708880@qq.com>.
+ * src/base/ftlcdfil.c (ft_lcd_filter_fir, _ft_lcd_filter_legacy):
+ Choose direction from bitmap's pixel_mode.
+ * include/freetype/internal/ftobjs.c (FT_Bitmap_LcdFilterFunc):
+ Updated.
+ * src/smooth/ftsmooth.c (ft_smooth_render_generic): Updated.
- * modules.cfg (BASE_EXTENSIONS): Don't include `ftfntfmt.c'.
+2019-05-02 Werner Lemberg
- * src/base/ftbase.c: Include `ftfntfmt.c'.
- * src/base/rules.mk (BASE_SRC): Add `ftfntfmt.c'.
- * src/base/Jamfile (_sources): Adjusted.
+ * vms_make.com: Updated (#56253).
- * docs/INSTALL.ANY: Updated.
+ Remove no longer existing directories (`autohint', `otlayout').
+ Update used base extensions.
+ Activate `autofit' module.
+ Add `gxvalid' module.
+ Update copyright notices.
-2018-03-01 Werner Lemberg
+2019-04-29 Alexei Podtelezhnikov
- * src/truetype/ttinterp.c (TT_RunIns): Fix tracing arguments.
+ [smooth] Simplify cubic Bézier flattening.
-2018-02-23 Werner Lemberg
+ The previous implementation is correct but it is too complex.
+ The revised algorithm is based on the fact that each split moves
+ the control points closer to the trisection points on the chord.
+ The corresponding distances are good surrogates for the curve
+ deviation from the straight line.
- * builds/unix/configure.raw: Need HarfBuzz 1.3.0 or newer.
+ This cubic flattening algorithm is somewhat similar to the conic
+ algorithm based the distance from the control point to the middle of
+ the chord. The cubic distances, however, decrease less predictably
+ but are easy enough to calculate on each step.
- Problem reported by Alan Coopersmith .
+ The new algorithm produces slightly larger number of splits, which is
+ compensated by its simplicity. The overall rendering performance is
+ improved by 1-2%. The larger number of splits does not necessarily
+ result in higher quality, which stays comparable.
-2018-02-17 Werner Lemberg
+ * src/smooth/ftgrays.c (gray_render_cubic): Replace the split
+ condition.
- [sfnt] Prefer `CBDT'/`CBLC' over `glyf' table (#53154).
+2019-04-26 Alexei Podtelezhnikov
-2018-02-06 Werner Lemberg
+ [smooth] Bithacks and cosmetics.
- [truetype] Integer overflow issues.
+ * src/smooth/ftgrays.c (gray_record_cell, gray_set_cell, gray_hline,
+ gray_render_conic, gray_convert_glyph_inner): Updated.
- Reported as
+2019-04-25 Alexei Podtelezhnikov
- https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=6027
+ Optimize Bézier bisections.
- * src/truetype/ttinterp.c (Ins_MSIRP, Ins_MIAP, Ins_MIRP): Use
- SUB_LONG; avoid FT_ABS.
+ This change makes bisections faster by 20-30%. When inlined into
+ `gray_render_cubic', this makes the function faster by 10% and is
+ noticeable in the overall rendering performance.
-2018-02-04 Alexei Podtelezhnikov
+ * src/raster/ftraster.c (Split_Conic, Split_Cubic): Use shifts and
+ refactor.
+ * src/smooth/ftgrays.c (gray_split_conic, gray_split_cubic): Ditto.
+ * src/base/ftstroke.c (ft_conic_split, ft_cubic_split): Ditto.
+ * src/base/ftbbox.c (cubic_peak): Use shifts.
- [unix] Use -fvisibility=hidden.
+2019-04-23 Werner Lemberg
- It is now widely recommended that ELF shared libraries hide symbols
- except those with explicit __attribute__((visibility("default"))).
- This is supported by all major compilers and should rather be an
- option in libtool.
+ * src/sfnt/ttcmap.c (tt_cmap12_next): Remove dead code.
- * builds/unix/configure.raw: Add -fvisibility=hidden to CFLAGS.
- * builds/unix/ftconfig.in, builds/vms/ftconfig.h,
- include/freetype/config/ftconfig.h (FT_EXPORT): Use visibility
- attribute.
+ Found by clang 8.0's static analyzer and reported by Sender Ghost
+ .
-2018-01-27 Werner Lemberg
+2019-04-23 Werner Lemberg
- [truetype] Better protection against invalid VF data.
+ [base] Fix thinko in previous commit.
- Reported as
+ * src/base/ftbitmap.c (FT_Bitmap_Blend): Check final width, not
+ target pitch.
- https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=5739
+ Problem reported by Sender Ghost .
- Bug introduced in commit 08cd62deedefe217f2ea50e392923ce8b5bc7ac7.
+2019-04-22 Werner Lemberg
- * src/truetype/ttgxvar.c (TT_Set_Var_Design): Always initialize
- `normalizedcoords'.
+ * src/base/ftbitmap.c (FT_Bitmap_Blend): Check target pitch.
-2018-01-27 Werner Lemberg
+ Problem reported by Sender Ghost .
- * src/truetype/ttinterp.c (Ins_GETVARIATION): Avoid NULL reference.
+2019-04-22 Werner Lemberg
- Reported as
+ Fix return value of `FT_Set_Named_Instance' (#56186).
- https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=5736
+ * src/truetype/ttgxvar.c (TT_Set_Named_Instance): Correctly handle
+ internal return value -1 of `TT_Set_Var_Design'.
-2018-01-27 Werner Lemberg
+2019-04-18 Werner Lemberg
- * src/truetype/ttgxvar.c (tt_set_mm_blend): Minor.
+ [pcf] Fix handling of undefined glyph (#56067).
-2018-01-27 Werner Lemberg
+ This commit fixes the changes from 2018-07-21, which broke charmap
+ iteration. We now add the default character as a new glyph with
+ index 0, thus increasing the number of glyphs by one (as before).
- [truetype] Better trace VF instances.
+ * src/pcf/pcfread.c (pcf_get_metrics): Adjust to new artificial
+ glyph with index 0.
+ Limit number of elements to 65534.
+ (pcf_get_bitmaps): Ditto.
+ Unify two loops into one; this avoids allocation of an intermediate
+ array.
+ (pcf_get_encodings): Don't flip indices but copy glyph metrics of
+ default character to index 0.
+ Also handle invalid default character.
- * src/truetype/ttgxvar.c (ft_var_to_normalized): Don't emit number
- of coordinates.
- (TT_Get_MM_Var): Trace instance indices names.
- (TT_Set_Var_Design): Updated.
+ * docs/CHANGES: Updated.
-2018-01-27 Werner Lemberg
+2019-04-15 Minmin Gong
- [truetype] Beautify tracing of VF axis records.
+ * CMakeLists.txt: Avoid rewriting of unchanged configuration files.
- * src/truetype/ttgxvar.c (TT_Get_MM_Var): Show axis records in a
- table-like manner.
+ Reported as
-2018-01-26 Ben Wagner
+ https://savannah.nongnu.org/patch/index.php?9755
- [truetype] Fix multiple calls of `FT_Get_MM_Var' (#52955).
+2019-04-15 JDG
- * src/truetype/ttgxvar.c (TT_Get_MM_Var): Set
- `face->blend->num_axis' in case we have to initialize the
- `face->blend'.
+ * src/tools/apinames.c (main): Fix error message.
-2018-01-23 Alexei Podtelezhnikov
+ Reported as
- [apinames] Anonymous version map for GNU linker.
+ https://savannah.nongnu.org/patch/?9796
- * src/tools/apinames.c (PROGRAM_VERSION): Set to 0.3.
- (OutputFormat): Add `OUTPUT_GNU_VERMAP'.
- (names_dump): Handle it.
- (usage): Updated.
- (main): Handle new command line flag `-wL'.
+2019-04-11 Alexei Podtelezhnikov
-2018-01-21 Alexei Podtelezhnikov
+ [smooth] Fix segfault in direct mode (#56092).
- [unix] Call libtool to clean up.
+ * src/base/ftoutln.c (FT_Outline_Render): Set missing clip_box for
+ direct mode.
+ * src/smooth/ftgrays.c (gray_raster_render): Use it.
- * builds/unix/install.mk (clean_project_unix, distclean_project_unix):
- Use libtool.
- * builds/freetype.mk: Minor.
+2019-04-06 Werner Lemberg
-2018-01-18 Alexei Podtelezhnikov
+ * src/sfnt/ttcmap.c (tt_get_glyph_name): Pacify compiler (#56061).
- * src/base/ftver.rc: Fix mingw-w64 compilation.
+ This is for Visual Studio 2019 on ARM.
-2018-01-18 Alexei Podtelezhnikov
+2019-04-06 Werner Lemberg
- [build] Enable VERSIONINFO resource for Cygwin/MinGW.
+ For distribution, replace `.tar.bz2' with `.tar.xz' bundles.
- * builds/unix/configure.raw: Check for resource compiler.
- * builds/unix/unix-cc.in: Conditionally set up resource compiler.
- * builds/freetype.mk: Add conditional rule for `ftver.rc'.
- * src/base/ftver.rc: Copyright notice and year update.
+ * builds/toplevel.mk (build): Do it.
-2018-01-18 Alexei Podtelezhnikov
+ * README, docs/CHANGES, docs/release: Updated.
- [build] Move VERSIONINFO resource.
+2019-04-06 Antony Lee
- * builds/windows/vc2010/freetype.vcxproj: Updated.
- * builds/windows/ftver.rc: Move file from here...
- * src/base/ftver.rc: ... to here.
+ Make `glyph_name' parameter to `FT_Get_Name_Index' a `const'.
-2018-01-12 Alexei Podtelezhnikov
+ * include/freetype/freetype.h (FT_Get_Name_Index),
+ include/freetype/internal/ftobjs.h (FT_Face_GetGlyphNameIndexFunc),
+ include/freetype/internal/services/svgldict.h
+ (FT_GlyphDict_NameIndexFunc), src/base/ftobjs.c (FT_Get_Name_Index),
+ src/cff/cffdrivr.c (cff_get_name_index), src/sfnt/sfdriver.c
+ (sfnt_get_name_index), src/type1/t1driver.c (t1_get_name_index),
+ src/type42/t42drivr.c (t42_get_name_index): Add `const' to second
+ argument.
- [build] Expand dllexport/dllimport to Cygwin/MinGW.
+2019-03-31 Armin Hasitzka
- * include/freetype/config/ftconfig.h: Respect DLL_EXPORT,
- s/_MSC_VER/_WIN32/.
- * builds/unix/ftconfig.in: Replicate here.
- * builds/vms/ftconfig.h: Replicate here.
+ [cff] Fix boundary checks.
-2018-01-12 Alexei Podtelezhnikov
+ 642bc7590c701c8cd35a9f60fa899cfa518b17ff introduced dynamically
+ allocated memory when parsing CFF files with the "old" engine. Bounds
+ checks have never been updated, however, leading to pointless
+ comparisons of pointers in some cases. This commit presents a
+ solution for bounds checks in the CFF module with an extended logic
+ for the "old" engine while staying as concise as possible for the
+ "new" one.
- [build] Improve and document MSVC build.
+ * src/cff/cffparse.h: Introduce the struct `CFF_T2_StringRec' and
+ the additional field `t2_strings' within `CFF_ParserRec'.
- * include/freetype/config/ftconfig.h: Guard dllexport/dllimport
- attributes with _DLL and FT2_DLLIMPORT.
- * builds/windows/vc2010/index.html: Update documentation.
+ * src/cff/cffparse.c (cff_parser_within_limits): Move all boundary
+ checks into this new function and update the rest of `cffparse.c' to
+ use it.
-2018-01-10 Steve Robinson
+ Reported as
- * CMakeLists.txt [win32]: Suppress warnings for POSIX functions.
+ https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=12137
-2018-01-10 Ewald Hew
+2019-03-20 Werner Lemberg
- [psaux] Correctly handle Flex features (#52846).
+ [autofit] Fix Mongolian blue zone characters.
- * src/psaux/psintrp.c (cf2_interpT2CharString) : Do not move if doing Flex.
+ * src/autofit/afblue.dat: Use U+200D (ZERO-WIDTH JOINER) characters
+ to get medial forms for some Mongolian characters.
+ * src/autofit/afblue.c, src/autofit/afblue.h: Regenerated.
-2018-01-09 Alexei Podtelezhnikov
+2019-03-19 Werner Lemberg
- * builds/windows/vc2010/freetype.sln: Synchronize with the project.
+ [autofit] Add support for Mongolian script.
-2018-01-08 Werner Lemberg
+ As a de-facto standard, layouts using this script are constructed
+ horizontally line by line, then the lines are rotated clockwise for
+ vertical display.
- * Version 2.9 released.
- =======================
+ * src/autofit/afblue.dat: Add blue zone data for Mongolian.
+ * src/autofit/afblue.c, src/autofit/afblue.h: Regenerated.
+ * src/autofit/afscript.h: Add Mongolian standard characters.
- Tag sources with `VER-2-9'.
+ * src/autofit/afranges.c, src/autofit/afstyles.h: Add Mongolian
+ data.
- * docs/VERSION.TXT: Add entry for version 2.9.
+2019-03-15 Werner Lemberg
- * README, Jamfile (RefDoc), builds/windows/vc2005/freetype.vcproj,
- builds/windows/vc2005/index.html,
- builds/windows/vc2008/freetype.vcproj,
- builds/windows/vc2008/index.html,
+ * Version 2.10.0 released.
+ ==========================
+
+
+ Tag sources with `VER-2-10-0'.
+
+ * docs/VERSION.TXT: Add entry for version 2.10.0.
+ * docs/CHANGES: Updated.
+
+ * README, Jamfile (RefDoc), src/base/ftver.rc,
builds/windows/vc2010/freetype.vcxproj,
builds/windows/vc2010/index.html,
builds/windows/visualc/freetype.dsp,
@@ -547,1796 +594,2517 @@
builds/windows/visualce/freetype.dsp,
builds/windows/visualce/freetype.vcproj,
builds/windows/visualce/index.html,
- builds/windows/ftver.rc,
builds/wince/vc2005-ce/freetype.vcproj,
builds/wince/vc2005-ce/index.html,
builds/wince/vc2008-ce/freetype.vcproj,
- builds/wince/vc2008-ce/index.html: s/2.8.1/2.9/, s/281/29/.
+ builds/wince/vc2008-ce/index.html: s/2.9.1/2.10.0/, s/291/2100/.
- * include/freetype/freetype.h (FREETYPE_MINOR): Set to 9.
+ * include/freetype/freetype.h (FREETYPE_MINOR): Set to 10.
(FREETYPE_PATCH): Set to 0.
- * builds/unix/configure.raw (version_info): Set to 22:0:16.
- * CMakeLists.txt (VERSION_PATCH): Set to 0.
+ * builds/unix/configure.raw (version_info): Set to 23:0:17.
+ * CMakeLists.txt (VERSION_MINOR): Set to 10.
+ (VERSION_PATCH): Set to 0.
-2018-01-07 Werner Lemberg
+ * builds/toplevel.mk (version, winversion): Since the minor version
+ number has two digits now, never omit the patch number. We would
+ get ambiguous zip file names otherwise.
+ (dist): Remove remnants of `docmaker' tool.
+ (do-dist): Remove unused intermediate files.
- Add check for librt, needed for `ftbench' (#52824).
+ * src/cff/cffparse.c (destrict_c2s_item): Guard function with
+ CFF_CONFIG_OPTION_OLD_ENGINE macro.
- * builds/unix/configure.raw (LIB_CLOCK_GETTIME): Define; this will
- hold `-lrt' if necessary.
+2019-03-07 Andrei Alexeyev <0x416b617269@gmail.com>
+ Werner Lemberg
- * builds/unix/unix-cc.in (LIB_CLOCK_GETTIME): New variable.
+ Fix invalid function pointer casts.
-2018-01-07 Ewald Hew
+ This change should allow Freetype to work on WASM/Emscripten without
+ needing `-s EMULATE_FUNCTION_POINTER_CASTS=1'.
- [psaux] Fix Type 1 glyphs with too many stem hints.
+ * src/autofit/afdummy.c (af_dummy_hints_apply): Fix signature.
- According to the CFF specification, charstrings can have up to 96 stem
- hints. Due to hint replacement routines in Type 1 charstrings, some
- glyphs are rejected by the Adobe engine, which implements the above
- limit. This fix turns off hinting for such glyphs.
+ * src/cid/cidload.c (cid_parse_font_matrix, parse_fd_array,
+ parse_expansion_factor, parse_font_name): Return `void', not
+ `FT_Error'.
- * src/psaux/pshints.c (cf2_hintmap_build): Reset the error from calling
- `cf2_hintmask_setAll' on a problematic Type 1 charstring and turn off
- hinting.
+ * include/freetype/internal/ftobjs.h (FT_CMap_CharVarIsDefaultFunc):
+ Fix signature.
-2018-01-06 Werner Lemberg
+2019-03-05 Werner Lemberg
- Add `FT_Done_MM_Var'.
+ [base] Handle numeric overflow (#55827).
- This is necessary in case the application's memory routines differ
- from FreeType. A typical example is a Python application on Windows
- that calls FreeType compiled as a DLL via the `ctypes' interface.
+ * src/base/ftglyph.c (FT_Glyph_Get_CBox): Use `FT_PIX_CEIL_LONG'.
- * include/freetype/ftmm.h, src/base/ftmm.c (FT_Done_MM_Var): Declare
- and define.
+2019-03-05 Sebastian Rasmussen
- * docs/CHANGES: Updated.
+ [psaux] Fix use of uninitialized memory (#55832).
-2018-01-03 Werner Lemberg
+ * src/psaux/psintrp.c (cf2_interpT2CharString): The call to
+ `cf2_arrstack_setCount' may fail because the allocator ran out of
+ memory. When this happens the stack is still written to before the
+ error condition is checked. This means that FreeType writes outside
+ of allocated memory. This commit moves the error check prior to the
+ stack assignment, hence the function now properly returns with an
+ error condition.
- [truetype] Round offsets of glyph components only if hinting is on.
+2019-02-23 Werner Lemberg
- * src/truetype/ttgload.c (TT_Process_Composite_Component): Implement
- it.
+ * src/base/ftbitmap.c (FT_Bitmap_Blend): No fractional offsets.
-2018-01-03 Werner Lemberg
+ The function only provided a framework without an actual
+ implementation, which this commit removes.
- * src/truetype/ttgxvar.c (ft_var_to_design): Remove dead code.
+2019-02-23 Werner Lemberg
- This is a better fix than the previous commit, which is now
- reverted.
+ * src/tools/update-copyright-year: Insert `(C)'.
-2018-01-03 Alexei Podtelezhnikov
+2019-02-21 Armin Hasitzka
- Move internal LCD-related declarations.
+ [truetype] Mask numeric overflows.
- * include/freetype/ftlcdfil.h (ft_lcd_padding, ft_lcd_filter_fir):
- Move from here...
- * include/freetype/internal/ftobjs.h: ... to here.
+ * src/truetype/ttinterp.c (Move_CVT, Move_CVT_Stretched, Ins_MIRP):
+ Mask numeric overflows.
-2018-01-03 Alexei Podtelezhnikov
+ Reported as
- * include/freetype/config/ftconfig.h (FT_EXPORT, FT_EXPORT_DEF)
- [_MSC_VER]: Limit Visual C++ attributes.
+ https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=11681
+ https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=11734
-2018-01-03 Werner Lemberg
+2019-02-21 Armin Hasitzka
- [truetype] Make blend/design coordinate round-tripping work.
+ [psaux] Mask numeric overflow.
- Behdad reported that setting blend coordinates, then getting design
- coordinates did incorrectly return the default instance's
- coordinates.
+ * src/psaux/cffdecode.c (cff_decoder_parse_charstrings): Mask numeric
+ overflow.
- * src/truetype/ttgxvar.c (tt_set_mm_blend): Fix it.
+ Reported as
-2017-12-31 Werner Lemberg
+ https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=13041
- * src/sfnt/ttcmap.c (tt_cmap2_char_next): Fix endless loop.
+2019-02-16 Wink Saville
- Reported as
+ * src/autofit/afwarp.h (af_warper_compute): Fix declaration.
- https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=4838
+2019-02-02 Nikolaus Waxweiler
-2017-12-31 Werner Lemberg
+ [truetype] Apply MVAR hasc, hdsc and hlgp metrics to current FT_Face metrics.
- Synchronize other Windows project files.
+ Instead of setting typo or win metrics as the new `FT_Face' metrics
+ indiscriminately, apply only typo deltas to the currently active
+ `FT_Face' metrics. This prevents line height differences when the
+ default outlines were used as the regular face and instances for
+ everything else, for example.
- * builds/windows/*: Add missing files.
+ * src/truetype/ttgxvar.c (tt_apply_mvar): Implement.
-2017-12-31 Werner Lemberg
+2019-02-02 Nikolaus Waxweiler
- Update Visual C 2010 project files.
+ [sfnt] Use typo metrics if OS/2 fsSelection USE_TYPO_METRICS bit is set.
- Problem reported by Hin-Tak.
+ If the `OS/2' table exists and `fsSelection' bit 7
+ (USE_TYPO_METRICS) is set, use the `sTypo*' set of values to compute
+ the `FT_Face's ascender, descender, and height. Otherwise, fall
+ back to old behavior.
- * builds/windows/vc2010/freetype.vcxproj: Add files `ftbdf.c' and
- `ftcid.c'.
- Sort entries.
- * builds/windows/vc2010/freetype.vcxproj.filter: Ditto.
- Fix members of `FT_MODULE' group.
+ * src/sfnt/sfobjs.c (sfnt_load_face): Implement.
-2017-12-30 Werner Lemberg
+2019-01-18 John Tytgat
- * builds/vms/ftconfig.h: Synchronize with unix `ftconfig.in' file.
+ [sfnt] Handle TT fonts having two PostScript font names (#55471).
-2017-12-28 Werner Lemberg
+ * src/sfnt/sfdriver.c (sfnt_get_name_id): Prefer English over any
+ other language found for PostScript font names.
- * builds/unix/ftconfig.in: Synchronize with main `ftconfig.h' file.
+2019-01-08 Chris Liddell
- Reported by Nikolaus.
+ [psaux] Fix closepath (#55414).
-2017-12-27 Werner Lemberg
+ All of the Type 1 path building is done with code common to the
+ revised CFF engine, with the exception of closepath, which was still
+ calling ps_builder_close_contour(), thus previously cached segments
+ were not always written to the path, and glyph corruption, or even
+ invalid outlines were possible.
- Fix compiler warnings.
+ * src/psauc/psinterp.c (cf2_interpT2CharString) :
+ Switch to calling `cf2_glyphpath_closeOpenPath'.
- * src/base/ftbitmap.c (ft_bitmap_assure_buffer): Make `pitch' and
- `new_pitch' unsigned.
+2018-12-29 Werner Lemberg
- * src/base/ftpsprop.c: Include FT_INTERNAL_POSTSCRIPT_PROPS_H.
+ * src/autofit/aflatin2.c: Some fixes from `aflatin.c' (#55310).
-2017-12-27 Werner Lemberg
+2018-12-25 Werner Lemberg
- Fixes for `make multi'.
+ * src/psaux/cffdecode.c (cff_operaor_seac): Fix numeric overflow.
- * include/freetype/internal/ftpsprop.h: Use `FT_BASE_CALLBACK'.
- (ps_property_get): Harmonize declaration with corresponding
- function typedef.
+ Reported as
- * include/freety[e/internal/fttrace.h: Add `trace_psprops'.
+ https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=11915
- * src/base/ftpsprop.c: Include necessary header files.
- (FT_COMPONENT): Define.
- (ps_property_set): Tag with `FT_BASE_CALLBACK_DEF'.
- (ps_property_get): Tag with `FT_BASE_CALLBACK_DEF'.
- Harmonize declaration with corresponding function typedef.
+2018-12-12 Werner Lemberg
-2017-12-27 Werner Lemberg
+ [gxvalid] Fix compiler warnings.
- Provide support for intra-module callback functions.
+ * src/gxvalid/gxvjust.c (gxv_just_check_max_gid),
+ src/gxvalid/gxvmort.c (gxv_mort_coverage_validate): Use `FT_UNUSED'.
- This is needed especially for `make multi' with C++.
+2018-12-11 Werner Lemberg
- * include/freetype/config/ftconfig.h (FT_BASE_CALLBACK,
- FT_BASE_CALLBACK_DEF): New macros.
+ * src/truetype/ttgload.c (TT_Hint_Glyph): Remove useless test.
-2017-12-25 Ewald Hew
+ `control_len' only gets its value from `n_ins' (and vice versa),
+ which is always read as `unsigned short' and thus can't be larger
+ than 0xFFFF.
- Move PostScript drivers' property handlers to `base'.
+2018-12-04 Werner Lemberg
- This reduces the amount of duplicated code across PostScript
- drivers.
+ [bdf] Ignore data after `ENDFONT'.
- * src/cff/cffdrivr.c, src/cid/cidriver.c, src/type1/t1driver.c
- ({cff,cid,t1}_property_{get,set}): Moved to...
- * include/freetype/internal/ftpsprop.h: ...this new file.
- (ps_property_{get,set}): New functions to replace moved ones.
+ Reported as
- * src/base/ftpsprop.c: New file that implements above functions.
+ https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=10798
- * include/freetype/internal/internal.h
- (FT_INTERNAL_POSTSCRIPT_PROPS_H): New macro.
+ * src/bdf/bdflib.c (_bdf_parse_end): New function.
+ (_bdf_parse_glyphs): Switch to `_bdf_parse_end' after `ENDFONT' has
+ been encountered.
- * src/cff/cffdrivr.c, src/cid/cidriver.c, src/type1/t1driver.c:
- Updated.
+2018-12-02 Alexei Podtelezhnikov
- * src/base/Jamfile, src/base/rules.mk (BASE_SRC), src/base/ftbase.c:
- Updated.
+ * builds/windows/visualc/freetype.dsp: Dust off.
-2017-12-20 Werner Lemberg
+2018-11-27 Alexei Podtelezhnikov
- Speed up FT_Set_Var_{Design,Blend}_Coordinates if curr == new.
+ * builds/windows/vc2010/freetype.vcxproj: Simplify.
- We exit early if the current design or blend coordinates are
- identical to the new ones.
+2018-11-27 Chris Liddell
- * src/truetype/ttgxvar.c (tt_set_mm_blend, TT_Set_Var_Design):
- Implement it, returning internal error code -1 if there will be no
- variation change.
+ [type1,cff] Add FT_{Set,Get}_MM_WeightVector API calls.
- * src/type1/t1load.c (t1_set_mm_blend): Ditto.
+ For multiple master fonts, common usage (in Postscript) is to modify
+ the WeightVector of an existing font instance, this addition
+ supports that use.
- * src/base/ftmm.c (FT_Set_Var_Design_Coordinates,
- FT_Set_MM_Blend_Coordinates, FT_Set_Var_Blend_Coordinates): Updated.
+ * include/freetype/ftmm.h, src/base/ftmm.c (FT_Set_MM_WeightVector,
+ FT_Get_MM_WeightVector): New API functions.
-2017-12-18 Werner Lemberg
+ * include/freetype/internalservices/svmm.h
+ (FT_Set_MM_WeightVector_Func, FT_Get_MM_WeightVector_Func): New
+ function types.
+ (MultiMasters): Add `set_mm_weightvector' and `get_mm_weightvector'
+ members.
+ (FT_DEFINE_SERVICE_MULTIMASTERSREC): Updated.
- [sfnt] Fix charmap type 2 iterator (#52646).
+ * src/cffcffdrivr.c (cff_set_mm_weightvector,
+ cff_get_mm_weightvector): New functions.
+ (cff_service_multi_masters): Register them.
- The subsetted demo font of the report that exhibits the bug has a
- very unusual type 2 cmap for Unicode(!): It contains only two
- sub-headers, one for one-byte characters (covering the range 0x20 to
- 0xFA), and a second one for higher byte 0x01 (just for character
- code U+0131).
+ * src/truetype/ttdriver.c (tt_service_gx_multi_masters): Updated.
+ This driver doesn't use the new interface.
- Before this commit, the iterator wasn't able to correctly handle a
- sub-header for higher byte 0x01.
+ * src/type1/t1load.c (T1_Set_MM_WeightVector,
+ T1_Get_MM_WeightVector): New functions.
+ * src/type1/t1driver.c (t1_service_multi_masters): Register them.
+ * src/type1/t1load.h: Updated.
- * src/sfnt/ttcmap.c (tt_cmap2_char_next): Fix character increment
- for outer loop.
+2018-11-27 Ben Wagner
-2017-12-18 Matthias Clasen
+ [cff] Fix compiler warning (#55105).
- [truetype] Fix clamping, minor tracing code beautification.
+ * src/cff/cffparse.c (cff_parser_run): Guard label only used if
+ CFF_CONFIG_OPTION_OLD_ENGINE is active.
- * src/truetype/ttgxvar.c (ft_var_to_normalized): Trace number of
- design coordinates.
- Use clamped value.
+2018-11-27 Ben Wagner
-2017-12-18 Werner Lemberg
+ [truetype] Fix numeric overflow (#55103).
- * src/*/*: Only use `ft_' and `FT_' variants of stdc library stuff.
+ * src/truetype/ttgload.c (compute_glyph_metrics): Use `SUB_LONG'.
-2017-12-18 Werner Lemberg
+2018-11-25 Alexei Podtelezhnikov
- * src/truetype/ttgxvar.c (tt_face_vary_cvt): Add size guard (#52688).
+ [builds] Belated DLL support with vc2002-vc2008.
-2017-12-18 Werner Lemberg
+ The solution and project files should be automatically upgraded for
+ the approriate Visual C++ version.
- [truetype] Fix previous commit.
+ * builds/windows/visualc/freetype.{sln,vcproj}: Major upgrades.
+ * builds/windows/visualc/index.html: Document the change.
+ * builds/windows/vc2005, builds/windows/vc2008: Removed as redundant.
- * src/truetype/ttgload.c (TT_Process_Simple_Glyph): Correctly handle
- unhinted phantom points, which must be properly scaled.
+2018-11-22 Armin Hasitzka
-2017-12-18 Werner Lemberg
+ * src/cff/cffparse.c: Please the compiler.
- [truetype] Don't apply HVAR and VVAR deltas twice (#52683).
+2018-11-22 Armin Hasitzka
- * src/truetype/ttgload.c (TT_Process_Simple_Glyph): Always adjust
- `pp1' to `pp4', except if we have an HVAR and/or VVAR table.
+ [cff] Fix memory overflow.
- * src/truetype/ttgxvar.c (TT_Vary_Apply_Glyph_Deltas): Handle
- alternative code branch identically w.r.t. presence of an HVAR
- and/or VVAR table.
+ Reported as
-2017-12-17 Jonathan Kew
+ https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=9869
+ https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=10869
- [truetype] Correctly handle variation font phantom points (#52683).
+ * src/cff/cffparse.c (destruct_t2s_item, cff_parser_run): Store
+ evaluated T2 charstrings in separately allocated memory.
- * src/truetype/ttgxvar.c (TT_Vary_Apply_Glyph_Deltas): Fix phantom
- point indices.
+2018-11-18 Alexei Podtelezhnikov
-2017-12-17 Jonathan Kew
+ * builds/windows/{visualc,vc2005,vc2008}/freetype.vcproj: Fix it.
- Fix incorrect advance width scaling (#52683).
+2018-11-10 Alexei Podtelezhnikov
- * src/base/ftadvance.c (FT_Get_Advances): Always respect the
- FT_LOAD_NO_SCALE flag if present.
+ [smooth] Placeholder only for library-enabled LCD filtering.
-2017-12-16 Alexei Podtelezhnikov
+ * src/smooth/ftsmooth.c (ft_smooth_init): Add disabled
+ `FT_Library_SetLcdFilter' call.
- * builds/windows/vc2010/freetype.vcxproj: AfterBuild copy.
- * objs/.gitignore: Ignore almost everything.
+2018-11-09 Young Xiao
-2017-12-11 Werner Lemberg
+ [psaux] Add safety guard (#54985).
- Fix compiler warning (#52640).
+ * src/psaux/psobjs.c (cff_builder_close_contour): Do it.
- * src/base/ftbitmap.c (ft_bitmap_assure_buffer): Remove unused
- variable.
+2018-11-08 Alexei Podtelezhnikov
-2017-12-08 Azzuro
+ * builds/unix/configure.raw: Require `windows.h' for windres.
- * builds/windows/vc2010/freetype.vcxproj: Adjust output directory.
+2018-11-08 Alexei Podtelezhnikov
- This allows builds with different configurations in parallel.
+ [ftstroke] Fix unpredictable failures (#54986).
-2017-12-08 Werner Lemberg
+ * src/base/ftstroke.c (ft_sroke_border_lineto): Fix lineto check.
- Fix `make setup dos', second try (#52622).
+2018-11-08 Alexei Podtelezhnikov
- * builds/detect.mk (dos_setup): Don't use literal `>' character at
- all. Mixing the different escaping rules from make, dos, and
- windows is too fragile.
+ [ftstroke] Fix unpredictable failures (#54976).
-2017-12-08 Werner Lemberg
+ * src/base/ftstroke.c (ft_sroke_border_close): Set the start tags.
- [docmaker] Fix code section parsing.
+2018-11-07 Ben Wagner
- Stuff like
+ [truetype] Fix VF check from 2018-09-12 (#54973).
- {
-
- }
+ * src/truetype/ttgxvar.c (TT_Vary_Apply_Glyph_Deltas): Use correct
+ offsets for estimates.
- confused the parser, which incorrectly treated `' as a markup
- tag.
+2018-11-06 Werner Lemberg
- * src/tools/docmaker/content.py (ContentProcessor::process_content):
- Apply `re_markup_tags' only outside of code sections.
+ [pshinter] Fix numeric overflow.
-2017-12-08 Werner Lemberg
+ Reported as
- New `ftdriver.h' file, covering all driver modules.
+ https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=11242
- This reduces redundancy and increases synergy; it also reduces the
- number of header files.
+ * src/pshinter/pshrec.c (ps_dimension_add_t1stem): Implement it.
- * include/freetype/config/ftheader.h (FT_DRIVER_H): New macro.
- (FT_AUTOHINTER_H, FT_CFF_DRIVER_H, FT_TRUETYPE_DRIVER_H,
- FT_PCF_DRIVER_H, FT_TYPE1_DRIVER_H): Make them aliases to
- FT_DRIVER_H.
+2018-11-06 Werner Lemberg
- * include/freetype/ftautoh.h, include/freetype/ftcffdrv.h,
- include/freetype/ftpcfdrv.h, include/freetype/ftt1drv.h,
- include/freetype/ftttdrv.h: Replaced with...
- * include/freetype/ftdriver.h: ...this new file.
- (FT_CFF_HINTING_ADOBE, FT_T1_HINTING_ADOBE): Renamed to...
- (FT_HINTING_ADOBE): ... this new macro.
- (FT_CFF_HINTING_FREETYPE, FT_T1_HINTING_FREETYPE): Renamed to...
- (FT_HINTING_FREETYPE): ... this new macro.
+ [psaux] Fix timeout in old CFF engine.
- * src/*/*: Updated accordingly.
+ Reported as
-2017-12-08 Werner Lemberg
+ https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=11260
- Move `ftdriver.h' to `ftdrv.h'.
+ * src/psaux/cffdecode.c (cff_decoder_parse_charstrings)
+ [CFF_CONFIG_OPTION_OLD_ENGINE]: Fix potential endless
+ loop.
- * include/freetype/internal/ftdriver.h: Renamed to...
- * include/freetype/internal/ftdrv.h: ... this name.
+2018-11-04 Alexei Podtelezhnikov
- * include/freetype/internal/internal.h (FT_INTERNAL_DRIVER_H):
- Updated.
+ * src/truetype/ttgxvar.c: Use enum definitions.
+
+2018-11-03 Alexei Podtelezhnikov
+
+ * src/truetype/ttgxvar.c (ft_var_apply_tuple): Adjust condition.
-2017-12-08 Werner Lemberg
+2018-11-03 Alexei Podtelezhnikov
- Fix access to uninitalized memory (#52613).
+ * src/truetype/ttgxvar.c (ft_var_apply_tuple): Tracing tweaks.
- Also reported as
+2018-11-03 Alexei Podtelezhnikov
- https://bugs.chromium.org/p/chromium/issues/detail?id=791317
+ Revert due to specs: [truetype] Speed up variation IUP.
- * src/base/ftbitmap.c (ft_bitmap_assure_buffer): If increasing the
- bitmap size needs a larger bitmap buffer, assure that the new memory
- areas are initialized also.
+2018-11-02 Alexei Podtelezhnikov
-2017-12-08 Werner Lemberg
+ * src/truetype/ttgxvar.c (ft_var_get_item_delta): Fixed logic.
- Fix `make setup dos' (#52622).
+ Reported and tested by Behdad.
- * builds/detect.mk (dos_setup): Properly escape literal `>'
- character.
+2018-11-02 Shailesh Mistry
-2017-12-07 Werner Lemberg
+ [autofit] Prevent SEGV.
- Fix C++ compilation.
+ See
- * src/psaux/psauxmod.h: Use FT_CALLBACK_TABLE macro where necessary.
+ https://bugs.ghostscript.com/show_bug.cgi?id=697545
- * src/smooth/ftsmooth.c (ft_smooth_render_generic): Fix warning.
+ for more details on how the bug was found.
-2017-12-07 Werner Lemberg
+ * src/autofit/afloader.c (af_loader_load_glyph): Propagate error
+ code.
+
+2018-10-31 Alexei Podtelezhnikov
- Fix `make multi'.
+ [truetype] Speed up variation IUP.
- * include/freetype/internal/fttrace.h: Remove unused tracing macros.
- s/pshalgo2/pshalgo/.
- Add `trace_cffdecode'.
- * src/pshinter/pshalgo.c (FT_COMPONENT): Updated.
+ * src/truetype/ttgxvar.c (tt_delta_interpolate): Separate trivial
+ snapping to the same position from true interpolation.
- * src/cff/cffload.c: Include FT_INTERNAL_POSTSCRIPT_AUX_H.
- * src/cff/cffobjs.c: Include FT_SERVICE_METRICS_VARIATIONS_H and
- FT_SERVICE_CFF_TABLE_LOAD_H.
+2018-10-31 Alexei Podtelezhnikov
- * src/cid/cidriver.c: Include FT_INTERNAL_POSTSCRIPT_AUX_H.
+ * src/type1/t1load.c (t1_set_mm_blend): Optimized.
- * src/psaux/cffdecode.c: Include FT_FREETYPE_H and
- FT_INTERNAL_DEBUG_H.
- (FT_COMPONENT): Define.
- * src/psaux/cffdecode.h: Include FT_INTERNAL_POSTSCRIPT_AUX_H.
- * src/psaux/psauxmod.h: Include FT_INTERNAL_POSTSCRIPT_AUX_H.
- Declare `cff_builder_funcs' and `ps_builder_funcs'.
- * src/psaux/psft.c: Include `psobjs.h' and `cffdecode.h'.
- * src/psaux/psobjs.c : Include `psauxmod.h'.
+2018-10-31 Alexei Podtelezhnikov
-2017-12-07 Werner Lemberg
+ * src/truetype/ttgxvar.c (ft_var_get_item_delta): Optimized.
- * include/freetype/config/ftheader.h: Some clean-up.
+2018-10-29 Werner Lemberg
- This commit removes documentation of deprecated macros and does some
- minor streamlining.
+ [base] Fix numeric overflow.
-2017-12-06 Werner Lemberg
+ Reported as
- * builds/symbian/bld.inf: Updated.
+ https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=11080
-2017-12-06 Werner Lemberg
+ * src/base/ftoutln.c (FT_Outline_Get_Orientation): Use `MUL_LONG'.
- New header file `ftparams.h' that collects all parameter tags.
+2018-10-29 Werner Lemberg
- * include/freetype/config/ftheader.h (FT_PARAMETER_TAGS_H): New
- macro.
- (FT_TRUETYPE_UNPATENTED_H, FT_UNPATENTED_HINTING_H): Define it to
- `ftparams.h'.
+ [cff] Fix numeric overflow.
- * include/freetype/ftautoh.h, include/freetype/ftcffdrv.h,
- include/freetype/ftincrem.h, include/freetype/ftlcdfil.h,
- include/freetype/ftsnames.h, include/freetype/ftt1drv.h: Include
- FT_PARAMETER_TAGS_H.
- Move FT_PARAM_TAG_XXX definitions to...
- * include/freetype/ftparams.h: ...this new file.
+ Reported as
- * include/freetype/ttunpat.h: Remove. No longer needed.
+ https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=10988
-2017-12-05 Werner Lemberg
+ * src/cff/cffparse.c (cff_parser_run)
+ [CFF_CONFIG_OPTION_OLD_ENGINE]: Use `NEG_LONG'.
- Improve tracing messages by using singular and plural forms.
+2018-10-27 Alexei Podtelezhnikov
- * src/*/*.c: Implement it.
+ [sfnt] Make `head' timestamps unsigned.
-2017-12-04 Werner Lemberg
+ It's been more than 2^31 seconds since 1904.
- [truetype] Allow shared points in `cvar' table (#52532).
+ * include/freetype/tttables.h (TT_Header): Change field types.
+ * src/sfnt/ttload.c (tt_face_load_generic_header): Updated.
- * src/truetype/ttgxvar.c (tt_face_vary_cvt): Implement it by copying
- and adjusting the corresponding code from
- `TT_Vary_Apply_Glyph_Deltas'.
+2018-10-27 Alexei Podtelezhnikov
-2017-11-28 Werner Lemberg
+ Revert: Align FreeType with standard C memory management.
- [truetype] Improving tracing of composite glyphs.
+2018-10-27 Werner Lemberg
- * src/truetype/ttgload.c (TT_Load_Composite_Glyph)
- [FT_DEBUG_LEVEL_TRACE]: Show composite glyph information.
+ [psaux] Fix numeric overflow.
-2017-11-27 Werner Lemberg
+ Triggered by
- [type1] Allow (again) `/Encoding' with >256 elements (#52464).
+ https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=11157
- In version 2.6.1, this has been disallowed to better reject
- malformed fonts; however, this restriction was too strong. This
- time, we only take the first 256 elements into account, since
- encoding arrays are always accessed with a 8bit integer, according
- to the PostScript Language Reference.
+ * src/psaux/cffdecode.c (cff_decoder_parse_charstrings)
+ [CFF_CONFIG_OPTION_OLD_ENGINE]: Fix integer overflow.
- * src/type1/t1load.c (parse_encoding): Implement it.
+2018-10-20 Werner Lemberg
-2017-11-27 Jan Alexander Steffens (heftig)
+ Avoid endless loop while tracing (#54858).
- Fix last commit (#52522).
+ * src/type1/t1load.c (parse_buildchar): Guard tracing stuff with
+ FT_DEBUG_LEVEL_TRACE.
- * builds/freetype.mk: Set `FT_OPTION_H' and `FTOPTION_FLAG'
- properly if we have `ftoption.h' in `BUILD_DIR'.
+2018-10-17 David Demelier
-2017-11-24 Werner Lemberg
+ * CMakeLists.txt: Specify `RUNTIME DESTINATION'.
- [unix] Install a massaged `ftoption.h' file (#51780).
+ This is needed for DLL builds.
- * builds/unix/configure.raw (ftoption_set, ftoption_unset): New
- auxiliary functions to construct...
- (FTOPTION_H_SED): ... this new variable.
- Apply it as a sed argument while copying `ftoption.h' to the
- `builds/unix' directory (using `AC_CONFIG_FILES').
- Simplify code of test that checks cpp's computation of bit length
- (the test previously created an empty `ftoption.h' file and deleted
- it immediately afterwards); without this change, it can happen on my
- GNU/Linux box that `configure's execution of `config.status' doesn't
- create `ftoption.h' (no idea why this happens).
+2018-10-07 Werner Lemberg
- * builds/unix/install.mk (install): Install
- `builds/unix/ftoption.h'.
+ A missing Unicode cmap is not a fatal error.
- * builds/unix/unix-def.in (DISTCLEAN): Updated.
+ This is a follow-up to the previous commit.
- * builds/unix/.gitignore: Updated.
+ * src/cff/cffobjs.c (cff_face_init), src/sfnt/sfobjs.c
+ (sfnt_load_face), src/type1/t1objs.c (T1_Face_Init),
+ src/type42/t42objs.c (T42_Face_Init): Implement it.
-2017-11-23 Tor Andersson
+2018-10-07 Werner Lemberg
- Silence unused function warnings (#52465).
+ Fix handling of FT_CONFIG_OPTION_ADOBE_GLYPH_LIST (#54794).
- Some static function declarations cause unused function warnings if
- certain config options are turned off via `ftoption.h'.
+ * src/cff/cffcmap.c (cff_cmap_unicode_init), src/psaux/t1cmap.c
+ (t1_cmap_unicode_init), src/sfnt/ttcmap.c (tt_cmap_unicode_init):
+ Check `unicodes_init' field.
- * src/base/ftbase.h, src/base/ftrfork.c, src/sfnt/ttbdf.h,
- src/truetype/ttgxvar.h: Add #ifdef guards around these sections.
+2018-10-03 Werner Lemberg
-2017-11-22 Ewald Hew
+ [ftgrays] Fix typo in stand-alone mode (#54771).
- * src/psaux/psft.c (cf2_setGlyphWidth): Check format before setting.
+ * src/smooth/ftgrays.c (FT_THROW) [STANDALONE_ &&
+ FT_DEBUG_LEVEL_TRACE]: Fix call to `FT_ERR_CAT'.
+
+2018-10-02 Werner Lemberg
+
+ [psaux] Fix segfault.
Reported as
- https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=4377
+ https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=10768
-2017-11-22 Ewald Hew
+ * src/psaux/cffdecode.c (cff_decoder_parse_charstrings)
+ [CFF_CONFIG_OPTION_OLD_ENGINE]: Check
+ argument.
- [psaux] Fix CFF advance widths. (#52466)
+2018-10-02 Werner Lemberg
- Glyph advance widths were being written to the new `PS_Decoder' but not
- saved to the underlying format specific decoder. This caused pure CFF
- fonts to have bad advance width.
+ [psaux] Fix numeric overflow.
- * include/freetype/internal/psaux.h (PS_Decoder): Change `glyph_width'
- field to pointer.
- Remove unused fields.
- * src/psaux/psobjs.c (ps_decoder_init): Change `glyph_width' from copy
- to reference.
- Remove unused.
- * src/psaux/psft.c (cf2_setGlyphWidth): Update code.
+ Reported as
-2017-11-15 Vlad Tsyrklevich
+ https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=10740
- * include/freetype/ftrender.h: Fix `FT_Renderer_RenderFunc' type.
+ * src/psaux/cffdecode.c (cff_decoder_parse_charstrings)
+ [CFF_CONFIG_OPTION_OLD_ENGINE]: Use NEG_INT.
-2017-11-14 Nikolaus Waxweiler
+2018-10-02 Werner Lemberg
- Use Adobe hinting engine for `light' hinting of both CFF and Type 1.
+ [pshinter] Handle numeric overflow.
- Since Ewald Hew factored the Adobe hinting engine out of the CFF
- driver code, we can now use it on Type 1 (and CID) font formats, as
- both have the same hinting philosophy.
+ Reported as
- This change activates the Adobe hinter when in LIGHT mode, and
- therefore always unless explicitly asking for the auto-hinter. This
- makes LIGHT behavior consistent with CFF fonts. As of this commit,
- the hinting engine table looks as follows.
+ https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=10550
- LIGHT NORMAL
- -------------------------
- TrueType Auto v40
- CFF Adobe Adobe
- Type 1 Adobe Adobe
+ * src/pshinter/pshglob.c (psh_blues_snap_stem): Mask numeric
+ overflow.
-2017-11-10 Yuri Levchenko
+2018-09-27 Alexei Podtelezhnikov
- * CMakeLists.txt: Add `DISABLE_FORCE_DEBUG_PREFIX' option.
+ Align FreeType with standard C memory management.
-2017-11-06 Alexei Podtelezhnikov
+ * include/freetype/ftsystem.h: Include FT_TYPES_H.
+ (*FT_Alloc_Func, *FT_Realloc_Func): Use size_t for the size arguments.
+ * src/raster/ftmisc.h: Ditto.
- * src/base/ftobjs.c (FT_Load_Glyph): Relocate condition.
+ * builds/amiga/src/base/ftsystem.c, builds/unix/ftsystem.c,
+ * builds/vms/ftsystem.c, src/base/ftsystem.c (ft_alloc, ft_realloc):
+ Use size_t for the size arguments.
-2017-11-06 Alexei Podtelezhnikov
+ * src/base/ftdbgmem.c (ft_mem_debug_alloc, ft_mem_debug_realloc): Use
+ FT_Offset, aka size_t, for the size arguments.
- * src/smooth/ftgrays.c (gray_set_cell): Fix uninitialized variables.
+2018-09-25 Werner Lemberg
-2017-11-03 Ewald Hew