diff options
Diffstat (limited to 'contrib')
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 */ \ |