summaryrefslogtreecommitdiffstats
path: root/print/ghostscript-gpl/files
diff options
context:
space:
mode:
Diffstat (limited to 'print/ghostscript-gpl/files')
-rw-r--r--print/ghostscript-gpl/files/epag.contrib.mak8
-rw-r--r--print/ghostscript-gpl/files/lqx70ch.upp26
-rw-r--r--print/ghostscript-gpl/files/lqx70cl.upp26
-rw-r--r--print/ghostscript-gpl/files/lqx70cm.upp25
-rw-r--r--print/ghostscript-gpl/files/patch-contrib__japanese__dmp_site.ps11
-rw-r--r--print/ghostscript-gpl/files/patch-contrib__japanese__gdevdmpr.c44
-rw-r--r--print/ghostscript-gpl/files/patch-epag__gdevepag.c217
-rw-r--r--print/ghostscript-gpl/files/patch-jbig2dec__os_types.h11
-rw-r--r--print/ghostscript-gpl/files/patch-lib-FAPIcidfmap9
-rw-r--r--print/ghostscript-gpl/files/patch-lib::cidfmap34
-rw-r--r--print/ghostscript-gpl/files/patch-lib::gs_ttf.ps24
-rw-r--r--print/ghostscript-gpl/files/patch-lib:gs_init.ps10
-rw-r--r--print/ghostscript-gpl/files/patch-lib:gs_statd.ps23
-rw-r--r--print/ghostscript-gpl/files/patch-lib:pdf_font.ps15
-rw-r--r--print/ghostscript-gpl/files/patch-src-gdevl256.c17
-rw-r--r--print/ghostscript-gpl/files/patch-src-gdevvglb.c19
-rw-r--r--print/ghostscript-gpl/files/patch-src-int.mak11
-rw-r--r--print/ghostscript-gpl/files/patch-src:fapi_ft.c22
-rw-r--r--print/ghostscript-gpl/files/patch-src:gxobj.h18
-rw-r--r--print/ghostscript-gpl/files/patch-src:unix-gcc.mak217
-rw-r--r--print/ghostscript-gpl/files/patch-src__devs.mak25
-rw-r--r--print/ghostscript-gpl/files/patch-src__gdevperm.c11
-rw-r--r--print/ghostscript-gpl/files/patch-src__zicc.c12
23 files changed, 835 insertions, 0 deletions
diff --git a/print/ghostscript-gpl/files/epag.contrib.mak b/print/ghostscript-gpl/files/epag.contrib.mak
new file mode 100644
index 000000000..2e6117ad4
--- /dev/null
+++ b/print/ghostscript-gpl/files/epag.contrib.mak
@@ -0,0 +1,8 @@
+### ------- Epson ESC/Page printer device ----------------- ###
+epag_=$(GLOBJ)gdevepag.$(OBJ)
+
+$(DD)epag.dev : $(epag_) $(DD)page.dev
+ $(SETPDEV) $(DD)epag $(epag_)
+
+$(GLOBJ)gdevepag.$(OBJ): $(GLSRC)gdevepag.c $(gdevprn_h) $(PDEVH)
+ $(GLCC) $(GLO_)gdevepag.$(OBJ) $(C_) $(GLSRC)gdevepag.c
diff --git a/print/ghostscript-gpl/files/lqx70ch.upp b/print/ghostscript-gpl/files/lqx70ch.upp
new file mode 100644
index 000000000..b5d3cd49e
--- /dev/null
+++ b/print/ghostscript-gpl/files/lqx70ch.upp
@@ -0,0 +1,26 @@
+# $ApsCVS: src/apsfilter/uniprint/lqx70ch.upp,v 1.2 2000/04/21 18:48:00 andreas Exp $
+#
+-supModel="Epson LQ-1170 ESC/P2 Dot Matrix, 360x360DpI, Plain Paper"
+-sDEVICE=uniprint
+-dNOPAUSE
+-dSAFER
+-dupColorModel=/DeviceCMYKgenerate
+-dupRendering=/ErrorDiffusion
+-dupOutputFormat=/EscP2
+-r360x360
+-dupMargins="{ 9.0 0.0 9.0 24.0}"
+-dupOutputPins=24
+-dupBeginPageCommand="<
+ 1b40 1b40
+ 1b2847 0100 01
+ 1b2869 0100 01
+ 1b2855 0100 0A
+ 1b5501
+ 1b2865 0200 0002
+ 1b2843 0200 0000
+ 1b2863 0400 0000 0000
+>"
+-dupAdjustPageLengthCommand
+-dupEndPageCommand="(\014)"
+-dupAbortCommand="(\033@\15\12\12\12\12 Printout-Aborted\15\014)"
+
diff --git a/print/ghostscript-gpl/files/lqx70cl.upp b/print/ghostscript-gpl/files/lqx70cl.upp
new file mode 100644
index 000000000..91fb1aa89
--- /dev/null
+++ b/print/ghostscript-gpl/files/lqx70cl.upp
@@ -0,0 +1,26 @@
+# $ApsCVS: src/apsfilter/uniprint/lqx70cl.upp,v 1.2 2000/04/21 18:48:00 andreas Exp $
+#
+-supModel="Epson LQ-1170 ESC/P2 Dot Matrix, 180x180DpI, Plain Paper"
+-sDEVICE=uniprint
+-dNOPAUSE
+-dSAFER
+-dupColorModel=/DeviceCMYKgenerate
+-dupRendering=/ErrorDiffusion
+-dupOutputFormat=/EscP2
+-r180x180
+-dupMargins="{ 9.0 0.0 9.0 24.0}"
+-dupOutputPins=24
+-dupBeginPageCommand="<
+ 1b40 1b40
+ 1b2847 0100 01
+ 1b2869 0100 01
+ 1b2855 0100 14
+ 1b5500
+ 1b2865 0200 0002
+ 1b2843 0200 0000
+ 1b2863 0400 0000 0000
+>"
+-dupAdjustPageLengthCommand
+-dupEndPageCommand="(\014)"
+-dupAbortCommand="(\033@\15\12\12\12\12 Printout-Aborted\15\014)"
+
diff --git a/print/ghostscript-gpl/files/lqx70cm.upp b/print/ghostscript-gpl/files/lqx70cm.upp
new file mode 100644
index 000000000..895af73aa
--- /dev/null
+++ b/print/ghostscript-gpl/files/lqx70cm.upp
@@ -0,0 +1,25 @@
+# $ApsCVS: src/apsfilter/uniprint/lqx70cm.upp,v 1.2 2000/04/21 18:48:00 andreas Exp $
+#
+-supModel="Epson LQ-1170 ESC/P2 Dot Matrix, 360x180DpI, Plain Paper"
+-sDEVICE=uniprint
+-dNOPAUSE
+-dSAFER
+-dupColorModel=/DeviceCMYKgenerate
+-dupRendering=/ErrorDiffusion
+-dupOutputFormat=/EscP2
+-r360x180
+-dupMargins="{ 9.0 24.0 9.0 24.0}"
+-dupOutputPins=24
+-dupBeginPageCommand="<
+ 1b40 1b40
+ 1b2847 0100 01
+ 1b2869 0100 01
+ 1b2855 0100 14
+ 1b5501
+ 1b2843 0200 0000
+ 1b2863 0400 0000 0000
+>"
+-dupAdjustPageLengthCommand
+-dupEndPageCommand="(\014)"
+-dupAbortCommand="(\033@\15\12\12\12\12 Printout-Aborted\15\014)"
+
diff --git a/print/ghostscript-gpl/files/patch-contrib__japanese__dmp_site.ps b/print/ghostscript-gpl/files/patch-contrib__japanese__dmp_site.ps
new file mode 100644
index 000000000..9f7ad073a
--- /dev/null
+++ b/print/ghostscript-gpl/files/patch-contrib__japanese__dmp_site.ps
@@ -0,0 +1,11 @@
+--- contrib/japanese/dmp_site.ps.orig Wed Nov 29 20:56:17 2006
++++ contrib/japanese/dmp_site.ps Sun May 13 21:06:03 2007
+@@ -1,7 +1,7 @@
+ %!
+ BeginConfig
+ %%%%%%%%%%%%%%%%%%%%%% Standard user cusomizations %%%%%%%%%%%%%%%%%%%%%
+-/printer (escp_24.src)
++/printer (%%DATADIR%%/%%GS_VERSION%%/lib/escp_24.src)
+ % horizontal / vertical
+ % /resolution [ 180.0 180.0 ]
+ % horizontal / vertical
diff --git a/print/ghostscript-gpl/files/patch-contrib__japanese__gdevdmpr.c b/print/ghostscript-gpl/files/patch-contrib__japanese__gdevdmpr.c
new file mode 100644
index 000000000..1e6c3261d
--- /dev/null
+++ b/print/ghostscript-gpl/files/patch-contrib__japanese__gdevdmpr.c
@@ -0,0 +1,44 @@
+--- contrib/japanese/gdevdmpr.c.orig Thu Apr 26 01:27:24 2007
++++ contrib/japanese/gdevdmpr.c Tue May 15 01:44:09 2007
+@@ -41,8 +41,6 @@
+ /* include library header. */
+ #include "dviprlib.h"
+
+-extern FILE *lib_fopen(const char *);
+-
+ #define LOCAL_DEBUG 0
+
+ #define DEVICE_NAME "dmprt"
+@@ -405,8 +403,6 @@
+ if (pddev->dmprt.max_height>0 && pddev->dmprt.max_height<pddev->height)
+ pddev->height = pddev->dmprt.max_height;
+
+- dviprt_setmessagestream(pddev->dmprt.debug_f ? stderr : NULL);
+-
+ return code;
+ }
+
+@@ -425,8 +421,6 @@
+ if (code < 0) return code;
+ if (code == 0) pddev->dmprt.debug_f = vbool;
+
+- dviprt_setmessagestream(pddev->dmprt.debug_f ? stderr : NULL);
+-
+ code = param_read_bool(plist, "Verbose", &vbool);
+ if (code < 0) return code;
+ pddev->dmprt.verbose_f = vbool;
+@@ -841,13 +835,12 @@
+ char *env;
+
+ strcpy(fname,fnamebase);
+- fp = lib_fopen(fname);
++ fp = fopen(fname,"r");
+ if (fp == NULL) {
+ env = getenv("TEXCFG");
+ if (env) {
+ strcpy(fname,env);
+ strcat(fname, gp_file_name_concat_string(env,strlen(env)));
+- strcat(fname,fnamebase);
+ fp = fopen(fname,gp_fmode_rb);
+ }
+ }
diff --git a/print/ghostscript-gpl/files/patch-epag__gdevepag.c b/print/ghostscript-gpl/files/patch-epag__gdevepag.c
new file mode 100644
index 000000000..6012768b4
--- /dev/null
+++ b/print/ghostscript-gpl/files/patch-epag__gdevepag.c
@@ -0,0 +1,217 @@
+--- epag/gdevepag.c.orig Sat Jul 8 13:33:09 2000
++++ epag/gdevepag.c Sat Nov 24 15:25:11 2007
+@@ -102,30 +102,30 @@
+ } EpagBubble;
+
+ /* The device descriptors */
+-private dev_proc_open_device(epag_open);
+-private dev_proc_close_device(epag_close);
+-private dev_proc_print_page(epag_print_page);
+-private void epag_printer_initialize(gx_device_printer *pdev, FILE *fp,int);
+-private dev_proc_print_page(epag_print_page);
+-private dev_proc_get_params(epag_get_params);
+-private dev_proc_put_params(epag_put_params);
+-private void epag_paper_set(gx_device_printer *pdev, FILE *fp);
+-private void epag_bubble_flush_all(EpagPageCont *cont);
+-private void epag_page_cont_init(gx_device_printer *pdev,FILE *fp,EpagPageCont *cont);
+-private void epag_page_close(EpagPageCont *cont);
+-private int epag_read_image(EpagPageCont *cont);
+-private void epag_process_line(EpagPageCont *cont);
+-private int epag_is_black(EpagPageCont *cont, int bx);
+-private void epag_rect_add(EpagPageCont *cont,int start,int end);
+-private void epag_bubble_gen(EpagPageCont *cont,
++static dev_proc_open_device(epag_open);
++static dev_proc_close_device(epag_close);
++static dev_proc_print_page(epag_print_page);
++static void epag_printer_initialize(gx_device_printer *pdev, FILE *fp,int);
++static dev_proc_print_page(epag_print_page);
++static dev_proc_get_params(epag_get_params);
++static dev_proc_put_params(epag_put_params);
++static void epag_paper_set(gx_device_printer *pdev, FILE *fp);
++static void epag_bubble_flush_all(EpagPageCont *cont);
++static void epag_page_cont_init(gx_device_printer *pdev,FILE *fp,EpagPageCont *cont);
++static void epag_page_close(EpagPageCont *cont);
++static int epag_read_image(EpagPageCont *cont);
++static void epag_process_line(EpagPageCont *cont);
++static int epag_is_black(EpagPageCont *cont, int bx);
++static void epag_rect_add(EpagPageCont *cont,int start,int end);
++static void epag_bubble_gen(EpagPageCont *cont,
+ int x0, int x1, int y0, int y1);
+-private void epag_bubble_flush(EpagPageCont *cont,EpagBubble *bbl);
+-private void epag_bubble_image_out(EpagPageCont *cont,EpagBubble *bbl);
++static void epag_bubble_flush(EpagPageCont *cont,EpagBubble *bbl);
++static void epag_bubble_image_out(EpagPageCont *cont,EpagBubble *bbl);
+
+ /*
+ * デバイスの宣言
+ */
+-private gx_device_procs prn_epag_procs =
++static gx_device_procs prn_epag_procs =
+ prn_params_procs(epag_open, gdev_prn_output_page, epag_close,
+ epag_get_params, epag_put_params);
+ gx_device_printer far_data gs_epag_device =
+@@ -140,13 +140,13 @@
+ static char *epson_remote_start = "\033\001@EJL \r\n";
+
+ /* Open the printer, adjusting the margins if necessary. */
+-private int
++static int
+ epag_open(gx_device *pdev)
+ {
+ return gdev_prn_open(pdev);
+ }
+
+-private int
++static int
+ epag_close(gx_device *pdev)
+ {
+ gdev_prn_open_printer(pdev, 1);
+@@ -163,7 +163,7 @@
+ return gdev_prn_close(pdev);
+ }
+
+-private int
++static int
+ epag_print_page(gx_device_printer *pdev, FILE *fp)
+ {
+ EpagPageCont cont;
+@@ -205,7 +205,7 @@
+ GS, '2', 'a', 'b', 'P', /* イメージ描画後下へ */
+ };
+
+-private void
++static void
+ epag_printer_initialize(gx_device_printer *pdev, FILE *fp, int copies)
+ {
+ double xDpi,yDpi;
+@@ -260,7 +260,7 @@
+ fprintf(fp,"%c%dcoO",GS, copies < 256 ? copies : 255);
+ }
+
+-private int
++static int
+ epag_get_params(gx_device *pdev, gs_param_list *plist)
+ {
+ int code;
+@@ -286,7 +286,7 @@
+ }
+
+ /* Put properties. */
+-private int
++static int
+ epag_put_params(gx_device *pdev, gs_param_list *plist)
+ {
+ param_read_int(plist, "cRowBuf", &epag_cont.cRowBuf);
+@@ -380,7 +380,7 @@
+ /*
+ * epag_bubble_flush_all: 残っている bubbleを全て出力する。
+ */
+-private void epag_bubble_flush_all(EpagPageCont *cont)
++static void epag_bubble_flush_all(EpagPageCont *cont)
+ {
+ int i;
+
+@@ -392,7 +392,7 @@
+ /*
+ * epag_page_cont_init: EpagPageContの初期化、バッファ確保等
+ */
+-private void epag_page_cont_init(gx_device_printer *pdev,FILE *fp,
++static void epag_page_cont_init(gx_device_printer *pdev,FILE *fp,
+ EpagPageCont *cont)
+ {
+ int bpl;
+@@ -417,15 +417,15 @@
+ cont->maxY = epag_cont.cRowBuf / cont->bh * cont->bh ;
+ if(cont->maxY < cont->bh) cont->maxY = cont->bh;
+
+- cont->bp = gs_malloc(bpl , cont->maxY, "epag_skip_blank_init(bp)");
+- cont->bp2 = gs_malloc(bpl*3/2+1 , cont->maxY, "epag_skip_blank_init(bp2)");
++ cont->bp = (byte *)gs_malloc(gs_lib_ctx_get_non_gc_memory_t(), bpl , cont->maxY, "epag_skip_blank_init(bp)");
++ cont->bp2 = (byte *)gs_malloc(gs_lib_ctx_get_non_gc_memory_t(), bpl*3/2+1 , cont->maxY, "epag_skip_blank_init(bp2)");
+
+ cont->h = cont->r = 0;
+
+- cont->bubbleTbl=gs_malloc(sizeof(EpagBubble *),cont->maxBx,"bubbleTbl");
++ cont->bubbleTbl = (byte *)gs_malloc(gs_lib_ctx_get_non_gc_memory_t(), sizeof(EpagBubble *),cont->maxBx,"bubbleTbl");
+ for(i=0;i<cont->maxBx;i++)
+ cont->bubbleTbl[i] = NULL;
+- cont->bubbleBuffer=gs_malloc(sizeof(EpagBubble),cont->maxBx,"bubbleBuffer");
++ cont->bubbleBuffer=gs_malloc(gs_lib_ctx_get_non_gc_memory_t(), sizeof(EpagBubble),cont->maxBx,"bubbleBuffer");
+ bbtbl = (EpagBubble *)cont->bubbleBuffer;
+ for(i=0;i<cont->maxBx-1;i++)
+ bbtbl[i].next = &bbtbl[i+1];
+@@ -433,15 +433,15 @@
+ cont->freeBubbleList = &bbtbl[0];
+ }
+
+-private void
++static void
+ epag_page_close(EpagPageCont *cont)
+ {
+- gs_free(cont->bp, bpl, cont->maxY, "epag_skip_blank_init(bp)");
+- gs_free(cont->bp2, bpl*3/2+1, cont->maxY, "epag_skip_blank_init(bp2)");
+- gs_free(cont->bubbleBuffer, sizeof(EpagBubble), cont->maxBx,"bubbleBuffer");
++ gs_free(gs_lib_ctx_get_non_gc_memory_t(), cont->bp, bpl, cont->maxY, "epag_skip_blank_init(bp)");
++ gs_free(gs_lib_ctx_get_non_gc_memory_t(), cont->bp2, bpl*3/2+1, cont->maxY, "epag_skip_blank_init(bp2)");
++ gs_free(gs_lib_ctx_get_non_gc_memory_t(), cont->bubbleBuffer, sizeof(EpagBubble), cont->maxBx,"bubbleBuffer");
+ }
+
+-private int
++static int
+ epag_read_image(EpagPageCont *cont)
+ {
+ int bh = cont->bh;
+@@ -473,7 +473,7 @@
+ /*
+ * bh行分のラスターデータを処理する
+ */
+-private void
++static void
+ epag_process_line(EpagPageCont *cont)
+ {
+ int bh = cont->bh;
+@@ -502,7 +502,7 @@
+ else epag_rect_add(cont, 0, cont->maxBx-1);
+ }
+
+-private int
++static int
+ epag_is_black(EpagPageCont *cont, int bx)
+ {
+ int bh = cont->bh;
+@@ -520,7 +520,7 @@
+ return 0;
+ }
+
+-private void
++static void
+ epag_rect_add(EpagPageCont *cont,int start,int end)
+ {
+ int x0 = start * cont->bw;
+@@ -544,7 +544,7 @@
+ }
+ }
+
+-private void
++static void
+ epag_bubble_gen(EpagPageCont *cont, int x0, int x1, int y0, int y1)
+ {
+ EpagBubble *bbl;
+@@ -569,7 +569,7 @@
+ }
+ }
+
+-private void epag_bubble_flush(EpagPageCont *cont,EpagBubble *bbl)
++static void epag_bubble_flush(EpagPageCont *cont,EpagBubble *bbl)
+ {
+ int bx,bx0,bx1;
+
+@@ -588,7 +588,7 @@
+
+ /* イメージを出力 */
+
+-private void
++static void
+ epag_bubble_image_out(EpagPageCont *cont,EpagBubble *bbl)
+ {
+ FILE *fp = cont->fp;
diff --git a/print/ghostscript-gpl/files/patch-jbig2dec__os_types.h b/print/ghostscript-gpl/files/patch-jbig2dec__os_types.h
new file mode 100644
index 000000000..4ce75024c
--- /dev/null
+++ b/print/ghostscript-gpl/files/patch-jbig2dec__os_types.h
@@ -0,0 +1,11 @@
+--- jbig2dec/os_types.h.orig Thu Dec 29 04:56:24 2005
++++ jbig2dec/os_types.h Sun May 28 01:10:59 2006
+@@ -47,7 +47,7 @@
+
+ #if defined(HAVE_STDINT_H) || defined(__MACOS__)
+ # include <stdint.h>
+-#elif defined(__VMS)
++#elif defined(__VMS) || defined(__FreeBSD__)
+ # include <inttypes.h>
+ #endif
+
diff --git a/print/ghostscript-gpl/files/patch-lib-FAPIcidfmap b/print/ghostscript-gpl/files/patch-lib-FAPIcidfmap
new file mode 100644
index 000000000..8c8f937ca
--- /dev/null
+++ b/print/ghostscript-gpl/files/patch-lib-FAPIcidfmap
@@ -0,0 +1,9 @@
+--- lib/FAPIcidfmap.orig 2006-06-01 00:29:52.000000000 +0900
++++ lib/FAPIcidfmap 2008-01-11 08:49:20.000000000 +0900
+@@ -29,4 +29,5 @@
+ %
+ % /Ryumin-Medium << /Path (msgothic.ttc) /CIDFontType 0 /FAPI /UFST /CSI [(Japan1) 2] >> ;
+ % /HeiseiKakuGo-W5 << /Path (F:/WIN2000/Fonts/BATANG.TTC) /CIDFontType 0 /FAPI /UFST /CSI [(Japan1) 2] >> ;
+-
++/Ryumin-Medium << /Path (/usr/local/share/ghostscript/fonts/Ryumin-Light.ttf) /CIDFontType 0 /FAPI /UFST /CSI [(Japan1) 2] >> ;
++/HeiseiKakuGo-W5 << /Path (/usr/local/share/ghostscript/fonts/GothicBBB-Medium.ttf) /CIDFontType 0 /FAPI /UFST /CSI [(Japan1) 2] >> ;
diff --git a/print/ghostscript-gpl/files/patch-lib::cidfmap b/print/ghostscript-gpl/files/patch-lib::cidfmap
new file mode 100644
index 000000000..fe0665080
--- /dev/null
+++ b/print/ghostscript-gpl/files/patch-lib::cidfmap
@@ -0,0 +1,34 @@
+--- lib/cidfmap.orig Thu Dec 29 04:56:24 2005
++++ lib/cidfmap Sat Apr 28 15:25:55 2007
+@@ -26,3 +26,31 @@
+ % /ShinGo-Bold /HeiseiKakuGo-W5 ;
+ % /Ryumin-Medium << /FileType /TrueType /Path (H:/AuxFiles/Fonts/BATANG.TTC) /SubfontID 3 /CSI [(Japan1) 2] >> ;
+ %
++/Ryumin-Light << /FileType /TrueType /Path (Ryumin-Light.ttf) /SubfontID 0 /CSI [(Japan1) 3] >> ;
++/GothicBBB-Medium << /FileType /TrueType /Path (GothicBBB-Medium.ttf) /SubfontID 0 /CSI [(Japan1) 3] >> ;
++
++/HeiseiMin-W3 /Ryumin-Light ;
++%/HeiseiMin-W3 /WadaMin-Regular ;
++/HeiseiKakuGo-W5 /GothicBBB-Medium ;
++%/HeiseiKakuGo-W5 /WadaGo-Bold ;
++/FutoMinA101-Bold /Ryumin-Light ;
++%/FutoMinA101-Bold /WadaMin-Regular ;
++/FutoGoB101-Bold /GothicBBB-Medium ;
++%/FutoGoB101-Bold /WadaGo-Bold ;
++/Jun101-Light /Ryumin-Light ;
++%/Jun101-Light /WadaMin-Regular ;
++/MidashiGo-MB31 /GothicBBB-Medium ;
++%/MidashiGo-MB31 /WadaGo-Bold ;
++
++%/Munhwa-Regular /Munhwa-Regular ;
++%/MunhwaGothic-Regular /MunhwaGothic-Regular ;
++%/Munhwa-Bold /Munhwa-Bold ;
++%/MunhwaGothic-Bold /MunhwaGothic-Bold ;
++
++/HYGoThic-Medium /MunhwaGothic-Regular ;
++/HYSMyeongJo-Medium /Munhwa-Regular ;
++/HYRGoThic-Medium /MunhwaGothic-Bold ;
++
++/STHeiti-Regular << /FileType /TrueType /Path (STHeiti-Regular.ttf) /SubfontID 0 /CSI [(CNS1) 5] >> ;
++/STSong-Light << /FileType /TrueType /Path (STSong-Light.ttf) /SubfontID 0 /CSI [(GB1) 5] >> ;
++/MSung-Light << /FileType /TrueType /Path (MSung-Light.ttf) /SubfontID 0 /CSI [(GB1) 5] >> ;
diff --git a/print/ghostscript-gpl/files/patch-lib::gs_ttf.ps b/print/ghostscript-gpl/files/patch-lib::gs_ttf.ps
new file mode 100644
index 000000000..ba745a856
--- /dev/null
+++ b/print/ghostscript-gpl/files/patch-lib::gs_ttf.ps
@@ -0,0 +1,24 @@
+--- lib/gs_ttf.ps.orig Tue Feb 6 20:07:48 2007
++++ lib/gs_ttf.ps Sat Mar 24 16:15:49 2007
+@@ -997,10 +997,17 @@
+ } ifelse
+ % Stack: ... /FontInfo mark key1 value1 ...
+ post null ne {
+- /ItalicAngle first_post_string 4 gets32 65536.0 div
+- /isFixedPitch first_post_string 12 getu32 0 ne
+- /UnderlinePosition first_post_string 8 gets16 upem div
+- /UnderlineThickness first_post_string 10 gets16 upem div
++ post type /arraytype eq {
++ % this post table is a big table. /post should be [(...) ...]
++ % data we actually need here should be first one in array.
++ /posttable post 1 get def
++ } {
++ /posttable post def
++ } ifelse
++ /ItalicAngle posttable 4 gets32 65536.0 div
++ /isFixedPitch posttable 12 getu32 0 ne
++ /UnderlinePosition posttable 8 gets16 upem div
++ /UnderlineThickness posttable 10 gets16 upem div
+ } if
+ counttomark 0 ne { .dicttomark } { pop pop } ifelse
+ /XUID [orgXUID 42 curxuid]
diff --git a/print/ghostscript-gpl/files/patch-lib:gs_init.ps b/print/ghostscript-gpl/files/patch-lib:gs_init.ps
new file mode 100644
index 000000000..a5c5eaf1b
--- /dev/null
+++ b/print/ghostscript-gpl/files/patch-lib:gs_init.ps
@@ -0,0 +1,10 @@
+--- lib/gs_init.ps.orig Sat Mar 5 07:02:23 2005
++++ lib/gs_init.ps Thu Apr 21 13:05:43 2005
+@@ -2241,3 +2241,7 @@
+ ifelse
+
+ % The interpreter will run the initial procedure (start).
++
++% unofficial patch:
++% make it possible to print from within acroread pdf viewer
++/Default currenthalftone /Halftone defineresource pop
diff --git a/print/ghostscript-gpl/files/patch-lib:gs_statd.ps b/print/ghostscript-gpl/files/patch-lib:gs_statd.ps
new file mode 100644
index 000000000..0ec417a12
--- /dev/null
+++ b/print/ghostscript-gpl/files/patch-lib:gs_statd.ps
@@ -0,0 +1,23 @@
+--- lib/gs_statd.ps.orig Sat Feb 14 04:19:59 2004
++++ lib/gs_statd.ps Sat Feb 21 23:01:09 2004
+@@ -109,6 +109,12 @@
+ /halfletter {396 612 //.setpagesize exec} bind def
+ % minimum of a4 and letter (a4 width, letter length)
+ /pa4 {595 792 //.setpagesize exec} bind def
++ /postcard {284 419 //.setpagesize exec} bind def
++ /dbl_postcard {419 568 //.setpagesize exec} bind def
++ /Executive {522 756 //.setpagesize exec} bind def
++ /jenv_you4 {298 666 //.setpagesize exec} bind def
++ /jenv_you2 {324 460 //.setpagesize exec} bind def
++ /jenv_kaku2 {682 942 //.setpagesize exec} bind def
+ % /tabloid {792 1224 //.setpagesize exec} bind def % 11x17 portrait
+ % /csheet {1224 1584 //.setpagesize exec} bind def % ANSI C 17x22
+ % /dsheet {1584 2448 //.setpagesize exec} bind def % ANSI D 22x34
+@@ -125,6 +131,7 @@
+ [ /letter /note %do not change this line, needed by 'setpagetype'
+ /legal /lettersmall
+ /11x17 /ledger
++ /postcard /dbl_postcard /Executive /jenv_you4 /jenv_you2 /jenv_kaku2
+ /a4small /a3 /a4
+ STRICT { (%END SIZES) .skipeof } if
+ /a0 /a1 /a2 /a5 /a6 /a7 /a8 /a9 /a10
diff --git a/print/ghostscript-gpl/files/patch-lib:pdf_font.ps b/print/ghostscript-gpl/files/patch-lib:pdf_font.ps
new file mode 100644
index 000000000..98f38d21d
--- /dev/null
+++ b/print/ghostscript-gpl/files/patch-lib:pdf_font.ps
@@ -0,0 +1,15 @@
+--- lib/pdf_font.ps.orig Tue Aug 31 13:03:30 2004
++++ lib/pdf_font.ps Wed Sep 15 19:15:00 2004
+@@ -1114,10 +1114,12 @@
+
+ /buildCIDType0 { % <CIDFontType0-font-resource> buildCIDType0 <font>
+ dup /BaseFont get findCIDFont exch pop
++ addCIDmetrics /CIDFont defineresource
+ } bdef
+
+ /buildCIDType2 { % <CIDFontType2-font-resource> buildCIDType2 <font>
+ dup /BaseFont get findCIDFont exch pop
++ addCIDmetrics /CIDFont defineresource
+ } bdef
+
+ /processCIDToGIDMap { % <fontres> <cidfont> processCIDToGIDMap <fontres> <cidfont>
diff --git a/print/ghostscript-gpl/files/patch-src-gdevl256.c b/print/ghostscript-gpl/files/patch-src-gdevl256.c
new file mode 100644
index 000000000..c00c180f7
--- /dev/null
+++ b/print/ghostscript-gpl/files/patch-src-gdevl256.c
@@ -0,0 +1,17 @@
+--- src/gdevl256.c.orig Mon Jun 4 00:54:57 2007
++++ src/gdevl256.c Mon Jun 4 01:13:56 2007
+@@ -143,9 +143,12 @@
+ /* for compatibility with the older display modes: */
+ /* these are indexed as 0.0.R0.G0.B0.R1.G1.B1. */
+ gx_color_index
+-lvga256_map_rgb_color(gx_device * dev, gx_color_value r, gx_color_value g,
+- gx_color_value b)
++lvga256_map_rgb_color(gx_device * dev, const gx_color_value cv[])
+ {
++ gx_color_value r = cv[0];
++ gx_color_value g = cv[1];
++ gx_color_value b = cv[2];
++
+ #define cv_bits(v,n) (v >> (gx_color_value_bits - n))
+ ushort r5 = cv_bits(r, 5), g5 = cv_bits(g, 5), b5 = cv_bits(b, 5);
+ static const byte cube_bits[32] =
diff --git a/print/ghostscript-gpl/files/patch-src-gdevvglb.c b/print/ghostscript-gpl/files/patch-src-gdevvglb.c
new file mode 100644
index 000000000..a14739678
--- /dev/null
+++ b/print/ghostscript-gpl/files/patch-src-gdevvglb.c
@@ -0,0 +1,19 @@
+--- src/gdevvglb.c.orig Tue Sep 25 22:31:24 2007
++++ src/gdevvglb.c Sat Nov 24 23:00:49 2007
+@@ -149,10 +149,13 @@
+ }
+
+ static gx_color_index
+-vgalib_map_rgb_color(gx_device * dev, gx_color_value red,
+- gx_color_value green, gx_color_value blue)
++vgalib_map_rgb_color(gx_device * dev, const gx_color_value cv[])
+ {
+- return pc_4bit_map_rgb_color(dev, red, green, blue);
++ gx_color_value r = cv[0];
++ gx_color_value g = cv[1];
++ gx_color_value b = cv[2];
++
++ return pc_4bit_map_rgb_color(dev, cv);
+ }
+
+ static int
diff --git a/print/ghostscript-gpl/files/patch-src-int.mak b/print/ghostscript-gpl/files/patch-src-int.mak
new file mode 100644
index 000000000..5e8904378
--- /dev/null
+++ b/print/ghostscript-gpl/files/patch-src-int.mak
@@ -0,0 +1,11 @@
+--- src/int.mak.orig 2007-07-02 02:18:18.000000000 +0900
++++ src/int.mak 2008-01-11 08:28:14.000000000 +0900
+@@ -988,7 +988,7 @@
+ # unix-inst.mak uses this macro, problems should surface when testing installed
+ # versions.
+ # Note: gs_cet.ps is only needed to match Adobe CPSI defaults
+-EXTRA_INIT_FILES= Fontmap cidfmap xlatmap FAPI FCOfontmap-PCLPS2 gs_cet.ps
++EXTRA_INIT_FILES= Fontmap cidfmap xlatmap FAPI FCOfontmap-PCLPS2 gs_cet.ps FAPIcidfmap FAPIconfig FAPIfontmap
+
+ # The init files are put in the lib/ directory (gs_init.ps + EXTRA_INIT_FILES)
+ # Resource files go into Resource/...
diff --git a/print/ghostscript-gpl/files/patch-src:fapi_ft.c b/print/ghostscript-gpl/files/patch-src:fapi_ft.c
new file mode 100644
index 000000000..d1c936dd6
--- /dev/null
+++ b/print/ghostscript-gpl/files/patch-src:fapi_ft.c
@@ -0,0 +1,22 @@
+--- src/fapi_ft.c.orig Wed Jul 11 09:26:24 2007
++++ src/fapi_ft.c Fri Aug 10 02:40:41 2007
+@@ -28,11 +28,14 @@
+ #include "gserror.h"
+
+ /* FreeType headers */
+-#include "freetype/freetype.h"
+-#include "freetype/ftincrem.h"
+-#include "freetype/ftglyph.h"
+-#include "freetype/ftoutln.h"
+-#include "freetype/fttrigon.h"
++#include "ft2build.h"
++#include FT_FREETYPE_H
++#include FT_INCREMENTAL_H
++#include FT_GLYPH_H
++#include FT_OUTLINE_H
++#include FT_TRIGONOMETRY_H
++#include "gserrors.h"
++#include "gserror.h"
+
+ /* Note: structure definitions here start with FF_, which stands for 'FAPI FreeType". */
+
diff --git a/print/ghostscript-gpl/files/patch-src:gxobj.h b/print/ghostscript-gpl/files/patch-src:gxobj.h
new file mode 100644
index 000000000..9ae2fe0d5
--- /dev/null
+++ b/print/ghostscript-gpl/files/patch-src:gxobj.h
@@ -0,0 +1,18 @@
+--- src/gxobj.h.orig Tue Mar 14 01:18:19 2006
++++ src/gxobj.h Fri Mar 23 14:41:44 2007
+@@ -109,11 +109,15 @@
+ * required by the hardware, regardless of the value of obj_align_mod.
+ * See gsmemraw.h for more information about this.
+ */
++#if !defined(__ia64__) && !defined(__amd64__)
+ #define obj_align_mod\
+ (((ARCH_ALIGN_MEMORY_MOD - 1) |\
+ (align_bitmap_mod - 1) |\
+ (obj_back_scale - 1)) + 1)
+ /* The only possible values for obj_align_mod are 4, 8, or 16.... */
++#else
++#define obj_align_mod 16
++#endif
+ #if obj_align_mod == 4
+ # define log2_obj_align_mod 2
+ #else
diff --git a/print/ghostscript-gpl/files/patch-src:unix-gcc.mak b/print/ghostscript-gpl/files/patch-src:unix-gcc.mak
new file mode 100644
index 000000000..2a458b8ff
--- /dev/null
+++ b/print/ghostscript-gpl/files/patch-src:unix-gcc.mak
@@ -0,0 +1,217 @@
+--- src/unix-gcc.mak.orig Sat Nov 10 06:18:04 2007
++++ src/unix-gcc.mak Sat Nov 24 15:09:41 2007
+@@ -21,15 +21,17 @@
+ # 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
+-PSRESDIR=./Resource
+-PSGENDIR=./obj
+-PSOBJDIR=./obj
++.CURDIR?=.
++BINDIR=${.CURDIR}/bin
++GLSRCDIR=${.CURDIR}/src
++GLGENDIR=${.CURDIR}/obj
++GLOBJDIR=${.CURDIR}/obj
++PSSRCDIR=${.CURDIR}/src
++PSLIBDIR=${.CURDIR}/lib
++PSRESDIR=${.CURDIR}/Resource
++PSGENDIR=${.CURDIR}/obj
++PSOBJDIR=${.CURDIR}/obj
++CONTRIBDIR=${.CURDIR}/contrib
+
+ # Do not edit the next group of lines.
+
+@@ -48,11 +50,10 @@
+ # 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)
+@@ -107,7 +108,7 @@
+ # -DHAVE_HYPOT
+ # use the system hypot() call
+
+-CAPOPT= -DHAVE_MKSTEMP
++CAPOPT= -DHAVE_MKSTEMP -DHAVE_HYPOT
+
+ # Define the name of the executable file.
+
+@@ -141,7 +142,7 @@
+ # some older JPEG streams that violate the standard. If the JPEG
+ # library built from local sources, the patch will be applied.
+
+-SHARE_JPEG=0
++SHARE_JPEG=1
+ JPEG_NAME=jpeg
+
+ # Define the directory where the PNG library sources are stored,
+@@ -155,7 +156,7 @@
+ # 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.
+@@ -167,7 +168,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
+
+@@ -176,6 +177,14 @@
+ JBIG2_LIB=jbig2dec
+ JBIG2SRCDIR=jbig2dec
+
++# Choose the library to use for (JPXDecode support)
++# whether to link to an external build or compile in from source
++# and source location and configuration flags for compiling in
++JPX_LIB=jasper
++SHARE_JPX=0
++JPXSRCDIR=jasper
++JPX_CFLAGS=-DJAS_CONFIGURE
++
+ # Define the directory where the icclib source are stored.
+ # See icclib.mak for more information
+
+@@ -204,7 +213,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.
+@@ -221,10 +230,10 @@
+ # Define the added flags for standard, debugging, profiling
+ # and shared object builds.
+
+-CFLAGS_STANDARD=-O2
++CFLAGS_STANDARD?=-O2
+ CFLAGS_DEBUG=-g -O0
+ CFLAGS_PROFILE=-pg -O2
+-CFLAGS_SO=-fPIC -shared
++CFLAGS_SO=-fPIC
+
+ # Define the other compilation flags. Add at most one of the following:
+ # -DBSD4_2 for 4.2bsd systems.
+@@ -237,7 +246,8 @@
+ # 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=-DGS_DEVS_SHARED -DGS_DEVS_SHARED_DIR=\"$(gssharedir)\"
++#XCFLAGS+=-DGS_DEVS_SHARED -DGS_DEVS_SHARED_DIR=\"$(gssharedir)\"
++XCFLAGS+=-DUPD_SIGNAL=0 -I${JPXSRCDIR}/src/libjasper/include -I${LOCALBASE}/include/libpng -I${LOCALBASE}/include
+
+ CFLAGS=$(CFLAGS_STANDARD) $(GCFLAGS) $(XCFLAGS)
+
+@@ -248,7 +258,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)
+
+@@ -259,7 +269,7 @@
+ # Solaris may need -lnsl -lsocket -lposix4.
+ # (Libraries required by individual drivers are handled automatically.)
+
+-EXTRALIBS=-rdynamic -ldl
++EXTRALIBS+=-Wl,-export-dynamic
+
+ # Define the standard libraries to search at the end of linking.
+ # Most platforms require -lpthread for the POSIX threads library;
+@@ -281,7 +291,7 @@
+ # Note that x_.h expects to find the header files in $(XINCLUDE)/X11,
+ # not in $(XINCLUDE).
+
+-XINCLUDE=-I/usr/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
+@@ -293,12 +303,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.
+@@ -316,16 +326,16 @@
+
+ # If POSIX sync primitives are used, also change the STDLIBS to include
+ # the pthread library.
+-#SYNC=posync
++SYNC=posync
+
+ # Default is No sync primitives since some platforms don't have it (HP-UX)
+-SYNC=nosync
++#SYNC=nosync
+
+ # ------ Devices and features ------ #
+
+ # Choose the language feature(s) to include. See gs.mak for details.
+
+-FEATURE_DEVS=$(PSD)psl3.dev $(PSD)pdf.dev $(PSD)dpsnext.dev $(PSD)ttfont.dev $(PSD)epsf.dev $(GLD)pipe.dev $(PSD)fapi.dev
++FEATURE_DEVS=$(PSD)psl3.dev $(PSD)pdf.dev $(PSD)dpsnext.dev $(PSD)ttfont.dev $(PSD)epsf.dev $(GLD)pipe.dev $(PSD)fapi.dev $(PSD)jbig2.dev $(PSD)jpx.dev
+ #FEATURE_DEVS=$(PSD)psl3.dev $(PSD)pdf.dev
+ # The following is strictly for testing.
+ FEATURE_DEVS_ALL=$(PSD)psl3.dev $(PSD)pdf.dev $(PSD)dpsnext.dev $(PSD)ttfont.dev $(PSD)rasterop.dev $(PSD)double.dev $(PSD)trapping.dev $(PSD)stocht.dev $(GLD)pipe.dev
+@@ -415,7 +425,7 @@
+ DEVICE_DEVS21=$(DD)spotcmyk.dev $(DD)devicen.dev $(DD)xcf.dev $(DD)bmpsep1.dev $(DD)bmpsep8.dev $(DD)bmp16m.dev $(DD)bmp32b.dev $(DD)psdcmyk.dev $(DD)psdrgb.dev
+
+ # Shared library target to build.
+-GS_SHARED_OBJS=$(GLOBJDIR)/X11.so $(GLOBJDIR)/lvga256.so $(GLOBJDIR)/vgalib.so
++#GS_SHARED_OBJS=$(GLOBJDIR)/X11.so $(GLOBJDIR)/lvga256.so $(GLOBJDIR)/vgalib.so
+ #GS_SHARED_OBJS=$(GLOBJDIR)/X11.so
+
+ # ---------------------------- End of options --------------------------- #
+@@ -454,6 +464,9 @@
+ include $(GLSRCDIR)/zlib.mak
+ include $(GLSRCDIR)/libpng.mak
+ include $(GLSRCDIR)/jbig2.mak
++include $(GLSRCDIR)/jasper.mak
++include $(GLSRCDIR)/ldf_jb2.mak
++include $(GLSRCDIR)/lwf_jp2.mak
+ include $(GLSRCDIR)/icclib.mak
+ include $(GLSRCDIR)/ijs.mak
+ include $(GLSRCDIR)/devs.mak
+@@ -463,6 +476,7 @@
+ include $(GLSRCDIR)/unix-dll.mak
+ include $(GLSRCDIR)/unix-end.mak
+ include $(GLSRCDIR)/unixinst.mak
++include $(CONTRIBDIR)/contrib.mak
+
+ # This has to come last so it won't be taken as the default target.
+ $(AK):
diff --git a/print/ghostscript-gpl/files/patch-src__devs.mak b/print/ghostscript-gpl/files/patch-src__devs.mak
new file mode 100644
index 000000000..9f95e8bc0
--- /dev/null
+++ b/print/ghostscript-gpl/files/patch-src__devs.mak
@@ -0,0 +1,25 @@
+--- src/devs.mak.orig Thu Jun 7 07:03:27 2007
++++ src/devs.mak Wed Aug 8 23:26:52 2007
+@@ -426,11 +426,11 @@
+ ### NON PORTABLE, ONLY UNIX WITH GCC SUPPORT
+
+ $(GLOBJ)lvga256.so: $(lvga256_)
+- $(CCLD) -shared -Wl,'-solvga256.so' $(lvga256_) -lvga -lvgagl
++ $(CCLD) -shared -Wl,'-solvga256.so' $(lvga256_) -lvga -lvgagl $(XLDFLAGS)
+ mv lvga256.so $(GLOBJ)lvga256.so
+
+ $(GLOBJ)vgalib.so: $(vgalib_)
+- $(CCLD) -shared -Wl,'-sovgalib.so' $(vgalib_) -lvga -lvgagl
++ $(CCLD) -shared -Wl,'-sovgalib.so' $(vgalib_) -lvga -lvgagl $(XLDFLAGS)
+ mv vgalib.so $(GLOBJ)vgalib.so
+
+ ### -------------------------- The X11 device -------------------------- ###
+@@ -534,7 +534,7 @@
+ ### NON PORTABLE, ONLY UNIX WITH GCC SUPPORT
+
+ $(GLOBJ)X11.so: $(x11alt_) $(x11_)
+- $(CCLD) -shared -Wl,'-soX11.so' $(x11alt_) $(x11_) -L/usr/X11R6/lib -lXt -lSM -lICE -lXext -lX11 $(XLIBDIRS)
++ $(CCLD) -shared -Wl,'-soX11.so' $(x11alt_) $(x11_) -lXt -lSM -lICE -lXext -lX11 $(XLIBDIRS)
+ mv X11.so $(GLOBJ)X11.so
+
+ ###### --------------- Memory-buffered printer devices --------------- ######
diff --git a/print/ghostscript-gpl/files/patch-src__gdevperm.c b/print/ghostscript-gpl/files/patch-src__gdevperm.c
new file mode 100644
index 000000000..7735f96e8
--- /dev/null
+++ b/print/ghostscript-gpl/files/patch-src__gdevperm.c
@@ -0,0 +1,11 @@
+--- src/gdevperm.c.orig Tue Sep 25 22:31:24 2007
++++ src/gdevperm.c Sat Nov 24 15:11:12 2007
+@@ -286,7 +286,7 @@
+ (strncmp((const char *)name, (const char *)str, name_size) == 0))
+
+ static int
+-perm_get_color_comp_index(const gx_device *pdev, const char *pname,
++perm_get_color_comp_index(gx_device *pdev, const char *pname,
+ int name_size, int component_type)
+ {
+ const gx_device_perm_t * const dev = (const gx_device_perm_t *)pdev;
diff --git a/print/ghostscript-gpl/files/patch-src__zicc.c b/print/ghostscript-gpl/files/patch-src__zicc.c
new file mode 100644
index 000000000..a5ddf3a4f
--- /dev/null
+++ b/print/ghostscript-gpl/files/patch-src__zicc.c
@@ -0,0 +1,12 @@
+--- src/zicc.c
++++ src/zicc.c 2008-02-05 16:11:59.000000000 +0000
+@@ -77,6 +77,9 @@ zseticcspace(i_ctx_t * i_ctx_p)
+ dict_find_string(op, "N", &pnval);
+ ncomps = pnval->value.intval;
+
++ if (2*ncomps > sizeof(range_buff)/sizeof(float))
++ return_error(e_rangecheck);
++
+ /* verify the DataSource entry */
+ if (dict_find_string(op, "DataSource", &pstrmval) <= 0)
+ return_error(e_undefined);