summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorThomas Deutschmann <whissi@gentoo.org>2020-03-19 13:53:45 +0100
committerThomas Deutschmann <whissi@gentoo.org>2020-08-13 11:28:25 +0200
commitdc2ba49207af71193f1390d84bba4e15aeea0ce0 (patch)
tree79c2a51cb5fa2b87800b1113e0015a7108cd2eb3 /devices
parentImport Ghostscript 9.50 (diff)
downloadghostscript-gpl-patches-dc2ba49207af71193f1390d84bba4e15aeea0ce0.tar.gz
ghostscript-gpl-patches-dc2ba49207af71193f1390d84bba4e15aeea0ce0.tar.bz2
ghostscript-gpl-patches-dc2ba49207af71193f1390d84bba4e15aeea0ce0.zip
Import Ghostscript 9.52ghostscript-9.52
Signed-off-by: Thomas Deutschmann <whissi@gentoo.org>
Diffstat (limited to 'devices')
-rw-r--r--devices/contrib.mak515
-rw-r--r--devices/devs.mak2493
-rw-r--r--devices/gdev3852.c22
-rw-r--r--devices/gdev4081.c23
-rw-r--r--devices/gdev4693.c29
-rw-r--r--devices/gdev8510.c12
-rw-r--r--devices/gdevatx.c22
-rw-r--r--devices/gdevbit.c12
-rw-r--r--devices/gdevbj10.c3
-rw-r--r--devices/gdevbmp.c4
-rw-r--r--devices/gdevccr.c8
-rw-r--r--devices/gdevcdj.c12
-rw-r--r--devices/gdevcfax.c4
-rw-r--r--devices/gdevcif.c29
-rw-r--r--devices/gdevclj.c31
-rw-r--r--devices/gdevcljc.c2
-rw-r--r--devices/gdevdjtc.c12
-rw-r--r--devices/gdevdm24.c81
-rw-r--r--devices/gdevdsp.c26
-rw-r--r--devices/gdevepsc.c76
-rw-r--r--devices/gdevepsn.c73
-rw-r--r--devices/gdevescp.c35
-rw-r--r--devices/gdevgprf.c1330
-rw-r--r--devices/gdevhl7x.c43
-rw-r--r--devices/gdevicov.c20
-rw-r--r--devices/gdevifno.c11
-rw-r--r--devices/gdevimgn.c12
-rw-r--r--devices/gdevjbig2.c4
-rw-r--r--devices/gdevjpx.c4
-rw-r--r--devices/gdevl31s.c10
-rw-r--r--devices/gdevlbp8.c25
-rw-r--r--devices/gdevlj56.c3
-rw-r--r--devices/gdevlp8k.c43
-rw-r--r--devices/gdevlxm.c77
-rw-r--r--devices/gdevmgr.c35
-rw-r--r--devices/gdevn533.c11
-rw-r--r--devices/gdevokii.c69
-rw-r--r--devices/gdevpbm.c2
-rw-r--r--devices/gdevpcx.c2
-rw-r--r--devices/gdevpdfimg.c32
-rw-r--r--devices/gdevperm.c10
-rw-r--r--devices/gdevphex.c63
-rw-r--r--devices/gdevpjet.c67
-rw-r--r--devices/gdevplan.c15
-rw-r--r--devices/gdevpng.c14
-rw-r--r--devices/gdevpsd.c6
-rw-r--r--devices/gdevpsim.c18
-rw-r--r--devices/gdevrinkj.c25
-rw-r--r--devices/gdevsppr.c13
-rw-r--r--devices/gdevstc.c8
-rw-r--r--devices/gdevtfnx.c22
-rw-r--r--devices/gdevtifs.c10
-rw-r--r--devices/gdevtknk.c11
-rw-r--r--devices/gdevtsep.c240
-rw-r--r--devices/gdevwpr2.c8
-rw-r--r--devices/gdevx.h3
-rw-r--r--devices/gdevxcf.c18
-rw-r--r--devices/gdevxcmp.c16
-rw-r--r--devices/gdevxcmp.h3
-rw-r--r--devices/gdevxini.c8
-rw-r--r--devices/vector/gdevagl.c2
-rw-r--r--devices/vector/gdevagl.h2
-rw-r--r--devices/vector/gdevpdf.c4
-rw-r--r--devices/vector/gdevpdfb.h16
-rw-r--r--devices/vector/gdevpdfd.c203
-rw-r--r--devices/vector/gdevpdfe.c20
-rw-r--r--devices/vector/gdevpdfg.c256
-rw-r--r--devices/vector/gdevpdfg.h9
-rw-r--r--devices/vector/gdevpdfi.c21
-rw-r--r--devices/vector/gdevpdfp.c19
-rw-r--r--devices/vector/gdevpdft.c4
-rw-r--r--devices/vector/gdevpdfu.c4
-rw-r--r--devices/vector/gdevpdfx.h10
-rw-r--r--devices/vector/gdevpdtb.c2
-rw-r--r--devices/vector/gdevpdts.c2
-rw-r--r--devices/vector/gdevpdtt.c4
-rw-r--r--devices/vector/gdevpsdf.h7
-rw-r--r--devices/vector/gdevpsdi.c15
-rw-r--r--devices/vector/gdevpsds.c5
-rw-r--r--devices/vector/gdevpsds.h3
-rw-r--r--devices/vector/gdevpsdu.c2
-rw-r--r--devices/vector/gdevpsu.c5
-rw-r--r--devices/vector/gdevpx.c1
-rw-r--r--devices/vector/gdevtxtw.c201
-rw-r--r--devices/vector/gdevxps.c43
85 files changed, 3143 insertions, 3552 deletions
diff --git a/devices/contrib.mak b/devices/contrib.mak
index 6dc59b81..7f1cf863 100644
--- a/devices/contrib.mak
+++ b/devices/contrib.mak
@@ -16,7 +16,7 @@
# makefile for contributed device drivers.
# Define the name of this makefile.
-CONTRIB_MAK=$(DEVSRC)contrib.mak $(TOP_MAKEFILES)
+DCONTRIB_MAK=$(DEVSRC)contrib.mak $(TOP_MAKEFILES)
###### --------------------------- Catalog -------------------------- ######
@@ -123,10 +123,10 @@ CONTRIB_MAK=$(DEVSRC)contrib.mak $(TOP_MAKEFILES)
### please contact narf@media-lab.media.mit.edu if you have questions. ###
pe_=$(DEVOBJ)gdevpe.$(OBJ)
-$(DD)pe.dev : $(pe_) $(CONTRIB_MAK) $(MAKEDIRS)
+$(DD)pe.dev : $(pe_) $(DCONTRIB_MAK) $(MAKEDIRS)
$(SETDEV) $(DD)pe $(pe_)
-$(DEVOBJ)gdevpe.$(OBJ) : $(DEVSRC)gdevpe.c $(GDEV) $(memory__h) $(CONTRIB_MAK) $(MAKEDIRS)
+$(DEVOBJ)gdevpe.$(OBJ) : $(DEVSRC)gdevpe.c $(GDEV) $(memory__h) $(DCONTRIB_MAK) $(MAKEDIRS)
$(DEVCC) $(DEVO_)gdevpe.$(OBJ) $(C_) $(DEVSRC)gdevpe.c
###### ----------------------- Other displays ------------------------ ######
@@ -137,10 +137,10 @@ $(DEVOBJ)gdevpe.$(OBJ) : $(DEVSRC)gdevpe.c $(GDEV) $(memory__h) $(CONTRIB_MAK) $
# This is implemented as a 'printer' device.
sonyfb_=$(DEVOBJ)gdevsnfb.$(OBJ)
-$(DD)sonyfb.dev : $(sonyfb_) $(DD)page.dev $(CONTRIB_MAK) $(MAKEDIRS)
+$(DD)sonyfb.dev : $(sonyfb_) $(DD)page.dev $(DCONTRIB_MAK) $(MAKEDIRS)
$(SETPDEV) $(DD)sonyfb $(sonyfb_)
-$(DEVOBJ)gdevsnfb.$(OBJ) : $(DEVSRC)gdevsnfb.c $(PDEVH) $(CONTRIB_MAK) $(MAKEDIRS)
+$(DEVOBJ)gdevsnfb.$(OBJ) : $(DEVSRC)gdevsnfb.c $(PDEVH) $(DCONTRIB_MAK) $(MAKEDIRS)
$(DEVCC) $(DEVO_)gdevsnfb.$(OBJ) $(C_) $(DEVSRC)gdevsnfb.c
###### --------------- Memory-buffered printer devices --------------- ######
@@ -149,13 +149,13 @@ $(DEVOBJ)gdevsnfb.$(OBJ) : $(DEVSRC)gdevsnfb.c $(PDEVH) $(CONTRIB_MAK) $(MAKEDIR
bj10e_=$(DEVOBJ)gdevbj10.$(OBJ)
-$(DD)bj10e.dev : $(bj10e_) $(DD)page.dev $(CONTRIB_MAK) $(MAKEDIRS)
+$(DD)bj10e.dev : $(bj10e_) $(DD)page.dev $(DCONTRIB_MAK) $(MAKEDIRS)
$(SETPDEV) $(DD)bj10e $(bj10e_)
-$(DD)bj200.dev : $(bj10e_) $(DD)page.dev $(CONTRIB_MAK) $(MAKEDIRS)
+$(DD)bj200.dev : $(bj10e_) $(DD)page.dev $(DCONTRIB_MAK) $(MAKEDIRS)
$(SETPDEV) $(DD)bj200 $(bj10e_)
-$(DEVOBJ)gdevbj10.$(OBJ) : $(DEVSRC)gdevbj10.c $(PDEVH) $(CONTRIB_MAK) $(MAKEDIRS)
+$(DEVOBJ)gdevbj10.$(OBJ) : $(DEVSRC)gdevbj10.c $(PDEVH) $(DCONTRIB_MAK) $(MAKEDIRS)
$(DEVCC) $(DEVO_)gdevbj10.$(OBJ) $(C_) $(DEVSRC)gdevbj10.c
### ------------- The CalComp Raster Format ----------------------------- ###
@@ -164,10 +164,10 @@ $(DEVOBJ)gdevbj10.$(OBJ) : $(DEVSRC)gdevbj10.c $(PDEVH) $(CONTRIB_MAK) $(MAKEDIR
### questions. ###
ccr_=$(DEVOBJ)gdevccr.$(OBJ)
-$(DD)ccr.dev : $(ccr_) $(DD)page.dev $(CONTRIB_MAK) $(MAKEDIRS)
+$(DD)ccr.dev : $(ccr_) $(DD)page.dev $(DCONTRIB_MAK) $(MAKEDIRS)
$(SETPDEV) $(DD)ccr $(ccr_)
-$(DEVOBJ)gdevccr.$(OBJ) : $(DEVSRC)gdevccr.c $(PDEVH) $(CONTRIB_MAK) $(MAKEDIRS)
+$(DEVOBJ)gdevccr.$(OBJ) : $(DEVSRC)gdevccr.c $(PDEVH) $(DCONTRIB_MAK) $(MAKEDIRS)
$(DEVCC) $(DEVO_)gdevccr.$(OBJ) $(C_) $(DEVSRC)gdevccr.c
### The H-P DeskJet, PaintJet, and DesignJet family color printer devices.###
@@ -186,48 +186,48 @@ $(DEVOBJ)gdevccr.$(OBJ) : $(DEVSRC)gdevccr.c $(PDEVH) $(CONTRIB_MAK) $(MAKEDIRS)
cdeskjet_=$(DEVOBJ)gdevcdj.$(OBJ) $(HPPCL)
-$(DD)cdeskjet.dev : $(cdeskjet_) $(DD)page.dev $(CONTRIB_MAK) $(MAKEDIRS)
+$(DD)cdeskjet.dev : $(cdeskjet_) $(DD)page.dev $(DCONTRIB_MAK) $(MAKEDIRS)
$(SETPDEV) $(DD)cdeskjet $(cdeskjet_)
-$(DD)cdjcolor.dev : $(cdeskjet_) $(DD)page.dev $(CONTRIB_MAK) $(MAKEDIRS)
+$(DD)cdjcolor.dev : $(cdeskjet_) $(DD)page.dev $(DCONTRIB_MAK) $(MAKEDIRS)
$(SETPDEV) $(DD)cdjcolor $(cdeskjet_)
-$(DD)cdjmono.dev : $(cdeskjet_) $(DD)page.dev $(CONTRIB_MAK) $(MAKEDIRS)
+$(DD)cdjmono.dev : $(cdeskjet_) $(DD)page.dev $(DCONTRIB_MAK) $(MAKEDIRS)
$(SETPDEV) $(DD)cdjmono $(cdeskjet_)
-$(DD)cdj500.dev : $(cdeskjet_) $(DD)page.dev $(CONTRIB_MAK) $(MAKEDIRS)
+$(DD)cdj500.dev : $(cdeskjet_) $(DD)page.dev $(DCONTRIB_MAK) $(MAKEDIRS)
$(SETPDEV) $(DD)cdj500 $(cdeskjet_)
-$(DD)cdj550.dev : $(cdeskjet_) $(DD)page.dev $(CONTRIB_MAK) $(MAKEDIRS)
+$(DD)cdj550.dev : $(cdeskjet_) $(DD)page.dev $(DCONTRIB_MAK) $(MAKEDIRS)
$(SETPDEV) $(DD)cdj550 $(cdeskjet_)
-$(DD)declj250.dev : $(cdeskjet_) $(DD)page.dev $(CONTRIB_MAK) $(MAKEDIRS)
+$(DD)declj250.dev : $(cdeskjet_) $(DD)page.dev $(DCONTRIB_MAK) $(MAKEDIRS)
$(SETPDEV) $(DD)declj250 $(cdeskjet_)
-$(DD)dnj650c.dev : $(cdeskjet_) $(DD)page.dev $(CONTRIB_MAK) $(MAKEDIRS)
+$(DD)dnj650c.dev : $(cdeskjet_) $(DD)page.dev $(DCONTRIB_MAK) $(MAKEDIRS)
$(SETPDEV) $(DD)dnj650c $(cdeskjet_)
-$(DD)lj4dith.dev : $(cdeskjet_) $(DD)page.dev $(CONTRIB_MAK) $(MAKEDIRS)
+$(DD)lj4dith.dev : $(cdeskjet_) $(DD)page.dev $(DCONTRIB_MAK) $(MAKEDIRS)
$(SETPDEV) $(DD)lj4dith $(cdeskjet_)
-$(DD)pj.dev : $(cdeskjet_) $(DD)page.dev $(CONTRIB_MAK) $(MAKEDIRS)
+$(DD)pj.dev : $(cdeskjet_) $(DD)page.dev $(DCONTRIB_MAK) $(MAKEDIRS)
$(SETPDEV) $(DD)pj $(cdeskjet_)
-$(DD)pjxl.dev : $(cdeskjet_) $(DD)page.dev $(CONTRIB_MAK) $(MAKEDIRS)
+$(DD)pjxl.dev : $(cdeskjet_) $(DD)page.dev $(DCONTRIB_MAK) $(MAKEDIRS)
$(SETPDEV) $(DD)pjxl $(cdeskjet_)
# Note: the pjxl300 driver also works for the CopyJet.
-$(DD)pjxl300.dev : $(cdeskjet_) $(DD)page.dev $(CONTRIB_MAK) $(MAKEDIRS)
+$(DD)pjxl300.dev : $(cdeskjet_) $(DD)page.dev $(DCONTRIB_MAK) $(MAKEDIRS)
$(SETPDEV) $(DD)pjxl300 $(cdeskjet_)
# Note: the BJC600 driver also works for the BJC4000.
-$(DD)bjc600.dev : $(cdeskjet_) $(DD)page.dev $(CONTRIB_MAK) $(MAKEDIRS)
+$(DD)bjc600.dev : $(cdeskjet_) $(DD)page.dev $(DCONTRIB_MAK) $(MAKEDIRS)
$(SETPDEV) $(DD)bjc600 $(cdeskjet_)
-$(DD)bjc800.dev : $(cdeskjet_) $(DD)page.dev $(CONTRIB_MAK) $(MAKEDIRS)
+$(DD)bjc800.dev : $(cdeskjet_) $(DD)page.dev $(DCONTRIB_MAK) $(MAKEDIRS)
$(SETPDEV) $(DD)bjc800 $(cdeskjet_)
-$(DD)escp.dev : $(cdeskjet_) $(DD)page.dev $(CONTRIB_MAK) $(MAKEDIRS)
+$(DD)escp.dev : $(cdeskjet_) $(DD)page.dev $(DCONTRIB_MAK) $(MAKEDIRS)
$(SETPDEV) $(DD)escp $(cdeskjet_)
# NB: you can also customise the build if required, using
@@ -238,15 +238,15 @@ gdevbjc_h=$(DEVSRC)gdevbjc.h
$(DEVOBJ)gdevcdj.$(OBJ) : $(DEVSRC)gdevcdj.c $(std_h) $(PDEVH)\
$(gsparam_h) $(gsstate_h) $(gxlum_h)\
- $(gdevbjc_h) $(gdevpcl_h) $(CONTRIB_MAK) $(MAKEDIRS)
+ $(gdevbjc_h) $(gdevpcl_h) $(DCONTRIB_MAK) $(MAKEDIRS)
$(DEVCC) $(DEVO_)gdevcdj.$(OBJ) $(C_) $(DEVSRC)gdevcdj.c
djet500c_=$(DEVOBJ)gdevdjtc.$(OBJ) $(HPPCL)
-$(DD)djet500c.dev : $(djet500c_) $(DD)page.dev $(CONTRIB_MAK) $(MAKEDIRS)
+$(DD)djet500c.dev : $(djet500c_) $(DD)page.dev $(DCONTRIB_MAK) $(MAKEDIRS)
$(SETPDEV) $(DD)djet500c $(djet500c_)
$(DEVOBJ)gdevdjtc.$(OBJ) : $(DEVSRC)gdevdjtc.c $(PDEVH) $(malloc__h) $(gdevpcl_h) \
- $(CONTRIB_MAK) $(MAKEDIRS)
+ $(DCONTRIB_MAK) $(MAKEDIRS)
$(DEVCC) $(DEVO_)gdevdjtc.$(OBJ) $(C_) $(DEVSRC)gdevdjtc.c
### -------------------- The H-P Color LaserJet 5/5M -------------------- ###
@@ -262,24 +262,24 @@ $(DEVOBJ)gdevdjtc.$(OBJ) : $(DEVSRC)gdevdjtc.c $(PDEVH) $(malloc__h) $(gdevpcl_h
cljet5_=$(DEVOBJ)gdevclj.$(OBJ) $(HPPCL)
-$(DD)cljet5.dev : $(DEVS_MAK) $(cljet5_) $(GLD)page.dev $(CONTRIB_MAK) $(MAKEDIRS)
+$(DD)cljet5.dev : $(DEVS_MAK) $(cljet5_) $(GLD)page.dev $(DCONTRIB_MAK) $(MAKEDIRS)
$(SETPDEV) $(DD)cljet5 $(cljet5_)
# The cljet5pr driver has hacks for trying to handle page rotation.
# The hacks only work with one special PCL interpreter. Don't use it!
-$(DD)cljet5pr.dev : $(DEVS_MAK) $(cljet5_) $(GLD)page.dev $(CONTRIB_MAK) $(MAKEDIRS)
+$(DD)cljet5pr.dev : $(DEVS_MAK) $(cljet5_) $(GLD)page.dev $(DCONTRIB_MAK) $(MAKEDIRS)
$(SETPDEV) $(DD)cljet5pr $(cljet5_)
$(DEVOBJ)gdevclj.$(OBJ) : $(DEVSRC)gdevclj.c $(math__h) $(PDEVH)\
- $(gx_h) $(gsparam_h) $(gdevpcl_h) $(CONTRIB_MAK) $(MAKEDIRS)
+ $(gx_h) $(gsparam_h) $(gdevpcl_h) $(DCONTRIB_MAK) $(MAKEDIRS)
$(DEVCC) $(DEVO_)gdevclj.$(OBJ) $(C_) $(DEVSRC)gdevclj.c
cljet5c_=$(DEVOBJ)gdevcljc.$(OBJ) $(HPPCL)
-$(DD)cljet5c.dev : $(DEVS_MAK) $(cljet5c_) $(GLD)page.dev $(CONTRIB_MAK) $(MAKEDIRS)
+$(DD)cljet5c.dev : $(DEVS_MAK) $(cljet5c_) $(GLD)page.dev $(DCONTRIB_MAK) $(MAKEDIRS)
$(SETPDEV) $(DD)cljet5c $(cljet5c_)
$(DEVOBJ)gdevcljc.$(OBJ) : $(DEVSRC)gdevcljc.c $(math__h) $(PDEVH) $(gdevpcl_h) \
- $(CONTRIB_MAK) $(MAKEDIRS)
+ $(DCONTRIB_MAK) $(MAKEDIRS)
$(DEVCC) $(DEVO_)gdevcljc.$(OBJ) $(C_) $(DEVSRC)gdevcljc.c
### --------------- The H-P LaserJet 3100 software device --------------- ###
@@ -291,17 +291,17 @@ $(DEVOBJ)gdevcljc.$(OBJ) : $(DEVSRC)gdevcljc.c $(math__h) $(PDEVH) $(gdevpcl_h)
### Ulrich Schmid (uschmid@mail.hh.provi.de) if you have questions. ###
lj3100sw_=$(DEVOBJ)gdevl31s.$(OBJ) $(DEVOBJ)gdevmeds.$(OBJ)
-$(DD)lj3100sw.dev : $(lj3100sw_) $(DD)page.dev $(CONTRIB_MAK) $(MAKEDIRS)
+$(DD)lj3100sw.dev : $(lj3100sw_) $(DD)page.dev $(DCONTRIB_MAK) $(MAKEDIRS)
$(SETPDEV) $(DD)lj3100sw $(lj3100sw_)
gdevmeds_h=$(DEVSRC)gdevmeds.h
$(DEVOBJ)gdevl31s.$(OBJ) : $(DEVSRC)gdevl31s.c $(gdevmeds_h) $(PDEVH) \
- $(CONTRIB_MAK) $(MAKEDIRS)
+ $(DCONTRIB_MAK) $(MAKEDIRS)
$(DEVCC) $(DEVO_)gdevl31s.$(OBJ) $(C_) $(DEVSRC)gdevl31s.c
$(DEVOBJ)gdevmeds.$(OBJ) : $(DEVSRC)gdevmeds.c $(AK) $(gdevmeds_h) \
- $(CONTRIB_MAK) $(MAKEDIRS)
+ $(DCONTRIB_MAK) $(MAKEDIRS)
$(DEVCC) $(DEVO_)gdevmeds.$(OBJ) $(C_) $(DEVSRC)gdevmeds.c
### ------ CoStar LabelWriter II II/Plus device ------ ###
@@ -309,13 +309,13 @@ $(DEVOBJ)gdevmeds.$(OBJ) : $(DEVSRC)gdevmeds.c $(AK) $(gdevmeds_h) \
coslw_=$(DEVOBJ)gdevcslw.$(OBJ)
-$(DD)coslw2p.dev : $(coslw_) $(DD)page.dev $(CONTRIB_MAK) $(MAKEDIRS)
+$(DD)coslw2p.dev : $(coslw_) $(DD)page.dev $(DCONTRIB_MAK) $(MAKEDIRS)
$(SETPDEV) $(DD)coslw2p $(coslw_)
-$(DD)coslwxl.dev : $(coslw_) $(DD)page.dev $(CONTRIB_MAK) $(MAKEDIRS)
+$(DD)coslwxl.dev : $(coslw_) $(DD)page.dev $(DCONTRIB_MAK) $(MAKEDIRS)
$(SETPDEV) $(DD)coslwxl $(coslw_)
-$(DEVOBJ)gdevcslw.$(OBJ) : $(DEVSRC)gdevcslw.c $(PDEVH) $(CONTRIB_MAK) $(MAKEDIRS)
+$(DEVOBJ)gdevcslw.$(OBJ) : $(DEVSRC)gdevcslw.c $(PDEVH) $(DCONTRIB_MAK) $(MAKEDIRS)
$(DEVCC) $(DEVO_)gdevcslw.$(OBJ) $(C_) $(DEVSRC)gdevcslw.c
### ----------------- The generic Epson printer device ----------------- ###
@@ -327,21 +327,21 @@ $(DEVOBJ)gdevcslw.$(OBJ) : $(DEVSRC)gdevcslw.c $(PDEVH) $(CONTRIB_MAK) $(MAKEDIR
epson_=$(DEVOBJ)gdevepsn.$(OBJ)
-$(DD)epson.dev : $(epson_) $(DD)page.dev $(CONTRIB_MAK) $(MAKEDIRS)
+$(DD)epson.dev : $(epson_) $(DD)page.dev $(DCONTRIB_MAK) $(MAKEDIRS)
$(SETPDEV) $(DD)epson $(epson_)
-$(DD)eps9mid.dev : $(epson_) $(DD)page.dev $(CONTRIB_MAK) $(MAKEDIRS)
+$(DD)eps9mid.dev : $(epson_) $(DD)page.dev $(DCONTRIB_MAK) $(MAKEDIRS)
$(SETPDEV) $(DD)eps9mid $(epson_)
-$(DD)eps9high.dev : $(epson_) $(DD)page.dev $(CONTRIB_MAK) $(MAKEDIRS)
+$(DD)eps9high.dev : $(epson_) $(DD)page.dev $(DCONTRIB_MAK) $(MAKEDIRS)
$(SETPDEV) $(DD)eps9high $(epson_)
-$(DEVOBJ)gdevepsn.$(OBJ) : $(DEVSRC)gdevepsn.c $(PDEVH) $(CONTRIB_MAK) $(MAKEDIRS)
+$(DEVOBJ)gdevepsn.$(OBJ) : $(DEVSRC)gdevepsn.c $(PDEVH) $(DCONTRIB_MAK) $(MAKEDIRS)
$(DEVCC) $(DEVO_)gdevepsn.$(OBJ) $(C_) $(DEVSRC)gdevepsn.c
### ----------------- The IBM Proprinter printer device ---------------- ###
-$(DD)ibmpro.dev : $(epson_) $(DD)page.dev $(CONTRIB_MAK) $(MAKEDIRS)
+$(DD)ibmpro.dev : $(epson_) $(DD)page.dev $(DCONTRIB_MAK) $(MAKEDIRS)
$(SETPDEV) $(DD)ibmpro $(epson_)
### -------------- The Epson LQ-2550 color printer device -------------- ###
@@ -349,10 +349,10 @@ $(DD)ibmpro.dev : $(epson_) $(DD)page.dev $(CONTRIB_MAK) $(MAKEDIRS)
### Dave St. Clair (dave@exlog.com) if you have questions. ###
epsonc_=$(DEVOBJ)gdevepsc.$(OBJ)
-$(DD)epsonc.dev : $(epsonc_) $(DD)page.dev $(CONTRIB_MAK) $(MAKEDIRS)
+$(DD)epsonc.dev : $(epsonc_) $(DD)page.dev $(DCONTRIB_MAK) $(MAKEDIRS)
$(SETPDEV) $(DD)epsonc $(epsonc_)
-$(DEVOBJ)gdevepsc.$(OBJ) : $(DEVSRC)gdevepsc.c $(PDEVH) $(CONTRIB_MAK) $(MAKEDIRS)
+$(DEVOBJ)gdevepsc.$(OBJ) : $(DEVSRC)gdevepsc.c $(PDEVH) $(DCONTRIB_MAK) $(MAKEDIRS)
$(DEVCC) $(DEVO_)gdevepsc.$(OBJ) $(C_) $(DEVSRC)gdevepsc.c
### ------------- The Epson ESC/P 2 language printer devices ------------- ###
@@ -364,36 +364,36 @@ $(DEVOBJ)gdevepsc.$(OBJ) : $(DEVSRC)gdevepsc.c $(PDEVH) $(CONTRIB_MAK) $(MAKEDIR
ESCP2=$(DEVOBJ)gdevescp.$(OBJ)
-$(DEVOBJ)gdevescp.$(OBJ) : $(DEVSRC)gdevescp.c $(PDEVH) $(CONTRIB_MAK) $(MAKEDIRS)
+$(DEVOBJ)gdevescp.$(OBJ) : $(DEVSRC)gdevescp.c $(PDEVH) $(DCONTRIB_MAK) $(MAKEDIRS)
$(DEVCC) $(DEVO_)gdevescp.$(OBJ) $(C_) $(DEVSRC)gdevescp.c
-$(DD)ap3250.dev : $(ESCP2) $(DD)page.dev $(CONTRIB_MAK) $(MAKEDIRS)
+$(DD)ap3250.dev : $(ESCP2) $(DD)page.dev $(DCONTRIB_MAK) $(MAKEDIRS)
$(SETPDEV) $(DD)ap3250 $(ESCP2)
-$(DD)st800.dev : $(ESCP2) $(DD)page.dev $(CONTRIB_MAK) $(MAKEDIRS)
+$(DD)st800.dev : $(ESCP2) $(DD)page.dev $(DCONTRIB_MAK) $(MAKEDIRS)
$(SETPDEV) $(DD)st800 $(ESCP2)
stcolor1_=$(DEVOBJ)gdevstc.$(OBJ) $(DEVOBJ)gdevstc1.$(OBJ) $(DEVOBJ)gdevstc2.$(OBJ)
stcolor2_=$(DEVOBJ)gdevstc3.$(OBJ) $(DEVOBJ)gdevstc4.$(OBJ)
-$(DD)stcolor.dev : $(stcolor1_) $(stcolor2_) $(DD)page.dev $(CONTRIB_MAK) $(MAKEDIRS)
+$(DD)stcolor.dev : $(stcolor1_) $(stcolor2_) $(DD)page.dev $(DCONTRIB_MAK) $(MAKEDIRS)
$(SETPDEV) $(DD)stcolor $(stcolor1_)
$(ADDMOD) $(DD)stcolor -obj $(stcolor2_)
gdevstc_h=$(DEVSRC)gdevstc.h
-$(DEVOBJ)gdevstc.$(OBJ) : $(DEVSRC)gdevstc.c $(gdevstc_h) $(PDEVH) $(CONTRIB_MAK) $(MAKEDIRS)
+$(DEVOBJ)gdevstc.$(OBJ) : $(DEVSRC)gdevstc.c $(gdevstc_h) $(PDEVH) $(DCONTRIB_MAK) $(MAKEDIRS)
$(DEVCC) $(DEVO_)gdevstc.$(OBJ) $(C_) $(DEVSRC)gdevstc.c
-$(DEVOBJ)gdevstc1.$(OBJ) : $(DEVSRC)gdevstc1.c $(gdevstc_h) $(PDEVH) $(CONTRIB_MAK) $(MAKEDIRS)
+$(DEVOBJ)gdevstc1.$(OBJ) : $(DEVSRC)gdevstc1.c $(gdevstc_h) $(PDEVH) $(DCONTRIB_MAK) $(MAKEDIRS)
$(DEVCC) $(DEVO_)gdevstc1.$(OBJ) $(C_) $(DEVSRC)gdevstc1.c
-$(DEVOBJ)gdevstc2.$(OBJ) : $(DEVSRC)gdevstc2.c $(gdevstc_h) $(PDEVH) $(CONTRIB_MAK) $(MAKEDIRS)
+$(DEVOBJ)gdevstc2.$(OBJ) : $(DEVSRC)gdevstc2.c $(gdevstc_h) $(PDEVH) $(DCONTRIB_MAK) $(MAKEDIRS)
$(DEVCC) $(DEVO_)gdevstc2.$(OBJ) $(C_) $(DEVSRC)gdevstc2.c
-$(DEVOBJ)gdevstc3.$(OBJ) : $(DEVSRC)gdevstc3.c $(gdevstc_h) $(PDEVH) $(CONTRIB_MAK) $(MAKEDIRS)
+$(DEVOBJ)gdevstc3.$(OBJ) : $(DEVSRC)gdevstc3.c $(gdevstc_h) $(PDEVH) $(DCONTRIB_MAK) $(MAKEDIRS)
$(DEVCC) $(DEVO_)gdevstc3.$(OBJ) $(C_) $(DEVSRC)gdevstc3.c
-$(DEVOBJ)gdevstc4.$(OBJ) : $(DEVSRC)gdevstc4.c $(gdevstc_h) $(PDEVH) $(CONTRIB_MAK) $(MAKEDIRS)
+$(DEVOBJ)gdevstc4.$(OBJ) : $(DEVSRC)gdevstc4.c $(gdevstc_h) $(PDEVH) $(DCONTRIB_MAK) $(MAKEDIRS)
$(DEVCC) $(DEVO_)gdevstc4.$(OBJ) $(C_) $(DEVSRC)gdevstc4.c
### --------------- Ugly/Update -> Unified Printer Driver ---------------- ###
@@ -401,10 +401,10 @@ $(DEVOBJ)gdevstc4.$(OBJ) : $(DEVSRC)gdevstc4.c $(gdevstc_h) $(PDEVH) $(CONTRIB_M
### Gunther Hess (gunther@elmos.de) ###
uniprint_=$(DEVOBJ)gdevupd.$(OBJ)
-$(DD)uniprint.dev : $(uniprint_) $(DD)page.dev $(CONTRIB_MAK) $(MAKEDIRS)
+$(DD)uniprint.dev : $(uniprint_) $(DD)page.dev $(DCONTRIB_MAK) $(MAKEDIRS)
$(SETPDEV) $(DD)uniprint $(uniprint_)
-$(DEVOBJ)gdevupd.$(OBJ) : $(DEVSRC)gdevupd.c $(PDEVH) $(gsparam_h) $(CONTRIB_MAK) $(MAKEDIRS)
+$(DEVOBJ)gdevupd.$(OBJ) : $(DEVSRC)gdevupd.c $(PDEVH) $(gsparam_h) $(DCONTRIB_MAK) $(MAKEDIRS)
$(DEVCC) $(DEVO_)gdevupd.$(OBJ) $(C_) $(DEVSRC)gdevupd.c
### ------------ The H-P PaintJet color printer device ----------------- ###
@@ -415,16 +415,16 @@ $(DEVOBJ)gdevupd.$(OBJ) : $(DEVSRC)gdevupd.c $(PDEVH) $(gsparam_h) $(CONTRIB_MAK
PJET=$(DEVOBJ)gdevpjet.$(OBJ) $(HPPCL)
-$(DEVOBJ)gdevpjet.$(OBJ) : $(DEVSRC)gdevpjet.c $(PDEVH) $(gdevpcl_h) $(CONTRIB_MAK) $(MAKEDIRS)
+$(DEVOBJ)gdevpjet.$(OBJ) : $(DEVSRC)gdevpjet.c $(PDEVH) $(gdevpcl_h) $(DCONTRIB_MAK) $(MAKEDIRS)
$(DEVCC) $(DEVO_)gdevpjet.$(OBJ) $(C_) $(DEVSRC)gdevpjet.c
-$(DD)lj250.dev : $(PJET) $(DD)page.dev $(CONTRIB_MAK) $(MAKEDIRS)
+$(DD)lj250.dev : $(PJET) $(DD)page.dev $(DCONTRIB_MAK) $(MAKEDIRS)
$(SETPDEV) $(DD)lj250 $(PJET)
-$(DD)paintjet.dev : $(PJET) $(DD)page.dev $(CONTRIB_MAK) $(MAKEDIRS)
+$(DD)paintjet.dev : $(PJET) $(DD)page.dev $(DCONTRIB_MAK) $(MAKEDIRS)
$(SETPDEV) $(DD)paintjet $(PJET)
-$(DD)pjetxl.dev : $(PJET) $(DD)page.dev $(CONTRIB_MAK) $(MAKEDIRS)
+$(DD)pjetxl.dev : $(PJET) $(DD)page.dev $(DCONTRIB_MAK) $(MAKEDIRS)
$(SETPDEV) $(DD)pjetxl $(PJET)
###--------------------- The Brother HL 7x0 printer --------------------- ###
@@ -435,10 +435,10 @@ $(DD)pjetxl.dev : $(PJET) $(DD)page.dev $(CONTRIB_MAK) $(MAKEDIRS)
### for questions about usage with the MFC6550MC Fax Machine. ###
hl7x0_=$(DEVOBJ)gdevhl7x.$(OBJ)
-$(DD)hl7x0.dev : $(hl7x0_) $(DD)page.dev $(CONTRIB_MAK) $(MAKEDIRS)
+$(DD)hl7x0.dev : $(hl7x0_) $(DD)page.dev $(DCONTRIB_MAK) $(MAKEDIRS)
$(SETPDEV) $(DD)hl7x0 $(hl7x0_)
-$(DEVOBJ)gdevhl7x.$(OBJ) : $(DEVSRC)gdevhl7x.c $(PDEVH) $(gdevpcl_h) $(CONTRIB_MAK) $(MAKEDIRS)
+$(DEVOBJ)gdevhl7x.$(OBJ) : $(DEVSRC)gdevhl7x.c $(PDEVH) $(gdevpcl_h) $(DCONTRIB_MAK) $(MAKEDIRS)
$(DEVCC) $(DEVO_)gdevhl7x.$(OBJ) $(C_) $(DEVSRC)gdevhl7x.c
### -------------- Imagen ImPress Laser Printer device ----------------- ###
@@ -449,13 +449,13 @@ $(DEVOBJ)gdevhl7x.$(OBJ) : $(DEVSRC)gdevhl7x.c $(PDEVH) $(gdevpcl_h) $(CONTRIB_M
### You may also add -DA4 if needed for A4 paper. ###
imagen_=$(DEVOBJ)gdevimgn.$(OBJ)
-$(DD)imagen.dev : $(imagen_) $(DD)page.dev $(CONTRIB_MAK) $(MAKEDIRS)
+$(DD)imagen.dev : $(imagen_) $(DD)page.dev $(DCONTRIB_MAK) $(MAKEDIRS)
$(SETPDEV) $(DD)imagen $(imagen_)
# Uncomment the first line for the ipr spooler, the second line for parallel.
IMGN_OPT=
#IMGN_OPT=-DUSE_BYTE_STREAM
-$(DEVOBJ)gdevimgn.$(OBJ) : $(DEVSRC)gdevimgn.c $(PDEVH) $(CONTRIB_MAK) $(MAKEDIRS)
+$(DEVOBJ)gdevimgn.$(OBJ) : $(DEVSRC)gdevimgn.c $(PDEVH) $(DCONTRIB_MAK) $(MAKEDIRS)
$(DEVCC) $(IMGN_OPT) $(DEVO_)gdevimgn.$(OBJ) $(C_) $(DEVSRC)gdevimgn.c
### ------- The IBM 3852 JetPrinter color inkjet printer device -------- ###
@@ -466,10 +466,10 @@ $(DEVOBJ)gdevimgn.$(OBJ) : $(DEVSRC)gdevimgn.c $(PDEVH) $(CONTRIB_MAK) $(MAKEDIR
### width of the jetprinter itself.) ###
jetp3852_=$(DEVOBJ)gdev3852.$(OBJ)
-$(DD)jetp3852.dev : $(jetp3852_) $(DD)page.dev $(CONTRIB_MAK) $(MAKEDIRS)
+$(DD)jetp3852.dev : $(jetp3852_) $(DD)page.dev $(DCONTRIB_MAK) $(MAKEDIRS)
$(SETPDEV) $(DD)jetp3852 $(jetp3852_)
-$(DEVOBJ)gdev3852.$(OBJ) : $(DEVSRC)gdev3852.c $(PDEVH) $(gdevpcl_h) $(CONTRIB_MAK) $(MAKEDIRS)
+$(DEVOBJ)gdev3852.$(OBJ) : $(DEVSRC)gdev3852.c $(PDEVH) $(gdevpcl_h) $(DCONTRIB_MAK) $(MAKEDIRS)
$(DEVCC) $(DEVO_)gdev3852.$(OBJ) $(C_) $(DEVSRC)gdev3852.c
### ---------- The Canon LBP-8II and LIPS III printer devices ---------- ###
@@ -478,13 +478,13 @@ $(DEVOBJ)gdev3852.$(OBJ) : $(DEVSRC)gdev3852.c $(PDEVH) $(gdevpcl_h) $(CONTRIB_M
### Lauri Paatero, lauri.paatero@paatero.pp.fi ###
lbp8_=$(DEVOBJ)gdevlbp8.$(OBJ)
-$(DD)lbp8.dev : $(lbp8_) $(DD)page.dev $(CONTRIB_MAK) $(MAKEDIRS)
+$(DD)lbp8.dev : $(lbp8_) $(DD)page.dev $(DCONTRIB_MAK) $(MAKEDIRS)
$(SETPDEV) $(DD)lbp8 $(lbp8_)
-$(DD)lips3.dev : $(lbp8_) $(DD)page.dev $(CONTRIB_MAK) $(MAKEDIRS)
+$(DD)lips3.dev : $(lbp8_) $(DD)page.dev $(DCONTRIB_MAK) $(MAKEDIRS)
$(SETPDEV) $(DD)lips3 $(lbp8_)
-$(DEVOBJ)gdevlbp8.$(OBJ) : $(DEVSRC)gdevlbp8.c $(PDEVH) $(CONTRIB_MAK) $(MAKEDIRS)
+$(DEVOBJ)gdevlbp8.$(OBJ) : $(DEVSRC)gdevlbp8.c $(PDEVH) $(DCONTRIB_MAK) $(MAKEDIRS)
$(DEVCC) $(DEVO_)gdevlbp8.$(OBJ) $(C_) $(DEVSRC)gdevlbp8.c
### -------------- The Epson LP-8000 laser printer device -------------- ###
@@ -492,10 +492,10 @@ $(DEVOBJ)gdevlbp8.$(OBJ) : $(DEVSRC)gdevlbp8.c $(PDEVH) $(CONTRIB_MAK) $(MAKEDIR
### Oleg Fat'yanov <faty1@rlem.titech.ac.jp> if you have questions.###
lp8000_=$(DEVOBJ)gdevlp8k.$(OBJ)
-$(DD)lp8000.dev : $(lp8000_) $(DD)page.dev $(CONTRIB_MAK) $(MAKEDIRS)
+$(DD)lp8000.dev : $(lp8000_) $(DD)page.dev $(DCONTRIB_MAK) $(MAKEDIRS)
$(SETPDEV) $(DD)lp8000 $(lp8000_)
-$(DEVOBJ)gdevlp8k.$(OBJ) : $(DEVSRC)gdevlp8k.c $(PDEVH) $(CONTRIB_MAK) $(MAKEDIRS)
+$(DEVOBJ)gdevlp8k.$(OBJ) : $(DEVSRC)gdevlp8k.c $(PDEVH) $(DCONTRIB_MAK) $(MAKEDIRS)
$(DEVCC) $(DEVO_)gdevlp8k.$(OBJ) $(C_) $(DEVSRC)gdevlp8k.c
### -------------- The C.Itoh M8510 printer device --------------------- ###
@@ -503,10 +503,10 @@ $(DEVOBJ)gdevlp8k.$(OBJ) : $(DEVSRC)gdevlp8k.c $(PDEVH) $(CONTRIB_MAK) $(MAKEDI
### Smith <bob@snuffy.penfield.ny.us> if you have questions. ###
m8510_=$(DEVOBJ)gdev8510.$(OBJ)
-$(DD)m8510.dev : $(m8510_) $(DD)page.dev $(CONTRIB_MAK) $(MAKEDIRS)
+$(DD)m8510.dev : $(m8510_) $(DD)page.dev $(DCONTRIB_MAK) $(MAKEDIRS)
$(SETPDEV) $(DD)m8510 $(m8510_)
-$(DEVOBJ)gdev8510.$(OBJ) : $(DEVSRC)gdev8510.c $(PDEVH) $(CONTRIB_MAK) $(MAKEDIRS)
+$(DEVOBJ)gdev8510.$(OBJ) : $(DEVSRC)gdev8510.c $(PDEVH) $(DCONTRIB_MAK) $(MAKEDIRS)
$(DEVCC) $(DEVO_)gdev8510.$(OBJ) $(C_) $(DEVSRC)gdev8510.c
### -------------- 24pin Dot-matrix printer with 360DPI ---------------- ###
@@ -517,13 +517,13 @@ $(DEVOBJ)gdev8510.$(OBJ) : $(DEVSRC)gdev8510.c $(PDEVH) $(CONTRIB_MAK) $(MAKEDIR
### questions about the Epson LQ850. ###
dm24_=$(DEVOBJ)gdevdm24.$(OBJ)
-$(DD)necp6.dev : $(dm24_) $(DD)page.dev $(CONTRIB_MAK) $(MAKEDIRS)
+$(DD)necp6.dev : $(dm24_) $(DD)page.dev $(DCONTRIB_MAK) $(MAKEDIRS)
$(SETPDEV) $(DD)necp6 $(dm24_)
-$(DD)lq850.dev : $(dm24_) $(DD)page.dev $(CONTRIB_MAK) $(MAKEDIRS)
+$(DD)lq850.dev : $(dm24_) $(DD)page.dev $(DCONTRIB_MAK) $(MAKEDIRS)
$(SETPDEV) $(DD)lq850 $(dm24_)
-$(DEVOBJ)gdevdm24.$(OBJ) : $(DEVSRC)gdevdm24.c $(PDEVH) $(CONTRIB_MAK) $(MAKEDIRS)
+$(DEVOBJ)gdevdm24.$(OBJ) : $(DEVSRC)gdevdm24.c $(PDEVH) $(DCONTRIB_MAK) $(MAKEDIRS)
$(DEVCC) $(DEVO_)gdevdm24.$(OBJ) $(C_) $(DEVSRC)gdevdm24.c
### ----------------- Lexmark 5700 printer ----------------------------- ###
@@ -531,10 +531,10 @@ $(DEVOBJ)gdevdm24.$(OBJ) : $(DEVSRC)gdevdm24.c $(PDEVH) $(CONTRIB_MAK) $(MAKEDIR
### Stephen Taylor (setaylor@ma.ultranet.com) if you have questions. ###
lxm5700m_=$(DEVOBJ)gdevlxm.$(OBJ)
-$(DD)lxm5700m.dev : $(lxm5700m_) $(DD)page.dev $(CONTRIB_MAK) $(MAKEDIRS)
+$(DD)lxm5700m.dev : $(lxm5700m_) $(DD)page.dev $(DCONTRIB_MAK) $(MAKEDIRS)
$(SETPDEV) $(DD)lxm5700m $(lxm5700m_)
-$(DEVOBJ)gdevlxm.$(OBJ) : $(DEVSRC)gdevlxm.c $(PDEVH) $(gsparams_h) $(CONTRIB_MAK) $(MAKEDIRS)
+$(DEVOBJ)gdevlxm.$(OBJ) : $(DEVSRC)gdevlxm.c $(PDEVH) $(gsparams_h) $(DCONTRIB_MAK) $(MAKEDIRS)
$(DEVCC) $(DEVO_)gdevlxm.$(OBJ) $(C_) $(DEVSRC)gdevlxm.c
### ----------------- The Okidata MicroLine 182 device ----------------- ###
@@ -542,10 +542,10 @@ $(DEVOBJ)gdevlxm.$(OBJ) : $(DEVSRC)gdevlxm.c $(PDEVH) $(gsparams_h) $(CONTRIB_MA
### Maarten Koning (smeg@bnr.ca) if you have questions. ###
oki182_=$(DEVOBJ)gdevo182.$(OBJ)
-$(DD)oki182.dev : $(oki182_) $(DD)page.dev $(CONTRIB_MAK) $(MAKEDIRS)
+$(DD)oki182.dev : $(oki182_) $(DD)page.dev $(DCONTRIB_MAK) $(MAKEDIRS)
$(SETPDEV) $(DD)oki182 $(oki182_)
-$(DEVOBJ)gdevo182.$(OBJ) : $(DEVSRC)gdevo182.c $(PDEVH) $(CONTRIB_MAK) $(MAKEDIRS)
+$(DEVOBJ)gdevo182.$(OBJ) : $(DEVSRC)gdevo182.c $(PDEVH) $(DCONTRIB_MAK) $(MAKEDIRS)
$(DEVCC) $(DEVO_)gdevo182.$(OBJ) $(C_) $(DEVSRC)gdevo182.c
### ------------- The Okidata IBM compatible printer device ------------ ###
@@ -553,10 +553,10 @@ $(DEVOBJ)gdevo182.$(OBJ) : $(DEVSRC)gdevo182.c $(PDEVH) $(CONTRIB_MAK) $(MAKEDIR
### Charles Mack (chasm@netcom.com) if you have questions. ###
okiibm_=$(DEVOBJ)gdevokii.$(OBJ)
-$(DD)okiibm.dev : $(okiibm_) $(DD)page.dev $(CONTRIB_MAK) $(MAKEDIRS)
+$(DD)okiibm.dev : $(okiibm_) $(DD)page.dev $(DCONTRIB_MAK) $(MAKEDIRS)
$(SETPDEV) $(DD)okiibm $(okiibm_)
-$(DEVOBJ)gdevokii.$(OBJ) : $(DEVSRC)gdevokii.c $(PDEVH) $(CONTRIB_MAK) $(MAKEDIRS)
+$(DEVOBJ)gdevokii.$(OBJ) : $(DEVSRC)gdevokii.c $(PDEVH) $(DCONTRIB_MAK) $(MAKEDIRS)
$(DEVCC) $(DEVO_)gdevokii.$(OBJ) $(C_) $(DEVSRC)gdevokii.c
### ------------------ The Epson Stylus Photo devices ------------------ ###
@@ -564,10 +564,10 @@ $(DEVOBJ)gdevokii.$(OBJ) : $(DEVSRC)gdevokii.c $(PDEVH) $(CONTRIB_MAK) $(MAKEDIR
### Zoltan Kocsi (zoltan@bendor.com.au) if you have questions. ###
photoex_=$(DEVOBJ)gdevphex.$(OBJ)
-$(DD)photoex.dev : $(photoex_) $(DD)page.dev $(CONTRIB_MAK) $(MAKEDIRS)
+$(DD)photoex.dev : $(photoex_) $(DD)page.dev $(DCONTRIB_MAK) $(MAKEDIRS)
$(SETPDEV) $(DD)photoex $(photoex_)
-$(DEVOBJ)gdevphex.$(OBJ) : $(DEVSRC)gdevphex.c $(PDEVH) $(CONTRIB_MAK) $(MAKEDIRS)
+$(DEVOBJ)gdevphex.$(OBJ) : $(DEVSRC)gdevphex.c $(PDEVH) $(DCONTRIB_MAK) $(MAKEDIRS)
$(DEVCC) $(DEVO_)gdevphex.$(OBJ) $(C_) $(DEVSRC)gdevphex.c
### ------------- The Ricoh 4081 laser printer device ------------------ ###
@@ -575,11 +575,11 @@ $(DEVOBJ)gdevphex.$(OBJ) : $(DEVSRC)gdevphex.c $(PDEVH) $(CONTRIB_MAK) $(MAKEDIR
### please contact kdw@oasis.icl.co.uk if you have questions. ###
r4081_=$(DEVOBJ)gdev4081.$(OBJ)
-$(DD)r4081.dev : $(r4081_) $(DD)page.dev $(CONTRIB_MAK) $(MAKEDIRS)
+$(DD)r4081.dev : $(r4081_) $(DD)page.dev $(DCONTRIB_MAK) $(MAKEDIRS)
$(SETPDEV) $(DD)r4081 $(r4081_)
-$(DEVOBJ)gdev4081.$(OBJ) : $(DEVSRC)gdev4081.c $(PDEVH) $(CONTRIB_MAK) $(MAKEDIRS)
+$(DEVOBJ)gdev4081.$(OBJ) : $(DEVSRC)gdev4081.c $(PDEVH) $(DCONTRIB_MAK) $(MAKEDIRS)
$(DEVCC) $(DEVO_)gdev4081.$(OBJ) $(C_) $(DEVSRC)gdev4081.c
### -------------------- Sony NWP533 printer device -------------------- ###
@@ -587,10 +587,10 @@ $(DEVOBJ)gdev4081.$(OBJ) : $(DEVSRC)gdev4081.c $(PDEVH) $(CONTRIB_MAK) $(MAKEDIR
### Kivinen (kivinen@joker.cs.hut.fi) if you have questions. ###
nwp533_=$(DEVOBJ)gdevn533.$(OBJ)
-$(DD)nwp533.dev : $(nwp533_) $(DD)page.dev $(CONTRIB_MAK) $(MAKEDIRS)
+$(DD)nwp533.dev : $(nwp533_) $(DD)page.dev $(DCONTRIB_MAK) $(MAKEDIRS)
$(SETPDEV) $(DD)nwp533 $(nwp533_)
-$(DEVOBJ)gdevn533.$(OBJ) : $(DEVSRC)gdevn533.c $(PDEVH) $(CONTRIB_MAK) $(MAKEDIRS)
+$(DEVOBJ)gdevn533.$(OBJ) : $(DEVSRC)gdevn533.c $(PDEVH) $(DCONTRIB_MAK) $(MAKEDIRS)
$(DEVCC) $(DEVO_)gdevn533.$(OBJ) $(C_) $(DEVSRC)gdevn533.c
### ----------------- The StarJet SJ48 device -------------------------- ###
@@ -599,7 +599,7 @@ $(DEVOBJ)gdevn533.$(OBJ) : $(DEVSRC)gdevn533.c $(PDEVH) $(CONTRIB_MAK) $(MAKEDIR
### please contact Mats Akerblom (f86ma@dd.chalmers.se). ###
sj48_=$(DEVOBJ)gdevsj48.$(OBJ)
-$(DD)sj48.dev : $(sj48_) $(DD)page.dev $(CONTRIB_MAK) $(MAKEDIRS)
+$(DD)sj48.dev : $(sj48_) $(DD)page.dev $(DCONTRIB_MAK) $(MAKEDIRS)
$(SETPDEV) $(DD)sj48 $(sj48_)
$(DEVOBJ)gdevsj48.$(OBJ) : $(DEVSRC)gdevsj48.c $(PDEVH)
@@ -611,16 +611,16 @@ $(DEVOBJ)gdevsj48.$(OBJ) : $(DEVSRC)gdevsj48.c $(PDEVH)
### if you have questions. ###
t4693d_=$(DEVOBJ)gdev4693.$(OBJ)
-$(DD)t4693d2.dev : $(t4693d_) $(DD)page.dev $(CONTRIB_MAK) $(MAKEDIRS)
+$(DD)t4693d2.dev : $(t4693d_) $(DD)page.dev $(DCONTRIB_MAK) $(MAKEDIRS)
$(SETPDEV) $(DD)t4693d2 $(t4693d_)
-$(DD)t4693d4.dev : $(t4693d_) $(DD)page.dev $(CONTRIB_MAK) $(MAKEDIRS)
+$(DD)t4693d4.dev : $(t4693d_) $(DD)page.dev $(DCONTRIB_MAK) $(MAKEDIRS)
$(SETPDEV) $(DD)t4693d4 $(t4693d_)
-$(DD)t4693d8.dev : $(t4693d_) $(DD)page.dev $(CONTRIB_MAK) $(MAKEDIRS)
+$(DD)t4693d8.dev : $(t4693d_) $(DD)page.dev $(DCONTRIB_MAK) $(MAKEDIRS)
$(SETPDEV) $(DD)t4693d8 $(t4693d_)
-$(DEVOBJ)gdev4693.$(OBJ) : $(DEVSRC)gdev4693.c $(PDEVH) $(CONTRIB_MAK) $(MAKEDIRS)
+$(DEVOBJ)gdev4693.$(OBJ) : $(DEVSRC)gdev4693.c $(PDEVH) $(DCONTRIB_MAK) $(MAKEDIRS)
$(DEVCC) $(DEVO_)gdev4693.$(OBJ) $(C_) $(DEVSRC)gdev4693.c
### -------------------- Tektronix ink-jet printers -------------------- ###
@@ -628,10 +628,10 @@ $(DEVOBJ)gdev4693.$(OBJ) : $(DEVSRC)gdev4693.c $(PDEVH) $(CONTRIB_MAK) $(MAKEDIR
### Karsten Spang (spang@nbivax.nbi.dk) if you have questions. ###
tek4696_=$(DEVOBJ)gdevtknk.$(OBJ)
-$(DD)tek4696.dev : $(tek4696_) $(DD)page.dev $(CONTRIB_MAK) $(MAKEDIRS)
+$(DD)tek4696.dev : $(tek4696_) $(DD)page.dev $(DCONTRIB_MAK) $(MAKEDIRS)
$(SETPDEV) $(DD)tek4696 $(tek4696_)
-$(DEVOBJ)gdevtknk.$(OBJ) : $(DEVSRC)gdevtknk.c $(PDEVH) $(malloc__h) $(CONTRIB_MAK) $(MAKEDIRS)
+$(DEVOBJ)gdevtknk.$(OBJ) : $(DEVSRC)gdevtknk.c $(PDEVH) $(malloc__h) $(DCONTRIB_MAK) $(MAKEDIRS)
$(DEVCC) $(DEVO_)gdevtknk.$(OBJ) $(C_) $(DEVSRC)gdevtknk.c
###### ------------------------- Fax devices ------------------------- ######
@@ -642,12 +642,12 @@ $(DEVOBJ)gdevtknk.$(OBJ) : $(DEVSRC)gdevtknk.c $(PDEVH) $(malloc__h) $(CONTRIB_M
cfax_=$(DEVOBJ)gdevcfax.$(OBJ)
-$(DD)cfax.dev : $(cfax_) $(DD)fax.dev $(CONTRIB_MAK) $(MAKEDIRS)
+$(DD)cfax.dev : $(cfax_) $(DD)fax.dev $(DCONTRIB_MAK) $(MAKEDIRS)
$(SETDEV) $(DD)cfax $(cfax_)
$(ADDMOD) $(DD)cfax -include $(DD)fax
$(DEVOBJ)gdevcfax.$(OBJ) : $(DEVSRC)gdevcfax.c $(PDEVH)\
- $(gdevfax_h) $(scfx_h) $(strimpl_h) $(CONTRIB_MAK) $(MAKEDIRS)
+ $(gdevfax_h) $(scfx_h) $(strimpl_h) $(DCONTRIB_MAK) $(MAKEDIRS)
$(DEVCC) $(DEVO_)gdevcfax.$(OBJ) $(C_) $(DEVSRC)gdevcfax.c
### ------------------------- The DigiFAX device ------------------------ ###
@@ -659,16 +659,16 @@ $(DEVOBJ)gdevcfax.$(OBJ) : $(DEVSRC)gdevcfax.c $(PDEVH)\
dfax_=$(DEVOBJ)gdevdfax.$(OBJ)
-$(DD)dfaxlow.dev : $(dfax_) $(DD)tfax.dev $(CONTRIB_MAK) $(MAKEDIRS)
+$(DD)dfaxlow.dev : $(dfax_) $(DD)tfax.dev $(DCONTRIB_MAK) $(MAKEDIRS)
$(SETDEV) $(DD)dfaxlow $(dfax_)
$(ADDMOD) $(DEVGEN)dfaxlow -include $(DD)tfax
-$(DD)dfaxhigh.dev : $(dfax_) $(DD)tfax.dev $(CONTRIB_MAK) $(MAKEDIRS)
+$(DD)dfaxhigh.dev : $(dfax_) $(DD)tfax.dev $(DCONTRIB_MAK) $(MAKEDIRS)
$(SETDEV) $(DD)dfaxhigh $(dfax_)
$(ADDMOD) $(DEVGEN)dfaxhigh -include $(DD)tfax
$(DEVOBJ)gdevdfax.$(OBJ) : $(DEVSRC)gdevdfax.c $(PDEVH)\
- $(gdevfax_h) $(gdevtfax_h) $(scfx_h) $(strimpl_h) $(CONTRIB_MAK) $(MAKEDIRS)
+ $(gdevfax_h) $(gdevtfax_h) $(scfx_h) $(strimpl_h) $(DCONTRIB_MAK) $(MAKEDIRS)
$(DEVCC) $(DEVO_)gdevdfax.$(OBJ) $(C_) $(DEVSRC)gdevdfax.c
###### --------------------- Raster file formats --------------------- ######
@@ -678,10 +678,10 @@ $(DEVOBJ)gdevdfax.$(OBJ) : $(DEVSRC)gdevdfax.c $(PDEVH)\
### Frederic Petrot (petrot@masi.ibp.fr) if you have questions. ###
cif_=$(DEVOBJ)gdevcif.$(OBJ)
-$(DD)cif.dev : $(cif_) $(DD)page.dev $(CONTRIB_MAK) $(MAKEDIRS)
+$(DD)cif.dev : $(cif_) $(DD)page.dev $(DCONTRIB_MAK) $(MAKEDIRS)
$(SETPDEV) $(DD)cif $(cif_)
-$(DEVOBJ)gdevcif.$(OBJ) : $(DEVSRC)gdevcif.c $(PDEVH) $(CONTRIB_MAK) $(MAKEDIRS)
+$(DEVOBJ)gdevcif.$(OBJ) : $(DEVSRC)gdevcif.c $(PDEVH) $(DCONTRIB_MAK) $(MAKEDIRS)
$(DEVCC) $(DEVO_)gdevcif.$(OBJ) $(C_) $(DEVSRC)gdevcif.c
### ------------------------- Inferno bitmaps -------------------------- ###
@@ -689,11 +689,11 @@ $(DEVOBJ)gdevcif.$(OBJ) : $(DEVSRC)gdevcif.c $(PDEVH) $(CONTRIB_MAK) $(MAKEDIRS)
### Russ Cox <rsc@plan9.bell-labs.com> if you have questions. ###
inferno_=$(DEVOBJ)gdevifno.$(OBJ)
-$(DD)inferno.dev : $(inferno_) $(DD)page.dev $(CONTRIB_MAK) $(MAKEDIRS)
+$(DD)inferno.dev : $(inferno_) $(DD)page.dev $(DCONTRIB_MAK) $(MAKEDIRS)
$(SETPDEV) $(DD)inferno $(inferno_)
$(DEVOBJ)gdevifno.$(OBJ) : $(DEVSRC)gdevifno.c $(PDEVH)\
- $(gsparam_h) $(CONTRIB_MAK) $(MAKEDIRS)
+ $(gsparam_h) $(DCONTRIB_MAK) $(MAKEDIRS)
$(DEVCC) $(DEVO_)gdevifno.$(OBJ) $(C_) $(DEVSRC)gdevifno.c
### --------------------------- MGR devices ---------------------------- ###
@@ -705,25 +705,25 @@ MGR=$(DEVOBJ)gdevmgr.$(OBJ) $(DEVOBJ)gdevpccm.$(OBJ)
gdevmgr_h=$(DEVSRC)gdevmgr.h
$(DEVOBJ)gdevmgr.$(OBJ) : $(DEVSRC)gdevmgr.c $(PDEVH)\
- $(gdevmgr_h) $(gdevpccm_h) $(CONTRIB_MAK) $(MAKEDIRS)
+ $(gdevmgr_h) $(gdevpccm_h) $(DCONTRIB_MAK) $(MAKEDIRS)
$(DEVCC) $(DEVO_)gdevmgr.$(OBJ) $(C_) $(DEVSRC)gdevmgr.c
-$(DD)mgrmono.dev : $(MGR) $(DD)page.dev $(CONTRIB_MAK) $(MAKEDIRS)
+$(DD)mgrmono.dev : $(MGR) $(DD)page.dev $(DCONTRIB_MAK) $(MAKEDIRS)
$(SETPDEV) $(DD)mgrmono $(MGR)
-$(DD)mgrgray2.dev : $(MGR) $(DD)page.dev $(CONTRIB_MAK) $(MAKEDIRS)
+$(DD)mgrgray2.dev : $(MGR) $(DD)page.dev $(DCONTRIB_MAK) $(MAKEDIRS)
$(SETPDEV) $(DD)mgrgray2 $(MGR)
-$(DD)mgrgray4.dev : $(MGR) $(DD)page.dev $(CONTRIB_MAK) $(MAKEDIRS)
+$(DD)mgrgray4.dev : $(MGR) $(DD)page.dev $(DCONTRIB_MAK) $(MAKEDIRS)
$(SETPDEV) $(DD)mgrgray4 $(MGR)
-$(DD)mgrgray8.dev : $(MGR) $(DD)page.dev $(CONTRIB_MAK) $(MAKEDIRS)
+$(DD)mgrgray8.dev : $(MGR) $(DD)page.dev $(DCONTRIB_MAK) $(MAKEDIRS)
$(SETPDEV) $(DD)mgrgray8 $(MGR)
-$(DD)mgr4.dev : $(MGR) $(DD)page.dev $(CONTRIB_MAK) $(MAKEDIRS)
+$(DD)mgr4.dev : $(MGR) $(DD)page.dev $(DCONTRIB_MAK) $(MAKEDIRS)
$(SETPDEV) $(DD)mgr4 $(MGR)
-$(DD)mgr8.dev : $(MGR) $(DD)page.dev $(CONTRIB_MAK) $(MAKEDIRS)
+$(DD)mgr8.dev : $(MGR) $(DD)page.dev $(DCONTRIB_MAK) $(MAKEDIRS)
$(SETPDEV) $(DD)mgr8 $(MGR)
#########################################################################
@@ -733,16 +733,16 @@ $(DD)mgr8.dev : $(MGR) $(DD)page.dev $(CONTRIB_MAK) $(MAKEDIRS)
### These drivers are based on patches on existing device drivers in the
### src/ directory, therefore they are not in addons/
-$(DD)ljet4pjl.dev : $(HPMONO) $(DD)page.dev $(CONTRIB_MAK) $(MAKEDIRS)
+$(DD)ljet4pjl.dev : $(HPMONO) $(DD)page.dev $(DCONTRIB_MAK) $(MAKEDIRS)
$(SETPDEV) $(DD)ljet4pjl $(HPMONO)
-$(DD)lj4dithp.dev : $(cdeskjet_) $(DD)page.dev $(CONTRIB_MAK) $(MAKEDIRS)
+$(DD)lj4dithp.dev : $(cdeskjet_) $(DD)page.dev $(DCONTRIB_MAK) $(MAKEDIRS)
$(SETPDEV) $(DD)lj4dithp $(cdeskjet_)
-$(DD)dj505j.dev : $(cdeskjet_) $(CONTRIB_MAK) $(MAKEDIRS)
+$(DD)dj505j.dev : $(cdeskjet_) $(DCONTRIB_MAK) $(MAKEDIRS)
$(SETPDEV) $(DD)dj505j $(cdeskjet_)
-$(DD)picty180.dev : $(cdeskjet_) $(CONTRIB_MAK) $(MAKEDIRS)
+$(DD)picty180.dev : $(cdeskjet_) $(DCONTRIB_MAK) $(MAKEDIRS)
$(SETPDEV) $(DD)picty180 $(cdeskjet_)
#########################################################################
@@ -754,118 +754,119 @@ $(DEVSRC)gdevmeds.h:$(GLSRC)gxclthrd.h
$(DEVSRC)gdevmeds.h:$(GLSRC)gxclpage.h
$(DEVSRC)gdevmeds.h:$(GLSRC)gxclist.h
$(DEVSRC)gdevmeds.h:$(GLSRC)gxgstate.h
-$(DEVSRC)gdevmeds.h:$(GLSRC)gstrans.h
$(DEVSRC)gdevmeds.h:$(GLSRC)gxline.h
+$(DEVSRC)gdevmeds.h:$(GLSRC)gstrans.h
$(DEVSRC)gdevmeds.h:$(GLSRC)gsht1.h
-$(DEVSRC)gdevmeds.h:$(GLSRC)gxcomp.h
$(DEVSRC)gdevmeds.h:$(GLSRC)math_.h
$(DEVSRC)gdevmeds.h:$(GLSRC)gdevp14.h
$(DEVSRC)gdevmeds.h:$(GLSRC)gxcolor2.h
$(DEVSRC)gdevmeds.h:$(GLSRC)gxpcolor.h
-$(DEVSRC)gdevmeds.h:$(GLSRC)gx.h
$(DEVSRC)gdevmeds.h:$(GLSRC)gdevdevn.h
+$(DEVSRC)gdevmeds.h:$(GLSRC)gsequivc.h
+$(DEVSRC)gdevmeds.h:$(GLSRC)gx.h
$(DEVSRC)gdevmeds.h:$(GLSRC)gxblend.h
+$(DEVSRC)gdevmeds.h:$(GLSRC)gxclipsr.h
+$(DEVSRC)gdevmeds.h:$(GLSRC)gxcomp.h
+$(DEVSRC)gdevmeds.h:$(GLSRC)gxdcolor.h
$(DEVSRC)gdevmeds.h:$(GLSRC)gdebug.h
$(DEVSRC)gdevmeds.h:$(GLSRC)gxmatrix.h
+$(DEVSRC)gdevmeds.h:$(GLSRC)gxbitfmt.h
$(DEVSRC)gdevmeds.h:$(GLSRC)gxdevbuf.h
$(DEVSRC)gdevmeds.h:$(GLSRC)gxband.h
-$(DEVSRC)gdevmeds.h:$(GLSRC)gxbitfmt.h
-$(DEVSRC)gdevmeds.h:$(GLSRC)gsequivc.h
-$(DEVSRC)gdevmeds.h:$(GLSRC)gxclipsr.h
$(DEVSRC)gdevmeds.h:$(GLSRC)gscolor2.h
+$(DEVSRC)gdevmeds.h:$(GLSRC)gscindex.h
$(DEVSRC)gdevmeds.h:$(GLSRC)gxdevice.h
-$(DEVSRC)gdevmeds.h:$(GLSRC)gxcpath.h
$(DEVSRC)gdevmeds.h:$(GLSRC)gsht.h
+$(DEVSRC)gdevmeds.h:$(GLSRC)gxcpath.h
$(DEVSRC)gdevmeds.h:$(GLSRC)gxdevmem.h
+$(DEVSRC)gdevmeds.h:$(GLSRC)gxdevcli.h
$(DEVSRC)gdevmeds.h:$(GLSRC)gxpcache.h
-$(DEVSRC)gdevmeds.h:$(GLSRC)gscindex.h
$(DEVSRC)gdevmeds.h:$(GLSRC)gsptype1.h
-$(DEVSRC)gdevmeds.h:$(GLSRC)gxdevcli.h
$(DEVSRC)gdevmeds.h:$(GLSRC)gxtext.h
-$(DEVSRC)gdevmeds.h:$(GLSRC)gspcolor.h
+$(DEVSRC)gdevmeds.h:$(GLSRC)gscie.h
$(DEVSRC)gdevmeds.h:$(GLSRC)gstext.h
-$(DEVSRC)gdevmeds.h:$(GLSRC)gxdcolor.h
+$(DEVSRC)gdevmeds.h:$(GLSRC)gsnamecl.h
$(DEVSRC)gdevmeds.h:$(GLSRC)gstparam.h
-$(DEVSRC)gdevmeds.h:$(GLSRC)gscie.h
$(DEVSRC)gdevmeds.h:$(GLSRC)gxstate.h
-$(DEVSRC)gdevmeds.h:$(GLSRC)gxcmap.h
-$(DEVSRC)gdevmeds.h:$(GLSRC)gsmalloc.h
+$(DEVSRC)gdevmeds.h:$(GLSRC)gspcolor.h
+$(DEVSRC)gdevmeds.h:$(GLSRC)gxfcache.h
+$(DEVSRC)gdevmeds.h:$(GLSRC)gxcspace.h
$(DEVSRC)gdevmeds.h:$(GLSRC)gsropt.h
$(DEVSRC)gdevmeds.h:$(GLSRC)gsfunc.h
-$(DEVSRC)gdevmeds.h:$(GLSRC)gxctable.h
-$(DEVSRC)gdevmeds.h:$(GLSRC)gsnamecl.h
+$(DEVSRC)gdevmeds.h:$(GLSRC)gsmalloc.h
$(DEVSRC)gdevmeds.h:$(GLSRC)gxrplane.h
-$(DEVSRC)gdevmeds.h:$(GLSRC)gxcspace.h
-$(DEVSRC)gdevmeds.h:$(GLSRC)gxiclass.h
-$(DEVSRC)gdevmeds.h:$(GLSRC)gxclio.h
-$(DEVSRC)gdevmeds.h:$(GLSRC)gxfcache.h
+$(DEVSRC)gdevmeds.h:$(GLSRC)gxctable.h
+$(DEVSRC)gdevmeds.h:$(GLSRC)gsuid.h
+$(DEVSRC)gdevmeds.h:$(GLSRC)gxcmap.h
+$(DEVSRC)gdevmeds.h:$(GLSRC)gsimage.h
+$(DEVSRC)gdevmeds.h:$(GLSRC)gsdcolor.h
+$(DEVSRC)gdevmeds.h:$(GLSRC)gxdda.h
+$(DEVSRC)gdevmeds.h:$(GLSRC)gxcvalue.h
$(DEVSRC)gdevmeds.h:$(GLSRC)gsfont.h
$(DEVSRC)gdevmeds.h:$(GLSRC)gxfmap.h
-$(DEVSRC)gdevmeds.h:$(GLSRC)gxcvalue.h
-$(DEVSRC)gdevmeds.h:$(GLSRC)gxpath.h
-$(DEVSRC)gdevmeds.h:$(GLSRC)gspenum.h
-$(DEVSRC)gdevmeds.h:$(GLSRC)gxtmap.h
-$(DEVSRC)gdevmeds.h:$(GLSRC)gsimage.h
+$(DEVSRC)gdevmeds.h:$(GLSRC)gxiclass.h
+$(DEVSRC)gdevmeds.h:$(GLSRC)gxftype.h
$(DEVSRC)gdevmeds.h:$(GLSRC)gxfrac.h
-$(DEVSRC)gdevmeds.h:$(GLSRC)gxdda.h
-$(DEVSRC)gdevmeds.h:$(GLSRC)gslparam.h
-$(DEVSRC)gdevmeds.h:$(GLSRC)gxbcache.h
-$(DEVSRC)gdevmeds.h:$(GLSRC)gsdcolor.h
-$(DEVSRC)gdevmeds.h:$(GLSRC)gsrect.h
$(DEVSRC)gdevmeds.h:$(GLSRC)gscms.h
-$(DEVSRC)gdevmeds.h:$(GLSRC)gxftype.h
-$(DEVSRC)gdevmeds.h:$(GLSRC)gsdevice.h
$(DEVSRC)gdevmeds.h:$(GLSRC)gscspace.h
-$(DEVSRC)gdevmeds.h:$(GLSRC)gsuid.h
+$(DEVSRC)gdevmeds.h:$(GLSRC)gxpath.h
+$(DEVSRC)gdevmeds.h:$(GLSRC)gxbcache.h
+$(DEVSRC)gdevmeds.h:$(GLSRC)gsdevice.h
$(DEVSRC)gdevmeds.h:$(GLSRC)gxarith.h
-$(DEVSRC)gdevmeds.h:$(GLSRC)gsdsrc.h
$(DEVSRC)gdevmeds.h:$(GLSRC)gxstdio.h
+$(DEVSRC)gdevmeds.h:$(GLSRC)gspenum.h
+$(DEVSRC)gdevmeds.h:$(GLSRC)gxhttile.h
+$(DEVSRC)gdevmeds.h:$(GLSRC)gsrect.h
+$(DEVSRC)gdevmeds.h:$(GLSRC)gslparam.h
$(DEVSRC)gdevmeds.h:$(GLSRC)gsxfont.h
-$(DEVSRC)gdevmeds.h:$(GLSRC)gxfixed.h
-$(DEVSRC)gdevmeds.h:$(GLSRC)gsrefct.h
-$(DEVSRC)gdevmeds.h:$(GLSRC)gscpm.h
+$(DEVSRC)gdevmeds.h:$(GLSRC)gxclio.h
$(DEVSRC)gdevmeds.h:$(GLSRC)gsiparam.h
-$(DEVSRC)gdevmeds.h:$(GLSRC)gxhttile.h
+$(DEVSRC)gdevmeds.h:$(GLSRC)gsdsrc.h
$(DEVSRC)gdevmeds.h:$(GLSRC)gsio.h
-$(DEVSRC)gdevmeds.h:$(GLSRC)gp.h
-$(DEVSRC)gdevmeds.h:$(GLSRC)memento.h
-$(DEVSRC)gdevmeds.h:$(GLSRC)gsparam.h
-$(DEVSRC)gdevmeds.h:$(GLSRC)gsmatrix.h
$(DEVSRC)gdevmeds.h:$(GLSRC)gxbitmap.h
+$(DEVSRC)gdevmeds.h:$(GLSRC)gsmatrix.h
+$(DEVSRC)gdevmeds.h:$(GLSRC)gscpm.h
+$(DEVSRC)gdevmeds.h:$(GLSRC)gxfixed.h
+$(DEVSRC)gdevmeds.h:$(GLSRC)gsrefct.h
+$(DEVSRC)gdevmeds.h:$(GLSRC)gsparam.h
+$(DEVSRC)gdevmeds.h:$(GLSRC)gp.h
+$(DEVSRC)gdevmeds.h:$(GLSRC)gsccolor.h
+$(DEVSRC)gdevmeds.h:$(GLSRC)gsstruct.h
+$(DEVSRC)gdevmeds.h:$(GLSRC)gxsync.h
$(DEVSRC)gdevmeds.h:$(GLSRC)gsutil.h
$(DEVSRC)gdevmeds.h:$(GLSRC)gsstrl.h
$(DEVSRC)gdevmeds.h:$(GLSRC)gdbflags.h
$(DEVSRC)gdevmeds.h:$(GLSRC)srdline.h
-$(DEVSRC)gdevmeds.h:$(GLSRC)gsstruct.h
$(DEVSRC)gdevmeds.h:$(GLSRC)gserrors.h
-$(DEVSRC)gdevmeds.h:$(GLSRC)gxsync.h
+$(DEVSRC)gdevmeds.h:$(GLSRC)scommon.h
+$(DEVSRC)gdevmeds.h:$(GLSRC)memento.h
$(DEVSRC)gdevmeds.h:$(GLSRC)vmsmath.h
$(DEVSRC)gdevmeds.h:$(GLSRC)gscsel.h
-$(DEVSRC)gdevmeds.h:$(GLSRC)scommon.h
$(DEVSRC)gdevmeds.h:$(GLSRC)gsbitmap.h
$(DEVSRC)gdevmeds.h:$(GLSRC)gsfname.h
-$(DEVSRC)gdevmeds.h:$(GLSRC)gsccolor.h
$(DEVSRC)gdevmeds.h:$(GLSRC)gsstype.h
+$(DEVSRC)gdevmeds.h:$(GLSRC)stat_.h
+$(DEVSRC)gdevmeds.h:$(GLSRC)gxtmap.h
$(DEVSRC)gdevmeds.h:$(GLSRC)gsmemory.h
$(DEVSRC)gdevmeds.h:$(GLSRC)gpsync.h
-$(DEVSRC)gdevmeds.h:$(GLSRC)gpgetenv.h
$(DEVSRC)gdevmeds.h:$(GLSRC)memory_.h
+$(DEVSRC)gdevmeds.h:$(GLSRC)gpgetenv.h
$(DEVSRC)gdevmeds.h:$(GLSRC)gslibctx.h
$(DEVSRC)gdevmeds.h:$(GLSRC)gscdefs.h
+$(DEVSRC)gdevmeds.h:$(GLSRC)gs_dll_call.h
+$(DEVSRC)gdevmeds.h:$(GLSRC)stdio_.h
$(DEVSRC)gdevmeds.h:$(GLSRC)gscompt.h
$(DEVSRC)gdevmeds.h:$(GLSRC)gxcindex.h
-$(DEVSRC)gdevmeds.h:$(GLSRC)stdint_.h
$(DEVSRC)gdevmeds.h:$(GLSRC)gsgstate.h
+$(DEVSRC)gdevmeds.h:$(GLSRC)stdint_.h
+$(DEVSRC)gdevmeds.h:$(GLSRC)gssprintf.h
$(DEVSRC)gdevmeds.h:$(GLSRC)gsccode.h
-$(DEVSRC)gdevmeds.h:$(GLSRC)gs_dll_call.h
-$(DEVSRC)gdevmeds.h:$(GLSRC)stdio_.h
-$(DEVSRC)gdevmeds.h:$(GLSRC)gstypes.h
$(DEVSRC)gdevmeds.h:$(GLSRC)std.h
+$(DEVSRC)gdevmeds.h:$(GLSRC)gstypes.h
$(DEVSRC)gdevmeds.h:$(GLSRC)stdpre.h
$(DEVSRC)gdevmeds.h:$(GLGEN)arch.h
-$(DEVSRC)gdevmeds.h:$(GLSRC)gssprintf.h
-$(DEVSRC)gdevstc.h:$(GLSRC)gsstate.h
$(DEVSRC)gdevstc.h:$(GLSRC)gdevprn.h
+$(DEVSRC)gdevstc.h:$(GLSRC)gsstate.h
$(DEVSRC)gdevstc.h:$(GLSRC)string_.h
$(DEVSRC)gdevstc.h:$(GLSRC)gsstrtok.h
$(DEVSRC)gdevstc.h:$(GLSRC)gsovrc.h
@@ -873,183 +874,185 @@ $(DEVSRC)gdevstc.h:$(GLSRC)gxclthrd.h
$(DEVSRC)gdevstc.h:$(GLSRC)gxclpage.h
$(DEVSRC)gdevstc.h:$(GLSRC)gxclist.h
$(DEVSRC)gdevstc.h:$(GLSRC)gxgstate.h
-$(DEVSRC)gdevstc.h:$(GLSRC)gstrans.h
$(DEVSRC)gdevstc.h:$(GLSRC)gxline.h
-$(DEVSRC)gdevstc.h:$(GLSRC)gsht1.h
+$(DEVSRC)gdevstc.h:$(GLSRC)gstrans.h
$(DEVSRC)gdevstc.h:$(GLSRC)gscolor.h
-$(DEVSRC)gdevstc.h:$(GLSRC)gsline.h
-$(DEVSRC)gdevstc.h:$(GLSRC)gxcomp.h
+$(DEVSRC)gdevstc.h:$(GLSRC)gsht1.h
$(DEVSRC)gdevstc.h:$(GLSRC)math_.h
$(DEVSRC)gdevstc.h:$(GLSRC)gdevp14.h
$(DEVSRC)gdevstc.h:$(GLSRC)gxcolor2.h
$(DEVSRC)gdevstc.h:$(GLSRC)gxpcolor.h
-$(DEVSRC)gdevstc.h:$(GLSRC)gx.h
$(DEVSRC)gdevstc.h:$(GLSRC)gdevdevn.h
+$(DEVSRC)gdevstc.h:$(GLSRC)gsequivc.h
+$(DEVSRC)gdevstc.h:$(GLSRC)gx.h
$(DEVSRC)gdevstc.h:$(GLSRC)gxblend.h
+$(DEVSRC)gdevstc.h:$(GLSRC)gxclipsr.h
+$(DEVSRC)gdevstc.h:$(GLSRC)gxcomp.h
+$(DEVSRC)gdevstc.h:$(GLSRC)gsline.h
+$(DEVSRC)gdevstc.h:$(GLSRC)gxdcolor.h
$(DEVSRC)gdevstc.h:$(GLSRC)gdebug.h
$(DEVSRC)gdevstc.h:$(GLSRC)gxmatrix.h
+$(DEVSRC)gdevstc.h:$(GLSRC)gxbitfmt.h
$(DEVSRC)gdevstc.h:$(GLSRC)gxdevbuf.h
$(DEVSRC)gdevstc.h:$(GLSRC)gxband.h
-$(DEVSRC)gdevstc.h:$(GLSRC)gxbitfmt.h
-$(DEVSRC)gdevstc.h:$(GLSRC)gsequivc.h
-$(DEVSRC)gdevstc.h:$(GLSRC)gxclipsr.h
$(DEVSRC)gdevstc.h:$(GLSRC)gscolor2.h
+$(DEVSRC)gdevstc.h:$(GLSRC)gscindex.h
$(DEVSRC)gdevstc.h:$(GLSRC)gxdevice.h
-$(DEVSRC)gdevstc.h:$(GLSRC)gxcpath.h
$(DEVSRC)gdevstc.h:$(GLSRC)gsht.h
+$(DEVSRC)gdevstc.h:$(GLSRC)gxcpath.h
$(DEVSRC)gdevstc.h:$(GLSRC)gxdevmem.h
+$(DEVSRC)gdevstc.h:$(GLSRC)gxdevcli.h
$(DEVSRC)gdevstc.h:$(GLSRC)gxpcache.h
-$(DEVSRC)gdevstc.h:$(GLSRC)gscindex.h
$(DEVSRC)gdevstc.h:$(GLSRC)gsptype1.h
-$(DEVSRC)gdevstc.h:$(GLSRC)gxdevcli.h
$(DEVSRC)gdevstc.h:$(GLSRC)gxtext.h
-$(DEVSRC)gdevstc.h:$(GLSRC)gspcolor.h
+$(DEVSRC)gdevstc.h:$(GLSRC)gscie.h
$(DEVSRC)gdevstc.h:$(GLSRC)gstext.h
-$(DEVSRC)gdevstc.h:$(GLSRC)gxdcolor.h
+$(DEVSRC)gdevstc.h:$(GLSRC)gsnamecl.h
$(DEVSRC)gdevstc.h:$(GLSRC)gstparam.h
-$(DEVSRC)gdevstc.h:$(GLSRC)gscie.h
$(DEVSRC)gdevstc.h:$(GLSRC)gxstate.h
-$(DEVSRC)gdevstc.h:$(GLSRC)gxcmap.h
-$(DEVSRC)gdevstc.h:$(GLSRC)gsmalloc.h
+$(DEVSRC)gdevstc.h:$(GLSRC)gspcolor.h
+$(DEVSRC)gdevstc.h:$(GLSRC)gxfcache.h
+$(DEVSRC)gdevstc.h:$(GLSRC)gxcspace.h
$(DEVSRC)gdevstc.h:$(GLSRC)gsropt.h
$(DEVSRC)gdevstc.h:$(GLSRC)gsfunc.h
-$(DEVSRC)gdevstc.h:$(GLSRC)gxctable.h
-$(DEVSRC)gdevstc.h:$(GLSRC)gsnamecl.h
+$(DEVSRC)gdevstc.h:$(GLSRC)gsmalloc.h
$(DEVSRC)gdevstc.h:$(GLSRC)gxrplane.h
-$(DEVSRC)gdevstc.h:$(GLSRC)gxcspace.h
-$(DEVSRC)gdevstc.h:$(GLSRC)gxiclass.h
-$(DEVSRC)gdevstc.h:$(GLSRC)gxclio.h
-$(DEVSRC)gdevstc.h:$(GLSRC)gxfcache.h
+$(DEVSRC)gdevstc.h:$(GLSRC)gxctable.h
+$(DEVSRC)gdevstc.h:$(GLSRC)gsuid.h
+$(DEVSRC)gdevstc.h:$(GLSRC)gxcmap.h
+$(DEVSRC)gdevstc.h:$(GLSRC)gsimage.h
+$(DEVSRC)gdevstc.h:$(GLSRC)gsdcolor.h
+$(DEVSRC)gdevstc.h:$(GLSRC)gxdda.h
+$(DEVSRC)gdevstc.h:$(GLSRC)gxcvalue.h
$(DEVSRC)gdevstc.h:$(GLSRC)gsfont.h
$(DEVSRC)gdevstc.h:$(GLSRC)gxfmap.h
-$(DEVSRC)gdevstc.h:$(GLSRC)gxcvalue.h
-$(DEVSRC)gdevstc.h:$(GLSRC)gxpath.h
-$(DEVSRC)gdevstc.h:$(GLSRC)gspenum.h
-$(DEVSRC)gdevstc.h:$(GLSRC)gxtmap.h
-$(DEVSRC)gdevstc.h:$(GLSRC)gsimage.h
+$(DEVSRC)gdevstc.h:$(GLSRC)gxiclass.h
+$(DEVSRC)gdevstc.h:$(GLSRC)gxftype.h
$(DEVSRC)gdevstc.h:$(GLSRC)gxfrac.h
-$(DEVSRC)gdevstc.h:$(GLSRC)gxdda.h
-$(DEVSRC)gdevstc.h:$(GLSRC)gslparam.h
-$(DEVSRC)gdevstc.h:$(GLSRC)gxbcache.h
-$(DEVSRC)gdevstc.h:$(GLSRC)gsdcolor.h
-$(DEVSRC)gdevstc.h:$(GLSRC)gsrect.h
$(DEVSRC)gdevstc.h:$(GLSRC)gscms.h
-$(DEVSRC)gdevstc.h:$(GLSRC)gxftype.h
-$(DEVSRC)gdevstc.h:$(GLSRC)gsdevice.h
$(DEVSRC)gdevstc.h:$(GLSRC)gscspace.h
-$(DEVSRC)gdevstc.h:$(GLSRC)gsuid.h
+$(DEVSRC)gdevstc.h:$(GLSRC)gxpath.h
+$(DEVSRC)gdevstc.h:$(GLSRC)gxbcache.h
+$(DEVSRC)gdevstc.h:$(GLSRC)gsdevice.h
$(DEVSRC)gdevstc.h:$(GLSRC)gxarith.h
-$(DEVSRC)gdevstc.h:$(GLSRC)gsdsrc.h
$(DEVSRC)gdevstc.h:$(GLSRC)gxstdio.h
+$(DEVSRC)gdevstc.h:$(GLSRC)gspenum.h
+$(DEVSRC)gdevstc.h:$(GLSRC)gxhttile.h
+$(DEVSRC)gdevstc.h:$(GLSRC)gsrect.h
+$(DEVSRC)gdevstc.h:$(GLSRC)gslparam.h
$(DEVSRC)gdevstc.h:$(GLSRC)gsxfont.h
-$(DEVSRC)gdevstc.h:$(GLSRC)gxfixed.h
-$(DEVSRC)gdevstc.h:$(GLSRC)gsrefct.h
-$(DEVSRC)gdevstc.h:$(GLSRC)gscpm.h
+$(DEVSRC)gdevstc.h:$(GLSRC)gxclio.h
$(DEVSRC)gdevstc.h:$(GLSRC)gsiparam.h
-$(DEVSRC)gdevstc.h:$(GLSRC)gxhttile.h
+$(DEVSRC)gdevstc.h:$(GLSRC)gsdsrc.h
$(DEVSRC)gdevstc.h:$(GLSRC)gsio.h
-$(DEVSRC)gdevstc.h:$(GLSRC)gp.h
-$(DEVSRC)gdevstc.h:$(GLSRC)memento.h
-$(DEVSRC)gdevstc.h:$(GLSRC)gsparam.h
-$(DEVSRC)gdevstc.h:$(GLSRC)gsmatrix.h
$(DEVSRC)gdevstc.h:$(GLSRC)gxbitmap.h
+$(DEVSRC)gdevstc.h:$(GLSRC)gsmatrix.h
+$(DEVSRC)gdevstc.h:$(GLSRC)gscpm.h
+$(DEVSRC)gdevstc.h:$(GLSRC)gxfixed.h
+$(DEVSRC)gdevstc.h:$(GLSRC)gsrefct.h
+$(DEVSRC)gdevstc.h:$(GLSRC)gsparam.h
+$(DEVSRC)gdevstc.h:$(GLSRC)gp.h
+$(DEVSRC)gdevstc.h:$(GLSRC)gsccolor.h
+$(DEVSRC)gdevstc.h:$(GLSRC)gsstruct.h
+$(DEVSRC)gdevstc.h:$(GLSRC)gxsync.h
$(DEVSRC)gdevstc.h:$(GLSRC)gsutil.h
$(DEVSRC)gdevstc.h:$(GLSRC)gsstrl.h
$(DEVSRC)gdevstc.h:$(GLSRC)gdbflags.h
$(DEVSRC)gdevstc.h:$(GLSRC)srdline.h
-$(DEVSRC)gdevstc.h:$(GLSRC)gsstruct.h
$(DEVSRC)gdevstc.h:$(GLSRC)gserrors.h
-$(DEVSRC)gdevstc.h:$(GLSRC)gxsync.h
+$(DEVSRC)gdevstc.h:$(GLSRC)scommon.h
+$(DEVSRC)gdevstc.h:$(GLSRC)memento.h
$(DEVSRC)gdevstc.h:$(GLSRC)vmsmath.h
$(DEVSRC)gdevstc.h:$(GLSRC)gscsel.h
-$(DEVSRC)gdevstc.h:$(GLSRC)scommon.h
$(DEVSRC)gdevstc.h:$(GLSRC)gsbitmap.h
$(DEVSRC)gdevstc.h:$(GLSRC)gsfname.h
-$(DEVSRC)gdevstc.h:$(GLSRC)gsccolor.h
$(DEVSRC)gdevstc.h:$(GLSRC)gsstype.h
+$(DEVSRC)gdevstc.h:$(GLSRC)stat_.h
+$(DEVSRC)gdevstc.h:$(GLSRC)gxtmap.h
$(DEVSRC)gdevstc.h:$(GLSRC)gsmemory.h
$(DEVSRC)gdevstc.h:$(GLSRC)gpsync.h
-$(DEVSRC)gdevstc.h:$(GLSRC)gpgetenv.h
$(DEVSRC)gdevstc.h:$(GLSRC)memory_.h
+$(DEVSRC)gdevstc.h:$(GLSRC)gpgetenv.h
$(DEVSRC)gdevstc.h:$(GLSRC)gslibctx.h
$(DEVSRC)gdevstc.h:$(GLSRC)gscdefs.h
+$(DEVSRC)gdevstc.h:$(GLSRC)gs_dll_call.h
+$(DEVSRC)gdevstc.h:$(GLSRC)stdio_.h
$(DEVSRC)gdevstc.h:$(GLSRC)gscompt.h
$(DEVSRC)gdevstc.h:$(GLSRC)gxcindex.h
-$(DEVSRC)gdevstc.h:$(GLSRC)stdint_.h
$(DEVSRC)gdevstc.h:$(GLSRC)gsgstate.h
+$(DEVSRC)gdevstc.h:$(GLSRC)stdint_.h
+$(DEVSRC)gdevstc.h:$(GLSRC)gssprintf.h
$(DEVSRC)gdevstc.h:$(GLSRC)gsccode.h
-$(DEVSRC)gdevstc.h:$(GLSRC)gs_dll_call.h
-$(DEVSRC)gdevstc.h:$(GLSRC)stdio_.h
-$(DEVSRC)gdevstc.h:$(GLSRC)gstypes.h
$(DEVSRC)gdevstc.h:$(GLSRC)std.h
+$(DEVSRC)gdevstc.h:$(GLSRC)gstypes.h
$(DEVSRC)gdevstc.h:$(GLSRC)stdpre.h
$(DEVSRC)gdevstc.h:$(GLGEN)arch.h
-$(DEVSRC)gdevstc.h:$(GLSRC)gssprintf.h
$(DEVSRC)gdevmgr.h:$(GLSRC)gxdevcli.h
$(DEVSRC)gdevmgr.h:$(GLSRC)gxtext.h
$(DEVSRC)gdevmgr.h:$(GLSRC)gstext.h
+$(DEVSRC)gdevmgr.h:$(GLSRC)gsnamecl.h
$(DEVSRC)gdevmgr.h:$(GLSRC)gstparam.h
-$(DEVSRC)gdevmgr.h:$(GLSRC)gxcmap.h
+$(DEVSRC)gdevmgr.h:$(GLSRC)gxfcache.h
+$(DEVSRC)gdevmgr.h:$(GLSRC)gxcspace.h
$(DEVSRC)gdevmgr.h:$(GLSRC)gsropt.h
$(DEVSRC)gdevmgr.h:$(GLSRC)gsfunc.h
-$(DEVSRC)gdevmgr.h:$(GLSRC)gsnamecl.h
$(DEVSRC)gdevmgr.h:$(GLSRC)gxrplane.h
-$(DEVSRC)gdevmgr.h:$(GLSRC)gxcspace.h
-$(DEVSRC)gdevmgr.h:$(GLSRC)gxfcache.h
+$(DEVSRC)gdevmgr.h:$(GLSRC)gsuid.h
+$(DEVSRC)gdevmgr.h:$(GLSRC)gxcmap.h
+$(DEVSRC)gdevmgr.h:$(GLSRC)gsimage.h
+$(DEVSRC)gdevmgr.h:$(GLSRC)gsdcolor.h
+$(DEVSRC)gdevmgr.h:$(GLSRC)gxdda.h
+$(DEVSRC)gdevmgr.h:$(GLSRC)gxcvalue.h
$(DEVSRC)gdevmgr.h:$(GLSRC)gsfont.h
$(DEVSRC)gdevmgr.h:$(GLSRC)gxfmap.h
-$(DEVSRC)gdevmgr.h:$(GLSRC)gxcvalue.h
-$(DEVSRC)gdevmgr.h:$(GLSRC)gxpath.h
-$(DEVSRC)gdevmgr.h:$(GLSRC)gspenum.h
-$(DEVSRC)gdevmgr.h:$(GLSRC)gxtmap.h
-$(DEVSRC)gdevmgr.h:$(GLSRC)gsimage.h
+$(DEVSRC)gdevmgr.h:$(GLSRC)gxftype.h
$(DEVSRC)gdevmgr.h:$(GLSRC)gxfrac.h
-$(DEVSRC)gdevmgr.h:$(GLSRC)gxdda.h
-$(DEVSRC)gdevmgr.h:$(GLSRC)gslparam.h
-$(DEVSRC)gdevmgr.h:$(GLSRC)gxbcache.h
-$(DEVSRC)gdevmgr.h:$(GLSRC)gsdcolor.h
-$(DEVSRC)gdevmgr.h:$(GLSRC)gsrect.h
$(DEVSRC)gdevmgr.h:$(GLSRC)gscms.h
-$(DEVSRC)gdevmgr.h:$(GLSRC)gxftype.h
-$(DEVSRC)gdevmgr.h:$(GLSRC)gsdevice.h
$(DEVSRC)gdevmgr.h:$(GLSRC)gscspace.h
-$(DEVSRC)gdevmgr.h:$(GLSRC)gsuid.h
+$(DEVSRC)gdevmgr.h:$(GLSRC)gxpath.h
+$(DEVSRC)gdevmgr.h:$(GLSRC)gxbcache.h
+$(DEVSRC)gdevmgr.h:$(GLSRC)gsdevice.h
$(DEVSRC)gdevmgr.h:$(GLSRC)gxarith.h
-$(DEVSRC)gdevmgr.h:$(GLSRC)gsdsrc.h
+$(DEVSRC)gdevmgr.h:$(GLSRC)gspenum.h
+$(DEVSRC)gdevmgr.h:$(GLSRC)gxhttile.h
+$(DEVSRC)gdevmgr.h:$(GLSRC)gsrect.h
+$(DEVSRC)gdevmgr.h:$(GLSRC)gslparam.h
$(DEVSRC)gdevmgr.h:$(GLSRC)gsxfont.h
+$(DEVSRC)gdevmgr.h:$(GLSRC)gsiparam.h
+$(DEVSRC)gdevmgr.h:$(GLSRC)gsdsrc.h
+$(DEVSRC)gdevmgr.h:$(GLSRC)gxbitmap.h
+$(DEVSRC)gdevmgr.h:$(GLSRC)gsmatrix.h
+$(DEVSRC)gdevmgr.h:$(GLSRC)gscpm.h
$(DEVSRC)gdevmgr.h:$(GLSRC)gxfixed.h
$(DEVSRC)gdevmgr.h:$(GLSRC)gsrefct.h
-$(DEVSRC)gdevmgr.h:$(GLSRC)gscpm.h
-$(DEVSRC)gdevmgr.h:$(GLSRC)gsiparam.h
-$(DEVSRC)gdevmgr.h:$(GLSRC)gxhttile.h
-$(DEVSRC)gdevmgr.h:$(GLSRC)gp.h
-$(DEVSRC)gdevmgr.h:$(GLSRC)memento.h
$(DEVSRC)gdevmgr.h:$(GLSRC)gsparam.h
-$(DEVSRC)gdevmgr.h:$(GLSRC)gsmatrix.h
-$(DEVSRC)gdevmgr.h:$(GLSRC)gxbitmap.h
-$(DEVSRC)gdevmgr.h:$(GLSRC)srdline.h
+$(DEVSRC)gdevmgr.h:$(GLSRC)gp.h
+$(DEVSRC)gdevmgr.h:$(GLSRC)gsccolor.h
$(DEVSRC)gdevmgr.h:$(GLSRC)gsstruct.h
$(DEVSRC)gdevmgr.h:$(GLSRC)gxsync.h
-$(DEVSRC)gdevmgr.h:$(GLSRC)gscsel.h
+$(DEVSRC)gdevmgr.h:$(GLSRC)srdline.h
$(DEVSRC)gdevmgr.h:$(GLSRC)scommon.h
+$(DEVSRC)gdevmgr.h:$(GLSRC)memento.h
+$(DEVSRC)gdevmgr.h:$(GLSRC)gscsel.h
$(DEVSRC)gdevmgr.h:$(GLSRC)gsbitmap.h
-$(DEVSRC)gdevmgr.h:$(GLSRC)gsccolor.h
$(DEVSRC)gdevmgr.h:$(GLSRC)gsstype.h
+$(DEVSRC)gdevmgr.h:$(GLSRC)stat_.h
+$(DEVSRC)gdevmgr.h:$(GLSRC)gxtmap.h
$(DEVSRC)gdevmgr.h:$(GLSRC)gsmemory.h
$(DEVSRC)gdevmgr.h:$(GLSRC)gpsync.h
-$(DEVSRC)gdevmgr.h:$(GLSRC)gpgetenv.h
$(DEVSRC)gdevmgr.h:$(GLSRC)memory_.h
+$(DEVSRC)gdevmgr.h:$(GLSRC)gpgetenv.h
$(DEVSRC)gdevmgr.h:$(GLSRC)gslibctx.h
$(DEVSRC)gdevmgr.h:$(GLSRC)gscdefs.h
+$(DEVSRC)gdevmgr.h:$(GLSRC)gs_dll_call.h
+$(DEVSRC)gdevmgr.h:$(GLSRC)stdio_.h
$(DEVSRC)gdevmgr.h:$(GLSRC)gscompt.h
$(DEVSRC)gdevmgr.h:$(GLSRC)gxcindex.h
-$(DEVSRC)gdevmgr.h:$(GLSRC)stdint_.h
$(DEVSRC)gdevmgr.h:$(GLSRC)gsgstate.h
+$(DEVSRC)gdevmgr.h:$(GLSRC)stdint_.h
+$(DEVSRC)gdevmgr.h:$(GLSRC)gssprintf.h
$(DEVSRC)gdevmgr.h:$(GLSRC)gsccode.h
-$(DEVSRC)gdevmgr.h:$(GLSRC)gs_dll_call.h
-$(DEVSRC)gdevmgr.h:$(GLSRC)stdio_.h
-$(DEVSRC)gdevmgr.h:$(GLSRC)gstypes.h
$(DEVSRC)gdevmgr.h:$(GLSRC)std.h
+$(DEVSRC)gdevmgr.h:$(GLSRC)gstypes.h
$(DEVSRC)gdevmgr.h:$(GLSRC)stdpre.h
$(DEVSRC)gdevmgr.h:$(GLGEN)arch.h
-$(DEVSRC)gdevmgr.h:$(GLSRC)gssprintf.h
diff --git a/devices/devs.mak b/devices/devs.mak
index 17ddfe03..a9c6ec18 100644
--- a/devices/devs.mak
+++ b/devices/devs.mak
@@ -1237,30 +1237,6 @@ $(DEVOBJ)gdevpsd.$(OBJ) : $(DEVSRC)gdevpsd.c $(PDEVH) $(math__h)\
$(gdevppla_h) $(gxiodev_h) $(gdevpsd_h) $(gxdevsop_h) $(DEVS_MAK) $(MAKEDIRS)
$(DEVCC) $(DEVO_)gdevpsd.$(OBJ) $(C_) $(DEVSRC)gdevpsd.c
-### --------------------------- The GPRF device ------------------------- ###
-
-gprf_=$(DEVOBJ)gdevgprf.$(OBJ) $(GLOBJ)gdevdevn.$(OBJ) $(GLOBJ)gsequivc.$(OBJ) $(DEVOBJ)gdevppla.$(OBJ)
-
-$(DD)gprf.dev : $(gprf_) $(GLD)page.dev $(GDEV) $(DEVS_MAK) $(MAKEDIRS)
- $(SETDEV) $(DD)gprf $(gprf_)
-
-$(DEVOBJ)gdevgprf_1.$(OBJ) : $(DEVSRC)gdevgprf.c $(PDEVH) $(math__h)\
- $(gdevdcrd_h) $(gscrd_h) $(gscrdp_h) $(gsparam_h) $(gxlum_h)\
- $(gstypes_h) $(gxdcconv_h) $(gdevdevn_h) $(gsequivc_h) \
- $(gscms_h) $(gsicc_cache_h) $(gsicc_manage_h) $(gxgetbit_h)\
- $(gdevppla_h) $(gxdevsop_h) $(DEVS_MAK) $(MAKEDIRS)
- $(DEVCC) $(DEVO_)gdevgprf_1.$(OBJ) $(II)$(ZI_)$(_I) $(C_) $(DEVSRC)gdevgprf.c
-
-$(DEVOBJ)gdevgprf_0.$(OBJ) : $(DEVSRC)gdevgprf.c $(PDEVH) $(math__h)\
- $(gdevdcrd_h) $(gscrd_h) $(gscrdp_h) $(gsparam_h) $(gxlum_h)\
- $(gstypes_h) $(gxdcconv_h) $(gdevdevn_h) $(gsequivc_h) $(zlib_h)\
- $(gscms_h) $(gsicc_cache_h) $(gsicc_manage_h) $(gxgetbit_h)\
- $(gdevppla_h) $(gxdevsop_h) $(DEVS_MAK) $(MAKEDIRS)
- $(DEVCC) $(DEVO_)gdevgprf_0.$(OBJ) $(II)$(ZI_)$(_I) $(C_) $(DEVSRC)gdevgprf.c
-
-$(DEVOBJ)gdevgprf.$(OBJ) : $(DEVOBJ)gdevgprf_$(SHARE_ZLIB).$(OBJ) $(DEVS_MAK) $(MAKEDIRS)
- $(CP_) $(DEVOBJ)gdevgprf_$(SHARE_ZLIB).$(OBJ) $(DEVOBJ)gdevgprf.$(OBJ)
-
### ----------------------- The permutation device --------------------- ###
perm_=$(DEVOBJ)gdevperm.$(OBJ)
@@ -1695,11 +1671,23 @@ $(DD)tiffgray.dev : $(libtiff_dev) $(tiffgray_) $(DD)tiffs.dev\
$(SETPDEV2) $(DD)tiffgray $(tiffgray_)
$(ADDMOD) $(DD)tiffgray -include $(DD)tiffs $(tiff_i_)
-$(DEVOBJ)gdevtsep.$(OBJ) : $(DEVSRC)gdevtsep.c $(PDEVH) $(stdint__h)\
+$(DEVOBJ)gdevtsep_0.$(OBJ) : $(DEVSRC)gdevtsep.c $(PDEVH) $(stdint__h)\
$(gdevtifs_h) $(gdevdevn_h) $(gxdevsop_h) $(gsequivc_h) $(stdio__h) $(ctype__h)\
+ $(gxdht_h) $(gxiodev_h) $(gxdownscale_h) $(gzht_h)\
$(gxgetbit_h) $(gdevppla_h) $(gp_h) $(gstiffio_h) $(gsicc_h)\
$(gscms_h) $(gsicc_cache_h) $(gxdevsop_h) $(GDEV) $(DEVS_MAK) $(MAKEDIRS)
- $(DEVCC) $(I_)$(TI_)$(_I) $(DEVO_)gdevtsep.$(OBJ) $(C_) $(DEVSRC)gdevtsep.c
+ $(DEVCC) $(I_)$(TI_)$(_I) $(DEVO_)gdevtsep_0.$(OBJ) $(C_) $(DEVSRC)gdevtsep.c
+
+$(DEVOBJ)gdevtsep_1.$(OBJ) : $(DEVSRC)gdevtsep.c $(PDEVH) $(stdint__h)\
+ $(gdevtifs_h) $(gdevdevn_h) $(gxdevsop_h) $(gsequivc_h) $(stdio__h) $(ctype__h)\
+ $(gxdht_h) $(gxiodev_h) $(gxdownscale_h) $(gzht_h)\
+ $(gxgetbit_h) $(gdevppla_h) $(gp_h) $(gstiffio_h) $(gsicc_h) $(cal_h)\
+ $(gscms_h) $(gsicc_cache_h) $(gxdevsop_h) $(GDEV) $(DEVS_MAK) $(MAKEDIRS)
+ $(DEVCC) $(D_)WITH_CAL$(_D) $(I_)$(CALSRCDIR)$(_I) $(I_)$(TI_)$(_I) $(DEVO_)gdevtsep_1.$(OBJ) $(C_) $(DEVSRC)gdevtsep.c
+
+$(DEVOBJ)gdevtsep.$(OBJ) : $(DEVOBJ)gdevtsep_$(WITH_CAL).$(OBJ)
+ $(CP_) $(DEVOBJ)gdevtsep_$(WITH_CAL).$(OBJ) $(DEVOBJ)gdevtsep.$(OBJ)
+
# TIFF Scaled (downscaled gray -> mono), configurable compression
@@ -1878,16 +1866,18 @@ lcups_dev=$(LCUPSGENDIR)$(D)lcups.dev
lcupsi_dev=$(LCUPSIGENDIR)$(D)lcupsi.dev
cups_=$(DEVOBJ)gdevcups.$(OBJ)
-$(DD)cups.dev : $(lcups_dev) $(lcupsi_dev) $(cups_) $(GDEV) \
+$(DD)cups.dev : $(lcups_dev) $(lcupsi_dev) $(cups_) $(GDEV) $(GLD)page.dev \
$(DEVS_MAK) $(MAKEDIRS)
$(SETPDEV2) $(DD)cups $(cups_)
$(ADDMOD) $(DD)cups -include $(lcups_dev)
$(ADDMOD) $(DD)cups -include $(lcupsi_dev)
-$(DD)pwgraster.dev : $(lcups_dev) $(lcupsi_dev) $(cups_) $(GDEV) \
+ $(ADDMOD) $(DD)cups -include $(GLD)page
+$(DD)pwgraster.dev : $(lcups_dev) $(lcupsi_dev) $(cups_) $(GDEV) $(GLD)page.dev \
$(DEVS_MAK) $(MAKEDIRS)
$(SETPDEV2) $(DD)pwgraster $(cups_)
$(ADDMOD) $(DD)pwgraster -include $(lcups_dev)
$(ADDMOD) $(DD)pwgraster -include $(lcupsi_dev)
+ $(ADDMOD) $(DD)pwgraster -include $(GLD)page
$(DEVOBJ)gdevcups.$(OBJ) : $(LCUPSSRCDIR)$(D)gdevcups.c $(std_h) $(gxdevsop_h) $(DEVS_MAK) $(MAKEDIRS)
$(CUPS_CC) $(DEVO_)gdevcups.$(OBJ) $(C_) $(CFLAGS) $(CUPSCFLAGS) \
@@ -1947,6 +1937,25 @@ $(DEVOBJ)gdevpdfimg.$(OBJ) : $(DEVSRC)gdevpdfimg.c $(AK) $(gdevkrnlsclass_h) \
$(slzwx_h) $(szlibx_h) $(jpeglib__h) $(sdct_h) $(srlx_h) $(gsicc_cache_h) $(sjpeg_h)
$(DEVCC) $(DEVO_)gdevpdfimg.$(OBJ) $(C_) $(DEVSRC)gdevpdfimg.c
+### -------- URF device --------------------- ###
+urf=$(DEVOBJ)gdevurf.$(OBJ)
+$(DD)urfgray.dev : $(urf) $(GLD)page.dev $(GDEV) $(DEVS_MAK) $(MAKEDIRS)
+ $(SETPDEV2) $(DD)urfgray $(urf)
+ $(ADDMOD) $(DD)urfgray -include $(GLD)page
+
+$(DD)urfrgb.dev : $(urf) $(GLD)page.dev $(GDEV) $(DEVS_MAK) $(MAKEDIRS)
+ $(SETPDEV2) $(DD)urfrgb $(urf)
+ $(ADDMOD) $(DD)urfrgb -include $(GLD)page
+
+$(DD)urfcmyk.dev : $(urf) $(GLD)page.dev $(GDEV) $(DEVS_MAK) $(MAKEDIRS)
+ $(SETPDEV2) $(DD)urfcmyk $(urf)
+ $(ADDMOD) $(DD)urfcmyk -include $(GLD)page
+
+$(DEVOBJ)gdevurf.$(OBJ) : $(URFSRCDIR)$(D)gdevurf.c $(AK) $(PDEVH) \
+ $(gsparam_h) $(gdevdcrd_h) $(gscrd_h) $(gscrdp_h) $(gxlum_h) $(gxdcconv_h)\
+ $(gsutil_h) $(DEVS_MAK) $(MAKEDIRS)
+ $(DEVCC) $(DEVO_)gdevurf.$(OBJ) $(C_) $(URFSRCDIR)$(D)gdevurf.c
+
# Dependencies:
$(DEVSRC)gxfcopy.h:$(GLSRC)gsfont.h
$(DEVSRC)gxfcopy.h:$(GLSRC)gsmatrix.h
@@ -1954,102 +1963,103 @@ $(DEVSRC)gxfcopy.h:$(GLSRC)scommon.h
$(DEVSRC)gxfcopy.h:$(GLSRC)gsstype.h
$(DEVSRC)gxfcopy.h:$(GLSRC)gsmemory.h
$(DEVSRC)gxfcopy.h:$(GLSRC)gslibctx.h
-$(DEVSRC)gxfcopy.h:$(GLSRC)stdint_.h
-$(DEVSRC)gxfcopy.h:$(GLSRC)gsgstate.h
-$(DEVSRC)gxfcopy.h:$(GLSRC)gsccode.h
$(DEVSRC)gxfcopy.h:$(GLSRC)gs_dll_call.h
$(DEVSRC)gxfcopy.h:$(GLSRC)stdio_.h
-$(DEVSRC)gxfcopy.h:$(GLSRC)gstypes.h
+$(DEVSRC)gxfcopy.h:$(GLSRC)gsgstate.h
+$(DEVSRC)gxfcopy.h:$(GLSRC)stdint_.h
+$(DEVSRC)gxfcopy.h:$(GLSRC)gssprintf.h
+$(DEVSRC)gxfcopy.h:$(GLSRC)gsccode.h
$(DEVSRC)gxfcopy.h:$(GLSRC)std.h
+$(DEVSRC)gxfcopy.h:$(GLSRC)gstypes.h
$(DEVSRC)gxfcopy.h:$(GLSRC)stdpre.h
$(DEVSRC)gxfcopy.h:$(GLGEN)arch.h
-$(DEVSRC)gxfcopy.h:$(GLSRC)gssprintf.h
$(DEVSRC)gdev8bcm.h:$(GLSRC)gxcvalue.h
$(DEVSRC)gdev8bcm.h:$(GLSRC)stdpre.h
$(DEVSRC)gdevpcl.h:$(GLSRC)gxdevcli.h
$(DEVSRC)gdevpcl.h:$(GLSRC)gxtext.h
$(DEVSRC)gdevpcl.h:$(GLSRC)gstext.h
+$(DEVSRC)gdevpcl.h:$(GLSRC)gsnamecl.h
$(DEVSRC)gdevpcl.h:$(GLSRC)gstparam.h
-$(DEVSRC)gdevpcl.h:$(GLSRC)gxcmap.h
+$(DEVSRC)gdevpcl.h:$(GLSRC)gxfcache.h
+$(DEVSRC)gdevpcl.h:$(GLSRC)gxcspace.h
$(DEVSRC)gdevpcl.h:$(GLSRC)gsropt.h
$(DEVSRC)gdevpcl.h:$(GLSRC)gsfunc.h
-$(DEVSRC)gdevpcl.h:$(GLSRC)gsnamecl.h
$(DEVSRC)gdevpcl.h:$(GLSRC)gxrplane.h
-$(DEVSRC)gdevpcl.h:$(GLSRC)gxcspace.h
-$(DEVSRC)gdevpcl.h:$(GLSRC)gxfcache.h
+$(DEVSRC)gdevpcl.h:$(GLSRC)gsuid.h
+$(DEVSRC)gdevpcl.h:$(GLSRC)gxcmap.h
+$(DEVSRC)gdevpcl.h:$(GLSRC)gsimage.h
+$(DEVSRC)gdevpcl.h:$(GLSRC)gsdcolor.h
+$(DEVSRC)gdevpcl.h:$(GLSRC)gxdda.h
+$(DEVSRC)gdevpcl.h:$(GLSRC)gxcvalue.h
$(DEVSRC)gdevpcl.h:$(GLSRC)gsfont.h
$(DEVSRC)gdevpcl.h:$(GLSRC)gxfmap.h
-$(DEVSRC)gdevpcl.h:$(GLSRC)gxcvalue.h
-$(DEVSRC)gdevpcl.h:$(GLSRC)gxpath.h
-$(DEVSRC)gdevpcl.h:$(GLSRC)gspenum.h
-$(DEVSRC)gdevpcl.h:$(GLSRC)gxtmap.h
-$(DEVSRC)gdevpcl.h:$(GLSRC)gsimage.h
+$(DEVSRC)gdevpcl.h:$(GLSRC)gxftype.h
$(DEVSRC)gdevpcl.h:$(GLSRC)gxfrac.h
-$(DEVSRC)gdevpcl.h:$(GLSRC)gxdda.h
-$(DEVSRC)gdevpcl.h:$(GLSRC)gslparam.h
-$(DEVSRC)gdevpcl.h:$(GLSRC)gxbcache.h
-$(DEVSRC)gdevpcl.h:$(GLSRC)gsdcolor.h
-$(DEVSRC)gdevpcl.h:$(GLSRC)gsrect.h
$(DEVSRC)gdevpcl.h:$(GLSRC)gscms.h
-$(DEVSRC)gdevpcl.h:$(GLSRC)gxftype.h
-$(DEVSRC)gdevpcl.h:$(GLSRC)gsdevice.h
$(DEVSRC)gdevpcl.h:$(GLSRC)gscspace.h
-$(DEVSRC)gdevpcl.h:$(GLSRC)gsuid.h
+$(DEVSRC)gdevpcl.h:$(GLSRC)gxpath.h
+$(DEVSRC)gdevpcl.h:$(GLSRC)gxbcache.h
+$(DEVSRC)gdevpcl.h:$(GLSRC)gsdevice.h
$(DEVSRC)gdevpcl.h:$(GLSRC)gxarith.h
-$(DEVSRC)gdevpcl.h:$(GLSRC)gsdsrc.h
+$(DEVSRC)gdevpcl.h:$(GLSRC)gspenum.h
+$(DEVSRC)gdevpcl.h:$(GLSRC)gxhttile.h
+$(DEVSRC)gdevpcl.h:$(GLSRC)gsrect.h
+$(DEVSRC)gdevpcl.h:$(GLSRC)gslparam.h
$(DEVSRC)gdevpcl.h:$(GLSRC)gsxfont.h
+$(DEVSRC)gdevpcl.h:$(GLSRC)gsiparam.h
+$(DEVSRC)gdevpcl.h:$(GLSRC)gsdsrc.h
+$(DEVSRC)gdevpcl.h:$(GLSRC)gxbitmap.h
+$(DEVSRC)gdevpcl.h:$(GLSRC)gsmatrix.h
+$(DEVSRC)gdevpcl.h:$(GLSRC)gscpm.h
$(DEVSRC)gdevpcl.h:$(GLSRC)gxfixed.h
$(DEVSRC)gdevpcl.h:$(GLSRC)gsrefct.h
-$(DEVSRC)gdevpcl.h:$(GLSRC)gscpm.h
-$(DEVSRC)gdevpcl.h:$(GLSRC)gsiparam.h
-$(DEVSRC)gdevpcl.h:$(GLSRC)gxhttile.h
-$(DEVSRC)gdevpcl.h:$(GLSRC)gp.h
-$(DEVSRC)gdevpcl.h:$(GLSRC)memento.h
$(DEVSRC)gdevpcl.h:$(GLSRC)gsparam.h
-$(DEVSRC)gdevpcl.h:$(GLSRC)gsmatrix.h
-$(DEVSRC)gdevpcl.h:$(GLSRC)gxbitmap.h
-$(DEVSRC)gdevpcl.h:$(GLSRC)srdline.h
+$(DEVSRC)gdevpcl.h:$(GLSRC)gp.h
+$(DEVSRC)gdevpcl.h:$(GLSRC)gsccolor.h
$(DEVSRC)gdevpcl.h:$(GLSRC)gsstruct.h
$(DEVSRC)gdevpcl.h:$(GLSRC)gxsync.h
-$(DEVSRC)gdevpcl.h:$(GLSRC)gscsel.h
+$(DEVSRC)gdevpcl.h:$(GLSRC)srdline.h
$(DEVSRC)gdevpcl.h:$(GLSRC)scommon.h
+$(DEVSRC)gdevpcl.h:$(GLSRC)memento.h
+$(DEVSRC)gdevpcl.h:$(GLSRC)gscsel.h
$(DEVSRC)gdevpcl.h:$(GLSRC)gsbitmap.h
-$(DEVSRC)gdevpcl.h:$(GLSRC)gsccolor.h
$(DEVSRC)gdevpcl.h:$(GLSRC)gsstype.h
+$(DEVSRC)gdevpcl.h:$(GLSRC)stat_.h
+$(DEVSRC)gdevpcl.h:$(GLSRC)gxtmap.h
$(DEVSRC)gdevpcl.h:$(GLSRC)gsmemory.h
$(DEVSRC)gdevpcl.h:$(GLSRC)gpsync.h
-$(DEVSRC)gdevpcl.h:$(GLSRC)gpgetenv.h
$(DEVSRC)gdevpcl.h:$(GLSRC)memory_.h
+$(DEVSRC)gdevpcl.h:$(GLSRC)gpgetenv.h
$(DEVSRC)gdevpcl.h:$(GLSRC)gslibctx.h
$(DEVSRC)gdevpcl.h:$(GLSRC)gscdefs.h
+$(DEVSRC)gdevpcl.h:$(GLSRC)gs_dll_call.h
+$(DEVSRC)gdevpcl.h:$(GLSRC)stdio_.h
$(DEVSRC)gdevpcl.h:$(GLSRC)gscompt.h
$(DEVSRC)gdevpcl.h:$(GLSRC)gxcindex.h
-$(DEVSRC)gdevpcl.h:$(GLSRC)stdint_.h
$(DEVSRC)gdevpcl.h:$(GLSRC)gsgstate.h
+$(DEVSRC)gdevpcl.h:$(GLSRC)stdint_.h
+$(DEVSRC)gdevpcl.h:$(GLSRC)gssprintf.h
$(DEVSRC)gdevpcl.h:$(GLSRC)gsccode.h
-$(DEVSRC)gdevpcl.h:$(GLSRC)gs_dll_call.h
-$(DEVSRC)gdevpcl.h:$(GLSRC)stdio_.h
-$(DEVSRC)gdevpcl.h:$(GLSRC)gstypes.h
$(DEVSRC)gdevpcl.h:$(GLSRC)std.h
+$(DEVSRC)gdevpcl.h:$(GLSRC)gstypes.h
$(DEVSRC)gdevpcl.h:$(GLSRC)stdpre.h
$(DEVSRC)gdevpcl.h:$(GLGEN)arch.h
-$(DEVSRC)gdevpcl.h:$(GLSRC)gssprintf.h
$(DEVVECSRC)gdevpsu.h:$(GLSRC)gsdevice.h
-$(DEVVECSRC)gdevpsu.h:$(GLSRC)gsparam.h
$(DEVVECSRC)gdevpsu.h:$(GLSRC)gsmatrix.h
+$(DEVVECSRC)gdevpsu.h:$(GLSRC)gsparam.h
$(DEVVECSRC)gdevpsu.h:$(GLSRC)scommon.h
$(DEVVECSRC)gdevpsu.h:$(GLSRC)gsstype.h
$(DEVVECSRC)gdevpsu.h:$(GLSRC)gsmemory.h
$(DEVVECSRC)gdevpsu.h:$(GLSRC)gslibctx.h
-$(DEVVECSRC)gdevpsu.h:$(GLSRC)stdint_.h
-$(DEVVECSRC)gdevpsu.h:$(GLSRC)gsgstate.h
$(DEVVECSRC)gdevpsu.h:$(GLSRC)gs_dll_call.h
$(DEVVECSRC)gdevpsu.h:$(GLSRC)stdio_.h
-$(DEVVECSRC)gdevpsu.h:$(GLSRC)gstypes.h
+$(DEVVECSRC)gdevpsu.h:$(GLSRC)gsgstate.h
+$(DEVVECSRC)gdevpsu.h:$(GLSRC)stdint_.h
+$(DEVVECSRC)gdevpsu.h:$(GLSRC)gssprintf.h
$(DEVVECSRC)gdevpsu.h:$(GLSRC)std.h
+$(DEVVECSRC)gdevpsu.h:$(GLSRC)gstypes.h
$(DEVVECSRC)gdevpsu.h:$(GLSRC)stdpre.h
$(DEVVECSRC)gdevpsu.h:$(GLGEN)arch.h
-$(DEVVECSRC)gdevpsu.h:$(GLSRC)gssprintf.h
$(DEVSRC)gdevdljm.h:$(GLSRC)gdevprn.h
$(DEVSRC)gdevdljm.h:$(GLSRC)string_.h
$(DEVSRC)gdevdljm.h:$(GLSRC)gsstrtok.h
@@ -2058,191 +2068,198 @@ $(DEVSRC)gdevdljm.h:$(GLSRC)gxclpage.h
$(DEVSRC)gdevdljm.h:$(GLSRC)gxclist.h
$(DEVSRC)gdevdljm.h:$(DEVSRC)gdevpcl.h
$(DEVSRC)gdevdljm.h:$(GLSRC)gxgstate.h
-$(DEVSRC)gdevdljm.h:$(GLSRC)gstrans.h
$(DEVSRC)gdevdljm.h:$(GLSRC)gxline.h
+$(DEVSRC)gdevdljm.h:$(GLSRC)gstrans.h
$(DEVSRC)gdevdljm.h:$(GLSRC)gsht1.h
-$(DEVSRC)gdevdljm.h:$(GLSRC)gxcomp.h
$(DEVSRC)gdevdljm.h:$(GLSRC)math_.h
$(DEVSRC)gdevdljm.h:$(GLSRC)gdevp14.h
$(DEVSRC)gdevdljm.h:$(GLSRC)gxcolor2.h
$(DEVSRC)gdevdljm.h:$(GLSRC)gxpcolor.h
-$(DEVSRC)gdevdljm.h:$(GLSRC)gx.h
$(DEVSRC)gdevdljm.h:$(GLSRC)gdevdevn.h
+$(DEVSRC)gdevdljm.h:$(GLSRC)gsequivc.h
+$(DEVSRC)gdevdljm.h:$(GLSRC)gx.h
$(DEVSRC)gdevdljm.h:$(GLSRC)gxblend.h
+$(DEVSRC)gdevdljm.h:$(GLSRC)gxclipsr.h
+$(DEVSRC)gdevdljm.h:$(GLSRC)gxcomp.h
+$(DEVSRC)gdevdljm.h:$(GLSRC)gxdcolor.h
$(DEVSRC)gdevdljm.h:$(GLSRC)gdebug.h
$(DEVSRC)gdevdljm.h:$(GLSRC)gxmatrix.h
+$(DEVSRC)gdevdljm.h:$(GLSRC)gxbitfmt.h
$(DEVSRC)gdevdljm.h:$(GLSRC)gxdevbuf.h
$(DEVSRC)gdevdljm.h:$(GLSRC)gxband.h
-$(DEVSRC)gdevdljm.h:$(GLSRC)gxbitfmt.h
-$(DEVSRC)gdevdljm.h:$(GLSRC)gsequivc.h
-$(DEVSRC)gdevdljm.h:$(GLSRC)gxclipsr.h
$(DEVSRC)gdevdljm.h:$(GLSRC)gscolor2.h
+$(DEVSRC)gdevdljm.h:$(GLSRC)gscindex.h
$(DEVSRC)gdevdljm.h:$(GLSRC)gxdevice.h
-$(DEVSRC)gdevdljm.h:$(GLSRC)gxcpath.h
$(DEVSRC)gdevdljm.h:$(GLSRC)gsht.h
+$(DEVSRC)gdevdljm.h:$(GLSRC)gxcpath.h
$(DEVSRC)gdevdljm.h:$(GLSRC)gxdevmem.h
+$(DEVSRC)gdevdljm.h:$(GLSRC)gxdevcli.h
$(DEVSRC)gdevdljm.h:$(GLSRC)gxpcache.h
-$(DEVSRC)gdevdljm.h:$(GLSRC)gscindex.h
$(DEVSRC)gdevdljm.h:$(GLSRC)gsptype1.h
-$(DEVSRC)gdevdljm.h:$(GLSRC)gxdevcli.h
$(DEVSRC)gdevdljm.h:$(GLSRC)gxtext.h
-$(DEVSRC)gdevdljm.h:$(GLSRC)gspcolor.h
+$(DEVSRC)gdevdljm.h:$(GLSRC)gscie.h
$(DEVSRC)gdevdljm.h:$(GLSRC)gstext.h
-$(DEVSRC)gdevdljm.h:$(GLSRC)gxdcolor.h
+$(DEVSRC)gdevdljm.h:$(GLSRC)gsnamecl.h
$(DEVSRC)gdevdljm.h:$(GLSRC)gstparam.h
-$(DEVSRC)gdevdljm.h:$(GLSRC)gscie.h
$(DEVSRC)gdevdljm.h:$(GLSRC)gxstate.h
-$(DEVSRC)gdevdljm.h:$(GLSRC)gxcmap.h
-$(DEVSRC)gdevdljm.h:$(GLSRC)gsmalloc.h
+$(DEVSRC)gdevdljm.h:$(GLSRC)gspcolor.h
+$(DEVSRC)gdevdljm.h:$(GLSRC)gxfcache.h
+$(DEVSRC)gdevdljm.h:$(GLSRC)gxcspace.h
$(DEVSRC)gdevdljm.h:$(GLSRC)gsropt.h
$(DEVSRC)gdevdljm.h:$(GLSRC)gsfunc.h
-$(DEVSRC)gdevdljm.h:$(GLSRC)gxctable.h
-$(DEVSRC)gdevdljm.h:$(GLSRC)gsnamecl.h
+$(DEVSRC)gdevdljm.h:$(GLSRC)gsmalloc.h
$(DEVSRC)gdevdljm.h:$(GLSRC)gxrplane.h
-$(DEVSRC)gdevdljm.h:$(GLSRC)gxcspace.h
-$(DEVSRC)gdevdljm.h:$(GLSRC)gxiclass.h
-$(DEVSRC)gdevdljm.h:$(GLSRC)gxclio.h
-$(DEVSRC)gdevdljm.h:$(GLSRC)gxfcache.h
+$(DEVSRC)gdevdljm.h:$(GLSRC)gxctable.h
+$(DEVSRC)gdevdljm.h:$(GLSRC)gsuid.h
+$(DEVSRC)gdevdljm.h:$(GLSRC)gxcmap.h
+$(DEVSRC)gdevdljm.h:$(GLSRC)gsimage.h
+$(DEVSRC)gdevdljm.h:$(GLSRC)gsdcolor.h
+$(DEVSRC)gdevdljm.h:$(GLSRC)gxdda.h
+$(DEVSRC)gdevdljm.h:$(GLSRC)gxcvalue.h
$(DEVSRC)gdevdljm.h:$(GLSRC)gsfont.h
$(DEVSRC)gdevdljm.h:$(GLSRC)gxfmap.h
-$(DEVSRC)gdevdljm.h:$(GLSRC)gxcvalue.h
-$(DEVSRC)gdevdljm.h:$(GLSRC)gxpath.h
-$(DEVSRC)gdevdljm.h:$(GLSRC)gspenum.h
-$(DEVSRC)gdevdljm.h:$(GLSRC)gxtmap.h
-$(DEVSRC)gdevdljm.h:$(GLSRC)gsimage.h
+$(DEVSRC)gdevdljm.h:$(GLSRC)gxiclass.h
+$(DEVSRC)gdevdljm.h:$(GLSRC)gxftype.h
$(DEVSRC)gdevdljm.h:$(GLSRC)gxfrac.h
-$(DEVSRC)gdevdljm.h:$(GLSRC)gxdda.h
-$(DEVSRC)gdevdljm.h:$(GLSRC)gslparam.h
-$(DEVSRC)gdevdljm.h:$(GLSRC)gxbcache.h
-$(DEVSRC)gdevdljm.h:$(GLSRC)gsdcolor.h
-$(DEVSRC)gdevdljm.h:$(GLSRC)gsrect.h
$(DEVSRC)gdevdljm.h:$(GLSRC)gscms.h
-$(DEVSRC)gdevdljm.h:$(GLSRC)gxftype.h
-$(DEVSRC)gdevdljm.h:$(GLSRC)gsdevice.h
$(DEVSRC)gdevdljm.h:$(GLSRC)gscspace.h
-$(DEVSRC)gdevdljm.h:$(GLSRC)gsuid.h
+$(DEVSRC)gdevdljm.h:$(GLSRC)gxpath.h
+$(DEVSRC)gdevdljm.h:$(GLSRC)gxbcache.h
+$(DEVSRC)gdevdljm.h:$(GLSRC)gsdevice.h
$(DEVSRC)gdevdljm.h:$(GLSRC)gxarith.h
-$(DEVSRC)gdevdljm.h:$(GLSRC)gsdsrc.h
$(DEVSRC)gdevdljm.h:$(GLSRC)gxstdio.h
+$(DEVSRC)gdevdljm.h:$(GLSRC)gspenum.h
+$(DEVSRC)gdevdljm.h:$(GLSRC)gxhttile.h
+$(DEVSRC)gdevdljm.h:$(GLSRC)gsrect.h
+$(DEVSRC)gdevdljm.h:$(GLSRC)gslparam.h
$(DEVSRC)gdevdljm.h:$(GLSRC)gsxfont.h
-$(DEVSRC)gdevdljm.h:$(GLSRC)gxfixed.h
-$(DEVSRC)gdevdljm.h:$(GLSRC)gsrefct.h
-$(DEVSRC)gdevdljm.h:$(GLSRC)gscpm.h
+$(DEVSRC)gdevdljm.h:$(GLSRC)gxclio.h
$(DEVSRC)gdevdljm.h:$(GLSRC)gsiparam.h
-$(DEVSRC)gdevdljm.h:$(GLSRC)gxhttile.h
+$(DEVSRC)gdevdljm.h:$(GLSRC)gsdsrc.h
$(DEVSRC)gdevdljm.h:$(GLSRC)gsio.h
-$(DEVSRC)gdevdljm.h:$(GLSRC)gp.h
-$(DEVSRC)gdevdljm.h:$(GLSRC)memento.h
-$(DEVSRC)gdevdljm.h:$(GLSRC)gsparam.h
-$(DEVSRC)gdevdljm.h:$(GLSRC)gsmatrix.h
$(DEVSRC)gdevdljm.h:$(GLSRC)gxbitmap.h
+$(DEVSRC)gdevdljm.h:$(GLSRC)gsmatrix.h
+$(DEVSRC)gdevdljm.h:$(GLSRC)gscpm.h
+$(DEVSRC)gdevdljm.h:$(GLSRC)gxfixed.h
+$(DEVSRC)gdevdljm.h:$(GLSRC)gsrefct.h
+$(DEVSRC)gdevdljm.h:$(GLSRC)gsparam.h
+$(DEVSRC)gdevdljm.h:$(GLSRC)gp.h
+$(DEVSRC)gdevdljm.h:$(GLSRC)gsccolor.h
+$(DEVSRC)gdevdljm.h:$(GLSRC)gsstruct.h
+$(DEVSRC)gdevdljm.h:$(GLSRC)gxsync.h
$(DEVSRC)gdevdljm.h:$(GLSRC)gsutil.h
$(DEVSRC)gdevdljm.h:$(GLSRC)gsstrl.h
$(DEVSRC)gdevdljm.h:$(GLSRC)gdbflags.h
$(DEVSRC)gdevdljm.h:$(GLSRC)srdline.h
-$(DEVSRC)gdevdljm.h:$(GLSRC)gsstruct.h
$(DEVSRC)gdevdljm.h:$(GLSRC)gserrors.h
-$(DEVSRC)gdevdljm.h:$(GLSRC)gxsync.h
+$(DEVSRC)gdevdljm.h:$(GLSRC)scommon.h
+$(DEVSRC)gdevdljm.h:$(GLSRC)memento.h
$(DEVSRC)gdevdljm.h:$(GLSRC)vmsmath.h
$(DEVSRC)gdevdljm.h:$(GLSRC)gscsel.h
-$(DEVSRC)gdevdljm.h:$(GLSRC)scommon.h
$(DEVSRC)gdevdljm.h:$(GLSRC)gsbitmap.h
$(DEVSRC)gdevdljm.h:$(GLSRC)gsfname.h
-$(DEVSRC)gdevdljm.h:$(GLSRC)gsccolor.h
$(DEVSRC)gdevdljm.h:$(GLSRC)gsstype.h
+$(DEVSRC)gdevdljm.h:$(GLSRC)stat_.h
+$(DEVSRC)gdevdljm.h:$(GLSRC)gxtmap.h
$(DEVSRC)gdevdljm.h:$(GLSRC)gsmemory.h
$(DEVSRC)gdevdljm.h:$(GLSRC)gpsync.h
-$(DEVSRC)gdevdljm.h:$(GLSRC)gpgetenv.h
$(DEVSRC)gdevdljm.h:$(GLSRC)memory_.h
+$(DEVSRC)gdevdljm.h:$(GLSRC)gpgetenv.h
$(DEVSRC)gdevdljm.h:$(GLSRC)gslibctx.h
$(DEVSRC)gdevdljm.h:$(GLSRC)gscdefs.h
+$(DEVSRC)gdevdljm.h:$(GLSRC)gs_dll_call.h
+$(DEVSRC)gdevdljm.h:$(GLSRC)stdio_.h
$(DEVSRC)gdevdljm.h:$(GLSRC)gscompt.h
$(DEVSRC)gdevdljm.h:$(GLSRC)gxcindex.h
-$(DEVSRC)gdevdljm.h:$(GLSRC)stdint_.h
$(DEVSRC)gdevdljm.h:$(GLSRC)gsgstate.h
+$(DEVSRC)gdevdljm.h:$(GLSRC)stdint_.h
+$(DEVSRC)gdevdljm.h:$(GLSRC)gssprintf.h
$(DEVSRC)gdevdljm.h:$(GLSRC)gsccode.h
-$(DEVSRC)gdevdljm.h:$(GLSRC)gs_dll_call.h
-$(DEVSRC)gdevdljm.h:$(GLSRC)stdio_.h
-$(DEVSRC)gdevdljm.h:$(GLSRC)gstypes.h
$(DEVSRC)gdevdljm.h:$(GLSRC)std.h
+$(DEVSRC)gdevdljm.h:$(GLSRC)gstypes.h
$(DEVSRC)gdevdljm.h:$(GLSRC)stdpre.h
$(DEVSRC)gdevdljm.h:$(GLGEN)arch.h
-$(DEVSRC)gdevdljm.h:$(GLSRC)gssprintf.h
+$(DEVSRC)gdevxcmp.h:$(GLSRC)gxcvalue.h
+$(DEVSRC)gdevxcmp.h:$(GLSRC)x_.h
+$(DEVSRC)gdevxcmp.h:$(GLSRC)std.h
+$(DEVSRC)gdevxcmp.h:$(GLSRC)stdpre.h
+$(DEVSRC)gdevxcmp.h:$(GLGEN)arch.h
$(DEVSRC)gdevx.h:$(GLSRC)gdevbbox.h
$(DEVSRC)gdevx.h:$(DEVSRC)gdevxcmp.h
$(DEVSRC)gdevx.h:$(GLSRC)gxdevcli.h
$(DEVSRC)gdevx.h:$(GLSRC)gxtext.h
$(DEVSRC)gdevx.h:$(GLSRC)gstext.h
+$(DEVSRC)gdevx.h:$(GLSRC)gsnamecl.h
$(DEVSRC)gdevx.h:$(GLSRC)gstparam.h
-$(DEVSRC)gdevx.h:$(GLSRC)gxcmap.h
+$(DEVSRC)gdevx.h:$(GLSRC)gxfcache.h
+$(DEVSRC)gdevx.h:$(GLSRC)gxcspace.h
$(DEVSRC)gdevx.h:$(GLSRC)gsropt.h
$(DEVSRC)gdevx.h:$(GLSRC)gsfunc.h
-$(DEVSRC)gdevx.h:$(GLSRC)gsnamecl.h
$(DEVSRC)gdevx.h:$(GLSRC)gxrplane.h
-$(DEVSRC)gdevx.h:$(GLSRC)gxcspace.h
-$(DEVSRC)gdevx.h:$(GLSRC)gxfcache.h
+$(DEVSRC)gdevx.h:$(GLSRC)gsuid.h
+$(DEVSRC)gdevx.h:$(GLSRC)gxcmap.h
+$(DEVSRC)gdevx.h:$(GLSRC)gsimage.h
+$(DEVSRC)gdevx.h:$(GLSRC)gsdcolor.h
+$(DEVSRC)gdevx.h:$(GLSRC)gxdda.h
+$(DEVSRC)gdevx.h:$(GLSRC)gxcvalue.h
$(DEVSRC)gdevx.h:$(GLSRC)gsfont.h
$(DEVSRC)gdevx.h:$(GLSRC)gxfmap.h
-$(DEVSRC)gdevx.h:$(GLSRC)gxcvalue.h
-$(DEVSRC)gdevx.h:$(GLSRC)gxpath.h
-$(DEVSRC)gdevx.h:$(GLSRC)gspenum.h
-$(DEVSRC)gdevx.h:$(GLSRC)gxtmap.h
-$(DEVSRC)gdevx.h:$(GLSRC)gsimage.h
+$(DEVSRC)gdevx.h:$(GLSRC)gxftype.h
$(DEVSRC)gdevx.h:$(GLSRC)gxfrac.h
-$(DEVSRC)gdevx.h:$(GLSRC)gxdda.h
-$(DEVSRC)gdevx.h:$(GLSRC)gslparam.h
-$(DEVSRC)gdevx.h:$(GLSRC)gxbcache.h
-$(DEVSRC)gdevx.h:$(GLSRC)gsdcolor.h
-$(DEVSRC)gdevx.h:$(GLSRC)gsrect.h
$(DEVSRC)gdevx.h:$(GLSRC)gscms.h
-$(DEVSRC)gdevx.h:$(GLSRC)gxftype.h
-$(DEVSRC)gdevx.h:$(GLSRC)x_.h
-$(DEVSRC)gdevx.h:$(GLSRC)gsdevice.h
$(DEVSRC)gdevx.h:$(GLSRC)gscspace.h
-$(DEVSRC)gdevx.h:$(GLSRC)gsuid.h
+$(DEVSRC)gdevx.h:$(GLSRC)gxpath.h
+$(DEVSRC)gdevx.h:$(GLSRC)gxbcache.h
+$(DEVSRC)gdevx.h:$(GLSRC)gsdevice.h
$(DEVSRC)gdevx.h:$(GLSRC)gxarith.h
-$(DEVSRC)gdevx.h:$(GLSRC)gsdsrc.h
+$(DEVSRC)gdevx.h:$(GLSRC)gspenum.h
+$(DEVSRC)gdevx.h:$(GLSRC)gxhttile.h
+$(DEVSRC)gdevx.h:$(GLSRC)x_.h
+$(DEVSRC)gdevx.h:$(GLSRC)gsrect.h
+$(DEVSRC)gdevx.h:$(GLSRC)gslparam.h
$(DEVSRC)gdevx.h:$(GLSRC)gsxfont.h
+$(DEVSRC)gdevx.h:$(GLSRC)gsiparam.h
+$(DEVSRC)gdevx.h:$(GLSRC)gsdsrc.h
+$(DEVSRC)gdevx.h:$(GLSRC)gxbitmap.h
+$(DEVSRC)gdevx.h:$(GLSRC)gsmatrix.h
+$(DEVSRC)gdevx.h:$(GLSRC)gscpm.h
$(DEVSRC)gdevx.h:$(GLSRC)gxfixed.h
$(DEVSRC)gdevx.h:$(GLSRC)gsrefct.h
-$(DEVSRC)gdevx.h:$(GLSRC)gscpm.h
-$(DEVSRC)gdevx.h:$(GLSRC)gsiparam.h
-$(DEVSRC)gdevx.h:$(GLSRC)gxhttile.h
-$(DEVSRC)gdevx.h:$(GLSRC)gp.h
-$(DEVSRC)gdevx.h:$(GLSRC)memento.h
$(DEVSRC)gdevx.h:$(GLSRC)gsparam.h
-$(DEVSRC)gdevx.h:$(GLSRC)gsmatrix.h
-$(DEVSRC)gdevx.h:$(GLSRC)gxbitmap.h
-$(DEVSRC)gdevx.h:$(GLSRC)srdline.h
+$(DEVSRC)gdevx.h:$(GLSRC)gp.h
+$(DEVSRC)gdevx.h:$(GLSRC)gsccolor.h
$(DEVSRC)gdevx.h:$(GLSRC)gsstruct.h
$(DEVSRC)gdevx.h:$(GLSRC)gxsync.h
-$(DEVSRC)gdevx.h:$(GLSRC)gscsel.h
+$(DEVSRC)gdevx.h:$(GLSRC)srdline.h
$(DEVSRC)gdevx.h:$(GLSRC)scommon.h
+$(DEVSRC)gdevx.h:$(GLSRC)memento.h
+$(DEVSRC)gdevx.h:$(GLSRC)gscsel.h
$(DEVSRC)gdevx.h:$(GLSRC)gsbitmap.h
-$(DEVSRC)gdevx.h:$(GLSRC)gsccolor.h
$(DEVSRC)gdevx.h:$(GLSRC)gsstype.h
+$(DEVSRC)gdevx.h:$(GLSRC)stat_.h
+$(DEVSRC)gdevx.h:$(GLSRC)gxtmap.h
$(DEVSRC)gdevx.h:$(GLSRC)gsmemory.h
$(DEVSRC)gdevx.h:$(GLSRC)gpsync.h
-$(DEVSRC)gdevx.h:$(GLSRC)gpgetenv.h
$(DEVSRC)gdevx.h:$(GLSRC)memory_.h
+$(DEVSRC)gdevx.h:$(GLSRC)gpgetenv.h
$(DEVSRC)gdevx.h:$(GLSRC)gslibctx.h
$(DEVSRC)gdevx.h:$(GLSRC)gscdefs.h
+$(DEVSRC)gdevx.h:$(GLSRC)gs_dll_call.h
+$(DEVSRC)gdevx.h:$(GLSRC)stdio_.h
$(DEVSRC)gdevx.h:$(GLSRC)gscompt.h
$(DEVSRC)gdevx.h:$(GLSRC)gxcindex.h
-$(DEVSRC)gdevx.h:$(GLSRC)stdint_.h
$(DEVSRC)gdevx.h:$(GLSRC)gsgstate.h
+$(DEVSRC)gdevx.h:$(GLSRC)stdint_.h
+$(DEVSRC)gdevx.h:$(GLSRC)gssprintf.h
$(DEVSRC)gdevx.h:$(GLSRC)gsccode.h
-$(DEVSRC)gdevx.h:$(GLSRC)gs_dll_call.h
-$(DEVSRC)gdevx.h:$(GLSRC)stdio_.h
-$(DEVSRC)gdevx.h:$(GLSRC)gstypes.h
$(DEVSRC)gdevx.h:$(GLSRC)std.h
+$(DEVSRC)gdevx.h:$(GLSRC)gstypes.h
$(DEVSRC)gdevx.h:$(GLSRC)stdpre.h
$(DEVSRC)gdevx.h:$(GLGEN)arch.h
-$(DEVSRC)gdevx.h:$(GLSRC)gssprintf.h
$(DEVSRC)gdevpxut.h:$(GLSRC)gsdevice.h
+$(DEVSRC)gdevpxut.h:$(GLSRC)gsmatrix.h
$(DEVSRC)gdevpxut.h:$(GLSRC)gxfixed.h
$(DEVSRC)gdevpxut.h:$(GLSRC)gsparam.h
-$(DEVSRC)gdevpxut.h:$(GLSRC)gsmatrix.h
$(DEVSRC)gdevpxut.h:$(GLSRC)scommon.h
$(DEVSRC)gdevpxut.h:$(GLSRC)gdevpxat.h
$(DEVSRC)gdevpxut.h:$(GLSRC)gdevpxen.h
@@ -2250,662 +2267,662 @@ $(DEVSRC)gdevpxut.h:$(GLSRC)gdevpxop.h
$(DEVSRC)gdevpxut.h:$(GLSRC)gsstype.h
$(DEVSRC)gdevpxut.h:$(GLSRC)gsmemory.h
$(DEVSRC)gdevpxut.h:$(GLSRC)gslibctx.h
-$(DEVSRC)gdevpxut.h:$(GLSRC)stdint_.h
-$(DEVSRC)gdevpxut.h:$(GLSRC)gsgstate.h
$(DEVSRC)gdevpxut.h:$(GLSRC)gs_dll_call.h
$(DEVSRC)gdevpxut.h:$(GLSRC)stdio_.h
-$(DEVSRC)gdevpxut.h:$(GLSRC)gstypes.h
+$(DEVSRC)gdevpxut.h:$(GLSRC)gsgstate.h
+$(DEVSRC)gdevpxut.h:$(GLSRC)stdint_.h
+$(DEVSRC)gdevpxut.h:$(GLSRC)gssprintf.h
$(DEVSRC)gdevpxut.h:$(GLSRC)std.h
+$(DEVSRC)gdevpxut.h:$(GLSRC)gstypes.h
$(DEVSRC)gdevpxut.h:$(GLSRC)stdpre.h
$(DEVSRC)gdevpxut.h:$(GLGEN)arch.h
-$(DEVSRC)gdevpxut.h:$(GLSRC)gssprintf.h
$(DEVVECSRC)gdevpsdf.h:$(GLSRC)gdevvec.h
$(DEVVECSRC)gdevpsdf.h:$(GLSRC)gxgstate.h
-$(DEVVECSRC)gdevpsdf.h:$(GLSRC)gstrans.h
$(DEVVECSRC)gdevpsdf.h:$(GLSRC)gxline.h
+$(DEVVECSRC)gdevpsdf.h:$(GLSRC)gstrans.h
$(DEVVECSRC)gdevpsdf.h:$(GLSRC)gsht1.h
-$(DEVVECSRC)gdevpsdf.h:$(GLSRC)gxcomp.h
+$(DEVVECSRC)gdevpsdf.h:$(GLSRC)gdevbbox.h
$(DEVVECSRC)gdevpsdf.h:$(GLSRC)math_.h
$(DEVVECSRC)gdevpsdf.h:$(GLSRC)scfx.h
-$(DEVVECSRC)gdevpsdf.h:$(GLSRC)gdevbbox.h
-$(DEVVECSRC)gdevpsdf.h:$(GLSRC)spsdf.h
$(DEVVECSRC)gdevpsdf.h:$(GLSRC)gdevp14.h
$(DEVVECSRC)gdevpsdf.h:$(GLSRC)gxcolor2.h
+$(DEVVECSRC)gdevpsdf.h:$(GLSRC)spsdf.h
$(DEVVECSRC)gdevpsdf.h:$(GLSRC)gxpcolor.h
$(DEVVECSRC)gdevpsdf.h:$(GLSRC)gdevdevn.h
+$(DEVVECSRC)gdevpsdf.h:$(GLSRC)gsequivc.h
$(DEVVECSRC)gdevpsdf.h:$(GLSRC)gxblend.h
+$(DEVVECSRC)gdevpsdf.h:$(GLSRC)gxclipsr.h
+$(DEVVECSRC)gdevpsdf.h:$(GLSRC)gxcomp.h
+$(DEVVECSRC)gdevpsdf.h:$(GLSRC)gxdcolor.h
$(DEVVECSRC)gdevpsdf.h:$(GLSRC)gxmatrix.h
-$(DEVVECSRC)gdevpsdf.h:$(GLSRC)stream.h
$(DEVVECSRC)gdevpsdf.h:$(GLSRC)gxbitfmt.h
-$(DEVVECSRC)gdevpsdf.h:$(GLSRC)gsequivc.h
-$(DEVVECSRC)gdevpsdf.h:$(GLSRC)gxclipsr.h
$(DEVVECSRC)gdevpsdf.h:$(GLSRC)shc.h
$(DEVVECSRC)gdevpsdf.h:$(GLSRC)gscolor2.h
+$(DEVVECSRC)gdevpsdf.h:$(GLSRC)gscindex.h
$(DEVVECSRC)gdevpsdf.h:$(GLSRC)gxdevice.h
-$(DEVVECSRC)gdevpsdf.h:$(GLSRC)gxcpath.h
$(DEVVECSRC)gdevpsdf.h:$(GLSRC)gsht.h
-$(DEVVECSRC)gdevpsdf.h:$(GLSRC)gxiparam.h
+$(DEVVECSRC)gdevpsdf.h:$(GLSRC)gxcpath.h
$(DEVVECSRC)gdevpsdf.h:$(GLSRC)sa85x.h
+$(DEVVECSRC)gdevpsdf.h:$(GLSRC)gxiparam.h
+$(DEVVECSRC)gdevpsdf.h:$(GLSRC)sa85d.h
$(DEVVECSRC)gdevpsdf.h:$(GLSRC)gxdevmem.h
+$(DEVVECSRC)gdevpsdf.h:$(GLSRC)gxdevcli.h
$(DEVVECSRC)gdevpsdf.h:$(GLSRC)gxpcache.h
-$(DEVVECSRC)gdevpsdf.h:$(GLSRC)sa85d.h
-$(DEVVECSRC)gdevpsdf.h:$(GLSRC)gscindex.h
$(DEVVECSRC)gdevpsdf.h:$(GLSRC)gsptype1.h
-$(DEVVECSRC)gdevpsdf.h:$(GLSRC)gxdevcli.h
$(DEVVECSRC)gdevpsdf.h:$(GLSRC)gxtext.h
-$(DEVVECSRC)gdevpsdf.h:$(GLSRC)gspcolor.h
+$(DEVVECSRC)gdevpsdf.h:$(GLSRC)gscie.h
$(DEVVECSRC)gdevpsdf.h:$(GLSRC)gstext.h
-$(DEVVECSRC)gdevpsdf.h:$(GLSRC)gxdcolor.h
+$(DEVVECSRC)gdevpsdf.h:$(GLSRC)gsnamecl.h
$(DEVVECSRC)gdevpsdf.h:$(GLSRC)gstparam.h
-$(DEVVECSRC)gdevpsdf.h:$(GLSRC)gscie.h
$(DEVVECSRC)gdevpsdf.h:$(GLSRC)gxstate.h
-$(DEVVECSRC)gdevpsdf.h:$(GLSRC)gxcmap.h
-$(DEVVECSRC)gdevpsdf.h:$(GLSRC)gsmalloc.h
+$(DEVVECSRC)gdevpsdf.h:$(GLSRC)gspcolor.h
+$(DEVVECSRC)gdevpsdf.h:$(GLSRC)gxfcache.h
+$(DEVVECSRC)gdevpsdf.h:$(GLSRC)stream.h
+$(DEVVECSRC)gdevpsdf.h:$(GLSRC)gxcspace.h
$(DEVVECSRC)gdevpsdf.h:$(GLSRC)gsropt.h
$(DEVVECSRC)gdevpsdf.h:$(GLSRC)gsfunc.h
+$(DEVVECSRC)gdevpsdf.h:$(GLSRC)gsmalloc.h
+$(DEVVECSRC)gdevpsdf.h:$(GLSRC)gxrplane.h
$(DEVVECSRC)gdevpsdf.h:$(GLSRC)gxctable.h
-$(DEVVECSRC)gdevpsdf.h:$(GLSRC)gsnamecl.h
$(DEVVECSRC)gdevpsdf.h:$(GLSRC)gxiodev.h
-$(DEVVECSRC)gdevpsdf.h:$(GLSRC)gxrplane.h
-$(DEVVECSRC)gdevpsdf.h:$(GLSRC)gxcspace.h
+$(DEVVECSRC)gdevpsdf.h:$(GLSRC)gsuid.h
+$(DEVVECSRC)gdevpsdf.h:$(GLSRC)gxcmap.h
+$(DEVVECSRC)gdevpsdf.h:$(GLSRC)gxhldevc.h
$(DEVVECSRC)gdevpsdf.h:$(GLSRC)strimpl.h
-$(DEVVECSRC)gdevpsdf.h:$(GLSRC)gxiclass.h
-$(DEVVECSRC)gdevpsdf.h:$(GLSRC)stat_.h
-$(DEVVECSRC)gdevpsdf.h:$(GLSRC)gxfcache.h
+$(DEVVECSRC)gdevpsdf.h:$(GLSRC)gsimage.h
+$(DEVVECSRC)gdevpsdf.h:$(GLSRC)gsdcolor.h
+$(DEVVECSRC)gdevpsdf.h:$(GLSRC)gxdda.h
+$(DEVVECSRC)gdevpsdf.h:$(GLSRC)gxcvalue.h
$(DEVVECSRC)gdevpsdf.h:$(GLSRC)gsfont.h
$(DEVVECSRC)gdevpsdf.h:$(GLSRC)gxfmap.h
-$(DEVVECSRC)gdevpsdf.h:$(GLSRC)gxcvalue.h
-$(DEVVECSRC)gdevpsdf.h:$(GLSRC)gxpath.h
-$(DEVVECSRC)gdevpsdf.h:$(GLSRC)gspenum.h
-$(DEVVECSRC)gdevpsdf.h:$(GLSRC)gxtmap.h
-$(DEVVECSRC)gdevpsdf.h:$(GLSRC)gsimage.h
+$(DEVVECSRC)gdevpsdf.h:$(GLSRC)gxiclass.h
+$(DEVVECSRC)gdevpsdf.h:$(GLSRC)gxftype.h
$(DEVVECSRC)gdevpsdf.h:$(GLSRC)gxfrac.h
-$(DEVVECSRC)gdevpsdf.h:$(GLSRC)gxdda.h
-$(DEVVECSRC)gdevpsdf.h:$(GLSRC)gslparam.h
-$(DEVVECSRC)gdevpsdf.h:$(GLSRC)gxhldevc.h
-$(DEVVECSRC)gdevpsdf.h:$(GLSRC)gxbcache.h
-$(DEVVECSRC)gdevpsdf.h:$(GLSRC)gsdcolor.h
-$(DEVVECSRC)gdevpsdf.h:$(GLSRC)gsrect.h
$(DEVVECSRC)gdevpsdf.h:$(GLSRC)gscms.h
-$(DEVVECSRC)gdevpsdf.h:$(GLSRC)gxftype.h
-$(DEVVECSRC)gdevpsdf.h:$(GLSRC)gsdevice.h
$(DEVVECSRC)gdevpsdf.h:$(GLSRC)gscspace.h
-$(DEVVECSRC)gdevpsdf.h:$(GLSRC)gsuid.h
+$(DEVVECSRC)gdevpsdf.h:$(GLSRC)gxpath.h
+$(DEVVECSRC)gdevpsdf.h:$(GLSRC)gxbcache.h
+$(DEVVECSRC)gdevpsdf.h:$(GLSRC)gsdevice.h
$(DEVVECSRC)gdevpsdf.h:$(GLSRC)gxarith.h
-$(DEVVECSRC)gdevpsdf.h:$(GLSRC)gsdsrc.h
$(DEVVECSRC)gdevpsdf.h:$(GLSRC)gxstdio.h
+$(DEVVECSRC)gdevpsdf.h:$(GLSRC)gspenum.h
+$(DEVVECSRC)gdevpsdf.h:$(GLSRC)gxhttile.h
+$(DEVVECSRC)gdevpsdf.h:$(GLSRC)gsrect.h
+$(DEVVECSRC)gdevpsdf.h:$(GLSRC)gslparam.h
$(DEVVECSRC)gdevpsdf.h:$(GLSRC)gsxfont.h
-$(DEVVECSRC)gdevpsdf.h:$(GLSRC)gxfixed.h
-$(DEVVECSRC)gdevpsdf.h:$(GLSRC)gsrefct.h
-$(DEVVECSRC)gdevpsdf.h:$(GLSRC)gscpm.h
$(DEVVECSRC)gdevpsdf.h:$(GLSRC)gsiparam.h
-$(DEVVECSRC)gdevpsdf.h:$(GLSRC)gxhttile.h
+$(DEVVECSRC)gdevpsdf.h:$(GLSRC)gsdsrc.h
$(DEVVECSRC)gdevpsdf.h:$(GLSRC)gsio.h
-$(DEVVECSRC)gdevpsdf.h:$(GLSRC)gp.h
-$(DEVVECSRC)gdevpsdf.h:$(GLSRC)memento.h
-$(DEVVECSRC)gdevpsdf.h:$(GLSRC)gsparam.h
-$(DEVVECSRC)gdevpsdf.h:$(GLSRC)gsmatrix.h
$(DEVVECSRC)gdevpsdf.h:$(GLSRC)gxbitmap.h
-$(DEVVECSRC)gdevpsdf.h:$(GLSRC)srdline.h
+$(DEVVECSRC)gdevpsdf.h:$(GLSRC)gsmatrix.h
+$(DEVVECSRC)gdevpsdf.h:$(GLSRC)gscpm.h
+$(DEVVECSRC)gdevpsdf.h:$(GLSRC)gxfixed.h
+$(DEVVECSRC)gdevpsdf.h:$(GLSRC)gsrefct.h
+$(DEVVECSRC)gdevpsdf.h:$(GLSRC)gsparam.h
+$(DEVVECSRC)gdevpsdf.h:$(GLSRC)gp.h
+$(DEVVECSRC)gdevpsdf.h:$(GLSRC)gsccolor.h
$(DEVVECSRC)gdevpsdf.h:$(GLSRC)gsstruct.h
$(DEVVECSRC)gdevpsdf.h:$(GLSRC)gxsync.h
+$(DEVVECSRC)gdevpsdf.h:$(GLSRC)srdline.h
+$(DEVVECSRC)gdevpsdf.h:$(GLSRC)scommon.h
+$(DEVVECSRC)gdevpsdf.h:$(GLSRC)memento.h
$(DEVVECSRC)gdevpsdf.h:$(GLSRC)vmsmath.h
$(DEVVECSRC)gdevpsdf.h:$(GLSRC)gscsel.h
-$(DEVVECSRC)gdevpsdf.h:$(GLSRC)scommon.h
$(DEVVECSRC)gdevpsdf.h:$(GLSRC)gsbitmap.h
$(DEVVECSRC)gdevpsdf.h:$(GLSRC)gsfname.h
-$(DEVVECSRC)gdevpsdf.h:$(GLSRC)gsccolor.h
$(DEVVECSRC)gdevpsdf.h:$(GLSRC)gsstype.h
+$(DEVVECSRC)gdevpsdf.h:$(GLSRC)stat_.h
+$(DEVVECSRC)gdevpsdf.h:$(GLSRC)gxtmap.h
$(DEVVECSRC)gdevpsdf.h:$(GLSRC)gsmemory.h
$(DEVVECSRC)gdevpsdf.h:$(GLSRC)gpsync.h
-$(DEVVECSRC)gdevpsdf.h:$(GLSRC)gpgetenv.h
$(DEVVECSRC)gdevpsdf.h:$(GLSRC)memory_.h
+$(DEVVECSRC)gdevpsdf.h:$(GLSRC)gpgetenv.h
$(DEVVECSRC)gdevpsdf.h:$(GLSRC)gslibctx.h
$(DEVVECSRC)gdevpsdf.h:$(GLSRC)gscdefs.h
+$(DEVVECSRC)gdevpsdf.h:$(GLSRC)gs_dll_call.h
+$(DEVVECSRC)gdevpsdf.h:$(GLSRC)stdio_.h
$(DEVVECSRC)gdevpsdf.h:$(GLSRC)gscompt.h
$(DEVVECSRC)gdevpsdf.h:$(GLSRC)gsbittab.h
$(DEVVECSRC)gdevpsdf.h:$(GLSRC)gxcindex.h
-$(DEVVECSRC)gdevpsdf.h:$(GLSRC)stdint_.h
$(DEVVECSRC)gdevpsdf.h:$(GLSRC)gsgstate.h
+$(DEVVECSRC)gdevpsdf.h:$(GLSRC)stdint_.h
+$(DEVVECSRC)gdevpsdf.h:$(GLSRC)gssprintf.h
$(DEVVECSRC)gdevpsdf.h:$(GLSRC)gsccode.h
-$(DEVVECSRC)gdevpsdf.h:$(GLSRC)gs_dll_call.h
-$(DEVVECSRC)gdevpsdf.h:$(GLSRC)stdio_.h
-$(DEVVECSRC)gdevpsdf.h:$(GLSRC)gstypes.h
$(DEVVECSRC)gdevpsdf.h:$(GLSRC)std.h
+$(DEVVECSRC)gdevpsdf.h:$(GLSRC)gstypes.h
$(DEVVECSRC)gdevpsdf.h:$(GLSRC)stdpre.h
$(DEVVECSRC)gdevpsdf.h:$(GLGEN)arch.h
-$(DEVVECSRC)gdevpsdf.h:$(GLSRC)gssprintf.h
$(DEVVECSRC)gdevpsds.h:$(GLSRC)strimpl.h
$(DEVVECSRC)gdevpsds.h:$(GLSRC)gsdevice.h
$(DEVVECSRC)gdevpsds.h:$(GLSRC)gsiparam.h
-$(DEVVECSRC)gdevpsds.h:$(GLSRC)gsparam.h
-$(DEVVECSRC)gdevpsds.h:$(GLSRC)gsmatrix.h
$(DEVVECSRC)gdevpsds.h:$(GLSRC)gxbitmap.h
+$(DEVVECSRC)gdevpsds.h:$(GLSRC)gsmatrix.h
+$(DEVVECSRC)gdevpsds.h:$(GLSRC)gsparam.h
+$(DEVVECSRC)gdevpsds.h:$(GLSRC)gsccolor.h
$(DEVVECSRC)gdevpsds.h:$(GLSRC)gsstruct.h
$(DEVVECSRC)gdevpsds.h:$(GLSRC)scommon.h
$(DEVVECSRC)gdevpsds.h:$(GLSRC)gsbitmap.h
-$(DEVVECSRC)gdevpsds.h:$(GLSRC)gsccolor.h
$(DEVVECSRC)gdevpsds.h:$(GLSRC)gsstype.h
$(DEVVECSRC)gdevpsds.h:$(GLSRC)gsmemory.h
$(DEVVECSRC)gdevpsds.h:$(GLSRC)gslibctx.h
-$(DEVVECSRC)gdevpsds.h:$(GLSRC)stdint_.h
-$(DEVVECSRC)gdevpsds.h:$(GLSRC)gsgstate.h
$(DEVVECSRC)gdevpsds.h:$(GLSRC)gs_dll_call.h
$(DEVVECSRC)gdevpsds.h:$(GLSRC)stdio_.h
-$(DEVVECSRC)gdevpsds.h:$(GLSRC)gstypes.h
+$(DEVVECSRC)gdevpsds.h:$(GLSRC)gsgstate.h
+$(DEVVECSRC)gdevpsds.h:$(GLSRC)stdint_.h
+$(DEVVECSRC)gdevpsds.h:$(GLSRC)gssprintf.h
$(DEVVECSRC)gdevpsds.h:$(GLSRC)std.h
+$(DEVVECSRC)gdevpsds.h:$(GLSRC)gstypes.h
$(DEVVECSRC)gdevpsds.h:$(GLSRC)stdpre.h
$(DEVVECSRC)gdevpsds.h:$(GLGEN)arch.h
-$(DEVVECSRC)gdevpsds.h:$(GLSRC)gssprintf.h
$(DEVVECSRC)gdevpdfc.h:$(DEVVECSRC)gdevpdfx.h
$(DEVVECSRC)gdevpdfc.h:$(DEVVECSRC)gdevpsdf.h
$(DEVVECSRC)gdevpdfc.h:$(GLSRC)gdevvec.h
$(DEVVECSRC)gdevpdfc.h:$(GLSRC)gxgstate.h
-$(DEVVECSRC)gdevpdfc.h:$(GLSRC)gxfont.h
-$(DEVVECSRC)gdevpdfc.h:$(GLSRC)gstrans.h
$(DEVVECSRC)gdevpdfc.h:$(GLSRC)gxline.h
-$(DEVVECSRC)gdevpdfc.h:$(GLSRC)gsht1.h
+$(DEVVECSRC)gdevpdfc.h:$(GLSRC)gstrans.h
$(DEVVECSRC)gdevpdfc.h:$(GLSRC)sarc4.h
-$(DEVVECSRC)gdevpdfc.h:$(GLSRC)gxcomp.h
+$(DEVVECSRC)gdevpdfc.h:$(GLSRC)gsht1.h
+$(DEVVECSRC)gdevpdfc.h:$(GLSRC)gxfont.h
+$(DEVVECSRC)gdevpdfc.h:$(GLSRC)gdevbbox.h
$(DEVVECSRC)gdevpdfc.h:$(GLSRC)math_.h
$(DEVVECSRC)gdevpdfc.h:$(GLSRC)scfx.h
-$(DEVVECSRC)gdevpdfc.h:$(GLSRC)gdevbbox.h
-$(DEVVECSRC)gdevpdfc.h:$(GLSRC)spprint.h
-$(DEVVECSRC)gdevpdfc.h:$(GLSRC)spsdf.h
$(DEVVECSRC)gdevpdfc.h:$(GLSRC)gdevp14.h
$(DEVVECSRC)gdevpdfc.h:$(GLSRC)gxcolor2.h
+$(DEVVECSRC)gdevpdfc.h:$(GLSRC)spprint.h
+$(DEVVECSRC)gdevpdfc.h:$(GLSRC)spsdf.h
$(DEVVECSRC)gdevpdfc.h:$(GLSRC)gxpcolor.h
-$(DEVVECSRC)gdevpdfc.h:$(GLSRC)gspath.h
$(DEVVECSRC)gdevpdfc.h:$(GLSRC)gdevdevn.h
+$(DEVVECSRC)gdevpdfc.h:$(GLSRC)gsequivc.h
+$(DEVVECSRC)gdevpdfc.h:$(GLSRC)gspath.h
$(DEVVECSRC)gdevpdfc.h:$(GLSRC)gxblend.h
+$(DEVVECSRC)gdevpdfc.h:$(GLSRC)gxclipsr.h
+$(DEVVECSRC)gdevpdfc.h:$(GLSRC)gxcomp.h
+$(DEVVECSRC)gdevpdfc.h:$(GLSRC)gxdcolor.h
$(DEVVECSRC)gdevpdfc.h:$(GLSRC)gxmatrix.h
$(DEVVECSRC)gdevpdfc.h:$(GLSRC)gsgdata.h
-$(DEVVECSRC)gdevpdfc.h:$(GLSRC)stream.h
$(DEVVECSRC)gdevpdfc.h:$(GLSRC)gxbitfmt.h
-$(DEVVECSRC)gdevpdfc.h:$(GLSRC)gsequivc.h
-$(DEVVECSRC)gdevpdfc.h:$(GLSRC)gxclipsr.h
$(DEVVECSRC)gdevpdfc.h:$(GLSRC)shc.h
$(DEVVECSRC)gdevpdfc.h:$(GLSRC)gsgcache.h
$(DEVVECSRC)gdevpdfc.h:$(GLSRC)gscolor2.h
-$(DEVVECSRC)gdevpdfc.h:$(GLSRC)gxdevice.h
$(DEVVECSRC)gdevpdfc.h:$(GLSRC)gxfapi.h
+$(DEVVECSRC)gdevpdfc.h:$(GLSRC)gscindex.h
$(DEVVECSRC)gdevpdfc.h:$(GLSRC)gsnotify.h
$(DEVVECSRC)gdevpdfc.h:$(GLSRC)gsfcmap.h
-$(DEVVECSRC)gdevpdfc.h:$(GLSRC)gxcpath.h
+$(DEVVECSRC)gdevpdfc.h:$(GLSRC)gxdevice.h
$(DEVVECSRC)gdevpdfc.h:$(GLSRC)gsht.h
-$(DEVVECSRC)gdevpdfc.h:$(GLSRC)gxiparam.h
+$(DEVVECSRC)gdevpdfc.h:$(GLSRC)gxcpath.h
$(DEVVECSRC)gdevpdfc.h:$(GLSRC)sa85x.h
+$(DEVVECSRC)gdevpdfc.h:$(GLSRC)gxiparam.h
+$(DEVVECSRC)gdevpdfc.h:$(GLSRC)sa85d.h
$(DEVVECSRC)gdevpdfc.h:$(GLSRC)gxdevmem.h
+$(DEVVECSRC)gdevpdfc.h:$(GLSRC)gxdevcli.h
$(DEVVECSRC)gdevpdfc.h:$(GLSRC)gxpcache.h
-$(DEVVECSRC)gdevpdfc.h:$(GLSRC)sa85d.h
-$(DEVVECSRC)gdevpdfc.h:$(GLSRC)gscindex.h
$(DEVVECSRC)gdevpdfc.h:$(GLSRC)gsptype1.h
-$(DEVVECSRC)gdevpdfc.h:$(GLSRC)gxdevcli.h
$(DEVVECSRC)gdevpdfc.h:$(GLSRC)gxtext.h
-$(DEVVECSRC)gdevpdfc.h:$(GLSRC)gspcolor.h
+$(DEVVECSRC)gdevpdfc.h:$(GLSRC)gscie.h
$(DEVVECSRC)gdevpdfc.h:$(GLSRC)gstext.h
-$(DEVVECSRC)gdevpdfc.h:$(GLSRC)gxdcolor.h
+$(DEVVECSRC)gdevpdfc.h:$(GLSRC)gsnamecl.h
$(DEVVECSRC)gdevpdfc.h:$(GLSRC)gstparam.h
-$(DEVVECSRC)gdevpdfc.h:$(GLSRC)gscie.h
$(DEVVECSRC)gdevpdfc.h:$(GLSRC)gxstate.h
-$(DEVVECSRC)gdevpdfc.h:$(GLSRC)gxcmap.h
-$(DEVVECSRC)gdevpdfc.h:$(GLSRC)gsmalloc.h
+$(DEVVECSRC)gdevpdfc.h:$(GLSRC)gspcolor.h
+$(DEVVECSRC)gdevpdfc.h:$(GLSRC)gxfcache.h
+$(DEVVECSRC)gdevpdfc.h:$(GLSRC)stream.h
+$(DEVVECSRC)gdevpdfc.h:$(GLSRC)gxcspace.h
$(DEVVECSRC)gdevpdfc.h:$(GLSRC)gsropt.h
$(DEVVECSRC)gdevpdfc.h:$(GLSRC)gsfunc.h
+$(DEVVECSRC)gdevpdfc.h:$(GLSRC)gsmalloc.h
+$(DEVVECSRC)gdevpdfc.h:$(GLSRC)gxrplane.h
$(DEVVECSRC)gdevpdfc.h:$(GLSRC)gxctable.h
-$(DEVVECSRC)gdevpdfc.h:$(GLSRC)gsnamecl.h
$(DEVVECSRC)gdevpdfc.h:$(GLSRC)gxiodev.h
-$(DEVVECSRC)gdevpdfc.h:$(GLSRC)gxrplane.h
-$(DEVVECSRC)gdevpdfc.h:$(GLSRC)gxcspace.h
+$(DEVVECSRC)gdevpdfc.h:$(GLSRC)gsuid.h
+$(DEVVECSRC)gdevpdfc.h:$(GLSRC)gxcmap.h
+$(DEVVECSRC)gdevpdfc.h:$(GLSRC)gxhldevc.h
$(DEVVECSRC)gdevpdfc.h:$(GLSRC)strimpl.h
-$(DEVVECSRC)gdevpdfc.h:$(GLSRC)gxiclass.h
-$(DEVVECSRC)gdevpdfc.h:$(GLSRC)stat_.h
-$(DEVVECSRC)gdevpdfc.h:$(GLSRC)gxfcache.h
+$(DEVVECSRC)gdevpdfc.h:$(GLSRC)gsimage.h
+$(DEVVECSRC)gdevpdfc.h:$(GLSRC)gsdcolor.h
+$(DEVVECSRC)gdevpdfc.h:$(GLSRC)gxdda.h
+$(DEVVECSRC)gdevpdfc.h:$(GLSRC)gxcvalue.h
$(DEVVECSRC)gdevpdfc.h:$(GLSRC)gsfont.h
$(DEVVECSRC)gdevpdfc.h:$(GLSRC)gxfmap.h
-$(DEVVECSRC)gdevpdfc.h:$(GLSRC)gxcvalue.h
-$(DEVVECSRC)gdevpdfc.h:$(GLSRC)gxpath.h
-$(DEVVECSRC)gdevpdfc.h:$(GLSRC)gspenum.h
-$(DEVVECSRC)gdevpdfc.h:$(GLSRC)gxtmap.h
-$(DEVVECSRC)gdevpdfc.h:$(GLSRC)gsimage.h
+$(DEVVECSRC)gdevpdfc.h:$(GLSRC)gxiclass.h
+$(DEVVECSRC)gdevpdfc.h:$(GLSRC)gxftype.h
$(DEVVECSRC)gdevpdfc.h:$(GLSRC)gxfrac.h
-$(DEVVECSRC)gdevpdfc.h:$(GLSRC)gxdda.h
-$(DEVVECSRC)gdevpdfc.h:$(GLSRC)gslparam.h
-$(DEVVECSRC)gdevpdfc.h:$(GLSRC)gxhldevc.h
-$(DEVVECSRC)gdevpdfc.h:$(GLSRC)gxbcache.h
-$(DEVVECSRC)gdevpdfc.h:$(GLSRC)gsdcolor.h
-$(DEVVECSRC)gdevpdfc.h:$(GLSRC)gsrect.h
$(DEVVECSRC)gdevpdfc.h:$(GLSRC)gscms.h
-$(DEVVECSRC)gdevpdfc.h:$(GLSRC)gxftype.h
-$(DEVVECSRC)gdevpdfc.h:$(GLSRC)gsdevice.h
$(DEVVECSRC)gdevpdfc.h:$(GLSRC)gscspace.h
-$(DEVVECSRC)gdevpdfc.h:$(GLSRC)gsuid.h
+$(DEVVECSRC)gdevpdfc.h:$(GLSRC)gxpath.h
+$(DEVVECSRC)gdevpdfc.h:$(GLSRC)gxbcache.h
+$(DEVVECSRC)gdevpdfc.h:$(GLSRC)gsdevice.h
$(DEVVECSRC)gdevpdfc.h:$(GLSRC)gxarith.h
-$(DEVVECSRC)gdevpdfc.h:$(GLSRC)gsdsrc.h
$(DEVVECSRC)gdevpdfc.h:$(GLSRC)gxstdio.h
+$(DEVVECSRC)gdevpdfc.h:$(GLSRC)gspenum.h
+$(DEVVECSRC)gdevpdfc.h:$(GLSRC)gxhttile.h
+$(DEVVECSRC)gdevpdfc.h:$(GLSRC)gsrect.h
+$(DEVVECSRC)gdevpdfc.h:$(GLSRC)gslparam.h
$(DEVVECSRC)gdevpdfc.h:$(GLSRC)gsxfont.h
-$(DEVVECSRC)gdevpdfc.h:$(GLSRC)gxfixed.h
-$(DEVVECSRC)gdevpdfc.h:$(GLSRC)gsrefct.h
-$(DEVVECSRC)gdevpdfc.h:$(GLSRC)gscpm.h
$(DEVVECSRC)gdevpdfc.h:$(GLSRC)gsiparam.h
-$(DEVVECSRC)gdevpdfc.h:$(GLSRC)gxhttile.h
+$(DEVVECSRC)gdevpdfc.h:$(GLSRC)gsdsrc.h
$(DEVVECSRC)gdevpdfc.h:$(GLSRC)gsio.h
-$(DEVVECSRC)gdevpdfc.h:$(GLSRC)gp.h
-$(DEVVECSRC)gdevpdfc.h:$(GLSRC)memento.h
-$(DEVVECSRC)gdevpdfc.h:$(GLSRC)gsparam.h
-$(DEVVECSRC)gdevpdfc.h:$(GLSRC)gsmatrix.h
$(DEVVECSRC)gdevpdfc.h:$(GLSRC)gxbitmap.h
-$(DEVVECSRC)gdevpdfc.h:$(GLSRC)srdline.h
+$(DEVVECSRC)gdevpdfc.h:$(GLSRC)gsmatrix.h
+$(DEVVECSRC)gdevpdfc.h:$(GLSRC)gscpm.h
+$(DEVVECSRC)gdevpdfc.h:$(GLSRC)gxfixed.h
+$(DEVVECSRC)gdevpdfc.h:$(GLSRC)gsrefct.h
+$(DEVVECSRC)gdevpdfc.h:$(GLSRC)gsparam.h
+$(DEVVECSRC)gdevpdfc.h:$(GLSRC)gp.h
+$(DEVVECSRC)gdevpdfc.h:$(GLSRC)gsccolor.h
$(DEVVECSRC)gdevpdfc.h:$(GLSRC)gsstruct.h
$(DEVVECSRC)gdevpdfc.h:$(GLSRC)gxsync.h
+$(DEVVECSRC)gdevpdfc.h:$(GLSRC)srdline.h
+$(DEVVECSRC)gdevpdfc.h:$(GLSRC)scommon.h
+$(DEVVECSRC)gdevpdfc.h:$(GLSRC)memento.h
$(DEVVECSRC)gdevpdfc.h:$(GLSRC)vmsmath.h
$(DEVVECSRC)gdevpdfc.h:$(GLSRC)gscsel.h
-$(DEVVECSRC)gdevpdfc.h:$(GLSRC)scommon.h
$(DEVVECSRC)gdevpdfc.h:$(GLSRC)gsbitmap.h
$(DEVVECSRC)gdevpdfc.h:$(GLSRC)gsfname.h
-$(DEVVECSRC)gdevpdfc.h:$(GLSRC)gsccolor.h
$(DEVVECSRC)gdevpdfc.h:$(GLSRC)gsstype.h
+$(DEVVECSRC)gdevpdfc.h:$(GLSRC)stat_.h
+$(DEVVECSRC)gdevpdfc.h:$(GLSRC)gxtmap.h
$(DEVVECSRC)gdevpdfc.h:$(GLSRC)gsmemory.h
$(DEVVECSRC)gdevpdfc.h:$(GLSRC)gpsync.h
-$(DEVVECSRC)gdevpdfc.h:$(GLSRC)gpgetenv.h
$(DEVVECSRC)gdevpdfc.h:$(GLSRC)memory_.h
+$(DEVVECSRC)gdevpdfc.h:$(GLSRC)gpgetenv.h
$(DEVVECSRC)gdevpdfc.h:$(GLSRC)gslibctx.h
$(DEVVECSRC)gdevpdfc.h:$(GLSRC)gscdefs.h
+$(DEVVECSRC)gdevpdfc.h:$(GLSRC)gs_dll_call.h
+$(DEVVECSRC)gdevpdfc.h:$(GLSRC)stdio_.h
$(DEVVECSRC)gdevpdfc.h:$(GLSRC)gscompt.h
$(DEVVECSRC)gdevpdfc.h:$(GLSRC)gsbittab.h
$(DEVVECSRC)gdevpdfc.h:$(GLSRC)gxcindex.h
-$(DEVVECSRC)gdevpdfc.h:$(GLSRC)stdint_.h
$(DEVVECSRC)gdevpdfc.h:$(GLSRC)gsgstate.h
+$(DEVVECSRC)gdevpdfc.h:$(GLSRC)stdint_.h
+$(DEVVECSRC)gdevpdfc.h:$(GLSRC)gssprintf.h
$(DEVVECSRC)gdevpdfc.h:$(GLSRC)gsccode.h
-$(DEVVECSRC)gdevpdfc.h:$(GLSRC)gs_dll_call.h
-$(DEVVECSRC)gdevpdfc.h:$(GLSRC)stdio_.h
-$(DEVVECSRC)gdevpdfc.h:$(GLSRC)gstypes.h
$(DEVVECSRC)gdevpdfc.h:$(GLSRC)std.h
+$(DEVVECSRC)gdevpdfc.h:$(GLSRC)gstypes.h
$(DEVVECSRC)gdevpdfc.h:$(GLSRC)stdpre.h
$(DEVVECSRC)gdevpdfc.h:$(GLGEN)arch.h
-$(DEVVECSRC)gdevpdfc.h:$(GLSRC)gssprintf.h
$(DEVVECSRC)gdevpdfg.h:$(DEVVECSRC)gdevpdfx.h
$(DEVVECSRC)gdevpdfg.h:$(DEVVECSRC)gdevpsdf.h
$(DEVVECSRC)gdevpdfg.h:$(GLSRC)gdevvec.h
$(DEVVECSRC)gdevpdfg.h:$(GLSRC)gxgstate.h
-$(DEVVECSRC)gdevpdfg.h:$(GLSRC)gxfont.h
-$(DEVVECSRC)gdevpdfg.h:$(GLSRC)gstrans.h
$(DEVVECSRC)gdevpdfg.h:$(GLSRC)gxline.h
-$(DEVVECSRC)gdevpdfg.h:$(GLSRC)gsht1.h
+$(DEVVECSRC)gdevpdfg.h:$(GLSRC)gstrans.h
$(DEVVECSRC)gdevpdfg.h:$(GLSRC)sarc4.h
-$(DEVVECSRC)gdevpdfg.h:$(GLSRC)gxcomp.h
+$(DEVVECSRC)gdevpdfg.h:$(GLSRC)gsht1.h
+$(DEVVECSRC)gdevpdfg.h:$(GLSRC)gxfont.h
+$(DEVVECSRC)gdevpdfg.h:$(GLSRC)gdevbbox.h
$(DEVVECSRC)gdevpdfg.h:$(GLSRC)math_.h
$(DEVVECSRC)gdevpdfg.h:$(GLSRC)scfx.h
-$(DEVVECSRC)gdevpdfg.h:$(GLSRC)gdevbbox.h
-$(DEVVECSRC)gdevpdfg.h:$(GLSRC)spprint.h
-$(DEVVECSRC)gdevpdfg.h:$(GLSRC)spsdf.h
$(DEVVECSRC)gdevpdfg.h:$(GLSRC)gdevp14.h
$(DEVVECSRC)gdevpdfg.h:$(GLSRC)gxcolor2.h
+$(DEVVECSRC)gdevpdfg.h:$(GLSRC)spprint.h
+$(DEVVECSRC)gdevpdfg.h:$(GLSRC)spsdf.h
$(DEVVECSRC)gdevpdfg.h:$(GLSRC)gxpcolor.h
-$(DEVVECSRC)gdevpdfg.h:$(GLSRC)gspath.h
$(DEVVECSRC)gdevpdfg.h:$(GLSRC)gdevdevn.h
+$(DEVVECSRC)gdevpdfg.h:$(GLSRC)gsequivc.h
+$(DEVVECSRC)gdevpdfg.h:$(GLSRC)gspath.h
$(DEVVECSRC)gdevpdfg.h:$(GLSRC)gxblend.h
+$(DEVVECSRC)gdevpdfg.h:$(GLSRC)gxclipsr.h
+$(DEVVECSRC)gdevpdfg.h:$(GLSRC)gxcomp.h
+$(DEVVECSRC)gdevpdfg.h:$(GLSRC)gxdcolor.h
$(DEVVECSRC)gdevpdfg.h:$(GLSRC)gxmatrix.h
$(DEVVECSRC)gdevpdfg.h:$(GLSRC)gsgdata.h
-$(DEVVECSRC)gdevpdfg.h:$(GLSRC)stream.h
$(DEVVECSRC)gdevpdfg.h:$(GLSRC)gxbitfmt.h
-$(DEVVECSRC)gdevpdfg.h:$(GLSRC)gsequivc.h
-$(DEVVECSRC)gdevpdfg.h:$(GLSRC)gxclipsr.h
$(DEVVECSRC)gdevpdfg.h:$(GLSRC)shc.h
$(DEVVECSRC)gdevpdfg.h:$(GLSRC)gsgcache.h
$(DEVVECSRC)gdevpdfg.h:$(GLSRC)gscolor2.h
-$(DEVVECSRC)gdevpdfg.h:$(GLSRC)gxdevice.h
$(DEVVECSRC)gdevpdfg.h:$(GLSRC)gxfapi.h
+$(DEVVECSRC)gdevpdfg.h:$(GLSRC)gscindex.h
$(DEVVECSRC)gdevpdfg.h:$(GLSRC)gsnotify.h
$(DEVVECSRC)gdevpdfg.h:$(GLSRC)gsfcmap.h
-$(DEVVECSRC)gdevpdfg.h:$(GLSRC)gxcpath.h
+$(DEVVECSRC)gdevpdfg.h:$(GLSRC)gxdevice.h
$(DEVVECSRC)gdevpdfg.h:$(GLSRC)gsht.h
-$(DEVVECSRC)gdevpdfg.h:$(GLSRC)gxiparam.h
+$(DEVVECSRC)gdevpdfg.h:$(GLSRC)gxcpath.h
$(DEVVECSRC)gdevpdfg.h:$(GLSRC)sa85x.h
+$(DEVVECSRC)gdevpdfg.h:$(GLSRC)gxiparam.h
+$(DEVVECSRC)gdevpdfg.h:$(GLSRC)sa85d.h
$(DEVVECSRC)gdevpdfg.h:$(GLSRC)gxdevmem.h
+$(DEVVECSRC)gdevpdfg.h:$(GLSRC)gxdevcli.h
$(DEVVECSRC)gdevpdfg.h:$(GLSRC)gxpcache.h
-$(DEVVECSRC)gdevpdfg.h:$(GLSRC)sa85d.h
-$(DEVVECSRC)gdevpdfg.h:$(GLSRC)gscindex.h
$(DEVVECSRC)gdevpdfg.h:$(GLSRC)gsptype1.h
-$(DEVVECSRC)gdevpdfg.h:$(GLSRC)gxdevcli.h
$(DEVVECSRC)gdevpdfg.h:$(GLSRC)gxtext.h
-$(DEVVECSRC)gdevpdfg.h:$(GLSRC)gspcolor.h
+$(DEVVECSRC)gdevpdfg.h:$(GLSRC)gscie.h
$(DEVVECSRC)gdevpdfg.h:$(GLSRC)gstext.h
-$(DEVVECSRC)gdevpdfg.h:$(GLSRC)gxdcolor.h
+$(DEVVECSRC)gdevpdfg.h:$(GLSRC)gsnamecl.h
$(DEVVECSRC)gdevpdfg.h:$(GLSRC)gstparam.h
-$(DEVVECSRC)gdevpdfg.h:$(GLSRC)gscie.h
$(DEVVECSRC)gdevpdfg.h:$(GLSRC)gxstate.h
-$(DEVVECSRC)gdevpdfg.h:$(GLSRC)gxcmap.h
-$(DEVVECSRC)gdevpdfg.h:$(GLSRC)gsmalloc.h
+$(DEVVECSRC)gdevpdfg.h:$(GLSRC)gspcolor.h
+$(DEVVECSRC)gdevpdfg.h:$(GLSRC)gxfcache.h
+$(DEVVECSRC)gdevpdfg.h:$(GLSRC)stream.h
+$(DEVVECSRC)gdevpdfg.h:$(GLSRC)gxcspace.h
$(DEVVECSRC)gdevpdfg.h:$(GLSRC)gsropt.h
$(DEVVECSRC)gdevpdfg.h:$(GLSRC)gsfunc.h
+$(DEVVECSRC)gdevpdfg.h:$(GLSRC)gsmalloc.h
+$(DEVVECSRC)gdevpdfg.h:$(GLSRC)gxrplane.h
$(DEVVECSRC)gdevpdfg.h:$(GLSRC)gxctable.h
-$(DEVVECSRC)gdevpdfg.h:$(GLSRC)gsnamecl.h
$(DEVVECSRC)gdevpdfg.h:$(GLSRC)gxiodev.h
-$(DEVVECSRC)gdevpdfg.h:$(GLSRC)gxrplane.h
-$(DEVVECSRC)gdevpdfg.h:$(GLSRC)gxcspace.h
+$(DEVVECSRC)gdevpdfg.h:$(GLSRC)gsuid.h
+$(DEVVECSRC)gdevpdfg.h:$(GLSRC)gxcmap.h
+$(DEVVECSRC)gdevpdfg.h:$(GLSRC)gxhldevc.h
$(DEVVECSRC)gdevpdfg.h:$(GLSRC)strimpl.h
-$(DEVVECSRC)gdevpdfg.h:$(GLSRC)gxiclass.h
-$(DEVVECSRC)gdevpdfg.h:$(GLSRC)stat_.h
-$(DEVVECSRC)gdevpdfg.h:$(GLSRC)gxfcache.h
+$(DEVVECSRC)gdevpdfg.h:$(GLSRC)gsimage.h
+$(DEVVECSRC)gdevpdfg.h:$(GLSRC)gsdcolor.h
+$(DEVVECSRC)gdevpdfg.h:$(GLSRC)gxdda.h
+$(DEVVECSRC)gdevpdfg.h:$(GLSRC)gxcvalue.h
$(DEVVECSRC)gdevpdfg.h:$(GLSRC)gsfont.h
$(DEVVECSRC)gdevpdfg.h:$(GLSRC)gxfmap.h
-$(DEVVECSRC)gdevpdfg.h:$(GLSRC)gxcvalue.h
-$(DEVVECSRC)gdevpdfg.h:$(GLSRC)gxpath.h
-$(DEVVECSRC)gdevpdfg.h:$(GLSRC)gspenum.h
-$(DEVVECSRC)gdevpdfg.h:$(GLSRC)gxtmap.h
-$(DEVVECSRC)gdevpdfg.h:$(GLSRC)gsimage.h
+$(DEVVECSRC)gdevpdfg.h:$(GLSRC)gxiclass.h
+$(DEVVECSRC)gdevpdfg.h:$(GLSRC)gxftype.h
$(DEVVECSRC)gdevpdfg.h:$(GLSRC)gxfrac.h
-$(DEVVECSRC)gdevpdfg.h:$(GLSRC)gxdda.h
-$(DEVVECSRC)gdevpdfg.h:$(GLSRC)gslparam.h
-$(DEVVECSRC)gdevpdfg.h:$(GLSRC)gxhldevc.h
-$(DEVVECSRC)gdevpdfg.h:$(GLSRC)gxbcache.h
-$(DEVVECSRC)gdevpdfg.h:$(GLSRC)gsdcolor.h
-$(DEVVECSRC)gdevpdfg.h:$(GLSRC)gsrect.h
$(DEVVECSRC)gdevpdfg.h:$(GLSRC)gscms.h
-$(DEVVECSRC)gdevpdfg.h:$(GLSRC)gxftype.h
-$(DEVVECSRC)gdevpdfg.h:$(GLSRC)gsdevice.h
$(DEVVECSRC)gdevpdfg.h:$(GLSRC)gscspace.h
-$(DEVVECSRC)gdevpdfg.h:$(GLSRC)gsuid.h
+$(DEVVECSRC)gdevpdfg.h:$(GLSRC)gxpath.h
+$(DEVVECSRC)gdevpdfg.h:$(GLSRC)gxbcache.h
+$(DEVVECSRC)gdevpdfg.h:$(GLSRC)gsdevice.h
$(DEVVECSRC)gdevpdfg.h:$(GLSRC)gxarith.h
-$(DEVVECSRC)gdevpdfg.h:$(GLSRC)gsdsrc.h
$(DEVVECSRC)gdevpdfg.h:$(GLSRC)gxstdio.h
+$(DEVVECSRC)gdevpdfg.h:$(GLSRC)gspenum.h
+$(DEVVECSRC)gdevpdfg.h:$(GLSRC)gxhttile.h
+$(DEVVECSRC)gdevpdfg.h:$(GLSRC)gsrect.h
+$(DEVVECSRC)gdevpdfg.h:$(GLSRC)gslparam.h
$(DEVVECSRC)gdevpdfg.h:$(GLSRC)gsxfont.h
-$(DEVVECSRC)gdevpdfg.h:$(GLSRC)gxfixed.h
-$(DEVVECSRC)gdevpdfg.h:$(GLSRC)gsrefct.h
-$(DEVVECSRC)gdevpdfg.h:$(GLSRC)gscpm.h
$(DEVVECSRC)gdevpdfg.h:$(GLSRC)gsiparam.h
-$(DEVVECSRC)gdevpdfg.h:$(GLSRC)gxhttile.h
+$(DEVVECSRC)gdevpdfg.h:$(GLSRC)gsdsrc.h
$(DEVVECSRC)gdevpdfg.h:$(GLSRC)gsio.h
-$(DEVVECSRC)gdevpdfg.h:$(GLSRC)gp.h
-$(DEVVECSRC)gdevpdfg.h:$(GLSRC)memento.h
-$(DEVVECSRC)gdevpdfg.h:$(GLSRC)gsparam.h
-$(DEVVECSRC)gdevpdfg.h:$(GLSRC)gsmatrix.h
$(DEVVECSRC)gdevpdfg.h:$(GLSRC)gxbitmap.h
-$(DEVVECSRC)gdevpdfg.h:$(GLSRC)srdline.h
+$(DEVVECSRC)gdevpdfg.h:$(GLSRC)gsmatrix.h
+$(DEVVECSRC)gdevpdfg.h:$(GLSRC)gscpm.h
+$(DEVVECSRC)gdevpdfg.h:$(GLSRC)gxfixed.h
+$(DEVVECSRC)gdevpdfg.h:$(GLSRC)gsrefct.h
+$(DEVVECSRC)gdevpdfg.h:$(GLSRC)gsparam.h
+$(DEVVECSRC)gdevpdfg.h:$(GLSRC)gp.h
+$(DEVVECSRC)gdevpdfg.h:$(GLSRC)gsccolor.h
$(DEVVECSRC)gdevpdfg.h:$(GLSRC)gsstruct.h
$(DEVVECSRC)gdevpdfg.h:$(GLSRC)gxsync.h
+$(DEVVECSRC)gdevpdfg.h:$(GLSRC)srdline.h
+$(DEVVECSRC)gdevpdfg.h:$(GLSRC)scommon.h
+$(DEVVECSRC)gdevpdfg.h:$(GLSRC)memento.h
$(DEVVECSRC)gdevpdfg.h:$(GLSRC)vmsmath.h
$(DEVVECSRC)gdevpdfg.h:$(GLSRC)gscsel.h
-$(DEVVECSRC)gdevpdfg.h:$(GLSRC)scommon.h
$(DEVVECSRC)gdevpdfg.h:$(GLSRC)gsbitmap.h
$(DEVVECSRC)gdevpdfg.h:$(GLSRC)gsfname.h
-$(DEVVECSRC)gdevpdfg.h:$(GLSRC)gsccolor.h
$(DEVVECSRC)gdevpdfg.h:$(GLSRC)gsstype.h
+$(DEVVECSRC)gdevpdfg.h:$(GLSRC)stat_.h
+$(DEVVECSRC)gdevpdfg.h:$(GLSRC)gxtmap.h
$(DEVVECSRC)gdevpdfg.h:$(GLSRC)gsmemory.h
$(DEVVECSRC)gdevpdfg.h:$(GLSRC)gpsync.h
-$(DEVVECSRC)gdevpdfg.h:$(GLSRC)gpgetenv.h
$(DEVVECSRC)gdevpdfg.h:$(GLSRC)memory_.h
+$(DEVVECSRC)gdevpdfg.h:$(GLSRC)gpgetenv.h
$(DEVVECSRC)gdevpdfg.h:$(GLSRC)gslibctx.h
$(DEVVECSRC)gdevpdfg.h:$(GLSRC)gscdefs.h
+$(DEVVECSRC)gdevpdfg.h:$(GLSRC)gs_dll_call.h
+$(DEVVECSRC)gdevpdfg.h:$(GLSRC)stdio_.h
$(DEVVECSRC)gdevpdfg.h:$(GLSRC)gscompt.h
$(DEVVECSRC)gdevpdfg.h:$(GLSRC)gsbittab.h
$(DEVVECSRC)gdevpdfg.h:$(GLSRC)gxcindex.h
-$(DEVVECSRC)gdevpdfg.h:$(GLSRC)stdint_.h
$(DEVVECSRC)gdevpdfg.h:$(GLSRC)gsgstate.h
+$(DEVVECSRC)gdevpdfg.h:$(GLSRC)stdint_.h
+$(DEVVECSRC)gdevpdfg.h:$(GLSRC)gssprintf.h
$(DEVVECSRC)gdevpdfg.h:$(GLSRC)gsccode.h
-$(DEVVECSRC)gdevpdfg.h:$(GLSRC)gs_dll_call.h
-$(DEVVECSRC)gdevpdfg.h:$(GLSRC)stdio_.h
-$(DEVVECSRC)gdevpdfg.h:$(GLSRC)gstypes.h
$(DEVVECSRC)gdevpdfg.h:$(GLSRC)std.h
+$(DEVVECSRC)gdevpdfg.h:$(GLSRC)gstypes.h
$(DEVVECSRC)gdevpdfg.h:$(GLSRC)stdpre.h
$(DEVVECSRC)gdevpdfg.h:$(GLGEN)arch.h
-$(DEVVECSRC)gdevpdfg.h:$(GLSRC)gssprintf.h
$(DEVVECSRC)gdevpdfo.h:$(DEVVECSRC)gdevpdfx.h
$(DEVVECSRC)gdevpdfo.h:$(DEVVECSRC)gdevpsdf.h
$(DEVVECSRC)gdevpdfo.h:$(GLSRC)gdevvec.h
$(DEVVECSRC)gdevpdfo.h:$(GLSRC)gxgstate.h
-$(DEVVECSRC)gdevpdfo.h:$(GLSRC)gxfont.h
-$(DEVVECSRC)gdevpdfo.h:$(GLSRC)gstrans.h
$(DEVVECSRC)gdevpdfo.h:$(GLSRC)gxline.h
-$(DEVVECSRC)gdevpdfo.h:$(GLSRC)gsht1.h
+$(DEVVECSRC)gdevpdfo.h:$(GLSRC)gstrans.h
$(DEVVECSRC)gdevpdfo.h:$(GLSRC)sarc4.h
-$(DEVVECSRC)gdevpdfo.h:$(GLSRC)gxcomp.h
+$(DEVVECSRC)gdevpdfo.h:$(GLSRC)gsht1.h
+$(DEVVECSRC)gdevpdfo.h:$(GLSRC)gxfont.h
+$(DEVVECSRC)gdevpdfo.h:$(GLSRC)gdevbbox.h
$(DEVVECSRC)gdevpdfo.h:$(GLSRC)math_.h
$(DEVVECSRC)gdevpdfo.h:$(GLSRC)scfx.h
-$(DEVVECSRC)gdevpdfo.h:$(GLSRC)gdevbbox.h
-$(DEVVECSRC)gdevpdfo.h:$(GLSRC)spprint.h
-$(DEVVECSRC)gdevpdfo.h:$(GLSRC)spsdf.h
-$(DEVVECSRC)gdevpdfo.h:$(GLSRC)smd5.h
$(DEVVECSRC)gdevpdfo.h:$(GLSRC)gdevp14.h
$(DEVVECSRC)gdevpdfo.h:$(GLSRC)gxcolor2.h
+$(DEVVECSRC)gdevpdfo.h:$(GLSRC)spprint.h
+$(DEVVECSRC)gdevpdfo.h:$(GLSRC)smd5.h
+$(DEVVECSRC)gdevpdfo.h:$(GLSRC)spsdf.h
$(DEVVECSRC)gdevpdfo.h:$(GLSRC)gxpcolor.h
-$(DEVVECSRC)gdevpdfo.h:$(GLSRC)gspath.h
$(DEVVECSRC)gdevpdfo.h:$(GLSRC)gdevdevn.h
+$(DEVVECSRC)gdevpdfo.h:$(GLSRC)gsequivc.h
+$(DEVVECSRC)gdevpdfo.h:$(GLSRC)gspath.h
$(DEVVECSRC)gdevpdfo.h:$(GLSRC)gxblend.h
+$(DEVVECSRC)gdevpdfo.h:$(GLSRC)gxclipsr.h
+$(DEVVECSRC)gdevpdfo.h:$(GLSRC)gxcomp.h
+$(DEVVECSRC)gdevpdfo.h:$(GLSRC)gxdcolor.h
$(DEVVECSRC)gdevpdfo.h:$(GLSRC)gxmatrix.h
$(DEVVECSRC)gdevpdfo.h:$(GLSRC)gsgdata.h
-$(DEVVECSRC)gdevpdfo.h:$(GLSRC)stream.h
$(DEVVECSRC)gdevpdfo.h:$(GLSRC)gxbitfmt.h
-$(DEVVECSRC)gdevpdfo.h:$(GLSRC)gsequivc.h
-$(DEVVECSRC)gdevpdfo.h:$(GLSRC)gxclipsr.h
$(DEVVECSRC)gdevpdfo.h:$(GLSRC)shc.h
$(DEVVECSRC)gdevpdfo.h:$(GLSRC)gsgcache.h
$(DEVVECSRC)gdevpdfo.h:$(GLSRC)gscolor2.h
-$(DEVVECSRC)gdevpdfo.h:$(GLSRC)gxdevice.h
$(DEVVECSRC)gdevpdfo.h:$(GLSRC)gxfapi.h
+$(DEVVECSRC)gdevpdfo.h:$(GLSRC)gscindex.h
$(DEVVECSRC)gdevpdfo.h:$(GLSRC)gsnotify.h
$(DEVVECSRC)gdevpdfo.h:$(GLSRC)gsfcmap.h
-$(DEVVECSRC)gdevpdfo.h:$(GLSRC)gxcpath.h
+$(DEVVECSRC)gdevpdfo.h:$(GLSRC)gxdevice.h
$(DEVVECSRC)gdevpdfo.h:$(GLSRC)gsht.h
-$(DEVVECSRC)gdevpdfo.h:$(GLSRC)gxiparam.h
+$(DEVVECSRC)gdevpdfo.h:$(GLSRC)gxcpath.h
$(DEVVECSRC)gdevpdfo.h:$(GLSRC)sa85x.h
+$(DEVVECSRC)gdevpdfo.h:$(GLSRC)gxiparam.h
+$(DEVVECSRC)gdevpdfo.h:$(GLSRC)sa85d.h
$(DEVVECSRC)gdevpdfo.h:$(GLSRC)gxdevmem.h
+$(DEVVECSRC)gdevpdfo.h:$(GLSRC)gxdevcli.h
$(DEVVECSRC)gdevpdfo.h:$(GLSRC)gxpcache.h
-$(DEVVECSRC)gdevpdfo.h:$(GLSRC)sa85d.h
-$(DEVVECSRC)gdevpdfo.h:$(GLSRC)gscindex.h
$(DEVVECSRC)gdevpdfo.h:$(GLSRC)gsptype1.h
-$(DEVVECSRC)gdevpdfo.h:$(GLSRC)gxdevcli.h
$(DEVVECSRC)gdevpdfo.h:$(GLSRC)gxtext.h
-$(DEVVECSRC)gdevpdfo.h:$(GLSRC)gspcolor.h
+$(DEVVECSRC)gdevpdfo.h:$(GLSRC)gscie.h
$(DEVVECSRC)gdevpdfo.h:$(GLSRC)gstext.h
-$(DEVVECSRC)gdevpdfo.h:$(GLSRC)gxdcolor.h
+$(DEVVECSRC)gdevpdfo.h:$(GLSRC)gsnamecl.h
$(DEVVECSRC)gdevpdfo.h:$(GLSRC)gstparam.h
-$(DEVVECSRC)gdevpdfo.h:$(GLSRC)gscie.h
$(DEVVECSRC)gdevpdfo.h:$(GLSRC)gxstate.h
-$(DEVVECSRC)gdevpdfo.h:$(GLSRC)gxcmap.h
-$(DEVVECSRC)gdevpdfo.h:$(GLSRC)gsmalloc.h
+$(DEVVECSRC)gdevpdfo.h:$(GLSRC)gspcolor.h
+$(DEVVECSRC)gdevpdfo.h:$(GLSRC)gxfcache.h
+$(DEVVECSRC)gdevpdfo.h:$(GLSRC)stream.h
+$(DEVVECSRC)gdevpdfo.h:$(GLSRC)gxcspace.h
$(DEVVECSRC)gdevpdfo.h:$(GLSRC)gsropt.h
$(DEVVECSRC)gdevpdfo.h:$(GLSRC)gsfunc.h
+$(DEVVECSRC)gdevpdfo.h:$(GLSRC)gsmalloc.h
+$(DEVVECSRC)gdevpdfo.h:$(GLSRC)gxrplane.h
$(DEVVECSRC)gdevpdfo.h:$(GLSRC)gxctable.h
-$(DEVVECSRC)gdevpdfo.h:$(GLSRC)gsnamecl.h
$(DEVVECSRC)gdevpdfo.h:$(GLSRC)gxiodev.h
-$(DEVVECSRC)gdevpdfo.h:$(GLSRC)gxrplane.h
-$(DEVVECSRC)gdevpdfo.h:$(GLSRC)gxcspace.h
+$(DEVVECSRC)gdevpdfo.h:$(GLSRC)gsuid.h
+$(DEVVECSRC)gdevpdfo.h:$(GLSRC)gxcmap.h
+$(DEVVECSRC)gdevpdfo.h:$(GLSRC)gxhldevc.h
$(DEVVECSRC)gdevpdfo.h:$(GLSRC)strimpl.h
-$(DEVVECSRC)gdevpdfo.h:$(GLSRC)gxiclass.h
-$(DEVVECSRC)gdevpdfo.h:$(GLSRC)stat_.h
-$(DEVVECSRC)gdevpdfo.h:$(GLSRC)gxfcache.h
+$(DEVVECSRC)gdevpdfo.h:$(GLSRC)gsimage.h
+$(DEVVECSRC)gdevpdfo.h:$(GLSRC)gsdcolor.h
+$(DEVVECSRC)gdevpdfo.h:$(GLSRC)gxdda.h
+$(DEVVECSRC)gdevpdfo.h:$(GLSRC)gxcvalue.h
$(DEVVECSRC)gdevpdfo.h:$(GLSRC)gsfont.h
$(DEVVECSRC)gdevpdfo.h:$(GLSRC)gxfmap.h
-$(DEVVECSRC)gdevpdfo.h:$(GLSRC)gxcvalue.h
-$(DEVVECSRC)gdevpdfo.h:$(GLSRC)gxpath.h
-$(DEVVECSRC)gdevpdfo.h:$(GLSRC)gspenum.h
-$(DEVVECSRC)gdevpdfo.h:$(GLSRC)gxtmap.h
-$(DEVVECSRC)gdevpdfo.h:$(GLSRC)gsimage.h
+$(DEVVECSRC)gdevpdfo.h:$(GLSRC)gxiclass.h
+$(DEVVECSRC)gdevpdfo.h:$(GLSRC)gxftype.h
$(DEVVECSRC)gdevpdfo.h:$(GLSRC)gxfrac.h
-$(DEVVECSRC)gdevpdfo.h:$(GLSRC)gxdda.h
-$(DEVVECSRC)gdevpdfo.h:$(GLSRC)gslparam.h
-$(DEVVECSRC)gdevpdfo.h:$(GLSRC)gxhldevc.h
-$(DEVVECSRC)gdevpdfo.h:$(GLSRC)gxbcache.h
-$(DEVVECSRC)gdevpdfo.h:$(GLSRC)gsdcolor.h
-$(DEVVECSRC)gdevpdfo.h:$(GLSRC)gsrect.h
$(DEVVECSRC)gdevpdfo.h:$(GLSRC)gscms.h
-$(DEVVECSRC)gdevpdfo.h:$(GLSRC)gxftype.h
-$(DEVVECSRC)gdevpdfo.h:$(GLSRC)gsdevice.h
$(DEVVECSRC)gdevpdfo.h:$(GLSRC)gscspace.h
-$(DEVVECSRC)gdevpdfo.h:$(GLSRC)gsuid.h
+$(DEVVECSRC)gdevpdfo.h:$(GLSRC)gxpath.h
+$(DEVVECSRC)gdevpdfo.h:$(GLSRC)gxbcache.h
+$(DEVVECSRC)gdevpdfo.h:$(GLSRC)gsdevice.h
$(DEVVECSRC)gdevpdfo.h:$(GLSRC)gxarith.h
-$(DEVVECSRC)gdevpdfo.h:$(GLSRC)gsdsrc.h
$(DEVVECSRC)gdevpdfo.h:$(GLSRC)gxstdio.h
+$(DEVVECSRC)gdevpdfo.h:$(GLSRC)gspenum.h
+$(DEVVECSRC)gdevpdfo.h:$(GLSRC)gxhttile.h
+$(DEVVECSRC)gdevpdfo.h:$(GLSRC)gsrect.h
$(DEVVECSRC)gdevpdfo.h:$(GLSRC)gsmd5.h
+$(DEVVECSRC)gdevpdfo.h:$(GLSRC)gslparam.h
$(DEVVECSRC)gdevpdfo.h:$(GLSRC)gsxfont.h
-$(DEVVECSRC)gdevpdfo.h:$(GLSRC)gxfixed.h
-$(DEVVECSRC)gdevpdfo.h:$(GLSRC)gsrefct.h
-$(DEVVECSRC)gdevpdfo.h:$(GLSRC)gscpm.h
$(DEVVECSRC)gdevpdfo.h:$(GLSRC)gsiparam.h
-$(DEVVECSRC)gdevpdfo.h:$(GLSRC)gxhttile.h
+$(DEVVECSRC)gdevpdfo.h:$(GLSRC)gsdsrc.h
$(DEVVECSRC)gdevpdfo.h:$(GLSRC)gsio.h
-$(DEVVECSRC)gdevpdfo.h:$(GLSRC)gp.h
-$(DEVVECSRC)gdevpdfo.h:$(GLSRC)memento.h
-$(DEVVECSRC)gdevpdfo.h:$(GLSRC)gsparam.h
-$(DEVVECSRC)gdevpdfo.h:$(GLSRC)gsmatrix.h
$(DEVVECSRC)gdevpdfo.h:$(GLSRC)gxbitmap.h
-$(DEVVECSRC)gdevpdfo.h:$(GLSRC)srdline.h
+$(DEVVECSRC)gdevpdfo.h:$(GLSRC)gsmatrix.h
+$(DEVVECSRC)gdevpdfo.h:$(GLSRC)gscpm.h
+$(DEVVECSRC)gdevpdfo.h:$(GLSRC)gxfixed.h
+$(DEVVECSRC)gdevpdfo.h:$(GLSRC)gsrefct.h
+$(DEVVECSRC)gdevpdfo.h:$(GLSRC)gsparam.h
+$(DEVVECSRC)gdevpdfo.h:$(GLSRC)gp.h
+$(DEVVECSRC)gdevpdfo.h:$(GLSRC)gsccolor.h
$(DEVVECSRC)gdevpdfo.h:$(GLSRC)gsstruct.h
$(DEVVECSRC)gdevpdfo.h:$(GLSRC)gxsync.h
+$(DEVVECSRC)gdevpdfo.h:$(GLSRC)srdline.h
+$(DEVVECSRC)gdevpdfo.h:$(GLSRC)scommon.h
+$(DEVVECSRC)gdevpdfo.h:$(GLSRC)memento.h
$(DEVVECSRC)gdevpdfo.h:$(GLSRC)vmsmath.h
$(DEVVECSRC)gdevpdfo.h:$(GLSRC)gscsel.h
-$(DEVVECSRC)gdevpdfo.h:$(GLSRC)scommon.h
$(DEVVECSRC)gdevpdfo.h:$(GLSRC)gsbitmap.h
$(DEVVECSRC)gdevpdfo.h:$(GLSRC)gsfname.h
-$(DEVVECSRC)gdevpdfo.h:$(GLSRC)gsccolor.h
$(DEVVECSRC)gdevpdfo.h:$(GLSRC)gsstype.h
+$(DEVVECSRC)gdevpdfo.h:$(GLSRC)stat_.h
+$(DEVVECSRC)gdevpdfo.h:$(GLSRC)gxtmap.h
$(DEVVECSRC)gdevpdfo.h:$(GLSRC)gsmemory.h
$(DEVVECSRC)gdevpdfo.h:$(GLSRC)gpsync.h
-$(DEVVECSRC)gdevpdfo.h:$(GLSRC)gpgetenv.h
$(DEVVECSRC)gdevpdfo.h:$(GLSRC)memory_.h
+$(DEVVECSRC)gdevpdfo.h:$(GLSRC)gpgetenv.h
$(DEVVECSRC)gdevpdfo.h:$(GLSRC)gslibctx.h
$(DEVVECSRC)gdevpdfo.h:$(GLSRC)gscdefs.h
+$(DEVVECSRC)gdevpdfo.h:$(GLSRC)gs_dll_call.h
+$(DEVVECSRC)gdevpdfo.h:$(GLSRC)stdio_.h
$(DEVVECSRC)gdevpdfo.h:$(GLSRC)gscompt.h
$(DEVVECSRC)gdevpdfo.h:$(GLSRC)gsbittab.h
$(DEVVECSRC)gdevpdfo.h:$(GLSRC)gxcindex.h
-$(DEVVECSRC)gdevpdfo.h:$(GLSRC)stdint_.h
$(DEVVECSRC)gdevpdfo.h:$(GLSRC)gsgstate.h
+$(DEVVECSRC)gdevpdfo.h:$(GLSRC)stdint_.h
+$(DEVVECSRC)gdevpdfo.h:$(GLSRC)gssprintf.h
$(DEVVECSRC)gdevpdfo.h:$(GLSRC)gsccode.h
-$(DEVVECSRC)gdevpdfo.h:$(GLSRC)gs_dll_call.h
-$(DEVVECSRC)gdevpdfo.h:$(GLSRC)stdio_.h
-$(DEVVECSRC)gdevpdfo.h:$(GLSRC)gstypes.h
$(DEVVECSRC)gdevpdfo.h:$(GLSRC)std.h
+$(DEVVECSRC)gdevpdfo.h:$(GLSRC)gstypes.h
$(DEVVECSRC)gdevpdfo.h:$(GLSRC)stdpre.h
$(DEVVECSRC)gdevpdfo.h:$(GLGEN)arch.h
-$(DEVVECSRC)gdevpdfo.h:$(GLSRC)gssprintf.h
$(DEVVECSRC)gdevpdfx.h:$(DEVVECSRC)gdevpsdf.h
$(DEVVECSRC)gdevpdfx.h:$(GLSRC)gdevvec.h
$(DEVVECSRC)gdevpdfx.h:$(GLSRC)gxgstate.h
-$(DEVVECSRC)gdevpdfx.h:$(GLSRC)gxfont.h
-$(DEVVECSRC)gdevpdfx.h:$(GLSRC)gstrans.h
$(DEVVECSRC)gdevpdfx.h:$(GLSRC)gxline.h
-$(DEVVECSRC)gdevpdfx.h:$(GLSRC)gsht1.h
+$(DEVVECSRC)gdevpdfx.h:$(GLSRC)gstrans.h
$(DEVVECSRC)gdevpdfx.h:$(GLSRC)sarc4.h
-$(DEVVECSRC)gdevpdfx.h:$(GLSRC)gxcomp.h
+$(DEVVECSRC)gdevpdfx.h:$(GLSRC)gsht1.h
+$(DEVVECSRC)gdevpdfx.h:$(GLSRC)gxfont.h
+$(DEVVECSRC)gdevpdfx.h:$(GLSRC)gdevbbox.h
$(DEVVECSRC)gdevpdfx.h:$(GLSRC)math_.h
$(DEVVECSRC)gdevpdfx.h:$(GLSRC)scfx.h
-$(DEVVECSRC)gdevpdfx.h:$(GLSRC)gdevbbox.h
-$(DEVVECSRC)gdevpdfx.h:$(GLSRC)spprint.h
-$(DEVVECSRC)gdevpdfx.h:$(GLSRC)spsdf.h
$(DEVVECSRC)gdevpdfx.h:$(GLSRC)gdevp14.h
$(DEVVECSRC)gdevpdfx.h:$(GLSRC)gxcolor2.h
+$(DEVVECSRC)gdevpdfx.h:$(GLSRC)spprint.h
+$(DEVVECSRC)gdevpdfx.h:$(GLSRC)spsdf.h
$(DEVVECSRC)gdevpdfx.h:$(GLSRC)gxpcolor.h
-$(DEVVECSRC)gdevpdfx.h:$(GLSRC)gspath.h
$(DEVVECSRC)gdevpdfx.h:$(GLSRC)gdevdevn.h
+$(DEVVECSRC)gdevpdfx.h:$(GLSRC)gsequivc.h
+$(DEVVECSRC)gdevpdfx.h:$(GLSRC)gspath.h
$(DEVVECSRC)gdevpdfx.h:$(GLSRC)gxblend.h
+$(DEVVECSRC)gdevpdfx.h:$(GLSRC)gxclipsr.h
+$(DEVVECSRC)gdevpdfx.h:$(GLSRC)gxcomp.h
+$(DEVVECSRC)gdevpdfx.h:$(GLSRC)gxdcolor.h
$(DEVVECSRC)gdevpdfx.h:$(GLSRC)gxmatrix.h
$(DEVVECSRC)gdevpdfx.h:$(GLSRC)gsgdata.h
-$(DEVVECSRC)gdevpdfx.h:$(GLSRC)stream.h
$(DEVVECSRC)gdevpdfx.h:$(GLSRC)gxbitfmt.h
-$(DEVVECSRC)gdevpdfx.h:$(GLSRC)gsequivc.h
-$(DEVVECSRC)gdevpdfx.h:$(GLSRC)gxclipsr.h
$(DEVVECSRC)gdevpdfx.h:$(GLSRC)shc.h
$(DEVVECSRC)gdevpdfx.h:$(GLSRC)gsgcache.h
$(DEVVECSRC)gdevpdfx.h:$(GLSRC)gscolor2.h
-$(DEVVECSRC)gdevpdfx.h:$(GLSRC)gxdevice.h
$(DEVVECSRC)gdevpdfx.h:$(GLSRC)gxfapi.h
+$(DEVVECSRC)gdevpdfx.h:$(GLSRC)gscindex.h
$(DEVVECSRC)gdevpdfx.h:$(GLSRC)gsnotify.h
$(DEVVECSRC)gdevpdfx.h:$(GLSRC)gsfcmap.h
-$(DEVVECSRC)gdevpdfx.h:$(GLSRC)gxcpath.h
+$(DEVVECSRC)gdevpdfx.h:$(GLSRC)gxdevice.h
$(DEVVECSRC)gdevpdfx.h:$(GLSRC)gsht.h
-$(DEVVECSRC)gdevpdfx.h:$(GLSRC)gxiparam.h
+$(DEVVECSRC)gdevpdfx.h:$(GLSRC)gxcpath.h
$(DEVVECSRC)gdevpdfx.h:$(GLSRC)sa85x.h
+$(DEVVECSRC)gdevpdfx.h:$(GLSRC)gxiparam.h
+$(DEVVECSRC)gdevpdfx.h:$(GLSRC)sa85d.h
$(DEVVECSRC)gdevpdfx.h:$(GLSRC)gxdevmem.h
+$(DEVVECSRC)gdevpdfx.h:$(GLSRC)gxdevcli.h
$(DEVVECSRC)gdevpdfx.h:$(GLSRC)gxpcache.h
-$(DEVVECSRC)gdevpdfx.h:$(GLSRC)sa85d.h
-$(DEVVECSRC)gdevpdfx.h:$(GLSRC)gscindex.h
$(DEVVECSRC)gdevpdfx.h:$(GLSRC)gsptype1.h
-$(DEVVECSRC)gdevpdfx.h:$(GLSRC)gxdevcli.h
$(DEVVECSRC)gdevpdfx.h:$(GLSRC)gxtext.h
-$(DEVVECSRC)gdevpdfx.h:$(GLSRC)gspcolor.h
+$(DEVVECSRC)gdevpdfx.h:$(GLSRC)gscie.h
$(DEVVECSRC)gdevpdfx.h:$(GLSRC)gstext.h
-$(DEVVECSRC)gdevpdfx.h:$(GLSRC)gxdcolor.h
+$(DEVVECSRC)gdevpdfx.h:$(GLSRC)gsnamecl.h
$(DEVVECSRC)gdevpdfx.h:$(GLSRC)gstparam.h
-$(DEVVECSRC)gdevpdfx.h:$(GLSRC)gscie.h
$(DEVVECSRC)gdevpdfx.h:$(GLSRC)gxstate.h
-$(DEVVECSRC)gdevpdfx.h:$(GLSRC)gxcmap.h
-$(DEVVECSRC)gdevpdfx.h:$(GLSRC)gsmalloc.h
+$(DEVVECSRC)gdevpdfx.h:$(GLSRC)gspcolor.h
+$(DEVVECSRC)gdevpdfx.h:$(GLSRC)gxfcache.h
+$(DEVVECSRC)gdevpdfx.h:$(GLSRC)stream.h
+$(DEVVECSRC)gdevpdfx.h:$(GLSRC)gxcspace.h
$(DEVVECSRC)gdevpdfx.h:$(GLSRC)gsropt.h
$(DEVVECSRC)gdevpdfx.h:$(GLSRC)gsfunc.h
+$(DEVVECSRC)gdevpdfx.h:$(GLSRC)gsmalloc.h
+$(DEVVECSRC)gdevpdfx.h:$(GLSRC)gxrplane.h
$(DEVVECSRC)gdevpdfx.h:$(GLSRC)gxctable.h
-$(DEVVECSRC)gdevpdfx.h:$(GLSRC)gsnamecl.h
$(DEVVECSRC)gdevpdfx.h:$(GLSRC)gxiodev.h
-$(DEVVECSRC)gdevpdfx.h:$(GLSRC)gxrplane.h
-$(DEVVECSRC)gdevpdfx.h:$(GLSRC)gxcspace.h
+$(DEVVECSRC)gdevpdfx.h:$(GLSRC)gsuid.h
+$(DEVVECSRC)gdevpdfx.h:$(GLSRC)gxcmap.h
+$(DEVVECSRC)gdevpdfx.h:$(GLSRC)gxhldevc.h
$(DEVVECSRC)gdevpdfx.h:$(GLSRC)strimpl.h
-$(DEVVECSRC)gdevpdfx.h:$(GLSRC)gxiclass.h
-$(DEVVECSRC)gdevpdfx.h:$(GLSRC)stat_.h
-$(DEVVECSRC)gdevpdfx.h:$(GLSRC)gxfcache.h
+$(DEVVECSRC)gdevpdfx.h:$(GLSRC)gsimage.h
+$(DEVVECSRC)gdevpdfx.h:$(GLSRC)gsdcolor.h
+$(DEVVECSRC)gdevpdfx.h:$(GLSRC)gxdda.h
+$(DEVVECSRC)gdevpdfx.h:$(GLSRC)gxcvalue.h
$(DEVVECSRC)gdevpdfx.h:$(GLSRC)gsfont.h
$(DEVVECSRC)gdevpdfx.h:$(GLSRC)gxfmap.h
-$(DEVVECSRC)gdevpdfx.h:$(GLSRC)gxcvalue.h
-$(DEVVECSRC)gdevpdfx.h:$(GLSRC)gxpath.h
-$(DEVVECSRC)gdevpdfx.h:$(GLSRC)gspenum.h
-$(DEVVECSRC)gdevpdfx.h:$(GLSRC)gxtmap.h
-$(DEVVECSRC)gdevpdfx.h:$(GLSRC)gsimage.h
+$(DEVVECSRC)gdevpdfx.h:$(GLSRC)gxiclass.h
+$(DEVVECSRC)gdevpdfx.h:$(GLSRC)gxftype.h
$(DEVVECSRC)gdevpdfx.h:$(GLSRC)gxfrac.h
-$(DEVVECSRC)gdevpdfx.h:$(GLSRC)gxdda.h
-$(DEVVECSRC)gdevpdfx.h:$(GLSRC)gslparam.h
-$(DEVVECSRC)gdevpdfx.h:$(GLSRC)gxhldevc.h
-$(DEVVECSRC)gdevpdfx.h:$(GLSRC)gxbcache.h
-$(DEVVECSRC)gdevpdfx.h:$(GLSRC)gsdcolor.h
-$(DEVVECSRC)gdevpdfx.h:$(GLSRC)gsrect.h
$(DEVVECSRC)gdevpdfx.h:$(GLSRC)gscms.h
-$(DEVVECSRC)gdevpdfx.h:$(GLSRC)gxftype.h
-$(DEVVECSRC)gdevpdfx.h:$(GLSRC)gsdevice.h
$(DEVVECSRC)gdevpdfx.h:$(GLSRC)gscspace.h
-$(DEVVECSRC)gdevpdfx.h:$(GLSRC)gsuid.h
+$(DEVVECSRC)gdevpdfx.h:$(GLSRC)gxpath.h
+$(DEVVECSRC)gdevpdfx.h:$(GLSRC)gxbcache.h
+$(DEVVECSRC)gdevpdfx.h:$(GLSRC)gsdevice.h
$(DEVVECSRC)gdevpdfx.h:$(GLSRC)gxarith.h
-$(DEVVECSRC)gdevpdfx.h:$(GLSRC)gsdsrc.h
$(DEVVECSRC)gdevpdfx.h:$(GLSRC)gxstdio.h
+$(DEVVECSRC)gdevpdfx.h:$(GLSRC)gspenum.h
+$(DEVVECSRC)gdevpdfx.h:$(GLSRC)gxhttile.h
+$(DEVVECSRC)gdevpdfx.h:$(GLSRC)gsrect.h
+$(DEVVECSRC)gdevpdfx.h:$(GLSRC)gslparam.h
$(DEVVECSRC)gdevpdfx.h:$(GLSRC)gsxfont.h
-$(DEVVECSRC)gdevpdfx.h:$(GLSRC)gxfixed.h
-$(DEVVECSRC)gdevpdfx.h:$(GLSRC)gsrefct.h
-$(DEVVECSRC)gdevpdfx.h:$(GLSRC)gscpm.h
$(DEVVECSRC)gdevpdfx.h:$(GLSRC)gsiparam.h
-$(DEVVECSRC)gdevpdfx.h:$(GLSRC)gxhttile.h
+$(DEVVECSRC)gdevpdfx.h:$(GLSRC)gsdsrc.h
$(DEVVECSRC)gdevpdfx.h:$(GLSRC)gsio.h
-$(DEVVECSRC)gdevpdfx.h:$(GLSRC)gp.h
-$(DEVVECSRC)gdevpdfx.h:$(GLSRC)memento.h
-$(DEVVECSRC)gdevpdfx.h:$(GLSRC)gsparam.h
-$(DEVVECSRC)gdevpdfx.h:$(GLSRC)gsmatrix.h
$(DEVVECSRC)gdevpdfx.h:$(GLSRC)gxbitmap.h
-$(DEVVECSRC)gdevpdfx.h:$(GLSRC)srdline.h
+$(DEVVECSRC)gdevpdfx.h:$(GLSRC)gsmatrix.h
+$(DEVVECSRC)gdevpdfx.h:$(GLSRC)gscpm.h
+$(DEVVECSRC)gdevpdfx.h:$(GLSRC)gxfixed.h
+$(DEVVECSRC)gdevpdfx.h:$(GLSRC)gsrefct.h
+$(DEVVECSRC)gdevpdfx.h:$(GLSRC)gsparam.h
+$(DEVVECSRC)gdevpdfx.h:$(GLSRC)gp.h
+$(DEVVECSRC)gdevpdfx.h:$(GLSRC)gsccolor.h
$(DEVVECSRC)gdevpdfx.h:$(GLSRC)gsstruct.h
$(DEVVECSRC)gdevpdfx.h:$(GLSRC)gxsync.h
+$(DEVVECSRC)gdevpdfx.h:$(GLSRC)srdline.h
+$(DEVVECSRC)gdevpdfx.h:$(GLSRC)scommon.h
+$(DEVVECSRC)gdevpdfx.h:$(GLSRC)memento.h
$(DEVVECSRC)gdevpdfx.h:$(GLSRC)vmsmath.h
$(DEVVECSRC)gdevpdfx.h:$(GLSRC)gscsel.h
-$(DEVVECSRC)gdevpdfx.h:$(GLSRC)scommon.h
$(DEVVECSRC)gdevpdfx.h:$(GLSRC)gsbitmap.h
$(DEVVECSRC)gdevpdfx.h:$(GLSRC)gsfname.h
-$(DEVVECSRC)gdevpdfx.h:$(GLSRC)gsccolor.h
$(DEVVECSRC)gdevpdfx.h:$(GLSRC)gsstype.h
+$(DEVVECSRC)gdevpdfx.h:$(GLSRC)stat_.h
+$(DEVVECSRC)gdevpdfx.h:$(GLSRC)gxtmap.h
$(DEVVECSRC)gdevpdfx.h:$(GLSRC)gsmemory.h
$(DEVVECSRC)gdevpdfx.h:$(GLSRC)gpsync.h
-$(DEVVECSRC)gdevpdfx.h:$(GLSRC)gpgetenv.h
$(DEVVECSRC)gdevpdfx.h:$(GLSRC)memory_.h
+$(DEVVECSRC)gdevpdfx.h:$(GLSRC)gpgetenv.h
$(DEVVECSRC)gdevpdfx.h:$(GLSRC)gslibctx.h
$(DEVVECSRC)gdevpdfx.h:$(GLSRC)gscdefs.h
+$(DEVVECSRC)gdevpdfx.h:$(GLSRC)gs_dll_call.h
+$(DEVVECSRC)gdevpdfx.h:$(GLSRC)stdio_.h
$(DEVVECSRC)gdevpdfx.h:$(GLSRC)gscompt.h
$(DEVVECSRC)gdevpdfx.h:$(GLSRC)gsbittab.h
$(DEVVECSRC)gdevpdfx.h:$(GLSRC)gxcindex.h
-$(DEVVECSRC)gdevpdfx.h:$(GLSRC)stdint_.h
$(DEVVECSRC)gdevpdfx.h:$(GLSRC)gsgstate.h
+$(DEVVECSRC)gdevpdfx.h:$(GLSRC)stdint_.h
+$(DEVVECSRC)gdevpdfx.h:$(GLSRC)gssprintf.h
$(DEVVECSRC)gdevpdfx.h:$(GLSRC)gsccode.h
-$(DEVVECSRC)gdevpdfx.h:$(GLSRC)gs_dll_call.h
-$(DEVVECSRC)gdevpdfx.h:$(GLSRC)stdio_.h
-$(DEVVECSRC)gdevpdfx.h:$(GLSRC)gstypes.h
$(DEVVECSRC)gdevpdfx.h:$(GLSRC)std.h
+$(DEVVECSRC)gdevpdfx.h:$(GLSRC)gstypes.h
$(DEVVECSRC)gdevpdfx.h:$(GLSRC)stdpre.h
$(DEVVECSRC)gdevpdfx.h:$(GLGEN)arch.h
-$(DEVVECSRC)gdevpdfx.h:$(GLSRC)gssprintf.h
$(DEVVECSRC)gdevpsf.h:$(GLSRC)gxfcid.h
$(DEVVECSRC)gdevpsf.h:$(GLSRC)gstype1.h
$(DEVVECSRC)gdevpsf.h:$(GLSRC)gxfont42.h
@@ -2920,432 +2937,432 @@ $(DEVVECSRC)gdevpsf.h:$(GLSRC)gsnotify.h
$(DEVVECSRC)gdevpsf.h:$(GLSRC)gsfcmap.h
$(DEVVECSRC)gdevpsf.h:$(GLSRC)gstext.h
$(DEVVECSRC)gdevpsf.h:$(GLSRC)gxfcache.h
+$(DEVVECSRC)gdevpsf.h:$(GLSRC)gsuid.h
+$(DEVVECSRC)gdevpsf.h:$(GLSRC)gsdcolor.h
$(DEVVECSRC)gdevpsf.h:$(GLSRC)gsfont.h
+$(DEVVECSRC)gdevpsf.h:$(GLSRC)gxftype.h
+$(DEVVECSRC)gdevpsf.h:$(GLSRC)gscms.h
+$(DEVVECSRC)gdevpsf.h:$(GLSRC)gscspace.h
$(DEVVECSRC)gdevpsf.h:$(GLSRC)gxpath.h
-$(DEVVECSRC)gdevpsf.h:$(GLSRC)gspenum.h
-$(DEVVECSRC)gdevpsf.h:$(GLSRC)gslparam.h
$(DEVVECSRC)gdevpsf.h:$(GLSRC)gxbcache.h
-$(DEVVECSRC)gdevpsf.h:$(GLSRC)gsdcolor.h
-$(DEVVECSRC)gdevpsf.h:$(GLSRC)gsrect.h
-$(DEVVECSRC)gdevpsf.h:$(GLSRC)gscms.h
-$(DEVVECSRC)gdevpsf.h:$(GLSRC)gxftype.h
$(DEVVECSRC)gdevpsf.h:$(GLSRC)gsdevice.h
-$(DEVVECSRC)gdevpsf.h:$(GLSRC)gscspace.h
-$(DEVVECSRC)gdevpsf.h:$(GLSRC)gsuid.h
$(DEVVECSRC)gdevpsf.h:$(GLSRC)gxarith.h
+$(DEVVECSRC)gdevpsf.h:$(GLSRC)gspenum.h
+$(DEVVECSRC)gdevpsf.h:$(GLSRC)gxhttile.h
+$(DEVVECSRC)gdevpsf.h:$(GLSRC)gsrect.h
+$(DEVVECSRC)gdevpsf.h:$(GLSRC)gslparam.h
$(DEVVECSRC)gdevpsf.h:$(GLSRC)gsxfont.h
+$(DEVVECSRC)gdevpsf.h:$(GLSRC)gsiparam.h
+$(DEVVECSRC)gdevpsf.h:$(GLSRC)gxbitmap.h
+$(DEVVECSRC)gdevpsf.h:$(GLSRC)gsmatrix.h
+$(DEVVECSRC)gdevpsf.h:$(GLSRC)gscpm.h
$(DEVVECSRC)gdevpsf.h:$(GLSRC)gxfixed.h
$(DEVVECSRC)gdevpsf.h:$(GLSRC)gsrefct.h
-$(DEVVECSRC)gdevpsf.h:$(GLSRC)gscpm.h
-$(DEVVECSRC)gdevpsf.h:$(GLSRC)gsiparam.h
-$(DEVVECSRC)gdevpsf.h:$(GLSRC)gxhttile.h
-$(DEVVECSRC)gdevpsf.h:$(GLSRC)memento.h
$(DEVVECSRC)gdevpsf.h:$(GLSRC)gsparam.h
-$(DEVVECSRC)gdevpsf.h:$(GLSRC)gsmatrix.h
-$(DEVVECSRC)gdevpsf.h:$(GLSRC)gxbitmap.h
+$(DEVVECSRC)gdevpsf.h:$(GLSRC)gsccolor.h
$(DEVVECSRC)gdevpsf.h:$(GLSRC)gxsync.h
$(DEVVECSRC)gdevpsf.h:$(GLSRC)scommon.h
+$(DEVVECSRC)gdevpsf.h:$(GLSRC)memento.h
$(DEVVECSRC)gdevpsf.h:$(GLSRC)gsbitmap.h
-$(DEVVECSRC)gdevpsf.h:$(GLSRC)gsccolor.h
$(DEVVECSRC)gdevpsf.h:$(GLSRC)gsstype.h
$(DEVVECSRC)gdevpsf.h:$(GLSRC)gsmemory.h
$(DEVVECSRC)gdevpsf.h:$(GLSRC)gpsync.h
$(DEVVECSRC)gdevpsf.h:$(GLSRC)gslibctx.h
+$(DEVVECSRC)gdevpsf.h:$(GLSRC)gs_dll_call.h
+$(DEVVECSRC)gdevpsf.h:$(GLSRC)stdio_.h
$(DEVVECSRC)gdevpsf.h:$(GLSRC)gxcindex.h
-$(DEVVECSRC)gdevpsf.h:$(GLSRC)stdint_.h
$(DEVVECSRC)gdevpsf.h:$(GLSRC)gsgstate.h
+$(DEVVECSRC)gdevpsf.h:$(GLSRC)stdint_.h
+$(DEVVECSRC)gdevpsf.h:$(GLSRC)gssprintf.h
$(DEVVECSRC)gdevpsf.h:$(GLSRC)gsccode.h
-$(DEVVECSRC)gdevpsf.h:$(GLSRC)gs_dll_call.h
-$(DEVVECSRC)gdevpsf.h:$(GLSRC)stdio_.h
-$(DEVVECSRC)gdevpsf.h:$(GLSRC)gstypes.h
$(DEVVECSRC)gdevpsf.h:$(GLSRC)std.h
+$(DEVVECSRC)gdevpsf.h:$(GLSRC)gstypes.h
$(DEVVECSRC)gdevpsf.h:$(GLSRC)stdpre.h
$(DEVVECSRC)gdevpsf.h:$(GLGEN)arch.h
-$(DEVVECSRC)gdevpsf.h:$(GLSRC)gssprintf.h
$(DEVVECSRC)gdevpdt.h:$(DEVVECSRC)gdevpdfx.h
$(DEVVECSRC)gdevpdt.h:$(DEVVECSRC)gdevpsdf.h
$(DEVVECSRC)gdevpdt.h:$(GLSRC)gdevvec.h
$(DEVVECSRC)gdevpdt.h:$(GLSRC)gxgstate.h
-$(DEVVECSRC)gdevpdt.h:$(GLSRC)gxfont.h
-$(DEVVECSRC)gdevpdt.h:$(GLSRC)gstrans.h
$(DEVVECSRC)gdevpdt.h:$(GLSRC)gxline.h
-$(DEVVECSRC)gdevpdt.h:$(GLSRC)gsht1.h
+$(DEVVECSRC)gdevpdt.h:$(GLSRC)gstrans.h
$(DEVVECSRC)gdevpdt.h:$(GLSRC)sarc4.h
-$(DEVVECSRC)gdevpdt.h:$(GLSRC)gxcomp.h
+$(DEVVECSRC)gdevpdt.h:$(GLSRC)gsht1.h
+$(DEVVECSRC)gdevpdt.h:$(GLSRC)gxfont.h
+$(DEVVECSRC)gdevpdt.h:$(GLSRC)gdevbbox.h
$(DEVVECSRC)gdevpdt.h:$(GLSRC)math_.h
$(DEVVECSRC)gdevpdt.h:$(GLSRC)scfx.h
-$(DEVVECSRC)gdevpdt.h:$(GLSRC)gdevbbox.h
-$(DEVVECSRC)gdevpdt.h:$(GLSRC)spprint.h
-$(DEVVECSRC)gdevpdt.h:$(GLSRC)spsdf.h
$(DEVVECSRC)gdevpdt.h:$(GLSRC)gdevp14.h
$(DEVVECSRC)gdevpdt.h:$(GLSRC)gxcolor2.h
+$(DEVVECSRC)gdevpdt.h:$(GLSRC)spprint.h
+$(DEVVECSRC)gdevpdt.h:$(GLSRC)spsdf.h
$(DEVVECSRC)gdevpdt.h:$(GLSRC)gxpcolor.h
-$(DEVVECSRC)gdevpdt.h:$(GLSRC)gspath.h
$(DEVVECSRC)gdevpdt.h:$(GLSRC)gdevdevn.h
+$(DEVVECSRC)gdevpdt.h:$(GLSRC)gsequivc.h
+$(DEVVECSRC)gdevpdt.h:$(GLSRC)gspath.h
$(DEVVECSRC)gdevpdt.h:$(GLSRC)gxblend.h
+$(DEVVECSRC)gdevpdt.h:$(GLSRC)gxclipsr.h
+$(DEVVECSRC)gdevpdt.h:$(GLSRC)gxcomp.h
+$(DEVVECSRC)gdevpdt.h:$(GLSRC)gxdcolor.h
$(DEVVECSRC)gdevpdt.h:$(GLSRC)gxmatrix.h
$(DEVVECSRC)gdevpdt.h:$(GLSRC)gsgdata.h
-$(DEVVECSRC)gdevpdt.h:$(GLSRC)stream.h
$(DEVVECSRC)gdevpdt.h:$(GLSRC)gxbitfmt.h
-$(DEVVECSRC)gdevpdt.h:$(GLSRC)gsequivc.h
-$(DEVVECSRC)gdevpdt.h:$(GLSRC)gxclipsr.h
$(DEVVECSRC)gdevpdt.h:$(GLSRC)shc.h
$(DEVVECSRC)gdevpdt.h:$(GLSRC)gsgcache.h
$(DEVVECSRC)gdevpdt.h:$(GLSRC)gscolor2.h
-$(DEVVECSRC)gdevpdt.h:$(GLSRC)gxdevice.h
$(DEVVECSRC)gdevpdt.h:$(GLSRC)gxfapi.h
+$(DEVVECSRC)gdevpdt.h:$(GLSRC)gscindex.h
$(DEVVECSRC)gdevpdt.h:$(GLSRC)gsnotify.h
$(DEVVECSRC)gdevpdt.h:$(GLSRC)gsfcmap.h
-$(DEVVECSRC)gdevpdt.h:$(GLSRC)gxcpath.h
+$(DEVVECSRC)gdevpdt.h:$(GLSRC)gxdevice.h
$(DEVVECSRC)gdevpdt.h:$(GLSRC)gsht.h
-$(DEVVECSRC)gdevpdt.h:$(GLSRC)gxiparam.h
+$(DEVVECSRC)gdevpdt.h:$(GLSRC)gxcpath.h
$(DEVVECSRC)gdevpdt.h:$(GLSRC)sa85x.h
+$(DEVVECSRC)gdevpdt.h:$(GLSRC)gxiparam.h
+$(DEVVECSRC)gdevpdt.h:$(GLSRC)sa85d.h
$(DEVVECSRC)gdevpdt.h:$(GLSRC)gxdevmem.h
+$(DEVVECSRC)gdevpdt.h:$(GLSRC)gxdevcli.h
$(DEVVECSRC)gdevpdt.h:$(GLSRC)gxpcache.h
-$(DEVVECSRC)gdevpdt.h:$(GLSRC)sa85d.h
-$(DEVVECSRC)gdevpdt.h:$(GLSRC)gscindex.h
$(DEVVECSRC)gdevpdt.h:$(GLSRC)gsptype1.h
-$(DEVVECSRC)gdevpdt.h:$(GLSRC)gxdevcli.h
$(DEVVECSRC)gdevpdt.h:$(GLSRC)gxtext.h
-$(DEVVECSRC)gdevpdt.h:$(GLSRC)gspcolor.h
+$(DEVVECSRC)gdevpdt.h:$(GLSRC)gscie.h
$(DEVVECSRC)gdevpdt.h:$(GLSRC)gstext.h
-$(DEVVECSRC)gdevpdt.h:$(GLSRC)gxdcolor.h
+$(DEVVECSRC)gdevpdt.h:$(GLSRC)gsnamecl.h
$(DEVVECSRC)gdevpdt.h:$(GLSRC)gstparam.h
-$(DEVVECSRC)gdevpdt.h:$(GLSRC)gscie.h
$(DEVVECSRC)gdevpdt.h:$(GLSRC)gxstate.h
-$(DEVVECSRC)gdevpdt.h:$(GLSRC)gxcmap.h
-$(DEVVECSRC)gdevpdt.h:$(GLSRC)gsmalloc.h
+$(DEVVECSRC)gdevpdt.h:$(GLSRC)gspcolor.h
+$(DEVVECSRC)gdevpdt.h:$(GLSRC)gxfcache.h
+$(DEVVECSRC)gdevpdt.h:$(GLSRC)stream.h
+$(DEVVECSRC)gdevpdt.h:$(GLSRC)gxcspace.h
$(DEVVECSRC)gdevpdt.h:$(GLSRC)gsropt.h
$(DEVVECSRC)gdevpdt.h:$(GLSRC)gsfunc.h
+$(DEVVECSRC)gdevpdt.h:$(GLSRC)gsmalloc.h
+$(DEVVECSRC)gdevpdt.h:$(GLSRC)gxrplane.h
$(DEVVECSRC)gdevpdt.h:$(GLSRC)gxctable.h
-$(DEVVECSRC)gdevpdt.h:$(GLSRC)gsnamecl.h
$(DEVVECSRC)gdevpdt.h:$(GLSRC)gxiodev.h
-$(DEVVECSRC)gdevpdt.h:$(GLSRC)gxrplane.h
-$(DEVVECSRC)gdevpdt.h:$(GLSRC)gxcspace.h
+$(DEVVECSRC)gdevpdt.h:$(GLSRC)gsuid.h
+$(DEVVECSRC)gdevpdt.h:$(GLSRC)gxcmap.h
+$(DEVVECSRC)gdevpdt.h:$(GLSRC)gxhldevc.h
$(DEVVECSRC)gdevpdt.h:$(GLSRC)strimpl.h
-$(DEVVECSRC)gdevpdt.h:$(GLSRC)gxiclass.h
-$(DEVVECSRC)gdevpdt.h:$(GLSRC)stat_.h
-$(DEVVECSRC)gdevpdt.h:$(GLSRC)gxfcache.h
+$(DEVVECSRC)gdevpdt.h:$(GLSRC)gsimage.h
+$(DEVVECSRC)gdevpdt.h:$(GLSRC)gsdcolor.h
+$(DEVVECSRC)gdevpdt.h:$(GLSRC)gxdda.h
+$(DEVVECSRC)gdevpdt.h:$(GLSRC)gxcvalue.h
$(DEVVECSRC)gdevpdt.h:$(GLSRC)gsfont.h
$(DEVVECSRC)gdevpdt.h:$(GLSRC)gxfmap.h
-$(DEVVECSRC)gdevpdt.h:$(GLSRC)gxcvalue.h
-$(DEVVECSRC)gdevpdt.h:$(GLSRC)gxpath.h
-$(DEVVECSRC)gdevpdt.h:$(GLSRC)gspenum.h
-$(DEVVECSRC)gdevpdt.h:$(GLSRC)gxtmap.h
-$(DEVVECSRC)gdevpdt.h:$(GLSRC)gsimage.h
+$(DEVVECSRC)gdevpdt.h:$(GLSRC)gxiclass.h
+$(DEVVECSRC)gdevpdt.h:$(GLSRC)gxftype.h
$(DEVVECSRC)gdevpdt.h:$(GLSRC)gxfrac.h
-$(DEVVECSRC)gdevpdt.h:$(GLSRC)gxdda.h
-$(DEVVECSRC)gdevpdt.h:$(GLSRC)gslparam.h
-$(DEVVECSRC)gdevpdt.h:$(GLSRC)gxhldevc.h
-$(DEVVECSRC)gdevpdt.h:$(GLSRC)gxbcache.h
-$(DEVVECSRC)gdevpdt.h:$(GLSRC)gsdcolor.h
-$(DEVVECSRC)gdevpdt.h:$(GLSRC)gsrect.h
$(DEVVECSRC)gdevpdt.h:$(GLSRC)gscms.h
-$(DEVVECSRC)gdevpdt.h:$(GLSRC)gxftype.h
-$(DEVVECSRC)gdevpdt.h:$(GLSRC)gsdevice.h
$(DEVVECSRC)gdevpdt.h:$(GLSRC)gscspace.h
-$(DEVVECSRC)gdevpdt.h:$(GLSRC)gsuid.h
+$(DEVVECSRC)gdevpdt.h:$(GLSRC)gxpath.h
+$(DEVVECSRC)gdevpdt.h:$(GLSRC)gxbcache.h
+$(DEVVECSRC)gdevpdt.h:$(GLSRC)gsdevice.h
$(DEVVECSRC)gdevpdt.h:$(GLSRC)gxarith.h
-$(DEVVECSRC)gdevpdt.h:$(GLSRC)gsdsrc.h
$(DEVVECSRC)gdevpdt.h:$(GLSRC)gxstdio.h
+$(DEVVECSRC)gdevpdt.h:$(GLSRC)gspenum.h
+$(DEVVECSRC)gdevpdt.h:$(GLSRC)gxhttile.h
+$(DEVVECSRC)gdevpdt.h:$(GLSRC)gsrect.h
+$(DEVVECSRC)gdevpdt.h:$(GLSRC)gslparam.h
$(DEVVECSRC)gdevpdt.h:$(GLSRC)gsxfont.h
-$(DEVVECSRC)gdevpdt.h:$(GLSRC)gxfixed.h
-$(DEVVECSRC)gdevpdt.h:$(GLSRC)gsrefct.h
-$(DEVVECSRC)gdevpdt.h:$(GLSRC)gscpm.h
$(DEVVECSRC)gdevpdt.h:$(GLSRC)gsiparam.h
-$(DEVVECSRC)gdevpdt.h:$(GLSRC)gxhttile.h
+$(DEVVECSRC)gdevpdt.h:$(GLSRC)gsdsrc.h
$(DEVVECSRC)gdevpdt.h:$(GLSRC)gsio.h
-$(DEVVECSRC)gdevpdt.h:$(GLSRC)gp.h
-$(DEVVECSRC)gdevpdt.h:$(GLSRC)memento.h
-$(DEVVECSRC)gdevpdt.h:$(GLSRC)gsparam.h
-$(DEVVECSRC)gdevpdt.h:$(GLSRC)gsmatrix.h
$(DEVVECSRC)gdevpdt.h:$(GLSRC)gxbitmap.h
-$(DEVVECSRC)gdevpdt.h:$(GLSRC)srdline.h
+$(DEVVECSRC)gdevpdt.h:$(GLSRC)gsmatrix.h
+$(DEVVECSRC)gdevpdt.h:$(GLSRC)gscpm.h
+$(DEVVECSRC)gdevpdt.h:$(GLSRC)gxfixed.h
+$(DEVVECSRC)gdevpdt.h:$(GLSRC)gsrefct.h
+$(DEVVECSRC)gdevpdt.h:$(GLSRC)gsparam.h
+$(DEVVECSRC)gdevpdt.h:$(GLSRC)gp.h
+$(DEVVECSRC)gdevpdt.h:$(GLSRC)gsccolor.h
$(DEVVECSRC)gdevpdt.h:$(GLSRC)gsstruct.h
$(DEVVECSRC)gdevpdt.h:$(GLSRC)gxsync.h
+$(DEVVECSRC)gdevpdt.h:$(GLSRC)srdline.h
+$(DEVVECSRC)gdevpdt.h:$(GLSRC)scommon.h
+$(DEVVECSRC)gdevpdt.h:$(GLSRC)memento.h
$(DEVVECSRC)gdevpdt.h:$(GLSRC)vmsmath.h
$(DEVVECSRC)gdevpdt.h:$(GLSRC)gscsel.h
-$(DEVVECSRC)gdevpdt.h:$(GLSRC)scommon.h
$(DEVVECSRC)gdevpdt.h:$(GLSRC)gsbitmap.h
$(DEVVECSRC)gdevpdt.h:$(GLSRC)gsfname.h
-$(DEVVECSRC)gdevpdt.h:$(GLSRC)gsccolor.h
$(DEVVECSRC)gdevpdt.h:$(GLSRC)gsstype.h
+$(DEVVECSRC)gdevpdt.h:$(GLSRC)stat_.h
+$(DEVVECSRC)gdevpdt.h:$(GLSRC)gxtmap.h
$(DEVVECSRC)gdevpdt.h:$(GLSRC)gsmemory.h
$(DEVVECSRC)gdevpdt.h:$(GLSRC)gpsync.h
-$(DEVVECSRC)gdevpdt.h:$(GLSRC)gpgetenv.h
$(DEVVECSRC)gdevpdt.h:$(GLSRC)memory_.h
+$(DEVVECSRC)gdevpdt.h:$(GLSRC)gpgetenv.h
$(DEVVECSRC)gdevpdt.h:$(GLSRC)gslibctx.h
$(DEVVECSRC)gdevpdt.h:$(GLSRC)gscdefs.h
+$(DEVVECSRC)gdevpdt.h:$(GLSRC)gs_dll_call.h
+$(DEVVECSRC)gdevpdt.h:$(GLSRC)stdio_.h
$(DEVVECSRC)gdevpdt.h:$(GLSRC)gscompt.h
$(DEVVECSRC)gdevpdt.h:$(GLSRC)gsbittab.h
$(DEVVECSRC)gdevpdt.h:$(GLSRC)gxcindex.h
-$(DEVVECSRC)gdevpdt.h:$(GLSRC)stdint_.h
$(DEVVECSRC)gdevpdt.h:$(GLSRC)gsgstate.h
+$(DEVVECSRC)gdevpdt.h:$(GLSRC)stdint_.h
+$(DEVVECSRC)gdevpdt.h:$(GLSRC)gssprintf.h
$(DEVVECSRC)gdevpdt.h:$(GLSRC)gsccode.h
-$(DEVVECSRC)gdevpdt.h:$(GLSRC)gs_dll_call.h
-$(DEVVECSRC)gdevpdt.h:$(GLSRC)stdio_.h
-$(DEVVECSRC)gdevpdt.h:$(GLSRC)gstypes.h
$(DEVVECSRC)gdevpdt.h:$(GLSRC)std.h
+$(DEVVECSRC)gdevpdt.h:$(GLSRC)gstypes.h
$(DEVVECSRC)gdevpdt.h:$(GLSRC)stdpre.h
$(DEVVECSRC)gdevpdt.h:$(GLGEN)arch.h
-$(DEVVECSRC)gdevpdt.h:$(GLSRC)gssprintf.h
$(DEVVECSRC)gdevpdtx.h:$(DEVVECSRC)gdevpdt.h
$(DEVVECSRC)gdevpdtx.h:$(DEVVECSRC)gdevpdfx.h
$(DEVVECSRC)gdevpdtx.h:$(DEVVECSRC)gdevpsdf.h
$(DEVVECSRC)gdevpdtx.h:$(GLSRC)gdevvec.h
$(DEVVECSRC)gdevpdtx.h:$(GLSRC)gxgstate.h
-$(DEVVECSRC)gdevpdtx.h:$(GLSRC)gxfont.h
-$(DEVVECSRC)gdevpdtx.h:$(GLSRC)gstrans.h
$(DEVVECSRC)gdevpdtx.h:$(GLSRC)gxline.h
-$(DEVVECSRC)gdevpdtx.h:$(GLSRC)gsht1.h
+$(DEVVECSRC)gdevpdtx.h:$(GLSRC)gstrans.h
$(DEVVECSRC)gdevpdtx.h:$(GLSRC)sarc4.h
-$(DEVVECSRC)gdevpdtx.h:$(GLSRC)gxcomp.h
+$(DEVVECSRC)gdevpdtx.h:$(GLSRC)gsht1.h
+$(DEVVECSRC)gdevpdtx.h:$(GLSRC)gxfont.h
+$(DEVVECSRC)gdevpdtx.h:$(GLSRC)gdevbbox.h
$(DEVVECSRC)gdevpdtx.h:$(GLSRC)math_.h
$(DEVVECSRC)gdevpdtx.h:$(GLSRC)scfx.h
-$(DEVVECSRC)gdevpdtx.h:$(GLSRC)gdevbbox.h
-$(DEVVECSRC)gdevpdtx.h:$(GLSRC)spprint.h
-$(DEVVECSRC)gdevpdtx.h:$(GLSRC)spsdf.h
$(DEVVECSRC)gdevpdtx.h:$(GLSRC)gdevp14.h
$(DEVVECSRC)gdevpdtx.h:$(GLSRC)gxcolor2.h
+$(DEVVECSRC)gdevpdtx.h:$(GLSRC)spprint.h
+$(DEVVECSRC)gdevpdtx.h:$(GLSRC)spsdf.h
$(DEVVECSRC)gdevpdtx.h:$(GLSRC)gxpcolor.h
-$(DEVVECSRC)gdevpdtx.h:$(GLSRC)gspath.h
$(DEVVECSRC)gdevpdtx.h:$(GLSRC)gdevdevn.h
+$(DEVVECSRC)gdevpdtx.h:$(GLSRC)gsequivc.h
+$(DEVVECSRC)gdevpdtx.h:$(GLSRC)gspath.h
$(DEVVECSRC)gdevpdtx.h:$(GLSRC)gxblend.h
+$(DEVVECSRC)gdevpdtx.h:$(GLSRC)gxclipsr.h
+$(DEVVECSRC)gdevpdtx.h:$(GLSRC)gxcomp.h
+$(DEVVECSRC)gdevpdtx.h:$(GLSRC)gxdcolor.h
$(DEVVECSRC)gdevpdtx.h:$(GLSRC)gxmatrix.h
$(DEVVECSRC)gdevpdtx.h:$(GLSRC)gsgdata.h
-$(DEVVECSRC)gdevpdtx.h:$(GLSRC)stream.h
$(DEVVECSRC)gdevpdtx.h:$(GLSRC)gxbitfmt.h
-$(DEVVECSRC)gdevpdtx.h:$(GLSRC)gsequivc.h
-$(DEVVECSRC)gdevpdtx.h:$(GLSRC)gxclipsr.h
$(DEVVECSRC)gdevpdtx.h:$(GLSRC)shc.h
$(DEVVECSRC)gdevpdtx.h:$(GLSRC)gsgcache.h
$(DEVVECSRC)gdevpdtx.h:$(GLSRC)gscolor2.h
-$(DEVVECSRC)gdevpdtx.h:$(GLSRC)gxdevice.h
$(DEVVECSRC)gdevpdtx.h:$(GLSRC)gxfapi.h
+$(DEVVECSRC)gdevpdtx.h:$(GLSRC)gscindex.h
$(DEVVECSRC)gdevpdtx.h:$(GLSRC)gsnotify.h
$(DEVVECSRC)gdevpdtx.h:$(GLSRC)gsfcmap.h
-$(DEVVECSRC)gdevpdtx.h:$(GLSRC)gxcpath.h
+$(DEVVECSRC)gdevpdtx.h:$(GLSRC)gxdevice.h
$(DEVVECSRC)gdevpdtx.h:$(GLSRC)gsht.h
-$(DEVVECSRC)gdevpdtx.h:$(GLSRC)gxiparam.h
+$(DEVVECSRC)gdevpdtx.h:$(GLSRC)gxcpath.h
$(DEVVECSRC)gdevpdtx.h:$(GLSRC)sa85x.h
+$(DEVVECSRC)gdevpdtx.h:$(GLSRC)gxiparam.h
+$(DEVVECSRC)gdevpdtx.h:$(GLSRC)sa85d.h
$(DEVVECSRC)gdevpdtx.h:$(GLSRC)gxdevmem.h
+$(DEVVECSRC)gdevpdtx.h:$(GLSRC)gxdevcli.h
$(DEVVECSRC)gdevpdtx.h:$(GLSRC)gxpcache.h
-$(DEVVECSRC)gdevpdtx.h:$(GLSRC)sa85d.h
-$(DEVVECSRC)gdevpdtx.h:$(GLSRC)gscindex.h
$(DEVVECSRC)gdevpdtx.h:$(GLSRC)gsptype1.h
-$(DEVVECSRC)gdevpdtx.h:$(GLSRC)gxdevcli.h
$(DEVVECSRC)gdevpdtx.h:$(GLSRC)gxtext.h
-$(DEVVECSRC)gdevpdtx.h:$(GLSRC)gspcolor.h
+$(DEVVECSRC)gdevpdtx.h:$(GLSRC)gscie.h
$(DEVVECSRC)gdevpdtx.h:$(GLSRC)gstext.h
-$(DEVVECSRC)gdevpdtx.h:$(GLSRC)gxdcolor.h
+$(DEVVECSRC)gdevpdtx.h:$(GLSRC)gsnamecl.h
$(DEVVECSRC)gdevpdtx.h:$(GLSRC)gstparam.h
-$(DEVVECSRC)gdevpdtx.h:$(GLSRC)gscie.h
$(DEVVECSRC)gdevpdtx.h:$(GLSRC)gxstate.h
-$(DEVVECSRC)gdevpdtx.h:$(GLSRC)gxcmap.h
-$(DEVVECSRC)gdevpdtx.h:$(GLSRC)gsmalloc.h
+$(DEVVECSRC)gdevpdtx.h:$(GLSRC)gspcolor.h
+$(DEVVECSRC)gdevpdtx.h:$(GLSRC)gxfcache.h
+$(DEVVECSRC)gdevpdtx.h:$(GLSRC)stream.h
+$(DEVVECSRC)gdevpdtx.h:$(GLSRC)gxcspace.h
$(DEVVECSRC)gdevpdtx.h:$(GLSRC)gsropt.h
$(DEVVECSRC)gdevpdtx.h:$(GLSRC)gsfunc.h
+$(DEVVECSRC)gdevpdtx.h:$(GLSRC)gsmalloc.h
+$(DEVVECSRC)gdevpdtx.h:$(GLSRC)gxrplane.h
$(DEVVECSRC)gdevpdtx.h:$(GLSRC)gxctable.h
-$(DEVVECSRC)gdevpdtx.h:$(GLSRC)gsnamecl.h
$(DEVVECSRC)gdevpdtx.h:$(GLSRC)gxiodev.h
-$(DEVVECSRC)gdevpdtx.h:$(GLSRC)gxrplane.h
-$(DEVVECSRC)gdevpdtx.h:$(GLSRC)gxcspace.h
+$(DEVVECSRC)gdevpdtx.h:$(GLSRC)gsuid.h
+$(DEVVECSRC)gdevpdtx.h:$(GLSRC)gxcmap.h
+$(DEVVECSRC)gdevpdtx.h:$(GLSRC)gxhldevc.h
$(DEVVECSRC)gdevpdtx.h:$(GLSRC)strimpl.h
-$(DEVVECSRC)gdevpdtx.h:$(GLSRC)gxiclass.h
-$(DEVVECSRC)gdevpdtx.h:$(GLSRC)stat_.h
-$(DEVVECSRC)gdevpdtx.h:$(GLSRC)gxfcache.h
+$(DEVVECSRC)gdevpdtx.h:$(GLSRC)gsimage.h
+$(DEVVECSRC)gdevpdtx.h:$(GLSRC)gsdcolor.h
+$(DEVVECSRC)gdevpdtx.h:$(GLSRC)gxdda.h
+$(DEVVECSRC)gdevpdtx.h:$(GLSRC)gxcvalue.h
$(DEVVECSRC)gdevpdtx.h:$(GLSRC)gsfont.h
$(DEVVECSRC)gdevpdtx.h:$(GLSRC)gxfmap.h
-$(DEVVECSRC)gdevpdtx.h:$(GLSRC)gxcvalue.h
-$(DEVVECSRC)gdevpdtx.h:$(GLSRC)gxpath.h
-$(DEVVECSRC)gdevpdtx.h:$(GLSRC)gspenum.h
-$(DEVVECSRC)gdevpdtx.h:$(GLSRC)gxtmap.h
-$(DEVVECSRC)gdevpdtx.h:$(GLSRC)gsimage.h
+$(DEVVECSRC)gdevpdtx.h:$(GLSRC)gxiclass.h
+$(DEVVECSRC)gdevpdtx.h:$(GLSRC)gxftype.h
$(DEVVECSRC)gdevpdtx.h:$(GLSRC)gxfrac.h
-$(DEVVECSRC)gdevpdtx.h:$(GLSRC)gxdda.h
-$(DEVVECSRC)gdevpdtx.h:$(GLSRC)gslparam.h
-$(DEVVECSRC)gdevpdtx.h:$(GLSRC)gxhldevc.h
-$(DEVVECSRC)gdevpdtx.h:$(GLSRC)gxbcache.h
-$(DEVVECSRC)gdevpdtx.h:$(GLSRC)gsdcolor.h
-$(DEVVECSRC)gdevpdtx.h:$(GLSRC)gsrect.h
$(DEVVECSRC)gdevpdtx.h:$(GLSRC)gscms.h
-$(DEVVECSRC)gdevpdtx.h:$(GLSRC)gxftype.h
-$(DEVVECSRC)gdevpdtx.h:$(GLSRC)gsdevice.h
$(DEVVECSRC)gdevpdtx.h:$(GLSRC)gscspace.h
-$(DEVVECSRC)gdevpdtx.h:$(GLSRC)gsuid.h
+$(DEVVECSRC)gdevpdtx.h:$(GLSRC)gxpath.h
+$(DEVVECSRC)gdevpdtx.h:$(GLSRC)gxbcache.h
+$(DEVVECSRC)gdevpdtx.h:$(GLSRC)gsdevice.h
$(DEVVECSRC)gdevpdtx.h:$(GLSRC)gxarith.h
-$(DEVVECSRC)gdevpdtx.h:$(GLSRC)gsdsrc.h
$(DEVVECSRC)gdevpdtx.h:$(GLSRC)gxstdio.h
+$(DEVVECSRC)gdevpdtx.h:$(GLSRC)gspenum.h
+$(DEVVECSRC)gdevpdtx.h:$(GLSRC)gxhttile.h
+$(DEVVECSRC)gdevpdtx.h:$(GLSRC)gsrect.h
+$(DEVVECSRC)gdevpdtx.h:$(GLSRC)gslparam.h
$(DEVVECSRC)gdevpdtx.h:$(GLSRC)gsxfont.h
-$(DEVVECSRC)gdevpdtx.h:$(GLSRC)gxfixed.h
-$(DEVVECSRC)gdevpdtx.h:$(GLSRC)gsrefct.h
-$(DEVVECSRC)gdevpdtx.h:$(GLSRC)gscpm.h
$(DEVVECSRC)gdevpdtx.h:$(GLSRC)gsiparam.h
-$(DEVVECSRC)gdevpdtx.h:$(GLSRC)gxhttile.h
+$(DEVVECSRC)gdevpdtx.h:$(GLSRC)gsdsrc.h
$(DEVVECSRC)gdevpdtx.h:$(GLSRC)gsio.h
-$(DEVVECSRC)gdevpdtx.h:$(GLSRC)gp.h
-$(DEVVECSRC)gdevpdtx.h:$(GLSRC)memento.h
-$(DEVVECSRC)gdevpdtx.h:$(GLSRC)gsparam.h
-$(DEVVECSRC)gdevpdtx.h:$(GLSRC)gsmatrix.h
$(DEVVECSRC)gdevpdtx.h:$(GLSRC)gxbitmap.h
-$(DEVVECSRC)gdevpdtx.h:$(GLSRC)srdline.h
+$(DEVVECSRC)gdevpdtx.h:$(GLSRC)gsmatrix.h
+$(DEVVECSRC)gdevpdtx.h:$(GLSRC)gscpm.h
+$(DEVVECSRC)gdevpdtx.h:$(GLSRC)gxfixed.h
+$(DEVVECSRC)gdevpdtx.h:$(GLSRC)gsrefct.h
+$(DEVVECSRC)gdevpdtx.h:$(GLSRC)gsparam.h
+$(DEVVECSRC)gdevpdtx.h:$(GLSRC)gp.h
+$(DEVVECSRC)gdevpdtx.h:$(GLSRC)gsccolor.h
$(DEVVECSRC)gdevpdtx.h:$(GLSRC)gsstruct.h
$(DEVVECSRC)gdevpdtx.h:$(GLSRC)gxsync.h
+$(DEVVECSRC)gdevpdtx.h:$(GLSRC)srdline.h
+$(DEVVECSRC)gdevpdtx.h:$(GLSRC)scommon.h
+$(DEVVECSRC)gdevpdtx.h:$(GLSRC)memento.h
$(DEVVECSRC)gdevpdtx.h:$(GLSRC)vmsmath.h
$(DEVVECSRC)gdevpdtx.h:$(GLSRC)gscsel.h
-$(DEVVECSRC)gdevpdtx.h:$(GLSRC)scommon.h
$(DEVVECSRC)gdevpdtx.h:$(GLSRC)gsbitmap.h
$(DEVVECSRC)gdevpdtx.h:$(GLSRC)gsfname.h
-$(DEVVECSRC)gdevpdtx.h:$(GLSRC)gsccolor.h
$(DEVVECSRC)gdevpdtx.h:$(GLSRC)gsstype.h
+$(DEVVECSRC)gdevpdtx.h:$(GLSRC)stat_.h
+$(DEVVECSRC)gdevpdtx.h:$(GLSRC)gxtmap.h
$(DEVVECSRC)gdevpdtx.h:$(GLSRC)gsmemory.h
$(DEVVECSRC)gdevpdtx.h:$(GLSRC)gpsync.h
-$(DEVVECSRC)gdevpdtx.h:$(GLSRC)gpgetenv.h
$(DEVVECSRC)gdevpdtx.h:$(GLSRC)memory_.h
+$(DEVVECSRC)gdevpdtx.h:$(GLSRC)gpgetenv.h
$(DEVVECSRC)gdevpdtx.h:$(GLSRC)gslibctx.h
$(DEVVECSRC)gdevpdtx.h:$(GLSRC)gscdefs.h
+$(DEVVECSRC)gdevpdtx.h:$(GLSRC)gs_dll_call.h
+$(DEVVECSRC)gdevpdtx.h:$(GLSRC)stdio_.h
$(DEVVECSRC)gdevpdtx.h:$(GLSRC)gscompt.h
$(DEVVECSRC)gdevpdtx.h:$(GLSRC)gsbittab.h
$(DEVVECSRC)gdevpdtx.h:$(GLSRC)gxcindex.h
-$(DEVVECSRC)gdevpdtx.h:$(GLSRC)stdint_.h
$(DEVVECSRC)gdevpdtx.h:$(GLSRC)gsgstate.h
+$(DEVVECSRC)gdevpdtx.h:$(GLSRC)stdint_.h
+$(DEVVECSRC)gdevpdtx.h:$(GLSRC)gssprintf.h
$(DEVVECSRC)gdevpdtx.h:$(GLSRC)gsccode.h
-$(DEVVECSRC)gdevpdtx.h:$(GLSRC)gs_dll_call.h
-$(DEVVECSRC)gdevpdtx.h:$(GLSRC)stdio_.h
-$(DEVVECSRC)gdevpdtx.h:$(GLSRC)gstypes.h
$(DEVVECSRC)gdevpdtx.h:$(GLSRC)std.h
+$(DEVVECSRC)gdevpdtx.h:$(GLSRC)gstypes.h
$(DEVVECSRC)gdevpdtx.h:$(GLSRC)stdpre.h
$(DEVVECSRC)gdevpdtx.h:$(GLGEN)arch.h
-$(DEVVECSRC)gdevpdtx.h:$(GLSRC)gssprintf.h
$(DEVVECSRC)gdevpdtb.h:$(DEVVECSRC)gdevpdtx.h
$(DEVVECSRC)gdevpdtb.h:$(DEVVECSRC)gdevpdt.h
$(DEVVECSRC)gdevpdtb.h:$(DEVVECSRC)gdevpdfx.h
$(DEVVECSRC)gdevpdtb.h:$(DEVVECSRC)gdevpsdf.h
$(DEVVECSRC)gdevpdtb.h:$(GLSRC)gdevvec.h
$(DEVVECSRC)gdevpdtb.h:$(GLSRC)gxgstate.h
-$(DEVVECSRC)gdevpdtb.h:$(GLSRC)gxfont.h
-$(DEVVECSRC)gdevpdtb.h:$(GLSRC)gstrans.h
$(DEVVECSRC)gdevpdtb.h:$(GLSRC)gxline.h
-$(DEVVECSRC)gdevpdtb.h:$(GLSRC)gsht1.h
+$(DEVVECSRC)gdevpdtb.h:$(GLSRC)gstrans.h
$(DEVVECSRC)gdevpdtb.h:$(GLSRC)sarc4.h
-$(DEVVECSRC)gdevpdtb.h:$(GLSRC)gxcomp.h
+$(DEVVECSRC)gdevpdtb.h:$(GLSRC)gsht1.h
+$(DEVVECSRC)gdevpdtb.h:$(GLSRC)gxfont.h
+$(DEVVECSRC)gdevpdtb.h:$(GLSRC)gdevbbox.h
$(DEVVECSRC)gdevpdtb.h:$(GLSRC)math_.h
$(DEVVECSRC)gdevpdtb.h:$(GLSRC)scfx.h
-$(DEVVECSRC)gdevpdtb.h:$(GLSRC)gdevbbox.h
-$(DEVVECSRC)gdevpdtb.h:$(GLSRC)spprint.h
-$(DEVVECSRC)gdevpdtb.h:$(GLSRC)spsdf.h
$(DEVVECSRC)gdevpdtb.h:$(GLSRC)gdevp14.h
$(DEVVECSRC)gdevpdtb.h:$(GLSRC)gxcolor2.h
+$(DEVVECSRC)gdevpdtb.h:$(GLSRC)spprint.h
+$(DEVVECSRC)gdevpdtb.h:$(GLSRC)spsdf.h
$(DEVVECSRC)gdevpdtb.h:$(GLSRC)gxpcolor.h
-$(DEVVECSRC)gdevpdtb.h:$(GLSRC)gspath.h
$(DEVVECSRC)gdevpdtb.h:$(GLSRC)gdevdevn.h
+$(DEVVECSRC)gdevpdtb.h:$(GLSRC)gsequivc.h
+$(DEVVECSRC)gdevpdtb.h:$(GLSRC)gspath.h
$(DEVVECSRC)gdevpdtb.h:$(GLSRC)gxblend.h
+$(DEVVECSRC)gdevpdtb.h:$(GLSRC)gxclipsr.h
+$(DEVVECSRC)gdevpdtb.h:$(GLSRC)gxcomp.h
+$(DEVVECSRC)gdevpdtb.h:$(GLSRC)gxdcolor.h
$(DEVVECSRC)gdevpdtb.h:$(GLSRC)gxmatrix.h
$(DEVVECSRC)gdevpdtb.h:$(GLSRC)gsgdata.h
-$(DEVVECSRC)gdevpdtb.h:$(GLSRC)stream.h
$(DEVVECSRC)gdevpdtb.h:$(GLSRC)gxbitfmt.h
-$(DEVVECSRC)gdevpdtb.h:$(GLSRC)gsequivc.h
-$(DEVVECSRC)gdevpdtb.h:$(GLSRC)gxclipsr.h
$(DEVVECSRC)gdevpdtb.h:$(GLSRC)shc.h
$(DEVVECSRC)gdevpdtb.h:$(GLSRC)gsgcache.h
$(DEVVECSRC)gdevpdtb.h:$(GLSRC)gscolor2.h
-$(DEVVECSRC)gdevpdtb.h:$(GLSRC)gxdevice.h
$(DEVVECSRC)gdevpdtb.h:$(GLSRC)gxfapi.h
+$(DEVVECSRC)gdevpdtb.h:$(GLSRC)gscindex.h
$(DEVVECSRC)gdevpdtb.h:$(GLSRC)gsnotify.h
$(DEVVECSRC)gdevpdtb.h:$(GLSRC)gsfcmap.h
-$(DEVVECSRC)gdevpdtb.h:$(GLSRC)gxcpath.h
+$(DEVVECSRC)gdevpdtb.h:$(GLSRC)gxdevice.h
$(DEVVECSRC)gdevpdtb.h:$(GLSRC)gsht.h
-$(DEVVECSRC)gdevpdtb.h:$(GLSRC)gxiparam.h
+$(DEVVECSRC)gdevpdtb.h:$(GLSRC)gxcpath.h
$(DEVVECSRC)gdevpdtb.h:$(GLSRC)sa85x.h
+$(DEVVECSRC)gdevpdtb.h:$(GLSRC)gxiparam.h
+$(DEVVECSRC)gdevpdtb.h:$(GLSRC)sa85d.h
$(DEVVECSRC)gdevpdtb.h:$(GLSRC)gxdevmem.h
+$(DEVVECSRC)gdevpdtb.h:$(GLSRC)gxdevcli.h
$(DEVVECSRC)gdevpdtb.h:$(GLSRC)gxpcache.h
-$(DEVVECSRC)gdevpdtb.h:$(GLSRC)sa85d.h
-$(DEVVECSRC)gdevpdtb.h:$(GLSRC)gscindex.h
$(DEVVECSRC)gdevpdtb.h:$(GLSRC)gsptype1.h
-$(DEVVECSRC)gdevpdtb.h:$(GLSRC)gxdevcli.h
$(DEVVECSRC)gdevpdtb.h:$(GLSRC)gxtext.h
-$(DEVVECSRC)gdevpdtb.h:$(GLSRC)gspcolor.h
+$(DEVVECSRC)gdevpdtb.h:$(GLSRC)gscie.h
$(DEVVECSRC)gdevpdtb.h:$(GLSRC)gstext.h
-$(DEVVECSRC)gdevpdtb.h:$(GLSRC)gxdcolor.h
+$(DEVVECSRC)gdevpdtb.h:$(GLSRC)gsnamecl.h
$(DEVVECSRC)gdevpdtb.h:$(GLSRC)gstparam.h
-$(DEVVECSRC)gdevpdtb.h:$(GLSRC)gscie.h
$(DEVVECSRC)gdevpdtb.h:$(GLSRC)gxstate.h
-$(DEVVECSRC)gdevpdtb.h:$(GLSRC)gxcmap.h
-$(DEVVECSRC)gdevpdtb.h:$(GLSRC)gsmalloc.h
+$(DEVVECSRC)gdevpdtb.h:$(GLSRC)gspcolor.h
+$(DEVVECSRC)gdevpdtb.h:$(GLSRC)gxfcache.h
+$(DEVVECSRC)gdevpdtb.h:$(GLSRC)stream.h
+$(DEVVECSRC)gdevpdtb.h:$(GLSRC)gxcspace.h
$(DEVVECSRC)gdevpdtb.h:$(GLSRC)gsropt.h
$(DEVVECSRC)gdevpdtb.h:$(GLSRC)gsfunc.h
+$(DEVVECSRC)gdevpdtb.h:$(GLSRC)gsmalloc.h
+$(DEVVECSRC)gdevpdtb.h:$(GLSRC)gxrplane.h
$(DEVVECSRC)gdevpdtb.h:$(GLSRC)gxctable.h
-$(DEVVECSRC)gdevpdtb.h:$(GLSRC)gsnamecl.h
$(DEVVECSRC)gdevpdtb.h:$(GLSRC)gxiodev.h
-$(DEVVECSRC)gdevpdtb.h:$(GLSRC)gxrplane.h
-$(DEVVECSRC)gdevpdtb.h:$(GLSRC)gxcspace.h
+$(DEVVECSRC)gdevpdtb.h:$(GLSRC)gsuid.h
+$(DEVVECSRC)gdevpdtb.h:$(GLSRC)gxcmap.h
+$(DEVVECSRC)gdevpdtb.h:$(GLSRC)gxhldevc.h
$(DEVVECSRC)gdevpdtb.h:$(GLSRC)strimpl.h
-$(DEVVECSRC)gdevpdtb.h:$(GLSRC)gxiclass.h
-$(DEVVECSRC)gdevpdtb.h:$(GLSRC)stat_.h
-$(DEVVECSRC)gdevpdtb.h:$(GLSRC)gxfcache.h
+$(DEVVECSRC)gdevpdtb.h:$(GLSRC)gsimage.h
+$(DEVVECSRC)gdevpdtb.h:$(GLSRC)gsdcolor.h
+$(DEVVECSRC)gdevpdtb.h:$(GLSRC)gxdda.h
+$(DEVVECSRC)gdevpdtb.h:$(GLSRC)gxcvalue.h
$(DEVVECSRC)gdevpdtb.h:$(GLSRC)gsfont.h
$(DEVVECSRC)gdevpdtb.h:$(GLSRC)gxfmap.h
-$(DEVVECSRC)gdevpdtb.h:$(GLSRC)gxcvalue.h
-$(DEVVECSRC)gdevpdtb.h:$(GLSRC)gxpath.h
-$(DEVVECSRC)gdevpdtb.h:$(GLSRC)gspenum.h
-$(DEVVECSRC)gdevpdtb.h:$(GLSRC)gxtmap.h
-$(DEVVECSRC)gdevpdtb.h:$(GLSRC)gsimage.h
+$(DEVVECSRC)gdevpdtb.h:$(GLSRC)gxiclass.h
+$(DEVVECSRC)gdevpdtb.h:$(GLSRC)gxftype.h
$(DEVVECSRC)gdevpdtb.h:$(GLSRC)gxfrac.h
-$(DEVVECSRC)gdevpdtb.h:$(GLSRC)gxdda.h
-$(DEVVECSRC)gdevpdtb.h:$(GLSRC)gslparam.h
-$(DEVVECSRC)gdevpdtb.h:$(GLSRC)gxhldevc.h
-$(DEVVECSRC)gdevpdtb.h:$(GLSRC)gxbcache.h
-$(DEVVECSRC)gdevpdtb.h:$(GLSRC)gsdcolor.h
-$(DEVVECSRC)gdevpdtb.h:$(GLSRC)gsrect.h
$(DEVVECSRC)gdevpdtb.h:$(GLSRC)gscms.h
-$(DEVVECSRC)gdevpdtb.h:$(GLSRC)gxftype.h
-$(DEVVECSRC)gdevpdtb.h:$(GLSRC)gsdevice.h
$(DEVVECSRC)gdevpdtb.h:$(GLSRC)gscspace.h
-$(DEVVECSRC)gdevpdtb.h:$(GLSRC)gsuid.h
+$(DEVVECSRC)gdevpdtb.h:$(GLSRC)gxpath.h
+$(DEVVECSRC)gdevpdtb.h:$(GLSRC)gxbcache.h
+$(DEVVECSRC)gdevpdtb.h:$(GLSRC)gsdevice.h
$(DEVVECSRC)gdevpdtb.h:$(GLSRC)gxarith.h
-$(DEVVECSRC)gdevpdtb.h:$(GLSRC)gsdsrc.h
$(DEVVECSRC)gdevpdtb.h:$(GLSRC)gxstdio.h
+$(DEVVECSRC)gdevpdtb.h:$(GLSRC)gspenum.h
+$(DEVVECSRC)gdevpdtb.h:$(GLSRC)gxhttile.h
+$(DEVVECSRC)gdevpdtb.h:$(GLSRC)gsrect.h
+$(DEVVECSRC)gdevpdtb.h:$(GLSRC)gslparam.h
$(DEVVECSRC)gdevpdtb.h:$(GLSRC)gsxfont.h
-$(DEVVECSRC)gdevpdtb.h:$(GLSRC)gxfixed.h
-$(DEVVECSRC)gdevpdtb.h:$(GLSRC)gsrefct.h
-$(DEVVECSRC)gdevpdtb.h:$(GLSRC)gscpm.h
$(DEVVECSRC)gdevpdtb.h:$(GLSRC)gsiparam.h
-$(DEVVECSRC)gdevpdtb.h:$(GLSRC)gxhttile.h
+$(DEVVECSRC)gdevpdtb.h:$(GLSRC)gsdsrc.h
$(DEVVECSRC)gdevpdtb.h:$(GLSRC)gsio.h
-$(DEVVECSRC)gdevpdtb.h:$(GLSRC)gp.h
-$(DEVVECSRC)gdevpdtb.h:$(GLSRC)memento.h
-$(DEVVECSRC)gdevpdtb.h:$(GLSRC)gsparam.h
-$(DEVVECSRC)gdevpdtb.h:$(GLSRC)gsmatrix.h
$(DEVVECSRC)gdevpdtb.h:$(GLSRC)gxbitmap.h
-$(DEVVECSRC)gdevpdtb.h:$(GLSRC)srdline.h
+$(DEVVECSRC)gdevpdtb.h:$(GLSRC)gsmatrix.h
+$(DEVVECSRC)gdevpdtb.h:$(GLSRC)gscpm.h
+$(DEVVECSRC)gdevpdtb.h:$(GLSRC)gxfixed.h
+$(DEVVECSRC)gdevpdtb.h:$(GLSRC)gsrefct.h
+$(DEVVECSRC)gdevpdtb.h:$(GLSRC)gsparam.h
+$(DEVVECSRC)gdevpdtb.h:$(GLSRC)gp.h
+$(DEVVECSRC)gdevpdtb.h:$(GLSRC)gsccolor.h
$(DEVVECSRC)gdevpdtb.h:$(GLSRC)gsstruct.h
$(DEVVECSRC)gdevpdtb.h:$(GLSRC)gxsync.h
+$(DEVVECSRC)gdevpdtb.h:$(GLSRC)srdline.h
+$(DEVVECSRC)gdevpdtb.h:$(GLSRC)scommon.h
+$(DEVVECSRC)gdevpdtb.h:$(GLSRC)memento.h
$(DEVVECSRC)gdevpdtb.h:$(GLSRC)vmsmath.h
$(DEVVECSRC)gdevpdtb.h:$(GLSRC)gscsel.h
-$(DEVVECSRC)gdevpdtb.h:$(GLSRC)scommon.h
$(DEVVECSRC)gdevpdtb.h:$(GLSRC)gsbitmap.h
$(DEVVECSRC)gdevpdtb.h:$(GLSRC)gsfname.h
-$(DEVVECSRC)gdevpdtb.h:$(GLSRC)gsccolor.h
$(DEVVECSRC)gdevpdtb.h:$(GLSRC)gsstype.h
+$(DEVVECSRC)gdevpdtb.h:$(GLSRC)stat_.h
+$(DEVVECSRC)gdevpdtb.h:$(GLSRC)gxtmap.h
$(DEVVECSRC)gdevpdtb.h:$(GLSRC)gsmemory.h
$(DEVVECSRC)gdevpdtb.h:$(GLSRC)gpsync.h
-$(DEVVECSRC)gdevpdtb.h:$(GLSRC)gpgetenv.h
$(DEVVECSRC)gdevpdtb.h:$(GLSRC)memory_.h
+$(DEVVECSRC)gdevpdtb.h:$(GLSRC)gpgetenv.h
$(DEVVECSRC)gdevpdtb.h:$(GLSRC)gslibctx.h
$(DEVVECSRC)gdevpdtb.h:$(GLSRC)gscdefs.h
+$(DEVVECSRC)gdevpdtb.h:$(GLSRC)gs_dll_call.h
+$(DEVVECSRC)gdevpdtb.h:$(GLSRC)stdio_.h
$(DEVVECSRC)gdevpdtb.h:$(GLSRC)gscompt.h
$(DEVVECSRC)gdevpdtb.h:$(GLSRC)gsbittab.h
$(DEVVECSRC)gdevpdtb.h:$(GLSRC)gxcindex.h
-$(DEVVECSRC)gdevpdtb.h:$(GLSRC)stdint_.h
$(DEVVECSRC)gdevpdtb.h:$(GLSRC)gsgstate.h
+$(DEVVECSRC)gdevpdtb.h:$(GLSRC)stdint_.h
+$(DEVVECSRC)gdevpdtb.h:$(GLSRC)gssprintf.h
$(DEVVECSRC)gdevpdtb.h:$(GLSRC)gsccode.h
-$(DEVVECSRC)gdevpdtb.h:$(GLSRC)gs_dll_call.h
-$(DEVVECSRC)gdevpdtb.h:$(GLSRC)stdio_.h
-$(DEVVECSRC)gdevpdtb.h:$(GLSRC)gstypes.h
$(DEVVECSRC)gdevpdtb.h:$(GLSRC)std.h
+$(DEVVECSRC)gdevpdtb.h:$(GLSRC)gstypes.h
$(DEVVECSRC)gdevpdtb.h:$(GLSRC)stdpre.h
$(DEVVECSRC)gdevpdtb.h:$(GLGEN)arch.h
-$(DEVVECSRC)gdevpdtb.h:$(GLSRC)gssprintf.h
$(DEVVECSRC)gdevpdtd.h:$(DEVVECSRC)gdevpdtb.h
$(DEVVECSRC)gdevpdtd.h:$(DEVVECSRC)gdevpdtx.h
$(DEVVECSRC)gdevpdtd.h:$(DEVVECSRC)gdevpdt.h
@@ -3353,516 +3370,516 @@ $(DEVVECSRC)gdevpdtd.h:$(DEVVECSRC)gdevpdfx.h
$(DEVVECSRC)gdevpdtd.h:$(DEVVECSRC)gdevpsdf.h
$(DEVVECSRC)gdevpdtd.h:$(GLSRC)gdevvec.h
$(DEVVECSRC)gdevpdtd.h:$(GLSRC)gxgstate.h
-$(DEVVECSRC)gdevpdtd.h:$(GLSRC)gxfont.h
-$(DEVVECSRC)gdevpdtd.h:$(GLSRC)gstrans.h
$(DEVVECSRC)gdevpdtd.h:$(GLSRC)gxline.h
-$(DEVVECSRC)gdevpdtd.h:$(GLSRC)gsht1.h
+$(DEVVECSRC)gdevpdtd.h:$(GLSRC)gstrans.h
$(DEVVECSRC)gdevpdtd.h:$(GLSRC)sarc4.h
-$(DEVVECSRC)gdevpdtd.h:$(GLSRC)gxcomp.h
+$(DEVVECSRC)gdevpdtd.h:$(GLSRC)gsht1.h
+$(DEVVECSRC)gdevpdtd.h:$(GLSRC)gxfont.h
+$(DEVVECSRC)gdevpdtd.h:$(GLSRC)gdevbbox.h
$(DEVVECSRC)gdevpdtd.h:$(GLSRC)math_.h
$(DEVVECSRC)gdevpdtd.h:$(GLSRC)scfx.h
-$(DEVVECSRC)gdevpdtd.h:$(GLSRC)gdevbbox.h
-$(DEVVECSRC)gdevpdtd.h:$(GLSRC)spprint.h
-$(DEVVECSRC)gdevpdtd.h:$(GLSRC)spsdf.h
$(DEVVECSRC)gdevpdtd.h:$(GLSRC)gdevp14.h
$(DEVVECSRC)gdevpdtd.h:$(GLSRC)gxcolor2.h
+$(DEVVECSRC)gdevpdtd.h:$(GLSRC)spprint.h
+$(DEVVECSRC)gdevpdtd.h:$(GLSRC)spsdf.h
$(DEVVECSRC)gdevpdtd.h:$(GLSRC)gxpcolor.h
-$(DEVVECSRC)gdevpdtd.h:$(GLSRC)gspath.h
$(DEVVECSRC)gdevpdtd.h:$(GLSRC)gdevdevn.h
+$(DEVVECSRC)gdevpdtd.h:$(GLSRC)gsequivc.h
+$(DEVVECSRC)gdevpdtd.h:$(GLSRC)gspath.h
$(DEVVECSRC)gdevpdtd.h:$(GLSRC)gxblend.h
+$(DEVVECSRC)gdevpdtd.h:$(GLSRC)gxclipsr.h
+$(DEVVECSRC)gdevpdtd.h:$(GLSRC)gxcomp.h
+$(DEVVECSRC)gdevpdtd.h:$(GLSRC)gxdcolor.h
$(DEVVECSRC)gdevpdtd.h:$(GLSRC)gxmatrix.h
$(DEVVECSRC)gdevpdtd.h:$(GLSRC)gsgdata.h
-$(DEVVECSRC)gdevpdtd.h:$(GLSRC)stream.h
$(DEVVECSRC)gdevpdtd.h:$(GLSRC)gxbitfmt.h
-$(DEVVECSRC)gdevpdtd.h:$(GLSRC)gsequivc.h
-$(DEVVECSRC)gdevpdtd.h:$(GLSRC)gxclipsr.h
$(DEVVECSRC)gdevpdtd.h:$(GLSRC)shc.h
$(DEVVECSRC)gdevpdtd.h:$(GLSRC)gsgcache.h
$(DEVVECSRC)gdevpdtd.h:$(GLSRC)gscolor2.h
-$(DEVVECSRC)gdevpdtd.h:$(GLSRC)gxdevice.h
$(DEVVECSRC)gdevpdtd.h:$(GLSRC)gxfapi.h
+$(DEVVECSRC)gdevpdtd.h:$(GLSRC)gscindex.h
$(DEVVECSRC)gdevpdtd.h:$(GLSRC)gsnotify.h
$(DEVVECSRC)gdevpdtd.h:$(GLSRC)gsfcmap.h
-$(DEVVECSRC)gdevpdtd.h:$(GLSRC)gxcpath.h
+$(DEVVECSRC)gdevpdtd.h:$(GLSRC)gxdevice.h
$(DEVVECSRC)gdevpdtd.h:$(GLSRC)gsht.h
-$(DEVVECSRC)gdevpdtd.h:$(GLSRC)gxiparam.h
+$(DEVVECSRC)gdevpdtd.h:$(GLSRC)gxcpath.h
$(DEVVECSRC)gdevpdtd.h:$(GLSRC)sa85x.h
+$(DEVVECSRC)gdevpdtd.h:$(GLSRC)gxiparam.h
+$(DEVVECSRC)gdevpdtd.h:$(GLSRC)sa85d.h
$(DEVVECSRC)gdevpdtd.h:$(GLSRC)gxdevmem.h
+$(DEVVECSRC)gdevpdtd.h:$(GLSRC)gxdevcli.h
$(DEVVECSRC)gdevpdtd.h:$(GLSRC)gxpcache.h
-$(DEVVECSRC)gdevpdtd.h:$(GLSRC)sa85d.h
-$(DEVVECSRC)gdevpdtd.h:$(GLSRC)gscindex.h
$(DEVVECSRC)gdevpdtd.h:$(GLSRC)gsptype1.h
-$(DEVVECSRC)gdevpdtd.h:$(GLSRC)gxdevcli.h
$(DEVVECSRC)gdevpdtd.h:$(GLSRC)gxtext.h
-$(DEVVECSRC)gdevpdtd.h:$(GLSRC)gspcolor.h
+$(DEVVECSRC)gdevpdtd.h:$(GLSRC)gscie.h
$(DEVVECSRC)gdevpdtd.h:$(GLSRC)gstext.h
-$(DEVVECSRC)gdevpdtd.h:$(GLSRC)gxdcolor.h
+$(DEVVECSRC)gdevpdtd.h:$(GLSRC)gsnamecl.h
$(DEVVECSRC)gdevpdtd.h:$(GLSRC)gstparam.h
-$(DEVVECSRC)gdevpdtd.h:$(GLSRC)gscie.h
$(DEVVECSRC)gdevpdtd.h:$(GLSRC)gxstate.h
-$(DEVVECSRC)gdevpdtd.h:$(GLSRC)gxcmap.h
-$(DEVVECSRC)gdevpdtd.h:$(GLSRC)gsmalloc.h
+$(DEVVECSRC)gdevpdtd.h:$(GLSRC)gspcolor.h
+$(DEVVECSRC)gdevpdtd.h:$(GLSRC)gxfcache.h
+$(DEVVECSRC)gdevpdtd.h:$(GLSRC)stream.h
+$(DEVVECSRC)gdevpdtd.h:$(GLSRC)gxcspace.h
$(DEVVECSRC)gdevpdtd.h:$(GLSRC)gsropt.h
$(DEVVECSRC)gdevpdtd.h:$(GLSRC)gsfunc.h
+$(DEVVECSRC)gdevpdtd.h:$(GLSRC)gsmalloc.h
+$(DEVVECSRC)gdevpdtd.h:$(GLSRC)gxrplane.h
$(DEVVECSRC)gdevpdtd.h:$(GLSRC)gxctable.h
-$(DEVVECSRC)gdevpdtd.h:$(GLSRC)gsnamecl.h
$(DEVVECSRC)gdevpdtd.h:$(GLSRC)gxiodev.h
-$(DEVVECSRC)gdevpdtd.h:$(GLSRC)gxrplane.h
-$(DEVVECSRC)gdevpdtd.h:$(GLSRC)gxcspace.h
+$(DEVVECSRC)gdevpdtd.h:$(GLSRC)gsuid.h
+$(DEVVECSRC)gdevpdtd.h:$(GLSRC)gxcmap.h
+$(DEVVECSRC)gdevpdtd.h:$(GLSRC)gxhldevc.h
$(DEVVECSRC)gdevpdtd.h:$(GLSRC)strimpl.h
-$(DEVVECSRC)gdevpdtd.h:$(GLSRC)gxiclass.h
-$(DEVVECSRC)gdevpdtd.h:$(GLSRC)stat_.h
-$(DEVVECSRC)gdevpdtd.h:$(GLSRC)gxfcache.h
+$(DEVVECSRC)gdevpdtd.h:$(GLSRC)gsimage.h
+$(DEVVECSRC)gdevpdtd.h:$(GLSRC)gsdcolor.h
+$(DEVVECSRC)gdevpdtd.h:$(GLSRC)gxdda.h
+$(DEVVECSRC)gdevpdtd.h:$(GLSRC)gxcvalue.h
$(DEVVECSRC)gdevpdtd.h:$(GLSRC)gsfont.h
$(DEVVECSRC)gdevpdtd.h:$(GLSRC)gxfmap.h
-$(DEVVECSRC)gdevpdtd.h:$(GLSRC)gxcvalue.h
-$(DEVVECSRC)gdevpdtd.h:$(GLSRC)gxpath.h
-$(DEVVECSRC)gdevpdtd.h:$(GLSRC)gspenum.h
-$(DEVVECSRC)gdevpdtd.h:$(GLSRC)gxtmap.h
-$(DEVVECSRC)gdevpdtd.h:$(GLSRC)gsimage.h
+$(DEVVECSRC)gdevpdtd.h:$(GLSRC)gxiclass.h
+$(DEVVECSRC)gdevpdtd.h:$(GLSRC)gxftype.h
$(DEVVECSRC)gdevpdtd.h:$(GLSRC)gxfrac.h
-$(DEVVECSRC)gdevpdtd.h:$(GLSRC)gxdda.h
-$(DEVVECSRC)gdevpdtd.h:$(GLSRC)gslparam.h
-$(DEVVECSRC)gdevpdtd.h:$(GLSRC)gxhldevc.h
-$(DEVVECSRC)gdevpdtd.h:$(GLSRC)gxbcache.h
-$(DEVVECSRC)gdevpdtd.h:$(GLSRC)gsdcolor.h
-$(DEVVECSRC)gdevpdtd.h:$(GLSRC)gsrect.h
$(DEVVECSRC)gdevpdtd.h:$(GLSRC)gscms.h
-$(DEVVECSRC)gdevpdtd.h:$(GLSRC)gxftype.h
-$(DEVVECSRC)gdevpdtd.h:$(GLSRC)gsdevice.h
$(DEVVECSRC)gdevpdtd.h:$(GLSRC)gscspace.h
-$(DEVVECSRC)gdevpdtd.h:$(GLSRC)gsuid.h
+$(DEVVECSRC)gdevpdtd.h:$(GLSRC)gxpath.h
+$(DEVVECSRC)gdevpdtd.h:$(GLSRC)gxbcache.h
+$(DEVVECSRC)gdevpdtd.h:$(GLSRC)gsdevice.h
$(DEVVECSRC)gdevpdtd.h:$(GLSRC)gxarith.h
-$(DEVVECSRC)gdevpdtd.h:$(GLSRC)gsdsrc.h
$(DEVVECSRC)gdevpdtd.h:$(GLSRC)gxstdio.h
+$(DEVVECSRC)gdevpdtd.h:$(GLSRC)gspenum.h
+$(DEVVECSRC)gdevpdtd.h:$(GLSRC)gxhttile.h
+$(DEVVECSRC)gdevpdtd.h:$(GLSRC)gsrect.h
+$(DEVVECSRC)gdevpdtd.h:$(GLSRC)gslparam.h
$(DEVVECSRC)gdevpdtd.h:$(GLSRC)gsxfont.h
-$(DEVVECSRC)gdevpdtd.h:$(GLSRC)gxfixed.h
-$(DEVVECSRC)gdevpdtd.h:$(GLSRC)gsrefct.h
-$(DEVVECSRC)gdevpdtd.h:$(GLSRC)gscpm.h
$(DEVVECSRC)gdevpdtd.h:$(GLSRC)gsiparam.h
-$(DEVVECSRC)gdevpdtd.h:$(GLSRC)gxhttile.h
+$(DEVVECSRC)gdevpdtd.h:$(GLSRC)gsdsrc.h
$(DEVVECSRC)gdevpdtd.h:$(GLSRC)gsio.h
-$(DEVVECSRC)gdevpdtd.h:$(GLSRC)gp.h
-$(DEVVECSRC)gdevpdtd.h:$(GLSRC)memento.h
-$(DEVVECSRC)gdevpdtd.h:$(GLSRC)gsparam.h
-$(DEVVECSRC)gdevpdtd.h:$(GLSRC)gsmatrix.h
$(DEVVECSRC)gdevpdtd.h:$(GLSRC)gxbitmap.h
-$(DEVVECSRC)gdevpdtd.h:$(GLSRC)srdline.h
+$(DEVVECSRC)gdevpdtd.h:$(GLSRC)gsmatrix.h
+$(DEVVECSRC)gdevpdtd.h:$(GLSRC)gscpm.h
+$(DEVVECSRC)gdevpdtd.h:$(GLSRC)gxfixed.h
+$(DEVVECSRC)gdevpdtd.h:$(GLSRC)gsrefct.h
+$(DEVVECSRC)gdevpdtd.h:$(GLSRC)gsparam.h
+$(DEVVECSRC)gdevpdtd.h:$(GLSRC)gp.h
+$(DEVVECSRC)gdevpdtd.h:$(GLSRC)gsccolor.h
$(DEVVECSRC)gdevpdtd.h:$(GLSRC)gsstruct.h
$(DEVVECSRC)gdevpdtd.h:$(GLSRC)gxsync.h
+$(DEVVECSRC)gdevpdtd.h:$(GLSRC)srdline.h
+$(DEVVECSRC)gdevpdtd.h:$(GLSRC)scommon.h
+$(DEVVECSRC)gdevpdtd.h:$(GLSRC)memento.h
$(DEVVECSRC)gdevpdtd.h:$(GLSRC)vmsmath.h
$(DEVVECSRC)gdevpdtd.h:$(GLSRC)gscsel.h
-$(DEVVECSRC)gdevpdtd.h:$(GLSRC)scommon.h
$(DEVVECSRC)gdevpdtd.h:$(GLSRC)gsbitmap.h
$(DEVVECSRC)gdevpdtd.h:$(GLSRC)gsfname.h
-$(DEVVECSRC)gdevpdtd.h:$(GLSRC)gsccolor.h
$(DEVVECSRC)gdevpdtd.h:$(GLSRC)gsstype.h
+$(DEVVECSRC)gdevpdtd.h:$(GLSRC)stat_.h
+$(DEVVECSRC)gdevpdtd.h:$(GLSRC)gxtmap.h
$(DEVVECSRC)gdevpdtd.h:$(GLSRC)gsmemory.h
$(DEVVECSRC)gdevpdtd.h:$(GLSRC)gpsync.h
-$(DEVVECSRC)gdevpdtd.h:$(GLSRC)gpgetenv.h
$(DEVVECSRC)gdevpdtd.h:$(GLSRC)memory_.h
+$(DEVVECSRC)gdevpdtd.h:$(GLSRC)gpgetenv.h
$(DEVVECSRC)gdevpdtd.h:$(GLSRC)gslibctx.h
$(DEVVECSRC)gdevpdtd.h:$(GLSRC)gscdefs.h
+$(DEVVECSRC)gdevpdtd.h:$(GLSRC)gs_dll_call.h
+$(DEVVECSRC)gdevpdtd.h:$(GLSRC)stdio_.h
$(DEVVECSRC)gdevpdtd.h:$(GLSRC)gscompt.h
$(DEVVECSRC)gdevpdtd.h:$(GLSRC)gsbittab.h
$(DEVVECSRC)gdevpdtd.h:$(GLSRC)gxcindex.h
-$(DEVVECSRC)gdevpdtd.h:$(GLSRC)stdint_.h
$(DEVVECSRC)gdevpdtd.h:$(GLSRC)gsgstate.h
+$(DEVVECSRC)gdevpdtd.h:$(GLSRC)stdint_.h
+$(DEVVECSRC)gdevpdtd.h:$(GLSRC)gssprintf.h
$(DEVVECSRC)gdevpdtd.h:$(GLSRC)gsccode.h
-$(DEVVECSRC)gdevpdtd.h:$(GLSRC)gs_dll_call.h
-$(DEVVECSRC)gdevpdtd.h:$(GLSRC)stdio_.h
-$(DEVVECSRC)gdevpdtd.h:$(GLSRC)gstypes.h
$(DEVVECSRC)gdevpdtd.h:$(GLSRC)std.h
+$(DEVVECSRC)gdevpdtd.h:$(GLSRC)gstypes.h
$(DEVVECSRC)gdevpdtd.h:$(GLSRC)stdpre.h
$(DEVVECSRC)gdevpdtd.h:$(GLGEN)arch.h
-$(DEVVECSRC)gdevpdtd.h:$(GLSRC)gssprintf.h
$(DEVVECSRC)gdevpdtf.h:$(DEVVECSRC)gdevpdtx.h
$(DEVVECSRC)gdevpdtf.h:$(DEVVECSRC)gdevpdt.h
$(DEVVECSRC)gdevpdtf.h:$(DEVVECSRC)gdevpdfx.h
$(DEVVECSRC)gdevpdtf.h:$(DEVVECSRC)gdevpsdf.h
$(DEVVECSRC)gdevpdtf.h:$(GLSRC)gdevvec.h
$(DEVVECSRC)gdevpdtf.h:$(GLSRC)gxgstate.h
-$(DEVVECSRC)gdevpdtf.h:$(GLSRC)gxfont.h
-$(DEVVECSRC)gdevpdtf.h:$(GLSRC)gstrans.h
$(DEVVECSRC)gdevpdtf.h:$(GLSRC)gxline.h
-$(DEVVECSRC)gdevpdtf.h:$(GLSRC)gsht1.h
+$(DEVVECSRC)gdevpdtf.h:$(GLSRC)gstrans.h
$(DEVVECSRC)gdevpdtf.h:$(GLSRC)sarc4.h
-$(DEVVECSRC)gdevpdtf.h:$(GLSRC)gxcomp.h
+$(DEVVECSRC)gdevpdtf.h:$(GLSRC)gsht1.h
+$(DEVVECSRC)gdevpdtf.h:$(GLSRC)gxfont.h
+$(DEVVECSRC)gdevpdtf.h:$(GLSRC)gdevbbox.h
$(DEVVECSRC)gdevpdtf.h:$(GLSRC)math_.h
$(DEVVECSRC)gdevpdtf.h:$(GLSRC)scfx.h
-$(DEVVECSRC)gdevpdtf.h:$(GLSRC)gdevbbox.h
-$(DEVVECSRC)gdevpdtf.h:$(GLSRC)spprint.h
-$(DEVVECSRC)gdevpdtf.h:$(GLSRC)spsdf.h
$(DEVVECSRC)gdevpdtf.h:$(GLSRC)gdevp14.h
$(DEVVECSRC)gdevpdtf.h:$(GLSRC)gxcolor2.h
+$(DEVVECSRC)gdevpdtf.h:$(GLSRC)spprint.h
+$(DEVVECSRC)gdevpdtf.h:$(GLSRC)spsdf.h
$(DEVVECSRC)gdevpdtf.h:$(GLSRC)gxpcolor.h
-$(DEVVECSRC)gdevpdtf.h:$(GLSRC)gspath.h
$(DEVVECSRC)gdevpdtf.h:$(GLSRC)gdevdevn.h
+$(DEVVECSRC)gdevpdtf.h:$(GLSRC)gsequivc.h
+$(DEVVECSRC)gdevpdtf.h:$(GLSRC)gspath.h
$(DEVVECSRC)gdevpdtf.h:$(GLSRC)gxblend.h
+$(DEVVECSRC)gdevpdtf.h:$(GLSRC)gxclipsr.h
+$(DEVVECSRC)gdevpdtf.h:$(GLSRC)gxcomp.h
+$(DEVVECSRC)gdevpdtf.h:$(GLSRC)gxdcolor.h
$(DEVVECSRC)gdevpdtf.h:$(GLSRC)gxmatrix.h
$(DEVVECSRC)gdevpdtf.h:$(GLSRC)gsgdata.h
-$(DEVVECSRC)gdevpdtf.h:$(GLSRC)stream.h
$(DEVVECSRC)gdevpdtf.h:$(GLSRC)gxbitfmt.h
-$(DEVVECSRC)gdevpdtf.h:$(GLSRC)gsequivc.h
-$(DEVVECSRC)gdevpdtf.h:$(GLSRC)gxclipsr.h
$(DEVVECSRC)gdevpdtf.h:$(GLSRC)shc.h
$(DEVVECSRC)gdevpdtf.h:$(GLSRC)gsgcache.h
$(DEVVECSRC)gdevpdtf.h:$(GLSRC)gscolor2.h
-$(DEVVECSRC)gdevpdtf.h:$(GLSRC)gxdevice.h
$(DEVVECSRC)gdevpdtf.h:$(GLSRC)gxfapi.h
+$(DEVVECSRC)gdevpdtf.h:$(GLSRC)gscindex.h
$(DEVVECSRC)gdevpdtf.h:$(GLSRC)gsnotify.h
$(DEVVECSRC)gdevpdtf.h:$(GLSRC)gsfcmap.h
-$(DEVVECSRC)gdevpdtf.h:$(GLSRC)gxcpath.h
+$(DEVVECSRC)gdevpdtf.h:$(GLSRC)gxdevice.h
$(DEVVECSRC)gdevpdtf.h:$(GLSRC)gsht.h
-$(DEVVECSRC)gdevpdtf.h:$(GLSRC)gxiparam.h
+$(DEVVECSRC)gdevpdtf.h:$(GLSRC)gxcpath.h
$(DEVVECSRC)gdevpdtf.h:$(GLSRC)sa85x.h
+$(DEVVECSRC)gdevpdtf.h:$(GLSRC)gxiparam.h
+$(DEVVECSRC)gdevpdtf.h:$(GLSRC)sa85d.h
$(DEVVECSRC)gdevpdtf.h:$(GLSRC)gxdevmem.h
+$(DEVVECSRC)gdevpdtf.h:$(GLSRC)gxdevcli.h
$(DEVVECSRC)gdevpdtf.h:$(GLSRC)gxpcache.h
-$(DEVVECSRC)gdevpdtf.h:$(GLSRC)sa85d.h
-$(DEVVECSRC)gdevpdtf.h:$(GLSRC)gscindex.h
$(DEVVECSRC)gdevpdtf.h:$(GLSRC)gsptype1.h
-$(DEVVECSRC)gdevpdtf.h:$(GLSRC)gxdevcli.h
$(DEVVECSRC)gdevpdtf.h:$(GLSRC)gxtext.h
-$(DEVVECSRC)gdevpdtf.h:$(GLSRC)gspcolor.h
+$(DEVVECSRC)gdevpdtf.h:$(GLSRC)gscie.h
$(DEVVECSRC)gdevpdtf.h:$(GLSRC)gstext.h
-$(DEVVECSRC)gdevpdtf.h:$(GLSRC)gxdcolor.h
+$(DEVVECSRC)gdevpdtf.h:$(GLSRC)gsnamecl.h
$(DEVVECSRC)gdevpdtf.h:$(GLSRC)gstparam.h
-$(DEVVECSRC)gdevpdtf.h:$(GLSRC)gscie.h
$(DEVVECSRC)gdevpdtf.h:$(GLSRC)gxstate.h
-$(DEVVECSRC)gdevpdtf.h:$(GLSRC)gxcmap.h
-$(DEVVECSRC)gdevpdtf.h:$(GLSRC)gsmalloc.h
+$(DEVVECSRC)gdevpdtf.h:$(GLSRC)gspcolor.h
+$(DEVVECSRC)gdevpdtf.h:$(GLSRC)gxfcache.h
+$(DEVVECSRC)gdevpdtf.h:$(GLSRC)stream.h
+$(DEVVECSRC)gdevpdtf.h:$(GLSRC)gxcspace.h
$(DEVVECSRC)gdevpdtf.h:$(GLSRC)gsropt.h
$(DEVVECSRC)gdevpdtf.h:$(GLSRC)gsfunc.h
+$(DEVVECSRC)gdevpdtf.h:$(GLSRC)gsmalloc.h
+$(DEVVECSRC)gdevpdtf.h:$(GLSRC)gxrplane.h
$(DEVVECSRC)gdevpdtf.h:$(GLSRC)gxctable.h
-$(DEVVECSRC)gdevpdtf.h:$(GLSRC)gsnamecl.h
$(DEVVECSRC)gdevpdtf.h:$(GLSRC)gxiodev.h
-$(DEVVECSRC)gdevpdtf.h:$(GLSRC)gxrplane.h
-$(DEVVECSRC)gdevpdtf.h:$(GLSRC)gxcspace.h
+$(DEVVECSRC)gdevpdtf.h:$(GLSRC)gsuid.h
+$(DEVVECSRC)gdevpdtf.h:$(GLSRC)gxcmap.h
+$(DEVVECSRC)gdevpdtf.h:$(GLSRC)gxhldevc.h
$(DEVVECSRC)gdevpdtf.h:$(GLSRC)strimpl.h
-$(DEVVECSRC)gdevpdtf.h:$(GLSRC)gxiclass.h
-$(DEVVECSRC)gdevpdtf.h:$(GLSRC)stat_.h
-$(DEVVECSRC)gdevpdtf.h:$(GLSRC)gxfcache.h
+$(DEVVECSRC)gdevpdtf.h:$(GLSRC)gsimage.h
+$(DEVVECSRC)gdevpdtf.h:$(GLSRC)gsdcolor.h
+$(DEVVECSRC)gdevpdtf.h:$(GLSRC)gxdda.h
+$(DEVVECSRC)gdevpdtf.h:$(GLSRC)gxcvalue.h
$(DEVVECSRC)gdevpdtf.h:$(GLSRC)gsfont.h
$(DEVVECSRC)gdevpdtf.h:$(GLSRC)gxfmap.h
-$(DEVVECSRC)gdevpdtf.h:$(GLSRC)gxcvalue.h
-$(DEVVECSRC)gdevpdtf.h:$(GLSRC)gxpath.h
-$(DEVVECSRC)gdevpdtf.h:$(GLSRC)gspenum.h
-$(DEVVECSRC)gdevpdtf.h:$(GLSRC)gxtmap.h
-$(DEVVECSRC)gdevpdtf.h:$(GLSRC)gsimage.h
+$(DEVVECSRC)gdevpdtf.h:$(GLSRC)gxiclass.h
+$(DEVVECSRC)gdevpdtf.h:$(GLSRC)gxftype.h
$(DEVVECSRC)gdevpdtf.h:$(GLSRC)gxfrac.h
-$(DEVVECSRC)gdevpdtf.h:$(GLSRC)gxdda.h
-$(DEVVECSRC)gdevpdtf.h:$(GLSRC)gslparam.h
-$(DEVVECSRC)gdevpdtf.h:$(GLSRC)gxhldevc.h
-$(DEVVECSRC)gdevpdtf.h:$(GLSRC)gxbcache.h
-$(DEVVECSRC)gdevpdtf.h:$(GLSRC)gsdcolor.h
-$(DEVVECSRC)gdevpdtf.h:$(GLSRC)gsrect.h
$(DEVVECSRC)gdevpdtf.h:$(GLSRC)gscms.h
-$(DEVVECSRC)gdevpdtf.h:$(GLSRC)gxftype.h
-$(DEVVECSRC)gdevpdtf.h:$(GLSRC)gsdevice.h
$(DEVVECSRC)gdevpdtf.h:$(GLSRC)gscspace.h
-$(DEVVECSRC)gdevpdtf.h:$(GLSRC)gsuid.h
+$(DEVVECSRC)gdevpdtf.h:$(GLSRC)gxpath.h
+$(DEVVECSRC)gdevpdtf.h:$(GLSRC)gxbcache.h
+$(DEVVECSRC)gdevpdtf.h:$(GLSRC)gsdevice.h
$(DEVVECSRC)gdevpdtf.h:$(GLSRC)gxarith.h
-$(DEVVECSRC)gdevpdtf.h:$(GLSRC)gsdsrc.h
$(DEVVECSRC)gdevpdtf.h:$(GLSRC)gxstdio.h
+$(DEVVECSRC)gdevpdtf.h:$(GLSRC)gspenum.h
+$(DEVVECSRC)gdevpdtf.h:$(GLSRC)gxhttile.h
+$(DEVVECSRC)gdevpdtf.h:$(GLSRC)gsrect.h
+$(DEVVECSRC)gdevpdtf.h:$(GLSRC)gslparam.h
$(DEVVECSRC)gdevpdtf.h:$(GLSRC)gsxfont.h
-$(DEVVECSRC)gdevpdtf.h:$(GLSRC)gxfixed.h
-$(DEVVECSRC)gdevpdtf.h:$(GLSRC)gsrefct.h
-$(DEVVECSRC)gdevpdtf.h:$(GLSRC)gscpm.h
$(DEVVECSRC)gdevpdtf.h:$(GLSRC)gsiparam.h
-$(DEVVECSRC)gdevpdtf.h:$(GLSRC)gxhttile.h
+$(DEVVECSRC)gdevpdtf.h:$(GLSRC)gsdsrc.h
$(DEVVECSRC)gdevpdtf.h:$(GLSRC)gsio.h
-$(DEVVECSRC)gdevpdtf.h:$(GLSRC)gp.h
-$(DEVVECSRC)gdevpdtf.h:$(GLSRC)memento.h
-$(DEVVECSRC)gdevpdtf.h:$(GLSRC)gsparam.h
-$(DEVVECSRC)gdevpdtf.h:$(GLSRC)gsmatrix.h
$(DEVVECSRC)gdevpdtf.h:$(GLSRC)gxbitmap.h
-$(DEVVECSRC)gdevpdtf.h:$(GLSRC)srdline.h
+$(DEVVECSRC)gdevpdtf.h:$(GLSRC)gsmatrix.h
+$(DEVVECSRC)gdevpdtf.h:$(GLSRC)gscpm.h
+$(DEVVECSRC)gdevpdtf.h:$(GLSRC)gxfixed.h
+$(DEVVECSRC)gdevpdtf.h:$(GLSRC)gsrefct.h
+$(DEVVECSRC)gdevpdtf.h:$(GLSRC)gsparam.h
+$(DEVVECSRC)gdevpdtf.h:$(GLSRC)gp.h
+$(DEVVECSRC)gdevpdtf.h:$(GLSRC)gsccolor.h
$(DEVVECSRC)gdevpdtf.h:$(GLSRC)gsstruct.h
$(DEVVECSRC)gdevpdtf.h:$(GLSRC)gxsync.h
+$(DEVVECSRC)gdevpdtf.h:$(GLSRC)srdline.h
+$(DEVVECSRC)gdevpdtf.h:$(GLSRC)scommon.h
+$(DEVVECSRC)gdevpdtf.h:$(GLSRC)memento.h
$(DEVVECSRC)gdevpdtf.h:$(GLSRC)vmsmath.h
$(DEVVECSRC)gdevpdtf.h:$(GLSRC)gscsel.h
-$(DEVVECSRC)gdevpdtf.h:$(GLSRC)scommon.h
$(DEVVECSRC)gdevpdtf.h:$(GLSRC)gsbitmap.h
$(DEVVECSRC)gdevpdtf.h:$(GLSRC)gsfname.h
-$(DEVVECSRC)gdevpdtf.h:$(GLSRC)gsccolor.h
$(DEVVECSRC)gdevpdtf.h:$(GLSRC)gsstype.h
+$(DEVVECSRC)gdevpdtf.h:$(GLSRC)stat_.h
+$(DEVVECSRC)gdevpdtf.h:$(GLSRC)gxtmap.h
$(DEVVECSRC)gdevpdtf.h:$(GLSRC)gsmemory.h
$(DEVVECSRC)gdevpdtf.h:$(GLSRC)gpsync.h
-$(DEVVECSRC)gdevpdtf.h:$(GLSRC)gpgetenv.h
$(DEVVECSRC)gdevpdtf.h:$(GLSRC)memory_.h
+$(DEVVECSRC)gdevpdtf.h:$(GLSRC)gpgetenv.h
$(DEVVECSRC)gdevpdtf.h:$(GLSRC)gslibctx.h
$(DEVVECSRC)gdevpdtf.h:$(GLSRC)gscdefs.h
+$(DEVVECSRC)gdevpdtf.h:$(GLSRC)gs_dll_call.h
+$(DEVVECSRC)gdevpdtf.h:$(GLSRC)stdio_.h
$(DEVVECSRC)gdevpdtf.h:$(GLSRC)gscompt.h
$(DEVVECSRC)gdevpdtf.h:$(GLSRC)gsbittab.h
$(DEVVECSRC)gdevpdtf.h:$(GLSRC)gxcindex.h
-$(DEVVECSRC)gdevpdtf.h:$(GLSRC)stdint_.h
$(DEVVECSRC)gdevpdtf.h:$(GLSRC)gsgstate.h
+$(DEVVECSRC)gdevpdtf.h:$(GLSRC)stdint_.h
+$(DEVVECSRC)gdevpdtf.h:$(GLSRC)gssprintf.h
$(DEVVECSRC)gdevpdtf.h:$(GLSRC)gsccode.h
-$(DEVVECSRC)gdevpdtf.h:$(GLSRC)gs_dll_call.h
-$(DEVVECSRC)gdevpdtf.h:$(GLSRC)stdio_.h
-$(DEVVECSRC)gdevpdtf.h:$(GLSRC)gstypes.h
$(DEVVECSRC)gdevpdtf.h:$(GLSRC)std.h
+$(DEVVECSRC)gdevpdtf.h:$(GLSRC)gstypes.h
$(DEVVECSRC)gdevpdtf.h:$(GLSRC)stdpre.h
$(DEVVECSRC)gdevpdtf.h:$(GLGEN)arch.h
-$(DEVVECSRC)gdevpdtf.h:$(GLSRC)gssprintf.h
$(DEVVECSRC)gdevpdti.h:$(DEVVECSRC)gdevpdtx.h
$(DEVVECSRC)gdevpdti.h:$(DEVVECSRC)gdevpdt.h
$(DEVVECSRC)gdevpdti.h:$(DEVVECSRC)gdevpdfx.h
$(DEVVECSRC)gdevpdti.h:$(DEVVECSRC)gdevpsdf.h
$(DEVVECSRC)gdevpdti.h:$(GLSRC)gdevvec.h
$(DEVVECSRC)gdevpdti.h:$(GLSRC)gxgstate.h
-$(DEVVECSRC)gdevpdti.h:$(GLSRC)gxfont.h
-$(DEVVECSRC)gdevpdti.h:$(GLSRC)gstrans.h
$(DEVVECSRC)gdevpdti.h:$(GLSRC)gxline.h
-$(DEVVECSRC)gdevpdti.h:$(GLSRC)gsht1.h
+$(DEVVECSRC)gdevpdti.h:$(GLSRC)gstrans.h
$(DEVVECSRC)gdevpdti.h:$(GLSRC)sarc4.h
-$(DEVVECSRC)gdevpdti.h:$(GLSRC)gxcomp.h
+$(DEVVECSRC)gdevpdti.h:$(GLSRC)gsht1.h
+$(DEVVECSRC)gdevpdti.h:$(GLSRC)gxfont.h
+$(DEVVECSRC)gdevpdti.h:$(GLSRC)gdevbbox.h
$(DEVVECSRC)gdevpdti.h:$(GLSRC)math_.h
$(DEVVECSRC)gdevpdti.h:$(GLSRC)scfx.h
-$(DEVVECSRC)gdevpdti.h:$(GLSRC)gdevbbox.h
-$(DEVVECSRC)gdevpdti.h:$(GLSRC)spprint.h
-$(DEVVECSRC)gdevpdti.h:$(GLSRC)spsdf.h
$(DEVVECSRC)gdevpdti.h:$(GLSRC)gdevp14.h
$(DEVVECSRC)gdevpdti.h:$(GLSRC)gxcolor2.h
+$(DEVVECSRC)gdevpdti.h:$(GLSRC)spprint.h
+$(DEVVECSRC)gdevpdti.h:$(GLSRC)spsdf.h
$(DEVVECSRC)gdevpdti.h:$(GLSRC)gxpcolor.h
-$(DEVVECSRC)gdevpdti.h:$(GLSRC)gspath.h
$(DEVVECSRC)gdevpdti.h:$(GLSRC)gdevdevn.h
+$(DEVVECSRC)gdevpdti.h:$(GLSRC)gsequivc.h
+$(DEVVECSRC)gdevpdti.h:$(GLSRC)gspath.h
$(DEVVECSRC)gdevpdti.h:$(GLSRC)gxblend.h
+$(DEVVECSRC)gdevpdti.h:$(GLSRC)gxclipsr.h
+$(DEVVECSRC)gdevpdti.h:$(GLSRC)gxcomp.h
+$(DEVVECSRC)gdevpdti.h:$(GLSRC)gxdcolor.h
$(DEVVECSRC)gdevpdti.h:$(GLSRC)gxmatrix.h
$(DEVVECSRC)gdevpdti.h:$(GLSRC)gsgdata.h
-$(DEVVECSRC)gdevpdti.h:$(GLSRC)stream.h
$(DEVVECSRC)gdevpdti.h:$(GLSRC)gxbitfmt.h
-$(DEVVECSRC)gdevpdti.h:$(GLSRC)gsequivc.h
-$(DEVVECSRC)gdevpdti.h:$(GLSRC)gxclipsr.h
$(DEVVECSRC)gdevpdti.h:$(GLSRC)shc.h
$(DEVVECSRC)gdevpdti.h:$(GLSRC)gsgcache.h
$(DEVVECSRC)gdevpdti.h:$(GLSRC)gscolor2.h
-$(DEVVECSRC)gdevpdti.h:$(GLSRC)gxdevice.h
$(DEVVECSRC)gdevpdti.h:$(GLSRC)gxfapi.h
+$(DEVVECSRC)gdevpdti.h:$(GLSRC)gscindex.h
$(DEVVECSRC)gdevpdti.h:$(GLSRC)gsnotify.h
$(DEVVECSRC)gdevpdti.h:$(GLSRC)gsfcmap.h
-$(DEVVECSRC)gdevpdti.h:$(GLSRC)gxcpath.h
+$(DEVVECSRC)gdevpdti.h:$(GLSRC)gxdevice.h
$(DEVVECSRC)gdevpdti.h:$(GLSRC)gsht.h
-$(DEVVECSRC)gdevpdti.h:$(GLSRC)gxiparam.h
+$(DEVVECSRC)gdevpdti.h:$(GLSRC)gxcpath.h
$(DEVVECSRC)gdevpdti.h:$(GLSRC)sa85x.h
+$(DEVVECSRC)gdevpdti.h:$(GLSRC)gxiparam.h
+$(DEVVECSRC)gdevpdti.h:$(GLSRC)sa85d.h
$(DEVVECSRC)gdevpdti.h:$(GLSRC)gxdevmem.h
+$(DEVVECSRC)gdevpdti.h:$(GLSRC)gxdevcli.h
$(DEVVECSRC)gdevpdti.h:$(GLSRC)gxpcache.h
-$(DEVVECSRC)gdevpdti.h:$(GLSRC)sa85d.h
-$(DEVVECSRC)gdevpdti.h:$(GLSRC)gscindex.h
$(DEVVECSRC)gdevpdti.h:$(GLSRC)gsptype1.h
-$(DEVVECSRC)gdevpdti.h:$(GLSRC)gxdevcli.h
$(DEVVECSRC)gdevpdti.h:$(GLSRC)gxtext.h
-$(DEVVECSRC)gdevpdti.h:$(GLSRC)gspcolor.h
+$(DEVVECSRC)gdevpdti.h:$(GLSRC)gscie.h
$(DEVVECSRC)gdevpdti.h:$(GLSRC)gstext.h
-$(DEVVECSRC)gdevpdti.h:$(GLSRC)gxdcolor.h
+$(DEVVECSRC)gdevpdti.h:$(GLSRC)gsnamecl.h
$(DEVVECSRC)gdevpdti.h:$(GLSRC)gstparam.h
-$(DEVVECSRC)gdevpdti.h:$(GLSRC)gscie.h
$(DEVVECSRC)gdevpdti.h:$(GLSRC)gxstate.h
-$(DEVVECSRC)gdevpdti.h:$(GLSRC)gxcmap.h
-$(DEVVECSRC)gdevpdti.h:$(GLSRC)gsmalloc.h
+$(DEVVECSRC)gdevpdti.h:$(GLSRC)gspcolor.h
+$(DEVVECSRC)gdevpdti.h:$(GLSRC)gxfcache.h
+$(DEVVECSRC)gdevpdti.h:$(GLSRC)stream.h
+$(DEVVECSRC)gdevpdti.h:$(GLSRC)gxcspace.h
$(DEVVECSRC)gdevpdti.h:$(GLSRC)gsropt.h
$(DEVVECSRC)gdevpdti.h:$(GLSRC)gsfunc.h
+$(DEVVECSRC)gdevpdti.h:$(GLSRC)gsmalloc.h
+$(DEVVECSRC)gdevpdti.h:$(GLSRC)gxrplane.h
$(DEVVECSRC)gdevpdti.h:$(GLSRC)gxctable.h
-$(DEVVECSRC)gdevpdti.h:$(GLSRC)gsnamecl.h
$(DEVVECSRC)gdevpdti.h:$(GLSRC)gxiodev.h
-$(DEVVECSRC)gdevpdti.h:$(GLSRC)gxrplane.h
-$(DEVVECSRC)gdevpdti.h:$(GLSRC)gxcspace.h
+$(DEVVECSRC)gdevpdti.h:$(GLSRC)gsuid.h
+$(DEVVECSRC)gdevpdti.h:$(GLSRC)gxcmap.h
+$(DEVVECSRC)gdevpdti.h:$(GLSRC)gxhldevc.h
$(DEVVECSRC)gdevpdti.h:$(GLSRC)strimpl.h
-$(DEVVECSRC)gdevpdti.h:$(GLSRC)gxiclass.h
-$(DEVVECSRC)gdevpdti.h:$(GLSRC)stat_.h
-$(DEVVECSRC)gdevpdti.h:$(GLSRC)gxfcache.h
+$(DEVVECSRC)gdevpdti.h:$(GLSRC)gsimage.h
+$(DEVVECSRC)gdevpdti.h:$(GLSRC)gsdcolor.h
+$(DEVVECSRC)gdevpdti.h:$(GLSRC)gxdda.h
+$(DEVVECSRC)gdevpdti.h:$(GLSRC)gxcvalue.h
$(DEVVECSRC)gdevpdti.h:$(GLSRC)gsfont.h
$(DEVVECSRC)gdevpdti.h:$(GLSRC)gxfmap.h
-$(DEVVECSRC)gdevpdti.h:$(GLSRC)gxcvalue.h
-$(DEVVECSRC)gdevpdti.h:$(GLSRC)gxpath.h
-$(DEVVECSRC)gdevpdti.h:$(GLSRC)gspenum.h
-$(DEVVECSRC)gdevpdti.h:$(GLSRC)gxtmap.h
-$(DEVVECSRC)gdevpdti.h:$(GLSRC)gsimage.h
+$(DEVVECSRC)gdevpdti.h:$(GLSRC)gxiclass.h
+$(DEVVECSRC)gdevpdti.h:$(GLSRC)gxftype.h
$(DEVVECSRC)gdevpdti.h:$(GLSRC)gxfrac.h
-$(DEVVECSRC)gdevpdti.h:$(GLSRC)gxdda.h
-$(DEVVECSRC)gdevpdti.h:$(GLSRC)gslparam.h
-$(DEVVECSRC)gdevpdti.h:$(GLSRC)gxhldevc.h
-$(DEVVECSRC)gdevpdti.h:$(GLSRC)gxbcache.h
-$(DEVVECSRC)gdevpdti.h:$(GLSRC)gsdcolor.h
-$(DEVVECSRC)gdevpdti.h:$(GLSRC)gsrect.h
$(DEVVECSRC)gdevpdti.h:$(GLSRC)gscms.h
-$(DEVVECSRC)gdevpdti.h:$(GLSRC)gxftype.h
-$(DEVVECSRC)gdevpdti.h:$(GLSRC)gsdevice.h
$(DEVVECSRC)gdevpdti.h:$(GLSRC)gscspace.h
-$(DEVVECSRC)gdevpdti.h:$(GLSRC)gsuid.h
+$(DEVVECSRC)gdevpdti.h:$(GLSRC)gxpath.h
+$(DEVVECSRC)gdevpdti.h:$(GLSRC)gxbcache.h
+$(DEVVECSRC)gdevpdti.h:$(GLSRC)gsdevice.h
$(DEVVECSRC)gdevpdti.h:$(GLSRC)gxarith.h
-$(DEVVECSRC)gdevpdti.h:$(GLSRC)gsdsrc.h
$(DEVVECSRC)gdevpdti.h:$(GLSRC)gxstdio.h
+$(DEVVECSRC)gdevpdti.h:$(GLSRC)gspenum.h
+$(DEVVECSRC)gdevpdti.h:$(GLSRC)gxhttile.h
+$(DEVVECSRC)gdevpdti.h:$(GLSRC)gsrect.h
+$(DEVVECSRC)gdevpdti.h:$(GLSRC)gslparam.h
$(DEVVECSRC)gdevpdti.h:$(GLSRC)gsxfont.h
-$(DEVVECSRC)gdevpdti.h:$(GLSRC)gxfixed.h
-$(DEVVECSRC)gdevpdti.h:$(GLSRC)gsrefct.h
-$(DEVVECSRC)gdevpdti.h:$(GLSRC)gscpm.h
$(DEVVECSRC)gdevpdti.h:$(GLSRC)gsiparam.h
-$(DEVVECSRC)gdevpdti.h:$(GLSRC)gxhttile.h
+$(DEVVECSRC)gdevpdti.h:$(GLSRC)gsdsrc.h
$(DEVVECSRC)gdevpdti.h:$(GLSRC)gsio.h
-$(DEVVECSRC)gdevpdti.h:$(GLSRC)gp.h
-$(DEVVECSRC)gdevpdti.h:$(GLSRC)memento.h
-$(DEVVECSRC)gdevpdti.h:$(GLSRC)gsparam.h
-$(DEVVECSRC)gdevpdti.h:$(GLSRC)gsmatrix.h
$(DEVVECSRC)gdevpdti.h:$(GLSRC)gxbitmap.h
-$(DEVVECSRC)gdevpdti.h:$(GLSRC)srdline.h
+$(DEVVECSRC)gdevpdti.h:$(GLSRC)gsmatrix.h
+$(DEVVECSRC)gdevpdti.h:$(GLSRC)gscpm.h
+$(DEVVECSRC)gdevpdti.h:$(GLSRC)gxfixed.h
+$(DEVVECSRC)gdevpdti.h:$(GLSRC)gsrefct.h
+$(DEVVECSRC)gdevpdti.h:$(GLSRC)gsparam.h
+$(DEVVECSRC)gdevpdti.h:$(GLSRC)gp.h
+$(DEVVECSRC)gdevpdti.h:$(GLSRC)gsccolor.h
$(DEVVECSRC)gdevpdti.h:$(GLSRC)gsstruct.h
$(DEVVECSRC)gdevpdti.h:$(GLSRC)gxsync.h
+$(DEVVECSRC)gdevpdti.h:$(GLSRC)srdline.h
+$(DEVVECSRC)gdevpdti.h:$(GLSRC)scommon.h
+$(DEVVECSRC)gdevpdti.h:$(GLSRC)memento.h
$(DEVVECSRC)gdevpdti.h:$(GLSRC)vmsmath.h
$(DEVVECSRC)gdevpdti.h:$(GLSRC)gscsel.h
-$(DEVVECSRC)gdevpdti.h:$(GLSRC)scommon.h
$(DEVVECSRC)gdevpdti.h:$(GLSRC)gsbitmap.h
$(DEVVECSRC)gdevpdti.h:$(GLSRC)gsfname.h
-$(DEVVECSRC)gdevpdti.h:$(GLSRC)gsccolor.h
$(DEVVECSRC)gdevpdti.h:$(GLSRC)gsstype.h
+$(DEVVECSRC)gdevpdti.h:$(GLSRC)stat_.h
+$(DEVVECSRC)gdevpdti.h:$(GLSRC)gxtmap.h
$(DEVVECSRC)gdevpdti.h:$(GLSRC)gsmemory.h
$(DEVVECSRC)gdevpdti.h:$(GLSRC)gpsync.h
-$(DEVVECSRC)gdevpdti.h:$(GLSRC)gpgetenv.h
$(DEVVECSRC)gdevpdti.h:$(GLSRC)memory_.h
+$(DEVVECSRC)gdevpdti.h:$(GLSRC)gpgetenv.h
$(DEVVECSRC)gdevpdti.h:$(GLSRC)gslibctx.h
$(DEVVECSRC)gdevpdti.h:$(GLSRC)gscdefs.h
+$(DEVVECSRC)gdevpdti.h:$(GLSRC)gs_dll_call.h
+$(DEVVECSRC)gdevpdti.h:$(GLSRC)stdio_.h
$(DEVVECSRC)gdevpdti.h:$(GLSRC)gscompt.h
$(DEVVECSRC)gdevpdti.h:$(GLSRC)gsbittab.h
$(DEVVECSRC)gdevpdti.h:$(GLSRC)gxcindex.h
-$(DEVVECSRC)gdevpdti.h:$(GLSRC)stdint_.h
$(DEVVECSRC)gdevpdti.h:$(GLSRC)gsgstate.h
+$(DEVVECSRC)gdevpdti.h:$(GLSRC)stdint_.h
+$(DEVVECSRC)gdevpdti.h:$(GLSRC)gssprintf.h
$(DEVVECSRC)gdevpdti.h:$(GLSRC)gsccode.h
-$(DEVVECSRC)gdevpdti.h:$(GLSRC)gs_dll_call.h
-$(DEVVECSRC)gdevpdti.h:$(GLSRC)stdio_.h
-$(DEVVECSRC)gdevpdti.h:$(GLSRC)gstypes.h
$(DEVVECSRC)gdevpdti.h:$(GLSRC)std.h
+$(DEVVECSRC)gdevpdti.h:$(GLSRC)gstypes.h
$(DEVVECSRC)gdevpdti.h:$(GLSRC)stdpre.h
$(DEVVECSRC)gdevpdti.h:$(GLGEN)arch.h
-$(DEVVECSRC)gdevpdti.h:$(GLSRC)gssprintf.h
$(DEVVECSRC)gdevpdts.h:$(DEVVECSRC)gdevpdtx.h
$(DEVVECSRC)gdevpdts.h:$(DEVVECSRC)gdevpdt.h
$(DEVVECSRC)gdevpdts.h:$(DEVVECSRC)gdevpdfx.h
$(DEVVECSRC)gdevpdts.h:$(DEVVECSRC)gdevpsdf.h
$(DEVVECSRC)gdevpdts.h:$(GLSRC)gdevvec.h
$(DEVVECSRC)gdevpdts.h:$(GLSRC)gxgstate.h
-$(DEVVECSRC)gdevpdts.h:$(GLSRC)gxfont.h
-$(DEVVECSRC)gdevpdts.h:$(GLSRC)gstrans.h
$(DEVVECSRC)gdevpdts.h:$(GLSRC)gxline.h
-$(DEVVECSRC)gdevpdts.h:$(GLSRC)gsht1.h
+$(DEVVECSRC)gdevpdts.h:$(GLSRC)gstrans.h
$(DEVVECSRC)gdevpdts.h:$(GLSRC)sarc4.h
-$(DEVVECSRC)gdevpdts.h:$(GLSRC)gxcomp.h
+$(DEVVECSRC)gdevpdts.h:$(GLSRC)gsht1.h
+$(DEVVECSRC)gdevpdts.h:$(GLSRC)gxfont.h
+$(DEVVECSRC)gdevpdts.h:$(GLSRC)gdevbbox.h
$(DEVVECSRC)gdevpdts.h:$(GLSRC)math_.h
$(DEVVECSRC)gdevpdts.h:$(GLSRC)scfx.h
-$(DEVVECSRC)gdevpdts.h:$(GLSRC)gdevbbox.h
-$(DEVVECSRC)gdevpdts.h:$(GLSRC)spprint.h
-$(DEVVECSRC)gdevpdts.h:$(GLSRC)spsdf.h
$(DEVVECSRC)gdevpdts.h:$(GLSRC)gdevp14.h
$(DEVVECSRC)gdevpdts.h:$(GLSRC)gxcolor2.h
+$(DEVVECSRC)gdevpdts.h:$(GLSRC)spprint.h
+$(DEVVECSRC)gdevpdts.h:$(GLSRC)spsdf.h
$(DEVVECSRC)gdevpdts.h:$(GLSRC)gxpcolor.h
-$(DEVVECSRC)gdevpdts.h:$(GLSRC)gspath.h
$(DEVVECSRC)gdevpdts.h:$(GLSRC)gdevdevn.h
+$(DEVVECSRC)gdevpdts.h:$(GLSRC)gsequivc.h
+$(DEVVECSRC)gdevpdts.h:$(GLSRC)gspath.h
$(DEVVECSRC)gdevpdts.h:$(GLSRC)gxblend.h
+$(DEVVECSRC)gdevpdts.h:$(GLSRC)gxclipsr.h
+$(DEVVECSRC)gdevpdts.h:$(GLSRC)gxcomp.h
+$(DEVVECSRC)gdevpdts.h:$(GLSRC)gxdcolor.h
$(DEVVECSRC)gdevpdts.h:$(GLSRC)gxmatrix.h
$(DEVVECSRC)gdevpdts.h:$(GLSRC)gsgdata.h
-$(DEVVECSRC)gdevpdts.h:$(GLSRC)stream.h
$(DEVVECSRC)gdevpdts.h:$(GLSRC)gxbitfmt.h
-$(DEVVECSRC)gdevpdts.h:$(GLSRC)gsequivc.h
-$(DEVVECSRC)gdevpdts.h:$(GLSRC)gxclipsr.h
$(DEVVECSRC)gdevpdts.h:$(GLSRC)shc.h
$(DEVVECSRC)gdevpdts.h:$(GLSRC)gsgcache.h
$(DEVVECSRC)gdevpdts.h:$(GLSRC)gscolor2.h
-$(DEVVECSRC)gdevpdts.h:$(GLSRC)gxdevice.h
$(DEVVECSRC)gdevpdts.h:$(GLSRC)gxfapi.h
+$(DEVVECSRC)gdevpdts.h:$(GLSRC)gscindex.h
$(DEVVECSRC)gdevpdts.h:$(GLSRC)gsnotify.h
$(DEVVECSRC)gdevpdts.h:$(GLSRC)gsfcmap.h
-$(DEVVECSRC)gdevpdts.h:$(GLSRC)gxcpath.h
+$(DEVVECSRC)gdevpdts.h:$(GLSRC)gxdevice.h
$(DEVVECSRC)gdevpdts.h:$(GLSRC)gsht.h
-$(DEVVECSRC)gdevpdts.h:$(GLSRC)gxiparam.h
+$(DEVVECSRC)gdevpdts.h:$(GLSRC)gxcpath.h
$(DEVVECSRC)gdevpdts.h:$(GLSRC)sa85x.h
+$(DEVVECSRC)gdevpdts.h:$(GLSRC)gxiparam.h
+$(DEVVECSRC)gdevpdts.h:$(GLSRC)sa85d.h
$(DEVVECSRC)gdevpdts.h:$(GLSRC)gxdevmem.h
+$(DEVVECSRC)gdevpdts.h:$(GLSRC)gxdevcli.h
$(DEVVECSRC)gdevpdts.h:$(GLSRC)gxpcache.h
-$(DEVVECSRC)gdevpdts.h:$(GLSRC)sa85d.h
-$(DEVVECSRC)gdevpdts.h:$(GLSRC)gscindex.h
$(DEVVECSRC)gdevpdts.h:$(GLSRC)gsptype1.h
-$(DEVVECSRC)gdevpdts.h:$(GLSRC)gxdevcli.h
$(DEVVECSRC)gdevpdts.h:$(GLSRC)gxtext.h
-$(DEVVECSRC)gdevpdts.h:$(GLSRC)gspcolor.h
+$(DEVVECSRC)gdevpdts.h:$(GLSRC)gscie.h
$(DEVVECSRC)gdevpdts.h:$(GLSRC)gstext.h
-$(DEVVECSRC)gdevpdts.h:$(GLSRC)gxdcolor.h
+$(DEVVECSRC)gdevpdts.h:$(GLSRC)gsnamecl.h
$(DEVVECSRC)gdevpdts.h:$(GLSRC)gstparam.h
-$(DEVVECSRC)gdevpdts.h:$(GLSRC)gscie.h
$(DEVVECSRC)gdevpdts.h:$(GLSRC)gxstate.h
-$(DEVVECSRC)gdevpdts.h:$(GLSRC)gxcmap.h
-$(DEVVECSRC)gdevpdts.h:$(GLSRC)gsmalloc.h
+$(DEVVECSRC)gdevpdts.h:$(GLSRC)gspcolor.h
+$(DEVVECSRC)gdevpdts.h:$(GLSRC)gxfcache.h
+$(DEVVECSRC)gdevpdts.h:$(GLSRC)stream.h
+$(DEVVECSRC)gdevpdts.h:$(GLSRC)gxcspace.h
$(DEVVECSRC)gdevpdts.h:$(GLSRC)gsropt.h
$(DEVVECSRC)gdevpdts.h:$(GLSRC)gsfunc.h
+$(DEVVECSRC)gdevpdts.h:$(GLSRC)gsmalloc.h
+$(DEVVECSRC)gdevpdts.h:$(GLSRC)gxrplane.h
$(DEVVECSRC)gdevpdts.h:$(GLSRC)gxctable.h
-$(DEVVECSRC)gdevpdts.h:$(GLSRC)gsnamecl.h
$(DEVVECSRC)gdevpdts.h:$(GLSRC)gxiodev.h
-$(DEVVECSRC)gdevpdts.h:$(GLSRC)gxrplane.h
-$(DEVVECSRC)gdevpdts.h:$(GLSRC)gxcspace.h
+$(DEVVECSRC)gdevpdts.h:$(GLSRC)gsuid.h
+$(DEVVECSRC)gdevpdts.h:$(GLSRC)gxcmap.h
+$(DEVVECSRC)gdevpdts.h:$(GLSRC)gxhldevc.h
$(DEVVECSRC)gdevpdts.h:$(GLSRC)strimpl.h
-$(DEVVECSRC)gdevpdts.h:$(GLSRC)gxiclass.h
-$(DEVVECSRC)gdevpdts.h:$(GLSRC)stat_.h
-$(DEVVECSRC)gdevpdts.h:$(GLSRC)gxfcache.h
+$(DEVVECSRC)gdevpdts.h:$(GLSRC)gsimage.h
+$(DEVVECSRC)gdevpdts.h:$(GLSRC)gsdcolor.h
+$(DEVVECSRC)gdevpdts.h:$(GLSRC)gxdda.h
+$(DEVVECSRC)gdevpdts.h:$(GLSRC)gxcvalue.h
$(DEVVECSRC)gdevpdts.h:$(GLSRC)gsfont.h
$(DEVVECSRC)gdevpdts.h:$(GLSRC)gxfmap.h
-$(DEVVECSRC)gdevpdts.h:$(GLSRC)gxcvalue.h
-$(DEVVECSRC)gdevpdts.h:$(GLSRC)gxpath.h
-$(DEVVECSRC)gdevpdts.h:$(GLSRC)gspenum.h
-$(DEVVECSRC)gdevpdts.h:$(GLSRC)gxtmap.h
-$(DEVVECSRC)gdevpdts.h:$(GLSRC)gsimage.h
+$(DEVVECSRC)gdevpdts.h:$(GLSRC)gxiclass.h
+$(DEVVECSRC)gdevpdts.h:$(GLSRC)gxftype.h
$(DEVVECSRC)gdevpdts.h:$(GLSRC)gxfrac.h
-$(DEVVECSRC)gdevpdts.h:$(GLSRC)gxdda.h
-$(DEVVECSRC)gdevpdts.h:$(GLSRC)gslparam.h
-$(DEVVECSRC)gdevpdts.h:$(GLSRC)gxhldevc.h
-$(DEVVECSRC)gdevpdts.h:$(GLSRC)gxbcache.h
-$(DEVVECSRC)gdevpdts.h:$(GLSRC)gsdcolor.h
-$(DEVVECSRC)gdevpdts.h:$(GLSRC)gsrect.h
$(DEVVECSRC)gdevpdts.h:$(GLSRC)gscms.h
-$(DEVVECSRC)gdevpdts.h:$(GLSRC)gxftype.h
-$(DEVVECSRC)gdevpdts.h:$(GLSRC)gsdevice.h
$(DEVVECSRC)gdevpdts.h:$(GLSRC)gscspace.h
-$(DEVVECSRC)gdevpdts.h:$(GLSRC)gsuid.h
+$(DEVVECSRC)gdevpdts.h:$(GLSRC)gxpath.h
+$(DEVVECSRC)gdevpdts.h:$(GLSRC)gxbcache.h
+$(DEVVECSRC)gdevpdts.h:$(GLSRC)gsdevice.h
$(DEVVECSRC)gdevpdts.h:$(GLSRC)gxarith.h
-$(DEVVECSRC)gdevpdts.h:$(GLSRC)gsdsrc.h
$(DEVVECSRC)gdevpdts.h:$(GLSRC)gxstdio.h
+$(DEVVECSRC)gdevpdts.h:$(GLSRC)gspenum.h
+$(DEVVECSRC)gdevpdts.h:$(GLSRC)gxhttile.h
+$(DEVVECSRC)gdevpdts.h:$(GLSRC)gsrect.h
+$(DEVVECSRC)gdevpdts.h:$(GLSRC)gslparam.h
$(DEVVECSRC)gdevpdts.h:$(GLSRC)gsxfont.h
-$(DEVVECSRC)gdevpdts.h:$(GLSRC)gxfixed.h
-$(DEVVECSRC)gdevpdts.h:$(GLSRC)gsrefct.h
-$(DEVVECSRC)gdevpdts.h:$(GLSRC)gscpm.h
$(DEVVECSRC)gdevpdts.h:$(GLSRC)gsiparam.h
-$(DEVVECSRC)gdevpdts.h:$(GLSRC)gxhttile.h
+$(DEVVECSRC)gdevpdts.h:$(GLSRC)gsdsrc.h
$(DEVVECSRC)gdevpdts.h:$(GLSRC)gsio.h
-$(DEVVECSRC)gdevpdts.h:$(GLSRC)gp.h
-$(DEVVECSRC)gdevpdts.h:$(GLSRC)memento.h
-$(DEVVECSRC)gdevpdts.h:$(GLSRC)gsparam.h
-$(DEVVECSRC)gdevpdts.h:$(GLSRC)gsmatrix.h
$(DEVVECSRC)gdevpdts.h:$(GLSRC)gxbitmap.h
-$(DEVVECSRC)gdevpdts.h:$(GLSRC)srdline.h
+$(DEVVECSRC)gdevpdts.h:$(GLSRC)gsmatrix.h
+$(DEVVECSRC)gdevpdts.h:$(GLSRC)gscpm.h
+$(DEVVECSRC)gdevpdts.h:$(GLSRC)gxfixed.h
+$(DEVVECSRC)gdevpdts.h:$(GLSRC)gsrefct.h
+$(DEVVECSRC)gdevpdts.h:$(GLSRC)gsparam.h
+$(DEVVECSRC)gdevpdts.h:$(GLSRC)gp.h
+$(DEVVECSRC)gdevpdts.h:$(GLSRC)gsccolor.h
$(DEVVECSRC)gdevpdts.h:$(GLSRC)gsstruct.h
$(DEVVECSRC)gdevpdts.h:$(GLSRC)gxsync.h
+$(DEVVECSRC)gdevpdts.h:$(GLSRC)srdline.h
+$(DEVVECSRC)gdevpdts.h:$(GLSRC)scommon.h
+$(DEVVECSRC)gdevpdts.h:$(GLSRC)memento.h
$(DEVVECSRC)gdevpdts.h:$(GLSRC)vmsmath.h
$(DEVVECSRC)gdevpdts.h:$(GLSRC)gscsel.h
-$(DEVVECSRC)gdevpdts.h:$(GLSRC)scommon.h
$(DEVVECSRC)gdevpdts.h:$(GLSRC)gsbitmap.h
$(DEVVECSRC)gdevpdts.h:$(GLSRC)gsfname.h
-$(DEVVECSRC)gdevpdts.h:$(GLSRC)gsccolor.h
$(DEVVECSRC)gdevpdts.h:$(GLSRC)gsstype.h
+$(DEVVECSRC)gdevpdts.h:$(GLSRC)stat_.h
+$(DEVVECSRC)gdevpdts.h:$(GLSRC)gxtmap.h
$(DEVVECSRC)gdevpdts.h:$(GLSRC)gsmemory.h
$(DEVVECSRC)gdevpdts.h:$(GLSRC)gpsync.h
-$(DEVVECSRC)gdevpdts.h:$(GLSRC)gpgetenv.h
$(DEVVECSRC)gdevpdts.h:$(GLSRC)memory_.h
+$(DEVVECSRC)gdevpdts.h:$(GLSRC)gpgetenv.h
$(DEVVECSRC)gdevpdts.h:$(GLSRC)gslibctx.h
$(DEVVECSRC)gdevpdts.h:$(GLSRC)gscdefs.h
+$(DEVVECSRC)gdevpdts.h:$(GLSRC)gs_dll_call.h
+$(DEVVECSRC)gdevpdts.h:$(GLSRC)stdio_.h
$(DEVVECSRC)gdevpdts.h:$(GLSRC)gscompt.h
$(DEVVECSRC)gdevpdts.h:$(GLSRC)gsbittab.h
$(DEVVECSRC)gdevpdts.h:$(GLSRC)gxcindex.h
-$(DEVVECSRC)gdevpdts.h:$(GLSRC)stdint_.h
$(DEVVECSRC)gdevpdts.h:$(GLSRC)gsgstate.h
+$(DEVVECSRC)gdevpdts.h:$(GLSRC)stdint_.h
+$(DEVVECSRC)gdevpdts.h:$(GLSRC)gssprintf.h
$(DEVVECSRC)gdevpdts.h:$(GLSRC)gsccode.h
-$(DEVVECSRC)gdevpdts.h:$(GLSRC)gs_dll_call.h
-$(DEVVECSRC)gdevpdts.h:$(GLSRC)stdio_.h
-$(DEVVECSRC)gdevpdts.h:$(GLSRC)gstypes.h
$(DEVVECSRC)gdevpdts.h:$(GLSRC)std.h
+$(DEVVECSRC)gdevpdts.h:$(GLSRC)gstypes.h
$(DEVVECSRC)gdevpdts.h:$(GLSRC)stdpre.h
$(DEVVECSRC)gdevpdts.h:$(GLGEN)arch.h
-$(DEVVECSRC)gdevpdts.h:$(GLSRC)gssprintf.h
$(DEVVECSRC)gdevpdtt.h:$(DEVVECSRC)gdevpdts.h
$(DEVVECSRC)gdevpdtt.h:$(DEVVECSRC)gdevpdtf.h
$(DEVVECSRC)gdevpdtt.h:$(DEVVECSRC)gdevpdtx.h
@@ -3871,129 +3888,129 @@ $(DEVVECSRC)gdevpdtt.h:$(DEVVECSRC)gdevpdfx.h
$(DEVVECSRC)gdevpdtt.h:$(DEVVECSRC)gdevpsdf.h
$(DEVVECSRC)gdevpdtt.h:$(GLSRC)gdevvec.h
$(DEVVECSRC)gdevpdtt.h:$(GLSRC)gxgstate.h
-$(DEVVECSRC)gdevpdtt.h:$(GLSRC)gxfont.h
-$(DEVVECSRC)gdevpdtt.h:$(GLSRC)gstrans.h
$(DEVVECSRC)gdevpdtt.h:$(GLSRC)gxline.h
-$(DEVVECSRC)gdevpdtt.h:$(GLSRC)gsht1.h
+$(DEVVECSRC)gdevpdtt.h:$(GLSRC)gstrans.h
$(DEVVECSRC)gdevpdtt.h:$(GLSRC)sarc4.h
-$(DEVVECSRC)gdevpdtt.h:$(GLSRC)gxcomp.h
+$(DEVVECSRC)gdevpdtt.h:$(GLSRC)gsht1.h
+$(DEVVECSRC)gdevpdtt.h:$(GLSRC)gxfont.h
+$(DEVVECSRC)gdevpdtt.h:$(GLSRC)gdevbbox.h
$(DEVVECSRC)gdevpdtt.h:$(GLSRC)math_.h
$(DEVVECSRC)gdevpdtt.h:$(GLSRC)scfx.h
-$(DEVVECSRC)gdevpdtt.h:$(GLSRC)gdevbbox.h
-$(DEVVECSRC)gdevpdtt.h:$(GLSRC)spprint.h
-$(DEVVECSRC)gdevpdtt.h:$(GLSRC)spsdf.h
$(DEVVECSRC)gdevpdtt.h:$(GLSRC)gdevp14.h
$(DEVVECSRC)gdevpdtt.h:$(GLSRC)gxcolor2.h
+$(DEVVECSRC)gdevpdtt.h:$(GLSRC)spprint.h
+$(DEVVECSRC)gdevpdtt.h:$(GLSRC)spsdf.h
$(DEVVECSRC)gdevpdtt.h:$(GLSRC)gxpcolor.h
-$(DEVVECSRC)gdevpdtt.h:$(GLSRC)gspath.h
$(DEVVECSRC)gdevpdtt.h:$(GLSRC)gdevdevn.h
+$(DEVVECSRC)gdevpdtt.h:$(GLSRC)gsequivc.h
+$(DEVVECSRC)gdevpdtt.h:$(GLSRC)gspath.h
$(DEVVECSRC)gdevpdtt.h:$(GLSRC)gxblend.h
+$(DEVVECSRC)gdevpdtt.h:$(GLSRC)gxclipsr.h
+$(DEVVECSRC)gdevpdtt.h:$(GLSRC)gxcomp.h
+$(DEVVECSRC)gdevpdtt.h:$(GLSRC)gxdcolor.h
$(DEVVECSRC)gdevpdtt.h:$(GLSRC)gxmatrix.h
$(DEVVECSRC)gdevpdtt.h:$(GLSRC)gsgdata.h
-$(DEVVECSRC)gdevpdtt.h:$(GLSRC)stream.h
$(DEVVECSRC)gdevpdtt.h:$(GLSRC)gxbitfmt.h
-$(DEVVECSRC)gdevpdtt.h:$(GLSRC)gsequivc.h
-$(DEVVECSRC)gdevpdtt.h:$(GLSRC)gxclipsr.h
$(DEVVECSRC)gdevpdtt.h:$(GLSRC)shc.h
$(DEVVECSRC)gdevpdtt.h:$(GLSRC)gsgcache.h
$(DEVVECSRC)gdevpdtt.h:$(GLSRC)gscolor2.h
-$(DEVVECSRC)gdevpdtt.h:$(GLSRC)gxdevice.h
$(DEVVECSRC)gdevpdtt.h:$(GLSRC)gxfapi.h
+$(DEVVECSRC)gdevpdtt.h:$(GLSRC)gscindex.h
$(DEVVECSRC)gdevpdtt.h:$(GLSRC)gsnotify.h
$(DEVVECSRC)gdevpdtt.h:$(GLSRC)gsfcmap.h
-$(DEVVECSRC)gdevpdtt.h:$(GLSRC)gxcpath.h
+$(DEVVECSRC)gdevpdtt.h:$(GLSRC)gxdevice.h
$(DEVVECSRC)gdevpdtt.h:$(GLSRC)gsht.h
-$(DEVVECSRC)gdevpdtt.h:$(GLSRC)gxiparam.h
+$(DEVVECSRC)gdevpdtt.h:$(GLSRC)gxcpath.h
$(DEVVECSRC)gdevpdtt.h:$(GLSRC)sa85x.h
+$(DEVVECSRC)gdevpdtt.h:$(GLSRC)gxiparam.h
+$(DEVVECSRC)gdevpdtt.h:$(GLSRC)sa85d.h
$(DEVVECSRC)gdevpdtt.h:$(GLSRC)gxdevmem.h
+$(DEVVECSRC)gdevpdtt.h:$(GLSRC)gxdevcli.h
$(DEVVECSRC)gdevpdtt.h:$(GLSRC)gxpcache.h
-$(DEVVECSRC)gdevpdtt.h:$(GLSRC)sa85d.h
-$(DEVVECSRC)gdevpdtt.h:$(GLSRC)gscindex.h
$(DEVVECSRC)gdevpdtt.h:$(GLSRC)gsptype1.h
-$(DEVVECSRC)gdevpdtt.h:$(GLSRC)gxdevcli.h
$(DEVVECSRC)gdevpdtt.h:$(GLSRC)gxtext.h
-$(DEVVECSRC)gdevpdtt.h:$(GLSRC)gspcolor.h
+$(DEVVECSRC)gdevpdtt.h:$(GLSRC)gscie.h
$(DEVVECSRC)gdevpdtt.h:$(GLSRC)gstext.h
-$(DEVVECSRC)gdevpdtt.h:$(GLSRC)gxdcolor.h
+$(DEVVECSRC)gdevpdtt.h:$(GLSRC)gsnamecl.h
$(DEVVECSRC)gdevpdtt.h:$(GLSRC)gstparam.h
-$(DEVVECSRC)gdevpdtt.h:$(GLSRC)gscie.h
$(DEVVECSRC)gdevpdtt.h:$(GLSRC)gxstate.h
-$(DEVVECSRC)gdevpdtt.h:$(GLSRC)gxcmap.h
-$(DEVVECSRC)gdevpdtt.h:$(GLSRC)gsmalloc.h
+$(DEVVECSRC)gdevpdtt.h:$(GLSRC)gspcolor.h
+$(DEVVECSRC)gdevpdtt.h:$(GLSRC)gxfcache.h
+$(DEVVECSRC)gdevpdtt.h:$(GLSRC)stream.h
+$(DEVVECSRC)gdevpdtt.h:$(GLSRC)gxcspace.h
$(DEVVECSRC)gdevpdtt.h:$(GLSRC)gsropt.h
$(DEVVECSRC)gdevpdtt.h:$(GLSRC)gsfunc.h
+$(DEVVECSRC)gdevpdtt.h:$(GLSRC)gsmalloc.h
+$(DEVVECSRC)gdevpdtt.h:$(GLSRC)gxrplane.h
$(DEVVECSRC)gdevpdtt.h:$(GLSRC)gxctable.h
-$(DEVVECSRC)gdevpdtt.h:$(GLSRC)gsnamecl.h
$(DEVVECSRC)gdevpdtt.h:$(GLSRC)gxiodev.h
-$(DEVVECSRC)gdevpdtt.h:$(GLSRC)gxrplane.h
-$(DEVVECSRC)gdevpdtt.h:$(GLSRC)gxcspace.h
+$(DEVVECSRC)gdevpdtt.h:$(GLSRC)gsuid.h
+$(DEVVECSRC)gdevpdtt.h:$(GLSRC)gxcmap.h
+$(DEVVECSRC)gdevpdtt.h:$(GLSRC)gxhldevc.h
$(DEVVECSRC)gdevpdtt.h:$(GLSRC)strimpl.h
-$(DEVVECSRC)gdevpdtt.h:$(GLSRC)gxiclass.h
-$(DEVVECSRC)gdevpdtt.h:$(GLSRC)stat_.h
-$(DEVVECSRC)gdevpdtt.h:$(GLSRC)gxfcache.h
+$(DEVVECSRC)gdevpdtt.h:$(GLSRC)gsimage.h
+$(DEVVECSRC)gdevpdtt.h:$(GLSRC)gsdcolor.h
+$(DEVVECSRC)gdevpdtt.h:$(GLSRC)gxdda.h
+$(DEVVECSRC)gdevpdtt.h:$(GLSRC)gxcvalue.h
$(DEVVECSRC)gdevpdtt.h:$(GLSRC)gsfont.h
$(DEVVECSRC)gdevpdtt.h:$(GLSRC)gxfmap.h
-$(DEVVECSRC)gdevpdtt.h:$(GLSRC)gxcvalue.h
-$(DEVVECSRC)gdevpdtt.h:$(GLSRC)gxpath.h
-$(DEVVECSRC)gdevpdtt.h:$(GLSRC)gspenum.h
-$(DEVVECSRC)gdevpdtt.h:$(GLSRC)gxtmap.h
-$(DEVVECSRC)gdevpdtt.h:$(GLSRC)gsimage.h
+$(DEVVECSRC)gdevpdtt.h:$(GLSRC)gxiclass.h
+$(DEVVECSRC)gdevpdtt.h:$(GLSRC)gxftype.h
$(DEVVECSRC)gdevpdtt.h:$(GLSRC)gxfrac.h
-$(DEVVECSRC)gdevpdtt.h:$(GLSRC)gxdda.h
-$(DEVVECSRC)gdevpdtt.h:$(GLSRC)gslparam.h
-$(DEVVECSRC)gdevpdtt.h:$(GLSRC)gxhldevc.h
-$(DEVVECSRC)gdevpdtt.h:$(GLSRC)gxbcache.h
-$(DEVVECSRC)gdevpdtt.h:$(GLSRC)gsdcolor.h
-$(DEVVECSRC)gdevpdtt.h:$(GLSRC)gsrect.h
$(DEVVECSRC)gdevpdtt.h:$(GLSRC)gscms.h
-$(DEVVECSRC)gdevpdtt.h:$(GLSRC)gxftype.h
-$(DEVVECSRC)gdevpdtt.h:$(GLSRC)gsdevice.h
$(DEVVECSRC)gdevpdtt.h:$(GLSRC)gscspace.h
-$(DEVVECSRC)gdevpdtt.h:$(GLSRC)gsuid.h
+$(DEVVECSRC)gdevpdtt.h:$(GLSRC)gxpath.h
+$(DEVVECSRC)gdevpdtt.h:$(GLSRC)gxbcache.h
+$(DEVVECSRC)gdevpdtt.h:$(GLSRC)gsdevice.h
$(DEVVECSRC)gdevpdtt.h:$(GLSRC)gxarith.h
-$(DEVVECSRC)gdevpdtt.h:$(GLSRC)gsdsrc.h
$(DEVVECSRC)gdevpdtt.h:$(GLSRC)gxstdio.h
+$(DEVVECSRC)gdevpdtt.h:$(GLSRC)gspenum.h
+$(DEVVECSRC)gdevpdtt.h:$(GLSRC)gxhttile.h
+$(DEVVECSRC)gdevpdtt.h:$(GLSRC)gsrect.h
+$(DEVVECSRC)gdevpdtt.h:$(GLSRC)gslparam.h
$(DEVVECSRC)gdevpdtt.h:$(GLSRC)gsxfont.h
-$(DEVVECSRC)gdevpdtt.h:$(GLSRC)gxfixed.h
-$(DEVVECSRC)gdevpdtt.h:$(GLSRC)gsrefct.h
-$(DEVVECSRC)gdevpdtt.h:$(GLSRC)gscpm.h
$(DEVVECSRC)gdevpdtt.h:$(GLSRC)gsiparam.h
-$(DEVVECSRC)gdevpdtt.h:$(GLSRC)gxhttile.h
+$(DEVVECSRC)gdevpdtt.h:$(GLSRC)gsdsrc.h
$(DEVVECSRC)gdevpdtt.h:$(GLSRC)gsio.h
-$(DEVVECSRC)gdevpdtt.h:$(GLSRC)gp.h
-$(DEVVECSRC)gdevpdtt.h:$(GLSRC)memento.h
-$(DEVVECSRC)gdevpdtt.h:$(GLSRC)gsparam.h
-$(DEVVECSRC)gdevpdtt.h:$(GLSRC)gsmatrix.h
$(DEVVECSRC)gdevpdtt.h:$(GLSRC)gxbitmap.h
-$(DEVVECSRC)gdevpdtt.h:$(GLSRC)srdline.h
+$(DEVVECSRC)gdevpdtt.h:$(GLSRC)gsmatrix.h
+$(DEVVECSRC)gdevpdtt.h:$(GLSRC)gscpm.h
+$(DEVVECSRC)gdevpdtt.h:$(GLSRC)gxfixed.h
+$(DEVVECSRC)gdevpdtt.h:$(GLSRC)gsrefct.h
+$(DEVVECSRC)gdevpdtt.h:$(GLSRC)gsparam.h
+$(DEVVECSRC)gdevpdtt.h:$(GLSRC)gp.h
+$(DEVVECSRC)gdevpdtt.h:$(GLSRC)gsccolor.h
$(DEVVECSRC)gdevpdtt.h:$(GLSRC)gsstruct.h
$(DEVVECSRC)gdevpdtt.h:$(GLSRC)gxsync.h
+$(DEVVECSRC)gdevpdtt.h:$(GLSRC)srdline.h
+$(DEVVECSRC)gdevpdtt.h:$(GLSRC)scommon.h
+$(DEVVECSRC)gdevpdtt.h:$(GLSRC)memento.h
$(DEVVECSRC)gdevpdtt.h:$(GLSRC)vmsmath.h
$(DEVVECSRC)gdevpdtt.h:$(GLSRC)gscsel.h
-$(DEVVECSRC)gdevpdtt.h:$(GLSRC)scommon.h
$(DEVVECSRC)gdevpdtt.h:$(GLSRC)gsbitmap.h
$(DEVVECSRC)gdevpdtt.h:$(GLSRC)gsfname.h
-$(DEVVECSRC)gdevpdtt.h:$(GLSRC)gsccolor.h
$(DEVVECSRC)gdevpdtt.h:$(GLSRC)gsstype.h
+$(DEVVECSRC)gdevpdtt.h:$(GLSRC)stat_.h
+$(DEVVECSRC)gdevpdtt.h:$(GLSRC)gxtmap.h
$(DEVVECSRC)gdevpdtt.h:$(GLSRC)gsmemory.h
$(DEVVECSRC)gdevpdtt.h:$(GLSRC)gpsync.h
-$(DEVVECSRC)gdevpdtt.h:$(GLSRC)gpgetenv.h
$(DEVVECSRC)gdevpdtt.h:$(GLSRC)memory_.h
+$(DEVVECSRC)gdevpdtt.h:$(GLSRC)gpgetenv.h
$(DEVVECSRC)gdevpdtt.h:$(GLSRC)gslibctx.h
$(DEVVECSRC)gdevpdtt.h:$(GLSRC)gscdefs.h
+$(DEVVECSRC)gdevpdtt.h:$(GLSRC)gs_dll_call.h
+$(DEVVECSRC)gdevpdtt.h:$(GLSRC)stdio_.h
$(DEVVECSRC)gdevpdtt.h:$(GLSRC)gscompt.h
$(DEVVECSRC)gdevpdtt.h:$(GLSRC)gsbittab.h
$(DEVVECSRC)gdevpdtt.h:$(GLSRC)gxcindex.h
-$(DEVVECSRC)gdevpdtt.h:$(GLSRC)stdint_.h
$(DEVVECSRC)gdevpdtt.h:$(GLSRC)gsgstate.h
+$(DEVVECSRC)gdevpdtt.h:$(GLSRC)stdint_.h
+$(DEVVECSRC)gdevpdtt.h:$(GLSRC)gssprintf.h
$(DEVVECSRC)gdevpdtt.h:$(GLSRC)gsccode.h
-$(DEVVECSRC)gdevpdtt.h:$(GLSRC)gs_dll_call.h
-$(DEVVECSRC)gdevpdtt.h:$(GLSRC)stdio_.h
-$(DEVVECSRC)gdevpdtt.h:$(GLSRC)gstypes.h
$(DEVVECSRC)gdevpdtt.h:$(GLSRC)std.h
+$(DEVVECSRC)gdevpdtt.h:$(GLSRC)gstypes.h
$(DEVVECSRC)gdevpdtt.h:$(GLSRC)stdpre.h
$(DEVVECSRC)gdevpdtt.h:$(GLGEN)arch.h
-$(DEVVECSRC)gdevpdtt.h:$(GLSRC)gssprintf.h
$(DEVVECSRC)gdevpdtw.h:$(DEVVECSRC)gdevpdtx.h
$(DEVVECSRC)gdevpdtw.h:$(GLSRC)gxfcmap.h
$(DEVVECSRC)gdevpdtw.h:$(DEVVECSRC)gdevpdt.h
@@ -4001,236 +4018,237 @@ $(DEVVECSRC)gdevpdtw.h:$(DEVVECSRC)gdevpdfx.h
$(DEVVECSRC)gdevpdtw.h:$(DEVVECSRC)gdevpsdf.h
$(DEVVECSRC)gdevpdtw.h:$(GLSRC)gdevvec.h
$(DEVVECSRC)gdevpdtw.h:$(GLSRC)gxgstate.h
-$(DEVVECSRC)gdevpdtw.h:$(GLSRC)gxfont.h
-$(DEVVECSRC)gdevpdtw.h:$(GLSRC)gstrans.h
$(DEVVECSRC)gdevpdtw.h:$(GLSRC)gxline.h
-$(DEVVECSRC)gdevpdtw.h:$(GLSRC)gsht1.h
+$(DEVVECSRC)gdevpdtw.h:$(GLSRC)gstrans.h
$(DEVVECSRC)gdevpdtw.h:$(GLSRC)sarc4.h
-$(DEVVECSRC)gdevpdtw.h:$(GLSRC)gxcomp.h
+$(DEVVECSRC)gdevpdtw.h:$(GLSRC)gsht1.h
+$(DEVVECSRC)gdevpdtw.h:$(GLSRC)gxfont.h
+$(DEVVECSRC)gdevpdtw.h:$(GLSRC)gdevbbox.h
$(DEVVECSRC)gdevpdtw.h:$(GLSRC)math_.h
$(DEVVECSRC)gdevpdtw.h:$(GLSRC)scfx.h
-$(DEVVECSRC)gdevpdtw.h:$(GLSRC)gdevbbox.h
-$(DEVVECSRC)gdevpdtw.h:$(GLSRC)spprint.h
-$(DEVVECSRC)gdevpdtw.h:$(GLSRC)spsdf.h
$(DEVVECSRC)gdevpdtw.h:$(GLSRC)gdevp14.h
$(DEVVECSRC)gdevpdtw.h:$(GLSRC)gxcolor2.h
+$(DEVVECSRC)gdevpdtw.h:$(GLSRC)spprint.h
+$(DEVVECSRC)gdevpdtw.h:$(GLSRC)spsdf.h
$(DEVVECSRC)gdevpdtw.h:$(GLSRC)gxpcolor.h
-$(DEVVECSRC)gdevpdtw.h:$(GLSRC)gspath.h
$(DEVVECSRC)gdevpdtw.h:$(GLSRC)gdevdevn.h
+$(DEVVECSRC)gdevpdtw.h:$(GLSRC)gsequivc.h
+$(DEVVECSRC)gdevpdtw.h:$(GLSRC)gspath.h
$(DEVVECSRC)gdevpdtw.h:$(GLSRC)gxblend.h
+$(DEVVECSRC)gdevpdtw.h:$(GLSRC)gxclipsr.h
+$(DEVVECSRC)gdevpdtw.h:$(GLSRC)gxcomp.h
+$(DEVVECSRC)gdevpdtw.h:$(GLSRC)gxdcolor.h
$(DEVVECSRC)gdevpdtw.h:$(GLSRC)gxcid.h
$(DEVVECSRC)gdevpdtw.h:$(GLSRC)gxmatrix.h
$(DEVVECSRC)gdevpdtw.h:$(GLSRC)gsgdata.h
-$(DEVVECSRC)gdevpdtw.h:$(GLSRC)stream.h
$(DEVVECSRC)gdevpdtw.h:$(GLSRC)gxbitfmt.h
-$(DEVVECSRC)gdevpdtw.h:$(GLSRC)gsequivc.h
-$(DEVVECSRC)gdevpdtw.h:$(GLSRC)gxclipsr.h
$(DEVVECSRC)gdevpdtw.h:$(GLSRC)shc.h
$(DEVVECSRC)gdevpdtw.h:$(GLSRC)gsgcache.h
$(DEVVECSRC)gdevpdtw.h:$(GLSRC)gscolor2.h
-$(DEVVECSRC)gdevpdtw.h:$(GLSRC)gxdevice.h
$(DEVVECSRC)gdevpdtw.h:$(GLSRC)gxfapi.h
+$(DEVVECSRC)gdevpdtw.h:$(GLSRC)gscindex.h
$(DEVVECSRC)gdevpdtw.h:$(GLSRC)gsnotify.h
$(DEVVECSRC)gdevpdtw.h:$(GLSRC)gsfcmap.h
-$(DEVVECSRC)gdevpdtw.h:$(GLSRC)gxcpath.h
+$(DEVVECSRC)gdevpdtw.h:$(GLSRC)gxdevice.h
$(DEVVECSRC)gdevpdtw.h:$(GLSRC)gsht.h
-$(DEVVECSRC)gdevpdtw.h:$(GLSRC)gxiparam.h
+$(DEVVECSRC)gdevpdtw.h:$(GLSRC)gxcpath.h
$(DEVVECSRC)gdevpdtw.h:$(GLSRC)sa85x.h
+$(DEVVECSRC)gdevpdtw.h:$(GLSRC)gxiparam.h
+$(DEVVECSRC)gdevpdtw.h:$(GLSRC)sa85d.h
$(DEVVECSRC)gdevpdtw.h:$(GLSRC)gxdevmem.h
+$(DEVVECSRC)gdevpdtw.h:$(GLSRC)gxdevcli.h
$(DEVVECSRC)gdevpdtw.h:$(GLSRC)gxpcache.h
-$(DEVVECSRC)gdevpdtw.h:$(GLSRC)sa85d.h
-$(DEVVECSRC)gdevpdtw.h:$(GLSRC)gscindex.h
$(DEVVECSRC)gdevpdtw.h:$(GLSRC)gsptype1.h
-$(DEVVECSRC)gdevpdtw.h:$(GLSRC)gxdevcli.h
$(DEVVECSRC)gdevpdtw.h:$(GLSRC)gxtext.h
-$(DEVVECSRC)gdevpdtw.h:$(GLSRC)gspcolor.h
+$(DEVVECSRC)gdevpdtw.h:$(GLSRC)gscie.h
$(DEVVECSRC)gdevpdtw.h:$(GLSRC)gstext.h
-$(DEVVECSRC)gdevpdtw.h:$(GLSRC)gxdcolor.h
+$(DEVVECSRC)gdevpdtw.h:$(GLSRC)gsnamecl.h
$(DEVVECSRC)gdevpdtw.h:$(GLSRC)gstparam.h
-$(DEVVECSRC)gdevpdtw.h:$(GLSRC)gscie.h
$(DEVVECSRC)gdevpdtw.h:$(GLSRC)gxstate.h
-$(DEVVECSRC)gdevpdtw.h:$(GLSRC)gxcmap.h
-$(DEVVECSRC)gdevpdtw.h:$(GLSRC)gsmalloc.h
+$(DEVVECSRC)gdevpdtw.h:$(GLSRC)gspcolor.h
+$(DEVVECSRC)gdevpdtw.h:$(GLSRC)gxfcache.h
+$(DEVVECSRC)gdevpdtw.h:$(GLSRC)stream.h
+$(DEVVECSRC)gdevpdtw.h:$(GLSRC)gxcspace.h
$(DEVVECSRC)gdevpdtw.h:$(GLSRC)gsropt.h
$(DEVVECSRC)gdevpdtw.h:$(GLSRC)gsfunc.h
+$(DEVVECSRC)gdevpdtw.h:$(GLSRC)gsmalloc.h
+$(DEVVECSRC)gdevpdtw.h:$(GLSRC)gxrplane.h
$(DEVVECSRC)gdevpdtw.h:$(GLSRC)gxctable.h
-$(DEVVECSRC)gdevpdtw.h:$(GLSRC)gsnamecl.h
$(DEVVECSRC)gdevpdtw.h:$(GLSRC)gxiodev.h
-$(DEVVECSRC)gdevpdtw.h:$(GLSRC)gxrplane.h
-$(DEVVECSRC)gdevpdtw.h:$(GLSRC)gxcspace.h
+$(DEVVECSRC)gdevpdtw.h:$(GLSRC)gsuid.h
+$(DEVVECSRC)gdevpdtw.h:$(GLSRC)gxcmap.h
+$(DEVVECSRC)gdevpdtw.h:$(GLSRC)gxhldevc.h
$(DEVVECSRC)gdevpdtw.h:$(GLSRC)strimpl.h
-$(DEVVECSRC)gdevpdtw.h:$(GLSRC)gxiclass.h
-$(DEVVECSRC)gdevpdtw.h:$(GLSRC)stat_.h
-$(DEVVECSRC)gdevpdtw.h:$(GLSRC)gxfcache.h
+$(DEVVECSRC)gdevpdtw.h:$(GLSRC)gsimage.h
+$(DEVVECSRC)gdevpdtw.h:$(GLSRC)gsdcolor.h
+$(DEVVECSRC)gdevpdtw.h:$(GLSRC)gxdda.h
+$(DEVVECSRC)gdevpdtw.h:$(GLSRC)gxcvalue.h
$(DEVVECSRC)gdevpdtw.h:$(GLSRC)gsfont.h
$(DEVVECSRC)gdevpdtw.h:$(GLSRC)gxfmap.h
-$(DEVVECSRC)gdevpdtw.h:$(GLSRC)gxcvalue.h
-$(DEVVECSRC)gdevpdtw.h:$(GLSRC)gxpath.h
-$(DEVVECSRC)gdevpdtw.h:$(GLSRC)gspenum.h
-$(DEVVECSRC)gdevpdtw.h:$(GLSRC)gxtmap.h
-$(DEVVECSRC)gdevpdtw.h:$(GLSRC)gsimage.h
+$(DEVVECSRC)gdevpdtw.h:$(GLSRC)gxiclass.h
+$(DEVVECSRC)gdevpdtw.h:$(GLSRC)gxftype.h
$(DEVVECSRC)gdevpdtw.h:$(GLSRC)gxfrac.h
-$(DEVVECSRC)gdevpdtw.h:$(GLSRC)gxdda.h
-$(DEVVECSRC)gdevpdtw.h:$(GLSRC)gslparam.h
-$(DEVVECSRC)gdevpdtw.h:$(GLSRC)gxhldevc.h
-$(DEVVECSRC)gdevpdtw.h:$(GLSRC)gxbcache.h
-$(DEVVECSRC)gdevpdtw.h:$(GLSRC)gsdcolor.h
-$(DEVVECSRC)gdevpdtw.h:$(GLSRC)gsrect.h
$(DEVVECSRC)gdevpdtw.h:$(GLSRC)gscms.h
-$(DEVVECSRC)gdevpdtw.h:$(GLSRC)gxftype.h
-$(DEVVECSRC)gdevpdtw.h:$(GLSRC)gsdevice.h
$(DEVVECSRC)gdevpdtw.h:$(GLSRC)gscspace.h
-$(DEVVECSRC)gdevpdtw.h:$(GLSRC)gsuid.h
+$(DEVVECSRC)gdevpdtw.h:$(GLSRC)gxpath.h
+$(DEVVECSRC)gdevpdtw.h:$(GLSRC)gxbcache.h
+$(DEVVECSRC)gdevpdtw.h:$(GLSRC)gsdevice.h
$(DEVVECSRC)gdevpdtw.h:$(GLSRC)gxarith.h
-$(DEVVECSRC)gdevpdtw.h:$(GLSRC)gsdsrc.h
$(DEVVECSRC)gdevpdtw.h:$(GLSRC)gxstdio.h
+$(DEVVECSRC)gdevpdtw.h:$(GLSRC)gspenum.h
+$(DEVVECSRC)gdevpdtw.h:$(GLSRC)gxhttile.h
+$(DEVVECSRC)gdevpdtw.h:$(GLSRC)gsrect.h
+$(DEVVECSRC)gdevpdtw.h:$(GLSRC)gslparam.h
$(DEVVECSRC)gdevpdtw.h:$(GLSRC)gsxfont.h
-$(DEVVECSRC)gdevpdtw.h:$(GLSRC)gxfixed.h
-$(DEVVECSRC)gdevpdtw.h:$(GLSRC)gsrefct.h
-$(DEVVECSRC)gdevpdtw.h:$(GLSRC)gscpm.h
$(DEVVECSRC)gdevpdtw.h:$(GLSRC)gsiparam.h
-$(DEVVECSRC)gdevpdtw.h:$(GLSRC)gxhttile.h
+$(DEVVECSRC)gdevpdtw.h:$(GLSRC)gsdsrc.h
$(DEVVECSRC)gdevpdtw.h:$(GLSRC)gsio.h
-$(DEVVECSRC)gdevpdtw.h:$(GLSRC)gp.h
-$(DEVVECSRC)gdevpdtw.h:$(GLSRC)memento.h
-$(DEVVECSRC)gdevpdtw.h:$(GLSRC)gsparam.h
-$(DEVVECSRC)gdevpdtw.h:$(GLSRC)gsmatrix.h
$(DEVVECSRC)gdevpdtw.h:$(GLSRC)gxbitmap.h
-$(DEVVECSRC)gdevpdtw.h:$(GLSRC)srdline.h
+$(DEVVECSRC)gdevpdtw.h:$(GLSRC)gsmatrix.h
+$(DEVVECSRC)gdevpdtw.h:$(GLSRC)gscpm.h
+$(DEVVECSRC)gdevpdtw.h:$(GLSRC)gxfixed.h
+$(DEVVECSRC)gdevpdtw.h:$(GLSRC)gsrefct.h
+$(DEVVECSRC)gdevpdtw.h:$(GLSRC)gsparam.h
+$(DEVVECSRC)gdevpdtw.h:$(GLSRC)gp.h
+$(DEVVECSRC)gdevpdtw.h:$(GLSRC)gsccolor.h
$(DEVVECSRC)gdevpdtw.h:$(GLSRC)gsstruct.h
$(DEVVECSRC)gdevpdtw.h:$(GLSRC)gxsync.h
+$(DEVVECSRC)gdevpdtw.h:$(GLSRC)srdline.h
+$(DEVVECSRC)gdevpdtw.h:$(GLSRC)scommon.h
+$(DEVVECSRC)gdevpdtw.h:$(GLSRC)memento.h
$(DEVVECSRC)gdevpdtw.h:$(GLSRC)vmsmath.h
$(DEVVECSRC)gdevpdtw.h:$(GLSRC)gscsel.h
-$(DEVVECSRC)gdevpdtw.h:$(GLSRC)scommon.h
$(DEVVECSRC)gdevpdtw.h:$(GLSRC)gsbitmap.h
$(DEVVECSRC)gdevpdtw.h:$(GLSRC)gsfname.h
-$(DEVVECSRC)gdevpdtw.h:$(GLSRC)gsccolor.h
$(DEVVECSRC)gdevpdtw.h:$(GLSRC)gsstype.h
+$(DEVVECSRC)gdevpdtw.h:$(GLSRC)stat_.h
+$(DEVVECSRC)gdevpdtw.h:$(GLSRC)gxtmap.h
$(DEVVECSRC)gdevpdtw.h:$(GLSRC)gsmemory.h
$(DEVVECSRC)gdevpdtw.h:$(GLSRC)gpsync.h
-$(DEVVECSRC)gdevpdtw.h:$(GLSRC)gpgetenv.h
$(DEVVECSRC)gdevpdtw.h:$(GLSRC)memory_.h
+$(DEVVECSRC)gdevpdtw.h:$(GLSRC)gpgetenv.h
$(DEVVECSRC)gdevpdtw.h:$(GLSRC)gslibctx.h
$(DEVVECSRC)gdevpdtw.h:$(GLSRC)gscdefs.h
+$(DEVVECSRC)gdevpdtw.h:$(GLSRC)gs_dll_call.h
+$(DEVVECSRC)gdevpdtw.h:$(GLSRC)stdio_.h
$(DEVVECSRC)gdevpdtw.h:$(GLSRC)gscompt.h
$(DEVVECSRC)gdevpdtw.h:$(GLSRC)gsbittab.h
$(DEVVECSRC)gdevpdtw.h:$(GLSRC)gxcindex.h
-$(DEVVECSRC)gdevpdtw.h:$(GLSRC)stdint_.h
$(DEVVECSRC)gdevpdtw.h:$(GLSRC)gsgstate.h
+$(DEVVECSRC)gdevpdtw.h:$(GLSRC)stdint_.h
+$(DEVVECSRC)gdevpdtw.h:$(GLSRC)gssprintf.h
$(DEVVECSRC)gdevpdtw.h:$(GLSRC)gsccode.h
-$(DEVVECSRC)gdevpdtw.h:$(GLSRC)gs_dll_call.h
-$(DEVVECSRC)gdevpdtw.h:$(GLSRC)stdio_.h
-$(DEVVECSRC)gdevpdtw.h:$(GLSRC)gstypes.h
$(DEVVECSRC)gdevpdtw.h:$(GLSRC)std.h
+$(DEVVECSRC)gdevpdtw.h:$(GLSRC)gstypes.h
$(DEVVECSRC)gdevpdtw.h:$(GLSRC)stdpre.h
$(DEVVECSRC)gdevpdtw.h:$(GLGEN)arch.h
-$(DEVVECSRC)gdevpdtw.h:$(GLSRC)gssprintf.h
$(DEVSRC)gdevbmp.h:$(GLSRC)gxclist.h
$(DEVSRC)gdevbmp.h:$(GLSRC)gxgstate.h
-$(DEVSRC)gdevbmp.h:$(GLSRC)gstrans.h
$(DEVSRC)gdevbmp.h:$(GLSRC)gxline.h
+$(DEVSRC)gdevbmp.h:$(GLSRC)gstrans.h
$(DEVSRC)gdevbmp.h:$(GLSRC)gsht1.h
-$(DEVSRC)gdevbmp.h:$(GLSRC)gxcomp.h
$(DEVSRC)gdevbmp.h:$(GLSRC)math_.h
$(DEVSRC)gdevbmp.h:$(GLSRC)gdevp14.h
$(DEVSRC)gdevbmp.h:$(GLSRC)gxcolor2.h
$(DEVSRC)gdevbmp.h:$(GLSRC)gxpcolor.h
$(DEVSRC)gdevbmp.h:$(GLSRC)gdevdevn.h
+$(DEVSRC)gdevbmp.h:$(GLSRC)gsequivc.h
$(DEVSRC)gdevbmp.h:$(GLSRC)gxblend.h
+$(DEVSRC)gdevbmp.h:$(GLSRC)gxclipsr.h
+$(DEVSRC)gdevbmp.h:$(GLSRC)gxcomp.h
+$(DEVSRC)gdevbmp.h:$(GLSRC)gxdcolor.h
$(DEVSRC)gdevbmp.h:$(GLSRC)gxmatrix.h
+$(DEVSRC)gdevbmp.h:$(GLSRC)gxbitfmt.h
$(DEVSRC)gdevbmp.h:$(GLSRC)gxdevbuf.h
$(DEVSRC)gdevbmp.h:$(GLSRC)gxband.h
-$(DEVSRC)gdevbmp.h:$(GLSRC)gxbitfmt.h
-$(DEVSRC)gdevbmp.h:$(GLSRC)gsequivc.h
-$(DEVSRC)gdevbmp.h:$(GLSRC)gxclipsr.h
$(DEVSRC)gdevbmp.h:$(GLSRC)gscolor2.h
+$(DEVSRC)gdevbmp.h:$(GLSRC)gscindex.h
$(DEVSRC)gdevbmp.h:$(GLSRC)gxdevice.h
-$(DEVSRC)gdevbmp.h:$(GLSRC)gxcpath.h
$(DEVSRC)gdevbmp.h:$(GLSRC)gsht.h
+$(DEVSRC)gdevbmp.h:$(GLSRC)gxcpath.h
$(DEVSRC)gdevbmp.h:$(GLSRC)gxdevmem.h
+$(DEVSRC)gdevbmp.h:$(GLSRC)gxdevcli.h
$(DEVSRC)gdevbmp.h:$(GLSRC)gxpcache.h
-$(DEVSRC)gdevbmp.h:$(GLSRC)gscindex.h
$(DEVSRC)gdevbmp.h:$(GLSRC)gsptype1.h
-$(DEVSRC)gdevbmp.h:$(GLSRC)gxdevcli.h
$(DEVSRC)gdevbmp.h:$(GLSRC)gxtext.h
-$(DEVSRC)gdevbmp.h:$(GLSRC)gspcolor.h
+$(DEVSRC)gdevbmp.h:$(GLSRC)gscie.h
$(DEVSRC)gdevbmp.h:$(GLSRC)gstext.h
-$(DEVSRC)gdevbmp.h:$(GLSRC)gxdcolor.h
+$(DEVSRC)gdevbmp.h:$(GLSRC)gsnamecl.h
$(DEVSRC)gdevbmp.h:$(GLSRC)gstparam.h
-$(DEVSRC)gdevbmp.h:$(GLSRC)gscie.h
$(DEVSRC)gdevbmp.h:$(GLSRC)gxstate.h
-$(DEVSRC)gdevbmp.h:$(GLSRC)gxcmap.h
-$(DEVSRC)gdevbmp.h:$(GLSRC)gsmalloc.h
+$(DEVSRC)gdevbmp.h:$(GLSRC)gspcolor.h
+$(DEVSRC)gdevbmp.h:$(GLSRC)gxfcache.h
+$(DEVSRC)gdevbmp.h:$(GLSRC)gxcspace.h
$(DEVSRC)gdevbmp.h:$(GLSRC)gsropt.h
$(DEVSRC)gdevbmp.h:$(GLSRC)gsfunc.h
-$(DEVSRC)gdevbmp.h:$(GLSRC)gxctable.h
-$(DEVSRC)gdevbmp.h:$(GLSRC)gsnamecl.h
+$(DEVSRC)gdevbmp.h:$(GLSRC)gsmalloc.h
$(DEVSRC)gdevbmp.h:$(GLSRC)gxrplane.h
-$(DEVSRC)gdevbmp.h:$(GLSRC)gxcspace.h
-$(DEVSRC)gdevbmp.h:$(GLSRC)gxiclass.h
-$(DEVSRC)gdevbmp.h:$(GLSRC)gxclio.h
-$(DEVSRC)gdevbmp.h:$(GLSRC)gxfcache.h
+$(DEVSRC)gdevbmp.h:$(GLSRC)gxctable.h
+$(DEVSRC)gdevbmp.h:$(GLSRC)gsuid.h
+$(DEVSRC)gdevbmp.h:$(GLSRC)gxcmap.h
+$(DEVSRC)gdevbmp.h:$(GLSRC)gsimage.h
+$(DEVSRC)gdevbmp.h:$(GLSRC)gsdcolor.h
+$(DEVSRC)gdevbmp.h:$(GLSRC)gxdda.h
+$(DEVSRC)gdevbmp.h:$(GLSRC)gxcvalue.h
$(DEVSRC)gdevbmp.h:$(GLSRC)gsfont.h
$(DEVSRC)gdevbmp.h:$(GLSRC)gxfmap.h
-$(DEVSRC)gdevbmp.h:$(GLSRC)gxcvalue.h
-$(DEVSRC)gdevbmp.h:$(GLSRC)gxpath.h
-$(DEVSRC)gdevbmp.h:$(GLSRC)gspenum.h
-$(DEVSRC)gdevbmp.h:$(GLSRC)gxtmap.h
-$(DEVSRC)gdevbmp.h:$(GLSRC)gsimage.h
+$(DEVSRC)gdevbmp.h:$(GLSRC)gxiclass.h
+$(DEVSRC)gdevbmp.h:$(GLSRC)gxftype.h
$(DEVSRC)gdevbmp.h:$(GLSRC)gxfrac.h
-$(DEVSRC)gdevbmp.h:$(GLSRC)gxdda.h
-$(DEVSRC)gdevbmp.h:$(GLSRC)gslparam.h
-$(DEVSRC)gdevbmp.h:$(GLSRC)gxbcache.h
-$(DEVSRC)gdevbmp.h:$(GLSRC)gsdcolor.h
-$(DEVSRC)gdevbmp.h:$(GLSRC)gsrect.h
$(DEVSRC)gdevbmp.h:$(GLSRC)gscms.h
-$(DEVSRC)gdevbmp.h:$(GLSRC)gxftype.h
-$(DEVSRC)gdevbmp.h:$(GLSRC)gsdevice.h
$(DEVSRC)gdevbmp.h:$(GLSRC)gscspace.h
-$(DEVSRC)gdevbmp.h:$(GLSRC)gsuid.h
+$(DEVSRC)gdevbmp.h:$(GLSRC)gxpath.h
+$(DEVSRC)gdevbmp.h:$(GLSRC)gxbcache.h
+$(DEVSRC)gdevbmp.h:$(GLSRC)gsdevice.h
$(DEVSRC)gdevbmp.h:$(GLSRC)gxarith.h
-$(DEVSRC)gdevbmp.h:$(GLSRC)gsdsrc.h
$(DEVSRC)gdevbmp.h:$(GLSRC)gxstdio.h
+$(DEVSRC)gdevbmp.h:$(GLSRC)gspenum.h
+$(DEVSRC)gdevbmp.h:$(GLSRC)gxhttile.h
+$(DEVSRC)gdevbmp.h:$(GLSRC)gsrect.h
+$(DEVSRC)gdevbmp.h:$(GLSRC)gslparam.h
$(DEVSRC)gdevbmp.h:$(GLSRC)gsxfont.h
-$(DEVSRC)gdevbmp.h:$(GLSRC)gxfixed.h
-$(DEVSRC)gdevbmp.h:$(GLSRC)gsrefct.h
-$(DEVSRC)gdevbmp.h:$(GLSRC)gscpm.h
+$(DEVSRC)gdevbmp.h:$(GLSRC)gxclio.h
$(DEVSRC)gdevbmp.h:$(GLSRC)gsiparam.h
-$(DEVSRC)gdevbmp.h:$(GLSRC)gxhttile.h
+$(DEVSRC)gdevbmp.h:$(GLSRC)gsdsrc.h
$(DEVSRC)gdevbmp.h:$(GLSRC)gsio.h
-$(DEVSRC)gdevbmp.h:$(GLSRC)gp.h
-$(DEVSRC)gdevbmp.h:$(GLSRC)memento.h
-$(DEVSRC)gdevbmp.h:$(GLSRC)gsparam.h
-$(DEVSRC)gdevbmp.h:$(GLSRC)gsmatrix.h
$(DEVSRC)gdevbmp.h:$(GLSRC)gxbitmap.h
-$(DEVSRC)gdevbmp.h:$(GLSRC)srdline.h
+$(DEVSRC)gdevbmp.h:$(GLSRC)gsmatrix.h
+$(DEVSRC)gdevbmp.h:$(GLSRC)gscpm.h
+$(DEVSRC)gdevbmp.h:$(GLSRC)gxfixed.h
+$(DEVSRC)gdevbmp.h:$(GLSRC)gsrefct.h
+$(DEVSRC)gdevbmp.h:$(GLSRC)gsparam.h
+$(DEVSRC)gdevbmp.h:$(GLSRC)gp.h
+$(DEVSRC)gdevbmp.h:$(GLSRC)gsccolor.h
$(DEVSRC)gdevbmp.h:$(GLSRC)gsstruct.h
$(DEVSRC)gdevbmp.h:$(GLSRC)gxsync.h
+$(DEVSRC)gdevbmp.h:$(GLSRC)srdline.h
+$(DEVSRC)gdevbmp.h:$(GLSRC)scommon.h
+$(DEVSRC)gdevbmp.h:$(GLSRC)memento.h
$(DEVSRC)gdevbmp.h:$(GLSRC)vmsmath.h
$(DEVSRC)gdevbmp.h:$(GLSRC)gscsel.h
-$(DEVSRC)gdevbmp.h:$(GLSRC)scommon.h
$(DEVSRC)gdevbmp.h:$(GLSRC)gsbitmap.h
$(DEVSRC)gdevbmp.h:$(GLSRC)gsfname.h
-$(DEVSRC)gdevbmp.h:$(GLSRC)gsccolor.h
$(DEVSRC)gdevbmp.h:$(GLSRC)gsstype.h
+$(DEVSRC)gdevbmp.h:$(GLSRC)stat_.h
+$(DEVSRC)gdevbmp.h:$(GLSRC)gxtmap.h
$(DEVSRC)gdevbmp.h:$(GLSRC)gsmemory.h
$(DEVSRC)gdevbmp.h:$(GLSRC)gpsync.h
-$(DEVSRC)gdevbmp.h:$(GLSRC)gpgetenv.h
$(DEVSRC)gdevbmp.h:$(GLSRC)memory_.h
+$(DEVSRC)gdevbmp.h:$(GLSRC)gpgetenv.h
$(DEVSRC)gdevbmp.h:$(GLSRC)gslibctx.h
$(DEVSRC)gdevbmp.h:$(GLSRC)gscdefs.h
+$(DEVSRC)gdevbmp.h:$(GLSRC)gs_dll_call.h
+$(DEVSRC)gdevbmp.h:$(GLSRC)stdio_.h
$(DEVSRC)gdevbmp.h:$(GLSRC)gscompt.h
$(DEVSRC)gdevbmp.h:$(GLSRC)gxcindex.h
-$(DEVSRC)gdevbmp.h:$(GLSRC)stdint_.h
$(DEVSRC)gdevbmp.h:$(GLSRC)gsgstate.h
+$(DEVSRC)gdevbmp.h:$(GLSRC)stdint_.h
+$(DEVSRC)gdevbmp.h:$(GLSRC)gssprintf.h
$(DEVSRC)gdevbmp.h:$(GLSRC)gsccode.h
-$(DEVSRC)gdevbmp.h:$(GLSRC)gs_dll_call.h
-$(DEVSRC)gdevbmp.h:$(GLSRC)stdio_.h
-$(DEVSRC)gdevbmp.h:$(GLSRC)gstypes.h
$(DEVSRC)gdevbmp.h:$(GLSRC)std.h
+$(DEVSRC)gdevbmp.h:$(GLSRC)gstypes.h
$(DEVSRC)gdevbmp.h:$(GLSRC)stdpre.h
$(DEVSRC)gdevbmp.h:$(GLGEN)arch.h
-$(DEVSRC)gdevbmp.h:$(GLSRC)gssprintf.h
$(DEVSRC)gdevpsd.h:$(GLSRC)gdevdevnprn.h
$(DEVSRC)gdevpsd.h:$(GLSRC)gdevprn.h
$(DEVSRC)gdevpsd.h:$(GLSRC)string_.h
@@ -4239,116 +4257,117 @@ $(DEVSRC)gdevpsd.h:$(GLSRC)gxclthrd.h
$(DEVSRC)gdevpsd.h:$(GLSRC)gxclpage.h
$(DEVSRC)gdevpsd.h:$(GLSRC)gxclist.h
$(DEVSRC)gdevpsd.h:$(GLSRC)gxgstate.h
-$(DEVSRC)gdevpsd.h:$(GLSRC)gstrans.h
$(DEVSRC)gdevpsd.h:$(GLSRC)gxline.h
+$(DEVSRC)gdevpsd.h:$(GLSRC)gstrans.h
$(DEVSRC)gdevpsd.h:$(GLSRC)gsht1.h
-$(DEVSRC)gdevpsd.h:$(GLSRC)gxcomp.h
$(DEVSRC)gdevpsd.h:$(GLSRC)math_.h
$(DEVSRC)gdevpsd.h:$(GLSRC)gdevp14.h
$(DEVSRC)gdevpsd.h:$(GLSRC)gxcolor2.h
$(DEVSRC)gdevpsd.h:$(GLSRC)gxpcolor.h
-$(DEVSRC)gdevpsd.h:$(GLSRC)gx.h
$(DEVSRC)gdevpsd.h:$(GLSRC)gdevdevn.h
+$(DEVSRC)gdevpsd.h:$(GLSRC)gsequivc.h
+$(DEVSRC)gdevpsd.h:$(GLSRC)gx.h
$(DEVSRC)gdevpsd.h:$(GLSRC)gxblend.h
+$(DEVSRC)gdevpsd.h:$(GLSRC)gxclipsr.h
+$(DEVSRC)gdevpsd.h:$(GLSRC)gxcomp.h
+$(DEVSRC)gdevpsd.h:$(GLSRC)gxdcolor.h
$(DEVSRC)gdevpsd.h:$(GLSRC)gdebug.h
$(DEVSRC)gdevpsd.h:$(GLSRC)gxmatrix.h
+$(DEVSRC)gdevpsd.h:$(GLSRC)gxbitfmt.h
$(DEVSRC)gdevpsd.h:$(GLSRC)gxdevbuf.h
$(DEVSRC)gdevpsd.h:$(GLSRC)gxband.h
-$(DEVSRC)gdevpsd.h:$(GLSRC)gxbitfmt.h
-$(DEVSRC)gdevpsd.h:$(GLSRC)gsequivc.h
-$(DEVSRC)gdevpsd.h:$(GLSRC)gxclipsr.h
$(DEVSRC)gdevpsd.h:$(GLSRC)gscolor2.h
+$(DEVSRC)gdevpsd.h:$(GLSRC)gscindex.h
$(DEVSRC)gdevpsd.h:$(GLSRC)gxdevice.h
-$(DEVSRC)gdevpsd.h:$(GLSRC)gxcpath.h
$(DEVSRC)gdevpsd.h:$(GLSRC)gsht.h
+$(DEVSRC)gdevpsd.h:$(GLSRC)gxcpath.h
$(DEVSRC)gdevpsd.h:$(GLSRC)gxdevmem.h
+$(DEVSRC)gdevpsd.h:$(GLSRC)gxdevcli.h
$(DEVSRC)gdevpsd.h:$(GLSRC)gxpcache.h
-$(DEVSRC)gdevpsd.h:$(GLSRC)gscindex.h
$(DEVSRC)gdevpsd.h:$(GLSRC)gsptype1.h
-$(DEVSRC)gdevpsd.h:$(GLSRC)gxdevcli.h
$(DEVSRC)gdevpsd.h:$(GLSRC)gxtext.h
-$(DEVSRC)gdevpsd.h:$(GLSRC)gspcolor.h
+$(DEVSRC)gdevpsd.h:$(GLSRC)gscie.h
$(DEVSRC)gdevpsd.h:$(GLSRC)gstext.h
-$(DEVSRC)gdevpsd.h:$(GLSRC)gxdcolor.h
+$(DEVSRC)gdevpsd.h:$(GLSRC)gsnamecl.h
$(DEVSRC)gdevpsd.h:$(GLSRC)gstparam.h
-$(DEVSRC)gdevpsd.h:$(GLSRC)gscie.h
$(DEVSRC)gdevpsd.h:$(GLSRC)gxstate.h
-$(DEVSRC)gdevpsd.h:$(GLSRC)gxcmap.h
-$(DEVSRC)gdevpsd.h:$(GLSRC)gsmalloc.h
+$(DEVSRC)gdevpsd.h:$(GLSRC)gspcolor.h
+$(DEVSRC)gdevpsd.h:$(GLSRC)gxfcache.h
+$(DEVSRC)gdevpsd.h:$(GLSRC)gxcspace.h
$(DEVSRC)gdevpsd.h:$(GLSRC)gsropt.h
$(DEVSRC)gdevpsd.h:$(GLSRC)gsfunc.h
-$(DEVSRC)gdevpsd.h:$(GLSRC)gxctable.h
-$(DEVSRC)gdevpsd.h:$(GLSRC)gsnamecl.h
+$(DEVSRC)gdevpsd.h:$(GLSRC)gsmalloc.h
$(DEVSRC)gdevpsd.h:$(GLSRC)gxrplane.h
-$(DEVSRC)gdevpsd.h:$(GLSRC)gxcspace.h
-$(DEVSRC)gdevpsd.h:$(GLSRC)gxiclass.h
-$(DEVSRC)gdevpsd.h:$(GLSRC)gxclio.h
-$(DEVSRC)gdevpsd.h:$(GLSRC)gxfcache.h
+$(DEVSRC)gdevpsd.h:$(GLSRC)gxctable.h
+$(DEVSRC)gdevpsd.h:$(GLSRC)gsuid.h
+$(DEVSRC)gdevpsd.h:$(GLSRC)gxcmap.h
+$(DEVSRC)gdevpsd.h:$(GLSRC)gsimage.h
+$(DEVSRC)gdevpsd.h:$(GLSRC)gsdcolor.h
+$(DEVSRC)gdevpsd.h:$(GLSRC)gxdda.h
+$(DEVSRC)gdevpsd.h:$(GLSRC)gxcvalue.h
$(DEVSRC)gdevpsd.h:$(GLSRC)gsfont.h
$(DEVSRC)gdevpsd.h:$(GLSRC)gxfmap.h
-$(DEVSRC)gdevpsd.h:$(GLSRC)gxcvalue.h
-$(DEVSRC)gdevpsd.h:$(GLSRC)gxpath.h
-$(DEVSRC)gdevpsd.h:$(GLSRC)gspenum.h
-$(DEVSRC)gdevpsd.h:$(GLSRC)gxtmap.h
-$(DEVSRC)gdevpsd.h:$(GLSRC)gsimage.h
+$(DEVSRC)gdevpsd.h:$(GLSRC)gxiclass.h
+$(DEVSRC)gdevpsd.h:$(GLSRC)gxftype.h
$(DEVSRC)gdevpsd.h:$(GLSRC)gxfrac.h
-$(DEVSRC)gdevpsd.h:$(GLSRC)gxdda.h
-$(DEVSRC)gdevpsd.h:$(GLSRC)gslparam.h
-$(DEVSRC)gdevpsd.h:$(GLSRC)gxbcache.h
-$(DEVSRC)gdevpsd.h:$(GLSRC)gsdcolor.h
-$(DEVSRC)gdevpsd.h:$(GLSRC)gsrect.h
$(DEVSRC)gdevpsd.h:$(GLSRC)gscms.h
-$(DEVSRC)gdevpsd.h:$(GLSRC)gxftype.h
-$(DEVSRC)gdevpsd.h:$(GLSRC)gsdevice.h
$(DEVSRC)gdevpsd.h:$(GLSRC)gscspace.h
-$(DEVSRC)gdevpsd.h:$(GLSRC)gsuid.h
+$(DEVSRC)gdevpsd.h:$(GLSRC)gxpath.h
+$(DEVSRC)gdevpsd.h:$(GLSRC)gxbcache.h
+$(DEVSRC)gdevpsd.h:$(GLSRC)gsdevice.h
$(DEVSRC)gdevpsd.h:$(GLSRC)gxarith.h
-$(DEVSRC)gdevpsd.h:$(GLSRC)gsdsrc.h
$(DEVSRC)gdevpsd.h:$(GLSRC)gxstdio.h
+$(DEVSRC)gdevpsd.h:$(GLSRC)gspenum.h
+$(DEVSRC)gdevpsd.h:$(GLSRC)gxhttile.h
+$(DEVSRC)gdevpsd.h:$(GLSRC)gsrect.h
+$(DEVSRC)gdevpsd.h:$(GLSRC)gslparam.h
$(DEVSRC)gdevpsd.h:$(GLSRC)gsxfont.h
-$(DEVSRC)gdevpsd.h:$(GLSRC)gxfixed.h
-$(DEVSRC)gdevpsd.h:$(GLSRC)gsrefct.h
-$(DEVSRC)gdevpsd.h:$(GLSRC)gscpm.h
+$(DEVSRC)gdevpsd.h:$(GLSRC)gxclio.h
$(DEVSRC)gdevpsd.h:$(GLSRC)gsiparam.h
-$(DEVSRC)gdevpsd.h:$(GLSRC)gxhttile.h
+$(DEVSRC)gdevpsd.h:$(GLSRC)gsdsrc.h
$(DEVSRC)gdevpsd.h:$(GLSRC)gsio.h
-$(DEVSRC)gdevpsd.h:$(GLSRC)gp.h
-$(DEVSRC)gdevpsd.h:$(GLSRC)memento.h
-$(DEVSRC)gdevpsd.h:$(GLSRC)gsparam.h
-$(DEVSRC)gdevpsd.h:$(GLSRC)gsmatrix.h
$(DEVSRC)gdevpsd.h:$(GLSRC)gxbitmap.h
+$(DEVSRC)gdevpsd.h:$(GLSRC)gsmatrix.h
+$(DEVSRC)gdevpsd.h:$(GLSRC)gscpm.h
+$(DEVSRC)gdevpsd.h:$(GLSRC)gxfixed.h
+$(DEVSRC)gdevpsd.h:$(GLSRC)gsrefct.h
+$(DEVSRC)gdevpsd.h:$(GLSRC)gsparam.h
+$(DEVSRC)gdevpsd.h:$(GLSRC)gp.h
+$(DEVSRC)gdevpsd.h:$(GLSRC)gsccolor.h
+$(DEVSRC)gdevpsd.h:$(GLSRC)gsstruct.h
+$(DEVSRC)gdevpsd.h:$(GLSRC)gxsync.h
$(DEVSRC)gdevpsd.h:$(GLSRC)gsutil.h
$(DEVSRC)gdevpsd.h:$(GLSRC)gsstrl.h
$(DEVSRC)gdevpsd.h:$(GLSRC)gdbflags.h
$(DEVSRC)gdevpsd.h:$(GLSRC)srdline.h
-$(DEVSRC)gdevpsd.h:$(GLSRC)gsstruct.h
$(DEVSRC)gdevpsd.h:$(GLSRC)gserrors.h
-$(DEVSRC)gdevpsd.h:$(GLSRC)gxsync.h
+$(DEVSRC)gdevpsd.h:$(GLSRC)scommon.h
+$(DEVSRC)gdevpsd.h:$(GLSRC)memento.h
$(DEVSRC)gdevpsd.h:$(GLSRC)vmsmath.h
$(DEVSRC)gdevpsd.h:$(GLSRC)gscsel.h
-$(DEVSRC)gdevpsd.h:$(GLSRC)scommon.h
$(DEVSRC)gdevpsd.h:$(GLSRC)gsbitmap.h
$(DEVSRC)gdevpsd.h:$(GLSRC)gsfname.h
-$(DEVSRC)gdevpsd.h:$(GLSRC)gsccolor.h
$(DEVSRC)gdevpsd.h:$(GLSRC)gsstype.h
+$(DEVSRC)gdevpsd.h:$(GLSRC)stat_.h
+$(DEVSRC)gdevpsd.h:$(GLSRC)gxtmap.h
$(DEVSRC)gdevpsd.h:$(GLSRC)gsmemory.h
$(DEVSRC)gdevpsd.h:$(GLSRC)gpsync.h
-$(DEVSRC)gdevpsd.h:$(GLSRC)gpgetenv.h
$(DEVSRC)gdevpsd.h:$(GLSRC)memory_.h
+$(DEVSRC)gdevpsd.h:$(GLSRC)gpgetenv.h
$(DEVSRC)gdevpsd.h:$(GLSRC)gslibctx.h
$(DEVSRC)gdevpsd.h:$(GLSRC)gscdefs.h
+$(DEVSRC)gdevpsd.h:$(GLSRC)gs_dll_call.h
+$(DEVSRC)gdevpsd.h:$(GLSRC)stdio_.h
$(DEVSRC)gdevpsd.h:$(GLSRC)gscompt.h
$(DEVSRC)gdevpsd.h:$(GLSRC)gxcindex.h
-$(DEVSRC)gdevpsd.h:$(GLSRC)stdint_.h
$(DEVSRC)gdevpsd.h:$(GLSRC)gsgstate.h
+$(DEVSRC)gdevpsd.h:$(GLSRC)stdint_.h
+$(DEVSRC)gdevpsd.h:$(GLSRC)gssprintf.h
$(DEVSRC)gdevpsd.h:$(GLSRC)gsccode.h
-$(DEVSRC)gdevpsd.h:$(GLSRC)gs_dll_call.h
-$(DEVSRC)gdevpsd.h:$(GLSRC)stdio_.h
-$(DEVSRC)gdevpsd.h:$(GLSRC)gstypes.h
$(DEVSRC)gdevpsd.h:$(GLSRC)std.h
+$(DEVSRC)gdevpsd.h:$(GLSRC)gstypes.h
$(DEVSRC)gdevpsd.h:$(GLSRC)stdpre.h
$(DEVSRC)gdevpsd.h:$(GLGEN)arch.h
-$(DEVSRC)gdevpsd.h:$(GLSRC)gssprintf.h
$(DEVSRC)minftrsz.h:$(GLSRC)std.h
$(DEVSRC)minftrsz.h:$(GLSRC)stdpre.h
$(DEVSRC)minftrsz.h:$(GLGEN)arch.h
@@ -4359,237 +4378,239 @@ $(DEVSRC)gdevfax.h:$(GLSRC)gxclthrd.h
$(DEVSRC)gdevfax.h:$(GLSRC)gxclpage.h
$(DEVSRC)gdevfax.h:$(GLSRC)gxclist.h
$(DEVSRC)gdevfax.h:$(GLSRC)gxgstate.h
-$(DEVSRC)gdevfax.h:$(GLSRC)gstrans.h
$(DEVSRC)gdevfax.h:$(GLSRC)gxline.h
+$(DEVSRC)gdevfax.h:$(GLSRC)gstrans.h
$(DEVSRC)gdevfax.h:$(GLSRC)gsht1.h
-$(DEVSRC)gdevfax.h:$(GLSRC)gxcomp.h
$(DEVSRC)gdevfax.h:$(GLSRC)math_.h
$(DEVSRC)gdevfax.h:$(GLSRC)scfx.h
$(DEVSRC)gdevfax.h:$(GLSRC)gdevp14.h
$(DEVSRC)gdevfax.h:$(GLSRC)gxcolor2.h
$(DEVSRC)gdevfax.h:$(GLSRC)gxpcolor.h
-$(DEVSRC)gdevfax.h:$(GLSRC)gx.h
$(DEVSRC)gdevfax.h:$(GLSRC)gdevdevn.h
+$(DEVSRC)gdevfax.h:$(GLSRC)gsequivc.h
+$(DEVSRC)gdevfax.h:$(GLSRC)gx.h
$(DEVSRC)gdevfax.h:$(GLSRC)gxblend.h
+$(DEVSRC)gdevfax.h:$(GLSRC)gxclipsr.h
+$(DEVSRC)gdevfax.h:$(GLSRC)gxcomp.h
+$(DEVSRC)gdevfax.h:$(GLSRC)gxdcolor.h
$(DEVSRC)gdevfax.h:$(GLSRC)gdebug.h
$(DEVSRC)gdevfax.h:$(GLSRC)gxmatrix.h
+$(DEVSRC)gdevfax.h:$(GLSRC)gxbitfmt.h
$(DEVSRC)gdevfax.h:$(GLSRC)gxdevbuf.h
$(DEVSRC)gdevfax.h:$(GLSRC)gxband.h
-$(DEVSRC)gdevfax.h:$(GLSRC)gxbitfmt.h
-$(DEVSRC)gdevfax.h:$(GLSRC)gsequivc.h
-$(DEVSRC)gdevfax.h:$(GLSRC)gxclipsr.h
$(DEVSRC)gdevfax.h:$(GLSRC)shc.h
$(DEVSRC)gdevfax.h:$(GLSRC)gscolor2.h
+$(DEVSRC)gdevfax.h:$(GLSRC)gscindex.h
$(DEVSRC)gdevfax.h:$(GLSRC)gxdevice.h
-$(DEVSRC)gdevfax.h:$(GLSRC)gxcpath.h
$(DEVSRC)gdevfax.h:$(GLSRC)gsht.h
+$(DEVSRC)gdevfax.h:$(GLSRC)gxcpath.h
$(DEVSRC)gdevfax.h:$(GLSRC)gxdevmem.h
+$(DEVSRC)gdevfax.h:$(GLSRC)gxdevcli.h
$(DEVSRC)gdevfax.h:$(GLSRC)gxpcache.h
-$(DEVSRC)gdevfax.h:$(GLSRC)gscindex.h
$(DEVSRC)gdevfax.h:$(GLSRC)gsptype1.h
-$(DEVSRC)gdevfax.h:$(GLSRC)gxdevcli.h
$(DEVSRC)gdevfax.h:$(GLSRC)gxtext.h
-$(DEVSRC)gdevfax.h:$(GLSRC)gspcolor.h
+$(DEVSRC)gdevfax.h:$(GLSRC)gscie.h
$(DEVSRC)gdevfax.h:$(GLSRC)gstext.h
-$(DEVSRC)gdevfax.h:$(GLSRC)gxdcolor.h
+$(DEVSRC)gdevfax.h:$(GLSRC)gsnamecl.h
$(DEVSRC)gdevfax.h:$(GLSRC)gstparam.h
-$(DEVSRC)gdevfax.h:$(GLSRC)gscie.h
$(DEVSRC)gdevfax.h:$(GLSRC)gxstate.h
-$(DEVSRC)gdevfax.h:$(GLSRC)gxcmap.h
-$(DEVSRC)gdevfax.h:$(GLSRC)gsmalloc.h
+$(DEVSRC)gdevfax.h:$(GLSRC)gspcolor.h
+$(DEVSRC)gdevfax.h:$(GLSRC)gxfcache.h
+$(DEVSRC)gdevfax.h:$(GLSRC)gxcspace.h
$(DEVSRC)gdevfax.h:$(GLSRC)gsropt.h
$(DEVSRC)gdevfax.h:$(GLSRC)gsfunc.h
-$(DEVSRC)gdevfax.h:$(GLSRC)gxctable.h
-$(DEVSRC)gdevfax.h:$(GLSRC)gsnamecl.h
+$(DEVSRC)gdevfax.h:$(GLSRC)gsmalloc.h
$(DEVSRC)gdevfax.h:$(GLSRC)gxrplane.h
-$(DEVSRC)gdevfax.h:$(GLSRC)gxcspace.h
-$(DEVSRC)gdevfax.h:$(GLSRC)gxiclass.h
-$(DEVSRC)gdevfax.h:$(GLSRC)gxclio.h
-$(DEVSRC)gdevfax.h:$(GLSRC)gxfcache.h
+$(DEVSRC)gdevfax.h:$(GLSRC)gxctable.h
+$(DEVSRC)gdevfax.h:$(GLSRC)gsuid.h
+$(DEVSRC)gdevfax.h:$(GLSRC)gxcmap.h
+$(DEVSRC)gdevfax.h:$(GLSRC)gsimage.h
+$(DEVSRC)gdevfax.h:$(GLSRC)gsdcolor.h
+$(DEVSRC)gdevfax.h:$(GLSRC)gxdda.h
+$(DEVSRC)gdevfax.h:$(GLSRC)gxcvalue.h
$(DEVSRC)gdevfax.h:$(GLSRC)gsfont.h
$(DEVSRC)gdevfax.h:$(GLSRC)gxfmap.h
-$(DEVSRC)gdevfax.h:$(GLSRC)gxcvalue.h
-$(DEVSRC)gdevfax.h:$(GLSRC)gxpath.h
-$(DEVSRC)gdevfax.h:$(GLSRC)gspenum.h
-$(DEVSRC)gdevfax.h:$(GLSRC)gxtmap.h
-$(DEVSRC)gdevfax.h:$(GLSRC)gsimage.h
+$(DEVSRC)gdevfax.h:$(GLSRC)gxiclass.h
+$(DEVSRC)gdevfax.h:$(GLSRC)gxftype.h
$(DEVSRC)gdevfax.h:$(GLSRC)gxfrac.h
-$(DEVSRC)gdevfax.h:$(GLSRC)gxdda.h
-$(DEVSRC)gdevfax.h:$(GLSRC)gslparam.h
-$(DEVSRC)gdevfax.h:$(GLSRC)gxbcache.h
-$(DEVSRC)gdevfax.h:$(GLSRC)gsdcolor.h
-$(DEVSRC)gdevfax.h:$(GLSRC)gsrect.h
$(DEVSRC)gdevfax.h:$(GLSRC)gscms.h
-$(DEVSRC)gdevfax.h:$(GLSRC)gxftype.h
-$(DEVSRC)gdevfax.h:$(GLSRC)gsdevice.h
$(DEVSRC)gdevfax.h:$(GLSRC)gscspace.h
-$(DEVSRC)gdevfax.h:$(GLSRC)gsuid.h
+$(DEVSRC)gdevfax.h:$(GLSRC)gxpath.h
+$(DEVSRC)gdevfax.h:$(GLSRC)gxbcache.h
+$(DEVSRC)gdevfax.h:$(GLSRC)gsdevice.h
$(DEVSRC)gdevfax.h:$(GLSRC)gxarith.h
-$(DEVSRC)gdevfax.h:$(GLSRC)gsdsrc.h
$(DEVSRC)gdevfax.h:$(GLSRC)gxstdio.h
+$(DEVSRC)gdevfax.h:$(GLSRC)gspenum.h
+$(DEVSRC)gdevfax.h:$(GLSRC)gxhttile.h
+$(DEVSRC)gdevfax.h:$(GLSRC)gsrect.h
+$(DEVSRC)gdevfax.h:$(GLSRC)gslparam.h
$(DEVSRC)gdevfax.h:$(GLSRC)gsxfont.h
-$(DEVSRC)gdevfax.h:$(GLSRC)gxfixed.h
-$(DEVSRC)gdevfax.h:$(GLSRC)gsrefct.h
-$(DEVSRC)gdevfax.h:$(GLSRC)gscpm.h
+$(DEVSRC)gdevfax.h:$(GLSRC)gxclio.h
$(DEVSRC)gdevfax.h:$(GLSRC)gsiparam.h
-$(DEVSRC)gdevfax.h:$(GLSRC)gxhttile.h
+$(DEVSRC)gdevfax.h:$(GLSRC)gsdsrc.h
$(DEVSRC)gdevfax.h:$(GLSRC)gsio.h
-$(DEVSRC)gdevfax.h:$(GLSRC)gp.h
-$(DEVSRC)gdevfax.h:$(GLSRC)memento.h
-$(DEVSRC)gdevfax.h:$(GLSRC)gsparam.h
-$(DEVSRC)gdevfax.h:$(GLSRC)gsmatrix.h
$(DEVSRC)gdevfax.h:$(GLSRC)gxbitmap.h
+$(DEVSRC)gdevfax.h:$(GLSRC)gsmatrix.h
+$(DEVSRC)gdevfax.h:$(GLSRC)gscpm.h
+$(DEVSRC)gdevfax.h:$(GLSRC)gxfixed.h
+$(DEVSRC)gdevfax.h:$(GLSRC)gsrefct.h
+$(DEVSRC)gdevfax.h:$(GLSRC)gsparam.h
+$(DEVSRC)gdevfax.h:$(GLSRC)gp.h
+$(DEVSRC)gdevfax.h:$(GLSRC)gsccolor.h
+$(DEVSRC)gdevfax.h:$(GLSRC)gsstruct.h
+$(DEVSRC)gdevfax.h:$(GLSRC)gxsync.h
$(DEVSRC)gdevfax.h:$(GLSRC)gsutil.h
$(DEVSRC)gdevfax.h:$(GLSRC)gsstrl.h
$(DEVSRC)gdevfax.h:$(GLSRC)gdbflags.h
$(DEVSRC)gdevfax.h:$(GLSRC)srdline.h
-$(DEVSRC)gdevfax.h:$(GLSRC)gsstruct.h
$(DEVSRC)gdevfax.h:$(GLSRC)gserrors.h
-$(DEVSRC)gdevfax.h:$(GLSRC)gxsync.h
+$(DEVSRC)gdevfax.h:$(GLSRC)scommon.h
+$(DEVSRC)gdevfax.h:$(GLSRC)memento.h
$(DEVSRC)gdevfax.h:$(GLSRC)vmsmath.h
$(DEVSRC)gdevfax.h:$(GLSRC)gscsel.h
-$(DEVSRC)gdevfax.h:$(GLSRC)scommon.h
$(DEVSRC)gdevfax.h:$(GLSRC)gsbitmap.h
$(DEVSRC)gdevfax.h:$(GLSRC)gsfname.h
-$(DEVSRC)gdevfax.h:$(GLSRC)gsccolor.h
$(DEVSRC)gdevfax.h:$(GLSRC)gsstype.h
+$(DEVSRC)gdevfax.h:$(GLSRC)stat_.h
+$(DEVSRC)gdevfax.h:$(GLSRC)gxtmap.h
$(DEVSRC)gdevfax.h:$(GLSRC)gsmemory.h
$(DEVSRC)gdevfax.h:$(GLSRC)gpsync.h
-$(DEVSRC)gdevfax.h:$(GLSRC)gpgetenv.h
$(DEVSRC)gdevfax.h:$(GLSRC)memory_.h
+$(DEVSRC)gdevfax.h:$(GLSRC)gpgetenv.h
$(DEVSRC)gdevfax.h:$(GLSRC)gslibctx.h
$(DEVSRC)gdevfax.h:$(GLSRC)gscdefs.h
+$(DEVSRC)gdevfax.h:$(GLSRC)gs_dll_call.h
+$(DEVSRC)gdevfax.h:$(GLSRC)stdio_.h
$(DEVSRC)gdevfax.h:$(GLSRC)gscompt.h
$(DEVSRC)gdevfax.h:$(GLSRC)gsbittab.h
$(DEVSRC)gdevfax.h:$(GLSRC)gxcindex.h
-$(DEVSRC)gdevfax.h:$(GLSRC)stdint_.h
$(DEVSRC)gdevfax.h:$(GLSRC)gsgstate.h
+$(DEVSRC)gdevfax.h:$(GLSRC)stdint_.h
+$(DEVSRC)gdevfax.h:$(GLSRC)gssprintf.h
$(DEVSRC)gdevfax.h:$(GLSRC)gsccode.h
-$(DEVSRC)gdevfax.h:$(GLSRC)gs_dll_call.h
-$(DEVSRC)gdevfax.h:$(GLSRC)stdio_.h
-$(DEVSRC)gdevfax.h:$(GLSRC)gstypes.h
$(DEVSRC)gdevfax.h:$(GLSRC)std.h
+$(DEVSRC)gdevfax.h:$(GLSRC)gstypes.h
$(DEVSRC)gdevfax.h:$(GLSRC)stdpre.h
$(DEVSRC)gdevfax.h:$(GLGEN)arch.h
-$(DEVSRC)gdevfax.h:$(GLSRC)gssprintf.h
-$(DEVSRC)gdevtifs.h:$(GLSRC)gxdownscale.h
$(DEVSRC)gdevtifs.h:$(GLSRC)gdevprn.h
+$(DEVSRC)gdevtifs.h:$(GLSRC)gxdownscale.h
$(DEVSRC)gdevtifs.h:$(GLSRC)string_.h
$(DEVSRC)gdevtifs.h:$(GLSRC)gsstrtok.h
$(DEVSRC)gdevtifs.h:$(GLSRC)gxclthrd.h
$(DEVSRC)gdevtifs.h:$(GLSRC)gxclpage.h
$(DEVSRC)gdevtifs.h:$(GLSRC)gxclist.h
$(DEVSRC)gdevtifs.h:$(GLSRC)gxgstate.h
-$(DEVSRC)gdevtifs.h:$(GLSRC)gstrans.h
$(DEVSRC)gdevtifs.h:$(GLSRC)gxline.h
-$(DEVSRC)gdevtifs.h:$(GLSRC)gsht1.h
+$(DEVSRC)gdevtifs.h:$(GLSRC)gstrans.h
$(DEVSRC)gdevtifs.h:$(GLSRC)gxgetbit.h
-$(DEVSRC)gdevtifs.h:$(GLSRC)gxcomp.h
+$(DEVSRC)gdevtifs.h:$(GLSRC)gsht1.h
$(DEVSRC)gdevtifs.h:$(GLSRC)math_.h
$(DEVSRC)gdevtifs.h:$(GLSRC)gdevp14.h
$(DEVSRC)gdevtifs.h:$(GLSRC)gxcolor2.h
$(DEVSRC)gdevtifs.h:$(GLSRC)gxpcolor.h
-$(DEVSRC)gdevtifs.h:$(GLSRC)gx.h
$(DEVSRC)gdevtifs.h:$(GLSRC)gdevdevn.h
+$(DEVSRC)gdevtifs.h:$(GLSRC)gsequivc.h
+$(DEVSRC)gdevtifs.h:$(GLSRC)gx.h
$(DEVSRC)gdevtifs.h:$(GLSRC)gxblend.h
+$(DEVSRC)gdevtifs.h:$(GLSRC)gxclipsr.h
+$(DEVSRC)gdevtifs.h:$(GLSRC)gxcomp.h
+$(DEVSRC)gdevtifs.h:$(GLSRC)gxdcolor.h
$(DEVSRC)gdevtifs.h:$(GLSRC)gdebug.h
$(DEVSRC)gdevtifs.h:$(GLSRC)gxmatrix.h
+$(DEVSRC)gdevtifs.h:$(GLSRC)gxbitfmt.h
$(DEVSRC)gdevtifs.h:$(GLSRC)gxdevbuf.h
$(DEVSRC)gdevtifs.h:$(GLSRC)gxband.h
-$(DEVSRC)gdevtifs.h:$(GLSRC)gxbitfmt.h
-$(DEVSRC)gdevtifs.h:$(GLSRC)gsequivc.h
-$(DEVSRC)gdevtifs.h:$(GLSRC)gxclipsr.h
$(DEVSRC)gdevtifs.h:$(GLSRC)gscolor2.h
+$(DEVSRC)gdevtifs.h:$(GLSRC)gscindex.h
$(DEVSRC)gdevtifs.h:$(GLSRC)gxdevice.h
-$(DEVSRC)gdevtifs.h:$(GLSRC)gxcpath.h
$(DEVSRC)gdevtifs.h:$(GLSRC)gsht.h
+$(DEVSRC)gdevtifs.h:$(GLSRC)gxcpath.h
$(DEVSRC)gdevtifs.h:$(GLSRC)gxdevmem.h
+$(DEVSRC)gdevtifs.h:$(GLSRC)gxdevcli.h
$(DEVSRC)gdevtifs.h:$(GLSRC)gxpcache.h
-$(DEVSRC)gdevtifs.h:$(GLSRC)gscindex.h
$(DEVSRC)gdevtifs.h:$(GLSRC)gsptype1.h
-$(DEVSRC)gdevtifs.h:$(GLSRC)gxdevcli.h
$(DEVSRC)gdevtifs.h:$(GLSRC)gxtext.h
-$(DEVSRC)gdevtifs.h:$(GLSRC)gspcolor.h
+$(DEVSRC)gdevtifs.h:$(GLSRC)gscie.h
$(DEVSRC)gdevtifs.h:$(GLSRC)gstext.h
-$(DEVSRC)gdevtifs.h:$(GLSRC)gxdcolor.h
+$(DEVSRC)gdevtifs.h:$(GLSRC)gsnamecl.h
$(DEVSRC)gdevtifs.h:$(GLSRC)gstparam.h
-$(DEVSRC)gdevtifs.h:$(GLSRC)gscie.h
$(DEVSRC)gdevtifs.h:$(GLSRC)gxstate.h
-$(DEVSRC)gdevtifs.h:$(GLSRC)gxcmap.h
-$(DEVSRC)gdevtifs.h:$(GLSRC)gsmalloc.h
+$(DEVSRC)gdevtifs.h:$(GLSRC)gspcolor.h
+$(DEVSRC)gdevtifs.h:$(GLSRC)gxfcache.h
+$(DEVSRC)gdevtifs.h:$(GLSRC)gxcspace.h
$(DEVSRC)gdevtifs.h:$(GLSRC)gsropt.h
$(DEVSRC)gdevtifs.h:$(GLSRC)gsfunc.h
-$(DEVSRC)gdevtifs.h:$(GLSRC)gxctable.h
-$(DEVSRC)gdevtifs.h:$(GLSRC)gsnamecl.h
+$(DEVSRC)gdevtifs.h:$(GLSRC)gsmalloc.h
$(DEVSRC)gdevtifs.h:$(GLSRC)gxrplane.h
-$(DEVSRC)gdevtifs.h:$(GLSRC)gxcspace.h
-$(DEVSRC)gdevtifs.h:$(GLSRC)gxiclass.h
-$(DEVSRC)gdevtifs.h:$(GLSRC)gxclio.h
-$(DEVSRC)gdevtifs.h:$(GLSRC)gxfcache.h
+$(DEVSRC)gdevtifs.h:$(GLSRC)gxctable.h
+$(DEVSRC)gdevtifs.h:$(GLSRC)gsuid.h
+$(DEVSRC)gdevtifs.h:$(GLSRC)gxcmap.h
+$(DEVSRC)gdevtifs.h:$(GLSRC)gsimage.h
+$(DEVSRC)gdevtifs.h:$(GLSRC)gsdcolor.h
+$(DEVSRC)gdevtifs.h:$(GLSRC)gxdda.h
+$(DEVSRC)gdevtifs.h:$(GLSRC)gxcvalue.h
$(DEVSRC)gdevtifs.h:$(GLSRC)gsfont.h
$(DEVSRC)gdevtifs.h:$(GLSRC)gxfmap.h
-$(DEVSRC)gdevtifs.h:$(GLSRC)gxcvalue.h
-$(DEVSRC)gdevtifs.h:$(GLSRC)gxpath.h
-$(DEVSRC)gdevtifs.h:$(GLSRC)gspenum.h
-$(DEVSRC)gdevtifs.h:$(GLSRC)gxtmap.h
-$(DEVSRC)gdevtifs.h:$(GLSRC)gsimage.h
+$(DEVSRC)gdevtifs.h:$(GLSRC)gxiclass.h
+$(DEVSRC)gdevtifs.h:$(GLSRC)gxftype.h
$(DEVSRC)gdevtifs.h:$(GLSRC)gxfrac.h
-$(DEVSRC)gdevtifs.h:$(GLSRC)gxdda.h
-$(DEVSRC)gdevtifs.h:$(GLSRC)gslparam.h
-$(DEVSRC)gdevtifs.h:$(GLSRC)gxbcache.h
-$(DEVSRC)gdevtifs.h:$(GLSRC)gsdcolor.h
-$(DEVSRC)gdevtifs.h:$(GLSRC)gsrect.h
$(DEVSRC)gdevtifs.h:$(GLSRC)gscms.h
-$(DEVSRC)gdevtifs.h:$(GLSRC)gxftype.h
-$(DEVSRC)gdevtifs.h:$(GLSRC)gsdevice.h
$(DEVSRC)gdevtifs.h:$(GLSRC)gscspace.h
-$(DEVSRC)gdevtifs.h:$(GLSRC)gsuid.h
+$(DEVSRC)gdevtifs.h:$(GLSRC)gxpath.h
+$(DEVSRC)gdevtifs.h:$(GLSRC)gxbcache.h
+$(DEVSRC)gdevtifs.h:$(GLSRC)gsdevice.h
$(DEVSRC)gdevtifs.h:$(GLSRC)gxarith.h
-$(DEVSRC)gdevtifs.h:$(GLSRC)gsdsrc.h
$(DEVSRC)gdevtifs.h:$(GLSRC)gxstdio.h
+$(DEVSRC)gdevtifs.h:$(GLSRC)gspenum.h
+$(DEVSRC)gdevtifs.h:$(GLSRC)gxhttile.h
+$(DEVSRC)gdevtifs.h:$(GLSRC)gsrect.h
+$(DEVSRC)gdevtifs.h:$(GLSRC)gslparam.h
$(DEVSRC)gdevtifs.h:$(GLSRC)gsxfont.h
-$(DEVSRC)gdevtifs.h:$(GLSRC)gxfixed.h
-$(DEVSRC)gdevtifs.h:$(GLSRC)gsrefct.h
-$(DEVSRC)gdevtifs.h:$(GLSRC)gscpm.h
+$(DEVSRC)gdevtifs.h:$(GLSRC)gxclio.h
$(DEVSRC)gdevtifs.h:$(GLSRC)gsiparam.h
-$(DEVSRC)gdevtifs.h:$(GLSRC)gxhttile.h
+$(DEVSRC)gdevtifs.h:$(GLSRC)gsdsrc.h
$(DEVSRC)gdevtifs.h:$(GLSRC)gsio.h
-$(DEVSRC)gdevtifs.h:$(GLSRC)gp.h
-$(DEVSRC)gdevtifs.h:$(GLSRC)memento.h
-$(DEVSRC)gdevtifs.h:$(GLSRC)gsparam.h
-$(DEVSRC)gdevtifs.h:$(GLSRC)gsmatrix.h
$(DEVSRC)gdevtifs.h:$(GLSRC)gxbitmap.h
+$(DEVSRC)gdevtifs.h:$(GLSRC)gsmatrix.h
+$(DEVSRC)gdevtifs.h:$(GLSRC)gscpm.h
+$(DEVSRC)gdevtifs.h:$(GLSRC)gxfixed.h
+$(DEVSRC)gdevtifs.h:$(GLSRC)gsrefct.h
+$(DEVSRC)gdevtifs.h:$(GLSRC)gsparam.h
+$(DEVSRC)gdevtifs.h:$(GLSRC)gp.h
+$(DEVSRC)gdevtifs.h:$(GLSRC)gsccolor.h
+$(DEVSRC)gdevtifs.h:$(GLSRC)gsstruct.h
+$(DEVSRC)gdevtifs.h:$(GLSRC)gxsync.h
$(DEVSRC)gdevtifs.h:$(GLSRC)gsutil.h
$(DEVSRC)gdevtifs.h:$(GLSRC)gsstrl.h
$(DEVSRC)gdevtifs.h:$(GLSRC)gdbflags.h
$(DEVSRC)gdevtifs.h:$(GLSRC)srdline.h
-$(DEVSRC)gdevtifs.h:$(GLSRC)gsstruct.h
-$(DEVSRC)gdevtifs.h:$(GLSRC)gserrors.h
-$(DEVSRC)gdevtifs.h:$(GLSRC)gxsync.h
$(DEVSRC)gdevtifs.h:$(GLSRC)claptrap.h
+$(DEVSRC)gdevtifs.h:$(GLSRC)gserrors.h
+$(DEVSRC)gdevtifs.h:$(GLSRC)scommon.h
+$(DEVSRC)gdevtifs.h:$(GLSRC)memento.h
$(DEVSRC)gdevtifs.h:$(GLSRC)vmsmath.h
$(DEVSRC)gdevtifs.h:$(GLSRC)gscsel.h
-$(DEVSRC)gdevtifs.h:$(GLSRC)scommon.h
$(DEVSRC)gdevtifs.h:$(GLSRC)gsbitmap.h
$(DEVSRC)gdevtifs.h:$(GLSRC)gsfname.h
-$(DEVSRC)gdevtifs.h:$(GLSRC)gsccolor.h
$(DEVSRC)gdevtifs.h:$(GLSRC)gsstype.h
+$(DEVSRC)gdevtifs.h:$(GLSRC)stat_.h
+$(DEVSRC)gdevtifs.h:$(GLSRC)gxtmap.h
$(DEVSRC)gdevtifs.h:$(GLSRC)gsmemory.h
$(DEVSRC)gdevtifs.h:$(GLSRC)gpsync.h
-$(DEVSRC)gdevtifs.h:$(GLSRC)gpgetenv.h
$(DEVSRC)gdevtifs.h:$(GLSRC)memory_.h
+$(DEVSRC)gdevtifs.h:$(GLSRC)gpgetenv.h
$(DEVSRC)gdevtifs.h:$(GLSRC)gslibctx.h
$(DEVSRC)gdevtifs.h:$(GLSRC)gscdefs.h
+$(DEVSRC)gdevtifs.h:$(GLSRC)gs_dll_call.h
$(DEVSRC)gdevtifs.h:$(GLSRC)ctype_.h
+$(DEVSRC)gdevtifs.h:$(GLSRC)stdio_.h
$(DEVSRC)gdevtifs.h:$(GLSRC)gscompt.h
$(DEVSRC)gdevtifs.h:$(GLSRC)gxcindex.h
-$(DEVSRC)gdevtifs.h:$(GLSRC)stdint_.h
$(DEVSRC)gdevtifs.h:$(GLSRC)gsgstate.h
+$(DEVSRC)gdevtifs.h:$(GLSRC)stdint_.h
+$(DEVSRC)gdevtifs.h:$(GLSRC)gssprintf.h
$(DEVSRC)gdevtifs.h:$(GLSRC)gsccode.h
-$(DEVSRC)gdevtifs.h:$(GLSRC)gs_dll_call.h
-$(DEVSRC)gdevtifs.h:$(GLSRC)stdio_.h
-$(DEVSRC)gdevtifs.h:$(GLSRC)gstypes.h
$(DEVSRC)gdevtifs.h:$(GLSRC)std.h
+$(DEVSRC)gdevtifs.h:$(GLSRC)gstypes.h
$(DEVSRC)gdevtifs.h:$(GLSRC)stdpre.h
$(DEVSRC)gdevtifs.h:$(GLGEN)arch.h
-$(DEVSRC)gdevtifs.h:$(GLSRC)gssprintf.h
diff --git a/devices/gdev3852.c b/devices/gdev3852.c
index 2222ebe8..84388357 100644
--- a/devices/gdev3852.c
+++ b/devices/gdev3852.c
@@ -65,10 +65,15 @@ jetp3852_print_page(gx_device_printer *pdev, gp_file *prn_stream)
unsigned int count,tempcnt;
unsigned char vtp,cntc1,cntc2;
int line_size_color_plane;
+ int code = 0;
byte data[DATA_SIZE];
byte plane_data[LINE_SIZE * 3];
+ /* Initialise data to zeros, otherwise later on, uninitialised bytes in
+ dp[] can be greater than 7, which breaks spr8[dp[]]. */
+ memset(data, 0x00, DATA_SIZE);
+
/* Set initial condition for printer */
gp_fputs("\033@",prn_stream);
@@ -77,10 +82,19 @@ jetp3852_print_page(gx_device_printer *pdev, gp_file *prn_stream)
int lnum;
int line_size = gdev_mem_bytes_per_scan_line((gx_device *)pdev);
int num_blank_lines = 0;
+
+ if (line_size > DATA_SIZE) {
+ emprintf2(pdev->memory, "invalid resolution and/or width gives line_size = %d, max. is %d\n",
+ line_size, DATA_SIZE);
+ return_error(gs_error_rangecheck);
+ }
+
for ( lnum = 0; lnum < pdev->height; lnum++ ) {
byte *end_data = data + line_size;
- gdev_prn_copy_scan_lines(pdev, lnum,
+ code = gdev_prn_copy_scan_lines(pdev, lnum,
(byte *)data, line_size);
+ if (code < 0)
+ break;
/* Remove trailing 0s. */
while ( end_data > data && end_data[-1] == 0 )
end_data--;
@@ -92,10 +106,6 @@ jetp3852_print_page(gx_device_printer *pdev, gp_file *prn_stream)
byte *odp;
byte *row;
- /* Pad with 0s to fill out the last */
- /* block of 8 bytes. */
- memset(end_data, 0, 7);
-
/* Transpose the data to get pixel planes. */
for ( i = 0, odp = plane_data; i < DATA_SIZE;
i += 8, odp++
@@ -166,5 +176,5 @@ jetp3852_print_page(gx_device_printer *pdev, gp_file *prn_stream)
/* eject page */
gp_fputs("\014", prn_stream);
- return 0;
+ return code;;
}
diff --git a/devices/gdev4081.c b/devices/gdev4081.c
index fe40b2c2..bd5c52d8 100644
--- a/devices/gdev4081.c
+++ b/devices/gdev4081.c
@@ -38,21 +38,19 @@ r4081_print_page(gx_device_printer *pdev, gp_file *prn_stream)
int line_size = gdev_mem_bytes_per_scan_line((gx_device *)pdev);
int out_size = ((pdev->width + 7) & -8) ;
byte *out = (byte *)gs_malloc(pdev->memory, out_size, 1, "r4081_print_page(out)");
- int lnum = 0;
+ int lnum = 0, code = 0;
int last = pdev->height;
/* Check allocations */
if ( out == 0 )
- { if ( out )
- gs_free(pdev->memory, (char *)out, out_size, 1,
- "r4081_print_page(out)");
- return -1;
- }
+ return_error(gs_error_VMerror);
/* find the first line which has something to print */
while ( lnum < last )
{
- gdev_prn_copy_scan_lines(pdev, lnum, (byte *)out, line_size);
+ code = gdev_prn_copy_scan_lines(pdev, lnum, (byte *)out, line_size);
+ if (code < 0)
+ goto xit;
if ( out[0] != 0 ||
memcmp((char *)out, (char *)out+1, line_size-1)
)
@@ -62,7 +60,9 @@ r4081_print_page(gx_device_printer *pdev, gp_file *prn_stream)
/* find the last line which has something to print */
while (last > lnum) {
- gdev_prn_copy_scan_lines(pdev, last-1, (byte *)out, line_size);
+ code = gdev_prn_copy_scan_lines(pdev, last-1, (byte *)out, line_size);
+ if (code < 0)
+ goto xit;
if ( out[0] != 0 ||
memcmp((char *)out, (char *)out+1, line_size-1)
)
@@ -77,7 +77,9 @@ r4081_print_page(gx_device_printer *pdev, gp_file *prn_stream)
/* Print lines of graphics */
while ( lnum < last )
{
- gdev_prn_copy_scan_lines(pdev, lnum, (byte *)out, line_size);
+ code = gdev_prn_copy_scan_lines(pdev, lnum, (byte *)out, line_size);
+ if (code < 0)
+ goto xit;
gp_fwrite(out, sizeof(char), line_size, prn_stream);
lnum ++;
}
@@ -85,6 +87,7 @@ r4081_print_page(gx_device_printer *pdev, gp_file *prn_stream)
/* Eject the page and reinitialize the printer */
gp_fputs("\f\033\rP", prn_stream);
+xit:
gs_free(pdev->memory, (char *)out, out_size, 1, "r4081_print_page(out)");
- return 0;
+ return code;
}
diff --git a/devices/gdev4693.c b/devices/gdev4693.c
index 7e18054f..baa975c5 100644
--- a/devices/gdev4693.c
+++ b/devices/gdev4693.c
@@ -83,7 +83,7 @@ t4693d_print_page(gx_device_printer *dev, gp_file *ps_stream)
char *p;
ushort data_size = line_size/prn_dev->width;
int checksum;
- int lnum;
+ int lnum, code = 0;
int i;
#if !ARCH_IS_BIG_ENDIAN
byte swap;
@@ -121,12 +121,14 @@ t4693d_print_page(gx_device_printer *dev, gp_file *ps_stream)
/* write header */
if (gp_fwrite(header,1,22,ps_stream) != 22) {
errprintf(dev->memory, "Could not write header (t4693d).\n");
- gs_free(dev->memory, data, line_size, 1, "t4693d_print_page");
- return_error(gs_error_ioerror);
+ code = gs_note_error(gs_error_ioerror);
+ goto xit;
}
for (lnum = 0; lnum < prn_dev->height; lnum++) {
- gdev_prn_copy_scan_lines(prn_dev,lnum,data,line_size);
+ code = gdev_prn_copy_scan_lines(prn_dev,lnum,data,line_size);
+ if (code < 0)
+ goto xit;
for (i = 0; i < line_size; i += data_size) {
@@ -147,32 +149,33 @@ t4693d_print_page(gx_device_printer *dev, gp_file *ps_stream)
break;
default:
errprintf(dev->memory,"Bad depth (%d) t4693d.\n",depth);
- gs_free(dev->memory, data, line_size, 1, "t4693d_print_page");
- return_error(gs_error_rangecheck);
+ code = gs_note_error(gs_error_rangecheck);
+ goto xit;
}
if (gp_fwrite(&data[i],1,data_size,ps_stream) != data_size) {
errprintf(dev->memory,"Could not write pixel (t4693d).\n");
- gs_free(dev->memory, data, line_size, 1, "t4693d_print_page");
- return_error(gs_error_ioerror);
+ code = gs_note_error(gs_error_ioerror);
+ goto xit;
}
}
if (gp_fputc(0x02,ps_stream) != 0x02) {
errprintf(dev->memory,"Could not write EOL (t4693d).\n");
- gs_free(dev->memory, data, line_size, 1, "t4693d_print_page");
- return_error(gs_error_ioerror);
+ code = gs_note_error(gs_error_ioerror);
+ goto xit;
}
}
if (gp_fputc(0x01,ps_stream) != 0x01) {
errprintf(dev->memory,"Could not write EOT (t4693d).\n");
- gs_free(dev->memory, data, line_size, 1, "t4693d_print_page");
- return_error(gs_error_ioerror);
+ code = gs_note_error(gs_error_ioerror);
+ /* fall through to xit: */
}
+xit:
gs_free(dev->memory, data, line_size, 1, "t4693d_print_page");
- return(0);
+ return(code);
}
diff --git a/devices/gdev8510.c b/devices/gdev8510.c
index 7d235b5f..a7b16b54 100644
--- a/devices/gdev8510.c
+++ b/devices/gdev8510.c
@@ -68,9 +68,13 @@ m8510_print_page(gx_device_printer *pdev, gp_file *prn_stream)
while ( lnum < pdev->height ) {
/* get a raster */
for (i = 7; i >= 0; i--) {
- gdev_prn_copy_scan_lines(pdev, lnum, &in1[i*line_size], line_size);
+ code = gdev_prn_copy_scan_lines(pdev, lnum, &in1[i*line_size], line_size);
+ if (code < 0)
+ goto out;
lnum++;
- gdev_prn_copy_scan_lines(pdev, lnum, &in2[i*line_size], line_size);
+ code = gdev_prn_copy_scan_lines(pdev, lnum, &in2[i*line_size], line_size);
+ if (code < 0)
+ goto out;
lnum++;
}
@@ -107,7 +111,7 @@ static void
m8510_output_run(gx_device_printer *pdev,
byte *out, int pass, gp_file *prn_stream)
{
- byte *out_end = out + pdev->width;
+ byte *out_end = out + ((pdev->width + 7) & -8); /* round up to multiple of 8 */
char tmp[10];
int count;
@@ -128,7 +132,7 @@ m8510_output_run(gx_device_printer *pdev,
/* Transfer the line of data. */
count = out_end - out;
- if (count) {
+ if (count > 0) {
gs_sprintf(tmp, "\033g%03d", count/8);
gp_fwrite(tmp, 1, 5, prn_stream);
gp_fwrite(out, 1, count, prn_stream);
diff --git a/devices/gdevatx.c b/devices/gdevatx.c
index b5223316..aa5462ce 100644
--- a/devices/gdevatx.c
+++ b/devices/gdevatx.c
@@ -167,6 +167,7 @@ atx_print_page(gx_device_printer *pdev, gp_file *f, int max_width_bytes)
(int)ceil((height / pdev->HWResolution[1] + top_bottom_skip) * 100);
gs_memory_t *mem = pdev->memory;
int raster = gx_device_raster((gx_device *)pdev, true);
+ int width = pdev->width;
byte *buf;
/*
* ATX_COMPRESSED_DATA only takes a 1-byte (word) count.
@@ -176,6 +177,9 @@ atx_print_page(gx_device_printer *pdev, gp_file *f, int max_width_bytes)
byte *compressed;
int blank_lines, lnum;
int code = 0;
+ byte mask;
+ int endidx = width>>3;
+ int rowlen = (width+7)>>3;
/* Enforce a minimum 3" page length. */
if (page_length_100ths < 300)
@@ -187,15 +191,29 @@ atx_print_page(gx_device_printer *pdev, gp_file *f, int max_width_bytes)
code = gs_note_error(gs_error_VMerror);
goto done;
}
+ memset(buf, 0, raster);
+ if (width & 7)
+ mask = ~(255>>(width & 7));
+ else
+ mask = 255, endidx--;
+
fput_atx_command(f, ATX_SET_PAGE_LENGTH, page_length_100ths);
for (blank_lines = 0, lnum = 0; lnum < height; ++lnum) {
byte *row;
byte *end;
int count;
- gdev_prn_get_bits(pdev, lnum, buf, &row);
+ code = gdev_prn_get_bits(pdev, lnum, buf, &row);
+ if (code < 0)
+ goto done;
+ /* Clear any trailing padding bits */
+ row[endidx] &= mask;
+ /* We need an even number of bytes to work with. */
+ end = row + rowlen;
+ if (rowlen & 1)
+ *end++ = 0;
/* Find the end of the non-blank data. */
- for (end = row + raster; end > row && end[-1] == 0 && end[-2] == 0; )
+ while (end > row && end[-1] == 0 && end[-2] == 0)
end -= 2;
if (end == row) { /* blank line */
++blank_lines;
diff --git a/devices/gdevbit.c b/devices/gdevbit.c
index 98ef8d4d..d0c7711e 100644
--- a/devices/gdevbit.c
+++ b/devices/gdevbit.c
@@ -792,19 +792,22 @@ bit_print_page(gx_device_printer * pdev, gp_file * prn_stream)
int bottom = ((gx_device_bit *)pdev)->LastLine >= pdev->height ? pdev->height - 1 :
((gx_device_bit *)pdev)->LastLine;
int line_count = any_abs(bottom - lnum);
- int i, step = lnum > bottom ? -1 : 1;
+ int code = 0, i, step = lnum > bottom ? -1 : 1;
if (in == 0)
return_error(gs_error_VMerror);
if ((lnum == 0) && (bottom == 0))
line_count = pdev->height - 1; /* default when LastLine == 0, FirstLine == 0 */
for (i = 0; i <= line_count; i++, lnum += step) {
- gdev_prn_get_bits(pdev, lnum, in, &data);
+ code = gdev_prn_get_bits(pdev, lnum, in, &data);
+ if (code < 0)
+ goto done;
if (!nul)
gp_fwrite(data, 1, line_size, prn_stream);
}
+done:
gs_free_object(pdev->memory, in, "bit_print_page(in)");
- return 0;
+ return code;
}
/* For tags device go ahead and add in the size so that we can strip and create
@@ -835,10 +838,11 @@ bittags_print_page(gx_device_printer * pdev, gp_file * prn_stream)
line_count = pdev->height - 1; /* default when LastLine == 0, FirstLine == 0 */
for (i = 0; i <= line_count; i++, lnum += step) {
if ((code = gdev_prn_get_bits(pdev, lnum, in, &data)) < 0)
- return code;
+ goto done;
if (!nul)
gp_fwrite(data, 1, line_size, prn_stream);
}
+done:
gs_free_object(pdev->memory, in, "bit_print_page(in)");
return 0;
}
diff --git a/devices/gdevbj10.c b/devices/gdevbj10.c
index 00f8569e..3423ebc5 100644
--- a/devices/gdevbj10.c
+++ b/devices/gdevbj10.c
@@ -312,7 +312,8 @@ bj10e_print_page(gx_device_printer *pdev, gp_file *prn_stream)
/* Copy 1 scan line and test for all zero. */
code = gdev_prn_get_bits(pdev, lnum, in, &in_data);
- if ( code < 0 ) goto xit;
+ if ( code < 0 )
+ goto fin;
/* The mem... or str... functions should be faster than */
/* the following code, but all systems seem to implement */
/* them so badly that this code is faster. */
diff --git a/devices/gdevbmp.c b/devices/gdevbmp.c
index 3c6630ee..f8ce596e 100644
--- a/devices/gdevbmp.c
+++ b/devices/gdevbmp.c
@@ -162,7 +162,9 @@ bmp_print_page(gx_device_printer * pdev, gp_file * file)
/* BMP files want the image in bottom-to-top order! */
for (y = pdev->height - 1; y >= 0; y--) {
- gdev_prn_copy_scan_lines(pdev, y, row, raster);
+ code = gdev_prn_copy_scan_lines(pdev, y, row, raster);
+ if (code < 0)
+ goto done;
gp_fwrite((const char *)row, bmp_raster, 1, file);
}
diff --git a/devices/gdevccr.c b/devices/gdevccr.c
index 9fb22f35..2080d785 100644
--- a/devices/gdevccr.c
+++ b/devices/gdevccr.c
@@ -145,6 +145,7 @@ ccr_print_page(gx_device_printer *pdev, gp_file *pstream)
int cmy, c, m, y;
byte *in;
byte *data;
+ int code = 0;
if((in = (byte *)gs_malloc(pdev->memory, line_size, 1, "gsline")) == NULL)
return_error(gs_error_VMerror);
@@ -156,7 +157,9 @@ ccr_print_page(gx_device_printer *pdev, gp_file *pstream)
}
for ( l = 0; l < lnum; l++ )
- { gdev_prn_get_bits(pdev, l, in, &data);
+ { code = gdev_prn_get_bits(pdev, l, in, &data);
+ if (code < 0)
+ goto xit;
if(alloc_line(pdev->memory, &linebuf[l], pixnum))
{
gs_free(pdev->memory, in, line_size, 1, "gsline");
@@ -191,9 +194,10 @@ write_cpass(linebuf, lnum, CPASS, pstream);
CCFILEEND(pstream);
/* clean up */
+xit:
gs_free(pdev->memory, in, line_size, 1, "gsline");
free_rb_line( pdev->memory, linebuf, lnum, pixnum );
-return 0;
+return code;
}
/* ------ Internal routines ------ */
diff --git a/devices/gdevcdj.c b/devices/gdevcdj.c
index 8cf4e2e7..50a1d62c 100644
--- a/devices/gdevcdj.c
+++ b/devices/gdevcdj.c
@@ -1787,7 +1787,7 @@ bjc_compress(const byte *row, const byte *end_row, byte *compressed)
register byte test, test2;
test = *exam;
- while ( exam < end_row ) {
+ while ( exam + 1 < end_row ) {
test2 = *++exam;
if ( test == test2 )
break;
@@ -1969,7 +1969,7 @@ ep_print_image(gp_file *prn_stream, ep_globals *eg, char cmd, byte *data, int si
/* p2 is the head of non zero image. */
p2 = p3;
redo:
- for (p3 += row_bytes; memcmp(p3, zeros, row_bytes); p3 += row_bytes);
+ for (p3 += row_bytes; p3 < outp && memcmp(p3, zeros, row_bytes); p3 += row_bytes);
if (p3 < outp && memcmp(p3+row_bytes, zeros, row_bytes)) goto redo;
} else p1 = p2 = outp;
@@ -2022,6 +2022,7 @@ hp_colour_print_page(gx_device_printer * pdev, gp_file * prn_stream, int ptype)
int compression = 0;
int scan = 0;
int *errors[2];
+ int code = 0;
const char *cid_string = (const char*) 0;
byte *data[4], *plane_data[4][4], *out_data;
byte *out_row, *out_row_alt;
@@ -2414,7 +2415,9 @@ hp_colour_print_page(gx_device_printer * pdev, gp_file * prn_stream, int ptype)
word *data_words = (word *)data[scan];
register word *end_data = data_words + line_size_words;
- gdev_prn_copy_scan_lines(pdev, lnum, data[scan], line_size);
+ code = gdev_prn_copy_scan_lines(pdev, lnum, data[scan], line_size);
+ if (code < 0)
+ goto xit;
/* Mask off 1-bits beyond the line width. */
end_data[-1] &= rmask;
@@ -2744,11 +2747,12 @@ hp_colour_print_page(gx_device_printer * pdev, gp_file * prn_stream, int ptype)
} else
gp_fputs("\033&l0H", prn_stream);
+xit:
/* free temporary storage */
gs_free(pdev->memory, (char *) eg.storage, eg.storage_size_words, W, "ep_print_buffer");
gs_free(pdev->memory, (char *) storage, storage_size_words, W, "hp_colour_print_page");
- return 0;
+ return code;
}
/*
diff --git a/devices/gdevcfax.c b/devices/gdevcfax.c
index d6fbebc4..6f6419ae 100644
--- a/devices/gdevcfax.c
+++ b/devices/gdevcfax.c
@@ -149,7 +149,9 @@ cfax_stream_print_page_width(gx_device_printer * pdev, gp_file * prn_stream,
if (code < 0)
return_error(gs_error_limitcheck);
/* Now, get the bits and encode them */
- gdev_prn_copy_scan_lines(pdev, lnum, in, in_size);
+ code = gdev_prn_copy_scan_lines(pdev, lnum, in, in_size);
+ if (code < 0)
+ goto done;
if (col_size > in_size) {
memset(in + in_size , 0, col_size - in_size);
}
diff --git a/devices/gdevcif.c b/devices/gdevcif.c
index f67aaf2a..66f61ce3 100644
--- a/devices/gdevcif.c
+++ b/devices/gdevcif.c
@@ -47,26 +47,36 @@ cif_print_page(gx_device_printer *pdev, gp_file *prn_stream)
int lnum;
byte *in = (byte *)gs_malloc(pdev->memory, line_size, 1, "cif_print_page(in)");
char *s;
+ const char *fname;
int scanline, scanbyte;
int length, start; /* length is the number of successive 1 bits, */
/* start is the set of 1 bit start position */
+ int code = 0;
if (in == 0)
return_error(gs_error_VMerror);
- if ((s = strchr(pdev->fname, '.')) == NULL)
- length = strlen(pdev->fname) + 1;
+#ifdef CLUSTER
+ fname = "clusterout";
+#else
+ fname = (const char *)(pdev->fname);
+#endif
+ if ((s = strchr(fname, '.')) == NULL)
+ length = strlen(fname) + 1;
else
- length = s - pdev->fname;
- s = (char *)gs_malloc(pdev->memory, length, sizeof(char), "cif_print_page(s)");
-
- strncpy(s, pdev->fname, length);
+ length = s - fname;
+ s = (char *)gs_malloc(pdev->memory, length+1, sizeof(char), "cif_print_page(s)");
+ if (s == NULL)
+ return_error(gs_error_VMerror);
+ strncpy(s, fname, length);
*(s + length) = '\0';
gp_fprintf(prn_stream, "DS1 25 1;\n9 %s;\nLCP;\n", s);
- gs_free(pdev->memory, s, length, 1, "cif_print_page(s)");
+ gs_free(pdev->memory, s, length+1, 1, "cif_print_page(s)");
for (lnum = 0; lnum < pdev->height; lnum++) {
- gdev_prn_copy_scan_lines(pdev, lnum, in, line_size);
+ code = gdev_prn_copy_scan_lines(pdev, lnum, in, line_size);
+ if (code < 0)
+ goto xit;
length = 0;
for (scanline = 0; scanline < line_size; scanline++)
#ifdef TILE /* original, simple, inefficient algorithm */
@@ -92,6 +102,7 @@ cif_print_page(gx_device_printer *pdev, gp_file *prn_stream)
#endif
}
gp_fprintf(prn_stream, "DF;\nC1;\nE\n");
+xit:
gs_free(pdev->memory, in, line_size, 1, "cif_print_page(in)");
- return 0;
+ return code;
}
diff --git a/devices/gdevclj.c b/devices/gdevclj.c
index d5b46689..542bb8ed 100644
--- a/devices/gdevclj.c
+++ b/devices/gdevclj.c
@@ -247,15 +247,24 @@ clj_get_params(gx_device *pdev, gs_param_list *plist)
* on error.
*/
static int
-clj_media_size(float mediasize[2], gs_param_list *plist)
+clj_media_size(float mediasize[2], gs_param_list *plist, gx_device *dev)
{
gs_param_float_array fres;
gs_param_float_array fsize;
gs_param_int_array hwsize;
int have_pagesize = 0;
+ float res[2];
- if ( (param_read_float_array(plist, "HWResolution", &fres) == 0) &&
- !is_supported_resolution(fres.data) )
+ if ( param_read_float_array(plist, "HWResolution", &fres) == 0) {
+ res[0] = fres.data[0];
+ res[1] = fres.data[1];
+ }
+ else
+ {
+ res[0] = dev->HWResolution[0];
+ res[1] = dev->HWResolution[1];
+ }
+ if (!is_supported_resolution(res) )
return_error(gs_error_rangecheck);
if ( (param_read_float_array(plist, "PageSize", &fsize) == 0) ||
@@ -266,8 +275,8 @@ clj_media_size(float mediasize[2], gs_param_list *plist)
}
if (param_read_int_array(plist, "HWSize", &hwsize) == 0) {
- mediasize[0] = ((float)hwsize.data[0]) * 72 / fres.data[0];
- mediasize[1] = ((float)hwsize.data[1]) * 72 / fres.data[1];
+ mediasize[0] = ((float)hwsize.data[0]) * 72 / res[0];
+ mediasize[1] = ((float)hwsize.data[1]) * 72 / res[1];
have_pagesize = 1;
}
@@ -286,7 +295,7 @@ clj_put_params(
{
float mediasize[2];
bool rotate = false;
- int have_pagesize = clj_media_size(mediasize, plist);
+ int have_pagesize = clj_media_size(mediasize, plist, pdev);
if (have_pagesize < 0)
return have_pagesize;
@@ -419,6 +428,7 @@ clj_print_page(
double fs_res = pdev->HWResolution[0] / 72.0;
double ss_res = pdev->HWResolution[1] / 72.0;
int imageable_width, imageable_height;
+ int code = 0;
/* no paper size at this point is a serious error */
if (psize == 0)
@@ -470,7 +480,9 @@ clj_print_page(
for (i = 0; i < imageable_height; i++) {
int clen[3];
- gdev_prn_copy_scan_lines(pdev, i, data, lsize);
+ code = gdev_prn_copy_scan_lines(pdev, i, data, lsize);
+ if (code < 0)
+ goto xit;
/* The 'lsize' bytes of data have the blank margin area at the end due */
/* to the 'initial_matrix' offsets that are applied. */
@@ -494,11 +506,12 @@ clj_print_page(
/* PCL will take care of blank lines at the end */
gp_fputs("\033*rC\f", prn_stream);
+xit:
/* free the buffers used */
gs_free_object(mem, cdata[0], "clj_print_page(cdata)");
gs_free_object(mem, data, "clj_print_page(data)");
- return 0;
+ return code;
}
/* CLJ device methods */
@@ -623,7 +636,7 @@ clj_pr_put_params(
float mediasize[2];
int code = 0;
bool rotate = false;
- int have_pagesize = clj_media_size(mediasize, plist);
+ int have_pagesize = clj_media_size(mediasize, plist, pdev);
if (have_pagesize < 0)
return have_pagesize;
diff --git a/devices/gdevcljc.c b/devices/gdevcljc.c
index 703f2639..65933260 100644
--- a/devices/gdevcljc.c
+++ b/devices/gdevcljc.c
@@ -68,7 +68,7 @@ cljc_print_page(gx_device_printer * pdev, gp_file * prn_stream)
code = gdev_prn_copy_scan_lines(pdev, i, (byte *) data, raster);
if (code < 0)
- break;
+ goto out;
compressed_size = gdev_pcl_mode3compress(raster, data, prow, cdata);
gp_fprintf(prn_stream, "\033*b%dW", compressed_size);
gp_fwrite(cdata, sizeof(byte), compressed_size, prn_stream);
diff --git a/devices/gdevdjtc.c b/devices/gdevdjtc.c
index fa4681af..5fb1a4ba 100644
--- a/devices/gdevdjtc.c
+++ b/devices/gdevdjtc.c
@@ -75,6 +75,7 @@ djet500c_print_page(gx_device_printer *pdev, gp_file *fprn)
byte *plane3=NULL;
int bitSize=0;
int planeSize=0;
+ int code = 0;
/* select the most compressed mode available & clear tmp storage */
/* put printer in known state */
@@ -122,7 +123,9 @@ djet500c_print_page(gx_device_printer *pdev, gp_file *fprn)
{
byte *endData;
- gdev_prn_copy_scan_lines(pdev, lnum, bitData, lineSize);
+ code = gdev_prn_copy_scan_lines(pdev, lnum, bitData, lineSize);
+ if (code < 0)
+ goto xit;
/* Identify and skip blank lines */
endData = bitData + lineSize;
@@ -149,6 +152,10 @@ djet500c_print_page(gx_device_printer *pdev, gp_file *fprn)
plane1=(byte*)malloc(planeSize+8);
plane2=(byte*)malloc(planeSize+8);
plane3=(byte*)malloc(planeSize+8);
+ if (plane1 == NULL || plane2 == NULL || plane3 == NULL) {
+ code = gs_error_VMerror;
+ goto xit;
+ }
}
/* Transpose the data to get pixel planes. */
for (k=i=0; k<lineLen; i+=8, k++)
@@ -207,13 +214,14 @@ djet500c_print_page(gx_device_printer *pdev, gp_file *fprn)
/* eject page */
gp_fputs("\033&l0H", fprn);
+xit:
/* release allocated memory */
if (bitData) free(bitData);
if (plane1) free(plane1);
if (plane2) free(plane2);
if (plane3) free(plane3);
- return 0;
+ return code;
}
/*
diff --git a/devices/gdevdm24.c b/devices/gdevdm24.c
index abf8508c..62b7ba89 100644
--- a/devices/gdevdm24.c
+++ b/devices/gdevdm24.c
@@ -51,20 +51,39 @@ static void dot24_improve_bitmap (byte *, int);
static int
dot24_print_page (gx_device_printer *pdev, gp_file *prn_stream, char *init_string, int init_len)
{
- int xres = (int)pdev->x_pixels_per_inch;
- int yres = (int)pdev->y_pixels_per_inch;
- int x_high = (xres == 360);
- int y_high = (yres == 360);
- int bits_per_column = (y_high ? 48 : 24);
- uint line_size = gdev_prn_raster (pdev);
- uint in_size = line_size * bits_per_column;
- byte *in = (byte *) gs_malloc (pdev->memory, in_size, 1, "dot24_print_page (in)");
- uint out_size = ((pdev->width + 7) & -8) * 3;
- byte *out = (byte *) gs_malloc (pdev->memory, out_size, 1, "dot24_print_page (out)");
- int y_passes = (y_high ? 2 : 1);
- int dots_per_space = xres / 10; /* pica space = 1/10" */
- int bytes_per_space = dots_per_space * 3;
- int skip = 0, lnum = 0, ypass;
+ int xres;
+ int yres;
+ int x_high;
+ int y_high;
+ int bits_per_column;
+ uint line_size;
+ uint in_size;
+ byte *in;
+ uint out_size;
+ byte *out;
+ int y_passes;
+ int dots_per_space;
+ int bytes_per_space;
+ int skip = 0, lnum = 0, code = 0, ypass;
+
+ xres = (int)pdev->x_pixels_per_inch;
+ yres = (int)pdev->y_pixels_per_inch;
+ x_high = (xres == 360);
+ y_high = (yres == 360);
+ dots_per_space = xres / 10; /* pica space = 1/10" */
+ bytes_per_space = dots_per_space * 3;
+ if (bytes_per_space == 0) {
+ /* We divide by bytes_per_space later on. */
+ return_error(gs_error_rangecheck);
+ }
+
+ bits_per_column = (y_high ? 48 : 24);
+ line_size = gdev_prn_raster (pdev);
+ in_size = line_size * bits_per_column;
+ in = (byte *) gs_malloc (pdev->memory, in_size, 1, "dot24_print_page (in)");
+ out_size = ((pdev->width + 7) & -8) * 3;
+ out = (byte *) gs_malloc (pdev->memory, out_size, 1, "dot24_print_page (out)");
+ y_passes = (y_high ? 2 : 1);
/* Check allocations */
if (in == 0 || out == 0)
@@ -92,7 +111,9 @@ dot24_print_page (gx_device_printer *pdev, gp_file *prn_stream, char *init_strin
int lcnt;
/* Copy 1 scan line and test for all zero. */
- gdev_prn_copy_scan_lines (pdev, lnum, in, line_size);
+ code = gdev_prn_copy_scan_lines (pdev, lnum, in, line_size);
+ if (code < 0)
+ goto xit;
if (in[0] == 0
&& !memcmp ((char *) in, (char *) in + 1, line_size - 1))
{
@@ -119,27 +140,40 @@ dot24_print_page (gx_device_printer *pdev, gp_file *prn_stream, char *init_strin
/* Copy the rest of the scan lines. */
if (y_high)
{
+ /* NOTE: even though fixed to not ignore return < 0 from gdev_prn_copy_scan_lines, */
+ /* this code seems wrong -- it doesn't seem to match the 'else' method. */
inp = in + line_size;
- for (lcnt = 1; lcnt < 24; lcnt++, inp += line_size)
- if (!gdev_prn_copy_scan_lines (pdev, lnum + lcnt * 2, inp,
- line_size))
+ for (lcnt = 1; lcnt < 24; lcnt++, inp += line_size) {
+ code = gdev_prn_copy_scan_lines (pdev, lnum + lcnt * 2, inp, line_size);
+ if (code < 0)
+ goto xit;
+ if (code == 0)
{
+ /* Pad with lines of zeros. */
memset (inp, 0, (24 - lcnt) * line_size);
break;
}
+ }
inp = in + line_size * 24;
- for (lcnt = 0; lcnt < 24; lcnt++, inp += line_size)
- if (!gdev_prn_copy_scan_lines (pdev, lnum + lcnt * 2 + 1, inp,
- line_size))
+ for (lcnt = 0; lcnt < 24; lcnt++, inp += line_size) {
+ code = gdev_prn_copy_scan_lines (pdev, lnum + lcnt * 2 + 1, inp, line_size);
+ if (code < 0)
+ goto xit;
+ if (code == 0)
{
+ /* Pad with lines of zeros. */
memset (inp, 0, (24 - lcnt) * line_size);
break;
}
+ }
}
else
{
- lcnt = 1 + gdev_prn_copy_scan_lines (pdev, lnum + 1, in + line_size,
+ code = gdev_prn_copy_scan_lines (pdev, lnum + 1, in + line_size,
in_size - line_size);
+ if (code < 0)
+ goto xit;
+ lcnt = code + 1; /* FIXME: why +1 */
if (lcnt < 24)
/* Pad with lines of zeros. */
memset (in + lcnt * line_size, 0, in_size - lcnt * line_size);
@@ -223,10 +257,11 @@ dot24_print_page (gx_device_printer *pdev, gp_file *prn_stream, char *init_strin
gp_fputs ("\f\033@", prn_stream);
gp_fflush (prn_stream);
+xit:
gs_free (pdev->memory, (char *) out, out_size, 1, "dot24_print_page (out)");
gs_free (pdev->memory, (char *) in, in_size, 1, "dot24_print_page (in)");
- return 0;
+ return code;
}
/* Output a single graphics command. */
diff --git a/devices/gdevdsp.c b/devices/gdevdsp.c
index 878220c8..8ac211d4 100644
--- a/devices/gdevdsp.c
+++ b/devices/gdevdsp.c
@@ -855,13 +855,11 @@ display_put_params(gx_device * dev, gs_param_list * plist)
int old_height = dev->height;
int old_format = ddev->nFormat;
void *old_handle = ddev->pHandle;
-
gs_devn_params *pdevn_params = &ddev->devn_params;
equivalent_cmyk_color_params *pequiv_colors = &ddev->equiv_cmyk_colors;
/* Save current data in case we have a problem */
gs_devn_params saved_devn_params = *pdevn_params;
equivalent_cmyk_color_params saved_equiv_colors = *pequiv_colors;
-
int format;
void *handle;
int found_string_handle = 0;
@@ -1015,11 +1013,11 @@ display_put_params(gx_device * dev, gs_param_list * plist)
/* Use utility routine to handle devn parameters */
ecode = devn_put_params(dev, plist, pdevn_params, pequiv_colors);
/*
- * Setting MaxSeparations changes color_info.depth in
- * devn_put_params, but we always use 64bpp,
- * so reset it to the the correct value.
+ * If we support_devn, setting MaxSeparations or PageSpotColors changed the
+ * color_info.depth in devn_put_params, but we always use 64bpp, so reset it
+ * to the correct value.
*/
- dev->color_info.depth = ARCH_SIZEOF_COLOR_INDEX * 8;
+ ddev->color_info.depth = ARCH_SIZEOF_COLOR_INDEX * 8;
}
if (ecode >= 0) {
@@ -1100,7 +1098,15 @@ display_put_params(gx_device * dev, gs_param_list * plist)
ddev->nFormat, ddev->mdev->base) < 0)
return_error(gs_error_rangecheck);
}
-
+ /*
+ * Make the color_info.depth correct for the bpc and num_components since
+ * devn mode always has the display bitmap set up for 64-bits, but others,
+ * such as pdf14 compositor expect it to match (for "deep" detection).
+ */
+ if (ddev->icc_struct && ddev->icc_struct->supports_devn) {
+ ddev->color_info.depth = ddev->devn_params.bitspercomponent *
+ ddev->color_info.num_components;
+ }
return 0;
}
@@ -1402,6 +1408,7 @@ display_alloc_bitmap(gx_device_display * ddev, gx_device * param_dev)
{
int ccode;
const gx_device_memory *mdproto;
+
if (ddev->callback == NULL)
return gs_error_Fatal;
@@ -1467,6 +1474,10 @@ display_alloc_bitmap(gx_device_display * ddev, gx_device * param_dev)
display_free_bitmap(ddev);
/* erase bitmap - before display gets redrawn */
+ /*
+ * Note that this will fill all 64 bits even if we've reset depth in the
+ * devn case, since the underlying mdev is 64-bit (see above).
+ */
if (ccode == 0) {
int i;
gx_color_value cv[GX_DEVICE_COLOR_MAX_COMPONENTS];
@@ -1856,6 +1867,7 @@ display_set_color_format(gx_device_display *ddev, int nFormat)
maxvalue, maxvalue);
if ((nFormat & DISPLAY_DEPTH_MASK) == DISPLAY_DEPTH_8) {
ddev->devn_params.bitspercomponent = bpc;
+ ddev->icc_struct->supports_devn = true;
set_color_procs(pdev,
display_separation_encode_color,
display_separation_decode_color,
diff --git a/devices/gdevepsc.c b/devices/gdevepsc.c
index 192128a4..f6fa2b30 100644
--- a/devices/gdevepsc.c
+++ b/devices/gdevepsc.c
@@ -174,27 +174,55 @@ epsc_print_page(gx_device_printer * pdev, gp_file * prn_stream)
int y_mult = (y_24pin ? 3 : 1);
int line_size = (pdev->width + 7) >> 3; /* always mono */
int in_size = line_size * (8 * y_mult);
- byte *in =
- (byte *) gs_malloc(pdev->memory, in_size + 1, 1,
- "epsc_print_page(in)");
int out_size = ((pdev->width + 7) & -8) * y_mult;
- byte *out =
- (byte *) gs_malloc(pdev->memory, out_size + 1, 1,
- "epsc_print_page(out)");
+ byte *in;
+ byte *out;
int x_dpi = (int)pdev->x_pixels_per_inch;
- char start_graphics = (char)
- ((y_24pin ? graphics_modes_24 : graphics_modes_9)[x_dpi / 60]);
- int first_pass = (start_graphics & DD ? 1 : 0);
- int last_pass = first_pass * 2;
- int dots_per_space = x_dpi / 10; /* pica space = 1/10" */
- int bytes_per_space = dots_per_space * y_mult;
- int skip = 0, lnum = 0, pass;
-/* declare color buffer and related vars */
+ char start_graphics;
+ int first_pass;
+ int last_pass;
+ int dots_per_space;
+ int bytes_per_space;
+ int skip = 0, lnum = 0, code = 0, pass;
+
byte *color_in;
int color_line_size, color_in_size;
- int spare_bits = (pdev->width % 8); /* left over bits to go to margin */
- int whole_bits = pdev->width - spare_bits;
+ int spare_bits;
+ int whole_bits;
+
+ int max_dpi = 60 * (
+ (y_24pin) ?
+ sizeof(graphics_modes_24) / sizeof(graphics_modes_24[0])
+ :
+ sizeof(graphics_modes_9) / sizeof(graphics_modes_9[0])
+ )
+ - 1;
+ if (x_dpi > max_dpi) {
+ return_error(gs_error_rangecheck);
+ }
+
+ start_graphics = (char)
+ ((y_24pin ? graphics_modes_24 : graphics_modes_9)[x_dpi / 60]);
+ first_pass = (start_graphics & DD ? 1 : 0);
+ last_pass = first_pass * 2;
+ dots_per_space = x_dpi / 10; /* pica space = 1/10" */
+ bytes_per_space = dots_per_space * y_mult;
+ if (bytes_per_space == 0) {
+ /* This avoids divide by zero later on, bug 701843. */
+ return_error(gs_error_rangecheck);
+ }
+
+ in =
+ (byte *) gs_malloc(pdev->memory, in_size + 1, 1,
+ "epsc_print_page(in)");
+ out =
+ (byte *) gs_malloc(pdev->memory, out_size + 1, 1,
+ "epsc_print_page(out)");
+
+ /* declare color buffer and related vars */
+ spare_bits = (pdev->width % 8); /* left over bits to go to margin */
+ whole_bits = pdev->width - spare_bits;
/* Check allocations */
if (in == 0 || out == 0) {
@@ -204,7 +232,7 @@ epsc_print_page(gx_device_printer * pdev, gp_file * prn_stream)
if (out)
gs_free(pdev->memory, (char *)out, out_size + 1, 1,
"epsc_print_page(out)");
- return -1;
+ return_error(gs_error_VMerror);
}
/* Initialize the printer and reset the margins. */
@@ -220,7 +248,7 @@ epsc_print_page(gx_device_printer * pdev, gp_file * prn_stream)
"epsc_print_page(in)");
gs_free(pdev->memory, (char *)out, out_size + 1, 1,
"epsc_print_page(out)");
- return (-1);
+ return_error(gs_error_VMerror);
}
} else {
color_in = in;
@@ -235,7 +263,9 @@ epsc_print_page(gx_device_printer * pdev, gp_file * prn_stream)
byte *nextmono = NULL; /* position to map next color */
/* Copy 1 scan line and test for all zero. */
- gdev_prn_copy_scan_lines(pdev, lnum, color_in, color_line_size);
+ code = gdev_prn_copy_scan_lines(pdev, lnum, color_in, color_line_size);
+ if (code < 0)
+ goto xit;
if (color_in[0] == 0 &&
!memcmp((char *)color_in, (char *)color_in + 1,
@@ -255,9 +285,12 @@ epsc_print_page(gx_device_printer * pdev, gp_file * prn_stream)
gp_fprintf(prn_stream, "\033J%c", skip);
/* Copy the rest of the scan lines. */
- lcnt = 1 + gdev_prn_copy_scan_lines(pdev, lnum + 1,
+ code = gdev_prn_copy_scan_lines(pdev, lnum + 1,
color_in + color_line_size,
color_in_size - color_line_size);
+ if (code < 0)
+ goto xit;
+ lcnt = code + 1;
if (lcnt < 8 * y_mult) {
memset((char *)(color_in + lcnt * color_line_size), 0,
@@ -425,13 +458,14 @@ epsc_print_page(gx_device_printer * pdev, gp_file * prn_stream)
/* Eject the page and reinitialize the printer */
gp_fputs("\f\033@", prn_stream);
+xit:
gs_free(pdev->memory, (char *)out, out_size + 1, 1,
"epsc_print_page(out)");
gs_free(pdev->memory, (char *)in, in_size + 1, 1, "epsc_print_page(in)");
if (gx_device_has_color(pdev))
gs_free(pdev->memory, (char *)color_in, color_in_size + 1, 1,
"epsc_print_page(rin)");
- return 0;
+ return code;
}
/* Output a single graphics command. */
diff --git a/devices/gdevepsn.c b/devices/gdevepsn.c
index 49faaf3d..c69e4b53 100644
--- a/devices/gdevepsn.c
+++ b/devices/gdevepsn.c
@@ -159,29 +159,53 @@ eps_print_page(gx_device_printer *pdev, gp_file *prn_stream, int y_9pin_high,
int line_size = gdev_mem_bytes_per_scan_line((gx_device *)pdev);
/* Note that in_size is a multiple of 8. */
int in_size = line_size * (8 * in_y_mult);
- byte *buf1 = (byte *)gs_malloc(pdev->memory, in_size, 1, "eps_print_page(buf1)");
- byte *buf2 = (byte *)gs_malloc(pdev->memory, in_size, 1, "eps_print_page(buf2)");
- byte *in = buf1;
- byte *out = buf2;
+ byte *buf1 = NULL;
+ byte *buf2 = NULL;
+ byte *in;
+ byte *out;
int out_y_mult = (y_24pin ? 3 : 1);
int x_dpi = (int)pdev->x_pixels_per_inch;
- char start_graphics =
- (y_24pin ? graphics_modes_24 : graphics_modes_9)[x_dpi / 60];
- int first_pass = (start_graphics & DD ? 1 : 0);
- int last_pass = first_pass * (y_9pin_high == 2 ? 1 : 2);
int y_passes = (y_9pin_high ? 3 : 1);
int dots_per_space = x_dpi / 10; /* pica space = 1/10" */
int bytes_per_space = dots_per_space * out_y_mult;
int tab_min_pixels = x_dpi * MIN_TAB_10THS / 10;
int skip = 0, lnum = 0, pass, ypass;
+ int code = 0;
+
+ char start_graphics;
+ int first_pass;
+ int last_pass;
+
+ if (y_24pin) {
+ if (x_dpi / 60 >= sizeof(graphics_modes_24) / sizeof(graphics_modes_24[0])) {
+ return_error(gs_error_rangecheck);
+ }
+ start_graphics = graphics_modes_24[x_dpi / 60];
+ }
+ else {
+ if (x_dpi / 60 >= sizeof(graphics_modes_9) / sizeof(graphics_modes_9[0])) {
+ return_error(gs_error_rangecheck);
+ }
+ start_graphics = graphics_modes_9[x_dpi / 60];
+ }
+ first_pass = (start_graphics & DD ? 1 : 0);
+ last_pass = first_pass * (y_9pin_high == 2 ? 1 : 2);
+
+ if (bytes_per_space == 0) {
+ /* This avoids divide by zero later on, bug 701843. */
+ return_error(gs_error_rangecheck);
+ }
+
+ buf1 = (byte *)gs_malloc(pdev->memory, in_size, 1, "eps_print_page(buf1)");
+ buf2 = (byte *)gs_malloc(pdev->memory, in_size, 1, "eps_print_page(buf2)");
+ in = buf1;
+ out = buf2;
+
/* Check allocations */
- if ( buf1 == 0 || buf2 == 0 )
- { if ( buf1 )
- gs_free(pdev->memory, (char *)buf1, in_size, 1, "eps_print_page(buf1)");
- if ( buf2 )
- gs_free(pdev->memory, (char *)buf2, in_size, 1, "eps_print_page(buf2)");
- return_error(gs_error_VMerror);
+ if ( buf1 == 0 || buf2 == 0 ) {
+ code = gs_error_VMerror;
+ goto xit;
}
/* Initialize the printer and reset the margins. */
@@ -207,7 +231,9 @@ eps_print_page(gx_device_printer *pdev, gp_file *prn_stream, int y_9pin_high,
int lcnt;
/* Copy 1 scan line and test for all zero. */
- gdev_prn_get_bits(pdev, lnum, in, &in_data);
+ code = gdev_prn_get_bits(pdev, lnum, in, &in_data);
+ if (code < 0)
+ goto xit;
if ( in_data[0] == 0 &&
!memcmp((char *)in_data, (char *)in_data + 1, line_size - 1)
)
@@ -229,7 +255,9 @@ eps_print_page(gx_device_printer *pdev, gp_file *prn_stream, int y_9pin_high,
}
/* Copy the the scan lines. */
- lcnt = gdev_prn_copy_scan_lines(pdev, lnum, in, in_size);
+ code = lcnt = gdev_prn_copy_scan_lines(pdev, lnum, in, in_size);
+ if (code < 0)
+ goto xit;
if ( lcnt < 8 * in_y_mult )
{ /* Pad with lines of zeros. */
memset(in + lcnt * line_size, 0,
@@ -244,7 +272,7 @@ eps_print_page(gx_device_printer *pdev, gp_file *prn_stream, int y_9pin_high,
/* can't print neighboring dots. */
int i;
for ( i = 0; i < line_size * in_y_mult; ++i )
- in_data[i] |= in_data[i + line_size];
+ in[i] |= in[i + line_size];
}
if ( y_9pin_high )
@@ -391,9 +419,14 @@ eps_print_page(gx_device_printer *pdev, gp_file *prn_stream, int y_9pin_high,
gp_fputs(end_string, prn_stream);
gp_fflush(prn_stream);
- gs_free(pdev->memory, (char *)buf2, in_size, 1, "eps_print_page(buf2)");
- gs_free(pdev->memory, (char *)buf1, in_size, 1, "eps_print_page(buf1)");
- return 0;
+xit:
+ if ( buf1 )
+ gs_free(pdev->memory, (char *)buf1, in_size, 1, "eps_print_page(buf1)");
+ if ( buf2 )
+ gs_free(pdev->memory, (char *)buf2, in_size, 1, "eps_print_page(buf2)");
+ if (code < 0)
+ return_error(code);
+ return code;
}
/* Output a single graphics command. */
diff --git a/devices/gdevescp.c b/devices/gdevescp.c
index 00043192..005fa58a 100644
--- a/devices/gdevescp.c
+++ b/devices/gdevescp.c
@@ -119,7 +119,7 @@ escp2_print_page(gx_device_printer *pdev, gp_file *prn_stream)
byte *out = buf2;
int skip, lnum, top, bottom, left, width;
- int count, i;
+ int code = 0, count, i;
/*
** Check for valid resolution:
@@ -141,12 +141,9 @@ escp2_print_page(gx_device_printer *pdev, gp_file *prn_stream)
** Check buffer allocations:
*/
- if ( buf1 == 0 || buf2 == 0 )
- { if ( buf1 )
- gs_free(pdev->memory, (char *)buf1, in_size, 1, "escp2_print_page(buf1)");
- if ( buf2 )
- gs_free(pdev->memory, (char *)buf2, in_size, 1, "escp2_print_page(buf2)");
- return_error(gs_error_VMerror);
+ if ( buf1 == 0 || buf2 == 0 ) {
+ code = gs_error_VMerror;
+ goto xit;
}
/*
@@ -218,14 +215,18 @@ escp2_print_page(gx_device_printer *pdev, gp_file *prn_stream)
** Check buffer for 0 data. We can't do this mid-band
*/
- gdev_prn_get_bits(pdev, lnum, in, &in_data);
+ code = gdev_prn_get_bits(pdev, lnum, in, &in_data);
+ if (code < 0)
+ goto xit;
while ( in_data[0] == 0 &&
!memcmp((char *)in_data, (char *)in_data + 1, line_size - 1) &&
lnum < bottom )
{
lnum++;
skip++;
- gdev_prn_get_bits(pdev, lnum, in, &in_data);
+ code = gdev_prn_get_bits(pdev, lnum, in, &in_data);
+ if (code < 0)
+ goto xit;
}
if(lnum == bottom ) break; /* finished with this page */
@@ -241,7 +242,9 @@ escp2_print_page(gx_device_printer *pdev, gp_file *prn_stream)
skip = 0;
}
- lcnt = gdev_prn_copy_scan_lines(pdev, lnum, in, in_size);
+ code = lcnt = gdev_prn_copy_scan_lines(pdev, lnum, in, in_size);
+ if (lcnt < 0)
+ goto xit;
/*
** Check to see if we don't have enough data to fill an entire
@@ -403,7 +406,13 @@ escp2_print_page(gx_device_printer *pdev, gp_file *prn_stream)
gp_fputs("\f\033@", prn_stream);
gp_fflush(prn_stream);
- gs_free(pdev->memory, (char *)buf2, in_size, 1, "escp2_print_page(buf2)");
- gs_free(pdev->memory, (char *)buf1, in_size, 1, "escp2_print_page(buf1)");
- return 0;
+xit:
+ if ( buf1 )
+ gs_free(pdev->memory, (char *)buf1, in_size, 1, "escp2_print_page(buf1)");
+ if ( buf2 )
+ gs_free(pdev->memory, (char *)buf2, in_size, 1, "escp2_print_page(buf2)");
+ if (code < 0)
+ return_error(code);
+
+ return code;
}
diff --git a/devices/gdevgprf.c b/devices/gdevgprf.c
deleted file mode 100644
index ff383e57..00000000
--- a/devices/gdevgprf.c
+++ /dev/null
@@ -1,1330 +0,0 @@
-/* Copyright (C) 2001-2019 Artifex Software, Inc.
- All Rights Reserved.
-
- This software is provided AS-IS with no warranty, either express or
- implied.
-
- This software is distributed under license and may not be copied,
- modified or distributed except as expressly authorized under the terms
- of the license contained in the file LICENSE in this distribution.
-
- Refer to licensing information at http://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.
-*/
-
-
-/* gprf device, based upon the gdevpsd.c code. */
-
-#include "math_.h"
-#include "zlib.h"
-#include "gdevprn.h"
-#include "gsparam.h"
-#include "gscrd.h"
-#include "gscrdp.h"
-#include "gxlum.h"
-#include "gdevdcrd.h"
-#include "gstypes.h"
-#include "gxdcconv.h"
-#include "gdevdevn.h"
-#include "gsequivc.h"
-#include "gscms.h"
-#include "gsicc_cache.h"
-#include "gsicc_manage.h"
-#include "gxgetbit.h"
-#include "gdevppla.h"
-#include "gxdownscale.h"
-#include "gdevdevnprn.h"
-#include "gxdevsop.h"
-
-#ifndef MAX_CHAN
-# define MAX_CHAN 15
-#endif
-
-/* Define the device parameters. */
-#ifndef X_DPI
-# define X_DPI 72
-#endif
-#ifndef Y_DPI
-# define Y_DPI 72
-#endif
-
-#define MAX_COLOR_VALUE 255 /* We are using 8 bits per colorant */
-
-
-/* The device descriptor */
-static dev_proc_open_device(gprf_prn_open);
-static dev_proc_close_device(gprf_prn_close);
-static dev_proc_get_params(gprf_get_params);
-static dev_proc_put_params(gprf_put_params);
-static dev_proc_print_page(gprf_print_page);
-static dev_proc_get_color_mapping_procs(get_gprf_color_mapping_procs);
-static dev_proc_get_color_comp_index(gprf_get_color_comp_index);
-
-/*
- * A structure definition for a DeviceN type device
- */
-typedef struct gprf_device_s {
- gx_devn_prn_device_common;
- gx_downscaler_params downscale;
- int max_spots;
- bool lock_colorants;
- gsicc_link_t *icclink;
- bool warning_given; /* Used to notify the user that max colorants reached */
-} gprf_device;
-
-/* GC procedures */
-static
-ENUM_PTRS_WITH(gprf_device_enum_ptrs, gprf_device *pdev)
-{
- ENUM_PREFIX(st_gx_devn_prn_device, 0);
- (void)pdev; /* Stop unused var warning */
- return 0;
-}
-ENUM_PTRS_END
-
-static RELOC_PTRS_WITH(gprf_device_reloc_ptrs, gprf_device *pdev)
-{
- RELOC_PREFIX(st_gx_devn_prn_device);
- (void)pdev; /* Stop unused var warning */
-}
-RELOC_PTRS_END
-
-static int
-gprf_spec_op(gx_device *dev_, int op, void *data, int datasize)
-{
- if (op == gxdso_supports_devn) {
- return true;
- }
- if (op == gxdso_supports_iccpostrender) {
- return true;
- }
- return gx_default_dev_spec_op(dev_, op, data, datasize);
-}
-
-/* Even though gprf_device_finalize is the same as gx_devn_prn_device_finalize,
- * we need to implement it separately because st_composite_final
- * declares all 3 procedures as private. */
-static void
-gprf_device_finalize(const gs_memory_t *cmem, void *vpdev)
-{
- gx_devn_prn_device_finalize(cmem, vpdev);
-}
-
-gs_private_st_composite_final(st_gprf_device, gprf_device,
- "gprf_device", gprf_device_enum_ptrs, gprf_device_reloc_ptrs,
- gprf_device_finalize);
-
-/*
- * Macro definition for gprf device procedures
- */
-#define device_procs(get_color_mapping_procs)\
-{ gprf_prn_open,\
- gx_default_get_initial_matrix,\
- NULL, /* sync_output */\
- /* Since the print_page doesn't alter the device, this device can print in the background */\
- gdev_prn_bg_output_page, /* output_page */\
- gprf_prn_close, /* close */\
- NULL, /* map_rgb_color - not used */\
- NULL, /* map_color_rgb */\
- NULL, /* fill_rectangle */\
- NULL, /* tile_rectangle */\
- NULL, /* copy_mono */\
- NULL, /* copy_color */\
- NULL, /* draw_line */\
- NULL, /* get_bits */\
- gprf_get_params, /* get_params */\
- gprf_put_params, /* put_params */\
- NULL, /* map_cmyk_color - not used */\
- NULL, /* get_xfont_procs */\
- NULL, /* get_xfont_device */\
- NULL, /* map_rgb_alpha_color */\
- gx_page_device_get_page_device, /* get_page_device */\
- NULL, /* get_alpha_bits */\
- NULL, /* copy_alpha */\
- NULL, /* get_band */\
- NULL, /* copy_rop */\
- NULL, /* fill_path */\
- NULL, /* stroke_path */\
- NULL, /* fill_mask */\
- NULL, /* fill_trapezoid */\
- NULL, /* fill_parallelogram */\
- NULL, /* fill_triangle */\
- NULL, /* draw_thin_line */\
- NULL, /* begin_image */\
- NULL, /* image_data */\
- NULL, /* end_image */\
- NULL, /* strip_tile_rectangle */\
- NULL, /* strip_copy_rop */\
- NULL, /* get_clipping_box */\
- NULL, /* begin_typed_image */\
- NULL, /* get_bits_rectangle */\
- NULL, /* map_color_rgb_alpha */\
- NULL, /* create_compositor */\
- NULL, /* get_hardware_params */\
- NULL, /* text_begin */\
- NULL, /* finish_copydevice */\
- NULL, /* begin_transparency_group */\
- NULL, /* end_transparency_group */\
- NULL, /* begin_transparency_mask */\
- NULL, /* end_transparency_mask */\
- NULL, /* discard_transparency_layer */\
- get_color_mapping_procs, /* get_color_mapping_procs */\
- gprf_get_color_comp_index, /* get_color_comp_index */\
- gx_devn_prn_encode_color, /* encode_color */\
- gx_devn_prn_decode_color, /* decode_color */\
- NULL, /* pattern_manage */\
- NULL, /* fill_rectangle_hl_color */\
- NULL, /* include_color_space */\
- NULL, /* fill_linear_color_scanline */\
- NULL, /* fill_linear_color_trapezoid */\
- NULL, /* fill_linear_color_triangle */\
- gx_devn_prn_update_spot_equivalent_colors, /* update_spot_equivalent_colors */\
- gx_devn_prn_ret_devn_params, /* ret_devn_params */\
- NULL, /* fillpage */\
- NULL, /* push_transparency_state */\
- NULL, /* pop_transparency_state */\
- NULL, /* put_image */\
- gprf_spec_op /* dev_spec_op */\
-}
-
-#define gprf_device_body(procs, dname, ncomp, pol, depth, mg, mc, sl, cn)\
- std_device_full_body_type_extended(gprf_device, &procs, dname,\
- &st_gprf_device,\
- (int)((long)(DEFAULT_WIDTH_10THS) * (X_DPI) / 10),\
- (int)((long)(DEFAULT_HEIGHT_10THS) * (Y_DPI) / 10),\
- X_DPI, Y_DPI,\
- GX_DEVICE_COLOR_MAX_COMPONENTS, /* MaxComponents */\
- ncomp, /* NumComp */\
- pol, /* Polarity */\
- depth, 0, /* Depth, GrayIndex */\
- mg, mc, /* MaxGray, MaxColor */\
- mg + 1, mc + 1, /* DitherGray, DitherColor */\
- sl, /* Linear & Separable? */\
- cn, /* Process color model name */\
- 0, 0, /* offsets */\
- 0, 0, 0, 0 /* margins */\
- ),\
- prn_device_body_rest_(gprf_print_page)
-
-/*
- * CMYK process color model and spot color support.
- */
-static const gx_device_procs spot_cmyk_procs
- = device_procs(get_gprf_color_mapping_procs);
-
-const gprf_device gs_gprf_device =
-{
- gprf_device_body(spot_cmyk_procs, "gprf",
- ARCH_SIZEOF_GX_COLOR_INDEX, /* Number of components - need a nominal 1 bit for each */
- GX_CINFO_POLARITY_SUBTRACTIVE,
- ARCH_SIZEOF_GX_COLOR_INDEX * 8, /* 8 bits per component (albeit in planes) */
- 255, 255, GX_CINFO_SEP_LIN, "DeviceCMYK"),
- /* devn_params specific parameters */
- { 8, /* Bits per color - must match ncomp, depth, etc. above */
- DeviceCMYKComponents, /* Names of color model colorants */
- 4, /* Number colorants for CMYK */
- 0, /* MaxSeparations has not been specified */
- -1, /* PageSpotColors has not been specified */
- {0}, /* SeparationNames */
- 0, /* SeparationOrder names */
- {0, 1, 2, 3, 4, 5, 6, 7 } /* Initial component SeparationOrder */
- },
- { true }, /* equivalent CMYK colors for spot colors */
- /* gprf device specific parameters */
- GX_DOWNSCALER_PARAMS_DEFAULTS,
- GS_SOFT_MAX_SPOTS, /* max_spots */
- false, /* colorants not locked */
- 0, /* ICC link */
-};
-
-/* Open the gprf device */
-int
-gprf_prn_open(gx_device * pdev)
-{
- gprf_device *pdev_gprf = (gprf_device *) pdev;
- int code;
- int k;
- bool force_pdf, force_ps;
- cmm_dev_profile_t *profile_struct;
- gsicc_rendering_param_t rendering_params;
-
-#ifdef TEST_PAD_AND_ALIGN
- pdev->pad = 5;
- pdev->log2_align_mod = 6;
-#endif
-
- /* There are 2 approaches to the use of a DeviceN ICC output profile.
- One is to simply limit our device to only output the colorants
- defined in the output ICC profile. The other is to use the
- DeviceN ICC profile to color manage those N colorants and
- to let any other separations pass through unmolested. The define
- LIMIT_TO_ICC sets the option to limit our device to only the ICC
- colorants defined by -sICCOutputColors (or to the ones that are used
- as default names if ICCOutputColors is not used). The pass through option
- (LIMIT_TO_ICC set to 0) makes life a bit more difficult since we don't
- know if the page_spot_colors overlap with any spot colorants that exist
- in the DeviceN ICC output profile. Hence we don't know how many planes
- to use for our device. This is similar to the issue when processing
- a PostScript file. So that I remember, the cases are
- DeviceN Profile? limit_icc Result
- 0 0 force_pdf 0 force_ps 0 (no effect)
- 0 0 force_pdf 0 force_ps 0 (no effect)
- 1 0 force_pdf 0 force_ps 1 (colorants not known)
- 1 1 force_pdf 1 force_ps 0 (colorants known)
- */
- code = dev_proc(pdev, get_profile)((gx_device *)pdev, &profile_struct);
- if (code < 0)
- return code;
-
- if (profile_struct->spotnames == NULL) {
- force_pdf = false;
- force_ps = false;
- } else {
-#if LIMIT_TO_ICC
- force_pdf = true;
- force_ps = false;
-#else
- force_pdf = false;
- force_ps = true;
-#endif
- }
- pdev_gprf->warning_given = false;
- /* With planar the depth can be more than 64. Update the color
- info to reflect the proper depth and number of planes. Also note
- that the number of spot colors can change from page to page.
- Update things so that we only output separations for the
- inks on that page. */
-
- if ((pdev_gprf->devn_params.page_spot_colors >= 0 || force_pdf) && !force_ps) {
- if (force_pdf) {
- /* Use the information that is in the ICC profle. We will be here
- anytime that we have limited ourselves to a fixed number
- of colorants specified by the DeviceN ICC profile */
- pdev->color_info.num_components =
- (pdev_gprf->devn_params.separations.num_separations
- + pdev_gprf->devn_params.num_std_colorant_names);
- if (pdev->color_info.num_components > pdev->color_info.max_components)
- pdev->color_info.num_components = pdev->color_info.max_components;
- /* Limit us only to the ICC colorants */
- pdev->color_info.max_components = pdev->color_info.num_components;
- } else {
- /* Use the information that is in the page spot color. We should
- be here if we are processing a PDF and we do not have a DeviceN
- ICC profile specified for output */
- if (!(pdev_gprf->lock_colorants)) {
- pdev->color_info.num_components =
- (pdev_gprf->devn_params.page_spot_colors
- + pdev_gprf->devn_params.num_std_colorant_names);
- if (pdev->color_info.num_components > pdev->color_info.max_components)
- pdev->color_info.num_components = pdev->color_info.max_components;
- }
- }
- } else {
- /* We do not know how many spots may occur on the page.
- For this reason we go ahead and allocate the maximum that we
- have available. Note, lack of knowledge only occurs in the case
- of PS files. With PDF we know a priori the number of spot
- colorants. */
- if (!(pdev_gprf->lock_colorants)) {
- int num_comp = pdev_gprf->max_spots + 4; /* Spots + CMYK */
- if (num_comp > GS_CLIENT_COLOR_MAX_COMPONENTS)
- num_comp = GS_CLIENT_COLOR_MAX_COMPONENTS;
- pdev->color_info.num_components = num_comp;
- pdev->color_info.max_components = num_comp;
- }
- }
- /* Push this to the max amount as a default if someone has not set it */
- if (pdev_gprf->devn_params.num_separation_order_names == 0)
- for (k = 0; k < GS_CLIENT_COLOR_MAX_COMPONENTS; k++) {
- pdev_gprf->devn_params.separation_order_map[k] = k;
- }
- pdev->color_info.depth = pdev->color_info.num_components *
- pdev_gprf->devn_params.bitspercomponent;
- pdev->color_info.separable_and_linear = GX_CINFO_SEP_LIN;
- profile_struct->supports_devn = true;
- code = gdev_prn_open_planar(pdev, true);
-
- /* Take care of the ICC transform now. There are several possible ways
- * that this could go. One is that the CMYK colors are color managed
- * but the non-standard colorants are not. That is, we have specified
- * a CMYK profile for our device but we have other spot colorants in
- * the source file. In this case, we will do managed proofing for the
- * CMYK colorants and use the equivalent CMYK values for the spot colorants.
- * DeviceN colorants will be problematic in this case and we will do the
- * the best we can with the tools given to us. The other possibility is
- * that someone has given an NColor ICC profile for the device and we can
- * actually deal with the mapping directly. This is a much cleaner case
- * but as we know NColor profiles are not too common. Also we need to
- * deal with transparent colorants (e.g. varnish) in an intelligent manner.
- * Note that we require the post rendering profile to be RGB based for
- * this particular device. */
-
- if (pdev_gprf->icclink == NULL && profile_struct->device_profile[0] != NULL
- && profile_struct->postren_profile != NULL &&
- profile_struct->postren_profile->data_cs == gsRGB) {
- rendering_params.black_point_comp = gsBLACKPTCOMP_ON;
- rendering_params.graphics_type_tag = GS_UNKNOWN_TAG;
- rendering_params.override_icc = false;
- rendering_params.preserve_black = gsBLACKPRESERVE_OFF;
- rendering_params.rendering_intent = gsRELATIVECOLORIMETRIC;
- rendering_params.cmm = gsCMM_DEFAULT;
- pdev_gprf->icclink = gsicc_alloc_link_dev(pdev_gprf->memory,
- profile_struct->device_profile[0], profile_struct->postren_profile,
- &rendering_params);
- }
- return code;
-}
-
-/* Color mapping routines */
-
-/*
-* The following procedures are used to map the standard color spaces into
-* the color components. This is not where the color management occurs. These
-* may do a reordering of the colors following some ICC base color management
-* or they may be used in the case of -dUseFastColor as that relies upon the
-* device color mapping procedures
-*/
-static void
-gray_cs_to_gprf_cm(gx_device * dev, frac gray, frac out[])
-{
- int * map = ((gprf_device *)dev)->devn_params.separation_order_map;
- gray_cs_to_devn_cm(dev, map, gray, out);
-}
-
-static void
-rgb_cs_to_gprf_cm(gx_device * dev, const gs_gstate *pgs, frac r, frac g,
- frac b, frac out[])
-{
- int * map = ((gprf_device *)dev)->devn_params.separation_order_map;
- rgb_cs_to_devn_cm(dev, map, pgs, r, g, b, out);
-}
-
-static void
-cmyk_cs_to_gprf_cm(gx_device * dev, frac c, frac m, frac y, frac k, frac out[])
-{
- const gs_devn_params *devn = &(((gprf_device *) dev)->devn_params);
- const int *map = devn->separation_order_map;
- int j;
-
- if (devn->num_separation_order_names > 0) {
- /* This is to set only those that we are using */
- for (j = 0; j < devn->num_separation_order_names; j++) {
- switch (map[j]) {
- case 0:
- out[0] = c;
- break;
- case 1:
- out[1] = m;
- break;
- case 2:
- out[2] = y;
- break;
- case 3:
- out[3] = k;
- break;
- default:
- break;
- }
- }
- }
- else {
- cmyk_cs_to_devn_cm(dev, map, c, m, y, k, out);
- }
-}
-
-static const gx_cm_color_map_procs gprf_cm_procs = {
- gray_cs_to_gprf_cm, rgb_cs_to_gprf_cm, cmyk_cs_to_gprf_cm
-};
-
-/*
- * These are the handlers for returning the list of color space
- * to color model conversion routines.
- */
-static const gx_cm_color_map_procs *
-get_gprf_color_mapping_procs(const gx_device * dev)
-{
- return &gprf_cm_procs;
-}
-
-/* Get parameters. We provide a default CRD. */
-static int
-gprf_get_params(gx_device * pdev, gs_param_list * plist)
-{
- gprf_device *xdev = (gprf_device *)pdev;
- int code;
-
- code = gx_devn_prn_get_params(pdev, plist);
- if (code < 0)
- return code;
-
- code = gx_downscaler_write_params(plist, &xdev->downscale, 0);
- if (code < 0)
- return code;
- code = param_write_int(plist, "MaxSpots", &xdev->max_spots);
- if (code < 0)
- return code;
- code = param_write_bool(plist, "LockColorants", &xdev->lock_colorants);
- return code;
-}
-
-/* Set parameters. We allow setting the number of bits per component. */
-static int
-gprf_put_params(gx_device * pdev, gs_param_list * plist)
-{
- gprf_device * const pdevn = (gprf_device *) pdev;
- int code = 0;
-
- gx_device_color_info save_info = pdevn->color_info;
-
- code = gx_downscaler_read_params(plist, &pdevn->downscale, 0);
- if (code < 0)
- return code;
-
- switch (code = param_read_bool(plist, "LockColorants", &(pdevn->lock_colorants))) {
- case 0:
- break;
- case 1:
- break;
- default:
- param_signal_error(plist, "LockColorants", code);
- return code;
- }
-
- switch (code = param_read_int(plist,
- "MaxSpots",
- &pdevn->max_spots)) {
- case 0:
- if (pdevn->max_spots >= 0 && pdevn->max_spots <= GS_CLIENT_COLOR_MAX_COMPONENTS-4)
- break;
- emprintf1(pdevn->memory, "MaxSpots must be between 0 and %d\n",
- GS_CLIENT_COLOR_MAX_COMPONENTS-4);
- code = gs_error_rangecheck;
- /* fall through */
- default:
- param_signal_error(plist, "MaxSpots", code);
- return code;
- case 1:
- break;
- }
- code = 0;
-
- /* handle the standard DeviceN related parameters */
- if (code == 0)
- code = gx_devn_prn_put_params(pdev, plist);
-
- if (code < 0) {
- pdev->color_info = save_info;
- return code;
- }
- return code;
-}
-
-/*
- * This routine will check to see if the color component name match those
- * that are available amoung the current device's color components.
- *
- * Parameters:
- * dev - pointer to device data structure.
- * pname - pointer to name (zero termination not required)
- * nlength - length of the name
- *
- * This routine returns a positive value (0 to n) which is the device colorant
- * number if the name is found. It returns a negative value if not found.
- */
-static int
-gprf_get_color_comp_index(gx_device * dev, const char * pname,
- int name_size, int component_type)
-{
- int index;
- gprf_device *pdev = (gprf_device *)dev;
-
- if (strncmp(pname, "None", name_size) == 0) return -1;
- index = gx_devn_prn_get_color_comp_index(dev, pname, name_size,
- component_type);
- /* This is a one shot deal. That is it will simply post a notice once that
- some colorants will be converted due to a limit being reached. It will
- not list names of colorants since then I would need to keep track of
- which ones I have already mentioned. Also, if someone is fooling with
- num_order, then this warning is not given since they should know what
- is going on already */
- if (index < 0 && component_type == SEPARATION_NAME &&
- pdev->warning_given == false &&
- pdev->devn_params.num_separation_order_names == 0) {
- dmlprintf(dev->memory, "**** Max spot colorants reached.\n");
- dmlprintf(dev->memory, "**** Some colorants will be converted to equivalent CMYK values.\n");
- dmlprintf(dev->memory, "**** If this is a Postscript file, try using the -dMaxSpots= option.\n");
- pdev->warning_given = true;
- }
- return index;
-}
-
-/* ------ Private definitions ------ */
-
-typedef struct {
- gp_file *f;
-
- int width;
- int height;
- int n_extra_channels;
- int num_channels; /* base_bytes_pp + any spot colors that are imaged */
- /* Map output channel number to original separation number. */
- int chnl_to_orig_sep[GX_DEVICE_COLOR_MAX_COMPONENTS];
- /* Map output channel number to gx_color_index position. */
- int chnl_to_position[GX_DEVICE_COLOR_MAX_COMPONENTS];
-
- gsicc_link_t *icclink;
-
- unsigned long table_offset;
- gx_device_printer *dev;
- int deflate_bound;
- byte *deflate_block;
-} gprf_write_ctx;
-
-static int
-gprf_setup(gprf_write_ctx *xc, gx_device_printer *pdev, gp_file *file, int w, int h,
- gsicc_link_t *icclink)
-{
- int i;
- int spot_count;
- z_stream zstm;
- gx_devn_prn_device *dev = (gx_devn_prn_device *)pdev;
-
- xc->f = file;
- xc->dev = pdev;
- xc->icclink = icclink;
-
-#define NUM_CMYK_COMPONENTS 4
- for (i = 0; i < GX_DEVICE_COLOR_MAX_COMPONENTS; i++) {
- if (dev->devn_params.std_colorant_names[i] == NULL)
- break;
- }
- xc->num_channels = i;
- if (dev->devn_params.num_separation_order_names == 0) {
- xc->n_extra_channels = dev->devn_params.separations.num_separations;
- } else {
- /* Have to figure out how many in the order list were not std
- colorants */
- spot_count = 0;
- for (i = 0; i < dev->devn_params.num_separation_order_names; i++) {
- if (dev->devn_params.separation_order_map[i] >= NUM_CMYK_COMPONENTS) {
- spot_count++;
- }
- }
- xc->n_extra_channels = spot_count;
- }
- xc->width = w;
- xc->height = h;
- /*
- * Determine the order of the output components. This is based upon
- * the SeparationOrder parameter. This parameter can be used to select
- * which planes are actually imaged. For the process color model channels
- * we image the channels which are requested. Non requested process color
- * model channels are simply filled with white. For spot colors we only
- * image the requested channels.
- */
- for (i = 0; i < xc->num_channels + xc->n_extra_channels; i++) {
- xc->chnl_to_position[i] = i;
- xc->chnl_to_orig_sep[i] = i;
- }
- /* If we had a specify order name, then we may need to adjust things */
- if (dev->devn_params.num_separation_order_names > 0) {
- for (i = 0; i < dev->devn_params.num_separation_order_names; i++) {
- int sep_order_num = dev->devn_params.separation_order_map[i];
- if (sep_order_num >= NUM_CMYK_COMPONENTS) {
- xc->chnl_to_position[xc->num_channels] = sep_order_num;
- xc->chnl_to_orig_sep[xc->num_channels++] = sep_order_num;
- }
- }
- } else {
- xc->num_channels += dev->devn_params.separations.num_separations;
- }
-
- zstm.zalloc = NULL;
- zstm.zfree = NULL;
- zstm.opaque = NULL;
- deflateInit(&zstm, Z_BEST_SPEED);
- xc->deflate_bound = deflateBound(&zstm, 256*256);
- deflateEnd(&zstm);
- xc->deflate_block = gs_alloc_bytes(dev->memory, xc->deflate_bound, "gprf_setup");
-
- return (xc->deflate_block != NULL);
-}
-
-/* All multi-byte quantities are stored LSB-first! */
-#if ARCH_IS_BIG_ENDIAN
-# define assign_u16(a,v) a = ((v) >> 8) + ((v) << 8)
-# define assign_u32(a,v) a = (((v) >> 24) & 0xff) + (((v) >> 8) & 0xff00) + (((v) & 0xff00) << 8) + (((v) & 0xff) << 24)
-#else
-# define assign_u16(a,v) a = (v)
-# define assign_u32(a,v) a = (v)
-#endif
-
-static int
-gprf_write(gprf_write_ctx *xc, const byte *buf, int size) {
- int code;
-
- code = gp_fwrite(buf, 1, size, xc->f);
- if (code < size)
- return_error(gs_error_ioerror);
- return 0;
-}
-
-static int
-gprf_write_8(gprf_write_ctx *xc, byte v)
-{
- return gprf_write(xc, (byte *)&v, 1);
-}
-
-static int
-gprf_write_16(gprf_write_ctx *xc, bits16 v)
-{
- bits16 buf;
-
- assign_u16(buf, v);
- return gprf_write(xc, (byte *)&buf, 2);
-}
-
-static int
-gprf_write_32(gprf_write_ctx *xc, bits32 v)
-{
- bits32 buf;
-
- assign_u32(buf, v);
- return gprf_write(xc, (byte *)&buf, 4);
-}
-
-static int
-gprf_write_header(gprf_write_ctx *xc)
-{
- int i, code;
- int index;
- unsigned int offset;
- gx_devn_prn_device *dev = (gx_devn_prn_device *)xc->dev;
-
- code = (unsigned int)gp_ftell(xc->f);
- if (code < 0)
- return_error(gs_error_ioerror);
-
- offset = (unsigned int)code;
-
- code = gprf_write(xc, (const byte *)"GSPF", 4); /* Signature */
- if (code < 0)
- return code;
- code = gprf_write_16(xc, 1); /* Version - Always equal to 1*/
- if (code < 0)
- return code;
- code = gprf_write_16(xc, 0); /* Compression method - 0 (deflated deltas) */
- if (code < 0)
- return code;
- code = gprf_write_32(xc, xc->width);
- if (code < 0)
- return code;
- code = gprf_write_32(xc, xc->height);
- if (code < 0)
- return code;
- code = gprf_write_16(xc, 8); /* Bits per channel */
- if (code < 0)
- return code;
- code = gprf_write_16(xc, xc->num_channels); /* Number of separations */
- if (code < 0)
- return code;
- code = gprf_write_32(xc, 0); /* ICC offset */
- if (code < 0)
- return code;
- code = gprf_write_32(xc, 0); /* ICC offset */
- if (code < 0)
- return code;
- code = gprf_write_32(xc, 0); /* Table offset */
- if (code < 0)
- return code;
- code = gprf_write_32(xc, 0); /* Table offset */
- if (code < 0)
- return code;
- code = gprf_write_32(xc, 0); /* Reserved */
- if (code < 0)
- return code;
- code = gprf_write_32(xc, 0); /* Reserved */
- if (code < 0)
- return code;
- code = gprf_write_32(xc, 0); /* Reserved */
- if (code < 0)
- return code;
- code = gprf_write_32(xc, 0); /* Reserved */
- if (code < 0)
- return code;
- code = gprf_write_32(xc, 0); /* Reserved */
- if (code < 0)
- return code;
- code = gprf_write_32(xc, 0); /* Reserved */
- if (code < 0)
- return code;
- code = gprf_write_32(xc, 0); /* Reserved */
- if (code < 0)
- return code;
-
- /* Color Mode Data */
- for (i = 0; i < xc->num_channels; i++)
- {
- int j = xc->chnl_to_orig_sep[i];
- const char *name;
- int namelen;
- int c, m, y, k;
- byte cmyk[4], rgba[4];
-
- if (j < NUM_CMYK_COMPONENTS) {
- name = dev->devn_params.std_colorant_names[j];
- cmyk[0] = 0;
- cmyk[1] = 0;
- cmyk[2] = 0;
- cmyk[3] = 0;
- cmyk[j] = 255;
- if (name == NULL)
- namelen = 0;
- else
- namelen = strlen(name);
- } else {
- index = j - NUM_CMYK_COMPONENTS;
- name = (const char *)dev->devn_params.separations.names[index].data;
- namelen = dev->devn_params.separations.names[index].size;
- c = (2 * 255 * dev->equiv_cmyk_colors.color[index].c + frac_1) / (2 * frac_1);
- cmyk[0] = (c < 0 ? 0 : (c > 255 ? 255 : c));
- m = (2 * 255 * dev->equiv_cmyk_colors.color[index].m + frac_1) / (2 * frac_1);
- cmyk[1] = (m < 0 ? 0 : (m > 255 ? 255 : m));
- y = (2 * 255 * dev->equiv_cmyk_colors.color[index].y + frac_1) / (2 * frac_1);
- cmyk[2] = (y < 0 ? 0 : (y > 255 ? 255 : y));
- k = (2 * 255 * dev->equiv_cmyk_colors.color[index].k + frac_1) / (2 * frac_1);
- cmyk[3] = (k < 0 ? 0 : (k > 255 ? 255 : k));
- }
-
- /* Convert color to RGBA. To get the A value, we are going to need to
- deal with the mixing hints information in the PDF content. A ToDo
- project. At this point, everything has an alpha of 1.0 */
- rgba[3] = 255;
- if (xc->icclink != NULL) {
- xc->icclink->procs.map_color((gx_device *)dev, xc->icclink,
- &(cmyk[0]), &(rgba[0]), 1);
- } else {
- /* Something was wrong with the icclink. Use the canned routines. */
- frac rgb_frac[3], cmyk_frac[4];
- int index;
- int temp;
-
- if (j >= NUM_CMYK_COMPONENTS) {
- /* Non std. colorant */
- color_cmyk_to_rgb(dev->equiv_cmyk_colors.color[j].c,
- dev->equiv_cmyk_colors.color[j].m,
- dev->equiv_cmyk_colors.color[j].y,
- dev->equiv_cmyk_colors.color[j].k, NULL, rgb_frac, dev->memory);
- } else {
- /* Std. colorant */
- cmyk_frac[0] = frac_0;
- cmyk_frac[1] = frac_0;
- cmyk_frac[2] = frac_0;
- cmyk_frac[3] = frac_0;
- cmyk_frac[j] = frac_1;
- color_cmyk_to_rgb(cmyk_frac[0], cmyk_frac[1], cmyk_frac[2],
- cmyk_frac[3], NULL, rgb_frac, dev->memory);
- }
- /* Out of frac and to byte */
- for (index = 0; index < 3; index++) {
- temp = (2 * 255 * rgb_frac[index] + frac_1) / (2 * frac_1);
- rgba[index] = (temp < 0 ? 0 : (temp > 255 ? 255 : temp));
- }
- }
-
- code = gprf_write_8(xc, rgba[0]);
- if (code < 0)
- return code;
- code = gprf_write_8(xc, rgba[1]);
- if (code < 0)
- return code;
- code = gprf_write_8(xc, rgba[2]);
- if (code < 0)
- return code;
- code = gprf_write_8(xc, rgba[3]);
- if (code < 0)
- return code;
- code = gprf_write_8(xc, cmyk[0]);
- if (code < 0)
- return code;
- code = gprf_write_8(xc, cmyk[1]);
- if (code < 0)
- return code;
- code = gprf_write_8(xc, cmyk[2]);
- if (code < 0)
- return code;
- code = gprf_write_8(xc, cmyk[3]);
- if (code < 0)
- return code;
-
- if (namelen > 0) {
- code = gprf_write(xc, (const byte *)name, namelen);
- if (code < 0)
- return code;
- }
- code = gprf_write_8(xc, 0);
- if (code < 0)
- return code;
- }
-
- /* FIXME: ICC Profile would go here */
- /* Since MuPDF can't really use the profile and it's optional, at this point
- * we will not spend time writing out the profile. */
- /* Update header pointer to table */
- code = (unsigned long)gp_ftell(xc->f);
- if (code < 0)
- return_error(gs_error_ioerror);
- xc->table_offset = (unsigned int) code;
- if (gp_fseek(xc->f, offset+28, SEEK_SET) != 0)
- return_error (gs_error_ioerror);
- code = gprf_write_32(xc, xc->table_offset);
- if (code < 0)
- return code;
- if (gp_fseek(xc->f, xc->table_offset, SEEK_SET) != 0)
- return_error(gs_error_ioerror);
- return 0;
-}
-
-/*
- * Close device and clean up ICC structures.
- */
-static int
-gprf_prn_close(gx_device *dev)
-{
- gprf_device * const xdev = (gprf_device *) dev;
-
- if (xdev->icclink != NULL) {
- xdev->icclink->procs.free_link(xdev->icclink);
- gsicc_free_link_dev(xdev->memory, xdev->icclink);
- xdev->icclink = NULL;
- }
- return gdev_prn_close(dev);
-}
-
-static void *my_zalloc(void *opaque, unsigned int items, unsigned int size)
-{
- gs_memory_t *mem = (gs_memory_t *)opaque;
- return gs_alloc_bytes(mem, items * size, "gprf_zalloc");
-}
-
-static void my_zfree(void *opaque, void *addr)
-{
- gs_memory_t *mem = (gs_memory_t *)opaque;
- gs_free_object(mem, addr, "gprf_zalloc");
-}
-
-static int
-updateTable(gprf_write_ctx *xc)
-{
- int offset, code;
-
- /* Read the current position of the file */
- offset = gp_ftell(xc->f);
- if (offset < 0)
- return_error(gs_error_ioerror);
-
- /* Put that value into the table */
- if (gp_fseek(xc->f, xc->table_offset, SEEK_SET) != 0)
- return_error(gs_error_ioerror);
-
- code = gprf_write_32(xc, offset);
- if (code < 0)
- return code;
-
- code = gprf_write_32(xc, 0);
- if (code < 0)
- return code;
-
- xc->table_offset += 8;
-
- /* Seek back to where we were before */
- if (gp_fseek(xc->f, offset, SEEK_SET) != 0)
- return_error(gs_error_ioerror);
- return 0;
-}
-
-static int
-compressAndWrite(gprf_write_ctx *xc, byte *data, int tile_w, int tile_h, int raster)
-{
- int x, y, code;
- int delta = 0;
- byte *row_d;
- int orr = 0;
- z_stream zstm;
-
- code = updateTable(xc);
- if (code < 0)
- return code;
-
- /* Delta the data (and check for non-zero) */
- row_d = data;
- for (y = 0; y < tile_h; y++)
- {
- byte *d = row_d;
- for (x = 0; x < tile_w; x++)
- {
- int del = *d;
- orr |= *d;
- *d++ -= delta;
- delta = del;
- }
- row_d += raster;
- }
-
- /* If the separation is blank, no need to write anything more */
- if (orr == 0)
- return 0;
-
- /* Now we need to compress the data and write it. */
- zstm.zalloc = my_zalloc;
- zstm.zfree = my_zfree;
- zstm.opaque = xc->dev->memory;
- deflateInit(&zstm, Z_BEST_SPEED);
- zstm.avail_out = xc->deflate_bound;
- zstm.next_out = xc->deflate_block;
-
- row_d = data;
- for (y = 0; y < tile_h; y++)
- {
- zstm.avail_in = tile_w;
- zstm.next_in = row_d;
- deflate(&zstm, Z_NO_FLUSH);
- row_d += raster;
- }
- deflate(&zstm, Z_FINISH);
- deflateEnd(&zstm);
-
- code = gprf_write(xc, xc->deflate_block, xc->deflate_bound - zstm.avail_out);
- if (code < 0)
- return_error(gs_error_ioerror);
- return 0;
-}
-
-/* If the profile is NULL or if the profile does not support the spot
- colors then we have to calculate the equivalent CMYK values and then color
- manage. */
-static void
-build_cmyk_planar_raster(gprf_write_ctx *xc, byte *planes[], byte *cmyk_in,
- int raster, int ypos, cmyk_composite_map * cmyk_map)
-{
- int pixel, comp_num;
- uint temp, cyan, magenta, yellow, black;
- cmyk_composite_map * cmyk_map_entry;
- int num_comp = xc->num_channels;
- byte *cmyk = cmyk_in;
-
- for (pixel = 0; pixel < raster; pixel++) {
- cmyk_map_entry = cmyk_map;
- /* Get the first one */
- temp = *(planes[xc->chnl_to_position[0]] + ypos * raster + pixel);
- cyan = cmyk_map_entry->c * temp;
- magenta = cmyk_map_entry->m * temp;
- yellow = cmyk_map_entry->y * temp;
- black = cmyk_map_entry->k * temp;
- cmyk_map_entry++;
- /* Add in the contributions from the rest */
- for (comp_num = 1; comp_num < num_comp; comp_num++) {
- temp = *(planes[xc->chnl_to_position[comp_num]] + ypos * raster + pixel);
- cyan += cmyk_map_entry->c * temp;
- magenta += cmyk_map_entry->m * temp;
- yellow += cmyk_map_entry->y * temp;
- black += cmyk_map_entry->k * temp;
- cmyk_map_entry++;
- }
- cyan /= frac_1;
- magenta /= frac_1;
- yellow /= frac_1;
- black /= frac_1;
- if (cyan > MAX_COLOR_VALUE)
- cyan = MAX_COLOR_VALUE;
- if (magenta > MAX_COLOR_VALUE)
- magenta = MAX_COLOR_VALUE;
- if (yellow > MAX_COLOR_VALUE)
- yellow = MAX_COLOR_VALUE;
- if (black > MAX_COLOR_VALUE)
- black = MAX_COLOR_VALUE;
- /* Now store the CMYK value in the planar buffer */
- cmyk[0] = cyan;
- cmyk[raster] = magenta;
- cmyk[2 * raster] = yellow;
- cmyk[3 * raster] = black;
- cmyk++;
- }
-}
-
-/* Create RGB from CMYK the horribly slow way */
-static void
-get_rgb_planar_line(gprf_write_ctx *xc, byte *c, byte *m, byte *y, byte *k,
- byte *red_in, byte *green_in, byte *blue_in, int width)
-{
- int x_pos;
- int c_val, m_val, y_val, k_val;
- gprf_device *gprf_dev = (gprf_device *)xc->dev;
- frac rgb_frac[3];
- int temp;
- byte *rp = red_in;
- byte *gp = green_in;
- byte *bp = blue_in;
-
- for (x_pos = 0; x_pos < width; x_pos++) {
-
- c_val = (int)((long)(*c++)* frac_1 / 255.0);
- c_val = (c_val < 0 ? 0 : (c_val > frac_1 ? frac_1 : c_val));
-
- m_val = (int)((long)(*m++)* frac_1 / 255.0);
- m_val = (m_val < 0 ? 0 : (m_val > frac_1 ? frac_1 : m_val));
-
- y_val = (int)((long)(*y++)* frac_1 / 255.0);
- y_val = (y_val < 0 ? 0 : (y_val > frac_1 ? frac_1 : y_val));
-
- k_val = (int)((long)(*k++)* frac_1 / 255.0);
- k_val = (k_val < 0 ? 0 : (k_val > frac_1 ? frac_1 : k_val));
-
- color_cmyk_to_rgb(c_val, m_val, y_val, k_val, NULL, rgb_frac,
- gprf_dev->memory);
-
- temp = (2 * 255 * rgb_frac[0] + frac_1) / (2 * frac_1);
- temp = (temp < 0 ? 0 : (temp > 255 ? 255 : temp));
- *rp++ = temp;
-
- temp = (2 * 255 * rgb_frac[1] + frac_1) / (2 * frac_1);
- temp = (temp < 0 ? 0 : (temp > 255 ? 255 : temp));
- *gp++ = temp;
-
- temp = (2 * 255 * rgb_frac[2] + frac_1) / (2 * frac_1);
- temp = (temp < 0 ? 0 : (temp > 255 ? 255 : temp));
- *bp++ = temp;
- }
-}
-
-/*
- * Output the image data for the GPRF device.
- */
-static int
-gprf_write_image_data(gprf_write_ctx *xc)
-{
- gx_device_printer *pdev = xc->dev;
- int raster_row = bitmap_raster(pdev->width * 8);
- int raster_plane;
- byte *planes[GS_CLIENT_COLOR_MAX_COMPONENTS];
- byte *rgb[3];
- byte *cmyk = NULL;
- int code = 0;
- int i, y;
- int chan_idx;
- int tiled_w, tiled_h, tile_x, tile_y;
- int num_comp = xc->num_channels;
- gs_get_bits_params_t params;
- gx_downscaler_t ds = { NULL };
- gprf_device *gprf_dev = (gprf_device *)pdev;
- bool slowcolor = false;
- bool equiv_needed = false;
- cmyk_composite_map cmyk_map[GX_DEVICE_COLOR_MAX_COMPONENTS];
- gsicc_bufferdesc_t input_buffer_desc;
- gsicc_bufferdesc_t output_buffer_desc;
-
- /* Get set up for color management */
- /* We are going to deal with four cases for creating the RGB content.
- * Case 1: We have a CMYK ICC profile and only CMYK colors.
- * Case 2: We have a DeviceN ICC profile, which defines all our colorants
- * Case 3: We have a CMYK ICC profile and non-standard spot colorants
- * Case 4: There was an issue creating the ICC link
- * For Case 1 and Case 2, we will do a direct ICC mapping from the
- * planar components to the RGB proofing color. This is the best work
- * flow for accurate color proofing.
- * For Case 3, we will need to compute the equivalent CMYK color similar
- * to what the tiffsep device does and then apply the ICC mapping
- * For Case 4, we need to compute the equivalent CMYK color mapping AND
- * do the slow conversion to RGB */
-
- if (gprf_dev->icclink == NULL) {
- /* Case 4 */
- slowcolor = true;
- equiv_needed = true;
- } else {
- if (num_comp > 4 &&
- gprf_dev->icc_struct->device_profile[0]->data_cs == gsCMYK) {
- /* Case 3 */
- equiv_needed = true;
- }
- }
-
- /* Return planar data */
- params.options = (GB_RETURN_POINTER | GB_RETURN_COPY |
- GB_ALIGN_STANDARD | GB_OFFSET_0 | GB_RASTER_STANDARD |
- GB_PACKING_PLANAR | GB_COLORS_NATIVE | GB_ALPHA_NONE);
- params.x_offset = 0;
- params.raster = raster_row;
-
- /* For every plane, we need a buffer large enough to let us pull out
- * 256 raster lines from that plane. Make contiguous so that we can apply
- * color management */
- raster_plane = raster_row * 256;
- planes[0] = gs_alloc_bytes(pdev->memory, raster_plane * num_comp, "gprf_write_image_data");
- if (planes[0] == NULL)
- return_error(gs_error_VMerror);
-
- for (chan_idx = 1; chan_idx < num_comp; chan_idx++)
- {
- planes[chan_idx] = planes[0] + raster_plane * chan_idx;
- params.data[chan_idx] = planes[chan_idx];
- }
-
- /* We also need space for our RGB planes. */
- rgb[0] = gs_alloc_bytes(pdev->memory, raster_plane * 3,
- "gprf_write_image_data");
- if (rgb[0] == NULL)
- return_error(gs_error_VMerror);
- rgb[1] = rgb[0] + raster_plane;
- rgb[2] = rgb[0] + raster_plane * 2;
-
- /* Finally, we may need a temporary CMYK composite if we have no profile
- * to handle the spot colorants. Case 3 and Case 4. Also build the mapping
- * at this point. Note that this does not need to be the whole tile, just
- * a row across as it can be reused */
- if (equiv_needed) {
- build_cmyk_map((gx_device*)gprf_dev, num_comp, &gprf_dev->equiv_cmyk_colors,
- cmyk_map);
- cmyk = gs_alloc_bytes(pdev->memory, raster_row * 4,
- "gprf_write_image_data");
- if (cmyk == NULL)
- return_error(gs_error_VMerror);
- }
-
- code = gx_downscaler_init_planar(&ds, (gx_device *)pdev, &params, num_comp,
- gprf_dev->downscale.downscale_factor, 0, 8, 8);
- if (code < 0)
- goto cleanup;
-
- tiled_w = (xc->width + 255) / 256;
- tiled_h = (xc->height + 255) / 256;
-
- /* Reserve space in the table for all the offsets */
- for (i = 8 * tiled_w * tiled_h * (3 + xc->num_channels); i >= 0; i -= 8) {
- code = gprf_write_32(xc, 0);
- if (code < 0)
- return code;
- code = gprf_write_32(xc, 0);
- if (code < 0)
- return code;
- }
-
- /* Print the output planes */
- /* For each row of tiles... */
- for (tile_y = 0; tile_y < tiled_h; tile_y++) {
- /* Pull out the data for the tiles in that row. */
- int tile_h = (xc->height - tile_y * 256);
-
- if (tile_h > 256)
- tile_h = 256;
- for (y = 0; y < tile_h; y++) {
- for (chan_idx = 0; chan_idx < num_comp; chan_idx++) {
- params.data[chan_idx] = planes[chan_idx] + y * raster_row;
- }
- code = gx_downscaler_get_bits_rectangle(&ds, &params, y + tile_y * 256);
- if (code < 0)
- goto cleanup;
- for (chan_idx = 0; chan_idx < num_comp; chan_idx++) {
- if (params.data[chan_idx] != planes[chan_idx] + y * raster_row)
- memcpy(planes[chan_idx] + y * raster_row, params.data[chan_idx], raster_row);
- }
- /* Take care of any color management */
- if (equiv_needed) {
- build_cmyk_planar_raster(xc, planes, cmyk, raster_row, y, cmyk_map);
- /* At this point we have equiv. CMYK data */
- if (slowcolor) {
- /* Slowest case, no profile and spots present */
- get_rgb_planar_line(xc, cmyk, cmyk + raster_row,
- cmyk + 2 * raster_row, cmyk + 3 * raster_row,
- rgb[0] + y * raster_row, rgb[1] + y * raster_row,
- rgb[2] + y * raster_row, pdev->width);
- } else {
- /* ICC approach. Likely a case with spots but CMYK profile */
- /* set up for planar buffer transform */
- gsicc_init_buffer(&input_buffer_desc, 4, 1, false, false, true,
- raster_row, raster_row, 1, pdev->width);
- gsicc_init_buffer(&output_buffer_desc, 3, 1, false, false, true,
- raster_plane, raster_row, 1, pdev->width);
- xc->icclink->procs.map_buffer((gx_device *)gprf_dev,
- xc->icclink, &input_buffer_desc, &output_buffer_desc,
- cmyk, rgb[0] + y * raster_row);
- }
- } else {
- if (slowcolor) {
- /* CMYK input but profile likely missing here */
- get_rgb_planar_line(xc, planes[xc->chnl_to_position[0]] + y * raster_row,
- planes[xc->chnl_to_position[xc->chnl_to_position[1]]] + y * raster_row,
- planes[xc->chnl_to_position[xc->chnl_to_position[2]]] + y * raster_row,
- planes[xc->chnl_to_position[xc->chnl_to_position[3]]] + y * raster_row,
- rgb[0] + y * raster_row, rgb[1] + y * raster_row,
- rgb[2] + y * raster_row, pdev->width);
- } else {
- /* Fastest case all ICC. Note this could have an issue
- if someone reorders the cmyk values. */
- gsicc_init_buffer(&input_buffer_desc, num_comp, 1, false,
- false, true, raster_plane, raster_row, 1, pdev->width);
- gsicc_init_buffer(&output_buffer_desc, 3, 1, false, false, true,
- raster_plane, raster_row, 1, pdev->width);
- xc->icclink->procs.map_buffer((gx_device *)gprf_dev,
- xc->icclink, &input_buffer_desc, &output_buffer_desc,
- planes[0] + y * raster_row, rgb[0] + y * raster_row);
- }
- }
- }
-
- /* Now, for each tile... */
- for (tile_x = 0; tile_x < tiled_w; tile_x++) {
- int tile_w = (xc->width - tile_x * 256);
-
- if (tile_w > 256)
- tile_w = 256;
-
- /* Now we have to compress and write each separation in turn */
- code = compressAndWrite(xc, rgb[0] + tile_x * 256, tile_w, tile_h, raster_row);
- if (code >= 0)
- code = compressAndWrite(xc, rgb[1] + tile_x * 256, tile_w, tile_h, raster_row);
- if (code >= 0)
- code = compressAndWrite(xc, rgb[2] + tile_x * 256, tile_w, tile_h, raster_row);
- for (chan_idx = 0; chan_idx < num_comp; chan_idx++) {
- int j = xc->chnl_to_position[chan_idx];
- if (code >= 0)
- code = compressAndWrite(xc, planes[j] + tile_x * 256, tile_w, tile_h, raster_row);
- }
- }
- }
-
- /* And put the last entry in the table */
- updateTable(xc);
-
-cleanup:
- gx_downscaler_fin(&ds);
- gs_free_object(pdev->memory, planes[0], "gprf_write_image_data");
- gs_free_object(pdev->memory, rgb[0], "gprf_write_image_data");
- gs_free_object(pdev->memory, xc->deflate_block, "gprf_write_image_data");
- if (equiv_needed) {
- gs_free_object(pdev->memory, cmyk, "gprf_write_image_data");
- }
- return code;
-}
-
-static int
-gprf_print_page(gx_device_printer *pdev, gp_file *file)
-{
- int code;
-
- gprf_write_ctx xc;
- gprf_device *gprf_dev = (gprf_device *)pdev;
-
- gprf_setup(&xc, pdev, file,
- gx_downscaler_scale(pdev->width, gprf_dev->downscale.downscale_factor),
- gx_downscaler_scale(pdev->height, gprf_dev->downscale.downscale_factor),
- gprf_dev->icclink);
- code = gprf_write_header(&xc);
- if (code < 0)
- return code;
- code = gprf_write_image_data(&xc);
- if (code < 0)
- return code;
- return 0;
-}
diff --git a/devices/gdevhl7x.c b/devices/gdevhl7x.c
index 786449d9..1a3e5949 100644
--- a/devices/gdevhl7x.c
+++ b/devices/gdevhl7x.c
@@ -108,7 +108,7 @@ typedef struct {
typedef struct {
short previousSize;
- Byte previousData[1500]; /* Size bigger than any possible line */
+ Byte* previousData;
short nbBlankLines;
short nbLinesSent;
short pageWidth;
@@ -139,7 +139,9 @@ static int dumpPage(gx_device_printer * pSource,
ByteList * pCommandList,
Summary * pSummary
);
-static void initSummary(Summary * s,short pw, short ph, short resolution);
+static int initSummary(gx_device_printer* pdev, Summary * s,short pw, short ph, short resolution);
+
+static void freeSummary(gx_device_printer* pdev, Summary * s);
static void resetPreviousData(Summary * s);
@@ -319,6 +321,7 @@ static int
hl7x0_print_page(gx_device_printer *pdev, gp_file *printStream, int ptype,
int dots_per_inch, ByteList *initCommand)
{
+ int code;
/* UTILE*/
/* Command for a formFeed (we can't use strings because of the zeroes...)*/
Byte FormFeed[] = {'@','G',0x00,0x00,0x01,0xFF,'@','F'};
@@ -338,12 +341,17 @@ hl7x0_print_page(gx_device_printer *pdev, gp_file *printStream, int ptype,
/* bool dupset = pdev->Duplex_set >= 0; */
Summary pageSummary;
ByteList commandsBuffer;
- initSummary(&pageSummary,
+ if ( storage == 0 ) /* can't allocate working area */
+ return_error(gs_error_VMerror);
+ code = initSummary(pdev,
+ &pageSummary,
line_size,
num_rows,
x_dpi);
- if ( storage == 0 ) /* can't allocate working area */
- return_error(gs_error_VMerror);
+ if (code < 0) {
+ gs_free(pdev->memory, (char *)storage, storage_size_words, 1, "hl7X0_print_page");
+ return code;
+ }
initByteList(&commandsBuffer, storage, sizeOfBuffer,0 );
/* PLUS A MOI */
if ( pdev->PageCount == 0 )
@@ -358,9 +366,11 @@ hl7x0_print_page(gx_device_printer *pdev, gp_file *printStream, int ptype,
storage + sizeOfBuffer, /* The line buffer is after the dump buffer */
&commandsBuffer,
&pageSummary);
+ if (result < 0)
+ goto xit;
dumpToPrinter(&commandsBuffer,printStream);
- } while (result == DumpContinue);
+ } while (result == DumpContinue); /* NB: at end of page, result will be DumpFinished == 0 */
/* end raster graphics and eject page */
initByteList(&formFeedCommand,
@@ -369,10 +379,12 @@ hl7x0_print_page(gx_device_printer *pdev, gp_file *printStream, int ptype,
sizeof(FormFeed)); /* First free byte */
dumpToPrinter(&formFeedCommand, printStream);
+xit:
/* free temporary storage */
+ freeSummary(pdev, &pageSummary);
gs_free(pdev->memory, (char *)storage, storage_size_words, 1, "hl7X0_print_page");
- return 0; /* If we reach this line, it means there was no error */
+ return result; /* If we reach this line, it means there was no error */
}
/*
@@ -413,14 +425,23 @@ return (((LETTER_WIDTH * resolution/600 - pixWidth) + pixOffset * 2) + 7) / 8;
/*
* First values in a Summary
*/
-static void initSummary(Summary * s,short pw, short ph, short resolution){
+static int initSummary(gx_device_printer* pdev, Summary * s,short pw, short ph, short resolution){
s->previousSize = -1 ;
+ s->previousData = gs_malloc(pdev->memory, pw, 1, "initSummary");
s->nbBlankLines = 1;
s->nbLinesSent = 0;
s->pageWidth = pw; /* In Bytes */
s->pageHeight = ph;
s->horizontalOffset = horizontalOffset( pw * 8,LEFT_MARGIN, resolution) ;
s->resolution = resolution;
+ if (!s->previousData) {
+ return_error(gs_error_VMerror);
+ }
+ return 0;
+}
+
+static void freeSummary(gx_device_printer* pdev, Summary * s) {
+ gs_free(pdev->memory, s->previousData, s->pageWidth, 1, "freeSummary");
}
/*
@@ -445,6 +466,8 @@ static int dumpPage(gx_device_printer * pSource,
short lineNB;
short usefulLength;
short tmpLength;
+ int code = 0;
+
/* Initializations */
/* Make room for size of commands buffer */
pSaveCommandStart = currentPosition(pCommandList);
@@ -454,10 +477,12 @@ static int dumpPage(gx_device_printer * pSource,
for (lineNB = pSummary->nbLinesSent /*ERROR? + nbBlankLines */ ;
lineNB < pSummary->pageHeight ; lineNB ++ ) {
/* Fetch the line and put it into the buffer */
- gdev_prn_copy_scan_lines(pSource,
+ code = gdev_prn_copy_scan_lines(pSource,
lineNB,
pLineTmp,
pSummary->pageWidth);
+ if (code < 0)
+ return code;
usefulLength = stripTrailingBlanks(pLineTmp,pSummary->pageWidth);
if (usefulLength != 0) {
diff --git a/devices/gdevicov.c b/devices/gdevicov.c
index 4f4d7f5c..517ca4ff 100644
--- a/devices/gdevicov.c
+++ b/devices/gdevicov.c
@@ -37,18 +37,20 @@
static int
cov_write_page(gx_device_printer *pdev, gp_file *file)
{
- int code = 0;
+ int code = 0, ecode = 0;
int raster = gdev_prn_raster(pdev);
int height = pdev->height;
byte *line = gs_alloc_bytes(pdev->memory, raster, "ink coverage plugin buffer");
int y;
uint64_t c_pix = 0, m_pix = 0, y_pix = 0, k_pix = 0, total_pix = 0;
+ if (line == NULL)
+ return gs_error_VMerror;
for (y = 0; y < height; y++) {
byte *row, *end;
- code = gdev_prn_get_bits(pdev, y, line, &row);
- if (code < 0)
+ ecode = gdev_prn_get_bits(pdev, y, line, &row);
+ if (ecode < 0)
break;
end = row + raster;
@@ -90,14 +92,14 @@ cov_write_page(gx_device_printer *pdev, gp_file *file)
}
}
- return 0;
+ return (code > 0) ? ecode : 0;
}
/* cov_write_page2 gave ink coverage values not ratecoverage */
static int cov_write_page_ink(gx_device_printer *pdev, gp_file *file)
{
- int code = 0;
+ int code = 0, ecode = 0;
int raster = gdev_prn_raster(pdev);
int height = pdev->height;
double dc_pix=0;
@@ -109,11 +111,13 @@ static int cov_write_page_ink(gx_device_printer *pdev, gp_file *file)
int y;
uint64_t total_pix = 0;
+ if (line == NULL)
+ return gs_error_VMerror;
for (y = 0; y < height; y++) {
byte *row, *end;
- code = gdev_prn_get_bits(pdev, y, line, &row);
- if (code < 0)
+ ecode = gdev_prn_get_bits(pdev, y, line, &row);
+ if (ecode < 0)
break;
end = row + raster;
@@ -159,7 +163,7 @@ static int cov_write_page_ink(gx_device_printer *pdev, gp_file *file)
}
}
- return 0;
+ return (code > 0) ? ecode : 0;
}
static const gx_device_procs cov_procs =
diff --git a/devices/gdevifno.c b/devices/gdevifno.c
index 31aa5146..22d5837f 100644
--- a/devices/gdevifno.c
+++ b/devices/gdevifno.c
@@ -281,6 +281,7 @@ inferno_print_page(gx_device_printer *pdev, gp_file *f)
int gsbpl;
ulong u;
ushort us;
+ int code = 0;
inferno_device *bdev = (inferno_device *) pdev;
Rectangle r;
@@ -319,7 +320,10 @@ inferno_print_page(gx_device_printer *pdev, gp_file *f)
* to save all the ldepth lookups.
*/
for(y=0; y<pdev->height; y++) {
- gdev_prn_get_bits(pdev, y, buf, &p);
+
+ code = gdev_prn_get_bits(pdev, y, buf, &p);
+ if (code < 0)
+ goto xit;
for(x=0; x<pdev->width; x++) {
us = (p[2*x]<<8) | p[2*x+1];
@@ -372,12 +376,13 @@ inferno_print_page(gx_device_printer *pdev, gp_file *f)
return_error(gs_error_Fatal);
}
}
- gs_free_object(bdev->memory, buf, "inferno line buffer");
if(writeimageblock(w, nil, 0, bdev->memory) == ERROR) {
return_error(gs_error_Fatal);
}
+xit:
+ gs_free_object(bdev->memory, buf, "inferno line buffer");
- return 0;
+ return code;
}
/*
diff --git a/devices/gdevimgn.c b/devices/gdevimgn.c
index 7340c8d4..7c707bda 100644
--- a/devices/gdevimgn.c
+++ b/devices/gdevimgn.c
@@ -379,6 +379,7 @@ imagen_print_page(gx_device_printer *pdev, gp_file *prn_stream)
/* page totals */
int totalBlankSwatches;
int totalGreySwatches;
+ int code = 0;
/* ----------------------------------------- */
/* Start of routine */
@@ -406,8 +407,8 @@ imagen_print_page(gx_device_printer *pdev, gp_file *prn_stream)
swatchMap = (byte *)gs_malloc(pdev->memory, BIGSIZE,swatchCount / BIGSIZE + 1,
"imagen_print_page(swatchMap)" );
- if ( in == 0 || out == 0 )
- return -1;
+ if ( in == 0 || out == 0 || swatchMap == 0)
+ goto xit;
/* Initialize the page */
iWrite(prn_stream,iPAGE);
@@ -450,7 +451,9 @@ imagen_print_page(gx_device_printer *pdev, gp_file *prn_stream)
} /* for temp */
/* get one line */
- gdev_prn_copy_scan_lines(pdev, lnum + swatchLine, in, line_size);
+ code = gdev_prn_copy_scan_lines(pdev, lnum + swatchLine, in, line_size);
+ if (code < 0)
+ goto xit;
DebugMsg(5,"Got scan line %d ", lnum + swatchLine);
DebugMsg(5,"line %d \n", swatchLine);
@@ -553,6 +556,7 @@ imagen_print_page(gx_device_printer *pdev, gp_file *prn_stream)
gp_fflush(prn_stream);
+xit:
gs_free(pdev->memory, (char *)out, TotalBytesPerSw, swatchCount+1, "imagen_print_page(out)");
gs_free(pdev->memory, (char *)swatchMap, BIGSIZE, swatchCount / BIGSIZE + 1,
"imagen_print_page(swatchMap)" );
@@ -564,6 +568,6 @@ imagen_print_page(gx_device_printer *pdev, gp_file *prn_stream)
DebugMsg(1,"%s\n","End of imagen_print_page");
/* ----------------------------------------- */
- return 0;
+ return code;
} /* imagen_print_page */
diff --git a/devices/gdevjbig2.c b/devices/gdevjbig2.c
index ce85aa2c..a0dda91f 100644
--- a/devices/gdevjbig2.c
+++ b/devices/gdevjbig2.c
@@ -108,7 +108,9 @@ jbig2_print_page(gx_device_printer * pdev, gp_file * prn_stream)
code = gs_note_error(gs_error_ioerror);
goto done;
}
- gdev_prn_get_bits(pdev, lnum, in, &data);
+ code = gdev_prn_get_bits(pdev, lnum, in, &data);
+ if (code < 0)
+ goto done;
sputs(&cstrm, data, state.stride, &ignore_used);
}
diff --git a/devices/gdevjpx.c b/devices/gdevjpx.c
index 0ba4e1a8..e38f5402 100644
--- a/devices/gdevjpx.c
+++ b/devices/gdevjpx.c
@@ -209,7 +209,9 @@ jpx_print_page(gx_device_printer * pdev, gp_file * prn_stream)
code = gs_note_error(gs_error_ioerror);
goto done;
}
- gdev_prn_get_bits(pdev, lnum, in, &data);
+ code = gdev_prn_get_bits(pdev, lnum, in, &data);
+ if (code < 0)
+ goto done;
sputs(&cstrm, data, state.stride, &ignore_used);
}
diff --git a/devices/gdevl31s.c b/devices/gdevl31s.c
index 0871920a..b21b18c8 100644
--- a/devices/gdevl31s.c
+++ b/devices/gdevl31s.c
@@ -180,6 +180,8 @@ lj3100sw_print_page_copies(gx_device_printer *pdev, gp_file *prn_stream, int num
gs_memory_t *mem = pdev->memory;
byte *in = (byte *)gs_malloc(mem, line_size, 1, "lj3100sw_print_page");
byte *data;
+ int ecode = 0;
+
if (in == 0)
return_error(gs_error_VMerror);
if (gdev_prn_file_is_new(pdev)) {
@@ -211,7 +213,10 @@ lj3100sw_print_page_copies(gx_device_printer *pdev, gp_file *prn_stream, int num
int count = 0;
int bit_index = 0;
uint tmp = 0;
- gdev_prn_get_bits(pdev, i, in, &data);
+
+ ecode = gdev_prn_get_bits(pdev, i, in, &data);
+ if (ecode < 0)
+ goto xit;
for (j = 0; j <= printer_width; j++) {
int xoffset = (printer_width - paper_width) / 2;
int newcolor = 0;
@@ -261,8 +266,9 @@ lj3100sw_print_page_copies(gx_device_printer *pdev, gp_file *prn_stream, int num
for (i = 0; i < 4 * ppdev->NumCopies; i++)
lj3100sw_output_section_header(prn_stream, 54, 0, 0);
+xit:
gs_free(mem, (char *)in, line_size, 1, "lj3100sw_print_page");
- return 0;
+ return ecode;
}
static int
diff --git a/devices/gdevlbp8.c b/devices/gdevlbp8.c
index b99e219b..3136772a 100644
--- a/devices/gdevlbp8.c
+++ b/devices/gdevlbp8.c
@@ -40,7 +40,6 @@ problems
#define X_DPI 300
#define Y_DPI 300
-#define LINE_SIZE ((X_DPI * 85 / 10 + 7) / 8) /* bytes per line */
/* The device descriptors */
static dev_proc_print_page(lbp8_print_page);
@@ -105,22 +104,31 @@ static int
can_print_page(gx_device_printer *pdev, gp_file *prn_stream,
const char *init, int init_size, const char *end, int end_size)
{
- char data[LINE_SIZE*2];
+ char *data;
char *out_data;
int last_line_nro = 0;
+ int line_size = gdev_mem_bytes_per_scan_line((gx_device *)pdev);
+ int code = 0;
+
+ data = (char *)gs_alloc_bytes(pdev->memory,
+ line_size*2,
+ "lbp8_line_buffer");
+ if (data == NULL)
+ return_error(gs_error_VMerror);
gp_fwrite(init, init_size, 1, prn_stream); /* initialize */
/* Send each scan line in turn */
{
int lnum;
- int line_size = gdev_mem_bytes_per_scan_line((gx_device *)pdev);
byte rmask = (byte)(0xff << (-pdev->width & 7));
for ( lnum = 0; lnum < pdev->height; lnum++ ) {
- char *end_data = data + LINE_SIZE;
- gdev_prn_copy_scan_lines(pdev, lnum,
- (byte *)data, line_size);
+ char *end_data = data + line_size;
+ code = gdev_prn_copy_scan_lines(pdev, lnum,
+ (byte *)data, line_size);
+ if (code < 0)
+ goto xit;
/* Mask off 1-bits beyond the line width. */
end_data[-1] &= rmask;
/* Remove trailing 0s. */
@@ -194,7 +202,10 @@ can_print_page(gx_device_printer *pdev, gp_file *prn_stream,
if (end != NULL)
(void)gp_fwrite(end, end_size, 1, prn_stream);
- return 0;
+xit:
+ gs_free_object(pdev->memory, data, "lbp8_line_buffer");
+
+ return code;
}
/* Print an LBP-8 page. */
diff --git a/devices/gdevlj56.c b/devices/gdevlj56.c
index 4a473e0d..6199e5be 100644
--- a/devices/gdevlj56.c
+++ b/devices/gdevlj56.c
@@ -192,7 +192,7 @@ ljet5_print_page(gx_device_printer * pdev, gp_file * prn_stream)
code = gdev_prn_copy_scan_lines(pdev, lnum, (byte *) line, line_size);
if (code < 0)
- goto fin;
+ goto done;
px_put_us(s, lnum);
PX_PUT_LIT(s, line_header);
ncompr = gdev_pcl_mode2compress_padded(line, line + line_size_words,
@@ -202,7 +202,6 @@ ljet5_print_page(gx_device_printer * pdev, gp_file * prn_stream)
}
/* Finish up. */
- fin:
spputc(s, pxtEndImage);
spputc(s, pxtEndPage);
sflush(s);
diff --git a/devices/gdevlp8k.c b/devices/gdevlp8k.c
index 0a9bc03c..58ae0702 100644
--- a/devices/gdevlp8k.c
+++ b/devices/gdevlp8k.c
@@ -185,23 +185,21 @@ lp8000_print_page(gx_device_printer *pdev, gp_file *prn_stream)
unsigned int report_size;
byte *buf1 = (byte *)gs_malloc(pdev->memory, in_size, 1, "lp8000_print_page(buf1)");
- byte *buf2 = (byte *)gs_malloc(pdev->memory, in_size, 1, "lp8000_print_page(buf2)");
+
+ /* Worst case for rle compression below is 3 bytes for each 2 bytes of
+ input, with extra final byte. */
+ byte *buf2 = (byte *)gs_malloc(pdev->memory, in_size * 3 / 2 + 2, 1, "lp8000_print_page(buf2)");
byte *in = buf1;
byte *out = buf2;
int lnum, top, bottom, left, width;
- int count, left1, left2, left0;
+ int code = 0, count, left1, left2, left0;
/* Check memory allocations */
- if ( buf1 == 0 || buf2 == 0 )
- { if ( buf1 )
- gs_free(pdev->memory, (char *)buf1, in_size, 1, "lp8000_print_page(buf1)");
-
- if ( buf2 )
- gs_free(pdev->memory, (char *)buf2, in_size, 1, "lp8000_print_page(buf2)");
-
- return_error(gs_error_VMerror);
+ if ( buf1 == 0 || buf2 == 0 ) {
+ code = gs_error_VMerror;
+ goto xit;
}
/* Initialize the printer */
@@ -262,19 +260,25 @@ starting X value of the printer line.
** Check buffer for 0 data.
*/
- gdev_prn_get_bits(pdev, lnum, in, &in_data);
+ code = gdev_prn_get_bits(pdev, lnum, in, &in_data);
+ if (code < 0)
+ goto xit;
while ( in_data[0] == 0 &&
!memcmp((char *)in_data, (char *)in_data + 1, line_size - 1) &&
lnum < bottom )
{
lnum++;
- gdev_prn_get_bits(pdev, lnum, in, &in_data);
+ code = gdev_prn_get_bits(pdev, lnum, in, &in_data);
+ if (code < 0)
+ goto xit;
}
if(lnum == bottom ) break;
/* finished with this page */
- (void)gdev_prn_copy_scan_lines(pdev, lnum, in, in_size);
+ code = gdev_prn_copy_scan_lines(pdev, lnum, in, in_size);
+ if (code < 0)
+ goto xit;
inp = in + left;
in_end = inp + width;
@@ -394,7 +398,14 @@ Y coordinate of the printer equals (lnum - 60)
gp_fflush(prn_stream);
- gs_free(pdev->memory, (char *)buf2, in_size, 1, "lp8000_print_page(buf2)");
- gs_free(pdev->memory, (char *)buf1, in_size, 1, "lp8000_print_page(buf1)");
- return 0;
+xit:
+ if ( buf1 )
+ gs_free(pdev->memory, (char *)buf1, in_size, 1, "lp8000_print_page(buf1)");
+ if ( buf2 )
+ gs_free(pdev->memory, (char *)buf2, in_size, 1, "lp8000_print_page(buf2)");
+
+ if (code < 0)
+ return_error(code);
+
+ return code;
}
diff --git a/devices/gdevlxm.c b/devices/gdevlxm.c
index f3135dcd..fe577c32 100644
--- a/devices/gdevlxm.c
+++ b/devices/gdevlxm.c
@@ -146,6 +146,7 @@ lxm5700m_print_page(gx_device_printer *pdev, gp_file *prn_stream)
int lnum,minX, maxX, i, l, highestX, leastX, extent;
int direction = RIGHTWARD;
int lastY = 0;
+ int code = 0;
int line_size = gdev_mem_bytes_per_scan_line((gx_device *)pdev);
/* Note that in_size is a multiple of 8. */
@@ -158,12 +159,8 @@ lxm5700m_print_page(gx_device_printer *pdev, gp_file *prn_stream)
/* Check allocations */
if ( buf1 == 0 || swipeBuf == 0 ) {
- if ( buf1 )
-quit_ignomiously: /* and a goto into an if statement is pretty ignomious! */
- gs_free(pdev->memory, (char *)buf1, in_size, 1, "lxm_print_page(buf1)");
- if ( swipeBuf )
- gs_free(pdev->memory, (char *)swipeBuf, swipeBuf_size, 1, "lxm_print_page(swipeBuf)");
- return_error(gs_error_VMerror);
+ code = gs_error_VMerror;
+ goto xit;
}
{ /* Initialize the printer and reset the margins. */
@@ -186,7 +183,9 @@ quit_ignomiously: /* and a goto into an if statement is pretty ignomious! */
for (l=lnum; l<pdev->height; l++) {
/* Copy 1 scan line and test for all zero. */
- gdev_prn_get_bits(pdev, l, in, &in_data);
+ code = gdev_prn_get_bits(pdev, l, in, &in_data);
+ if (code < 0)
+ goto xit;
if ( in_data[0] != 0 ||
memcmp((char *)in_data, (char *)in_data + 1, line_size - 1)
) {
@@ -211,7 +210,9 @@ quit_ignomiously: /* and a goto into an if statement is pretty ignomious! */
}
/* Copy the the scan lines. */
- lcnt = gdev_prn_copy_scan_lines(pdev, lnum, in, in_size);
+ code = lcnt = gdev_prn_copy_scan_lines(pdev, lnum, in, in_size);
+ if (code < 0)
+ goto xit;
if ( lcnt < swipeHeight ) {
/* Pad with lines of zeros. */
memset(in + lcnt * line_size, 0,
@@ -245,13 +246,21 @@ quit_ignomiously: /* and a goto into an if statement is pretty ignomious! */
outp = swipeBuf;
/* macro, not fcn call. Space penalty is modest, speed helps */
-#define buffer_store(x) if(outp-swipeBuf>=swipeBuf_size) {\
- gs_free(pdev->memory, (char *)swipeBuf, swipeBuf_size, 1, "lxm_print_page(swipeBuf)");\
- swipeBuf_size*=2;\
- swipeBuf = (byte *)gs_malloc(pdev->memory, swipeBuf_size, 1, "lxm_print_page(swipeBuf)");\
- if (swipeBuf == 0) goto quit_ignomiously;\
- break;}\
- else *outp++ = (x)
+#define buffer_store(x)\
+ {\
+ if (outp-swipeBuf>=swipeBuf_size) {\
+ size_t outp_offset = outp - swipeBuf;\
+ size_t swipeBuf_size_new = swipeBuf_size * 2;\
+ byte* swipeBuf_new = gs_malloc(pdev->memory, swipeBuf_size_new, 1, "lxm_print_page(swipeBuf_new)");\
+ if (!swipeBuf_new) { code = gs_error_VMerror; goto xit; }\
+ memcpy(swipeBuf_new, swipeBuf, swipeBuf_size);\
+ gs_free(pdev->memory, swipeBuf, swipeBuf_size, 1, "lxm_print_page(swipeBuf)");\
+ swipeBuf_size = swipeBuf_size_new;\
+ swipeBuf = swipeBuf_new;\
+ outp = swipeBuf + outp_offset;\
+ }\
+ *outp++ = (x);\
+ }
{/* work out the bytes to store for this swipe*/
@@ -288,17 +297,26 @@ quit_ignomiously: /* and a goto into an if statement is pretty ignomious! */
sxBy8 = sx/8;
sxMask = 0x80>>(sx%8);
- /* loop through all the swipeHeight bits of this column */
- for (i = 0, b=1, y= sxBy8+j1*line_size; i < directorySize; i++,b<<=1) {
- sum = false;
- for (j=j1,c=c1 /*,y=i*16*line_size+sxBy8*/; j<16; j+=2, y+=2*line_size, c>>=2) {
- f = (in[y]&sxMask);
- if (f) {
- words[i] |= c;
- sum |= f;
+ /* loop through all the swipeHeight bits of this column.
+
+ Note that <sx> looks like it can get out of range, so we
+ check for this here. This fixes bug 701842.
+
+ [An alternative might be to change above code from 'maxX
+ = (maxX+3)&-2' to 'maxX = (maxX+1)&-2', but that might be
+ risky. */
+ if (sx < pdev->width) {
+ for (i = 0, b=1, y= sxBy8+j1*line_size; i < directorySize; i++,b<<=1) {
+ sum = false;
+ for (j=j1,c=c1 /*,y=i*16*line_size+sxBy8*/; j<16; j+=2, y+=2*line_size, c>>=2) {
+ f = (in[y]&sxMask);
+ if (f) {
+ words[i] |= c;
+ sum |= f;
+ }
}
+ if (!sum) directory |=b;
}
- if (!sum) directory |=b;
}
retval+=2;
buffer_store(directory>>8); buffer_store(directory&0xff);
@@ -355,9 +373,14 @@ quit_ignomiously: /* and a goto into an if statement is pretty ignomious! */
}
gp_fflush(prn_stream);
- gs_free(pdev->memory, (char *)swipeBuf, swipeBuf_size, 1, "lxm_print_page(swipeBuf)");
- gs_free(pdev->memory, (char *)buf1, in_size, 1, "lxm_print_page(buf1)");
- return 0;
+xit:
+ if ( buf1 )
+ gs_free(pdev->memory, (char *)buf1, in_size, 1, "lxm_print_page(buf1)");
+ if ( swipeBuf )
+ gs_free(pdev->memory, (char *)swipeBuf, swipeBuf_size, 1, "lxm_print_page(swipeBuf)");
+ if (code < 0)
+ return_error(code);
+ return code;
}
/*
diff --git a/devices/gdevmgr.c b/devices/gdevmgr.c
index 6f1f8d54..79c299d5 100644
--- a/devices/gdevmgr.c
+++ b/devices/gdevmgr.c
@@ -117,7 +117,6 @@ mgr_begin_page(gx_device_mgr *bdev, gp_file *pstream, mgr_cursor *pcur)
/* Write the header */
B_PUTHDR8(&head, bdev->width, bdev->height, bdev->mgr_depth);
- gp_fprintf(pstream, "");
if ( gp_fwrite(&head, 1, sizeof(head), pstream) < sizeof(head) )
return_error(gs_error_ioerror);
gp_fflush(pstream);
@@ -131,18 +130,20 @@ mgr_begin_page(gx_device_mgr *bdev, gp_file *pstream, mgr_cursor *pcur)
return 0;
}
-/* Advance to the next row. Return 0 if more, 1 if done. */
+/* Advance to the next row. Return 0 if more, 1 if done. <0 if error */
static int
mgr_next_row(mgr_cursor *pcur)
-{ if ( pcur->lnum >= pcur->dev->height )
+{ int code = 0;
+
+ if ( pcur->lnum >= pcur->dev->height )
{ gs_free(((gx_device_printer *)pcur->dev)->memory,
(char *)pcur->data, pcur->line_size, 1,
"mgr_next_row(done)");
return 1;
- }
- gdev_prn_copy_scan_lines((gx_device_printer *)pcur->dev,
+ }
+ code = gdev_prn_copy_scan_lines((gx_device_printer *)pcur->dev,
pcur->lnum++, pcur->data, pcur->line_size);
- return 0;
+ return code < 0 ? code : 0;
}
/* ------ Individual page printing routines ------ */
@@ -154,18 +155,25 @@ static int
mgr_print_page(gx_device_printer *pdev, gp_file *pstream)
{ mgr_cursor cur;
int mgr_wide;
+ int mask = 0xff;
int code = mgr_begin_page(bdev, pstream, &cur);
if ( code < 0 ) return code;
mgr_wide = bdev->width;
if (mgr_wide & 7)
+ {
+ mask <<= (mgr_wide&7);
mgr_wide += 8 - (mgr_wide & 7);
+ }
+ mgr_wide >>= 3;
while ( !(code = mgr_next_row(&cur)) )
- { if ( gp_fwrite(cur.data, sizeof(char), mgr_wide / 8, pstream) <
- mgr_wide / 8)
+ {
+ cur.data[mgr_wide-1] &= mask;
+ if ( gp_fwrite(cur.data, sizeof(char), mgr_wide, pstream) <
+ mgr_wide)
return_error(gs_error_ioerror);
- }
+ }
return (code < 0 ? code : 0);
}
@@ -212,6 +220,8 @@ mgrN_print_page(gx_device_printer *pdev, gp_file *pstream)
if ( bdev->mgr_depth != 8 )
data = (byte *)gs_malloc(pdev->memory, mgr_line_size, 1, "mgrN_print_page");
+ if (data == NULL)
+ return_error(gs_error_VMerror);
while ( !(code = mgr_next_row(&cur)) )
{
@@ -284,6 +294,7 @@ cmgrN_print_page(gx_device_printer *pdev, gp_file *pstream)
ushort prgb[3];
unsigned char table[256], backtable[256];
gx_device_mgr *mgr = (gx_device_mgr *)pdev;
+ int mask = 0xff;
int code = mgr_begin_page(bdev, pstream, &cur);
if ( code < 0 ) return code;
@@ -292,9 +303,14 @@ cmgrN_print_page(gx_device_printer *pdev, gp_file *pstream)
mgr_wide = bdev->width;
if (bdev->mgr_depth == 4 && mgr_wide & 1)
+ {
mgr_wide++;
+ mask = 0;
+ }
mgr_line_size = mgr_wide / (8 / bdev->mgr_depth);
data = (byte *)gs_malloc(pdev->memory, mgr_line_size, 1, "cmgrN_print_page");
+ if (data == NULL)
+ return_error(gs_error_VMerror);
if ( bdev->mgr_depth == 8 ) {
memset( table, 0, sizeof(table) );
@@ -320,6 +336,7 @@ cmgrN_print_page(gx_device_printer *pdev, gp_file *pstream)
*dp = *(bp++) << 4;
*(dp++) |= *(bp++) & 0x0f;
}
+ dp[-1] &= mask;
if ( gp_fwrite(data, sizeof(byte), mgr_line_size, pstream) < mgr_line_size )
return_error(gs_error_ioerror);
break;
diff --git a/devices/gdevn533.c b/devices/gdevn533.c
index 5130bd38..35720364 100644
--- a/devices/gdevn533.c
+++ b/devices/gdevn533.c
@@ -163,7 +163,7 @@ nwp533_close(gx_device *dev)
static int
nwp533_print_page(gx_device_printer *dev, gp_file *prn_stream)
{
- int lnum;
+ int lnum, code = 0;
int line_size = gdev_mem_bytes_per_scan_line(dev);
byte *in;
int printer_file;
@@ -174,6 +174,8 @@ nwp533_print_page(gx_device_printer *dev, gp_file *prn_stream)
line_size += 4 - (line_size % 4);
}
in = (byte *) gs_malloc(dev->memory, line_size, 1, "nwp533_output_page(in)");
+ if (in == NULL)
+ return_error(gs_error_VMerror);
restart:
if(ioctl(printer_file, LBIOCSTOP, 0) < 0)
{
@@ -186,7 +188,9 @@ nwp533_print_page(gx_device_printer *dev, gp_file *prn_stream)
for ( lnum = 0; lnum < dev->height; lnum++)
{
- gdev_prn_copy_scan_lines(prn_dev, lnum, in, line_size);
+ code = gdev_prn_copy_scan_lines(prn_dev, lnum, in, line_size);
+ if (code < 0)
+ goto xit;
if(write(printer_file, in, line_size) != line_size)
{
perror("Writting to output");
@@ -201,7 +205,8 @@ nwp533_print_page(gx_device_printer *dev, gp_file *prn_stream)
perror("Starting print");
return_error(gs_error_ioerror);
}
+xit:
gs_free(dev->memory, in, line_size, 1, "nwp533_output_page(in)");
- return 0;
+ return code;
}
diff --git a/devices/gdevokii.c b/devices/gdevokii.c
index d8929a22..3350f6d9 100644
--- a/devices/gdevokii.c
+++ b/devices/gdevokii.c
@@ -96,30 +96,46 @@ okiibm_print_page1(gx_device_printer *pdev, gp_file *prn_stream, int y_9pin_high
-1, 0 /*60*/, 1 /*120*/, -1, 3 /*240*/
};
- int in_y_mult = (y_9pin_high ? 2 : 1);
- int line_size = gdev_mem_bytes_per_scan_line((gx_device *)pdev);
- /* Note that in_size is a multiple of 8. */
- int in_size = line_size * (8 * in_y_mult);
- byte *buf1 = (byte *)gs_malloc(pdev->memory, in_size, 1, "okiibm_print_page(buf1)");
- byte *buf2 = (byte *)gs_malloc(pdev->memory, in_size, 1, "okiibm_print_page(buf2)");
- byte *in = buf1;
- byte *out = buf2;
- int out_y_mult = 1;
- int x_dpi = pdev->x_pixels_per_inch;
- char start_graphics = graphics_modes_9[x_dpi / 60];
- int first_pass = (start_graphics == 3 ? 1 : 0);
- int last_pass = first_pass * 2;
- int y_passes = (y_9pin_high ? 2 : 1);
+ int in_y_mult;
+ int line_size;
+ int in_size;
+ byte *buf1;
+ byte *buf2;
+ byte *in;
+ byte *out;
+ int out_y_mult;
+ int x_dpi;
+ char start_graphics;
+ int first_pass;
+ int last_pass;
+ int y_passes;
int skip = 0, lnum = 0, pass, ypass;
int y_step = 0;
+ int code = 0;
+
+ x_dpi = pdev->x_pixels_per_inch;
+ if (x_dpi / 60 >= sizeof(graphics_modes_9)/sizeof(graphics_modes_9[0])) {
+ return_error(gs_error_rangecheck);
+ }
+ in_y_mult = (y_9pin_high ? 2 : 1);
+ line_size = gdev_mem_bytes_per_scan_line((gx_device *)pdev);
+ /* Note that in_size is a multiple of 8. */
+ in_size = line_size * (8 * in_y_mult);
+ buf1 = (byte *)gs_malloc(pdev->memory, in_size, 1, "okiibm_print_page(buf1)");
+ buf2 = (byte *)gs_malloc(pdev->memory, in_size, 1, "okiibm_print_page(buf2)");
+ in = buf1;
+ out = buf2;
+ out_y_mult = 1;
+ start_graphics = graphics_modes_9[x_dpi / 60];
+ first_pass = (start_graphics == 3 ? 1 : 0);
+ last_pass = first_pass * 2;
+ y_passes = (y_9pin_high ? 2 : 1);
+ y_step = 0;
/* Check allocations */
- if ( buf1 == 0 || buf2 == 0 )
- { if ( buf1 )
- gs_free(pdev->memory, (char *)buf1, in_size, 1, "okiibm_print_page(buf1)");
- if ( buf2 )
- gs_free(pdev->memory, (char *)buf2, in_size, 1, "okiibm_print_page(buf2)");
- return_error(gs_error_VMerror);
+ if ( buf1 == 0 || buf2 == 0 ) {
+ code = gs_error_VMerror;
+ goto xit;
}
/* Initialize the printer. */
@@ -135,7 +151,9 @@ okiibm_print_page1(gx_device_printer *pdev, gp_file *prn_stream, int y_9pin_high
int lcnt;
/* Copy 1 scan line and test for all zero. */
- gdev_prn_get_bits(pdev, lnum, in, &in_data);
+ code = gdev_prn_get_bits(pdev, lnum, in, &in_data);
+ if (code < 0)
+ goto xit;
if ( in_data[0] == 0 &&
!memcmp((char *)in_data, (char *)in_data + 1, line_size - 1)
)
@@ -246,8 +264,13 @@ okiibm_print_page1(gx_device_printer *pdev, gp_file *prn_stream, int y_9pin_high
gp_fwrite(end_string, 1, end_length, prn_stream);
gp_fflush(prn_stream);
- gs_free(pdev->memory, (char *)buf2, in_size, 1, "okiibm_print_page(buf2)");
- gs_free(pdev->memory, (char *)buf1, in_size, 1, "okiibm_print_page(buf1)");
+xit:
+ if ( buf1 )
+ gs_free(pdev->memory, (char *)buf1, in_size, 1, "okiibm_print_page(buf1)");
+ if ( buf2 )
+ gs_free(pdev->memory, (char *)buf2, in_size, 1, "okiibm_print_page(buf2)");
+ if (code < 0)
+ return_error(code);
return 0;
}
diff --git a/devices/gdevpbm.c b/devices/gdevpbm.c
index 647349ed..412d0109 100644
--- a/devices/gdevpbm.c
+++ b/devices/gdevpbm.c
@@ -1054,6 +1054,8 @@ pnmcmyk_print_page(gx_device_printer *pdev, gp_file *pstream)
!strncmp(pdev->fname, "/dev/null", min(strlen(pdev->fname), 9));
int (*row_proc) (gx_device_printer *, byte *, int, gp_file *);
+ if (data == NULL)
+ return_error(gs_error_VMerror);
if (!output_is_nul) {
if (gp_fprintf(pstream, "P5\n") < 0) { /* PGM raw */
code = gs_note_error(gs_error_ioerror);
diff --git a/devices/gdevpcx.c b/devices/gdevpcx.c
index 1735851d..91de4abb 100644
--- a/devices/gdevpcx.c
+++ b/devices/gdevpcx.c
@@ -442,7 +442,7 @@ pcx_write_rle(const byte * from, const byte * end, int step, gp_file * file)
byte data = *from;
from += step;
- if (data != *from || from == end) {
+ if (from >= end || data != *from) {
if (data >= 0xc0)
gp_fputc(0xc1, file);
} else {
diff --git a/devices/gdevpdfimg.c b/devices/gdevpdfimg.c
index 31b42fb4..998574c8 100644
--- a/devices/gdevpdfimg.c
+++ b/devices/gdevpdfimg.c
@@ -271,6 +271,10 @@ static int gdev_pdf_image_begin_page(gx_device_pdf_image *pdf_dev,
profile_struct->device_profile[0], profile_struct->postren_profile,
&rendering_params);
}
+ if (pdf_dev->icclink == NULL) {
+ gs_free_object(pdf_dev->memory->non_gc_memory, page, "pdfimage create new page");
+ return_error(gs_error_VMerror);
+ }
/* If it is identity, release it now and set link to NULL */
if (pdf_dev->icclink->is_identity) {
pdf_dev->icclink->procs.free_link(pdf_dev->icclink);
@@ -281,8 +285,10 @@ static int gdev_pdf_image_begin_page(gx_device_pdf_image *pdf_dev,
/* Set up the stream and insert the file header */
pdf_dev->strm = s_alloc(pdf_dev->memory->non_gc_memory, "pdfimage_open_temp_stream(strm)");
- if (pdf_dev->strm == 0)
+ if (pdf_dev->strm == 0) {
+ gs_free_object(pdf_dev->memory->non_gc_memory, page, "pdfimage create new page");
return_error(gs_error_VMerror);
+ }
pdf_dev->strm_buf = gs_alloc_bytes(pdf_dev->memory->non_gc_memory, pdf_dev->width * (pdf_dev->color_info.depth / 8),
"pdfimage_open_temp_stream(strm_buf)");
if (pdf_dev->strm_buf == 0) {
@@ -290,6 +296,7 @@ static int gdev_pdf_image_begin_page(gx_device_pdf_image *pdf_dev,
gs_free_object(pdf_dev->memory->non_gc_memory, pdf_dev->strm,
"pdfimage_open_temp_stream(strm)");
pdf_dev->strm = 0;
+ gs_free_object(pdf_dev->memory->non_gc_memory, page, "pdfimage create new page");
return_error(gs_error_VMerror);
}
swrite_file(pdf_dev->strm, pdf_dev->file, pdf_dev->strm_buf, pdf_dev->width * (pdf_dev->color_info.depth / 8));
@@ -654,7 +661,14 @@ pdf_compute_fileID(gx_device_pdf_image * pdev, byte fileID[16], char *CreationDa
gp_get_realtime(secs_ns);
#endif
sputs(s, (byte *)secs_ns, sizeof(secs_ns), &ignore);
+#ifdef CLUSTER
+ /* Don't have the ID's vary by filename output in the cluster testing.
+ * This prevents us comparing gs to gpdl results, and makes it harder
+ * to manually reproduce results. */
+ sputs(s, (const byte *)"ClusterTest.pdf", strlen("ClusterTest.pdf"), &ignore);
+#else
sputs(s, (const byte *)pdev->fname, strlen(pdev->fname), &ignore);
+#endif
stream_puts(s, "/ModDate ");
stream_puts(s, CreationDate);
@@ -723,6 +737,12 @@ static int pdf_image_finish_file(gx_device_pdf_image *pdf_dev, int PCLm)
stream_puts(pdf_dev->strm, "]\n/Type /Pages\n>>\nendobj\n");
+#ifdef CLUSTER
+ memset(&t, 0, sizeof(t));
+ memset(&tms, 0, sizeof(tms));
+ timesign = 'Z';
+ timeoffset = 0;
+#else
time(&t);
tms = *gmtime(&t);
tms.tm_isdst = -1;
@@ -730,6 +750,7 @@ static int pdf_image_finish_file(gx_device_pdf_image *pdf_dev, int PCLm)
timesign = (timeoffset == 0 ? 'Z' : timeoffset < 0 ? '-' : '+');
timeoffset = any_abs(timeoffset) / 60;
tms = *localtime(&t);
+#endif
gs_sprintf(CreationDate, "(D:%04d%02d%02d%02d%02d%02d%c%02d\'%02d\')",
tms.tm_year + 1900, tms.tm_mon + 1, tms.tm_mday,
@@ -1262,6 +1283,10 @@ static int gdev_PCLm_begin_page(gx_device_pdf_image *pdf_dev,
profile_struct->device_profile[0], profile_struct->postren_profile,
&rendering_params);
}
+ if (pdf_dev->icclink == NULL) {
+ gs_free_object(pdf_dev->memory->non_gc_memory, page, "pdfimage create new page");
+ return_error(gs_error_VMerror);
+ }
/* If it is identity, release it now and set link to NULL */
if (pdf_dev->icclink->is_identity) {
pdf_dev->icclink->procs.free_link(pdf_dev->icclink);
@@ -1272,8 +1297,10 @@ static int gdev_PCLm_begin_page(gx_device_pdf_image *pdf_dev,
/* Set up the stream and insert the file header */
pdf_dev->strm = s_alloc(pdf_dev->memory->non_gc_memory, "pdfimage_open_temp_stream(strm)");
- if (pdf_dev->strm == 0)
+ if (pdf_dev->strm == 0) {
+ gs_free_object(pdf_dev->memory->non_gc_memory, page, "pdfimage create new page");
return_error(gs_error_VMerror);
+ }
pdf_dev->strm_buf = gs_alloc_bytes(pdf_dev->memory->non_gc_memory, 512,
"pdfimage_open_temp_stream(strm_buf)");
if (pdf_dev->strm_buf == 0) {
@@ -1281,6 +1308,7 @@ static int gdev_PCLm_begin_page(gx_device_pdf_image *pdf_dev,
gs_free_object(pdf_dev->memory->non_gc_memory, pdf_dev->strm,
"pdfimage_open_temp_stream(strm)");
pdf_dev->strm = 0;
+ gs_free_object(pdf_dev->memory->non_gc_memory, page, "pdfimage create new page");
return_error(gs_error_VMerror);
}
swrite_file(pdf_dev->strm, pdf_dev->file, pdf_dev->strm_buf, 512);
diff --git a/devices/gdevperm.c b/devices/gdevperm.c
index fe2295e7..f2a5e38c 100644
--- a/devices/gdevperm.c
+++ b/devices/gdevperm.c
@@ -135,8 +135,8 @@ perm_print_page(gx_device_printer *pdev, gp_file *pstream)
gx_device_perm_t * const dev = (gx_device_perm_t *)pdev;
int ncomp = dev->num_std_colorant_names;
int raw_raster = pdev->width * ncomp;
- byte *raw_line;
- byte *cooked_line;
+ byte *raw_line = NULL;
+ byte *cooked_line = NULL;
byte *row;
int code = 0;
int mode = dev->mode;
@@ -145,9 +145,15 @@ perm_print_page(gx_device_printer *pdev, gp_file *pstream)
fprintf(pstream, "P6\n%d %d\n255\n", dev->width, dev->height);
raw_line = gs_alloc_bytes(pdev->memory, raw_raster, "perm_print_page");
cooked_line = gs_alloc_bytes(pdev->memory, dev->width * 3, "perm_print_page");
+ if (raw_line == NULL || cooked_line == NULL) {
+ gs_free_object(pdev->memory, raw_line, "perm_print_page");
+ return_error(gs_error_VMerror);
+ }
for (y = 0; y < dev->height; y++) {
int x;
code = gdev_prn_get_bits(pdev, y, raw_line, &row);
+ if (code < 0)
+ break;
for (x = 0; x < dev->width; x++) {
int c, m, y, k;
int r, g, b;
diff --git a/devices/gdevphex.c b/devices/gdevphex.c
index 590baf29..f3ca5048 100644
--- a/devices/gdevphex.c
+++ b/devices/gdevphex.c
@@ -947,8 +947,8 @@ static void ScheduleMiddle( SCHEDUL *p );
static void ScheduleTrailing( SCHEDUL *p );
static void ScheduleBand( SCHEDUL *p, int mask );
-static void RenderPage( RENDER *p );
-static void RenderLine( RENDER *p, int line );
+static int RenderPage( RENDER *p );
+static int RenderLine( RENDER *p, int line );
static int IsScanlineEmpty( RENDER *p, byte *line );
static int RleCompress( RAWLINE *raw, int min, int max, byte *rle_data );
@@ -1347,10 +1347,10 @@ float margins[ 4 ]; /* L, B, R, T */
width = pdev->width / pdev->x_pixels_per_inch;
- margins[ 0 ] = 0.12;
- margins[ 1 ] = 0.5;
- margins[ 2 ] = 0.12;
- margins[ 3 ] = ( width > 11.46+0.12 ) ? width - (11.46+0.12) : 0.12;
+ margins[ 0 ] = 0.12f;
+ margins[ 1 ] = 0.5f;
+ margins[ 2 ] = 0.12f;
+ margins[ 3 ] = ( width > 11.46f+0.12f ) ? width - (11.46f+0.12f) : 0.12f;
gx_device_set_margins( pdev, margins, true );
return( gdev_prn_open( pdev ) );
@@ -1399,7 +1399,7 @@ int i;
m = 255 - ( g >> ( gx_color_value_bits - 8 ) );
y = 255 - ( b >> ( gx_color_value_bits - 8 ) );
- k = xtrans[ min( c, min( m, y ) ) ] * 0.8; /* FIXME:empirical constant */
+ k = (int)(xtrans[ min( c, min( m, y ) ) ] * 0.8); /* FIXME:empirical constant */
c -= k;
m -= k;
y -= k;
@@ -1454,15 +1454,15 @@ CVAL r, g, b;
if ( MAP_RGB_ADOBE ) {
- r = gx_max_color_value * ( 1.0 - min( 1.0, (c / 255.0 + k / 255.0) ) );
- g = gx_max_color_value * ( 1.0 - min( 1.0, (m / 255.0 + k / 255.0) ) );
- b = gx_max_color_value * ( 1.0 - min( 1.0, (y / 255.0 + k / 255.0) ) );
+ r = (CVAL)(gx_max_color_value * ( 1.0 - min( 1.0, (c / 255.0 + k / 255.0) ) ));
+ g = (CVAL)(gx_max_color_value * ( 1.0 - min( 1.0, (m / 255.0 + k / 255.0) ) ));
+ b = (CVAL)(gx_max_color_value * ( 1.0 - min( 1.0, (y / 255.0 + k / 255.0) ) ));
}
else {
- r = gx_max_color_value * ( 1.0 - c / 255.0 ) * ( 1.0 - k / 255.0);
- g = gx_max_color_value * ( 1.0 - m / 255.0 ) * ( 1.0 - k / 255.0);
- b = gx_max_color_value * ( 1.0 - y / 255.0 ) * ( 1.0 - k / 255.0);
+ r = (CVAL)(gx_max_color_value * ( 1.0 - c / 255.0 ) * ( 1.0 - k / 255.0));
+ g = (CVAL)(gx_max_color_value * ( 1.0 - m / 255.0 ) * ( 1.0 - k / 255.0));
+ b = (CVAL)(gx_max_color_value * ( 1.0 - y / 255.0 ) * ( 1.0 - k / 255.0));
}
prgb[ 0 ] = r;
@@ -1682,6 +1682,7 @@ static int photoex_print_page( PDEV *device, gp_file *stream )
{
int pixels; /* Length of the line */
int x; /* Work vars */
+int code = 0;
EDEV *dev; /* Our device */
RENDER *render; /* Rendering info */
@@ -1709,7 +1710,7 @@ double psize;
/* Check if the requested width is within device limits.
The calculations are in 1440 dpi units. */
- start = 1440.0 * dev_l_margin( device );
+ start = (int)(1440.0 * dev_l_margin( device ));
x = xres == 360 ? 4 : xres == 720 ? 2 : 1;
@@ -1772,9 +1773,9 @@ double psize;
/* Set up papersize and margins */
- SendPaper( stream, device->height / device->y_pixels_per_inch * unit );
- SendMargin( stream, ( psize - dev_b_margin( device ) ) * unit,
- dev_t_margin( device ) * unit );
+ SendPaper( stream, (int)(device->height / device->y_pixels_per_inch * unit) );
+ SendMargin( stream, (int)(( psize - dev_b_margin( device ) ) * unit),
+ (int)( dev_t_margin( device ) * unit) );
/* Dot size as per user setting */
@@ -1791,7 +1792,9 @@ double psize;
/* Render the page and send image data to printer */
- RenderPage( render );
+ code = RenderPage( render );
+ if (code < 0)
+ goto xit;
/* Eject the paper, reset printer */
@@ -1799,10 +1802,10 @@ double psize;
SendReset( stream );
/* Release the memory and return */
-
+xit:
gs_free( dev->memory, render->dbuff, pixels, sizeof( long ), "PhotoEX" );
gs_free( dev->memory, render, 1, sizeof( RENDER ), "PhotoEX" );
- return( 0 );
+ return( code );
}
/*
@@ -1810,7 +1813,7 @@ double psize;
* ~~~~~~~~~~~~~~
*/
-static void RenderPage( RENDER *p )
+static int RenderPage( RENDER *p )
{
int last_done; /* The last line rendered */
int last_need; /* The largest line number we need */
@@ -1819,6 +1822,7 @@ int last_band; /* Indicates the last band */
int min, max; /* Min/max active bytes in a raw line */
int phase; /* 1440dpi X weave offset */
int i, j, l, col;
+int code = 0;
p->htone_thold = HalftoneThold( p );
p->htone_last = -1 - p->htone_thold;
@@ -1842,7 +1846,11 @@ int i, j, l, col;
last_need = last_done;
for ( i = NOZZLES-1 ; i >= 0 && p->schedule.head[ i ] == -1 ; i-- );
if ( i >= 0 ) last_need = p->schedule.head[ i ];
- while ( last_need > last_done ) RenderLine( p, ++last_done );
+ while ( last_need > last_done ) {
+ code = RenderLine( p, ++last_done );
+ if (code < 0)
+ return code; /* punt */
+ }
/* Now loop through the colours and build the data stream */
@@ -1932,6 +1940,8 @@ int i, j, l, col;
move_down += p->schedule.down;
} while ( ! last_band );
+
+ return code;
}
/*
@@ -1944,14 +1954,16 @@ int i, j, l, col;
* When it sees a nonempty line again, it restarts the renderer.
*/
-static void RenderLine( RENDER *p, int line )
+static int RenderLine( RENDER *p, int line )
{
byte *data;
-int i;
+int i, code = 0;
/* Get the line from Ghostscript and see if its empty */
- gdev_prn_get_bits( (PDEV *) p->dev, line, p->dbuff, &data );
+ code = gdev_prn_get_bits( (PDEV *) p->dev, line, p->dbuff, &data );
+ if (code < 0)
+ return code;
if ( IsScanlineEmpty( p, data ) ) {
@@ -1994,6 +2006,7 @@ int i;
HalftoneLine( p, line, data );
p->htone_last = line;
}
+ return 0;
}
/*
diff --git a/devices/gdevpjet.c b/devices/gdevpjet.c
index 4b474190..d9fc76ff 100644
--- a/devices/gdevpjet.c
+++ b/devices/gdevpjet.c
@@ -24,10 +24,6 @@
#define X_DPI 180
#define Y_DPI 180
-/* We round up LINE_SIZE to a multiple of 8 bytes */
-/* because that's the unit of transposition from pixels to planes. */
-#define LINE_SIZE ((X_DPI * 85 / 10 + 63) / 64 * 8)
-
/* The device descriptors */
static dev_proc_print_page(lj250_print_page);
static dev_proc_print_page(paintjet_print_page);
@@ -101,28 +97,46 @@ static int
pj_common_print_page(gx_device_printer *pdev, gp_file *prn_stream, int y_origin,
const char *end_page)
{
-#define DATA_SIZE (LINE_SIZE * 8)
- byte *data =
- (byte *)gs_malloc(pdev->memory, DATA_SIZE, 1,
+ int line_size;
+ int data_size;
+ byte *data = NULL;
+ byte *plane_data = NULL;
+ byte *temp = NULL;
+ int code = 0;
+
+ /* We round up line_size to a multiple of 8 bytes */
+ /* because that's the unit of transposition from pixels to planes. */
+ line_size = gdev_mem_bytes_per_scan_line((gx_device *)pdev);
+ line_size = (line_size + 7) / 8 * 8;
+ data_size = line_size * 8;
+
+ data =
+ (byte *)gs_malloc(pdev->memory, data_size, 1,
"paintjet_print_page(data)");
- byte *plane_data =
- (byte *)gs_malloc(pdev->memory, LINE_SIZE * 3, 1,
+ plane_data =
+ (byte *)gs_malloc(pdev->memory, line_size * 3, 1,
"paintjet_print_page(plane_data)");
- if ( data == 0 || plane_data == 0 )
+ temp = gs_malloc(pdev->memory, line_size * 2, 1, "paintjet_print_page(temp)");
+
+ if ( data == 0 || plane_data == 0 || temp == 0)
{ if ( data )
- gs_free(pdev->memory, (char *)data, DATA_SIZE, 1,
+ gs_free(pdev->memory, (char *)data, data_size, 1,
"paintjet_print_page(data)");
if ( plane_data )
- gs_free(pdev->memory, (char *)plane_data, LINE_SIZE * 3, 1,
+ gs_free(pdev->memory, (char *)plane_data, line_size * 3, 1,
"paintjet_print_page(plane_data)");
+ if (temp)
+ gs_free(pdev->memory, temp, line_size * 2, 1,
+ "paintjet_print_page(temp)");
return_error(gs_error_VMerror);
}
+ memset(data, 0x00, data_size);
/* set raster graphics resolution -- 90 or 180 dpi */
gp_fprintf(prn_stream, "\033*t%dR", X_DPI);
/* set the line width */
- gp_fprintf(prn_stream, "\033*r%dS", DATA_SIZE);
+ gp_fprintf(prn_stream, "\033*r%dS", data_size);
/* set the number of color planes */
gp_fprintf(prn_stream, "\033*r%dU", 3); /* always 3 */
@@ -138,12 +152,13 @@ pj_common_print_page(gx_device_printer *pdev, gp_file *prn_stream, int y_origin,
/* Send each scan line in turn */
{ int lnum;
- int line_size = gdev_mem_bytes_per_scan_line((gx_device *)pdev);
int num_blank_lines = 0;
for ( lnum = 0; lnum < pdev->height; lnum++ )
{ byte *end_data = data + line_size;
- gdev_prn_copy_scan_lines(pdev, lnum,
+ code = gdev_prn_copy_scan_lines(pdev, lnum,
(byte *)data, line_size);
+ if (code < 0)
+ goto xit;
/* Remove trailing 0s. */
while ( end_data > data && end_data[-1] == 0 )
end_data--;
@@ -161,7 +176,7 @@ pj_common_print_page(gx_device_printer *pdev, gp_file *prn_stream, int y_origin,
memset(end_data, 0, 7);
/* Transpose the data to get pixel planes. */
- for ( i = 0, odp = plane_data; i < DATA_SIZE;
+ for ( i = 0, odp = plane_data; i < data_size;
i += 8, odp++
)
{ /* The following is for 16-bit machines */
@@ -181,8 +196,8 @@ pj_common_print_page(gx_device_printer *pdev, gp_file *prn_stream, int y_origin,
(spr2[dp[6]]) +
(spr2[dp[7]] >> 1);
odp[0] = (byte)(pword >> 16);
- odp[LINE_SIZE] = (byte)(pword >> 8);
- odp[LINE_SIZE*2] = (byte)(pword);
+ odp[line_size] = (byte)(pword >> 8);
+ odp[line_size*2] = (byte)(pword);
}
/* Skip blank lines if any */
if ( num_blank_lines > 0 )
@@ -194,11 +209,11 @@ pj_common_print_page(gx_device_printer *pdev, gp_file *prn_stream, int y_origin,
/* Transfer raster graphics */
/* in the order R, G, B. */
- for ( row = plane_data + LINE_SIZE * 2, i = 0;
- i < 3; row -= LINE_SIZE, i++
+ for ( row = plane_data + line_size * 2, i = 0;
+ i < 3; row -= line_size, i++
)
- { byte temp[LINE_SIZE * 2];
- int count = compress1_row(row, row + LINE_SIZE, temp);
+ {
+ int count = compress1_row(row, row + line_size, temp);
gp_fprintf(prn_stream, "\033*b%d%c",
count, "VVW"[i]);
gp_fwrite(temp, sizeof(byte),
@@ -211,10 +226,12 @@ pj_common_print_page(gx_device_printer *pdev, gp_file *prn_stream, int y_origin,
/* end the page */
gp_fputs(end_page, prn_stream);
- gs_free(pdev->memory, (char *)data, DATA_SIZE, 1, "paintjet_print_page(data)");
- gs_free(pdev->memory, (char *)plane_data, LINE_SIZE * 3, 1, "paintjet_print_page(plane_data)");
+xit:
+ gs_free(pdev->memory, (char *)data, data_size, 1, "paintjet_print_page(data)");
+ gs_free(pdev->memory, (char *)plane_data, line_size * 3, 1, "paintjet_print_page(plane_data)");
+ gs_free(pdev->memory, temp, line_size * 2, 1, "paintjet_print_page(temp)");
- return 0;
+ return code;
}
/*
diff --git a/devices/gdevplan.c b/devices/gdevplan.c
index b91f61d0..313d08f8 100644
--- a/devices/gdevplan.c
+++ b/devices/gdevplan.c
@@ -248,13 +248,26 @@ static void dump_row_pnmc(int w, byte **data, gp_file *dump_file)
static void dump_row_pbm(int w, byte **data, gp_file *dump_file)
{
byte *r = data[0];
+#ifdef CLUSTER
+ int end = w>>3;
+ byte mask = 255>>(w&7);
+ if (w & 7)
+ mask = ~mask;
+ else
+ end--;
+#else
+ byte mask = 255;
+#endif
if (dump_file == NULL)
return;
+ if (w == 0)
+ return;
w = (w+7)>>3;
- while (w--) {
+ while (--w) {
gp_fputc(*r++, dump_file);
}
+ gp_fputc(mask & *r, dump_file);
}
static void dump_row_pgm(int w, byte **data, gp_file *dump_file)
diff --git a/devices/gdevpng.c b/devices/gdevpng.c
index 10962516..73bc5bf3 100644
--- a/devices/gdevpng.c
+++ b/devices/gdevpng.c
@@ -557,7 +557,7 @@ do_png_print_page(gx_device_png * pdev, gp_file * file, bool monod)
case 1:
bit_depth = 1;
color_type = PNG_COLOR_TYPE_GRAY;
- /* invert monocrome pixels */
+ /* invert monochrome pixels */
if (!monod) {
invert = true;
}
@@ -700,9 +700,21 @@ do_png_print_page(gx_device_png * pdev, gp_file * file, bool monod)
depth/dst_bpc, factor, mfs, NULL, 0);
if (code >= 0)
{
+#ifdef CLUSTER
+ int bitlen = width*dst_bpc;
+ int end = bitlen>>3;
+ int mask = 255>>(bitlen&7);
+ if (bitlen & 7)
+ mask = ~mask;
+ else
+ end--;
+#endif
/* Write the contents of the image. */
for (y = 0; y < height; y++) {
gx_downscaler_getbits(&ds, row, y);
+#ifdef CLUSTER
+ row[end] &= mask;
+#endif
png_write_rows(png_ptr, &row, 1);
}
gx_downscaler_fin(&ds);
diff --git a/devices/gdevpsd.c b/devices/gdevpsd.c
index 26580aee..03292469 100644
--- a/devices/gdevpsd.c
+++ b/devices/gdevpsd.c
@@ -453,7 +453,11 @@ psd_prn_open(gx_device * pdev)
pdev->color_info.depth = pdev->color_info.num_components *
pdev_psd->devn_params.bitspercomponent;
pdev->color_info.separable_and_linear = GX_CINFO_SEP_LIN;
- pdev->icc_struct->supports_devn = true;
+ set_linear_color_bits_mask_shift(pdev);
+ if (pdev->color_info.polarity == GX_CINFO_POLARITY_ADDITIVE)
+ pdev->icc_struct->supports_devn = false;
+ else
+ pdev->icc_struct->supports_devn = true;
code = gdev_prn_open_planar(pdev, true);
return code;
}
diff --git a/devices/gdevpsim.c b/devices/gdevpsim.c
index 3c85c319..7a194c64 100644
--- a/devices/gdevpsim.c
+++ b/devices/gdevpsim.c
@@ -143,7 +143,7 @@ static int
psmono_print_page(gx_device_printer * pdev, gp_file * prn_stream)
{
int line_size = gdev_mem_bytes_per_scan_line((gx_device *) pdev);
- int lnum;
+ int lnum, code = 0;
byte *line = gs_alloc_bytes(pdev->memory, line_size, "psmono_print_page");
byte invert = (pdev->color_info.depth == 1 ? 0xff : 0);
gx_device_pswrite_common_t pswrite_common;
@@ -167,7 +167,9 @@ psmono_print_page(gx_device_printer * pdev, gp_file * prn_stream)
int left = line_size;
byte *data;
- gdev_prn_get_bits(pdev, lnum, line, &data);
+ code = gdev_prn_get_bits(pdev, lnum, line, &data);
+ if (code < 0)
+ goto xit;
p = data;
/* Loop invariant: p + left = data + line_size. */
#define min_repeat_run 10
@@ -216,10 +218,11 @@ psmono_print_page(gx_device_printer * pdev, gp_file * prn_stream)
/* Clean up and return. */
fputs("\n", prn_stream);
psw_write_page_trailer(prn_stream, 1, true);
+xit:
gs_free_object(pdev->memory, line, "psmono_print_page");
if (ferror(prn_stream))
return_error(gs_error_ioerror);
- return 0;
+ return code;
}
/* Close the file. */
@@ -307,7 +310,7 @@ psrgb_print_page(gx_device_printer * pdev, gp_file * prn_stream)
int width = pdev->width;
byte *lbuf = gs_alloc_bytes(mem, width * 3,
"psrgb_print_page(lbuf)");
- int lnum;
+ int lnum, code = 0;
stream fs, a85s, rls;
stream_A85E_state a85state;
stream_RLE_state rlstate;
@@ -354,7 +357,9 @@ psrgb_print_page(gx_device_printer * pdev, gp_file * prn_stream)
byte *data;
int i, c;
- gdev_prn_get_bits(pdev, lnum, lbuf, &data);
+ code = gdev_prn_get_bits(pdev, lnum, lbuf, &data);
+ if (code < 0)
+ goto xit;
for (c = 0; c < 3; ++c) {
const byte *p;
@@ -369,7 +374,10 @@ psrgb_print_page(gx_device_printer * pdev, gp_file * prn_stream)
sflush(&fs);
fputs("\n", prn_stream);
psw_write_page_trailer(prn_stream, 1, true);
+xit:
gs_free_object(mem, lbuf, "psrgb_print_page(lbuf)");
+ if (code < 0)
+ return_error(code);
if (ferror(prn_stream))
return_error(gs_error_ioerror);
return 0;
diff --git a/devices/gdevrinkj.c b/devices/gdevrinkj.c
index cc144d7e..509edd07 100644
--- a/devices/gdevrinkj.c
+++ b/devices/gdevrinkj.c
@@ -818,6 +818,9 @@ rinkj_add_lut(rinkj_device *rdev, rinkj_lutset *lutset, char plane, gp_file *f)
if (n_graph < 0 || n_graph > 256)
return -1;
chain = (rinkj_lutchain *)gs_alloc_bytes(rdev->memory, sizeof(rinkj_lutchain), "rinkj_add_lut");
+ if (chain == NULL) {
+ return -1;
+ }
chain->next = NULL;
chain->n_graph = n_graph;
chain->graph_x = (double *)gs_alloc_bytes(rdev->memory, sizeof(double) * n_graph, "rinkj_add_lut");
@@ -972,14 +975,23 @@ rinkj_write_image_data(gx_device_printer *pdev, RinkjDevice *cmyk_dev)
n_planes = n_planes_in + rdev->separation_names.num_names;
if_debug1m('r', rdev->memory, "[r]n_planes = %d\n", n_planes);
xsb = pdev->width;
- for (i = 0; i < n_planes_out; i++)
+ for (i = 0; i < n_planes_out; i++) {
plane_data[i] = gs_alloc_bytes(pdev->memory, xsb, "rinkj_write_image_data");
-
+ if (plane_data[i] == NULL) {
+ while (--i >= 0)
+ gs_free_object(pdev->memory, plane_data[i], "rinkj_write_image_data");
+ return_error(gs_error_VMerror);
+ }
+ }
if (rdev->icc_link != NULL) {
cache = (rinkj_color_cache_entry *)gs_alloc_bytes(pdev->memory, RINKJ_CCACHE_SIZE * sizeof(rinkj_color_cache_entry), "rinkj_write_image_data");
- if (cache == NULL)
- return gs_note_error(gs_error_VMerror);
+ if (cache == NULL) {
+ /* i == n_planes_out from above */
+ while (--i >= 0)
+ gs_free_object(pdev->memory, plane_data[i], "rinkj_write_image_data");
+ return_error(gs_error_VMerror);
+ }
/* Set up cache so that none of the keys will hit. */
@@ -999,11 +1011,15 @@ rinkj_write_image_data(gx_device_printer *pdev, RinkjDevice *cmyk_dev)
split_plane_data[6] = plane_data[3];
line = gs_alloc_bytes(pdev->memory, raster, "rinkj_write_image_data");
+ if (line == NULL)
+ goto xit;
for (y = 0; y < pdev->height; y++) {
byte *row;
int x;
code = gdev_prn_get_bits(pdev, y, line, &row);
+ if (code < 0)
+ goto xit;
if (rdev->icc_link == NULL) {
int rowix = 0;
@@ -1115,6 +1131,7 @@ rinkj_write_image_data(gx_device_printer *pdev, RinkjDevice *cmyk_dev)
}
rinkj_device_write(cmyk_dev, NULL);
+xit:
for (i = 0; i < n_planes_in; i++)
gs_free_object(pdev->memory, plane_data[i], "rinkj_write_image_data");
gs_free_object(pdev->memory, line, "rinkj_write_image_data");
diff --git a/devices/gdevsppr.c b/devices/gdevsppr.c
index 144187e3..ee3c5813 100644
--- a/devices/gdevsppr.c
+++ b/devices/gdevsppr.c
@@ -115,7 +115,8 @@ sparc_print_page(gx_device_printer *pdev, FILE *prn)
struct lpvi_page lpvipage;
struct lpvi_err lpvierr;
char *out_buf;
- int out_size;
+ int out_size, code = 0;
+
if (ioctl(fileno(prn),LPVIIOC_GETPAGE,&lpvipage)!=0)
{
errprintf(pdev->memory, "sparc_print_page: LPVIIOC_GETPAGE failed\n");
@@ -132,7 +133,12 @@ sparc_print_page(gx_device_printer *pdev, FILE *prn)
}
out_size=lpvipage.bitmap_width*lpvipage.page_length;
out_buf=gs_malloc(pdev->memory, out_size,1,"sparc_print_page: out_buf");
- gdev_prn_copy_scan_lines(pdev,0,out_buf,out_size);
+ if (out_buf == NULL)
+ return_error(gs_error_VMerror);
+
+ code = gdev_prn_copy_scan_lines(pdev,0,out_buf,out_size);
+ if (code < 0)
+ goto xit;
while (write(fileno(prn),out_buf,out_size)!=out_size)
{
if (ioctl(fileno(prn),LPVIIOC_GETERR,&lpvierr)!=0)
@@ -182,6 +188,7 @@ sparc_print_page(gx_device_printer *pdev, FILE *prn)
errprintf(pdev->memory, "OK.\n");
warning=0;
}
+xit:
gs_free(pdev->memory, out_buf,out_size,1,"sparc_print_page: out_buf");
- return 0;
+ return code;
}
diff --git a/devices/gdevstc.c b/devices/gdevstc.c
index 9040f062..951ded0e 100644
--- a/devices/gdevstc.c
+++ b/devices/gdevstc.c
@@ -362,6 +362,7 @@ stc_print_page(gx_device_printer * pdev, gp_file *prn_stream)
int prt_pixels; /* Number of pixels printed */
byte *col_line; /* A Line with a byte per pixel */
+ int code = 0;
#define OK4GO ((flags & STCOK4GO) != 0)
#define SORRY ( flags &= ~STCOK4GO)
@@ -591,7 +592,11 @@ stc_print_page(gx_device_printer * pdev, gp_file *prn_stream)
if(sd->stc.buf_y < sd->stc.prt_scans) { /* Test for White */
- gdev_prn_get_bits(pdev,sd->stc.buf_y,ext_line,&ext_data);
+ code = gdev_prn_get_bits(pdev,sd->stc.buf_y,ext_line,&ext_data);
+ if (code < 0) {
+ SORRY;
+ goto xit;
+ }
color = stc_iswhite(sd,prt_pixels,ext_data) ? ext_size : 0;
@@ -747,6 +752,7 @@ stc_print_page(gx_device_printer * pdev, gp_file *prn_stream)
*** Release the dynamic memory
***/
+xit:
if(ext_line != NULL)
gs_free(sd->memory, ext_line,ext_size,1,"stc_print_page/ext_line");
diff --git a/devices/gdevtfnx.c b/devices/gdevtfnx.c
index f07cc153..d9593cd2 100644
--- a/devices/gdevtfnx.c
+++ b/devices/gdevtfnx.c
@@ -126,13 +126,6 @@ tiff12_print_page(gx_device_printer * pdev, gp_file * file)
gx_device_tiff *const tfdev = (gx_device_tiff *)pdev;
int code;
- /* open the TIFF device */
- if (gdev_prn_file_is_new(pdev)) {
- tfdev->tif = tiff_from_filep(pdev, pdev->dname, file, tfdev->BigEndian, tfdev->UseBigTIFF);
- if (!tfdev->tif)
- return_error(gs_error_invalidfileaccess);
- }
-
code = gdev_tiff_begin_page(tfdev, file);
if (code < 0)
return code;
@@ -146,12 +139,16 @@ tiff12_print_page(gx_device_printer * pdev, gp_file * file)
{
int y;
int size = gdev_prn_raster(pdev);
- byte *data = gs_alloc_bytes(pdev->memory, size, "tiff12_print_page");
+
+ /* We allocate an extra 5 bytes to avoid buffer overflow when accessing
+ src[5] below, if size if not multiple of 6. This fixes bug-701807. */
+ int size_alloc = size + 5;
+ byte *data = gs_alloc_bytes(pdev->memory, size_alloc, "tiff12_print_page");
if (data == 0)
return_error(gs_error_VMerror);
- memset(data, 0, size);
+ memset(data, 0, size_alloc);
for (y = 0; y < pdev->height; ++y) {
const byte *src;
@@ -185,13 +182,6 @@ tiff_rgb_print_page(gx_device_printer * pdev, gp_file * file)
gx_device_tiff *const tfdev = (gx_device_tiff *)pdev;
int code;
- /* open the TIFF device */
- if (gdev_prn_file_is_new(pdev)) {
- tfdev->tif = tiff_from_filep(pdev, pdev->dname, file, tfdev->BigEndian, tfdev->UseBigTIFF);
- if (!tfdev->tif)
- return_error(gs_error_invalidfileaccess);
- }
-
code = gdev_tiff_begin_page(tfdev, file);
if (code < 0)
return code;
diff --git a/devices/gdevtifs.c b/devices/gdevtifs.c
index 722640aa..2d612bac 100644
--- a/devices/gdevtifs.c
+++ b/devices/gdevtifs.c
@@ -331,6 +331,9 @@ int gdev_tiff_begin_page(gx_device_tiff *tfdev,
profile_struct->device_profile[0], profile_struct->postren_profile,
&rendering_params);
}
+ if (tfdev->icclink == NULL) {
+ return_error(gs_error_VMerror);
+ }
/* If it is identity, release it now and set link to NULL */
if (tfdev->icclink->is_identity) {
tfdev->icclink->procs.free_link(tfdev->icclink);
@@ -404,8 +407,13 @@ int tiff_set_fields_for_printer(gx_device_printer *pdev,
time_t t;
char dateTimeValue[20];
+#ifdef CLUSTER
+ memset(&t, 0, sizeof(t));
+ memset(&tms, 0, sizeof(tms));
+#else
time(&t);
tms = *localtime(&t);
+#endif
gs_sprintf(dateTimeValue, "%04d:%02d:%02d %02d:%02d:%02d",
tms.tm_year + 1900, tms.tm_mon + 1, tms.tm_mday,
tms.tm_hour, tms.tm_min, tms.tm_sec);
@@ -472,7 +480,7 @@ tiff_print_page(gx_device_printer *dev, TIFF *tif, int min_feature_size)
for (row = 0; row < dev->height && code >= 0; row++) {
code = gdev_prn_copy_scan_lines(dev, row, data, size);
if (code < 0)
- break;
+ goto cleanup;
if (min_feature_size > 1) {
filtered_count = min_feature_size_process(data, min_feature_data);
if (filtered_count == 0)
diff --git a/devices/gdevtknk.c b/devices/gdevtknk.c
index cd88a42d..35d98bfe 100644
--- a/devices/gdevtknk.c
+++ b/devices/gdevtknk.c
@@ -125,6 +125,7 @@ tekink_print_page(gx_device_printer *pdev, gp_file *prn_stream)
register byte bdata,mdata,ydata,cdata;
register byte mask,inbyte;
register byte *indataend,*outdataend;
+ int code = 0;
/* Allocate a temporary buffer for color separation.
The buffer is partitioned into an input buffer and four
@@ -134,7 +135,8 @@ tekink_print_page(gx_device_printer *pdev, gp_file *prn_stream)
line_size = gdev_mem_bytes_per_scan_line((gx_device *)pdev);
color_line_size=(pdev->width+7)/8;
indata1=(byte *)malloc(line_size+4*(color_line_size+1));
- if (indata1==NULL) return -1;
+ if (indata1==NULL)
+ return_error(gs_error_VMerror);
/* pointers to the partions */
indataend=indata1+line_size;
bdata1=indataend;
@@ -150,7 +152,9 @@ tekink_print_page(gx_device_printer *pdev, gp_file *prn_stream)
scan_lines=pdev->height;
for (scan_line=0;scan_line<scan_lines;scan_line++){
/* get data */
- gdev_prn_copy_scan_lines(pdev,scan_line,indata1,line_size);
+ code = gdev_prn_copy_scan_lines(pdev,scan_line,indata1,line_size);
+ if (code < 0)
+ goto xit;
/* Separate data into color planes */
bdatap = bdata1+1;
mdatap = mdata1+1;
@@ -248,7 +252,8 @@ tekink_print_page(gx_device_printer *pdev, gp_file *prn_stream)
gp_fputs("\f",prn_stream);
}
+xit:
/* Deallocate temp buffer */
free(indata1);
- return 0;
+ return code;
}
diff --git a/devices/gdevtsep.c b/devices/gdevtsep.c
index 5fb1025e..7fddf1c7 100644
--- a/devices/gdevtsep.c
+++ b/devices/gdevtsep.c
@@ -38,6 +38,7 @@
#include "gsequivc.h"
#include "gxdht.h"
#include "gxiodev.h"
+#include "gzht.h"
#include "stdio_.h"
#include "ctype_.h"
#include "gxgetbit.h"
@@ -49,6 +50,9 @@
#include "gsicc_cache.h"
#include "gxdevsop.h"
#include "gsicc.h"
+#ifdef WITH_CAL
+#include "cal.h"
+#endif
/*
* Some of the code in this module is based upon the gdevtfnx.c module.
@@ -1184,7 +1188,7 @@ tiffsep_put_params(gx_device * pdev, gs_param_list * plist)
}
switch (code = param_read_int(plist, (param_name = "MaxSpots"), &max_spots)) {
case 0:
- if ((max_spots >= 0) || (max_spots <= GS_CLIENT_COLOR_MAX_COMPONENTS-4)) {
+ if ((max_spots >= 0) && (max_spots <= GS_CLIENT_COLOR_MAX_COMPONENTS-4)) {
pdevn->max_spots = max_spots;
break;
}
@@ -1230,9 +1234,7 @@ tiffsep1_put_params(gx_device * pdev, gs_param_list * plist)
static void build_comp_to_sep_map(tiffsep_device *, short *);
static int number_output_separations(int, int, int, int);
static int create_separation_file_name(tiffsep_device *, char *, uint, int, bool);
-static byte * threshold_from_order( gx_ht_order *, int *, int *, gs_memory_t *);
static int sep1_ht_order_to_thresholds(gx_device *pdev, const gs_gstate *pgs);
-static void sep1_free_thresholds(tiffsep1_device *);
dev_proc_fill_path(clist_fill_path);
/* Open the tiffsep1 device. This will now be using planar buffers so that
@@ -1372,10 +1374,6 @@ tiffsep1_prn_close(gx_device * pdev)
tfdev->tiff[comp_num] = NULL;
}
}
- /* If we have thresholds, free them and clear the pointers */
- if( tfdev->thresholds[0].dstart != NULL) {
- sep1_free_thresholds(tfdev);
- }
done:
@@ -1796,6 +1794,9 @@ tiffsep_prn_open(gx_device * pdev)
profile_struct->device_profile[0], profile_struct->postren_profile,
&rendering_params);
}
+ if (pdev_sep->icclink == NULL) {
+ return_error(gs_error_VMerror);
+ }
/* If it is identity, release it now and set link to NULL */
if (pdev_sep->icclink->is_identity) {
pdev_sep->icclink->procs.free_link(pdev_sep->icclink);
@@ -2110,10 +2111,11 @@ sep1_ht_order_to_thresholds(gx_device *pdev, const gs_gstate *pgs)
{
tiffsep1_device * const tfdev = (tiffsep1_device *)pdev;
gs_memory_t *mem = pdev->memory;
+ int code;
- /* If we have thresholds, free them and clear the pointers */
+ /* If we have thresholds, clear the pointers */
if( tfdev->thresholds[0].dstart != NULL) {
- sep1_free_thresholds(tfdev);
+ tfdev->thresholds[0].dstart = NULL;
} else {
int nc, j;
gx_ht_order *d_order;
@@ -2125,130 +2127,39 @@ sep1_ht_order_to_thresholds(gx_device *pdev, const gs_gstate *pgs)
}
nc = pgs->dev_ht->num_comp;
for( j=0; j<nc; j++ ) {
+ int x, y;
+
d_order = &(pgs->dev_ht->components[j].corder);
dptr = &(tfdev->thresholds[j]);
- dptr->dstart = threshold_from_order( d_order, &(dptr->dwidth), &(dptr->dheight), mem);
- if( dptr->dstart == NULL ) {
+ /* In order to use the function from gsht.c we need to set the color_info */
+ /* values it uses to reflect the eventual 1-bit output, not contone */
+ pdev->color_info.dither_grays = pdev->color_info.dither_colors = 2;
+ pdev->color_info.polarity = GX_CINFO_POLARITY_ADDITIVE;
+ code = gx_ht_construct_threshold(d_order, pdev, pgs, j);
+ if( code < 0 ) {
emprintf(mem,
"sep1_order_to_thresholds: conversion to thresholds failed.\n");
- return_error(gs_error_rangecheck); /* error condition */
+ return_error(code); /* error condition */
}
+ pdev->color_info.dither_grays = pdev->color_info.dither_colors = 256;
+ pdev->color_info.polarity = GX_CINFO_POLARITY_SUBTRACTIVE;
+ /* Invert the thresholds so we (almost) match pbmraw dithered output */
+ for (y=0; y<d_order->full_height; y++) {
+ byte *s = d_order->threshold;
+ int s_offset = y * d_order->width;
+
+ for (x=0; x<d_order->width; x++) {
+ s[s_offset + x] = 256 - s[s_offset + x];
+ }
+ }
+ dptr->dstart = d_order->threshold;
+ dptr->dwidth = d_order->width;
+ dptr->dheight = d_order->full_height;
}
}
return 0;
}
-static void
-sep1_free_thresholds(tiffsep1_device *tfdev)
-{
- int i;
-
- for (i=0; i < GX_DEVICE_COLOR_MAX_COMPONENTS + 1; i++) {
- threshold_array_t *dptr = &(tfdev->thresholds[i]);
-
- if (dptr->dstart != NULL) {
- gs_free(tfdev->memory, dptr->dstart, dptr->dwidth * dptr->dheight, 1,
- "tiffsep1_threshold_array");
- dptr->dstart = NULL;
- }
- }
-}
-
-/************************************************************************/
-/* This routine generates a threshold matrix for use in */
-/* the color dithering routine from the "order" info in */
-/* the current graphics state. */
-/* */
-/************************************************************************/
-
-static byte*
-threshold_from_order( gx_ht_order *d_order, int *Width, int *Height, gs_memory_t *memory)
-{
- int i, j, l, prev_l;
- unsigned char *thresh;
- int num_repeat, shift;
-
- /* We can have simple or complete orders. Simple ones tile the threshold
- with shifts. To handle those we simply loop over the number of
- repeats making sure to shift columns when we set our threshold values */
- num_repeat = d_order->full_height / d_order->height;
- shift = d_order->shift;
-
-#ifdef DEBUG
-if ( gs_debug_c('h') ) {
- dmprintf2(memory, " width=%d, height=%d,",
- d_order->width, d_order->height );
- dmprintf2(memory, " num_levels=%d, raster=%d\n",
- d_order->num_levels, d_order->raster );
-}
-#endif
-
- thresh = (byte *)gs_malloc(memory, d_order->width * d_order->full_height, 1,
- "tiffsep1_threshold_array");
- if( thresh == NULL ) {
-#ifdef DEBUG
- emprintf(memory, "threshold_from_order, malloc failed\n");
- emprintf2(memory, " width=%d, height=%d,",
- d_order->width, d_order->height );
- emprintf2(memory, " num_levels=%d, raster=%d\n",
- d_order->num_levels, d_order->raster );
-#endif
- return thresh ; /* error if allocation failed */
- }
- for( i=0; i<d_order->num_bits; i++ )
- thresh[i] = 1;
-
- *Width = d_order->width;
- *Height = d_order->full_height;
-
- prev_l = 0;
- l = 1;
- while( l < d_order->num_levels ) {
- if( d_order->levels[l] > d_order->levels[prev_l] ) {
- int t_level = (256*l)/d_order->num_levels;
-
-#ifdef DEBUG
- if ( gs_debug_c('h') )
- dmprintf2(memory, " level[%3d]=%3d\n", l, d_order->levels[l]);
-#endif
- for( j=d_order->levels[prev_l]; j<d_order->levels[l]; j++) {
- gs_int_point col_row = { 0, 0 };
- int col_kk, row_kk, kk;
-
- d_order->procs->bit_index(d_order, j, &col_row);
-#ifdef DEBUG
- if ( gs_debug_c('h') )
- dmprintf3(memory, "row=%2d, col=%2d, t_level=%3d\n",
- col_row.y, col_row.x, t_level);
-#endif
- if( col_row.x < (int)d_order->width ) {
- for (kk = 0; kk < num_repeat; kk++) {
- row_kk = col_row.y + kk * d_order->height;
- col_kk = col_row.x + kk * shift;
- col_kk = col_kk % d_order->width;
- *(thresh + col_kk + (row_kk * d_order->width)) = t_level;
- }
- }
- }
- prev_l = l;
- }
- l++;
- }
-
-#ifdef DEBUG
- if (gs_debug_c('h')) {
- for( i=0; i<(int)d_order->height; i++ ) {
- dmprintf1(memory, "threshold array row %3d= ", i);
- for( j=(int)d_order->width-1; j>=0; j-- )
- dmprintf1(memory, "%3d ", *(thresh+j+(i*d_order->width)) );
- dmprintf(memory, "\n");
- }
- }
-#endif
-
- return thresh;
-}
-
/*
* This function prints out CMYK value with separation name for every
* separation. Where the original alternate colour space was DeviceCMYK, and the output
@@ -2365,6 +2276,7 @@ tiffsep_print_page(gx_device_printer * pdev, gp_file * file)
"\nUse of the %%d format is required to output more than one page to tiffsep.\n"
"See doc/Devices.htm#TIFF for details.\n\n");
code = gs_note_error(gs_error_ioerror);
+ goto done;
}
/* Write the page directory for the CMYK equivalent file. */
if (!tfdev->comp_file) {
@@ -2679,6 +2591,26 @@ done:
return code;
}
+#ifdef WITH_CAL
+static void
+ht_callback(cal_halftone_data_t *ht, void *arg)
+{
+ tiffsep1_device *tfdev = (tiffsep1_device *)arg;
+ int num_std_colorants = tfdev->devn_params.num_std_colorant_names;
+ int num_order = tfdev->devn_params.num_separation_order_names;
+ int num_spot = tfdev->devn_params.separations.num_separations;
+ int comp_num;
+ int num_comp = number_output_separations(tfdev->color_info.num_components,
+ num_std_colorants, num_order, num_spot);
+ /* Deliberately cast away const, cos tifflib has a bad interface. */
+ unsigned char *data = (unsigned char *)ht->data;
+
+ for (comp_num = 0; comp_num < num_comp; comp_num++) {
+ TIFFWriteScanline(tfdev->tiff[comp_num], &data[ht->raster*comp_num], ht->y, 0);
+ }
+}
+#endif
+
/*
* Output the image data for the tiff separation (tiffsep1) device. The data
* for the tiffsep1 device is written in separate planes to separate files.
@@ -2726,6 +2658,7 @@ tiffsep1_print_page(gx_device_printer * pdev, gp_file * file)
"\nUse of the %%d format is required to output more than one page to tiffsep1.\n"
"See doc/Devices.htm#TIFF for details.\n\n");
code = gs_note_error(gs_error_ioerror);
+ goto done;
}
/* If the output file is on disk and the name contains a page #, */
/* then delete the previous file. */
@@ -2809,8 +2742,41 @@ tiffsep1_print_page(gx_device_printer * pdev, gp_file * file)
int pixel, y;
gs_get_bits_params_t params;
gs_int_rect rect;
+ uint32_t *dithered_line = NULL;
+
+#ifdef WITH_CAL
+ cal_context *cal = pdev->memory->gs_lib_ctx->core->cal_ctx;
+ cal_halftone *cal_ht = NULL;
+ cal_matrix matrix = { 1.0f, 0.0f, 0.0f, 1.0f, 0.0f, 0.0f };
+
+ cal_ht = cal_halftone_init(cal,
+ pdev->memory->non_gc_memory,
+ pdev->width,
+ pdev->height,
+ &matrix,
+ comp_num,
+ NULL,
+ 0,
+ 0,
+ pdev->width,
+ pdev->height,
+ 0);
+ if (cal_ht != NULL) {
+ for (comp_num = 0; comp_num < num_comp; comp_num++)
+ if (cal_halftone_add_screen(cal,
+ pdev->memory->non_gc_memory,
+ cal_ht,
+ 0,
+ tfdev->thresholds[comp_num].dwidth,
+ tfdev->thresholds[comp_num].dheight,
+ 0,
+ 0,
+ tfdev->thresholds[comp_num].dstart) < 0)
+ goto cal_fail;
+ } else
+#endif
/* the dithered_line is assumed to be 32-bit aligned by the alloc */
- uint32_t *dithered_line = (uint32_t *)gs_alloc_bytes(pdev->memory, dithered_raster,
+ dithered_line = (uint32_t *)gs_alloc_bytes(pdev->memory, dithered_raster,
"tiffsep1_print_page");
memset(planes, 0, sizeof(*planes) * GS_CLIENT_COLOR_MAX_COMPONENTS);
@@ -2832,7 +2798,11 @@ tiffsep1_print_page(gx_device_printer * pdev, gp_file * file)
}
}
+#ifdef WITH_CAL
+ if (code < 0 || (cal_ht == NULL && dithered_line == NULL)) {
+#else
if (code < 0 || dithered_line == NULL) {
+#endif
code = gs_note_error(gs_error_VMerror);
goto cleanup;
}
@@ -2853,6 +2823,16 @@ tiffsep1_print_page(gx_device_printer * pdev, gp_file * file)
if (code < 0)
break;
+#ifdef WITH_CAL
+ if(cal_ht != NULL) {
+ if (cal_halftone_process_planar(cal_ht,
+ pdev->memory->non_gc_memory,
+ (const byte * const *)&params.data[0],
+ ht_callback,
+ tfdev) < 0)
+ goto cal_fail;
+ } else
+#endif
/* Dither the separation and write it out */
for (comp_num = 0; comp_num < num_comp; comp_num++ ) {
@@ -2869,8 +2849,8 @@ tiffsep1_print_page(gx_device_printer * pdev, gp_file * file)
*/
#define USE_32_BIT_WRITES
byte *thresh_line_base = tfdev->thresholds[comp_num].dstart +
- ((y % tfdev->thresholds[comp_num].dheight) *
- tfdev->thresholds[comp_num].dwidth) ;
+ ((y % tfdev->thresholds[comp_num].dheight) *
+ tfdev->thresholds[comp_num].dwidth) ;
byte *thresh_ptr = thresh_line_base;
byte *thresh_limit = thresh_ptr + tfdev->thresholds[comp_num].dwidth;
byte *src = params.data[comp_num];
@@ -2941,6 +2921,14 @@ tiffsep1_print_page(gx_device_printer * pdev, gp_file * file)
}
code = code1;
+#ifdef WITH_CAL
+ if(0) {
+cal_fail:
+ code = gs_error_unknownerror;
+ }
+ cal_halftone_fin(cal_ht, pdev->memory->non_gc_memory);
+#endif
+
/* free any allocations and exit with code */
cleanup:
gs_free_object(pdev->memory, dithered_line, "tiffsep1_print_page");
diff --git a/devices/gdevwpr2.c b/devices/gdevwpr2.c
index 3f834b57..29af469b 100644
--- a/devices/gdevwpr2.c
+++ b/devices/gdevwpr2.c
@@ -571,9 +571,12 @@ win_pr2_print_page(gx_device_printer * pdev, gp_file * file)
lines = scan_lines - y;
else
lines = yslice;
- for (i = 0; i < lines; i++)
- gdev_prn_copy_scan_lines(pdev, y + i,
+ for (i = 0; i < lines; i++) {
+ code = gdev_prn_copy_scan_lines(pdev, y + i,
row + (bmp_raster * (lines - 1 - i)), raster);
+ if (code < 0)
+ goto xit;
+ }
if (ratio > 1) {
StretchDIBits(wdev->hdcprn, 0, y*ratio, pdev->width*ratio, lines*ratio,
@@ -618,6 +621,7 @@ win_pr2_print_page(gx_device_printer * pdev, gp_file * file)
ShowWindow(wdev->hDlgModeless, SW_HIDE);
}
+xit:
GlobalUnlock(hrow);
GlobalFree(hrow);
diff --git a/devices/gdevx.h b/devices/gdevx.h
index d267afdd..0e97d934 100644
--- a/devices/gdevx.h
+++ b/devices/gdevx.h
@@ -20,9 +20,6 @@
#ifndef gdevx_INCLUDED
# define gdevx_INCLUDED
-/* Define the type of an X pixel. */
-typedef unsigned long x_pixel;
-
#include "gdevbbox.h"
#include "gdevxcmp.h"
diff --git a/devices/gdevxcf.c b/devices/gdevxcf.c
index 39c72831..a7e66174 100644
--- a/devices/gdevxcf.c
+++ b/devices/gdevxcf.c
@@ -1270,11 +1270,18 @@ xcf_write_image_data(xcf_write_ctx *xc, gx_device_printer *pdev)
tile_data = (byte **)gs_alloc_bytes(pdev->memory,
xc->n_tiles_x * sizeof(byte *),
"xcf_write_image_data");
+ if (line == NULL || tile_data == NULL) {
+ code = gs_error_VMerror;
+ goto xit;
+ }
+ memset(tile_data, 0, xc->n_tiles_x * sizeof(byte *));
for (tile_i = 0; tile_i < xc->n_tiles_x; tile_i++) {
int tile_bytes = xcf_tile_sizeof(xc, tile_i) * bytes_pp;
tile_data[tile_i] = gs_alloc_bytes(pdev->memory, tile_bytes,
"xcf_write_image_data");
+ if (tile_data[tile_i] == NULL)
+ goto xit;
}
for (tile_j = 0; tile_j < xc->n_tiles_y; tile_j++) {
int y0, y1;
@@ -1285,6 +1292,8 @@ xcf_write_image_data(xcf_write_ctx *xc, gx_device_printer *pdev)
y1 = min(xc->height, y0 + TILE_HEIGHT);
for (y = y0; y < y1; y++) {
code = gdev_prn_get_bits(pdev, y, line, &row);
+ if (code < 0)
+ goto xit;
if (link == NULL)
xcf_shuffle_to_tile(xc, tile_data, row, y);
else
@@ -1303,9 +1312,12 @@ xcf_write_image_data(xcf_write_ctx *xc, gx_device_printer *pdev)
}
}
- for (tile_i = 0; tile_i < xc->n_tiles_x; tile_i++) {
- gs_free_object(pdev->memory, tile_data[tile_i],
- "xcf_write_image_data");
+xit:
+ if (tile_data != NULL) {
+ for (tile_i = 0; tile_i < xc->n_tiles_x; tile_i++) {
+ gs_free_object(pdev->memory, tile_data[tile_i],
+ "xcf_write_image_data");
+ }
}
gs_free_object(pdev->memory, tile_data, "xcf_write_image_data");
gs_free_object(pdev->memory, line, "xcf_write_image_data");
diff --git a/devices/gdevxcmp.c b/devices/gdevxcmp.c
index 0aa73314..5cf5a56c 100644
--- a/devices/gdevxcmp.c
+++ b/devices/gdevxcmp.c
@@ -134,13 +134,16 @@ alloc_std_cmap(gx_device_X *xdev, bool colored)
/* Allocate the dynamic color table, if needed and possible. */
/* Uses: vinfo, cman.num_rgb. Sets: cman.dynamic.*. */
-static void
+/* Return true if the allocation was successful. */
+static bool
alloc_dynamic_colors(gx_device_X * xdev, int num_colors)
{
if (num_colors > 0) {
xdev->cman.dynamic.colors = (x11_color_t **)
gs_malloc(xdev->memory, sizeof(x11_color_t *), xdev->cman.num_rgb,
"x11 cman.dynamic.colors");
+ if (xdev->cman.dynamic.colors == NULL)
+ return false;
if (xdev->cman.dynamic.colors) {
int i;
@@ -152,6 +155,7 @@ alloc_dynamic_colors(gx_device_X * xdev, int num_colors)
xdev->cman.dynamic.used = 0;
}
}
+ return true;
}
/* Allocate an X color, updating the reverse map. */
@@ -388,8 +392,9 @@ gdev_x_setup_colors(gx_device_X * xdev)
}
/* Allocate the dynamic color table. */
- alloc_dynamic_colors(xdev, CUBE(xdev->cman.num_rgb) -
- CUBE(xdev->color_info.dither_colors));
+ if (!alloc_dynamic_colors(xdev, CUBE(xdev->cman.num_rgb) -
+ CUBE(xdev->color_info.dither_colors)))
+ return_error(gs_error_VMerror);
#undef CUBE
#undef CBRT
break;
@@ -436,8 +441,9 @@ grayscale:
}
/* Allocate the dynamic color table. */
- alloc_dynamic_colors(xdev, xdev->cman.num_rgb -
- xdev->color_info.dither_grays);
+ if (!alloc_dynamic_colors(xdev, xdev->cman.num_rgb -
+ xdev->color_info.dither_grays))
+ return_error(gs_error_VMerror);
break;
case 'M':
monochrome:
diff --git a/devices/gdevxcmp.h b/devices/gdevxcmp.h
index c64c81d2..0a71dd50 100644
--- a/devices/gdevxcmp.h
+++ b/devices/gdevxcmp.h
@@ -23,6 +23,9 @@
#include "std.h"
#include "gxcvalue.h"
+/* Define the type of an X pixel. */
+typedef unsigned long x_pixel;
+
/*
* The structure defined in this file is used in only one place, in the
* gx_device_X structure defined in gdevx.h. We define it as a separate
diff --git a/devices/gdevxini.c b/devices/gdevxini.c
index 98c743a9..3b46b182 100644
--- a/devices/gdevxini.c
+++ b/devices/gdevxini.c
@@ -634,6 +634,7 @@ x_set_buffer(gx_device_X * xdev)
xdev->buffer = buffer;
mdev->width = xdev->width;
mdev->height = xdev->height;
+ rc_decrement(mdev->icc_struct, "x_set_buffer");
mdev->icc_struct = xdev->icc_struct;
rc_increment(xdev->icc_struct);
mdev->color_info = xdev->orig_color_info;
@@ -939,6 +940,8 @@ gdev_x_put_params(gx_device * dev, gs_param_list * plist)
int
gdev_x_close(gx_device_X *xdev)
{
+ long MaxBitmap = xdev->space_params.MaxBitmap;
+
if (xdev->ghostview)
gdev_x_send_event(xdev, xdev->DONE);
if (xdev->vinfo) {
@@ -952,5 +955,10 @@ gdev_x_close(gx_device_X *xdev)
XFreeGC(xdev->dpy, xdev->gc);
XCloseDisplay(xdev->dpy);
+ /* MaxBitmap == 0 ensures x_set_buffer() configures as non-buffering */
+ xdev->space_params.MaxBitmap = 0;
+ x_set_buffer(xdev);
+ xdev->space_params.MaxBitmap = MaxBitmap;
+
return 0;
}
diff --git a/devices/vector/gdevagl.c b/devices/vector/gdevagl.c
index b2813e04..f9428a6e 100644
--- a/devices/vector/gdevagl.c
+++ b/devices/vector/gdevagl.c
@@ -4308,5 +4308,5 @@ treble_glyph_list_t TrebleGlyphList[] = {
quad_glyph_list_t QuadGlyphList[] = {
{"rehyehaleflamarabic", {0x0631, 0xFEF3, 0xFE8E, 0x0644}},
- {0x00, {0,0,0}}
+ {0x00, {0,0,0,0}}
};
diff --git a/devices/vector/gdevagl.h b/devices/vector/gdevagl.h
index e509f897..e3569226 100644
--- a/devices/vector/gdevagl.h
+++ b/devices/vector/gdevagl.h
@@ -33,5 +33,5 @@ typedef struct treble_glyph_list_s {
typedef struct quad_glyph_list_s {
const char *Glyph;
- short Unicode[4];
+ unsigned short Unicode[4];
} quad_glyph_list_t;
diff --git a/devices/vector/gdevpdf.c b/devices/vector/gdevpdf.c
index d918d603..b25a4a6a 100644
--- a/devices/vector/gdevpdf.c
+++ b/devices/vector/gdevpdf.c
@@ -1020,6 +1020,7 @@ pdf_close_page(gx_device_pdf * pdev, int num_copies)
page->contents_id = pdev->contents_id;
page->NumCopies_set = pdev->NumCopies_set;
page->NumCopies = pdev->NumCopies;
+ page->UserUnit = pdev->UserUnit;
pdf_record_usage(pdev, pdev->contents_id, pdev->next_page);
pdf_record_usage(pdev, pdev->contents_length_id, pdev->next_page);
pdf_record_usage(pdev, page->Page->id, pdev->next_page);
@@ -1337,6 +1338,9 @@ pdf_write_page(gx_device_pdf *pdev, int page_num)
bleedbox[0], bleedbox[1], bleedbox[2], bleedbox[3]);
}
pdf_print_orientation(pdev, page);
+ if (page->UserUnit != 1)
+ pprintg1(s, "/UserUnit %g\n", page->UserUnit);
+
pprintld1(s, "/Parent %ld 0 R\n", pdev->Pages->id);
if (pdev->ForOPDFRead && pdev->DoNumCopies && !pdev->ProduceDSC) {
if (page->NumCopies_set)
diff --git a/devices/vector/gdevpdfb.h b/devices/vector/gdevpdfb.h
index d000ee96..5ea7a355 100644
--- a/devices/vector/gdevpdfb.h
+++ b/devices/vector/gdevpdfb.h
@@ -98,7 +98,16 @@ const gx_device_pdf PDF_DEVICE_IDENT =
NULL, /* push_transparency_state */
NULL, /* pop_transparency_state */
NULL, /* put_image */
- gdev_pdf_dev_spec_op /* dev_spec_op */
+ gdev_pdf_dev_spec_op, /* dev_spec_op */
+ NULL, /* copy_planes */
+ NULL, /* get_profile */
+ NULL, /* set_graphics_type_tag */
+ NULL, /* strip_copy_rop2 */
+ NULL, /* strip_tile_rect_devn */
+ NULL, /* copy_alpha_hl_color */
+ NULL, /* process_page */
+ NULL, /* transform_pixel_region */
+ gdev_pdf_fill_stroke_path /* fill_stroke_path */
},
psdf_initial_values(PSDF_VERSION_INITIAL, 0 /*false */ ), /* (!ASCII85EncodePages) */
0, /* pdf_font_dir */
@@ -162,9 +171,9 @@ const gx_device_pdf PDF_DEVICE_IDENT =
{-1, -1}, /* page_dsc_info */
0 /*false*/, /* fill_overprint */
0 /*false*/, /* stroke_overprint */
+ 1 /* Absolute Colorimetric */, /* rendering intent */
0 /*false*/, /* remap_fill_coilor */
0 /*false*/, /* remap_stroke_coilor */
- 0, /* overprint_mode */
gs_no_id, /* halftone_id */
{gs_no_id, gs_no_id, gs_no_id, gs_no_id}, /* transfer_ids */
0, /* transfer_not_identity */
@@ -288,7 +297,8 @@ const gx_device_pdf PDF_DEVICE_IDENT =
-1, /* Last Form ID, start with -1 which means 'none' */
0, /* ExtensionMetadata */
0, /* PDFFormName */
- 0 /* PassThroughWriter */
+ 0, /* PassThroughWriter */
+ 1.0 /* UserUnit */
};
#else
diff --git a/devices/vector/gdevpdfd.c b/devices/vector/gdevpdfd.c
index 28c6b01d..1e62bad1 100644
--- a/devices/vector/gdevpdfd.c
+++ b/devices/vector/gdevpdfd.c
@@ -846,7 +846,7 @@ prepare_fill_with_clip(gx_device_pdf *pdev, const gs_gstate * pgs,
if (code < 0)
return code;
}
- code = pdf_prepare_fill(pdev, pgs);
+ code = pdf_prepare_fill(pdev, pgs, false);
if (code < 0)
return code;
return pdf_put_clip_path(pdev, pcpath);
@@ -1743,7 +1743,7 @@ gdev_pdf_stroke_path(gx_device * dev, const gs_gstate * pgs,
code = pdf_open_page(pdev, PDF_IN_STREAM);
if (code < 0)
return code;
- code = pdf_prepare_stroke(pdev, pgs);
+ code = pdf_prepare_stroke(pdev, pgs, false);
if (code == gs_error_rangecheck) {
/* Fallback to the default implermentation for handling
a transparency with CompatibilityLevel<=1.3 . */
@@ -1866,6 +1866,205 @@ gdev_pdf_stroke_path(gx_device * dev, const gs_gstate * pgs,
return 0;
}
+int
+gdev_pdf_fill_stroke_path(gx_device *dev, const gs_gstate *pgs, gx_path *ppath,
+ const gx_fill_params *fill_params, const gx_drawing_color *pdcolor_fill,
+ const gx_stroke_params *stroke_params, const gx_drawing_color *pdcolor_stroke,
+ const gx_clip_path *pcpath)
+{
+ gx_device_pdf *pdev = (gx_device_pdf *) dev;
+ int code;
+ bool new_clip;
+ bool have_path;
+
+ have_path = !gx_path_is_void(ppath);
+ if (!have_path) {
+ if (!pdev->vg_initial_set) {
+ /* See lib/gs_pdfwr.ps about "initial graphic state". */
+ pdf_prepare_initial_viewer_state(pdev, pgs);
+ pdf_reset_graphics(pdev);
+ return 0;
+ }
+ }
+
+ /* PostScript doesn't have a fill+stroke primitive, so break it into two operations
+ * PDF 1.2 only has a single overprint setting, we can't be certainto match that
+ * Because our inpu tcould be from a higher level. So be sure and break it into
+ * 2 operations.
+ */
+ if (pdev->ForOPDFRead || pdev->CompatibilityLevel < 1.3) {
+ code = gdev_pdf_fill_path(dev, pgs, ppath, fill_params, pdcolor_fill, pcpath);
+ if (code < 0)
+ return code;
+ gs_swapcolors_quick(pgs);
+ code = gdev_pdf_stroke_path(dev, pgs, ppath, stroke_params, pdcolor_stroke, pcpath);
+ gs_swapcolors_quick(pgs);
+ return code;
+ } else {
+ bool set_ctm;
+ gs_matrix mat;
+ double scale, path_scale;
+ double prescale = 1;
+ gs_fixed_rect bbox;
+ gs_path_enum cenum;
+ gdev_vector_dopath_state_t state;
+ stream *s = pdev->strm;
+ /*
+ * Check for an empty clipping path.
+ */
+ if (pcpath) {
+ gs_fixed_rect cbox;
+
+ gx_cpath_outer_box(pcpath, &cbox);
+ if (cbox.p.x >= cbox.q.x || cbox.p.y >= cbox.q.y)
+ return 1; /* empty clipping path */
+// *box = cbox;
+ }
+ code = pdf_check_soft_mask(pdev, (gs_gstate *)pgs);
+ if (code < 0)
+ return code;
+
+ new_clip = pdf_must_put_clip_path(pdev, pcpath);
+ if (have_path || pdev->context == PDF_IN_NONE || new_clip) {
+ if (new_clip)
+ code = pdf_unclip(pdev);
+ else
+ code = pdf_open_page(pdev, PDF_IN_STREAM);
+ if (code < 0)
+ return code;
+ }
+ code = pdf_prepare_fill_stroke(pdev, pgs, false);
+ if (code < 0)
+ return code;
+
+ code = pdf_put_clip_path(pdev, pcpath);
+ if (code < 0)
+ return code;
+ /*
+ * If the CTM is not uniform, stroke width depends on angle.
+ * We'd like to avoid resetting the CTM, so we check for uniform
+ * CTMs explicitly. Note that in PDF, unlike PostScript, it is
+ * the CTM at the time of the stroke operation, not the CTM at
+ * the time the path was constructed, that is used for transforming
+ * the points of the path; so if we have to reset the CTM, we must
+ * do it before constructing the path, and inverse-transform all
+ * the coordinates.
+ */
+ set_ctm = (bool)gdev_vector_stroke_scaling((gx_device_vector *)pdev,
+ pgs, &scale, &mat);
+ if (set_ctm && ((pgs->ctm.xx == 0 && pgs->ctm.xy == 0) ||
+ (pgs->ctm.yx == 0 && pgs->ctm.yy == 0))) {
+ /* Acrobat Reader 5 and Adobe Reader 6 issues
+ the "Wrong operand type" error with matrices, which have 3 zero coefs.
+ Besides that, we found that Acrobat Reader 4, Acrobat Reader 5
+ and Adobe Reader 6 all store the current path in user space
+ and apply CTM in the time of stroking - See the bug 687901.
+ Therefore a precise conversion of Postscript to PDF isn't possible in this case.
+ Adobe viewers render a line with a constant width instead.
+ At last, with set_ctm == true we need the inverse matrix in
+ gdev_vector_dopath. Therefore we exclude projection matrices
+ (see bug 688363). */
+ set_ctm = false;
+ scale = fabs(pgs->ctm.xx + pgs->ctm.xy + pgs->ctm.yx + pgs->ctm.yy) /* Using the non-zero coeff. */
+ / sqrt(2); /* Empirically from Adobe. */
+ }
+ if (set_ctm) {
+ /*
+ * We want a scaling factor that will bring the largest reasonable
+ * user coordinate within bounds. We choose a factor based on the
+ * minor axis of the transformation. Thanks to Raph Levien for
+ * the following formula.
+ */
+ double a = mat.xx, b = mat.xy, c = mat.yx, d = mat.yy;
+ double u = fabs(a * d - b * c);
+ double v = a * a + b * b + c * c + d * d;
+ double minor = (sqrt(v + 2 * u) - sqrt(v - 2 * u)) * 0.5;
+
+ prescale = (minor == 0 || minor > 1 ? 1 : 1 / minor);
+ }
+ gx_path_bbox(ppath, &bbox);
+ {
+ /* Check whether a painting appears inside the clipping box.
+ Doing so after writing the clipping path due to /SP pdfmark
+ uses a special hack with painting outside the clipping box
+ for synchronizing the clipping path (see lib/gs_pdfwr.ps).
+ That hack appeared because there is no way to pass
+ the gs_gstate through gdev_pdf_put_params,
+ which pdfmark is implemented with.
+ */
+ gs_fixed_rect clip_box, stroke_bbox = bbox;
+ gs_point d0, d1;
+ gs_fixed_point p0, p1;
+ fixed bbox_expansion_x, bbox_expansion_y;
+
+ gs_distance_transform(pgs->line_params.half_width, 0, &ctm_only(pgs), &d0);
+ gs_distance_transform(0, pgs->line_params.half_width, &ctm_only(pgs), &d1);
+ p0.x = float2fixed(any_abs(d0.x));
+ p0.y = float2fixed(any_abs(d0.y));
+ p1.x = float2fixed(any_abs(d1.x));
+ p1.y = float2fixed(any_abs(d1.y));
+ bbox_expansion_x = max(p0.x, p1.x) + fixed_1 * 2;
+ bbox_expansion_y = max(p0.y, p1.y) + fixed_1 * 2;
+ stroke_bbox.p.x -= bbox_expansion_x;
+ stroke_bbox.p.y -= bbox_expansion_y;
+ stroke_bbox.q.x += bbox_expansion_x;
+ stroke_bbox.q.y += bbox_expansion_y;
+ gx_cpath_outer_box(pcpath, &clip_box);
+ rect_intersect(stroke_bbox, clip_box);
+ if (stroke_bbox.q.x < stroke_bbox.p.x || stroke_bbox.q.y < stroke_bbox.p.y)
+ return 0;
+ }
+ if (make_rect_scaling(pdev, &bbox, prescale, &path_scale)) {
+ scale /= path_scale;
+ if (set_ctm)
+ gs_matrix_scale(&mat, path_scale, path_scale, &mat);
+ else {
+ gs_make_scaling(path_scale, path_scale, &mat);
+ set_ctm = true;
+ }
+ }
+
+ code = pdf_setfillcolor((gx_device_vector *)pdev, pgs, pdcolor_fill);
+ if (code == gs_error_rangecheck) {
+ /* rangecheck means we revert to the equivalent to the default implementation */
+ code = gdev_pdf_fill_path(dev, pgs, ppath, fill_params, pdcolor_fill, pcpath);
+ if (code < 0)
+ return code;
+ /* Swap colors to make sure the pgs colorspace is correct for stroke */
+ gs_swapcolors_quick(pgs);
+ code = gdev_pdf_stroke_path(dev, pgs, ppath, stroke_params, pdcolor_stroke, pcpath);
+ gs_swapcolors_quick(pgs);
+ return code;
+ }
+
+ /* Swap colors to make sure the pgs colorspace is correct for stroke */
+ gs_swapcolors_quick(pgs);
+ code = gdev_vector_prepare_stroke((gx_device_vector *)pdev, pgs, stroke_params,
+ pdcolor_stroke, scale);
+ gs_swapcolors_quick(pgs);
+ if (code < 0) {
+ code = gdev_pdf_fill_path(dev, pgs, ppath, fill_params, pdcolor_fill, pcpath);
+ if (code < 0)
+ return code;
+ return gdev_pdf_stroke_path(dev, pgs, ppath, stroke_params, pdcolor_stroke, pcpath);
+ }
+ if (!pdev->HaveStrokeColor)
+ pdev->saved_fill_color = pdev->saved_stroke_color;
+ if (set_ctm)
+ pdf_put_matrix(pdev, "q ", &mat, "cm\n");
+ if (pgs->line_params.dash.offset != 0 || pgs->line_params.dash.pattern_size != 0)
+ code = pdf_write_path(pdev, (gs_path_enum *)&cenum, &state, (gx_path *)ppath, 0, gx_path_type_stroke | gx_path_type_optimize | gx_path_type_dashed_stroke, (set_ctm ? &mat : (const gs_matrix *)0));
+ else
+ code = pdf_write_path(pdev, (gs_path_enum *)&cenum, &state, (gx_path *)ppath, 0, gx_path_type_stroke | gx_path_type_optimize, (set_ctm ? &mat : (const gs_matrix *)0));
+ if (code < 0)
+ return code;
+ s = pdev->strm;
+ stream_puts(s, (fill_params->rule < 0 ? "B\n" : "B*\n"));
+ stream_puts(s, (set_ctm ? " Q\n" : "\n"));
+ }
+ return 0;
+}
+
/*
The fill_rectangle_hl_color device method.
See gxdevcli.h about return codes.
diff --git a/devices/vector/gdevpdfe.c b/devices/vector/gdevpdfe.c
index 88ca7ac5..1c540709 100644
--- a/devices/vector/gdevpdfe.c
+++ b/devices/vector/gdevpdfe.c
@@ -202,8 +202,13 @@ pdf_xmp_time(char *buf, int buf_length)
time_t t;
char buf1[4+1+2+1+2+1]; /* yyyy-mm-dd\0 */
+#ifdef CLUSTER
+ memset(&t, 0, sizeof(t));
+ memset(&tms, 0, sizeof(tms));
+#else
time(&t);
tms = *localtime(&t);
+#endif
gs_sprintf(buf1,
"%04d-%02d-%02d",
tms.tm_year + 1900, tms.tm_mon + 1, tms.tm_mday);
@@ -646,8 +651,7 @@ pdf_write_document_metadata(gx_device_pdf *pdev, const byte digest[6])
{
pdf_xml_tag_open_beg(s, "rdf:Description");
- pdf_xml_attribute_name(s, "rdf:about");
- pdf_xml_attribute_value(s, instance_uuid);
+ pdf_xml_copy(s, " rdf:about=\"\"");
pdf_xml_attribute_name(s, "xmlns:pdf");
pdf_xml_attribute_value(s, "http://ns.adobe.com/pdf/1.3/");
@@ -684,8 +688,7 @@ pdf_write_document_metadata(gx_device_pdf *pdev, const byte digest[6])
}
pdf_xml_tag_open_beg(s, "rdf:Description");
- pdf_xml_attribute_name(s, "rdf:about");
- pdf_xml_attribute_value(s, instance_uuid);
+ pdf_xml_copy(s, " rdf:about=\"\"");
pdf_xml_attribute_name(s, "xmlns:xmp");
pdf_xml_attribute_value(s, "http://ns.adobe.com/xap/1.0/");
pdf_xml_tag_end(s);
@@ -718,8 +721,7 @@ pdf_write_document_metadata(gx_device_pdf *pdev, const byte digest[6])
pdf_xml_newline(s);
pdf_xml_tag_open_beg(s, "rdf:Description");
- pdf_xml_attribute_name(s, "rdf:about");
- pdf_xml_attribute_value(s, instance_uuid);
+ pdf_xml_copy(s, " rdf:about=\"\"");
pdf_xml_attribute_name(s, "xmlns:xapMM");
pdf_xml_attribute_value(s, "http://ns.adobe.com/xap/1.0/mm/");
pdf_xml_attribute_name(s, "xapMM:DocumentID");
@@ -728,8 +730,7 @@ pdf_write_document_metadata(gx_device_pdf *pdev, const byte digest[6])
pdf_xml_newline(s);
pdf_xml_tag_open_beg(s, "rdf:Description");
- pdf_xml_attribute_name(s, "rdf:about");
- pdf_xml_attribute_value(s, instance_uuid);
+ pdf_xml_copy(s, " rdf:about=\"\"");
pdf_xml_attribute_name(s, "xmlns:dc");
pdf_xml_attribute_value(s, "http://purl.org/dc/elements/1.1/");
pdf_xml_attribute_name(s, "dc:format");
@@ -803,8 +804,7 @@ pdf_write_document_metadata(gx_device_pdf *pdev, const byte digest[6])
pdf_xml_newline(s);
if (pdev->PDFA != 0) {
pdf_xml_tag_open_beg(s, "rdf:Description");
- pdf_xml_attribute_name(s, "rdf:about");
- pdf_xml_attribute_value(s, instance_uuid);
+ pdf_xml_copy(s, " rdf:about=\"\"");
pdf_xml_attribute_name(s, "xmlns:pdfaid");
pdf_xml_attribute_value(s, "http://www.aiim.org/pdfa/ns/id/");
pdf_xml_attribute_name(s, "pdfaid:part");
diff --git a/devices/vector/gdevpdfg.c b/devices/vector/gdevpdfg.c
index bd06b9f1..0aa93e53 100644
--- a/devices/vector/gdevpdfg.c
+++ b/devices/vector/gdevpdfg.c
@@ -75,13 +75,14 @@ pdf_save_viewer_state(gx_device_pdf *pdev, stream *s)
pdev->vgstack[i].transfer_ids[2] = pdev->transfer_ids[2];
pdev->vgstack[i].transfer_ids[3] = pdev->transfer_ids[3];
pdev->vgstack[i].transfer_not_identity = pdev->transfer_not_identity;
- pdev->vgstack[i].opacity_alpha = pdev->state.opacity.alpha;
- pdev->vgstack[i].shape_alpha = pdev->state.shape.alpha;
+ pdev->vgstack[i].strokeconstantalpha = pdev->state.strokeconstantalpha;
+ pdev->vgstack[i].fillconstantalpha = pdev->state.fillconstantalpha;
+ pdev->vgstack[i].alphaisshape = pdev->state.alphaisshape;
pdev->vgstack[i].blend_mode = pdev->state.blend_mode;
pdev->vgstack[i].halftone_id = pdev->halftone_id;
pdev->vgstack[i].black_generation_id = pdev->black_generation_id;
pdev->vgstack[i].undercolor_removal_id = pdev->undercolor_removal_id;
- pdev->vgstack[i].overprint_mode = pdev->overprint_mode;
+ pdev->vgstack[i].overprint_mode = pdev->state.overprint_mode;
pdev->vgstack[i].smoothness = pdev->state.smoothness;
pdev->vgstack[i].flatness = pdev->state.flatness;
pdev->vgstack[i].text_knockout = pdev->state.text_knockout;
@@ -125,13 +126,14 @@ pdf_load_viewer_state(gx_device_pdf *pdev, pdf_viewer_state *s)
pdev->transfer_ids[2] = s->transfer_ids[2];
pdev->transfer_ids[3] = s->transfer_ids[3];
pdev->transfer_not_identity = s->transfer_not_identity;
- pdev->state.opacity.alpha = s->opacity_alpha;
- pdev->state.shape.alpha = s->shape_alpha;
+ pdev->state.strokeconstantalpha = s->strokeconstantalpha;
+ pdev->state.fillconstantalpha = s->fillconstantalpha;
+ pdev->state.alphaisshape = s->alphaisshape;
pdev->state.blend_mode = s->blend_mode;
pdev->halftone_id = s->halftone_id;
pdev->black_generation_id = s->black_generation_id;
pdev->undercolor_removal_id = s->undercolor_removal_id;
- pdev->overprint_mode = s->overprint_mode;
+ pdev->state.overprint_mode = s->overprint_mode;
pdev->state.smoothness = s->smoothness;
pdev->state.flatness = s->flatness;
pdev->state.text_knockout = s->text_knockout;
@@ -209,8 +211,9 @@ pdf_viewer_state_from_gs_gstate_aux(pdf_viewer_state *pvs, const gs_gstate *pgs)
pvs->transfer_ids[1] = (pgs->set_transfer.green != NULL ? pgs->set_transfer.green->id : 0);
pvs->transfer_ids[2] = (pgs->set_transfer.blue != NULL ? pgs->set_transfer.blue->id : 0);
pvs->transfer_ids[3] = (pgs->set_transfer.gray != NULL ? pgs->set_transfer.gray->id : 0);
- pvs->opacity_alpha = pgs->opacity.alpha;
- pvs->shape_alpha = pgs->shape.alpha;
+ pvs->fillconstantalpha = pgs->fillconstantalpha;
+ pvs->strokeconstantalpha = pgs->strokeconstantalpha;
+ pvs->alphaisshape = pgs->alphaisshape;
pvs->blend_mode = pgs->blend_mode;
pvs->halftone_id = (pgs->dev_ht != 0 ? pgs->dev_ht->id : 0);
pvs->black_generation_id = (pgs->black_generation != 0 ? pgs->black_generation->id : 0);
@@ -776,7 +779,7 @@ int convert_DeviceN_alternate(gx_device_pdf * pdev, const gs_gstate * pgs, const
return_error(gs_error_VMerror);
samples = (unsigned int)pow(2, pcs->params.device_n.num_components);
- data_buff = gs_alloc_bytes(pdev->memory, pdev->color_info.num_components * samples, "Convert DeviceN");
+ data_buff = gs_alloc_bytes(pdev->memory, (unsigned long)pdev->color_info.num_components * samples, "Convert DeviceN");
if (data_buff == 0) {
COS_FREE(pca, "convert DeviceN");
return_error(gs_error_VMerror);
@@ -2869,10 +2872,8 @@ pdf_update_transfer(gx_device_pdf *pdev, const gs_gstate *pgs,
*/
static int
pdf_update_alpha(gx_device_pdf *pdev, const gs_gstate *pgs,
- pdf_resource_t **ppres)
+ pdf_resource_t **ppres, bool for_text)
{
- bool ais;
- double alpha;
int code;
if (pdev->state.soft_mask_id != pgs->soft_mask_id) {
@@ -2882,9 +2883,11 @@ pdf_update_alpha(gx_device_pdf *pdev, const gs_gstate *pgs,
code = pdf_open_contents(pdev, PDF_IN_STREAM);
if (code < 0)
return code;
- code = pdf_restore_viewer_state(pdev, pdev->strm);
- if (code < 0)
- return code;
+ if (pdev->vgstack_depth > pdev->vgstack_bottom) {
+ code = pdf_restore_viewer_state(pdev, pdev->strm);
+ if (code < 0)
+ return code;
+ }
}
else{
gs_sprintf(buf, "%ld 0 R", pgs->soft_mask_id);
@@ -2901,44 +2904,27 @@ pdf_update_alpha(gx_device_pdf *pdev, const gs_gstate *pgs,
}
pdev->state.soft_mask_id = pgs->soft_mask_id;
}
- if (pdev->state.opacity.alpha != pgs->opacity.alpha) {
- if (pdev->state.shape.alpha != pgs->shape.alpha) {
- /* We had previously set one of opacity or shape, but we didn't
- * ever need to write the graphcis state out, leaving us with a
- * dangling alpha. We should honour the current state. One of
- * opacity or alpha will be the default (1.0), so use the other.
- */
- pdev->state.opacity.alpha = pgs->opacity.alpha;
- pdev->state.shape.alpha = pgs->shape.alpha;
- if (pgs->opacity.alpha != 1.0) {
- ais = false;
- alpha = pdev->state.opacity.alpha;
- }
- else {
- ais = true;
- alpha = pdev->state.shape.alpha;
- }
- } else {
- ais = false;
- alpha = pdev->state.opacity.alpha = pgs->opacity.alpha;
- }
- } else if (pdev->state.shape.alpha != pgs->shape.alpha) {
- ais = true;
- alpha = pdev->state.shape.alpha = pgs->shape.alpha;
+
+ if (pdev->state.alphaisshape != pgs->alphaisshape ||
+ pdev->state.strokeconstantalpha != pgs->strokeconstantalpha ||
+ pdev->state.fillconstantalpha != pgs->fillconstantalpha) {
+
+ pdev->state.strokeconstantalpha = pgs->strokeconstantalpha;
+ pdev->state.fillconstantalpha = pgs->fillconstantalpha;
+ pdev->state.alphaisshape = pgs->alphaisshape;
+
+ code = pdf_open_gstate(pdev, ppres);
+ if (code < 0)
+ return code;
+ code = cos_dict_put_c_key_bool(resource_dict(*ppres), "/AIS", pgs->alphaisshape);
+ if (code < 0)
+ return code;
+ code = cos_dict_put_c_key_real(resource_dict(*ppres), "/CA", pgs->strokeconstantalpha);
+ if (code < 0)
+ return code;
+ return cos_dict_put_c_key_real(resource_dict(*ppres), "/ca", pgs->fillconstantalpha);
} else
return 0;
- code = pdf_open_gstate(pdev, ppres);
- if (code < 0)
- return code;
- code = cos_dict_put_c_key_bool(resource_dict(*ppres), "/AIS", ais);
- if (code < 0)
- return code;
- /* we never do the 'both' operations (b, B, b*, B*) so we set both */
- /* CA and ca the same so that we stay in sync with state.*.alpha */
- code = cos_dict_put_c_key_real(resource_dict(*ppres), "/CA", alpha);
- if (code < 0)
- return code;
- return cos_dict_put_c_key_real(resource_dict(*ppres), "/ca", alpha);
}
/*
@@ -2946,7 +2932,7 @@ pdf_update_alpha(gx_device_pdf *pdev, const gs_gstate *pgs,
*/
int
pdf_prepare_drawing(gx_device_pdf *pdev, const gs_gstate *pgs,
- pdf_resource_t **ppres)
+ pdf_resource_t **ppres, bool for_text)
{
int code = 0;
int bottom;
@@ -2966,7 +2952,7 @@ pdf_prepare_drawing(gx_device_pdf *pdev, const gs_gstate *pgs,
return code;
pdev->state.blend_mode = pgs->blend_mode;
}
- code = pdf_update_alpha(pdev, pgs, ppres);
+ code = pdf_update_alpha(pdev, pgs, ppres, for_text);
if (code < 0)
return code;
} else {
@@ -2974,8 +2960,8 @@ pdf_prepare_drawing(gx_device_pdf *pdev, const gs_gstate *pgs,
* If the graphics state calls for any transparency functions,
* we can't represent them, so return a rangecheck.
*/
- if (pgs->opacity.alpha != 1 ||
- pgs->shape.alpha != 1)
+ if (pgs->strokeconstantalpha != 1 ||
+ pgs->fillconstantalpha != 1)
return_error(gs_error_rangecheck);
}
/*
@@ -3072,9 +3058,13 @@ pdf_prepare_drawing(gx_device_pdf *pdev, const gs_gstate *pgs,
}
}
}
- if (pdev->CompatibilityLevel >= 1.3 && pdev->sbstack_depth == bottom) {
- if (pdev->overprint_mode != pdev->params.OPM) {
- if (pdev->params.OPM == 1 && pdev->PDFA == 2) {
+ if (pdev->state.overprint_mode != pdev->params.OPM) {
+ if (pdev->params.OPM != pgs->overprint_mode)
+ ((gs_gstate *)pgs)->overprint_mode = pdev->params.OPM;
+ }
+ if (pdev->CompatibilityLevel >= 1.3 /*&& pdev->sbstack_depth == bottom */) {
+ if (pdev->state.overprint_mode != pgs->overprint_mode) {
+ if (pgs->overprint_mode == 1 && pdev->PDFA == 2) {
switch (pdev->PDFACompatibilityPolicy) {
case 0:
emprintf(pdev->memory,
@@ -3085,7 +3075,8 @@ pdf_prepare_drawing(gx_device_pdf *pdev, const gs_gstate *pgs,
case 1:
emprintf(pdev->memory,
"Setting Overprint Mode to 1\n not permitted in PDF/A-2, overprint mode not set\n\n");
- pdev->params.OPM = 0;
+ /* Deliberately breaking const here in order to force the graphics state overprint mode to be unchanged */
+ ((gs_gstate *)pgs)->overprint_mode = pdev->state.overprint_mode;
break;
case 2:
emprintf(pdev->memory,
@@ -3100,14 +3091,14 @@ pdf_prepare_drawing(gx_device_pdf *pdev, const gs_gstate *pgs,
break;
}
}
- if (pdev->overprint_mode != pdev->params.OPM) {
+ if (pdev->state.overprint_mode != pgs->overprint_mode) {
code = pdf_open_gstate(pdev, ppres);
if (code < 0)
return code;
- code = cos_dict_put_c_key_int(resource_dict(*ppres), "/OPM", pdev->params.OPM);
+ code = cos_dict_put_c_key_int(resource_dict(*ppres), "/OPM", pgs->overprint_mode);
if (code < 0)
return code;
- pdev->overprint_mode = pdev->params.OPM;
+ pdev->params.OPM = pdev->state.overprint_mode = pgs->overprint_mode;
}
}
if (pdev->state.smoothness != pgs->smoothness) {
@@ -3136,19 +3127,36 @@ pdf_prepare_drawing(gx_device_pdf *pdev, const gs_gstate *pgs,
/* Update the graphics state for filling. */
int
-pdf_try_prepare_fill(gx_device_pdf *pdev, const gs_gstate *pgs)
+pdf_try_prepare_fill(gx_device_pdf *pdev, const gs_gstate *pgs, bool for_text)
{
pdf_resource_t *pres = 0;
- int code = pdf_prepare_drawing(pdev, pgs, &pres);
+ int code = pdf_prepare_drawing(pdev, pgs, &pres, for_text);
if (code < 0)
return code;
+ if (pdev->rendering_intent != pgs->renderingintent && !pdev->ForOPDFRead) {
+ static const char *const ri_names[] = { "Perceptual", "RelativeColorimetric", "Saturation", "AbsoluteColorimetric" };
+ char buf[32];
+
+ code = pdf_open_gstate(pdev, &pres);
+ if (code < 0)
+ return code;
+
+ buf[0] = '/';
+ strncpy(buf + 1, ri_names[pgs->renderingintent], sizeof(buf) - 2);
+ code = cos_dict_put_string_copy(resource_dict(pres), "/RI", buf);
+ if (code < 0)
+ return code;
+ pdev->rendering_intent = pgs->renderingintent;
+ }
+
/* Update overprint. */
if (pdev->params.PreserveOverprintSettings &&
(pdev->fill_overprint != pgs->overprint ||
pdev->font3) && !pdev->skip_colors
) {
- code = pdf_open_gstate(pdev, &pres);
+ if (pres == 0)
+ code = pdf_open_gstate(pdev, &pres);
if (code < 0)
return code;
/* PDF 1.2 only has a single overprint setting. */
@@ -3167,45 +3175,136 @@ pdf_try_prepare_fill(gx_device_pdf *pdev, const gs_gstate *pgs)
return pdf_end_gstate(pdev, pres);
}
int
-pdf_prepare_fill(gx_device_pdf *pdev, const gs_gstate *pgs)
+pdf_prepare_fill(gx_device_pdf *pdev, const gs_gstate *pgs, bool for_text)
{
int code;
if (pdev->context != PDF_IN_STREAM) {
- code = pdf_try_prepare_fill(pdev, pgs);
+ code = pdf_try_prepare_fill(pdev, pgs, for_text);
if (code != gs_error_interrupt) /* See pdf_open_gstate */
return code;
code = pdf_open_contents(pdev, PDF_IN_STREAM);
if (code < 0)
return code;
}
- return pdf_try_prepare_fill(pdev, pgs);
+ return pdf_try_prepare_fill(pdev, pgs, for_text);
}
/* Update the graphics state for stroking. */
static int
-pdf_try_prepare_stroke(gx_device_pdf *pdev, const gs_gstate *pgs)
+pdf_try_prepare_stroke(gx_device_pdf *pdev, const gs_gstate *pgs, bool for_text)
+{
+ pdf_resource_t *pres = 0;
+ int code = pdf_prepare_drawing(pdev, pgs, &pres, for_text);
+
+ if (code < 0)
+ return code;
+ if (pdev->rendering_intent != pgs->renderingintent && !pdev->ForOPDFRead) {
+ static const char *const ri_names[] = { "Perceptual", "RelativeColorimetric", "Saturation", "AbsoluteColorimetric" };
+ char buf[32];
+
+ code = pdf_open_gstate(pdev, &pres);
+ if (code < 0)
+ return code;
+
+ buf[0] = '/';
+ strncpy(buf + 1, ri_names[pgs->renderingintent], sizeof(buf) - 2);
+ code = cos_dict_put_string_copy(resource_dict(pres), "/RI", buf);
+ if (code < 0)
+ return code;
+ pdev->rendering_intent = pgs->renderingintent;
+ }
+ /* Update overprint, stroke adjustment. */
+ if (pdev->params.PreserveOverprintSettings &&
+ pdev->stroke_overprint != pgs->stroke_overprint &&
+ !pdev->skip_colors
+ ) {
+ if (pres == 0)
+ code = pdf_open_gstate(pdev, &pres);
+ if (code < 0)
+ return code;
+ code = cos_dict_put_c_key_bool(resource_dict(pres), "/OP", pgs->stroke_overprint);
+ if (code < 0)
+ return code;
+ pdev->stroke_overprint = pgs->stroke_overprint;
+
+ /* According to PDF>=1.3 spec, OP also sets op,
+ if there is no /op in same graphic state object.
+ We don't write /op, so monitor the viewer's state here : */
+ pdev->fill_overprint = pgs->stroke_overprint;
+ }
+ if (pdev->state.stroke_adjust != pgs->stroke_adjust) {
+ code = pdf_open_gstate(pdev, &pres);
+ if (code < 0)
+ return code;
+ code = cos_dict_put_c_key_bool(resource_dict(pres), "/SA", pgs->stroke_adjust);
+ if (code < 0)
+ return code;
+ pdev->state.stroke_adjust = pgs->stroke_adjust;
+ }
+ return pdf_end_gstate(pdev, pres);
+}
+int
+pdf_prepare_stroke(gx_device_pdf *pdev, const gs_gstate *pgs, bool for_text)
+{
+ int code;
+
+ if (pdev->context != PDF_IN_STREAM) {
+ code = pdf_try_prepare_stroke(pdev, pgs, for_text);
+ if (code != gs_error_interrupt) /* See pdf_open_gstate */
+ return code;
+ code = pdf_open_contents(pdev, PDF_IN_STREAM);
+ if (code < 0)
+ return code;
+ }
+ return pdf_try_prepare_stroke(pdev, pgs, for_text);
+}
+
+static int
+pdf_try_prepare_fill_stroke(gx_device_pdf *pdev, const gs_gstate *pgs, bool for_text)
{
pdf_resource_t *pres = 0;
- int code = pdf_prepare_drawing(pdev, pgs, &pres);
+ int code = pdf_prepare_drawing(pdev, pgs, &pres, for_text);
if (code < 0)
return code;
+ /* Update overprint. */
+ if (pdev->params.PreserveOverprintSettings &&
+ (pdev->fill_overprint != pgs->overprint ||
+ pdev->stroke_overprint != pgs->stroke_overprint ||
+ pdev->font3) && !pdev->skip_colors
+ ) {
+ code = pdf_open_gstate(pdev, &pres);
+ if (code < 0)
+ return code;
+ /* PDF 1.2 only has a single overprint setting. */
+ if (pdev->CompatibilityLevel < 1.3) {
+ code = cos_dict_put_c_key_bool(resource_dict(pres), "/OP", pgs->overprint);
+ if (code < 0)
+ return code;
+ pdev->stroke_overprint = pgs->overprint;
+ } else {
+ code = cos_dict_put_c_key_bool(resource_dict(pres), "/op", pgs->overprint);
+ if (code < 0)
+ return code;
+ }
+ pdev->fill_overprint = pgs->overprint;
+ }
/* Update overprint, stroke adjustment. */
if (pdev->params.PreserveOverprintSettings &&
- pdev->stroke_overprint != pgs->overprint &&
+ pdev->stroke_overprint != pgs->stroke_overprint &&
!pdev->skip_colors
) {
code = pdf_open_gstate(pdev, &pres);
if (code < 0)
return code;
- code = cos_dict_put_c_key_bool(resource_dict(pres), "/OP", pgs->overprint);
+ code = cos_dict_put_c_key_bool(resource_dict(pres), "/OP", pgs->stroke_overprint);
if (code < 0)
return code;
- pdev->stroke_overprint = pgs->overprint;
+ pdev->stroke_overprint = pgs->stroke_overprint;
if (pdev->CompatibilityLevel < 1.3) {
/* PDF 1.2 only has a single overprint setting. */
- pdev->fill_overprint = pgs->overprint;
+ pdev->fill_overprint = pgs->stroke_overprint;
} else {
/* According to PDF>=1.3 spec, OP also sets op,
if there is no /op in same garphic state object.
@@ -3224,20 +3323,21 @@ pdf_try_prepare_stroke(gx_device_pdf *pdev, const gs_gstate *pgs)
}
return pdf_end_gstate(pdev, pres);
}
+
int
-pdf_prepare_stroke(gx_device_pdf *pdev, const gs_gstate *pgs)
+pdf_prepare_fill_stroke(gx_device_pdf *pdev, const gs_gstate *pgs, bool for_text)
{
int code;
if (pdev->context != PDF_IN_STREAM) {
- code = pdf_try_prepare_stroke(pdev, pgs);
+ code = pdf_try_prepare_fill_stroke(pdev, pgs, for_text);
if (code != gs_error_interrupt) /* See pdf_open_gstate */
return code;
code = pdf_open_contents(pdev, PDF_IN_STREAM);
if (code < 0)
return code;
}
- return pdf_try_prepare_stroke(pdev, pgs);
+ return pdf_try_prepare_fill_stroke(pdev, pgs, for_text);
}
/* Update the graphics state for an image other than an ImageType 1 mask. */
@@ -3248,7 +3348,7 @@ pdf_prepare_image(gx_device_pdf *pdev, const gs_gstate *pgs)
* As it turns out, this requires updating the same parameters as for
* filling.
*/
- return pdf_prepare_fill(pdev, pgs);
+ return pdf_prepare_fill(pdev, pgs, false);
}
/* Update the graphics state for an ImageType 1 mask. */
diff --git a/devices/vector/gdevpdfg.h b/devices/vector/gdevpdfg.h
index ffa7296d..e846b1a8 100644
--- a/devices/vector/gdevpdfg.h
+++ b/devices/vector/gdevpdfg.h
@@ -150,10 +150,11 @@ int pdf_set_drawing_color(gx_device_pdf * pdev, const gs_gstate * pgs,
* Bring the graphics state up to date for a drawing operation.
* (Text uses either fill or stroke.)
*/
-int pdf_try_prepare_fill(gx_device_pdf *pdev, const gs_gstate *pgs);
-int pdf_prepare_drawing(gx_device_pdf *pdev, const gs_gstate *pgs, pdf_resource_t **ppres);
-int pdf_prepare_fill(gx_device_pdf *pdev, const gs_gstate *pgs);
-int pdf_prepare_stroke(gx_device_pdf *pdev, const gs_gstate *pgs);
+int pdf_try_prepare_fill(gx_device_pdf *pdev, const gs_gstate *pgs, bool for_text);
+int pdf_prepare_drawing(gx_device_pdf *pdev, const gs_gstate *pgs, pdf_resource_t **ppres, bool for_text);
+int pdf_prepare_fill(gx_device_pdf *pdev, const gs_gstate *pgs, bool for_text);
+int pdf_prepare_stroke(gx_device_pdf *pdev, const gs_gstate *pgs, bool for_text);
+int pdf_prepare_fill_stroke(gx_device_pdf *pdev, const gs_gstate *pgs, bool for_text);
int pdf_prepare_image(gx_device_pdf *pdev, const gs_gstate *pgs);
int pdf_prepare_imagemask(gx_device_pdf *pdev, const gs_gstate *pgs,
const gx_drawing_color *pdcolor);
diff --git a/devices/vector/gdevpdfi.c b/devices/vector/gdevpdfi.c
index fed96e46..b73ed3d6 100644
--- a/devices/vector/gdevpdfi.c
+++ b/devices/vector/gdevpdfi.c
@@ -1511,7 +1511,7 @@ pdf_begin_typed_image(gx_device_pdf *pdev, const gs_gstate * pgs,
image[0].pixel.ColorSpace = pcs_orig;
image[0].pixel.BitsPerComponent = pim->BitsPerComponent;
code = psdf_setup_image_colors_filter(&pie->writer.binary[0],
- (gx_device_psdf *)pdev, &image[0].pixel, pgs);
+ (gx_device_psdf *)pdev, pim, &image[0].pixel, pgs);
if (code < 0)
goto fail_and_fallback;
image[0].pixel.ColorSpace = pcs_device;
@@ -1556,8 +1556,9 @@ pdf_begin_typed_image(gx_device_pdf *pdev, const gs_gstate * pgs,
goto fail_and_fallback;
} else if (convert_to_process_colors) {
image[1].pixel.ColorSpace = pcs_orig;
+ image[1].pixel.BitsPerComponent = pim->BitsPerComponent;
code = psdf_setup_image_colors_filter(&pie->writer.binary[1],
- (gx_device_psdf *)pdev, &image[1].pixel, pgs);
+ (gx_device_psdf *)pdev, pim, &image[1].pixel, pgs);
if (code < 0) {
goto fail_and_fallback;
}
@@ -1595,9 +1596,13 @@ pdf_begin_typed_image(gx_device_pdf *pdev, const gs_gstate * pgs,
pmat, pgs, force_lossless, in_line);
if (code < 0)
goto fail_and_fallback;
+ /* Bug701972 -- added input_width arg here. For this case, just passing in the same
+ * width as before, so nothing changes. This is an obscure case that isn't tested
+ * on the cluster (note that it requires CompatibilityLevel < 1.3).
+ */
psdf_setup_image_to_mask_filter(&pie->writer.binary[i],
- (gx_device_psdf *)pdev, pim->Width, pim->Height,
- num_components, pim->BitsPerComponent, image[i].type4.MaskColor);
+ (gx_device_psdf *)pdev, pim->Width, pim->Height, pim->Width,
+ num_components, pim->BitsPerComponent, image[i].type4.MaskColor);
code = pdf_begin_image_data_decoded(pdev, num_components, pranges, i,
&image[i].pixel, &cs_value, pie);
if (code < 0)
@@ -1878,7 +1883,7 @@ pdf_image_end_image_data(gx_image_enum_common_t * info, bool draw_last,
pdf_image_enum *pie = (pdf_image_enum *)info;
int height = pie->writer.height;
int data_height = height - pie->rows_left;
- int code = 0;
+ int code = 0, ecode;
if (pie->writer.pres)
((pdf_x_object_t *)pie->writer.pres)->data_height = data_height;
@@ -1920,6 +1925,12 @@ pdf_image_end_image_data(gx_image_enum_common_t * info, bool draw_last,
if (pie->initial_colorspace != pdev->pcm_color_info_index)
pdf_set_process_color_model(pdev, pie->initial_colorspace);
+ /* Clean up any outstanding streams before freeing the enumerator */
+ while (pie->writer.alt_writer_count-- > 0) {
+ ecode = psdf_end_binary(&(pie->writer.binary[pie->writer.alt_writer_count]));
+ if (ecode < 0 && code >= 0) code = ecode;
+ }
+
gx_image_free_enum(&info);
return code;
}
diff --git a/devices/vector/gdevpdfp.c b/devices/vector/gdevpdfp.c
index df2ff377..2f29dba5 100644
--- a/devices/vector/gdevpdfp.c
+++ b/devices/vector/gdevpdfp.c
@@ -127,6 +127,7 @@ static const gs_param_item_t pdf_param_items[] = {
pi("FastWebView", gs_param_type_bool, Linearise),
pi("NoOutputFonts", gs_param_type_bool, FlattenFonts),
pi("WantsPageLabels", gs_param_type_bool, WantsPageLabels),
+ pi("UserUnit", gs_param_type_float, UserUnit),
#undef pi
gs_param_item_end
};
@@ -237,6 +238,14 @@ gdev_pdf_get_param(gx_device *dev, char *Param, void *list)
if (strcmp(Param, "ForOPDFRead") == 0) {
return(param_write_bool(plist, "ForOPDFRead", &pdev->ForOPDFRead));
}
+ if (strcmp(Param, "PassUserUnit") == 0) {
+ bool dummy;
+ if (pdev->CompatibilityLevel > 1.5)
+ dummy = true;
+ else
+ dummy = false;
+ return(param_write_bool(plist, "PassUserUnit", &dummy));
+ }
if (!pdev->is_ps2write) {
if (strcmp(Param, "pdfmark") == 0){
return(param_write_null(plist, "pdfmark"));
@@ -559,6 +568,16 @@ gdev_pdf_put_params_impl(gx_device * dev, const gx_device_pdf * save_dev, gs_par
if (cl < 1.2) {
pdev->HaveCFF = false;
}
+
+ ecode = param_read_float(plist, "UserUnit", &pdev->UserUnit);
+ if (ecode < 0)
+ goto fail;
+ if (pdev->UserUnit == 0 || (pdev->UserUnit != 1 && pdev->CompatibilityLevel < 1.6)) {
+ ecode = gs_note_error(gs_error_rangecheck);
+ param_signal_error(plist, "UserUnit", ecode);
+ goto fail;
+ }
+
ecode = gdev_psdf_put_params(dev, plist);
if (ecode < 0)
goto fail;
diff --git a/devices/vector/gdevpdft.c b/devices/vector/gdevpdft.c
index e8fb227a..46f4d312 100644
--- a/devices/vector/gdevpdft.c
+++ b/devices/vector/gdevpdft.c
@@ -200,7 +200,7 @@ pdf_begin_transparency_group(gs_gstate * pgs, gx_device_pdf * pdev,
pdf_resource_t *pres, *pres_gstate = NULL;
cos_dict_t *pcd = NULL, *pcd_Resources = NULL;
- code = pdf_prepare_drawing(pdev, pgs, &pres_gstate);
+ code = pdf_prepare_drawing(pdev, pgs, &pres_gstate, false);
if (code < 0)
return code;
code = pdf_end_gstate(pdev, pres_gstate);
@@ -282,7 +282,7 @@ pdf_begin_transparency_mask(gs_gstate * pgs, gx_device_pdf * pdev,
* changed, and so doesn't write out the GState
*/
pgs->soft_mask_id = 0;
- code = pdf_prepare_drawing(pdev, pgs, &pres);
+ code = pdf_prepare_drawing(pdev, pgs, &pres, false);
if (code == gs_error_interrupt) {
/* Not in an appropriate context, ignore it but restore
* the old soft_mask_id. Not sure this is correct, but it works for now.
diff --git a/devices/vector/gdevpdfu.c b/devices/vector/gdevpdfu.c
index 0b2b6400..05ea7881 100644
--- a/devices/vector/gdevpdfu.c
+++ b/devices/vector/gdevpdfu.c
@@ -51,7 +51,7 @@
#include "gs_mgl_e.h"
#include "gs_mro_e.h"
-extern single_glyph_list_t *SingleGlyphList;
+extern single_glyph_list_t SingleGlyphList[];
/* Define the size of internal stream buffers. */
/* (This is not a limitation, it only affects performance.) */
@@ -339,7 +339,7 @@ static int write_tt_encodings(stream *s, bool HaveTrueTypes)
if (HaveTrueTypes) {
char Buffer[256];
- single_glyph_list_t *entry = (single_glyph_list_t *)&SingleGlyphList;
+ single_glyph_list_t *entry = SingleGlyphList;
gs_sprintf(Buffer, "/AdobeGlyphList mark\n");
stream_write(s, Buffer, strlen(Buffer));
diff --git a/devices/vector/gdevpdfx.h b/devices/vector/gdevpdfx.h
index b7e00481..0e43a028 100644
--- a/devices/vector/gdevpdfx.h
+++ b/devices/vector/gdevpdfx.h
@@ -326,6 +326,7 @@ typedef struct pdf_page_s {
pdf_page_dsc_info_t dsc_info;
bool NumCopies_set; /* ps2write only. */
int NumCopies; /* ps2write only. */
+ float UserUnit; /* pdfwrite only */
} pdf_page_t;
#define private_st_pdf_page() /* in gdevpdf.c */\
gs_private_st_ptrs2(st_pdf_page, pdf_page_t, "pdf_page_t",\
@@ -479,8 +480,9 @@ struct pdf_font_cache_elem_s {
typedef struct pdf_viewer_state_s {
int transfer_not_identity; /* bitmask */
gs_id transfer_ids[4];
- float opacity_alpha; /* state.opacity.alpha */
- float shape_alpha; /* state.shape.alpha */
+ float strokeconstantalpha;
+ float fillconstantalpha;
+ bool alphaisshape;
gs_blend_mode_t blend_mode; /* state.blend_mode */
gs_id halftone_id;
gs_id black_generation_id;
@@ -618,8 +620,8 @@ struct gx_device_pdf_s {
pdf_page_dsc_info_t page_dsc_info; /* current page */
/* Additional graphics state */
bool fill_overprint, stroke_overprint;
+ int rendering_intent;
bool remap_fill_color, remap_stroke_color;
- int overprint_mode;
gs_id halftone_id;
gs_id transfer_ids[4];
int transfer_not_identity; /* bitmask */
@@ -900,6 +902,7 @@ struct gx_device_pdf_s {
* doing JPEG pass through we write the JPEG data here, and don't write
* anything in the image processing routines.
*/
+ float UserUnit;
};
#define is_in_page(pdev)\
@@ -960,6 +963,7 @@ extern const gx_device_vector_procs pdf_vector_procs;
dev_proc_fill_rectangle(gdev_pdf_fill_rectangle);
dev_proc_fill_path(gdev_pdf_fill_path);
dev_proc_stroke_path(gdev_pdf_stroke_path);
+dev_proc_fill_stroke_path(gdev_pdf_fill_stroke_path);
dev_proc_fillpage(gdev_pdf_fillpage);
/* In gdevpdfi.c */
dev_proc_begin_typed_image(gdev_pdf_begin_typed_image);
diff --git a/devices/vector/gdevpdtb.c b/devices/vector/gdevpdtb.c
index 8c98f4ae..9caa640e 100644
--- a/devices/vector/gdevpdtb.c
+++ b/devices/vector/gdevpdtb.c
@@ -509,7 +509,7 @@ pdf_write_FontFile_entry(gx_device_pdf *pdev, pdf_base_font_t *pbfont)
FontFile_key = "/FontFile2";
break;
default: /* Type 1/2, CIDFontType 0 */
- if (pdev->ResourcesBeforeUsage)
+ if (!pdev->HaveCFF)
FontFile_key = "/FontFile";
else
FontFile_key = "/FontFile3";
diff --git a/devices/vector/gdevpdts.c b/devices/vector/gdevpdts.c
index 8fba9080..055aeb44 100644
--- a/devices/vector/gdevpdts.c
+++ b/devices/vector/gdevpdts.c
@@ -815,7 +815,7 @@ int pdf_set_PaintType0_params (gx_device_pdf *pdev, gs_gstate *pgs, float size,
if (code < 0)
return code;
if (pdev->text->text_state->in.render_mode == ptsv->render_mode){
- code = pdf_prepare_stroke(pdev, pgs);
+ code = pdf_prepare_stroke(pdev, pgs, false);
if (code >= 0)
code = gdev_vector_prepare_stroke((gx_device_vector *)pdev,
pgs, NULL, NULL, 1);
diff --git a/devices/vector/gdevpdtt.c b/devices/vector/gdevpdtt.c
index 2c571de3..f248e998 100644
--- a/devices/vector/gdevpdtt.c
+++ b/devices/vector/gdevpdtt.c
@@ -416,7 +416,7 @@ pdf_prepare_text_drawing(gx_device_pdf *const pdev, gs_text_enum_t *pte)
code = 0;
if (code < 0)
return code;
- code = pdf_prepare_fill(pdev, pgs);
+ code = pdf_prepare_fill(pdev, pgs, true);
if (code < 0)
return code;
}
@@ -2535,7 +2535,7 @@ pdf_set_text_process_state(gx_device_pdf *pdev,
if (code < 0)
return code;
- code = pdf_prepare_stroke(pdev, pgs);
+ code = pdf_prepare_stroke(pdev, pgs, true);
if (code >= 0) {
code = gdev_vector_prepare_stroke((gx_device_vector *)pdev,
pgs, NULL, NULL, 1);
diff --git a/devices/vector/gdevpsdf.h b/devices/vector/gdevpsdf.h
index 959a4143..5047f43a 100644
--- a/devices/vector/gdevpsdf.h
+++ b/devices/vector/gdevpsdf.h
@@ -459,11 +459,14 @@ int psdf_setup_compression_chooser(psdf_binary_writer *pbw,
/* Set up an "image to mask" filter. */
int psdf_setup_image_to_mask_filter(psdf_binary_writer *pbw, gx_device_psdf *pdev,
- int width, int height, int depth, int bits_per_sample, uint *MaskColor);
+ int width, int height, int input_width,
+ int depth, int bits_per_sample, uint *MaskColor);
/* Set up an image colors filter. */
int psdf_setup_image_colors_filter(psdf_binary_writer *pbw,
- gx_device_psdf *pdev, gs_pixel_image_t * pim,
+ gx_device_psdf *pdev,
+ const gs_pixel_image_t *input_pim,
+ gs_pixel_image_t * pim,
const gs_gstate *pgs);
/* ---------------- Symbolic data printing ---------------- */
diff --git a/devices/vector/gdevpsdi.c b/devices/vector/gdevpsdi.c
index 485d685a..9c2adb72 100644
--- a/devices/vector/gdevpsdi.c
+++ b/devices/vector/gdevpsdi.c
@@ -828,7 +828,8 @@ psdf_setup_compression_chooser(psdf_binary_writer *pbw, gx_device_psdf *pdev,
/* Set up an "image to mask" filter. */
int
psdf_setup_image_to_mask_filter(psdf_binary_writer *pbw, gx_device_psdf *pdev,
- int width, int height, int depth, int bits_per_sample, uint *MaskColor)
+ int width, int height, int input_width,
+ int depth, int bits_per_sample, uint *MaskColor)
{
int code;
stream_state *ss = s_alloc_state(pdev->memory, s__image_colors_template.stype,
@@ -842,7 +843,7 @@ psdf_setup_image_to_mask_filter(psdf_binary_writer *pbw, gx_device_psdf *pdev,
if (code < 0)
return code;
s_image_colors_set_dimensions((stream_image_colors_state *)ss,
- width, height, depth, bits_per_sample);
+ width, height, input_width, depth, bits_per_sample);
s_image_colors_set_mask_colors((stream_image_colors_state *)ss, MaskColor);
return 0;
}
@@ -850,7 +851,9 @@ psdf_setup_image_to_mask_filter(psdf_binary_writer *pbw, gx_device_psdf *pdev,
/* Set up an image colors filter. */
int
psdf_setup_image_colors_filter(psdf_binary_writer *pbw,
- gx_device_psdf *pdev, gs_pixel_image_t * pim,
+ gx_device_psdf *pdev,
+ const gs_pixel_image_t *input_pim,
+ gs_pixel_image_t * pim,
const gs_gstate *pgs)
{ /* fixme: currently it's a stub convertion to mask. */
int code;
@@ -866,9 +869,9 @@ psdf_setup_image_colors_filter(psdf_binary_writer *pbw,
if (code < 0)
return code;
s_image_colors_set_dimensions((stream_image_colors_state *)ss,
- pim->Width, pim->Height,
- gs_color_space_num_components(pim->ColorSpace),
- pim->BitsPerComponent);
+ pim->Width, pim->Height, input_pim->Width,
+ gs_color_space_num_components(pim->ColorSpace),
+ pim->BitsPerComponent);
s_image_colors_set_color_space((stream_image_colors_state *)ss,
(gx_device *)pdev, pim->ColorSpace, pgs, pim->Decode);
pim->BitsPerComponent = pdev->color_info.comp_bits[0]; /* Same precision for all components. */
diff --git a/devices/vector/gdevpsds.c b/devices/vector/gdevpsds.c
index 44ba2b4c..65bbf544 100644
--- a/devices/vector/gdevpsds.c
+++ b/devices/vector/gdevpsds.c
@@ -1248,13 +1248,14 @@ s_image_colors_set_mask_colors(stream_image_colors_state * ss, uint *MaskColor)
/* Set image dimensions. */
void
s_image_colors_set_dimensions(stream_image_colors_state * ss,
- int width, int height, int depth, int bits_per_sample)
+ int width, int height, int input_width,
+ int depth, int bits_per_sample)
{
ss->width = width;
ss->height = height;
ss->depth = depth;
ss->bits_per_sample = bits_per_sample;
- ss->row_bits = bits_per_sample * depth * width;
+ ss->row_bits = bits_per_sample * depth * input_width;
ss->raster = bitmap_raster(ss->row_bits);
ss->row_alignment_bytes = 0; /* (ss->raster * 8 - ss->row_bits) / 8) doesn't work. */
}
diff --git a/devices/vector/gdevpsds.h b/devices/vector/gdevpsds.h
index 310072ce..35a756f0 100644
--- a/devices/vector/gdevpsds.h
+++ b/devices/vector/gdevpsds.h
@@ -253,7 +253,8 @@ struct stream_image_transfer_state_s {
stream_image_colors_reloc_ptrs, pcs, pdev, pgs)
void s_image_colors_set_dimensions(stream_image_colors_state * st,
- int width, int height, int depth, int bits_per_sample);
+ int width, int height, int input_width,
+ int depth, int bits_per_sample);
void s_image_colors_set_mask_colors(stream_image_colors_state * ss, uint *MaskColor);
diff --git a/devices/vector/gdevpsdu.c b/devices/vector/gdevpsdu.c
index c86405ec..d626358a 100644
--- a/devices/vector/gdevpsdu.c
+++ b/devices/vector/gdevpsdu.c
@@ -393,6 +393,8 @@ psdf_DCT_filter(gs_param_list *plist /* may be NULL */,
&st_jpeg_compress_data, "zDCTE");
if (jcdp == 0)
return_error(gs_error_VMerror);
+ jcdp->cinfo.mem = NULL;
+ jcdp->cinfo.client_data = NULL;
ss->data.compress = jcdp;
jcdp->memory = ss->jpeg_memory = mem; /* set now for allocation */
if ((code = gs_jpeg_create_compress(ss)) < 0)
diff --git a/devices/vector/gdevpsu.c b/devices/vector/gdevpsu.c
index 10a13d95..094ff945 100644
--- a/devices/vector/gdevpsu.c
+++ b/devices/vector/gdevpsu.c
@@ -186,8 +186,13 @@ psw_begin_file_header(gp_file *f, const gx_device *dev, const gs_rect *pbbox,
time_t t;
struct tm tms;
+#ifdef CLUSTER
+ memset(&t, 0, sizeof(t));
+ memset(&tms, 0, sizeof(tms));
+#else
time(&t);
tms = *localtime(&t);
+#endif
fprintf(f, "%%%%CreationDate: %d/%02d/%02d %02d:%02d:%02d\n",
tms.tm_year + 1900, tms.tm_mon + 1, tms.tm_mday,
tms.tm_hour, tms.tm_min, tms.tm_sec);
diff --git a/devices/vector/gdevpx.c b/devices/vector/gdevpx.c
index 5d2d0edf..a1fce1b7 100644
--- a/devices/vector/gdevpx.c
+++ b/devices/vector/gdevpx.c
@@ -741,6 +741,7 @@ pclxl_write_image_data_RLE(gx_device_pclxl * xdev, const byte * base,
goto nc;
s_RLE_set_defaults_inline(&rlstate);
rlstate.EndOfData = false;
+ rlstate.omitEOD = true;
s_RLE_init_inline(&rlstate);
w.ptr = buf - 1;
w.limit = w.ptr + num_bytes;
diff --git a/devices/vector/gdevtxtw.c b/devices/vector/gdevtxtw.c
index aed535bc..87f9355d 100644
--- a/devices/vector/gdevtxtw.c
+++ b/devices/vector/gdevtxtw.c
@@ -37,10 +37,10 @@
/* #define TRACE_TXTWRITE 1 */
-extern single_glyph_list_t *SingleGlyphList;
-extern double_glyph_list_t *DoubleGlyphList;
-extern treble_glyph_list_t *TrebleGlyphList;
-extern quad_glyph_list_t *QuadGlyphList;
+extern single_glyph_list_t SingleGlyphList[];
+extern double_glyph_list_t DoubleGlyphList[];
+extern treble_glyph_list_t TrebleGlyphList[];
+extern quad_glyph_list_t QuadGlyphList[];
/*
* Define the structure used to return glyph width information. Note that
* there are two different sets of width information: real-number (x,y)
@@ -1046,10 +1046,10 @@ txtwrite_put_params(gx_device * dev, gs_param_list * plist)
{
gx_device_txtwrite_t *tdev = (gx_device_txtwrite_t *) dev;
int ecode = 0;
- int code;
+ int code, old_TextFormat = tdev->TextFormat;
const char *param_name;
gs_param_string ofs;
- bool dummy;
+ bool dummy, open = dev->is_open;
switch (code = param_read_string(plist, (param_name = "OutputFile"), &ofs)) {
case 0:
@@ -1092,12 +1092,6 @@ txtwrite_put_params(gx_device * dev, gs_param_list * plist)
if (code < 0)
return code;
- code = gx_default_put_params(dev, plist);
- if (code < 0)
- return code;
-
- dev->interpolate_control = 0;
-
if (ofs.data != 0) { /* Close the file if it's open. */
if (tdev->file != 0) {
gp_fclose(tdev->file);
@@ -1106,6 +1100,23 @@ txtwrite_put_params(gx_device * dev, gs_param_list * plist)
memcpy(tdev->fname, ofs.data, ofs.size);
tdev->fname[ofs.size] = 0;
}
+
+ /* If we change media size then gs_default_put_params will close
+ * the device if it is open. We don't want it to do that, so set
+ * the device's 'is_open' flag to false, and reset it after we've
+ * processed the params.
+ */
+ if (old_TextFormat == tdev->TextFormat && open)
+ dev->is_open = false;
+
+ code = gx_default_put_params(dev, plist);
+ if (code < 0)
+ return code;
+
+ dev->is_open = open;
+
+ dev->interpolate_control = 0;
+
return 0;
}
@@ -1693,97 +1704,99 @@ static int get_unicode(textw_text_enum_t *penum, gs_font *font, gs_glyph glyph,
length = font->procs.decode_glyph((gs_font *)font, glyph, ch, NULL, 0);
if (length == 0) {
- code = font->procs.glyph_name(font, glyph, &gnstr);
- if (code >= 0 && gnstr.size == 7) {
- if (!memcmp(gnstr.data, "uni", 3)) {
- static const char *hexdigits = "0123456789ABCDEF";
- char *d0 = strchr(hexdigits, gnstr.data[3]);
- char *d1 = strchr(hexdigits, gnstr.data[4]);
- char *d2 = strchr(hexdigits, gnstr.data[5]);
- char *d3 = strchr(hexdigits, gnstr.data[6]);
-
- if (d0 != NULL && d1 != NULL && d2 != NULL && d3 != NULL) {
- *Buffer++ = ((d0 - hexdigits) << 12) + ((d1 - hexdigits) << 8) + ((d2 - hexdigits) << 4) + (d3 - hexdigits);
- return 1;
- }
- }
- }
- if (length == 0) {
- single_glyph_list_t *sentry = (single_glyph_list_t *)&SingleGlyphList;
- double_glyph_list_t *dentry = (double_glyph_list_t *)&DoubleGlyphList;
- treble_glyph_list_t *tentry = (treble_glyph_list_t *)&TrebleGlyphList;
- quad_glyph_list_t *qentry = (quad_glyph_list_t *)&QuadGlyphList;
-
- /* Search glyph to single Unicode value table */
- while (sentry->Glyph != 0) {
- if (sentry->Glyph[0] < gnstr.data[0]) {
- sentry++;
- continue;
- }
- if (sentry->Glyph[0] > gnstr.data[0]){
- break;
- }
- if (strlen(sentry->Glyph) == gnstr.size) {
- if(memcmp(gnstr.data, sentry->Glyph, gnstr.size) == 0) {
- *Buffer = sentry->Unicode;
+ if (glyph != GS_NO_GLYPH) {
+ code = font->procs.glyph_name(font, glyph, &gnstr);
+ if (code >= 0 && gnstr.size == 7) {
+ if (!memcmp(gnstr.data, "uni", 3)) {
+ static const char *hexdigits = "0123456789ABCDEF";
+ char *d0 = strchr(hexdigits, gnstr.data[3]);
+ char *d1 = strchr(hexdigits, gnstr.data[4]);
+ char *d2 = strchr(hexdigits, gnstr.data[5]);
+ char *d3 = strchr(hexdigits, gnstr.data[6]);
+
+ if (d0 != NULL && d1 != NULL && d2 != NULL && d3 != NULL) {
+ *Buffer++ = ((d0 - hexdigits) << 12) + ((d1 - hexdigits) << 8) + ((d2 - hexdigits) << 4) + (d3 - hexdigits);
return 1;
}
}
- sentry++;
}
-
- /* Search glyph to double Unicode value table */
- while (dentry->Glyph != 0) {
- if (dentry->Glyph[0] < gnstr.data[0]) {
- dentry++;
- continue;
- }
- if (dentry->Glyph[0] > gnstr.data[0]){
- break;
- }
- if (strlen(dentry->Glyph) == gnstr.size) {
- if(memcmp(gnstr.data, dentry->Glyph, gnstr.size) == 0) {
- memcpy(Buffer, dentry->Unicode, 2);
- return 2;
+ if (length == 0) {
+ single_glyph_list_t *sentry = SingleGlyphList;
+ double_glyph_list_t *dentry = DoubleGlyphList;
+ treble_glyph_list_t *tentry = TrebleGlyphList;
+ quad_glyph_list_t *qentry = QuadGlyphList;
+
+ /* Search glyph to single Unicode value table */
+ while (sentry->Glyph != 0) {
+ if (sentry->Glyph[0] < gnstr.data[0]) {
+ sentry++;
+ continue;
+ }
+ if (sentry->Glyph[0] > gnstr.data[0]){
+ break;
}
+ if (strlen(sentry->Glyph) == gnstr.size) {
+ if(memcmp(gnstr.data, sentry->Glyph, gnstr.size) == 0) {
+ *Buffer = sentry->Unicode;
+ return 1;
+ }
+ }
+ sentry++;
}
- dentry++;
- }
- /* Search glyph to triple Unicode value table */
- while (tentry->Glyph != 0) {
- if (tentry->Glyph[0] < gnstr.data[0]) {
- tentry++;
- continue;
- }
- if (tentry->Glyph[0] > gnstr.data[0]){
- break;
- }
- if (strlen(tentry->Glyph) == gnstr.size) {
- if(memcmp(gnstr.data, tentry->Glyph, gnstr.size) == 0) {
- memcpy(Buffer, tentry->Unicode, 3);
- return 3;
+ /* Search glyph to double Unicode value table */
+ while (dentry->Glyph != 0) {
+ if (dentry->Glyph[0] < gnstr.data[0]) {
+ dentry++;
+ continue;
+ }
+ if (dentry->Glyph[0] > gnstr.data[0]){
+ break;
+ }
+ if (strlen(dentry->Glyph) == gnstr.size) {
+ if(memcmp(gnstr.data, dentry->Glyph, gnstr.size) == 0) {
+ memcpy(Buffer, dentry->Unicode, 2);
+ return 2;
+ }
}
+ dentry++;
}
- tentry++;
- }
- /* Search glyph to quadruple Unicode value table */
- while (qentry->Glyph != 0) {
- if (qentry->Glyph[0] < gnstr.data[0]) {
- qentry++;
- continue;
- }
- if (qentry->Glyph[0] > gnstr.data[0]){
- break;
+ /* Search glyph to triple Unicode value table */
+ while (tentry->Glyph != 0) {
+ if (tentry->Glyph[0] < gnstr.data[0]) {
+ tentry++;
+ continue;
+ }
+ if (tentry->Glyph[0] > gnstr.data[0]){
+ break;
+ }
+ if (strlen(tentry->Glyph) == gnstr.size) {
+ if(memcmp(gnstr.data, tentry->Glyph, gnstr.size) == 0) {
+ memcpy(Buffer, tentry->Unicode, 3);
+ return 3;
+ }
+ }
+ tentry++;
}
- if (strlen(qentry->Glyph) == gnstr.size) {
- if(memcmp(gnstr.data, qentry->Glyph, gnstr.size) == 0) {
- memcpy(Buffer, qentry->Unicode, 4);
- return 4;
+
+ /* Search glyph to quadruple Unicode value table */
+ while (qentry->Glyph != 0) {
+ if (qentry->Glyph[0] < gnstr.data[0]) {
+ qentry++;
+ continue;
+ }
+ if (qentry->Glyph[0] > gnstr.data[0]){
+ break;
+ }
+ if (strlen(qentry->Glyph) == gnstr.size) {
+ if(memcmp(gnstr.data, qentry->Glyph, gnstr.size) == 0) {
+ memcpy(Buffer, qentry->Unicode, 4);
+ return 4;
+ }
}
+ qentry++;
}
- qentry++;
}
}
*Buffer = fallback;
@@ -1890,8 +1903,8 @@ txtwrite_process_cmap_text(gs_text_enum_t *pte)
pte->returned.total_width.x += dpt.x;
pte->returned.total_width.y += dpt.y;
- penum->TextBufferIndex += get_unicode(penum, (gs_font *)pte->orig_font, glyph, chr, &penum->TextBuffer[penum->TextBufferIndex]);
penum->Widths[penum->TextBufferIndex] += dpt.x;
+ penum->TextBufferIndex += get_unicode(penum, (gs_font *)pte->orig_font, glyph, chr, &penum->TextBuffer[penum->TextBufferIndex]);
break;
case 2: /* end of string */
return 0;
@@ -2109,7 +2122,8 @@ txt_add_fragment(gx_device_txtwrite_t *tdev, textw_text_enum_t *penum)
penum->TextBufferIndex, sizeof(float), "txtwrite alloc widths array");
if (!penum->text_state->Widths)
return gs_note_error(gs_error_VMerror);
- memcpy(penum->text_state->Widths, penum->Widths, penum->TextBufferIndex * sizeof(float));
+ memset(penum->text_state->Widths, 0x00, penum->TextBufferIndex * sizeof(float));
+ memcpy(penum->text_state->Widths, penum->Widths, penum->text.size * sizeof(float));
unsorted_entry->Unicode_Text = (unsigned short *)gs_malloc(tdev->memory->stable_memory,
penum->TextBufferIndex, sizeof(unsigned short), "txtwrite alloc sorted text buffer");
@@ -2121,7 +2135,8 @@ txt_add_fragment(gx_device_txtwrite_t *tdev, textw_text_enum_t *penum)
penum->TextBufferIndex, sizeof(float), "txtwrite alloc widths array");
if (!unsorted_entry->Widths)
return gs_note_error(gs_error_VMerror);
- memcpy(unsorted_entry->Widths, penum->Widths, penum->TextBufferIndex * sizeof(float));
+ memset(unsorted_entry->Widths, 0x00, penum->TextBufferIndex * sizeof(float));
+ memcpy(unsorted_entry->Widths, penum->Widths, penum->text.size * sizeof(float));
unsorted_entry->FontName = (char *)gs_malloc(tdev->memory->stable_memory,
(strlen(penum->text_state->FontName) + 1), sizeof(unsigned char), "txtwrite alloc sorted text buffer");
diff --git a/devices/vector/gdevxps.c b/devices/vector/gdevxps.c
index 71ca1f74..5d98c283 100644
--- a/devices/vector/gdevxps.c
+++ b/devices/vector/gdevxps.c
@@ -152,9 +152,12 @@ typedef struct xps_image_enum_s {
gp_file *fid;
} xps_image_enum_t;
-gs_private_st_suffix_add4(st_xps_image_enum, xps_image_enum_t,
+static void
+xps_image_enum_finalize(const gs_memory_t *cmem, void *vptr);
+
+gs_private_st_suffix_add4_final(st_xps_image_enum, xps_image_enum_t,
"xps_image_enum_t", xps_image_enum_enum_ptrs,
- xps_image_enum_reloc_ptrs, st_vector_image_enum,
+ xps_image_enum_reloc_ptrs, xps_image_enum_finalize, st_vector_image_enum,
buffer, devc_buffer, pcs, pgs);
typedef struct gx_device_xps_s {
@@ -1424,6 +1427,11 @@ xps_finish_image_path(gx_device_vector *vdev)
const char *fmt;
gs_matrix matrix;
+ /* If an error occurs during an image, we can get here after the enumerator
+ * has been freed - if that's the case, just bail out immediately
+ */
+ if (xps->xps_pie == NULL)
+ return;
/* Path is started. Do the image brush image brush and close the path */
write_str_to_current_page(xps, "\t<Path.Fill>\n");
write_str_to_current_page(xps, "\t\t<ImageBrush ");
@@ -2214,17 +2222,6 @@ xps_image_end_image(gx_image_enum_common_t * info, bool draw_last)
code = xps_add_image_relationship(pie);
exit:
- if (pie->pcs != NULL)
- rc_decrement(pie->pcs, "xps_image_end_image (pcs)");
- if (pie->buffer != NULL)
- gs_free_object(pie->memory, pie->buffer, "xps_image_end_image");
- if (pie->devc_buffer != NULL)
- gs_free_object(pie->memory, pie->devc_buffer, "xps_image_end_image");
-
- /* ICC clean up */
- if (pie->icc_link != NULL)
- gsicc_release_link(pie->icc_link);
-
return code;
}
@@ -2485,3 +2482,23 @@ tiff_from_name(gx_device_xps *dev, const char *name, int big_endian, bool usebig
xps_tifsDummyUnmapProc);
return t;
}
+
+static void
+xps_image_enum_finalize(const gs_memory_t *cmem, void *vptr)
+{
+ xps_image_enum_t *xpie = (xps_image_enum_t *)vptr;
+ gx_device_xps *xdev = (gx_device_xps *)xpie->dev;
+
+ xpie->dev = NULL;
+ if (xpie->pcs != NULL)
+ rc_decrement(xpie->pcs, "xps_image_end_image (pcs)");
+ if (xpie->buffer != NULL)
+ gs_free_object(xpie->memory, xpie->buffer, "xps_image_end_image");
+ if (xpie->devc_buffer != NULL)
+ gs_free_object(xpie->memory, xpie->devc_buffer, "xps_image_end_image");
+
+ /* ICC clean up */
+ if (xpie->icc_link != NULL)
+ gsicc_release_link(xpie->icc_link);
+ xdev->xps_pie = NULL;
+}