summaryrefslogtreecommitdiff
path: root/contrib
diff options
context:
space:
mode:
Diffstat (limited to 'contrib')
-rw-r--r--contrib/eplaser/gdevescv.c160
-rw-r--r--contrib/gdevadmp.c8
-rw-r--r--contrib/gdevbjc_.c42
-rw-r--r--contrib/gdevbjc_.h8
-rw-r--r--contrib/gdevcd8.c51
-rw-r--r--contrib/gdevdj9.c11
-rw-r--r--contrib/gdevgdi.c7
-rw-r--r--contrib/gdevhl12.c5
-rw-r--r--contrib/gdevln03.c17
-rw-r--r--contrib/gdevlx32.c11
-rw-r--r--contrib/gdevlx7.c11
-rw-r--r--contrib/gdevmd2k.c11
-rw-r--r--contrib/gdevop4w.c5
-rw-r--r--contrib/gdevxes.c5
-rw-r--r--contrib/japanese/gdev10v.c73
-rw-r--r--contrib/japanese/gdevalps.c9
-rw-r--r--contrib/japanese/gdevespg.c10
-rw-r--r--contrib/japanese/gdevfmlbp.c28
-rw-r--r--contrib/japanese/gdevfmpr.c2
-rw-r--r--contrib/japanese/gdevj100.c2
-rw-r--r--contrib/japanese/gdevlbp3.c4
-rw-r--r--contrib/japanese/gdevmjc.c20
-rw-r--r--contrib/japanese/gdevml6.c5
-rw-r--r--contrib/japanese/gdevnpdl.c5
-rw-r--r--contrib/japanese/gdevp201.c8
-rw-r--r--contrib/japanese/gdevrpdl.c5
-rw-r--r--contrib/lips4/gdevl4r.c20
-rw-r--r--contrib/lips4/gdevl4v.c4
-rw-r--r--contrib/opvp/gdevopvp.c22
-rw-r--r--contrib/pcl3/src/gdevpcl3.c6
30 files changed, 262 insertions, 313 deletions
diff --git a/contrib/eplaser/gdevescv.c b/contrib/eplaser/gdevescv.c
index 3043130e8..5dd90f95a 100644
--- a/contrib/eplaser/gdevescv.c
+++ b/contrib/eplaser/gdevescv.c
@@ -76,18 +76,18 @@ gs_public_st_suffix_add0_final(st_device_escv, gx_device_escv,
** 原点の値を 0 とした場合,計算誤差?の問題から描画エリアが狂うため
** 原点を 0.001 としておく。
*/
-#define escv_device_full_body(dtype, pprocs, dname, stype, w, h, xdpi, ydpi, \
+#define escv_device_full_body(dtype, init, dname, stype, w, h, xdpi, ydpi, \
ncomp, depth, mg, mc, dg, dc, lm, bm, rm, tm)\
- std_device_part1_(dtype, pprocs, dname, stype, open_init_closed),\
+ std_device_part1_(dtype, init, dname, stype, open_init_closed),\
dci_values(ncomp, depth, mg, mc, dg, dc),\
std_device_part2_(w, h, xdpi, ydpi),\
offset_margin_values(0.001, 0.001, lm, 0, 0, tm),\
std_device_part3_()
/* for ESC/Page (Monochrome) */
-#define esmv_device_full_body(dtype, pprocs, dname, stype, w, h, xdpi, ydpi, \
+#define esmv_device_full_body(dtype, init, dname, stype, w, h, xdpi, ydpi, \
ncomp, depth, mg, mc, dg, dc, lm, bm, rm, tm)\
- std_device_part1_(dtype, pprocs, dname, stype, open_init_closed),\
+ std_device_part1_(dtype, init, dname, stype, open_init_closed),\
dci_values(ncomp, depth, mg, mc, dg, dc),\
std_device_part2_(w, h, xdpi, ydpi),\
offset_margin_values(-lm * xdpi / 72.0, -tm * ydpi / 72.0, 5.0 / (MMETER_PER_INCH / POINT),\
@@ -95,28 +95,36 @@ gs_public_st_suffix_add0_final(st_device_escv, gx_device_escv,
std_device_part3_()
/* for ESC/Page-Color */
-#define escv_device_body(name) \
- escv_device_full_body(gx_device_escv, 0, name, \
- &st_device_escv,\
-/* width & height */ ESCPAGE_DEFAULT_WIDTH, ESCPAGE_DEFAULT_HEIGHT,\
-/* default resolution */ X_DPI, Y_DPI,\
-/* color info */ 3, 24, 255, 255, 256, 256,\
- ESCPAGE_LEFT_MARGIN_DEFAULT,\
- ESCPAGE_BOTTOM_MARGIN_DEFAULT,\
- ESCPAGE_RIGHT_MARGIN_DEFAULT,\
- ESCPAGE_TOP_MARGIN_DEFAULT)
+#define escv_device_body(name) \
+{\
+ escv_device_full_body(gx_device_escv, escv_initialize, name, \
+ &st_device_escv,\
+/* width & height */ ESCPAGE_DEFAULT_WIDTH, ESCPAGE_DEFAULT_HEIGHT,\
+/* default resolution */X_DPI, Y_DPI,\
+/* color info */ 3, 24, 255, 255, 256, 256,\
+ ESCPAGE_LEFT_MARGIN_DEFAULT,\
+ ESCPAGE_BOTTOM_MARGIN_DEFAULT,\
+ ESCPAGE_RIGHT_MARGIN_DEFAULT,\
+ ESCPAGE_TOP_MARGIN_DEFAULT),\
+ { 0 },\
+ escv_init_code\
+}
/* for ESC/Page (Monochrome) */
-#define esmv_device_body(name) \
- esmv_device_full_body(gx_device_escv, 0, name, \
- &st_device_escv,\
-/* width & height */ ESCPAGE_DEFAULT_WIDTH, ESCPAGE_DEFAULT_HEIGHT,\
-/* default resolution */ X_DPI, Y_DPI,\
-/* color info */ 1, 8, 255, 255, 256, 256,\
- ESCPAGE_LEFT_MARGIN_DEFAULT,\
- ESCPAGE_BOTTOM_MARGIN_DEFAULT,\
- ESCPAGE_RIGHT_MARGIN_DEFAULT,\
- ESCPAGE_TOP_MARGIN_DEFAULT)
+#define esmv_device_body(name) \
+{\
+ esmv_device_full_body(gx_device_escv, esmv_initialize, name, \
+ &st_device_escv,\
+/* width & height */ ESCPAGE_DEFAULT_WIDTH, ESCPAGE_DEFAULT_HEIGHT,\
+/* default resolution */X_DPI, Y_DPI,\
+/* color info */ 1, 8, 255, 255, 256, 256,\
+ ESCPAGE_LEFT_MARGIN_DEFAULT,\
+ ESCPAGE_BOTTOM_MARGIN_DEFAULT,\
+ ESCPAGE_RIGHT_MARGIN_DEFAULT,\
+ ESCPAGE_TOP_MARGIN_DEFAULT),\
+ { 0 },\
+ esmv_init_code\
+}
static int
esc_initialize(gx_device *dev)
@@ -232,60 +240,60 @@ esmv_initialize(gx_device *dev)
escv_init_code_common
/* for ESC/Page (Monochrome) */
-gx_device_escv far_data gs_epl2050_device ={esmv_device_body("epl2050"), devprocs_initialize(esmv_initialize), esmv_init_code};
-gx_device_escv far_data gs_epl2050p_device={esmv_device_body("epl2050p"),devprocs_initialize(esmv_initialize), esmv_init_code};
-gx_device_escv far_data gs_epl2120_device ={esmv_device_body("epl2120"), devprocs_initialize(esmv_initialize), esmv_init_code};
-gx_device_escv far_data gs_epl2500_device ={esmv_device_body("epl2500"), devprocs_initialize(esmv_initialize), esmv_init_code};
-gx_device_escv far_data gs_epl2750_device ={esmv_device_body("epl2750"), devprocs_initialize(esmv_initialize), esmv_init_code};
-gx_device_escv far_data gs_epl5800_device ={esmv_device_body("epl5800"), devprocs_initialize(esmv_initialize), esmv_init_code};
-gx_device_escv far_data gs_epl5900_device ={esmv_device_body("epl5900"), devprocs_initialize(esmv_initialize), esmv_init_code};
-gx_device_escv far_data gs_epl6100_device ={esmv_device_body("epl6100"), devprocs_initialize(esmv_initialize), esmv_init_code};
-gx_device_escv far_data gs_epl6200_device ={esmv_device_body("epl6200"), devprocs_initialize(esmv_initialize), esmv_init_code};
-gx_device_escv far_data gs_lp1800_device ={esmv_device_body("lp1800"), devprocs_initialize(esmv_initialize), esmv_init_code};
-gx_device_escv far_data gs_lp1900_device ={esmv_device_body("lp1900"), devprocs_initialize(esmv_initialize), esmv_init_code};
-gx_device_escv far_data gs_lp2200_device ={esmv_device_body("lp2200"), devprocs_initialize(esmv_initialize), esmv_init_code};
-gx_device_escv far_data gs_lp2400_device ={esmv_device_body("lp2400"), devprocs_initialize(esmv_initialize), esmv_init_code};
-gx_device_escv far_data gs_lp2500_device ={esmv_device_body("lp2500"), devprocs_initialize(esmv_initialize), esmv_init_code};
-gx_device_escv far_data gs_lp7500_device ={esmv_device_body("lp7500"), devprocs_initialize(esmv_initialize), esmv_init_code};
-gx_device_escv far_data gs_lp7700_device ={esmv_device_body("lp7700"), devprocs_initialize(esmv_initialize), esmv_init_code};
-gx_device_escv far_data gs_lp7900_device ={esmv_device_body("lp7900"), devprocs_initialize(esmv_initialize), esmv_init_code};
-gx_device_escv far_data gs_lp8100_device ={esmv_device_body("lp8100"), devprocs_initialize(esmv_initialize), esmv_init_code};
-gx_device_escv far_data gs_lp8300f_device ={esmv_device_body("lp8300f"), devprocs_initialize(esmv_initialize), esmv_init_code};
-gx_device_escv far_data gs_lp8400f_device ={esmv_device_body("lp8400f"), devprocs_initialize(esmv_initialize), esmv_init_code};
-gx_device_escv far_data gs_lp8600_device ={esmv_device_body("lp8600"), devprocs_initialize(esmv_initialize), esmv_init_code};
-gx_device_escv far_data gs_lp8600f_device ={esmv_device_body("lp8600f"), devprocs_initialize(esmv_initialize), esmv_init_code};
-gx_device_escv far_data gs_lp8700_device ={esmv_device_body("lp8700"), devprocs_initialize(esmv_initialize), esmv_init_code};
-gx_device_escv far_data gs_lp8900_device ={esmv_device_body("lp8900"), devprocs_initialize(esmv_initialize), esmv_init_code};
-gx_device_escv far_data gs_lp9000b_device ={esmv_device_body("lp9000b"), devprocs_initialize(esmv_initialize), esmv_init_code};
-gx_device_escv far_data gs_lp9100_device ={esmv_device_body("lp9100"), devprocs_initialize(esmv_initialize), esmv_init_code};
-gx_device_escv far_data gs_lp9200b_device ={esmv_device_body("lp9200b"), devprocs_initialize(esmv_initialize), esmv_init_code};
-gx_device_escv far_data gs_lp9300_device ={esmv_device_body("lp9300"), devprocs_initialize(esmv_initialize), esmv_init_code};
-gx_device_escv far_data gs_lp9400_device ={esmv_device_body("lp9400"), devprocs_initialize(esmv_initialize), esmv_init_code};
-gx_device_escv far_data gs_lp9600_device ={esmv_device_body("lp9600"), devprocs_initialize(esmv_initialize), esmv_init_code};
-gx_device_escv far_data gs_lp9600s_device ={esmv_device_body("lp9600s"), devprocs_initialize(esmv_initialize), esmv_init_code};
-gx_device_escv far_data gs_lps4500_device ={esmv_device_body("lps4500"), devprocs_initialize(esmv_initialize), esmv_init_code};
-gx_device_escv far_data gs_eplmono_device ={esmv_device_body(ESCPAGE_DEVICENAME_MONO), devprocs_initialize(esmv_initialize), esmv_init_code};
+gx_device_escv far_data gs_epl2050_device = esmv_device_body("epl2050");
+gx_device_escv far_data gs_epl2050p_device= esmv_device_body("epl2050p");
+gx_device_escv far_data gs_epl2120_device = esmv_device_body("epl2120");
+gx_device_escv far_data gs_epl2500_device = esmv_device_body("epl2500");
+gx_device_escv far_data gs_epl2750_device = esmv_device_body("epl2750");
+gx_device_escv far_data gs_epl5800_device = esmv_device_body("epl5800");
+gx_device_escv far_data gs_epl5900_device = esmv_device_body("epl5900");
+gx_device_escv far_data gs_epl6100_device = esmv_device_body("epl6100");
+gx_device_escv far_data gs_epl6200_device = esmv_device_body("epl6200");
+gx_device_escv far_data gs_lp1800_device = esmv_device_body("lp1800");
+gx_device_escv far_data gs_lp1900_device = esmv_device_body("lp1900");
+gx_device_escv far_data gs_lp2200_device = esmv_device_body("lp2200");
+gx_device_escv far_data gs_lp2400_device = esmv_device_body("lp2400");
+gx_device_escv far_data gs_lp2500_device = esmv_device_body("lp2500");
+gx_device_escv far_data gs_lp7500_device = esmv_device_body("lp7500");
+gx_device_escv far_data gs_lp7700_device = esmv_device_body("lp7700");
+gx_device_escv far_data gs_lp7900_device = esmv_device_body("lp7900");
+gx_device_escv far_data gs_lp8100_device = esmv_device_body("lp8100");
+gx_device_escv far_data gs_lp8300f_device = esmv_device_body("lp8300f");
+gx_device_escv far_data gs_lp8400f_device = esmv_device_body("lp8400f");
+gx_device_escv far_data gs_lp8600_device = esmv_device_body("lp8600");
+gx_device_escv far_data gs_lp8600f_device = esmv_device_body("lp8600f");
+gx_device_escv far_data gs_lp8700_device = esmv_device_body("lp8700");
+gx_device_escv far_data gs_lp8900_device = esmv_device_body("lp8900");
+gx_device_escv far_data gs_lp9000b_device = esmv_device_body("lp9000b");
+gx_device_escv far_data gs_lp9100_device = esmv_device_body("lp9100");
+gx_device_escv far_data gs_lp9200b_device = esmv_device_body("lp9200b");
+gx_device_escv far_data gs_lp9300_device = esmv_device_body("lp9300");
+gx_device_escv far_data gs_lp9400_device = esmv_device_body("lp9400");
+gx_device_escv far_data gs_lp9600_device = esmv_device_body("lp9600");
+gx_device_escv far_data gs_lp9600s_device = esmv_device_body("lp9600s");
+gx_device_escv far_data gs_lps4500_device = esmv_device_body("lps4500");
+gx_device_escv far_data gs_eplmono_device = esmv_device_body(ESCPAGE_DEVICENAME_MONO);
/* for ESC/Page-Color */
-gx_device_escv far_data gs_alc1900_device ={escv_device_body("alc1900"), devprocs_initialize(escv_initialize), escv_init_code};
-gx_device_escv far_data gs_alc2000_device ={escv_device_body("alc2000"), devprocs_initialize(escv_initialize), escv_init_code};
-gx_device_escv far_data gs_alc4000_device ={escv_device_body("alc4000"), devprocs_initialize(escv_initialize), escv_init_code};
-gx_device_escv far_data gs_alc4100_device ={escv_device_body("alc4100"), devprocs_initialize(escv_initialize), escv_init_code};
-gx_device_escv far_data gs_alc8500_device ={escv_device_body("alc8500"), devprocs_initialize(escv_initialize), escv_init_code};
-gx_device_escv far_data gs_alc8600_device ={escv_device_body("alc8600"), devprocs_initialize(escv_initialize), escv_init_code};
-gx_device_escv far_data gs_alc9100_device ={escv_device_body("alc9100"), devprocs_initialize(escv_initialize), escv_init_code};
-gx_device_escv far_data gs_lp3000c_device ={escv_device_body("lp3000c"), devprocs_initialize(escv_initialize), escv_init_code};
-gx_device_escv far_data gs_lp8000c_device ={escv_device_body("lp8000c"), devprocs_initialize(escv_initialize), escv_init_code};
-gx_device_escv far_data gs_lp8200c_device ={escv_device_body("lp8200c"), devprocs_initialize(escv_initialize), escv_init_code};
-gx_device_escv far_data gs_lp8300c_device ={escv_device_body("lp8300c"), devprocs_initialize(escv_initialize), escv_init_code};
-gx_device_escv far_data gs_lp8500c_device ={escv_device_body("lp8500c"), devprocs_initialize(escv_initialize), escv_init_code};
-gx_device_escv far_data gs_lp8800c_device ={escv_device_body("lp8800c"), devprocs_initialize(escv_initialize), escv_init_code};
-gx_device_escv far_data gs_lp9000c_device ={escv_device_body("lp9000c"), devprocs_initialize(escv_initialize), escv_init_code};
-gx_device_escv far_data gs_lp9200c_device ={escv_device_body("lp9200c"), devprocs_initialize(escv_initialize), escv_init_code};
-gx_device_escv far_data gs_lp9500c_device ={escv_device_body("lp9500c"), devprocs_initialize(escv_initialize), escv_init_code};
-gx_device_escv far_data gs_lp9800c_device ={escv_device_body("lp9800c"), devprocs_initialize(escv_initialize), escv_init_code};
-gx_device_escv far_data gs_lps6500_device ={escv_device_body("lps6500"), devprocs_initialize(escv_initialize), escv_init_code};
-gx_device_escv far_data gs_eplcolor_device ={escv_device_body(ESCPAGE_DEVICENAME_COLOR), devprocs_initialize(escv_initialize), escv_init_code};
+gx_device_escv far_data gs_alc1900_device = escv_device_body("alc1900");
+gx_device_escv far_data gs_alc2000_device = escv_device_body("alc2000");
+gx_device_escv far_data gs_alc4000_device = escv_device_body("alc4000");
+gx_device_escv far_data gs_alc4100_device = escv_device_body("alc4100");
+gx_device_escv far_data gs_alc8500_device = escv_device_body("alc8500");
+gx_device_escv far_data gs_alc8600_device = escv_device_body("alc8600");
+gx_device_escv far_data gs_alc9100_device = escv_device_body("alc9100");
+gx_device_escv far_data gs_lp3000c_device = escv_device_body("lp3000c");
+gx_device_escv far_data gs_lp8000c_device = escv_device_body("lp8000c");
+gx_device_escv far_data gs_lp8200c_device = escv_device_body("lp8200c");
+gx_device_escv far_data gs_lp8300c_device = escv_device_body("lp8300c");
+gx_device_escv far_data gs_lp8500c_device = escv_device_body("lp8500c");
+gx_device_escv far_data gs_lp8800c_device = escv_device_body("lp8800c");
+gx_device_escv far_data gs_lp9000c_device = escv_device_body("lp9000c");
+gx_device_escv far_data gs_lp9200c_device = escv_device_body("lp9200c");
+gx_device_escv far_data gs_lp9500c_device = escv_device_body("lp9500c");
+gx_device_escv far_data gs_lp9800c_device = escv_device_body("lp9800c");
+gx_device_escv far_data gs_lps6500_device = escv_device_body("lps6500");
+gx_device_escv far_data gs_eplcolor_device= escv_device_body(ESCPAGE_DEVICENAME_COLOR);
/* Vector device implementation */
/* Page management */
diff --git a/contrib/gdevadmp.c b/contrib/gdevadmp.c
index 6648dffeb..840233baf 100644
--- a/contrib/gdevadmp.c
+++ b/contrib/gdevadmp.c
@@ -119,7 +119,7 @@ static dev_proc_print_page(dmp_print_page);
/* Standard DMP device */
const gx_device_printer far_data gs_appledmp_device =
-prn_device(prn_bg_procs, "appledmp", /* The print_page proc is compatible with allowing bg printing */
+prn_device(gdev_prn_initialize_mono_bg, "appledmp", /* The print_page proc is compatible with allowing bg printing */
85, /* width_10ths, 8.5" */
110, /* height_10ths, 11" */
120, 72, /* X_DPI, Y_DPI */
@@ -128,7 +128,7 @@ prn_device(prn_bg_procs, "appledmp", /* The print_page proc is compatible with a
/* lowrez Imagewriter device */
const gx_device_printer far_data gs_iwlo_device =
-prn_device(prn_bg_procs, "iwlo", /* The print_page proc is compatible with allowing bg printing */
+prn_device(gdev_prn_initialize_mono_bg, "iwlo", /* The print_page proc is compatible with allowing bg printing */
85, /* width_10ths, 8.5" */
110, /* height_10ths, 11" */
160, 72, /* X_DPI, Y_DPI */
@@ -137,7 +137,7 @@ prn_device(prn_bg_procs, "iwlo", /* The print_page proc is compatible with allow
/* hirez Imagewriter device */
const gx_device_printer far_data gs_iwhi_device =
-prn_device(prn_bg_procs, "iwhi", /* The print_page proc is compatible with allowing bg printing */
+prn_device(gdev_prn_initialize_mono_bg, "iwhi", /* The print_page proc is compatible with allowing bg printing */
85, /* width_10ths, 8.5" */
110, /* height_10ths, 11" */
160, 144, /* X_DPI, Y_DPI */
@@ -146,7 +146,7 @@ prn_device(prn_bg_procs, "iwhi", /* The print_page proc is compatible with allow
/* LQ hirez Imagewriter device */
const gx_device_printer far_data gs_iwlq_device =
-prn_device(prn_bg_procs, "iwlq", /* The print_page proc is compatible with allowing bg printing */
+prn_device(gdev_prn_initialize_mono_bg, "iwlq", /* The print_page proc is compatible with allowing bg printing */
85, /* width_10ths, 8.5" */
110, /* height_10ths, 11" */
320, 216,
diff --git a/contrib/gdevbjc_.c b/contrib/gdevbjc_.c
index e0ab67ce0..ae02d703a 100644
--- a/contrib/gdevbjc_.c
+++ b/contrib/gdevbjc_.c
@@ -221,16 +221,17 @@ bjcmono_initialize(gx_device *dev)
set_dev_proc(dev, get_params, gdev_bjc_get_params);
set_dev_proc(dev, put_params, gdev_bjc_put_params);
+ set_dev_proc(dev, map_color_rgb, NULL);
+ set_dev_proc(dev, map_rgb_color, NULL);
+ set_dev_proc(dev, encode_color, NULL);
+ set_dev_proc(dev, decode_color, NULL);
return 0;
}
-static const gx_device_procs bjcmono_procs =
-devprocs_initialize(bjcmono_initialize);
-
const gx_device_bjc_printer gs_bjcmono_device =
-bjc_device(bjcmono_procs, "bjcmono",
+bjc_device(bjcmono_initialize, "bjcmono",
DEFAULT_WIDTH_10THS, DEFAULT_HEIGHT_10THS,
X_DPI, Y_DPI,
(float)(3.4 / 25.4), (float)(7.0 / 25.4),
@@ -258,14 +259,17 @@ bjcgray_initialize(gx_device *dev)
set_dev_proc(dev, get_params, gdev_bjc_get_params);
set_dev_proc(dev, put_params, gdev_bjc_put_params);
+ /* The prn macros used in previous versions of the code leave
+ * encode_color and decode_color set to NULL (which are then rewritten
+ * by the system to the default. For compatibility we do the same. */
+ set_dev_proc(dev, encode_color, NULL);
+ set_dev_proc(dev, decode_color, NULL);
+
return 0;
}
-static const gx_device_procs bjcgray_procs =
-devprocs_initialize(bjcgray_initialize);
-
const gx_device_bjc_printer gs_bjcgray_device =
-bjc_device(bjcgray_procs, "bjcgray",
+bjc_device(bjcgray_initialize, "bjcgray",
DEFAULT_WIDTH_10THS, DEFAULT_HEIGHT_10THS,
X_DPI, Y_DPI,
(float)(3.4 / 25.4), (float)(7.0 / 25.4),
@@ -293,14 +297,17 @@ bjccmyk_initialize(gx_device *dev)
set_dev_proc(dev, get_params, gdev_bjc_get_params);
set_dev_proc(dev, put_params, gdev_bjc_put_params);
+ /* The prn macros used in previous versions of the code leave
+ * encode_color and decode_color set to NULL (which are then rewritten
+ * by the system to the default. For compatibility we do the same. */
+ set_dev_proc(dev, encode_color, NULL);
+ set_dev_proc(dev, decode_color, NULL);
+
return 0;
}
-static const gx_device_procs bjc_cmykcolor_procs =
-devprocs_initialize(bjccmyk_initialize);
-
const gx_device_bjc_printer gs_bjccmyk_device =
-bjc_device(bjc_cmykcolor_procs, "bjccmyk",
+bjc_device(bjccmyk_initialize, "bjccmyk",
DEFAULT_WIDTH_10THS, DEFAULT_HEIGHT_10THS,
X_DPI, Y_DPI,
(float)(3.4 / 25.4), (float)(7.0 / 25.4),
@@ -328,14 +335,17 @@ bjc_truecolor_initialize(gx_device *dev)
set_dev_proc(dev, get_params, gdev_bjc_get_params);
set_dev_proc(dev, put_params, gdev_bjc_put_params);
+ /* The prn macros used in previous versions of the code leave
+ * encode_color and decode_color set to NULL (which are then rewritten
+ * by the system to the default. For compatibility we do the same. */
+ set_dev_proc(dev, encode_color, NULL);
+ set_dev_proc(dev, decode_color, NULL);
+
return 0;
}
-static const gx_device_procs bjc_truecolor_procs =
-devprocs_initialize(bjc_truecolor_initialize);
-
const gx_device_bjc_printer gs_bjccolor_device =
-bjc_device(bjc_truecolor_procs, "bjccolor",
+bjc_device(bjc_truecolor_initialize, "bjccolor",
DEFAULT_WIDTH_10THS, DEFAULT_HEIGHT_10THS,
X_DPI, Y_DPI,
(float)(3.4 / 25.4), (float)(7.0 / 25.4),
diff --git a/contrib/gdevbjc_.h b/contrib/gdevbjc_.h
index b40c6fc4f..fb6cfa5ff 100644
--- a/contrib/gdevbjc_.h
+++ b/contrib/gdevbjc_.h
@@ -168,14 +168,6 @@ typedef struct gx_device_bjc_printer_s gx_device_bjc_printer;
bjc_device_margins(procs, dname, w10, h10, xdpi, ydpi,\
lm, tm, lm, bm, rm, tm, ncomp, depth, mg, mc, dg, dc, print_page, def_ink)
-#define bjc_cmyk_param_procs(v_prn_open, v_prn_output_page, v_prn_close, \
- p_map_color_rgb, p_map_cmyk_color, \
- v_prn_get_params, v_prn_put_params)\
- {v_prn_open, NULL, NULL, v_prn_output_page, v_prn_close,\
- NULL, p_map_color_rgb, NULL, NULL, NULL, NULL, NULL, NULL,\
- v_prn_get_params, v_prn_put_params,\
- p_map_cmyk_color, NULL, NULL, NULL, gx_page_device_get_page_device}
-
/* There are the definitions of commands for the Canon BJC printers. */
#define BJC_BJL_CLEANING 0x00 /* "@Cleaning=1\n" */
diff --git a/contrib/gdevcd8.c b/contrib/gdevcd8.c
index f09123027..6b124adfc 100644
--- a/contrib/gdevcd8.c
+++ b/contrib/gdevcd8.c
@@ -783,6 +783,12 @@ cdj670_initialize(gx_device *dev)
set_dev_proc(dev, put_params, cdj850_put_params);
set_dev_proc(dev, map_cmyk_color, gdev_cmyk_map_cmyk_color);
+ /* The static init used in previous versions of the code leaves
+ * encode_color and decode_color set to NULL (which are then rewritten
+ * by the system to the default. For compatibility we do the same. */
+ set_dev_proc(dev, encode_color, NULL);
+ set_dev_proc(dev, decode_color, NULL);
+
return 0;
}
@@ -801,6 +807,12 @@ cdj1600_initialize(gx_device *dev)
set_dev_proc(dev, put_params, cdj850_put_params);
set_dev_proc(dev, map_cmyk_color, NULL);
+ /* The static init used in previous versions of the code leave
+ * encode_color and decode_color set to NULL (which are then rewritten
+ * by the system to the default. For compatibility we do the same. */
+ set_dev_proc(dev, encode_color, NULL);
+ set_dev_proc(dev, decode_color, NULL);
+
return 0;
}
@@ -819,58 +831,45 @@ chp2200_initialize(gx_device *dev)
set_dev_proc(dev, put_params, cdj850_put_params);
set_dev_proc(dev, map_cmyk_color, NULL);
+ /* The static init used in previous versions of the code leave
+ * encode_color and decode_color set to NULL (which are then rewritten
+ * by the system to the default. For compatibility we do the same. */
+ set_dev_proc(dev, encode_color, NULL);
+ set_dev_proc(dev, decode_color, NULL);
+
return 0;
}
-static const gx_device_procs cdj670_procs =
- devprocs_initialize(cdj670_initialize);
-
-static const gx_device_procs cdj850_procs =
- devprocs_initialize(cdj670_initialize);
-
-static const gx_device_procs cdj880_procs =
- devprocs_initialize(cdj670_initialize);
-
-static const gx_device_procs cdj890_procs =
- devprocs_initialize(cdj670_initialize);
-
-static const gx_device_procs cdj1600_procs =
- devprocs_initialize(cdj1600_initialize);
-
-/* HP2200 and DNJ500 is a RGB printer */
-static const gx_device_procs chp2200_procs =
- devprocs_initialize(chp2200_initialize);
-
const gx_device_cdj850 gs_cdj670_device =
-cdj_850_device(cdj670_procs, "cdj670", 600, 600, 32, cdj850_print_page, 0,
+cdj_850_device(cdj670_initialize, "cdj670", 600, 600, 32, cdj850_print_page, 0,
PRESENTATION, PLAIN_PAPER, 2, DJ670C, 9,
1.0, 0.0, 0.0, 0.0, 0.0, 1.0,
cdj850_start_raster_mode, cdj850_print_non_blank_lines,
cdj850_terminate_page);
const gx_device_cdj850 gs_cdj850_device =
-cdj_850_device(cdj850_procs, "cdj850", 600, 600, 32, cdj850_print_page, 0,
+cdj_850_device(cdj670_initialize, "cdj850", 600, 600, 32, cdj850_print_page, 0,
PRESENTATION, PLAIN_PAPER, 4, DJ850C, 9,
1.0, 0.0, 0.0, 0.0, 0.0, 1.0,
cdj850_start_raster_mode, cdj850_print_non_blank_lines,
cdj850_terminate_page);
const gx_device_cdj850 gs_cdj880_device =
-cdj_850_device(cdj880_procs, "cdj880", 600, 600, 32, cdj850_print_page, 0,
+cdj_850_device(cdj670_initialize, "cdj880", 600, 600, 32, cdj850_print_page, 0,
PRESENTATION, PLAIN_PAPER, 4, DJ880C, 2,
1.0, 0.0, 0.0, 0.0, 0.0, 1.0,
cdj880_start_raster_mode, cdj880_print_non_blank_lines,
cdj880_terminate_page);
const gx_device_cdj850 gs_cdj890_device =
-cdj_850_device(cdj890_procs, "cdj890", 600, 600, 32, cdj850_print_page, 0,
+cdj_850_device(cdj670_initialize, "cdj890", 600, 600, 32, cdj850_print_page, 0,
PRESENTATION, PLAIN_PAPER, 4, DJ890C, 9,
1.0, 0.0, 0.0, 0.0, 0.0, 1.0,
cdj850_start_raster_mode, cdj850_print_non_blank_lines,
cdj850_terminate_page);
const gx_device_cdj850 gs_cdj1600_device =
-cdj_1600_device(cdj1600_procs, "cdj1600", 300, 300, 24, cdj850_print_page, 0,
+cdj_1600_device(cdj1600_initialize, "cdj1600", 300, 300, 24, cdj850_print_page, 0,
PRESENTATION, PLAIN_PAPER, 2, DJ1600C, 3,
1.0, 0.0, 0.0, 0.0, 0.0, 1.0,
cdj1600_start_raster_mode, cdj1600_print_non_blank_lines,
@@ -878,7 +877,7 @@ cdj_1600_device(cdj1600_procs, "cdj1600", 300, 300, 24, cdj850_print_page, 0,
/* HP2200 does not need color matching and halftoning parameters */
const gx_device_cdj850 gs_chp2200_device =
-chp_2200_device(chp2200_procs, "chp2200", 300, 300, 24, chp2200_print_page, 0,
+chp_2200_device(chp2200_initialize, "chp2200", 300, 300, 24, chp2200_print_page, 0,
NORMAL, PLAIN_PAPER, 0 /*unused*/, HP2200C, 10,
0.0, 0.0, 0.0, 0.0, 0.0, 0.0, /*all unused*/
chp2200_start_raster_mode, NULL /*unused*/,
@@ -886,7 +885,7 @@ chp_2200_device(chp2200_procs, "chp2200", 300, 300, 24, chp2200_print_page, 0,
/* DNJ500 does not need color matching and halftoning parameters */
const gx_device_cdj850 gs_cdnj500_device =
-chp_2200_device(chp2200_procs, "cdnj500", 300, 300, 24, cdnj500_print_page, 0,
+chp_2200_device(chp2200_initialize, "cdnj500", 300, 300, 24, cdnj500_print_page, 0,
NORMAL, PLAIN_PAPER, 0 /*unused*/, DNJ500C, 10,
0.0, 0.0, 0.0, 0.0, 0.0, 0.0, /*all unused*/
cdnj500_start_raster_mode, NULL /*unused*/,
diff --git a/contrib/gdevdj9.c b/contrib/gdevdj9.c
index 6e18924f0..a7d6ab915 100644
--- a/contrib/gdevdj9.c
+++ b/contrib/gdevdj9.c
@@ -526,6 +526,12 @@ cdj970_initialize(gx_device *dev)
set_dev_proc(dev, put_params, cdj970_put_params);
set_dev_proc(dev, map_cmyk_color, gdev_cmyk_map_cmyk_color);
+ /* The static init used in previous versions of the code leave
+ * encode_color and decode_color set to NULL (which are then rewritten
+ * by the system to the default. For compatibility we do the same. */
+ set_dev_proc(dev, encode_color, NULL);
+ set_dev_proc(dev, decode_color, NULL);
+
return 0;
}
@@ -542,11 +548,8 @@ cdj970_print_non_blank_lines(gx_device_printer * pdev,
static void
cdj970_terminate_page(gx_device_printer * pdev, gp_file * prn_stream);
-static const gx_device_procs cdj970_procs =
- devprocs_initialize(cdj970_initialize);
-
const gx_device_cdj970 gs_cdj970_device =
-cdj_970_device(cdj970_procs, "cdj970", 600, 600, 32, cdj970_print_page, 0,
+cdj_970_device(cdj970_initialize, "cdj970", 600, 600, 32, cdj970_print_page, 0,
NORMAL, PLAIN_PAPER, NONE, 4, DJ970C, 2,
1.0, 0.0, 0.0, 0.0, 0.0, 1.0,
cdj970_start_raster_mode, cdj970_print_non_blank_lines,
diff --git a/contrib/gdevgdi.c b/contrib/gdevgdi.c
index 7028bec78..ee30abf48 100644
--- a/contrib/gdevgdi.c
+++ b/contrib/gdevgdi.c
@@ -108,11 +108,8 @@ gdi_initialize(gx_device *dev)
return 0;
}
-static gx_device_procs prn_gdi_procs =
- devprocs_initialize(gdi_initialize);
-
gx_device_printer far_data gs_gdi_device =
- prn_device(prn_gdi_procs, "gdi",
+ prn_device(gdi_initialize, "gdi",
DEFAULT_WIDTH_10THS, DEFAULT_HEIGHT_10THS, /* paper size (unit : 10/72 inch size) */
X_DPI2, Y_DPI2,
0.20, 0.25, 0.25, 0.25, /* margins filled in by gdi_open */
@@ -120,7 +117,7 @@ gx_device_printer far_data gs_gdi_device =
gdi_print_page);
gx_device_printer far_data gs_samsunggdi_device =
- prn_device(prn_gdi_procs, "samsunggdi",
+ prn_device(gdi_initialize, "samsunggdi",
DEFAULT_WIDTH_10THS, DEFAULT_HEIGHT_10THS, /* paper size (unit : 10/72 inch size) */
X_DPI2, Y_DPI2,
0.20, 0.25, 0.25, 0.25, /* margins filled in by gdi_open */
diff --git a/contrib/gdevhl12.c b/contrib/gdevhl12.c
index 46b4aae0d..3cf4272c5 100644
--- a/contrib/gdevhl12.c
+++ b/contrib/gdevhl12.c
@@ -175,11 +175,8 @@ hl1250_initialize(gx_device *dev)
return 0;
}
-static const gx_device_procs prn_hl1250_procs =
- devprocs_initialize(hl1250_initialize);
-
#define hl1250_device_copies(dname, xdpi, ydpi)\
-{ prn_device_std_body_copies(gx_device_hl1250, prn_hl1250_procs,\
+{ prn_device_std_body_copies(gx_device_hl1250, hl1250_initialize,\
dname,\
DEFAULT_WIDTH_10THS, DEFAULT_HEIGHT_10THS,\
xdpi, ydpi,\
diff --git a/contrib/gdevln03.c b/contrib/gdevln03.c
index 29580b112..f569a695f 100644
--- a/contrib/gdevln03.c
+++ b/contrib/gdevln03.c
@@ -64,16 +64,13 @@ sixel_initialize(gx_device *dev)
return 0;
}
-static gx_device_procs sixel_procs =
- devprocs_initialize(sixel_initialize);
-
#ifdef A4
# define BOTTOM_MARGIN 0.5
#else
# define BOTTOM_MARGIN 0.4
#endif
gx_device_printer gs_ln03_device =
- prn_device(sixel_procs, "ln03",
+ prn_device(sixel_initialize, "ln03",
DEFAULT_WIDTH_10THS, DEFAULT_HEIGHT_10THS,
300, 300, /* x_dpi, y_dpi */
0, BOTTOM_MARGIN, 0, 0, /* left, bottom, right, top margin */
@@ -110,7 +107,7 @@ ln03_print_page(gx_device_printer *pdev, gp_file *prn_stream)
*/
static dev_proc_print_page(dl2100_print_page);
gx_device_printer gs_dl2100_device =
- prn_device(sixel_procs, "dl2100",
+ prn_device(sixel_initialize, "dl2100",
DEFAULT_WIDTH_10THS, DEFAULT_HEIGHT_10THS,
300, 300, /* x_dpi, y_dpi */
0, 0, 0, 0, /* left, bottom, right, top margin */
@@ -135,7 +132,7 @@ dl2100_print_page(gx_device_printer *pdev, gp_file *prn_stream)
*/
static dev_proc_print_page(la50_print_page);
gx_device_printer gs_la50_device =
- prn_device(sixel_procs, "la50",
+ prn_device(sixel_initialize, "la50",
85,
110,
144, 72,
@@ -162,7 +159,7 @@ la50_print_page(gx_device_printer *pdev, gp_file *prn_stream)
*/
static dev_proc_print_page(la70_print_page);
gx_device_printer gs_la70_device =
- prn_device(sixel_procs, "la70",
+ prn_device(sixel_initialize, "la70",
85,
110,
144, 144,
@@ -188,7 +185,7 @@ la70_print_page(gx_device_printer *pdev, gp_file *prn_stream)
*/
static dev_proc_print_page(la75_print_page);
gx_device_printer gs_la75_device =
- prn_device(sixel_procs, "la75",
+ prn_device(sixel_initialize, "la75",
85,
110,
144, 72,
@@ -215,7 +212,7 @@ la75_print_page(gx_device_printer *pdev, gp_file *prn_stream)
*/
static dev_proc_print_page(la75plus_print_page);
gx_device_printer gs_la75plus_device =
- prn_device(sixel_procs, "la75plus",
+ prn_device(sixel_initialize, "la75plus",
85,
110,
180, 180,
@@ -249,7 +246,7 @@ la75plus_print_page(gx_device_printer *pdev, gp_file *prn_stream)
*/
static dev_proc_print_page(sxlcrt_print_page);
gx_device_printer gs_sxlcrt_device =
- prn_device(sixel_procs,
+ prn_device(sixel_initialize,
"sxlcrt",
180,
110,
diff --git a/contrib/gdevlx32.c b/contrib/gdevlx32.c
index fe2076cb8..12ff12532 100644
--- a/contrib/gdevlx32.c
+++ b/contrib/gdevlx32.c
@@ -271,12 +271,15 @@ lxm3200_initialize(gx_device *dev)
set_dev_proc(dev, get_params, lxm3200_get_params);
set_dev_proc(dev, put_params, lxm3200_put_params);
+ /* The static init used in previous versions of the code leave
+ * encode_color and decode_color set to NULL (which are then rewritten
+ * by the system to the default. For compatibility we do the same. */
+ set_dev_proc(dev, encode_color, NULL);
+ set_dev_proc(dev, decode_color, NULL);
+
return 0;
}
-static gx_device_procs lxm3200_procs =
- devprocs_initialize(lxm3200_initialize);
-
/* Define an extension (subclass) of gx_device_printer. */
struct lxm_device_s
{
@@ -323,7 +326,7 @@ struct lxm_device_s
lxm_device far_data gs_lxm3200_device =
{
prn_device_body(lxm_device,
- lxm3200_procs,
+ lxm3200_initialize,
"lxm3200",
DEFAULT_WIDTH_10THS,
DEFAULT_HEIGHT_10THS,
diff --git a/contrib/gdevlx7.c b/contrib/gdevlx7.c
index 56b232577..7412244e3 100644
--- a/contrib/gdevlx7.c
+++ b/contrib/gdevlx7.c
@@ -121,9 +121,6 @@ lxm7000m_initialize(gx_device *dev)
return 0;
}
-static const gx_device_procs lxm7000m_procs =
- devprocs_initialize(lxm7000m_initialize);
-
/* The device descriptors */
/* define a subclass with useful state in it. */
@@ -153,7 +150,7 @@ typedef struct lxm_device_s { /* a sub-class of gx_device_printer */
#define LXR_1200 2
lxm_device far_data gs_lex7000_device = {
- prn_device_std_body(lxm_device, lxm7000m_procs, "lex7000",
+ prn_device_std_body(lxm_device, lxm7000m_initialize, "lex7000",
DEFAULT_WIDTH_10THS, DEFAULT_HEIGHT_10THS,
/* total width & height in 10x " - A4 or letter compiled in.
* may be overriden by -sPAPERSIZE=a4 of -sPAPERSIZE=letter
@@ -176,7 +173,7 @@ lxm_device far_data gs_lex7000_device = {
};
lxm_device far_data gs_lex5700_device = {
- prn_device_std_body(lxm_device, lxm7000m_procs, "lex5700",
+ prn_device_std_body(lxm_device, lxm7000m_initialize, "lex5700",
DEFAULT_WIDTH_10THS, DEFAULT_HEIGHT_10THS,
/* total width & height in 10x " - A4 or letter compiled in.
* may be overriden by -sPAPERSIZE=a4 of -sPAPERSIZE=letter
@@ -199,7 +196,7 @@ lxm_device far_data gs_lex5700_device = {
};
lxm_device far_data gs_lex3200_device = {
- prn_device_std_body(lxm_device, lxm7000m_procs, "lex3200",
+ prn_device_std_body(lxm_device, lxm7000m_initialize, "lex3200",
DEFAULT_WIDTH_10THS, DEFAULT_HEIGHT_10THS,
/* total width & height in 10x " - A4 or letter compiled in.
* may be overriden by -sPAPERSIZE=a4 of -sPAPERSIZE=letter
@@ -222,7 +219,7 @@ lxm_device far_data gs_lex3200_device = {
};
lxm_device far_data gs_lex2050_device = {
- prn_device_std_body(lxm_device, lxm7000m_procs, "lex2050",
+ prn_device_std_body(lxm_device, lxm7000m_initialize, "lex2050",
DEFAULT_WIDTH_10THS, DEFAULT_HEIGHT_10THS,
/* total width & height in 10x " - A4 or letter compiled in.
* may be overriden by -sPAPERSIZE=a4 of -sPAPERSIZE=letter
diff --git a/contrib/gdevmd2k.c b/contrib/gdevmd2k.c
index 5b8d9fe24..0f1c2123f 100644
--- a/contrib/gdevmd2k.c
+++ b/contrib/gdevmd2k.c
@@ -78,15 +78,18 @@ alps_initialize(gx_device *dev)
set_dev_proc(dev, put_params, alps_put_params);
set_dev_proc(dev, map_cmyk_color, alps_map_cmyk_color);
+ /* The static init used in previous versions of the code leave
+ * encode_color and decode_color set to NULL (which are then rewritten
+ * by the system to the default. For compatibility we do the same. */
+ set_dev_proc(dev, encode_color, NULL);
+ set_dev_proc(dev, decode_color, NULL);
+
return 0;
}
-static gx_device_procs alps_procs =
- devprocs_initialize(alps_initialize);
-
#define alps_device(dname, print_page) \
{\
- prn_device_body(gx_device_alps, alps_procs, dname,\
+ prn_device_body(gx_device_alps, alps_initialize, dname,\
DEFAULT_WIDTH_10THS, DEFAULT_HEIGHT_10THS,\
600, 600,\
0, 0, 0, 0, /* margin */\
diff --git a/contrib/gdevop4w.c b/contrib/gdevop4w.c
index 6d34df6ab..d6e3d7966 100644
--- a/contrib/gdevop4w.c
+++ b/contrib/gdevop4w.c
@@ -108,11 +108,8 @@ oki4w_initialize(gx_device *dev)
return 0;
}
-static gx_device_procs prn_hp_procs =
- devprocs_initialize(oki4w_initialize);
-
gx_device_printer far_data gs_oki4w_device =
- prn_device(prn_hp_procs, "oki4w",
+ prn_device(oki4w_initialize, "oki4w",
DEFAULT_WIDTH_10THS, DEFAULT_HEIGHT_10THS,
X_DPI, Y_DPI,
0, 0, 0, 0, /* margins filled in by oki4w_open */
diff --git a/contrib/gdevxes.c b/contrib/gdevxes.c
index 025f927d7..cbe85d82e 100644
--- a/contrib/gdevxes.c
+++ b/contrib/gdevxes.c
@@ -63,9 +63,6 @@ sixel_initialize(gx_device *dev)
}
-static gx_device_procs xes_procs =
- devprocs_initialize(sixel_initialize);
-
#ifdef A4
# define BOTTOM_MARGIN 0.5
# define PAGE_LENGTH_PELS 3300
@@ -75,7 +72,7 @@ static gx_device_procs xes_procs =
#endif
gx_device_printer gs_xes_device =
- prn_device(xes_procs, "xes",
+ prn_device(sixel_initialize, "xes",
DEFAULT_WIDTH_10THS, DEFAULT_HEIGHT_10THS,
300, 300, /* x_dpi, y_dpi */
0, BOTTOM_MARGIN, 0, 0, /* left, bottom, right, top margin */
diff --git a/contrib/japanese/gdev10v.c b/contrib/japanese/gdev10v.c
index d429c005e..6f341f43d 100644
--- a/contrib/japanese/gdev10v.c
+++ b/contrib/japanese/gdev10v.c
@@ -37,36 +37,8 @@ copies. */
No checking on resolutions are being made.
*/
-#if 0
-#define prn_matrix_procs(p_open, p_get_initial_matrix, p_output_page, p_close) {\
- p_open,\
- p_get_initial_matrix,\
- NULL, /* sync_output */\
- p_output_page,\
- p_close,\
- gdev_prn_map_rgb_color,\
- gdev_prn_map_color_rgb,\
- NULL, /* fill_rectangle */\
- NULL, /* tile_rectangle */\
- NULL, /* copy_mono */\
- NULL, /* copy_color */\
- NULL, /* draw_line */\
- NULL, /* get_bits */\
- gdev_prn_get_params,\
- gdev_prn_put_params,\
- NULL, /* map_cmyk_color */\
- NULL, /* get_xfont_procs */\
- NULL, /* get_xfont_device */\
- NULL, /* map_rgb_alpha_color */\
- gx_page_device_get_page_device\
-}
-#endif
-
/* The device descriptor */
static dev_proc_print_page(bj10v_print_page);
-#if 0
-static dev_proc_get_initial_matrix(bj10v_get_initial_matrix);
-#endif
static int
bj10v_open(gx_device * pdev)
@@ -82,10 +54,27 @@ bj10v_open(gx_device * pdev)
#if 0
-gx_device_procs prn_bj10v_procs =
- prn_matrix_procs(gdev_prn_open, bj10v_get_initial_matrix,
- gdev_prn_output_page, gdev_prn_close);
-#endif
+/* Shift the origin from the top left corner of the pysical page to the
+ first printable pixel, as defined by the top and left margins. */
+static void
+bj10v_get_initial_matrix(gx_device *dev, gs_matrix *pmat)
+{ gx_default_get_initial_matrix(dev, pmat);
+ pmat->tx -= dev_l_margin(dev) * dev->x_pixels_per_inch;
+ pmat->ty -= dev_t_margin(dev) * dev->y_pixels_per_inch;
+}
+
+static int
+bj10v_initialize(gx_device *dev)
+{
+ int code = gdev_prn_initialize_mono(dev);
+
+ set_dev_proc(dev, get_initial_matrix, bj10v_get_initial_matrix);
+
+ return 0;
+}
+
+#else
+
static int
bj10v_initialize(gx_device *dev)
{
@@ -99,11 +88,10 @@ bj10v_initialize(gx_device *dev)
return 0;
}
-gx_device_procs prn_bj10v_procs =
- devprocs_initialize(bj10v_initialize);
+#endif
gx_device_printer gs_bj10v_device =
- prn_device(prn_bj10v_procs, "bj10v",
+ prn_device(bj10v_initialize, "bj10v",
DEFAULT_WIDTH_10THS, /* width_10ths */
DEFAULT_HEIGHT_10THS, /* height_10ths */
360, /* x_dpi */
@@ -112,7 +100,7 @@ gx_device_printer gs_bj10v_device =
1, bj10v_print_page);
gx_device_printer gs_bj10vh_device =
- prn_device(prn_bj10v_procs, "bj10vh",
+ prn_device(bj10v_initialize, "bj10vh",
DEFAULT_WIDTH_10THS, /* width_10ths */
DEFAULT_HEIGHT_10THS, /* height_10ths */
360, /* x_dpi */
@@ -120,19 +108,6 @@ gx_device_printer gs_bj10vh_device =
0.134, 0.507, 0.166, 0.335, /* l, b, r, t margins */
1, bj10v_print_page);
-/* ------ Internal routines ------ */
-
-#if 0
-/* Shift the origin from the top left corner of the pysical page to the
- first printable pixel, as defined by the top and left margins. */
-static void
-bj10v_get_initial_matrix(gx_device *dev, gs_matrix *pmat)
-{ gx_default_get_initial_matrix(dev, pmat);
- pmat->tx -= dev_l_margin(dev) * dev->x_pixels_per_inch;
- pmat->ty -= dev_t_margin(dev) * dev->y_pixels_per_inch;
-}
-#endif
-
/* ---- Printer output routines ---- */
/* Note: Following code is stolen from gdevp201.c. On NEC PC9801 series,
diff --git a/contrib/japanese/gdevalps.c b/contrib/japanese/gdevalps.c
index badad8106..0af77999b 100644
--- a/contrib/japanese/gdevalps.c
+++ b/contrib/japanese/gdevalps.c
@@ -70,11 +70,8 @@ md_initialize(gx_device *dev)
return 0;
}
-static gx_device_procs prn_md_procs =
- devprocs_initialize(md_initialize);
-
gx_device_printer far_data gs_md50Mono_device =
- prn_device(prn_md_procs, "md50Mono",
+ prn_device(md_initialize, "md50Mono",
DEFAULT_WIDTH_10THS,
DEFAULT_HEIGHT_10THS,
600, /* x_dpi */
@@ -83,7 +80,7 @@ gx_device_printer far_data gs_md50Mono_device =
1, md50m_print_page);
gx_device_printer far_data gs_md50Eco_device =
- prn_device(prn_md_procs, "md50Eco",
+ prn_device(md_initialize, "md50Eco",
DEFAULT_WIDTH_10THS,
DEFAULT_HEIGHT_10THS,
600, /* x_dpi */
@@ -92,7 +89,7 @@ gx_device_printer far_data gs_md50Eco_device =
1, md50e_print_page);
gx_device_printer far_data gs_md1xMono_device =
- prn_device(prn_md_procs, "md1xMono",
+ prn_device(md_initialize, "md1xMono",
DEFAULT_WIDTH_10THS,
DEFAULT_HEIGHT_10THS,
600, /* x_dpi */
diff --git a/contrib/japanese/gdevespg.c b/contrib/japanese/gdevespg.c
index cc677a9a2..e312e3669 100644
--- a/contrib/japanese/gdevespg.c
+++ b/contrib/japanese/gdevespg.c
@@ -57,9 +57,6 @@ lp2000_initialize(gx_device *dev)
return code;
}
-static gx_device_procs lp2000_prn_procs =
- devprocs_initialize(lp2000_initialize);
-
static int
escpage_initialize(gx_device *dev)
{
@@ -76,16 +73,13 @@ escpage_initialize(gx_device *dev)
return code;
}
-static gx_device_procs escpage_prn_procs =
- devprocs_initialize(escpage_initialize);
-
gx_device_lprn far_data gs_lp2000_device =
-lprn_device(gx_device_lprn, lp2000_prn_procs, "lp2000",
+lprn_device(gx_device_lprn, lp2000_initialize, "lp2000",
DPI, DPI, 0.0, 0.0, 0.0, 0.0, 1,
lp2000_print_page_copies, escpage_image_out);
gx_device_lprn far_data gs_escpage_device =
-lprn_duplex_device(gx_device_lprn, escpage_prn_procs, "escpage",
+lprn_duplex_device(gx_device_lprn, escpage_initialize, "escpage",
DPI, DPI, 0.0, 0.0, 0.0, 0.0, 1,
escpage_print_page_copies, escpage_image_out);
diff --git a/contrib/japanese/gdevfmlbp.c b/contrib/japanese/gdevfmlbp.c
index 21d3b60bc..568f3c304 100644
--- a/contrib/japanese/gdevfmlbp.c
+++ b/contrib/japanese/gdevfmlbp.c
@@ -41,13 +41,6 @@ copies. */
/* The device descriptors */
static dev_proc_print_page(fmlbp_print_page);
-#ifdef FMLBP_NOADJUST_MARGIN
-#define PRNFML_INIT gdev_prn_initialize
-#else
-/* Adjust margin for ghostscript 2.6.1 */
-#define PRNFML_INIT fmlbp_initialize
-static dev_proc_get_initial_matrix(fmlbp_get_initial_matrix);
-
static int fmlbp_initialize(gx_device *dev)
{
int code = gdev_prn_initialize_mono(dev);
@@ -55,11 +48,18 @@ static int fmlbp_initialize(gx_device *dev)
if (code < 0)
return code;
- set_dev_proc(dev, get_initial_matrix, fmlbp_get_initial_matrix);
+ set_dev_proc(dev, encode_color, NULL);
+ set_dev_proc(dev, decode_color, NULL);
return 0;
}
+#ifdef FMLBP_NOADJUST_MARGIN
+#define PRNFML_INIT fmlbp_initialize
+#else
+/* Adjust margin for ghostscript 2.6.1 */
+#define PRNFML_INIT fmlbp_initialize_with_matrix
+
/* Shift the origin from the top left corner of the pysical page to the
first printable pixel, as defined by the top and left margins. */
/* modified from gdevsppr.c. */
@@ -69,6 +69,18 @@ fmlbp_get_initial_matrix(gx_device *dev, gs_matrix *pmat)
pmat->tx -= (dev->l_margin * dev->x_pixels_per_inch);
pmat->ty -= (dev->t_margin * dev->y_pixels_per_inch);
}
+
+static int fmlbp_initialize_with_matrix(gx_device *dev)
+{
+ int code = fmlbp_initialize(dev);
+
+ if (code < 0)
+ return code;
+
+ set_dev_proc(dev, get_initial_matrix, fmlbp_get_initial_matrix);
+
+ return 0;
+}
#endif/*FMLBP_NOADJUST_MARGIN*/
gx_device_printer gs_fmlbp_device =
diff --git a/contrib/japanese/gdevfmpr.c b/contrib/japanese/gdevfmpr.c
index cd34d4fd0..b134926de 100644
--- a/contrib/japanese/gdevfmpr.c
+++ b/contrib/japanese/gdevfmpr.c
@@ -30,7 +30,7 @@ static dev_proc_print_page(fmpr_print_page);
/* The device descriptor */
gx_device_printer gs_fmpr_device =
- prn_device(prn_std_procs, "fmpr",
+ prn_device(gdev_prn_initialize_mono, "fmpr",
DEFAULT_WIDTH_10THS,
DEFAULT_HEIGHT_10THS,
180, /* x_dpi */
diff --git a/contrib/japanese/gdevj100.c b/contrib/japanese/gdevj100.c
index f8a701794..6582cf33c 100644
--- a/contrib/japanese/gdevj100.c
+++ b/contrib/japanese/gdevj100.c
@@ -29,7 +29,7 @@ static dev_proc_print_page(jj100_print_page);
/* The device descriptor */
gx_device_printer gs_jj100_device =
- prn_device(prn_std_procs, "jj100",
+ prn_device(gdev_prn_initialize_mono, "jj100",
82, /* width_10ths, 8.2" = 210mm(A4) */
115 /*113, 117*/, /* height_10ths, 11.7" = 297mm(A4) */
360, /* x_dpi */
diff --git a/contrib/japanese/gdevlbp3.c b/contrib/japanese/gdevlbp3.c
index 8cbc2ce8b..ade84b210 100644
--- a/contrib/japanese/gdevlbp3.c
+++ b/contrib/japanese/gdevlbp3.c
@@ -15,7 +15,7 @@ static dev_proc_print_page(lbp310PrintPage);
static dev_proc_print_page(lbp320PrintPage);
gx_device_printer far_data gs_lbp310_device =
- prn_device(prn_std_procs,
+ prn_device(gdev_prn_initialize_mono,
"lbp310",
DEFAULT_WIDTH_10THS,
DEFAULT_HEIGHT_10THS,
@@ -27,7 +27,7 @@ gx_device_printer far_data gs_lbp310_device =
1, lbp310PrintPage);
gx_device_printer far_data gs_lbp320_device =
- prn_device(prn_std_procs,
+ prn_device(gdev_prn_initialize_mono,
"lbp320",
DEFAULT_WIDTH_10THS,
DEFAULT_HEIGHT_10THS,
diff --git a/contrib/japanese/gdevmjc.c b/contrib/japanese/gdevmjc.c
index 5cb33cd04..423e2de6f 100644
--- a/contrib/japanese/gdevmjc.c
+++ b/contrib/japanese/gdevmjc.c
@@ -239,9 +239,6 @@ mj700v2c_initialize(gx_device *dev)
return 0;
}
-static gx_device_procs mj700v2c_procs =
- devprocs_initialize(mj700v2c_initialize);
-
static int
mj500c_initialize(gx_device *dev)
{
@@ -256,9 +253,6 @@ mj500c_initialize(gx_device *dev)
return 0;
}
-static gx_device_procs mj500c_procs =
- devprocs_initialize(mj500c_initialize);
-
static int
mj6000c_initialize(gx_device *dev)
{
@@ -273,9 +267,6 @@ mj6000c_initialize(gx_device *dev)
return 0;
}
-static gx_device_procs mj6000c_procs =
- devprocs_initialize(mj6000c_initialize);
-
static int
mj8000c_initialize(gx_device *dev)
{
@@ -290,23 +281,20 @@ mj8000c_initialize(gx_device *dev)
return 0;
}
-static gx_device_procs mj8000c_procs =
- devprocs_initialize(mj8000c_initialize);
-
gx_device_mj far_data gs_mj700v2c_device =
-mjcmyk_device(mj700v2c_procs, "mj700v2c", 360, 360, BITSPERPIXEL,
+mjcmyk_device(mj700v2c_initialize, "mj700v2c", 360, 360, BITSPERPIXEL,
mj700v2c_print_page, 1024, 1024, 1024, 1024, 1024, 0, 1, 1);
gx_device_mj far_data gs_mj500c_device =
-mjcmy_device(mj500c_procs, "mj500c", 360, 360, BITSPERPIXEL,
+mjcmy_device(mj500c_initialize, "mj500c", 360, 360, BITSPERPIXEL,
mj500c_print_page, 1024, 1024, 1024, 1024, 1024, 0, 1, 1);
gx_device_mj far_data gs_mj6000c_device =
-mjcmyk_device(mj6000c_procs, "mj6000c", 360, 360, BITSPERPIXEL,
+mjcmyk_device(mj6000c_initialize, "mj6000c", 360, 360, BITSPERPIXEL,
mj6000c_print_page, 1024, 1024, 1024, 1024, 1024, 0, 1, 1);
gx_device_mj far_data gs_mj8000c_device =
-mjcmyk_device(mj8000c_procs, "mj8000c", 360, 360, BITSPERPIXEL,
+mjcmyk_device(mj8000c_initialize, "mj8000c", 360, 360, BITSPERPIXEL,
mj8000c_print_page, 1024, 1024, 1024, 1024, 1024, 0, 1, 1);
/* Get the paper size code, based on width and height. */
diff --git a/contrib/japanese/gdevml6.c b/contrib/japanese/gdevml6.c
index 60ab151fd..6aff86ae5 100644
--- a/contrib/japanese/gdevml6.c
+++ b/contrib/japanese/gdevml6.c
@@ -46,11 +46,8 @@ ml600_initialize(gx_device *dev)
return code;
}
-static gx_device_procs ml600_procs =
- devprocs_initialize(ml600_initialize);
-
gx_device_printer gs_ml600_device =
- prn_device(ml600_procs, "ml600",
+ prn_device(ml600_initialize, "ml600",
83, /* width_10ths, 8.3" */
117, /* height_10ths, 11.7" */
600, 600,
diff --git a/contrib/japanese/gdevnpdl.c b/contrib/japanese/gdevnpdl.c
index 98432b4fb..590510624 100644
--- a/contrib/japanese/gdevnpdl.c
+++ b/contrib/japanese/gdevnpdl.c
@@ -134,11 +134,8 @@ npdl_initialize(gx_device *dev)
return code;
}
-static gx_device_procs npdl_prn_procs =
- devprocs_initialize(npdl_initialize);
-
gx_device_lprn far_data gs_npdl_device =
-lprn_duplex_device(gx_device_lprn, npdl_prn_procs, "npdl",
+lprn_duplex_device(gx_device_lprn, npdl_initialize, "npdl",
X_DPI, Y_DPI, /* default resolution */
0.0, 0.0, 0.0, 0.0, /* margins */
1, npdl_print_page_copies, npdl_image_out);
diff --git a/contrib/japanese/gdevp201.c b/contrib/japanese/gdevp201.c
index c070679f3..dc8b368e3 100644
--- a/contrib/japanese/gdevp201.c
+++ b/contrib/japanese/gdevp201.c
@@ -41,7 +41,7 @@ static dev_proc_print_page(pr201_print_page);
/* The device descriptor */
gx_device_printer gs_pr201_device =
- prn_device(prn_std_procs, "pr201",
+ prn_device(gdev_prn_initialize_mono, "pr201",
WIDTH,
HEIGHT,
160,
@@ -50,7 +50,7 @@ gx_device_printer gs_pr201_device =
1, pr201_print_page);
gx_device_printer gs_pr1000_device =
- prn_device(prn_std_procs, "pr1000",
+ prn_device(gdev_prn_initialize_mono, "pr1000",
WIDTH,
HEIGHT,
240,
@@ -59,7 +59,7 @@ gx_device_printer gs_pr1000_device =
1, pr201_print_page);
gx_device_printer gs_pr150_device =
- prn_device(prn_std_procs, "pr150",
+ prn_device(gdev_prn_initialize_mono, "pr150",
WIDTH,
HEIGHT,
320,
@@ -68,7 +68,7 @@ gx_device_printer gs_pr150_device =
1, pr201_print_page);
gx_device_printer gs_pr1000_4_device =
- prn_device(prn_std_procs, "pr1000_4",
+ prn_device(gdev_prn_initialize, "pr1000_4",
WIDTH,
HEIGHT,
400,
diff --git a/contrib/japanese/gdevrpdl.c b/contrib/japanese/gdevrpdl.c
index 69c2b644c..05a83c600 100644
--- a/contrib/japanese/gdevrpdl.c
+++ b/contrib/japanese/gdevrpdl.c
@@ -50,11 +50,8 @@ rpdl_initialize(gx_device *dev)
return code;
}
-static gx_device_procs rpdl_prn_procs =
- devprocs_initialize(rpdl_initialize);
-
gx_device_lprn far_data gs_rpdl_device =
-lprn_device(gx_device_lprn, rpdl_prn_procs, "rpdl",
+lprn_device(gx_device_lprn, rpdl_initialize, "rpdl",
DPI, DPI, 0.0, 0.0, 0.0, 0.0, 1,
rpdl_print_page_copies, rpdl_image_out);
diff --git a/contrib/lips4/gdevl4r.c b/contrib/lips4/gdevl4r.c
index 3f077f486..e679791c9 100644
--- a/contrib/lips4/gdevl4r.c
+++ b/contrib/lips4/gdevl4r.c
@@ -163,20 +163,8 @@ lips4_initialize(gx_device *dev)
return 0;
};
-static gx_device_procs lips2p_prn_procs =
- devprocs_initialize(lips2p_initialize);
-
-static gx_device_procs lips3_prn_procs =
- devprocs_initialize(lips3_initialize);
-
-static gx_device_procs bjc880j_prn_color_procs =
- devprocs_initialize(bjc880j_initialize);
-
-static gx_device_procs lips4_prn_procs =
- devprocs_initialize(lips4_initialize);
-
gx_device_lips far_data gs_lips2p_device =
-lips_device(gx_device_lips, lips2p_prn_procs, "lips2p",
+lips_device(gx_device_lips, lips2p_initialize, "lips2p",
LIPS2P_DPI_DEFAULT,
LIPS2P_DPI_DEFAULT,
LIPS2P_LEFT_MARGIN_DEFAULT,
@@ -188,7 +176,7 @@ lips_device(gx_device_lips, lips2p_prn_procs, "lips2p",
LIPS_USERNAME_DEFAULT);
gx_device_lips far_data gs_lips3_device =
-lips_device(gx_device_lips, lips3_prn_procs, "lips3",
+lips_device(gx_device_lips, lips3_initialize, "lips3",
LIPS3_DPI_DEFAULT,
LIPS3_DPI_DEFAULT,
LIPS3_LEFT_MARGIN_DEFAULT,
@@ -200,7 +188,7 @@ lips_device(gx_device_lips, lips3_prn_procs, "lips3",
LIPS_USERNAME_DEFAULT);
gx_device_lips4 far_data gs_bjc880j_device =
-lips4_device(gx_device_lips4, bjc880j_prn_color_procs, "bjc880j",
+lips4_device(gx_device_lips4, bjc880j_initialize, "bjc880j",
BJC880J_DPI_DEFAULT,
BJC880J_DPI_DEFAULT,
BJC880J_LEFT_MARGIN_DEFAULT,
@@ -212,7 +200,7 @@ lips4_device(gx_device_lips4, bjc880j_prn_color_procs, "bjc880j",
LIPS_USERNAME_DEFAULT);
gx_device_lips4 far_data gs_lips4_device =
-lips4_device(gx_device_lips4, lips4_prn_procs, "lips4",
+lips4_device(gx_device_lips4, lips4_initialize, "lips4",
LIPS4_DPI_DEFAULT,
LIPS4_DPI_DEFAULT,
LIPS4_LEFT_MARGIN_DEFAULT,
diff --git a/contrib/lips4/gdevl4v.c b/contrib/lips4/gdevl4v.c
index cc7f5ae3a..b2ce2d6c0 100644
--- a/contrib/lips4/gdevl4v.c
+++ b/contrib/lips4/gdevl4v.c
@@ -145,7 +145,7 @@ gs_public_st_suffix_add0_final(st_device_lips4v, gx_device_lips4v,
std_device_part3_()
#define lips4v_device_body\
- lips_device_full_body(gx_device_lips4v, 0, "lips4v",\
+ lips_device_full_body(gx_device_lips4v, lips4v_initialize, "lips4v",\
&st_device_lips4v,\
DEFAULT_WIDTH_10THS * X_DPI / 10,\
DEFAULT_HEIGHT_10THS * Y_DPI / 10,\
@@ -184,7 +184,7 @@ lips4v_initialize(gx_device *dev)
gx_device_lips4v far_data gs_lips4v_device = {
lips4v_device_body,
- devprocs_initialize(lips4v_initialize),
+ { 0 },
vector_initial_values,
LIPS_CASSETFEED_DEFAULT,
LIPS_USERNAME_DEFAULT,
diff --git a/contrib/opvp/gdevopvp.c b/contrib/opvp/gdevopvp.c
index caade19fd..439bdd704 100644
--- a/contrib/opvp/gdevopvp.c
+++ b/contrib/opvp/gdevopvp.c
@@ -323,6 +323,12 @@ opvp_initialize(gx_device *dev)
set_dev_proc(dev, fill_triangle, gdev_vector_fill_triangle);
set_dev_proc(dev, begin_image, opvp_begin_image);
+ /* The static init used in previous versions of the code leave
+ * encode_color and decode_color set to NULL (which are then rewritten
+ * by the system to the default. For compatibility we do the same. */
+ set_dev_proc(dev, encode_color, NULL);
+ set_dev_proc(dev, decode_color, NULL);
+
return 0;
}
@@ -358,7 +364,7 @@ const gx_device_opvp gs_opvp_device =
{
std_device_dci_type_body(
gx_device_opvp,
- 0,
+ opvp_initialize,
"opvp",
&st_device_opvp,
DEFAULT_WIDTH_10THS_A4 * X_DPI / 10,
@@ -371,8 +377,7 @@ const gx_device_opvp gs_opvp_device =
255,
256,
256
- ),
- devprocs_initialize(opvp_initialize)
+ )
};
/* for inkjet */
@@ -392,17 +397,20 @@ oprp_initialize(gx_device *dev)
set_dev_proc(dev, get_params, oprp_get_params);
set_dev_proc(dev, put_params, oprp_put_params);
+ /* The static init used in previous versions of the code leave
+ * encode_color and decode_color set to NULL (which are then rewritten
+ * by the system to the default. For compatibility we do the same. */
+ set_dev_proc(dev, encode_color, NULL);
+ set_dev_proc(dev, decode_color, NULL);
+
return 0;
}
-static gx_device_procs prn_oprp_procs =
- devprocs_initialize(oprp_initialize);
-
const gx_device_oprp gs_oprp_device =
{
prn_device_std_margins_body(
gx_device_oprp,
- prn_oprp_procs,
+ oprp_initialize,
"oprp",
DEFAULT_WIDTH_10THS_A4,
DEFAULT_HEIGHT_10THS_A4,
diff --git a/contrib/pcl3/src/gdevpcl3.c b/contrib/pcl3/src/gdevpcl3.c
index c679fa038..2f964b4ae 100644
--- a/contrib/pcl3/src/gdevpcl3.c
+++ b/contrib/pcl3/src/gdevpcl3.c
@@ -114,10 +114,6 @@ eprn_initialize(gx_device *dev)
return 0;
};
-/* Device procedure table */
-static gx_device_procs pcl3_procs =
- devprocs_initialize(eprn_initialize);
-
/* prn procedure implementations */
#if !defined(GS_REVISION) || GS_REVISION >= 550
static prn_dev_proc_print_page(pcl3_print_page);
@@ -149,7 +145,7 @@ static void pcl3_flag_mismatch_reporter(
pcl3_Device gs_##dname##_device = { \
eprn_device_initdata( \
pcl3_Device, /* device type */ \
- pcl3_procs, /* static device procedure table */ \
+ eprn_initialize, /* initialize pointer */ \
#dname, /* device name */ \
300.0, 300.0, /* horizontal and vertical resolution */\
pcl3_print_page, /* print page routine */ \