summaryrefslogtreecommitdiffstats
path: root/print/ghostscript7-commfont/files
diff options
context:
space:
mode:
authormita <mita@FreeBSD.org>2002-01-18 15:23:54 +0000
committermita <mita@FreeBSD.org>2002-01-18 15:23:54 +0000
commit12d2dd9b91fcd7e09b0b0cfccc80b8ac418b3ccd (patch)
treea9e0ee394e2ecb5bc3149eb955474d3b3e481a26 /print/ghostscript7-commfont/files
parentdba58398c02942c6cf1d92e8e51f98182f1db7aa (diff)
downloadFreeBSD-ports-12d2dd9b91fcd7e09b0b0cfccc80b8ac418b3ccd.zip
FreeBSD-ports-12d2dd9b91fcd7e09b0b0cfccc80b8ac418b3ccd.tar.gz
Add ghostscript-gnu-cjk 6.52,
gNU Postscript interpreter CJK fonts adding port. This is a GNU version of ghostscript with features below: 1. CJK internationalization ready. 2. Depends on print/ghostscript-gnu and replace only necessary files. 3. -DA4 default as is standard in CJK countries. 4. Includes many additional printer drivers sold in japan. PR: ports/33116 Submitted by: Tomokatsu SAITO <saito@a2z.co.jp>
Diffstat (limited to 'print/ghostscript7-commfont/files')
-rw-r--r--print/ghostscript7-commfont/files/CIDFnmaps.patch100
-rw-r--r--print/ghostscript7-commfont/files/gs_cidcm.ps.patch25
-rw-r--r--print/ghostscript7-commfont/files/gs_res.ps.patch28
-rw-r--r--print/ghostscript7-commfont/files/patch-gdev10v.mak.patch22
-rw-r--r--print/ghostscript7-commfont/files/patch-gdevalps:gdevalps.mak25
-rw-r--r--print/ghostscript7-commfont/files/patch-gdevlips:gdevlips.mak30
-rw-r--r--print/ghostscript7-commfont/files/patch-gdevmd2k.mak.patch19
-rw-r--r--print/ghostscript7-commfont/files/patch-gdevmjc.c335
-rw-r--r--print/ghostscript7-commfont/files/patch-gdevmjc.mak43
-rw-r--r--print/ghostscript7-commfont/files/patch-src:gdevlbp8.c70
-rw-r--r--print/ghostscript7-commfont/files/patch-src:gdevxini.c14
-rw-r--r--print/ghostscript7-commfont/files/patch-src:genarch.c34
-rw-r--r--print/ghostscript7-commfont/files/patch-src:gp_unifs.c60
-rw-r--r--print/ghostscript7-commfont/files/patch-src:unix-gcc.mak163
-rw-r--r--print/ghostscript7-commfont/files/patch-src:zmedia2.c25
15 files changed, 993 insertions, 0 deletions
diff --git a/print/ghostscript7-commfont/files/CIDFnmaps.patch b/print/ghostscript7-commfont/files/CIDFnmaps.patch
new file mode 100644
index 0000000..e350c93
--- /dev/null
+++ b/print/ghostscript7-commfont/files/CIDFnmaps.patch
@@ -0,0 +1,100 @@
+*** lib/CIDFnmap.orig Mon Jan 14 16:20:06 2002
+--- lib/CIDFnmap Mon Jan 14 16:26:34 2002
+***************
+*** 121,130 ****
+ % in particular, you must leave at least one space or tab between each
+ % field in the entry.
+
+! %(CIDFnmap.Ore) .runlibfile
+ %(CIDFnmap.ARP) .runlibfile
+ %(CIDFnmap.Bae) .runlibfile
+ %(CIDFnmap.Koc) .runlibfile
+ %(CIDFnmap.Sol) .runlibfile
+
+ %(CIDFnmap.CJK) .runlibfile
+--- 121,131 ----
+ % in particular, you must leave at least one space or tab between each
+ % field in the entry.
+
+! (CIDFnmap.Ore) .runlibfile
+ %(CIDFnmap.ARP) .runlibfile
+ %(CIDFnmap.Bae) .runlibfile
+ %(CIDFnmap.Koc) .runlibfile
+ %(CIDFnmap.Sol) .runlibfile
+
+ %(CIDFnmap.CJK) .runlibfile
++ (CIDFnmap.ports) .runlibfile
+*** lib/CIDFnmap.Ore.orig Mon Jan 14 16:29:32 2002
+--- lib/CIDFnmap.Ore Mon Jan 14 16:30:09 2002
+***************
+*** 9,18 ****
+
+ % Adobe-Japan1
+
+- /WadaGo-Bold (WadaGo-Bold) ;
+ /WadaMaruGo-Regular (WadaMaruGo-Regular) ;
+ /WadaMin-Bold (WadaMin-Bold) ;
+- /WadaMin-Regular (WadaMin-Regular) ;
+
+ % Adobe-Japan2
+
+--- 9,16 ----
+*** /dev/null Mon Jan 14 16:14:11 2002
+--- lib/CIDFnmap.ports Mon Jan 14 16:27:11 2002
+***************
+*** 0 ****
+--- 1,54 ----
++ % Japanese Truetype Fonts (Kochi)
++ /Kochi-Mincho (/usr/X11R6/lib/X11/fonts/TrueType/kochi-mincho.ttf) 1 /Adobe-Japan1 ;
++ /Kochi-Gothic (/usr/X11R6/lib/X11/fonts/TrueType/kochi-gothic.ttf) 1 /Adobe-Japan1 ;
++
++ %
++ % Fallback aliases for CJK PDF files
++ %
++ /Adobe-CNS1 /MOESung-Regular ; % CIDFnmap.Ore
++ /Adobe-Korea1 /Munhwa-Regular ; % CIDFnmap.Ore
++
++ %
++ % Convenient aliases for PS files on Traditional Chinese PostScript printer
++ %
++ /MSung-Light /MOESung-Regular ; % CIDFnmap.Ore
++ %/MSung-Medium /ShanHeiSun-Light ; % CIDFnmap.ARP
++ %/MHei-Medium /ShanHeiSun-Light ; % CIDFnmap.ARP
++ %/MHei-Medium /hei ; % CIDFnmap.Sol
++ %/MKai-Medium /ZenKai-Medium ; % CIDFnmap.ARP
++ /MKai-Medium /MOEKai-Regular ; % CIDFnmap.Ore
++
++ %
++ % Convenient aliases for PS files on Simplified Chinese PostScript printer
++ %
++ %/STSong-Light /BousungEG-Light-GB ; % CIDFnmap.ARP
++ %/STSong-Light /zycjksun ; % CIDFnmap.Sol
++ %/STFangsong-Light /zycjkfangs ; % CIDFnmap.Sol
++ %/STHeiti-Regular /zycjkhei ; % CIDFnmap.Sol
++ %/STKaiti-Regular /GBZenKai-Medium ; % CIDFnmap.ARP
++ %/STKaiti-Regular /zycjkkai ; % CIDFnmap.Sol
++
++ %
++ % Convenient aliases for PS files on Japanese PostScript printer
++ %
++ /Ryumin-Light /Kochi-Mincho ; % CIDFnmap.Koc
++ /Ryumin-Light-H /Kochi-Mincho ; % CIDFnmap.Koc
++ /Ryumin-Light-V /Kochi-Mincho ; % CIDFnmap.Koc
++ /GothicBBB-Medium /Kochi-Gothic ; % CIDFnmap.Koc
++ /GothicBBB-Medium-H /Kochi-Gothic ; % CIDFnmap.Koc
++ /GothicBBB-Medium-V /Kochi-Gothic ; % CIDFnmap.Koc
++ /HeiseiMin-W3H /WadaMin-RegularH ; % CIDFnmap.Ore
++ /HeiseiKakuGo-W5H /WadaMaruGo-RegularH ; % CIDFnmap.Ore
++
++ %
++ % Convenient aliases for PS files on Korean PostScript printer
++ %
++ /HYGoThic-Medium /MunhwaGothic-Regular ; % CIDFnmap.Ore
++ %/HYGoThic-Medium /Baekmuk-Dotum ; % CIDFnmap.Bae
++ %/HYGoThic-Medium /Gothic ; % CIDFnmap.Sol
++ /HYSMyeongJo-Medium /Munhwa-Regular ; % CIDFnmap.Ore
++ %/HYSMyeongJo-Medium /Baekmuk-Batang ; % CIDFnmap.Bae
++ %/HYSMyeongJo-Medium /Myeongjo ; % CIDFnmap.Sol
++ %/HYRGoThic-Medium /Baekmuk-Gulim ; % CIDFnmap.Bae
++ %/HYRGoThic-Medium /RoundedGothic ; % CIDFnmap.Sol
++ /HYRGoThic-Medium /MunhwaGungSeo-Bold ; % CIDFnmap.Ore
diff --git a/print/ghostscript7-commfont/files/gs_cidcm.ps.patch b/print/ghostscript7-commfont/files/gs_cidcm.ps.patch
new file mode 100644
index 0000000..4bea4d3
--- /dev/null
+++ b/print/ghostscript7-commfont/files/gs_cidcm.ps.patch
@@ -0,0 +1,25 @@
+--- lib/gs_cidcm.ps.orig Sun Jul 1 17:57:04 2001
++++ lib/gs_cidcm.ps Sun Dec 23 02:05:48 2001
+@@ -164,7 +164,21 @@
+ { (r) file % CSIs /InstName g [ file
+ //GetCIDSystemInfoFromFile exec % CSIs /InstName g [ CSI
+ } stopped {
+- cleartomark //.prs_empty
++ % Cannot find file from Resource directory
++ cleartomark
++ % Try to find file from CIDFontmap
++ % Stack: CSIs /InstName g
++ 1 index dup .CIDFontmapKnownget {
++ % Stack: CSIs /InstName g /InstName ValueInCIDFontmap
++ % We do look at CIDFontmap in global space.
++ % (When stopped, the space is set to local.)
++ true setglobal
++ 1 index 3 1 roll
++ .CIDFontmapRunHandler
++ /CIDFont findresource /CIDSystemInfo get
++ } {
++ pop //.prs_empty
++ } ifelse
+ } {
+ exch pop
+ } ifelse % CSIs /InstName g CSI
diff --git a/print/ghostscript7-commfont/files/gs_res.ps.patch b/print/ghostscript7-commfont/files/gs_res.ps.patch
new file mode 100644
index 0000000..0119f16
--- /dev/null
+++ b/print/ghostscript7-commfont/files/gs_res.ps.patch
@@ -0,0 +1,28 @@
+--- lib/gs_res.ps.orig Mon Jul 16 01:09:41 2001
++++ lib/gs_res.ps Sun Dec 23 02:14:03 2001
+@@ -248,8 +248,8 @@
+ /pssystemparams 10 dict readonly def
+ } if
+ pssystemparams begin
+- /FontResourceDir (/Resource/Font/) readonly .forcedef % pssys'params is r-o
+- /GenericResourceDir (/Resource/) readonly .forcedef % pssys'params is r-o
++ /FontResourceDir (/usr/local/share/ghostscript/Resource/Font/) readonly .forcedef % pssys'params is r-o
++ /GenericResourceDir (/usr/local/share/ghostscript/Resource/) readonly .forcedef % pssys'params is r-o
+ /GenericResourcePathSep (/) readonly .forcedef % pssys'params is r-o
+ end
+ end
+@@ -457,10 +457,10 @@
+ /.vmused {
+ % - .vmused <usedvalue>
+ % usedvalue = vmstatus in global + vmstatus in local.
+- 0 2 {
+- .currentglobal not .setglobal
+- vmstatus pop exch pop add
+- } repeat
++ 0 2 {
++ .currentglobal not .setglobal
++ vmstatus pop exch pop add
++ } repeat
+ } bind def
+ /.DoLoadResource {
+ % .LoadResource may push entries on the operand stack.
diff --git a/print/ghostscript7-commfont/files/patch-gdev10v.mak.patch b/print/ghostscript7-commfont/files/patch-gdev10v.mak.patch
new file mode 100644
index 0000000..25a8317
--- /dev/null
+++ b/print/ghostscript7-commfont/files/patch-gdev10v.mak.patch
@@ -0,0 +1,22 @@
+--- gdev10v/gdev10v.mak.orig Thu Oct 12 11:17:50 2000
++++ gdev10v/gdev10v.mak Thu Oct 12 11:21:12 2000
+@@ -1,12 +1,13 @@
+ ### ----------------- The Canon BubbleJet BJ10v device ----------------- ###
+
+-bj10v_=gdev10v.$(OBJ) gdevprn.$(OBJ)
+-bj10v.dev: $(bj10v_)
+- $(SHP)gssetdev bj10v $(bj10v_)
+-bj10vh.dev: $(bj10v_)
+- $(SHP)gssetdev bj10vh $(bj10v_)
++bj10v_=$(GLOBJ)gdev10v.$(OBJ) $(GLOBJ)gdevprn.$(OBJ)
++$(DD)bj10v.dev: $(bj10v_) $(DD)page.dev
++ $(SETPDEV) $(DD)bj10v $(bj10v_)
++$(DD)bj10vh.dev: $(bj10v_) $(DD)page.dev
++ $(SETPDEV) $(DD)bj10vh $(bj10v_)
+
+ # Uncomment the following line if you are using MS-DOS on PC9801 series.
+
+-gdev10v.$(OBJ): gdevbj10.c $(PDEVH)
++$(GLOBJ)gdev10v.$(OBJ): $(GLSRC)gdevbj10.c $(PDEVH)
++ $(GLCC) $(GLO_)gdev10v.$(OBJ) $(C_) $(GLSRC)gdev10v.c
+ # $(CCC) -DPC9801 gdev10v.c
diff --git a/print/ghostscript7-commfont/files/patch-gdevalps:gdevalps.mak b/print/ghostscript7-commfont/files/patch-gdevalps:gdevalps.mak
new file mode 100644
index 0000000..6d7abd9
--- /dev/null
+++ b/print/ghostscript7-commfont/files/patch-gdevalps:gdevalps.mak
@@ -0,0 +1,25 @@
+--- gdevalps/gdevalps.mak-5.50.orig Sat Jan 12 13:21:12 2002
++++ gdevalps/gdevalps.mak-5.50 Sat Jan 12 13:23:45 2002
+@@ -2,15 +2,15 @@
+
+ alps_=$(GLOBJ)gdevalps.$(OBJ)
+
+-md50Mono.dev: $(alps_) page.dev
+- $(SETPDEV) md50Mono $(alps_)
++$(DD)md50Mono.dev: $(alps_) $(DD)page.dev
++ $(SETPDEV) $(DD)md50Mono $(alps_)
+
+-md50Eco.dev: $(alps_) page.dev
+- $(SETPDEV) md50Eco $(alps_)
++$(DD)md50Eco.dev: $(alps_) $(DD)page.dev
++ $(SETPDEV) $(DD)md50Eco $(alps_)
+
+-md1xMono.dev: $(alps_) page.dev
+- $(SETPDEV) md1xMono $(alps_)
++$(DD)md1xMono.dev: $(alps_) $(DD)page.dev
++ $(SETPDEV) $(DD)md1xMono $(alps_)
+
+-$(GLOBJ)gdevalps.$(OBJ): $(GLSRC)gdevalps.c $(PDEVH)
++$(GLOBJ)gdevalps.$(OBJ): $(GLSRC)gdevalps.c $(gdevprn_h) $(PDEVH)
+ $(GLCC) $(GLO_)gdevalps.$(OBJ) $(C_) $(GLSRC)gdevalps.c
+
diff --git a/print/ghostscript7-commfont/files/patch-gdevlips:gdevlips.mak b/print/ghostscript7-commfont/files/patch-gdevlips:gdevlips.mak
new file mode 100644
index 0000000..9ad6025
--- /dev/null
+++ b/print/ghostscript7-commfont/files/patch-gdevlips:gdevlips.mak
@@ -0,0 +1,30 @@
+--- gdevlips/gdevlips.mak.orig Thu Nov 2 12:12:13 2000
++++ gdevlips/gdevlips.mak Thu Jan 17 01:29:06 2002
+@@ -30,27 +30,6 @@
+ $(gscspace_h) $(gsutil_h) $(gsparam_h) $(gsmatrix_h) $(gdevvec_h)\
+ $(ghost_h) $(gzstate_h) $(igstate_h)
+ $(GLCC) -DA4 $(GLO_)gdevl4v.$(OBJ) $(C_) $(GLSRC)gdevl4v.c
+-
+-### ------- Epson ESC/Page printer device ----------------- ###
+-
+-escpage_=$(GLOBJ)gdevespg.$(OBJ) $(GLOBJ)gdevlprn.$(OBJ)
+-$(GLOBJ)gdevespg.$(OBJ): $(GLSRC)gdevespg.c $(GLSRC)gdevlprn.h $(PDEVH)
+- $(GLCC) -DA4 $(GLO_)gdevespg.$(OBJ) $(C_) $(GLSRC)gdevespg.c
+-
+-$(GLOBJ)escpage.dev: $(escpage_) $(DD)page.dev
+- $(SETPDEV) $(DD)escpage $(escpage_)
+-
+-$(GLOBJ)lp2000.dev: $(escpage_) $(DD)page.dev
+- $(SETPDEV) $(DD)lp2000 $(escpage_)
+-
+-### --- The NEC NPDL language printer device ------ ###
+-
+-npdl_=$(GLOBJ)gdevnpdl.$(OBJ) $(GLOBJ)gdevlprn.$(OBJ)
+-$(GLOBJ)gdevnpdl.$(OBJ): $(GLSRC)gdevnpdl.c $(GLSRC)gdevlprn.h $(PDEVH)
+- $(GLCC) -DA4 $(GLO_)gdevnpdl.$(OBJ) $(C_) $(GLSRC)gdevnpdl.c
+-
+-$(GLOBJ)npdl.dev: $(npdl_) $(DD)page.dev
+- $(SETPDEV) $(DD)npdl $(npdl_)
+
+ ### --- The RICOH RPDL language printer device ------ ###
+
diff --git a/print/ghostscript7-commfont/files/patch-gdevmd2k.mak.patch b/print/ghostscript7-commfont/files/patch-gdevmd2k.mak.patch
new file mode 100644
index 0000000..713377c
--- /dev/null
+++ b/print/ghostscript7-commfont/files/patch-gdevmd2k.mak.patch
@@ -0,0 +1,19 @@
+--- gdevmd2k-0.2a/gdevmd2k.mak-5.50.orig Sun Nov 19 18:42:20 2000
++++ gdevmd2k-0.2a/gdevmd2k.mak-5.50 Sun Nov 19 18:52:14 2000
+@@ -3,11 +3,11 @@
+
+ md2k_=$(GLOBJ)gdevmd2k.$(OBJ)
+
+-md2k.dev: $(md2k_) page.dev
+- $(SETPDEV) md2k $(md2k_)
++$(DD)md2k.dev: $(md2k_) $(DD)page.dev
++ $(SETPDEV) $(DD)md2k $(md2k_)
+
+-md5k.dev: $(md2k_) page.dev
+- $(SETPDEV) md5k $(md2k_)
++$(DD)md5k.dev: $(md2k_) $(DD)page.dev
++ $(SETPDEV) $(DD)md5k $(md2k_)
+
+-$(GLOBJ)gdevmd2k.$(OBJ): gdevmd2k.c $(PDEVH) $(gsparam_h)
++$(GLOBJ)gdevmd2k.$(OBJ): $(GLSRC)gdevmd2k.c $(PDEVH) $(gsparam_h)
+ $(GLCC) $(GLO_)gdevmd2k.$(OBJ) $(C_) $(GLSRC)gdevmd2k.c
diff --git a/print/ghostscript7-commfont/files/patch-gdevmjc.c b/print/ghostscript7-commfont/files/patch-gdevmjc.c
new file mode 100644
index 0000000..8188c0d
--- /dev/null
+++ b/print/ghostscript7-commfont/files/patch-gdevmjc.c
@@ -0,0 +1,335 @@
+--- src/gdevmjc.c.orig Tue May 23 19:16:52 2000
++++ src/gdevmjc.c Tue May 23 19:17:44 2000
+@@ -43,7 +43,8 @@
+ #include <limits.h>
+ #include "gdevprn.h"
+ #include "gdevpcl.h"
+-#include "gsprops.h"
++#include "gsparam.h"
++#include "gsstate.h"
+
+ #include "mjmtx2.c"
+ #include "mjbksep.c"
+@@ -150,7 +151,9 @@
+
+ /* Undefined macros expected to be defined in gdevpcl.h */
+ #define PAPER_SIZE_A3_NOBI 28
++#ifndef PAPER_SIZE_A2
+ #define PAPER_SIZE_A2 29
++#endif
+ #define PAPER_SIZE_B4 30
+ #define PAPER_SIZE_B5 31
+
+@@ -190,14 +193,12 @@
+ private dev_proc_print_page(mjc720_print_page);
+ private dev_proc_print_page(mj500c_print_page);
+
+-private dev_proc_get_props(mj_get_props);
+-private dev_proc_put_props(mj_put_props);
++private dev_proc_get_params(mj_get_params);
++private dev_proc_put_params(mj_put_params);
+
+ private void expand_line(P4(word*, int, int, int));
+-private int put_prop_float(P5(gs_prop_item *, float *, float, float, int));
+-private int put_prop_int(P5(gs_prop_item *, int *, int, int, int));
+-
+-private void set_bpp(P2(gx_device *, int));
++private int mj_put_param_int(P6(gs_param_list *, gs_param_name, int *, int, int, int));
++private void mj_set_bpp(P2(gx_device *, int));
+
+ private uint gdev_prn_rasterwidth(P2(const gx_device_printer *, int ));
+
+@@ -224,7 +225,7 @@
+ #define mj ((gx_device_mj *) pdev)
+
+ #define prn_hp_colour_device(procs, dev_name, x_dpi, y_dpi, bpp, print_page)\
+- prn_device_body(gx_device_printer, procs, dev_name,\
++ prn_device_body(gx_device_mj, procs, dev_name,\
+ WIDTH_10THS, HEIGHT_10THS, x_dpi, y_dpi, 0, 0, 0, 0, 0,\
+ bpp, 0, 0, 0, 0, print_page)
+
+@@ -235,9 +236,9 @@
+ }
+
+
+-#define mj_colour_procs(proc_colour_open, proc_get_props, proc_put_props) {\
++#define mj_colour_procs(proc_colour_open, proc_get_params, proc_put_params) {\
+ proc_colour_open,\
+- gdev_pcl_get_initial_matrix,\
++ gx_default_get_initial_matrix,\
+ gx_default_sync_output,\
+ gdev_prn_output_page,\
+ gdev_prn_close,\
+@@ -249,15 +250,15 @@
+ NULL, /* copy_color */\
+ NULL, /* draw_line */\
+ gx_default_get_bits,\
+- proc_get_props,\
+- proc_put_props\
++ proc_get_params,\
++ proc_put_params\
+ }
+
+ private int mjc_open(P1(gx_device *));
+ private int mj_colour_open(P1(gx_device *));
+
+ private gx_device_procs mj_procs =
+-mj_colour_procs(mjc_open, mj_get_props, mj_put_props);
++mj_colour_procs(mjc_open, mj_get_params, mj_put_params);
+
+ gx_device_mj far_data gs_mjc180_device =
+ mj_device(mj_procs, "mjc180", 180, 180, BITSPERPIXEL,
+@@ -306,14 +307,14 @@
+ static const float mj_b4[4] = { MJ700V2C_MARGINS_B4 };
+ static const float mj_b5[4] = { MJ700V2C_MARGINS_B5 };
+ static const float mj_letter[4] = { MJ700V2C_MARGINS_LETTER };
+- const float _ds *m;
++ const float *m;
+ int psize;
+
+ int paper_size;
+
+ /* Set up colour params if put_props has not already done so */
+ if (pdev->color_info.num_components == 0)
+- set_bpp(pdev, pdev->color_info.depth);
++ mj_set_bpp(pdev, pdev->color_info.depth);
+
+ paper_size = gdev_mjc_paper_size(pdev);
+ if (paper_size == PAPER_SIZE_A2 ) {
+@@ -332,10 +333,7 @@
+ m = mj_letter;
+ }
+
+- pdev->l_margin = m[0];
+- pdev->b_margin = m[1];
+- pdev->r_margin = m[2];
+- pdev->t_margin = m[3];
++ gx_device_set_margins(pdev, m, true);
+
+ switch (mj->colorcomp) {
+ case 1:
+@@ -360,80 +358,74 @@
+ * and control over the bits-per-pixel used in output rendering */
+ /* Added properties for DeskJet 5xxC */
+
+-private const gs_prop_item props_mj[] = {
+- /* Read-write properties. */
+- prop_def("Density", prt_int),
+- prop_def("Cyan", prt_int),
+- prop_def("Magenta", prt_int),
+- prop_def("Yellow", prt_int),
+- prop_def("Black", prt_int),
+- prop_def("Dither", prt_int),
+- prop_def("ColorComponent", prt_int),
+- prop_def("Direction", prt_int),
+- prop_def("MicroWeave", prt_int),
+- prop_def("DotSize", prt_int),
+-};
+-
+ private int
+-mj_get_props(gx_device *pdev, gs_prop_item *plist)
+-{ int start = gdev_prn_get_props(pdev, plist);
+- if ( plist != 0 ) {
+- register gs_prop_item *pi = plist + start;
+- memcpy(pi, props_mj, sizeof(props_mj));
+- pi[0].value.i = mj->density;
+- pi[1].value.i = mj->cyan;
+- pi[2].value.i = mj->magenta;
+- pi[3].value.i = mj->yellow;
+- pi[4].value.i = mj->black;
+- pi[5].value.i = mj->dither;
+- pi[6].value.i = mj->colorcomp;
+- pi[7].value.i = mj->direction;
+- pi[8].value.i = mj->microweave;
+- pi[9].value.i = mj->dotsize;
+- }
+- return start + sizeof(props_mj) / sizeof(gs_prop_item);
++mj_get_params(gx_device *pdev, gs_param_list *plist)
++{ int code = gdev_prn_get_params(pdev, plist);
++ if ( code < 0 ||
++ (code = param_write_int(plist, "Density", &mj->density)) < 0 ||
++ (code = param_write_int(plist, "Cyan", &mj->cyan)) < 0 ||
++ (code = param_write_int(plist, "Magenta", &mj->magenta)) < 0 ||
++ (code = param_write_int(plist, "Yellow", &mj->yellow)) < 0 ||
++ (code = param_write_int(plist, "Black", &mj->black)) < 0 ||
++ (code = param_write_int(plist, "Dither", &mj->dither)) < 0 ||
++ (code = param_write_int(plist, "ColorComponent", &mj->colorcomp)) < 0 ||
++ (code = param_write_int(plist, "Direction", &mj->direction)) < 0 ||
++ (code = param_write_int(plist, "MicroWeave", &mj->microweave)) < 0 ||
++ (code = param_write_int(plist, "DotSize", &mj->dotsize)) < 0
++ )
++ return code;
++ return code;
+ }
+
+ /* Put properties. */
+ private int
+-mj_put_props(gx_device *pdev, gs_prop_item *plist, int count)
++mj_put_params(gx_device *pdev, gs_param_list *plist)
+ {
+- static const argn = 10;
+-/* gs_prop_item *known[argn]; */
+- gs_prop_item *known[10];
+ int old_bpp = mj->color_info.depth;
+ int bpp = 0;
+ int code = 0;
+-
+- props_extract(plist, count, props_mj, argn, known, 0);
+- code = gdev_prn_put_props(pdev, plist, count);
+- if ( code < 0 ) return code;
+-
+- code = put_prop_int(known[0], &mj->density, 0, INT_MAX, code);
+- code = put_prop_int(known[1], &mj->cyan, 0, INT_MAX, code);
+- code = put_prop_int(known[2], &mj->magenta, 0, INT_MAX, code);
+- code = put_prop_int(known[3], &mj->yellow, 0, INT_MAX, code);
+- code = put_prop_int(known[4], &mj->black, 0, INT_MAX, code);
+- code = put_prop_int(known[5], &mj->dither, 0, 1, code);
+- code = put_prop_int(known[6], &mj->colorcomp, 1, 4, code);
+- code = put_prop_int(known[7], &mj->direction, 1, 2, code);
+- code = put_prop_int(known[8], &mj->microweave, 0, 1, code);
+- code = put_prop_int(known[9], &mj->dotsize, 0, 1, code);
+-
++ int density = mj->density;
++ int cyan = mj->cyan;
++ int magenta = mj->magenta;
++ int yellow = mj->yellow;
++ int black = mj->black;
++ int dither = mj->dither;
++ int colorcomp = mj->colorcomp;
++ int direction = mj->direction;
++ int microweave = mj->microweave;
++ int dotsize = mj->dotsize;
++ code = mj_put_param_int(plist, "Density", &density, 0, INT_MAX, code);
++ code = mj_put_param_int(plist, "Cyan", &cyan, 0, INT_MAX, code);
++ code = mj_put_param_int(plist, "Magenta", &magenta, 0, INT_MAX, code);
++ code = mj_put_param_int(plist, "Yellow", &yellow, 0, INT_MAX, code);
++ code = mj_put_param_int(plist, "Black", &black, 0, INT_MAX, code);
++ code = mj_put_param_int(plist, "Dither", &dither, 0, 1, code);
++ code = mj_put_param_int(plist, "ColorComponent", &colorcomp, 1, 4, code);
++ code = mj_put_param_int(plist, "Direction", &direction, 1, 2, code);
++ code = mj_put_param_int(plist, "MicroWeave", &microweave, 0, 1, code);
++ code = mj_put_param_int(plist, "DotSize", &dotsize, 0, 1, code);
++ code = mj_put_param_int(plist, "BitsPerPixel", &bpp, 1, 32, code);
+ if ( code < 0 )
+- return_error(code);
+-
+- if (bpp != 0) {
+- set_bpp(pdev, bpp);
+-
+- /* Close the device; gs_putdeviceprops will reopen it. */
++ return code;
++ mj->density = density;
++ mj->cyan = cyan;
++ mj->magenta = magenta;
++ mj->yellow = yellow;
++ mj->black = black;
++ mj->dither = dither;
++ mj->colorcomp = colorcomp;
++ mj->direction = direction;
++ mj->microweave = microweave;
++ mj->dotsize = dotsize;
++ if ( bpp != 0 ) {
++ mj_set_bpp(pdev, bpp);
++ gdev_prn_put_params(pdev, plist);
+ if ( bpp != old_bpp && pdev->is_open )
+- { int ccode = gs_closedevice(pdev);
+- if ( ccode < 0 ) return ccode;
+- }
++ return gs_closedevice(pdev);
++ return 0;
+ }
+-
+- return code;
++ else
++ return gdev_prn_put_params(pdev, plist);
+ }
+
+ /* ------ Internal routines ------ */
+@@ -1163,7 +1155,8 @@
+
+ /* Send each scan line in turn */
+ {
+- long int lend = pdev->height - (pdev->t_margin + pdev->b_margin) * y_dpi;
++ long int lend = pdev->height -
++ (dev_t_margin_points(pdev) + dev_b_margin_points(pdev));
+ int cErr, mErr, yErr, kErr;
+ int this_pass, i;
+ long int lnum;
+@@ -1685,39 +1678,25 @@
+ }
+
+ private int
+-put_prop_int(gs_prop_item *pi, int *property, int minval, int maxval, int code)
+-{
+- if ( pi == 0 )
+- return (code);
+-
+- if ( pi->value.i < minval || pi->value.i > maxval )
+- { pi->status = pv_rangecheck;
+- return (gs_error_rangecheck);
+- }
+- else
+- { *property = pi->value.i;
+- return (code ? code : 1);
+- }
+-}
+-
+-private int
+-put_prop_float(gs_prop_item *pi, float *property, float minval, float maxval, int code)
+-{
+- if ( pi == 0 )
+- return (code);
+-
+- if ( pi->value.f < minval || pi->value.f > maxval )
+- { pi->status = pv_rangecheck;
+- return (gs_error_rangecheck);
+- }
+- else
+- { *property = pi->value.f;
+- return (code ? code : 1);
+- }
++mj_put_param_int(gs_param_list *plist, gs_param_name pname, int *pvalue,
++ int minval, int maxval, int ecode)
++{ int code, value;
++ switch ( code = param_read_int(plist, pname, &value) )
++ {
++ default:
++ return code;
++ case 1:
++ return ecode;
++ case 0:
++ if ( value < minval || value > maxval )
++ param_signal_error(plist, pname, gs_error_rangecheck);
++ *pvalue = value;
++ return (ecode < 0 ? ecode : 1);
++ }
+ }
+
+ private void
+-set_bpp(gx_device *pdev, int bits_per_pixel)
++mj_set_bpp(gx_device *pdev, int bits_per_pixel)
+ { gx_device_color_info *ci = &pdev->color_info;
+ /* Only valid bits-per-pixel are 1, 3, 8, 16, 24, 32 */
+ int bpp = bits_per_pixel < 3 ? 1 : bits_per_pixel < 8 ? 3 :
+@@ -1725,9 +1704,9 @@
+ ci->num_components = ((bpp == 1) || (bpp == 8) ? 1 : 3);
+ ci->depth = ((bpp > 1) && (bpp < 8) ? 8 : bpp);
+ ci->max_gray = (bpp >= 8 ? 255 : 1);
+- ci->max_rgb = (bpp >= 8 ? 255 : bpp > 1 ? 1 : 0);
+- ci->dither_gray = (bpp >= 8 ? 5 : 2);
+- ci->dither_rgb = (bpp >= 8 ? 5 : bpp > 1 ? 2 : 0);
++ ci->max_color = (bpp >= 8 ? 255 : bpp > 1 ? 1 : 0);
++ ci->dither_grays = (bpp >= 8 ? 5 : 2);
++ ci->dither_colors = (bpp >= 8 ? 5 : bpp > 1 ? 2 : 0);
+ }
+
+ /* This returns either the number of pixels in a scan line, or the number
+@@ -1736,7 +1715,7 @@
+ gdev_prn_rasterwidth(const gx_device_printer *pdev, int pixelcount)
+ {
+ word raster_width =
+- pdev->width - pdev->x_pixels_per_inch * (pdev->l_margin + pdev->r_margin);
++ pdev->width - (pdev->HWMargins[0] + pdev->HWMargins[2]);
+ return (pixelcount ?
+ (uint)raster_width :
+ (uint)((raster_width * pdev->color_info.depth + 7) >> 3));
diff --git a/print/ghostscript7-commfont/files/patch-gdevmjc.mak b/print/ghostscript7-commfont/files/patch-gdevmjc.mak
new file mode 100644
index 0000000..f54213e
--- /dev/null
+++ b/print/ghostscript7-commfont/files/patch-gdevmjc.mak
@@ -0,0 +1,43 @@
+--- gdevmjc-0.8/gdevmjc.mak.orig Tue May 23 19:19:13 2000
++++ gdevmjc-0.8/gdevmjc.mak Tue May 23 19:19:40 2000
+@@ -4,25 +4,22 @@
+ # Supports MJ-700V2C, MJ-5000C, MJ-900C, MJ-800C, MJ-500C
+ #
+ ##
+-#
+-# Append this file to Makefile
+-#
+-##
+-MJCSRC = gdevmjc.c mjmtx2.c mjbksep.c mjhtocmy.c mjvtbl.c \
+- mjgrnsp.c mjgrnsp2.c mjespdtc.c mjespdtm.c mjespdty.c mjbarrie.c
++MJCSRC = $(GLSRC)gdevmjc.c $(GLSRC)mjmtx2.c $(GLSRC)mjbksep.c \
++ $(GLSRC)mjhtocmy.c $(GLSRC)mjvtbl.c $(GLSRC)mjgrnsp.c \
++ $(GLSRC)mjgrnsp2.c $(GLSRC)mjespdtc.c $(GLSRC)mjespdtm.c \
++ $(GLSRC)mjespdty.c $(GLSRC)mjbarrie.c
+
+-mj700v2c_=gdevmjc.$(OBJ) $(HPPCL)
++mj700v2c_=$(GLOBJ)gdevmjc.$(OBJ) $(HPPCL)
+
+ # To make A4 paper the default, change the second line below this to
+-gdevmjc.$(OBJ): $(MJCSRC) $(PDEVH) $(gdevpcl_h)
+- $(CCC) -DA4 gdevmjc.c
+-
+-mjc180.dev: $(mj700v2c_)
+- $(SHP)gssetdev mjc180 $(mj700v2c_)
+-mjc360.dev: $(mj700v2c_)
+- $(SHP)gssetdev mjc360 $(mj700v2c_)
+-mjc720.dev: $(mj700v2c_)
+- $(SHP)gssetdev mjc720 $(mj700v2c_)
+-mj500c.dev: $(mj700v2c_)
+- $(SHP)gssetdev mj500c $(mj700v2c_)
++$(GLOBJ)gdevmjc.$(OBJ): $(MJCSRC) $(PDEVH) $(gdevpcl_h)
++ $(GLCC) -DA4 $(GLO_)gdevmjc.$(OBJ) $(C_) $(GLSRC)gdevmjc.c
+
++$(GLOBJ)mjc180.dev: $(mj700v2c_) $(DD)page.dev
++ $(SETPDEV) $(DD)mjc180 $(mj700v2c_)
++$(GLOBJ)mjc360.dev: $(mj700v2c_) $(DD)page.dev
++ $(SETPDEV) $(DD)mjc360 $(mj700v2c_)
++$(GLOBJ)mjc720.dev: $(mj700v2c_) $(DD)page.dev
++ $(SETPDEV) $(DD)mjc720 $(mj700v2c_)
++$(GLOBJ)mj500c.dev: $(mj700v2c_) $(DD)page.dev
++ $(SETPDEV) $(DD)mj500c $(mj700v2c_)
diff --git a/print/ghostscript7-commfont/files/patch-src:gdevlbp8.c b/print/ghostscript7-commfont/files/patch-src:gdevlbp8.c
new file mode 100644
index 0000000..6e5b29d
--- /dev/null
+++ b/print/ghostscript7-commfont/files/patch-src:gdevlbp8.c
@@ -0,0 +1,70 @@
+--- src/gdevlbp8.c.orig Thu Mar 9 03:40:41 2000
++++ src/gdevlbp8.c
+@@ -22,6 +22,8 @@
+
+ /*
+ Modifications:
++ 3.10.00 Johnny Lam
++ Removed LIPS III code, as it's obsoleted by gdevlips driver.
+ 2.2.97 Lauri Paatero
+ Changed CSI command into ESC [. DCS commands may still need to be changed
+ (to ESC P).
+@@ -49,7 +51,6 @@
+
+ /* The device descriptors */
+ private dev_proc_print_page(lbp8_print_page);
+-private dev_proc_print_page(lips3_print_page);
+
+ gx_device_printer far_data gs_lbp8_device =
+ prn_device(prn_std_procs, "lbp8",
+@@ -58,14 +59,6 @@
+ 0.16, 0.2, 0.32, 0.21, /* margins: left, bottom, right, top */
+ 1, lbp8_print_page);
+
+-gx_device_printer far_data gs_lips3_device =
+- prn_device(prn_std_procs, "lips3",
+- 82, /* width_10ths, 8.3" */
+- 117, /* height_10ths, 11.7" */
+- X_DPI, Y_DPI,
+- 0.16, 0.27, 0.23, 0.27, /* margins */
+- 1, lips3_print_page);
+-
+ /* ------ Internal routines ------ */
+
+ #define ESC 0x1b
+@@ -84,23 +77,6 @@
+
+ static const char *lbp8_end = NULL;
+
+-static const char lips3_init[] = {
+- ESC, '<', /* soft reset */
+- DCS, '0', 'J', ST, /* JOB END */
+- DCS, '3', '1', ';', '3', '0', '0', ';', '2', 'J', ST, /* 300dpi, LIPS3 JOB START */
+- ESC, '<', /* soft reset */
+- DCS, '2', 'y', 'P', 'r', 'i', 'n', 't', 'i', 'n', 'g', '(', 'g', 's', ')', ST, /* Printing (gs) display */
+- ESC, '[', '?', '1', 'l', /* auto cr-lf disable */
+- ESC, '[', '?', '2', 'h', /* auto ff disable */
+- ESC, '[', '1', '1', 'h', /* set mode */
+- ESC, '[', '7', ' ', 'I', /* select unit size (300dpi)*/
+- ESC, '[', 'f' /* move to home position */
+-};
+-
+-static const char lips3_end[] = {
+- DCS, '0', 'J', ST /* JOB END */
+-};
+-
+ /* Send the page to the printer. */
+ private int
+ can_print_page(gx_device_printer *pdev, FILE *prn_stream,
+@@ -203,11 +179,4 @@
+ lbp8_print_page(gx_device_printer *pdev, FILE *prn_stream)
+ { return can_print_page(pdev, prn_stream, lbp8_init, sizeof(lbp8_init),
+ lbp8_end, sizeof(lbp8_end));
+-}
+-
+-/* Print a LIPS III page. */
+-private int
+-lips3_print_page(gx_device_printer *pdev, FILE *prn_stream)
+-{ return can_print_page(pdev, prn_stream, lips3_init, sizeof(lips3_init),
+- lips3_end, sizeof(lips3_end));
+ }
diff --git a/print/ghostscript7-commfont/files/patch-src:gdevxini.c b/print/ghostscript7-commfont/files/patch-src:gdevxini.c
new file mode 100644
index 0000000..44bb6b3
--- /dev/null
+++ b/print/ghostscript7-commfont/files/patch-src:gdevxini.c
@@ -0,0 +1,14 @@
+--- src/gdevxini.c.orig Tue Jun 5 15:38:57 2001
++++ src/gdevxini.c Wed Jun 20 04:17:15 2001
+@@ -655,8 +655,10 @@
+ }
+ x_set_buffer(xdev);
+ /* Clear the destination pixmap to avoid initializing with garbage. */
+- xdev->dest = (xdev->bpixmap != (Pixmap) 0 ?
++ if (xdev->dest == (Pixmap) 0) {
++ xdev->dest = (xdev->bpixmap != (Pixmap) 0 ?
+ xdev->bpixmap : (Pixmap) xdev->win);
++ }
+ if (xdev->dest != (Pixmap) 0) {
+ XSetForeground(xdev->dpy, xdev->gc, xdev->background);
+ XFillRectangle(xdev->dpy, xdev->dest, xdev->gc,
diff --git a/print/ghostscript7-commfont/files/patch-src:genarch.c b/print/ghostscript7-commfont/files/patch-src:genarch.c
new file mode 100644
index 0000000..a015e69
--- /dev/null
+++ b/print/ghostscript7-commfont/files/patch-src:genarch.c
@@ -0,0 +1,34 @@
+--- src/genarch.c.orig Tue Jun 5 15:38:57 2001
++++ src/genarch.c Wed Jun 20 04:17:42 2001
+@@ -41,6 +41,7 @@
+ fprintf(f, "\n\t /* ---------------- %s ---------------- */\n\n", str);
+ }
+
++#ifndef __FreeBSD__
+ private clock_t
+ time_clear(char *buf, int bsize, int nreps)
+ {
+@@ -51,6 +52,7 @@
+ memset(buf, 0, bsize);
+ return clock() - t;
+ }
++#endif /* __FreeBSD__ */
+
+ private void
+ define(FILE *f, const char *str)
+@@ -181,6 +183,7 @@
+ fprintf(f, "((unsigned long)~0L + (unsigned long)0)\n");
+ #undef PRINT_MAX
+
++#ifndef __FreeBSD__
+ section(f, "Cache sizes");
+
+ /*
+@@ -241,6 +244,7 @@
+ }
+ define_int(f, "ARCH_CACHE2_SIZE", bsize >> 1);
+ }
++#endif /* __FreeBSD__ */
+
+ section(f, "Miscellaneous");
+
diff --git a/print/ghostscript7-commfont/files/patch-src:gp_unifs.c b/print/ghostscript7-commfont/files/patch-src:gp_unifs.c
new file mode 100644
index 0000000..ba0f959
--- /dev/null
+++ b/print/ghostscript7-commfont/files/patch-src:gp_unifs.c
@@ -0,0 +1,60 @@
+--- src/gp_unifs.c.orig Tue Jun 5 15:31:44 2001
++++ src/gp_unifs.c Sun Jul 15 22:57:50 2001
+@@ -28,6 +27,8 @@
+ #include "gsutil.h" /* for string_match */
+ #include "stat_.h"
+ #include "dirent_.h"
++#include "unistd_.h"
++#include <stdlib.h> /* for mkstemp/mktemp */
+ #include <sys/param.h> /* for MAXPATHLEN */
+
+ /* Some systems (Interactive for example) don't define MAXPATHLEN,
+@@ -57,22 +58,44 @@
+ FILE *
+ gp_open_scratch_file(const char *prefix, char fname[gp_file_name_sizeof],
+ const char *mode)
+-{ /* The -8 is for XXXXXX plus a possible final / and -. */
+- int len = gp_file_name_sizeof - strlen(prefix) - 8;
+-
+- if (gp_gettmpdir(fname, &len) != 0)
++{ /* The -8 is for XXXXXX plus a possible final / and -. */
++ int prefix_length = strlen(prefix);
++ int len = gp_file_name_sizeof - prefix_length - 8;
++
++ if (gp_file_name_is_absolute(prefix, prefix_length))
++ *fname = 0;
++ else if (gp_gettmpdir(fname, &len) != 0)
+ strcpy(fname, "/tmp/");
+ else {
+ if (strlen(fname) != 0 && fname[strlen(fname) - 1] != '/')
+ strcat(fname, "/");
+ }
++ if (strlen(fname) + prefix_length + 8 >= gp_file_name_sizeof)
++ return 0; /* file name too long */
+ strcat(fname, prefix);
+ /* Prevent trailing X's in path from being converted by mktemp. */
+ if (*fname != 0 && fname[strlen(fname) - 1] == 'X')
+ strcat(fname, "-");
+ strcat(fname, "XXXXXX");
++
++#ifdef HAVE_MKSTEMP
++ {
++ int file;
++ FILE *fp;
++
++ file = mkstemp(fname);
++ if (file < -1)
++ return NULL;
++ fp = fdopen(file, mode);
++ if (fp == NULL)
++ close(file);
++
++ return fp;
++ }
++#else
+ mktemp(fname);
+ return gp_fopentemp(fname, mode);
++#endif
+ }
+
+ /* Open a file with the given name, as a stream of uninterpreted bytes. */
diff --git a/print/ghostscript7-commfont/files/patch-src:unix-gcc.mak b/print/ghostscript7-commfont/files/patch-src:unix-gcc.mak
new file mode 100644
index 0000000..2143001
--- /dev/null
+++ b/print/ghostscript7-commfont/files/patch-src:unix-gcc.mak
@@ -0,0 +1,163 @@
+--- src/unix-gcc.mak.orig Tue Jul 10 12:01:06 2001
++++ src/unix-gcc.mak Sat Dec 15 04:22:49 2001
+@@ -27,14 +27,15 @@
+ # source, generated intermediate file, and object directories
+ # for the graphics library (GL) and the PostScript/PDF interpreter (PS).
+
+-BINDIR=./bin
+-GLSRCDIR=./src
+-GLGENDIR=./obj
+-GLOBJDIR=./obj
+-PSSRCDIR=./src
+-PSLIBDIR=./lib
+-PSGENDIR=./obj
+-PSOBJDIR=./obj
++.CURDIR?=.
++BINDIR=${.CURDIR}/bin
++GLSRCDIR=${.CURDIR}/src
++GLGENDIR=${.CURDIR}/obj
++GLOBJDIR=${.CURDIR}/obj
++PSSRCDIR=${.CURDIR}/src
++PSLIBDIR=${.CURDIR}/lib
++PSGENDIR=${.CURDIR}/obj
++PSOBJDIR=${.CURDIR}/obj
+
+ # Do not edit the next group of lines.
+
+@@ -53,17 +54,17 @@
+ # the directories also define the default search path for the
+ # initialization files (gs_*.ps) and the fonts.
+
+-INSTALL = $(GLSRCDIR)/instcopy -c
+-INSTALL_PROGRAM = $(INSTALL) -m 755
+-INSTALL_DATA = $(INSTALL) -m 644
++INSTALL_PROGRAM = $(BSD_INSTALL_SCRIPT)
++INSTALL_DATA = $(BSD_INSTALL_DATA)
+
+-prefix = /usr/local
++prefix = $(PREFIX)
+ exec_prefix = $(prefix)
+ bindir = $(exec_prefix)/bin
+ scriptdir = $(bindir)
+ libdir = $(exec_prefix)/lib
+ mandir = $(prefix)/man
+ man1ext = 1
++man1dir = $(mandir)/man$(man1ext)
+ datadir = $(prefix)/share
+ gsdir = $(datadir)/ghostscript
+ gsdatadir = $(gsdir)/$(GS_DOT_VERSION)
+@@ -104,6 +105,15 @@
+
+ GENOPT=
+
++# Choose capability options.
++
++# -DHAVE_MKSTEMP
++# uses mkstemp instead of mktemp
++# This gets rid of several security warnings that look
++# ominous. Enable this if you wish to get rid of them.
++
++CAPOPT= -DHAVE_MKSTEMP
++
+ # Define the name of the executable file.
+
+ GS=gs
+@@ -129,7 +139,7 @@
+ # You may need to change this if the IJG library version changes.
+ # See jpeg.mak for more information.
+
+-JSRCDIR=jpeg
++JSRCDIR=${.CURDIR}/jpeg
+ JVERSION=6
+
+ # Choose whether to use a shared version of the IJG JPEG library (-ljpeg).
+@@ -149,14 +159,14 @@
+ # You may need to change this if the libpng version changes.
+ # See libpng.mak for more information.
+
+-PSRCDIR=libpng
++PSRCDIR=${LOCALBASE}/include
+ PVERSION=10012
+
+ # Choose whether to use a shared version of the PNG library, and if so,
+ # what its name is.
+ # See gs.mak and Make.htm for more information.
+
+-SHARE_LIBPNG=0
++SHARE_LIBPNG=1
+ LIBPNG_NAME=png
+
+ # Define the directory where the zlib sources are stored.
+@@ -168,7 +178,7 @@
+ # what its name is (usually libz, but sometimes libgz).
+ # See gs.mak and Make.htm for more information.
+
+-SHARE_ZLIB=0
++SHARE_ZLIB=1
+ #ZLIB_NAME=gz
+ ZLIB_NAME=z
+
+@@ -183,7 +193,7 @@
+
+ # Define the name of the C compiler.
+
+-CC=gcc
++CC?=cc
+
+ # Define the name of the linker for the final link step.
+ # Normally this is the same as the C compiler.
+@@ -216,9 +226,9 @@
+ # We don't include -ansi, because this gets in the way of the platform-
+ # specific stuff that <math.h> typically needs; nevertheless, we expect
+ # gcc to accept ANSI-style function prototypes and function definitions.
+-XCFLAGS=
++#XCFLAGS=
+
+-CFLAGS=$(CFLAGS_STANDARD) $(GCFLAGS) $(XCFLAGS)
++CFLAGS+=$(XCFLAGS)
+
+ # Define platform flags for ld.
+ # SunOS 4.n may need -Bstatic.
+@@ -227,7 +237,7 @@
+ # -R /usr/local/xxx/lib:/usr/local/lib
+ # giving the full path names of the shared library directories.
+ # XLDFLAGS can be set from the command line.
+-XLDFLAGS=
++XLDFLAGS=-L${LOCALBASE}/lib
+
+ LDFLAGS=$(XLDFLAGS) -fno-common
+
+@@ -260,7 +270,7 @@
+ # Note that x_.h expects to find the header files in $(XINCLUDE)/X11,
+ # not in $(XINCLUDE).
+
+-XINCLUDE=-I/X11R6/include
++XINCLUDE=-I${X11BASE}/include
+
+ # Define the directory/ies and library names for the X11 library files.
+ # XLIBDIRS is for ld and should include -L; XLIBDIR is for LD_RUN_PATH
+@@ -272,12 +282,12 @@
+ # Solaris and other SVR4 systems with dynamic linking probably want
+ #XLIBDIRS=-L/usr/openwin/lib -R/usr/openwin/lib
+ # X11R6 (on any platform) may need
+-#XLIBS=Xt SM ICE Xext X11
++XLIBS=Xt SM ICE Xext X11
+
+ #XLIBDIRS=-L/usr/local/X/lib
+-XLIBDIRS=-L/usr/X11R6/lib
++XLIBDIRS=-L${X11BASE}/lib
+ XLIBDIR=
+-XLIBS=Xt Xext X11
++#XLIBS=Xt Xext X11
+
+ # Define whether this platform has floating point hardware:
+ # FPU_TYPE=2 means floating point is faster than fixed point.
+@@ -406,7 +416,7 @@
+
+ # Define the compilation rules and flags.
+
+-CCFLAGS=$(GENOPT) $(CFLAGS)
++CCFLAGS=$(GENOPT) $(CAPOPT) $(CFLAGS)
+ CC_=$(CC) `cat $(AK)` $(CCFLAGS)
+ CCAUX=$(CC) `cat $(AK)`
+ CC_LEAF=$(CC_) -fomit-frame-pointer
diff --git a/print/ghostscript7-commfont/files/patch-src:zmedia2.c b/print/ghostscript7-commfont/files/patch-src:zmedia2.c
new file mode 100644
index 0000000..6e19c2d
--- /dev/null
+++ b/print/ghostscript7-commfont/files/patch-src:zmedia2.c
@@ -0,0 +1,25 @@
+--- src/zmedia2.c.orig Tue Jun 5 15:39:08 2001
++++ src/zmedia2.c Wed Jun 20 04:18:27 2001
+@@ -430,11 +430,17 @@
+
+ rx = ry, ry = temp;
+ }
+- /* Adjust the medium size if flexible. */
+- if (medium->p.x < MIN_MEDIA_SIZE && mx > rx)
+- mx = rx;
+- if (medium->p.y < MIN_MEDIA_SIZE && my > ry)
+- my = ry;
++ /* If 'medium' is flexible, adjust 'mx' and 'my' towards 'rx' and 'ry',
++ respectively. Note that 'mx' and 'my' have just acquired the largest
++ permissible value, medium->q. */
++ if (medium->p.x < mx) /* non-empty width range */
++ if (rx < medium->p.x) mx = medium->p.x; /* minimum */
++ else if (mx > rx) mx = rx; /* fits */
++ /* else use medium->q.x, i.e., the maximum */
++ if (medium->p.y < my) /* non-empty height range */
++ if (ry < medium->p.y) my = medium->p.y; /* minimum */
++ else if (my > ry) my = ry; /* fits */
++ /* else use medium->q.y, i.e., the maximum */
+
+ /* Translate to align the centers. */
+ gs_make_translation(mx / 2, my / 2, pmat);
OpenPOWER on IntegriCloud