diff options
author | Thomas Deutschmann <whissi@gentoo.org> | 2020-03-19 13:53:45 +0100 |
---|---|---|
committer | Thomas Deutschmann <whissi@gentoo.org> | 2020-08-13 11:28:25 +0200 |
commit | dc2ba49207af71193f1390d84bba4e15aeea0ce0 (patch) | |
tree | 79c2a51cb5fa2b87800b1113e0015a7108cd2eb3 /devices | |
parent | Import Ghostscript 9.50 (diff) | |
download | ghostscript-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')
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, ¶ms, 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, ¶ms, 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 *)¶ms.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; +} |