summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRobin Watts <robin.watts@artifex.com>2013-06-11 18:51:18 +0100
committerRobin Watts <robin.watts@artifex.com>2013-06-11 18:56:41 +0100
commite209e22862bd7af4362e08f1aa8f0025341356f0 (patch)
tree1535b4197a1543712bee325d86ac8a5ff9977567
parent617143bb943a6540c751195c60b68387f2b06b88 (diff)
downloadghostpdl-e209e22862bd7af4362e08f1aa8f0025341356f0.tar.gz
Add tiffscaled32 device (32bpp CMYK output with downscaling)
Update documentation.
-rw-r--r--gs/base/gxdownscale.c96
-rw-r--r--gs/base/macos-mcp.mak2
-rw-r--r--gs/base/openvms.mak2
-rw-r--r--gs/base/unix-gcc.mak2
-rw-r--r--gs/base/unixansi.mak2
-rw-r--r--gs/devices/devs.mak10
-rw-r--r--gs/devices/gdevtsep.c56
-rw-r--r--gs/doc/Devices.htm33
-rw-r--r--gs/psi/msvc.mak2
-rw-r--r--main/pcl6_gcc.mak2
-rw-r--r--main/pcl6_msvc.mak2
11 files changed, 192 insertions, 17 deletions
diff --git a/gs/base/gxdownscale.c b/gs/base/gxdownscale.c
index 94df0fffb..f9d6b3f97 100644
--- a/gs/base/gxdownscale.c
+++ b/gs/base/gxdownscale.c
@@ -1423,6 +1423,100 @@ static void down_core24(gx_downscaler_t *ds,
}
}
+/* CMYK downscale (no error diffusion) code */
+
+static void down_core32(gx_downscaler_t *ds,
+ byte *outp,
+ byte *in_buffer,
+ int row,
+ int plane,
+ int span)
+{
+ int x, xx, y, value;
+ int pad_white;
+ byte *inp;
+ int width = ds->width;
+ int awidth = ds->awidth;
+ int factor = ds->factor;
+ int div = factor*factor;
+
+ pad_white = (awidth - width) * factor * 4;
+ if (pad_white < 0)
+ pad_white = 0;
+
+ if (pad_white)
+ {
+ inp = in_buffer + width*factor*4;
+ for (y = factor; y > 0; y--)
+ {
+ memset(inp, 0xFF, pad_white);
+ inp += span;
+ }
+ }
+
+ inp = in_buffer;
+ {
+ /* Left to Right pass (no min feature size) */
+ const int back = span * factor - 4;
+ const int back2 = factor * 4 - 1;
+ for (x = awidth; x > 0; x--)
+ {
+ /* C */
+ value = 0;
+ for (xx = factor; xx > 0; xx--)
+ {
+ for (y = factor; y > 0; y--)
+ {
+ value += *inp;
+ inp += span;
+ }
+ inp -= back;
+ }
+ inp -= back2;
+ *outp++ = (value+(div>>1))/div;
+ /* M */
+ value = 0;
+ for (xx = factor; xx > 0; xx--)
+ {
+ for (y = factor; y > 0; y--)
+ {
+ value += *inp;
+ inp += span;
+ }
+ inp -= back;
+ }
+ inp -= back2;
+ *outp++ = (value+(div>>1))/div;
+ /* Y */
+ value = 0;
+ for (xx = factor; xx > 0; xx--)
+ {
+ for (y = factor; y > 0; y--)
+ {
+ value += *inp;
+ inp += span;
+ }
+ inp -= back;
+ }
+ inp -= back2;
+ *outp++ = (value+(div>>1))/div;
+ /* K */
+ value = 0;
+ for (xx = factor; xx > 0; xx--)
+ {
+ for (y = factor; y > 0; y--)
+ {
+ value += *inp;
+ inp += span;
+ }
+ inp -= back;
+ }
+ inp -= 3;
+ *outp++ = (value+(div>>1))/div;
+ }
+ }
+}
+
static void decode_factor(int factor, int *up, int *down)
{
if (factor == 32)
@@ -1651,6 +1745,8 @@ int gx_downscaler_init(gx_downscaler_t *ds,
}
else if ((src_bpc == 8) && (dst_bpc == 8) && (num_comps == 3))
core = &down_core24;
+ else if ((src_bpc == 8) && (dst_bpc == 8) && (num_comps == 4))
+ core = &down_core32;
else {
code = gs_note_error(gs_error_rangecheck);
goto cleanup;
diff --git a/gs/base/macos-mcp.mak b/gs/base/macos-mcp.mak
index e6cf23687..6adaebf60 100644
--- a/gs/base/macos-mcp.mak
+++ b/gs/base/macos-mcp.mak
@@ -230,7 +230,7 @@ DEVICE_DEVS7=$(DD)faxg3.dev $(DD)faxg32d.dev $(DD)faxg4.dev
DEVICE_DEVS8=$(DD)pcxmono.dev $(DD)pcxgray.dev $(DD)pcx16.dev $(DD)pcx256.dev $(DD)pcx24b.dev $(DD)pcxcmyk.dev
DEVICE_DEVS9=$(DD)pbm.dev $(DD)pbmraw.dev $(DD)pgm.dev $(DD)pgmraw.dev $(DD)pgnm.dev $(DD)pgnmraw.dev $(DD)pnm.dev $(DD)pnmraw.dev $(DD)ppm.dev $(DD)ppmraw.dev $(DD)pkm.dev $(DD)pkmraw.dev $(DD)pksm.dev $(DD)pksmraw.dev $(DD)pamcmyk32.dev
DEVICE_DEVS10=$(DD)tiffcrle.dev $(DD)tiffg3.dev $(DD)tiffg32d.dev $(DD)tiffg4.dev $(DD)tifflzw.dev $(DD)tiffpack.dev
-DEVICE_DEVS11=$(DD)tiff12nc.dev $(DD)tiff24nc.dev $(DD)tiffgray.dev $(DD)tiff32nc.dev $(DD)tiffsep.dev $(DD)tiffsep1.dev $(DD)tiffscaled.dev $(DD)tiffscaled8.dev $(DD)tiffscaled24.dev
+DEVICE_DEVS11=$(DD)tiff12nc.dev $(DD)tiff24nc.dev $(DD)tiffgray.dev $(DD)tiff32nc.dev $(DD)tiffsep.dev $(DD)tiffsep1.dev $(DD)tiffscaled.dev $(DD)tiffscaled8.dev $(DD)tiffscaled24.dev $(DD)tiffscaled32.dev
DEVICE_DEVS12=$(DD)bit.dev $(DD)bitrgb.dev $(DD)bitcmyk.dev
DEVICE_DEVS13=$(DD)pngmono.dev $(DD)pngmonod.dev $(DD)pnggray.dev $(DD)png16.dev $(DD)png256.dev $(DD)png16m.dev
DEVICE_DEVS14=$(DD)jpeg.dev $(DD)jpeggray.dev $(DD)jpegcmyk.dev
diff --git a/gs/base/openvms.mak b/gs/base/openvms.mak
index 8fd877324..941d57b81 100644
--- a/gs/base/openvms.mak
+++ b/gs/base/openvms.mak
@@ -230,7 +230,7 @@ DEVICE_DEVS7=$(DD)faxg3.dev $(DD)faxg32d.dev $(DD)faxg4.dev
DEVICE_DEVS8=$(DD)pcxmono.dev $(DD)pcxgray.dev $(DD)pcx16.dev $(DD)pcx256.dev $(DD)pcx24b.dev $(DD)pcxcmyk.dev
DEVICE_DEVS9=$(DD)pbm.dev $(DD)pbmraw.dev $(DD)pgm.dev $(DD)pgmraw.dev $(DD)pgnm.dev $(DD)pgnmraw.dev
DEVICE_DEVS10=$(DD)tiffcrle.dev $(DD)tiffg3.dev $(DD)tiffg32d.dev $(DD)tiffg4.dev $(DD)tifflzw.dev $(DD)tiffpack.dev
-DEVICE_DEVS11=$(DD)tiff12nc.dev $(DD)tiff24nc.dev $(DD)tiffgray.dev $(DD)tiff32nc.dev $(DD)tiffsep.dev $(DD)tiffsep1.dev $(DD)tiffscaled.dev $(DD)tiffscaled8.dev $(DD)tiffscaled24.dev
+DEVICE_DEVS11=$(DD)tiff12nc.dev $(DD)tiff24nc.dev $(DD)tiffgray.dev $(DD)tiff32nc.dev $(DD)tiffsep.dev $(DD)tiffsep1.dev $(DD)tiffscaled.dev $(DD)tiffscaled8.dev $(DD)tiffscaled24.dev $(DD)tiffscaled32.dev
DEVICE_DEVS12=$(DD)bit.dev $(DD)bitrgb.dev $(DD)bitcmyk.dev
DEVICE_DEVS13=$(DD)pngmono.dev $(DD)pngmonod.dev $(DD)pnggray.dev $(DD)png16.dev $(DD)png256.dev $(DD)png16m.dev $(DD)pngalpha.dev
DEVICE_DEVS14=$(DD)jpeg.dev $(DD)jpeggray.dev $(DD)jpegcmyk.dev
diff --git a/gs/base/unix-gcc.mak b/gs/base/unix-gcc.mak
index 6fbd5c5ae..2765812b4 100644
--- a/gs/base/unix-gcc.mak
+++ b/gs/base/unix-gcc.mak
@@ -410,7 +410,7 @@ DEVICE_DEVS7=$(DD)faxg3.dev $(DD)faxg32d.dev $(DD)faxg4.dev
DEVICE_DEVS8=$(DD)pcxmono.dev $(DD)pcxgray.dev $(DD)pcx16.dev $(DD)pcx256.dev $(DD)pcx24b.dev $(DD)pcxcmyk.dev
DEVICE_DEVS9=$(DD)pbm.dev $(DD)pbmraw.dev $(DD)pgm.dev $(DD)pgmraw.dev $(DD)pgnm.dev $(DD)pgnmraw.dev $(DD)pnm.dev $(DD)pnmraw.dev $(DD)ppm.dev $(DD)ppmraw.dev $(DD)pkm.dev $(DD)pkmraw.dev $(DD)pksm.dev $(DD)pksmraw.dev
DEVICE_DEVS10=$(DD)tiffcrle.dev $(DD)tiffg3.dev $(DD)tiffg32d.dev $(DD)tiffg4.dev $(DD)tifflzw.dev $(DD)tiffpack.dev
-DEVICE_DEVS11=$(DD)tiff12nc.dev $(DD)tiff24nc.dev $(DD)tiff48nc.dev $(DD)tiffgray.dev $(DD)tiff32nc.dev $(DD)tiff64nc.dev $(DD)tiffsep.dev $(DD)tiffsep1.dev $(DD)tiffscaled.dev $(DD)tiffscaled8.dev $(DD)tiffscaled24.dev
+DEVICE_DEVS11=$(DD)tiff12nc.dev $(DD)tiff24nc.dev $(DD)tiff48nc.dev $(DD)tiffgray.dev $(DD)tiff32nc.dev $(DD)tiff64nc.dev $(DD)tiffsep.dev $(DD)tiffsep1.dev $(DD)tiffscaled.dev $(DD)tiffscaled8.dev $(DD)tiffscaled24.dev $(DD)tiffscaled32.dev
DEVICE_DEVS12=$(DD)bit.dev $(DD)bitrgb.dev $(DD)bitcmyk.dev
DEVICE_DEVS13=$(DD)pngmono.dev $(DD)pngmonod.dev $(DD)pnggray.dev $(DD)png16.dev $(DD)png256.dev $(DD)png16m.dev $(DD)pngalpha.dev
DEVICE_DEVS14=$(DD)jpeg.dev $(DD)jpeggray.dev $(DD)jpegcmyk.dev
diff --git a/gs/base/unixansi.mak b/gs/base/unixansi.mak
index 8b903404f..e68330da9 100644
--- a/gs/base/unixansi.mak
+++ b/gs/base/unixansi.mak
@@ -354,7 +354,7 @@ DEVICE_DEVS7=$(DD)faxg3.dev $(DD)faxg32d.dev $(DD)faxg4.dev
DEVICE_DEVS8=$(DD)pcxmono.dev $(DD)pcxgray.dev $(DD)pcx16.dev $(DD)pcx256.dev $(DD)pcx24b.dev $(DD)pcxcmyk.dev
DEVICE_DEVS9=$(DD)pbm.dev $(DD)pbmraw.dev $(DD)pgm.dev $(DD)pgmraw.dev $(DD)pgnm.dev $(DD)pgnmraw.dev
DEVICE_DEVS10=$(DD)tiffcrle.dev $(DD)tiffg3.dev $(DD)tiffg32d.dev $(DD)tiffg4.dev $(DD)tifflzw.dev $(DD)tiffpack.dev
-DEVICE_DEVS11=$(DD)tiff12nc.dev $(DD)tiff24nc.dev $(DD)tiffgray.dev $(DD)tiff32nc.dev $(DD)tiffsep.dev $(DD)tiffsep1.dev $(DD)tiffscaled.dev $(DD)tiffscaled8.dev $(DD)tiffscaled24.dev $(DD)tiffscaled4.dev
+DEVICE_DEVS11=$(DD)tiff12nc.dev $(DD)tiff24nc.dev $(DD)tiffgray.dev $(DD)tiff32nc.dev $(DD)tiffsep.dev $(DD)tiffsep1.dev $(DD)tiffscaled.dev $(DD)tiffscaled8.dev $(DD)tiffscaled24.dev $(DD)tiffscaled32.dev $(DD)tiffscaled4.dev
DEVICE_DEVS12=$(DD)bit.dev $(DD)bitrgb.dev $(DD)bitcmyk.dev
DEVICE_DEVS13=$(DD)pngmono.dev $(DD)pngmonod.dev $(DD)pnggray.dev $(DD)png16.dev $(DD)png256.dev $(DD)png16m.dev $(DD)pngalpha.dev
DEVICE_DEVS14=$(DD)jpeg.dev $(DD)jpeggray.dev $(DD)jpegcmyk.dev
diff --git a/gs/devices/devs.mak b/gs/devices/devs.mak
index f9f3f4287..d1a37b978 100644
--- a/gs/devices/devs.mak
+++ b/gs/devices/devs.mak
@@ -211,6 +211,7 @@ DEVGEN=$(DEVGENDIR)$(D)
# tiffscaled TIFF (monochrome output, integer downsampled and dithered from grayscale rendering)
# tiffscaled8 TIFF (greyscale output, integer downsampled and dithered from grayscale rendering)
# tiffscaled24 TIFF (rgb output, integer downsampled and dithered from rgb rendering)
+# tiffscaled32 TIFF (cmyk output, integer downsampled and dithered from cmyk rendering)
# tiffscaled4 TIFF (cmyk output, integer downsampled and dithered from cmyk rendering)
# Note that MS Windows-specific drivers are defined in pcwin.mak, not here,
@@ -1766,6 +1767,15 @@ $(DD)tiffscaled24.dev : $(DEVS_MAK) $(libtiff_dev) $(tiffscaled24_)\
$(SETPDEV2) $(DD)tiffscaled24 $(tiffscaled8_)
$(ADDMOD) $(DD)tiffscaled24 -include $(DD)tiffs $(tiff_i_)
+# TIFF Scaled 32 (downscaled cmyk -> cmyk), configurable compression
+
+tiffscaled32_=$(tiffsep_)
+
+$(DD)tiffscaled32.dev : $(DEVS_MAK) $(libtiff_dev) $(tiffscaled32_)\
+ $(DD)tiffs.dev $(minftrsz_h) $(GDEV)
+ $(SETPDEV2) $(DD)tiffscaled32 $(tiffscaled8_)
+ $(ADDMOD) $(DD)tiffscaled32 -include $(DD)tiffs $(tiff_i_)
+
# TIFF Scaled 4 (downscaled cmyk -> cmyk), configurable compression
tiffscaled4_=$(tiffsep_)
diff --git a/gs/devices/gdevtsep.c b/gs/devices/gdevtsep.c
index a1492802a..dc7cfc89c 100644
--- a/gs/devices/gdevtsep.c
+++ b/gs/devices/gdevtsep.c
@@ -25,6 +25,8 @@
* 8-bit Gray internal rendering)
* tiffscaled24 device:24-bit RGB TIFF device (dithered downscaled output
* from 24-bit RGB internal rendering)
+ * tiffscaled32 device:32-bit CMYK TIFF device (downscaled output
+ * from 32-bit CMYK internal rendering)
* tiffscaled4 device:4-bit CMYK TIFF device (dithered downscaled output
* from 32-bit CMYK internal rendering)
*/
@@ -182,6 +184,37 @@ const gx_device_tiff gs_tiffscaled24_device = {
1 /* MinFeatureSize */
};
+/* ------ The tiffscaled32 device ------ */
+
+static dev_proc_print_page(tiffscaled32_print_page);
+
+static const gx_device_procs tiffscaled32_procs = {
+ tiff_open, NULL, NULL, gdev_prn_output_page_seekable, tiff_close,
+ NULL, cmyk_8bit_map_color_cmyk, NULL, NULL, NULL, NULL, NULL, NULL,
+ tiff_get_params_downscale, tiff_put_params_downscale,
+ cmyk_8bit_map_cmyk_color, NULL, NULL, NULL, gx_page_device_get_page_device
+};
+
+const gx_device_tiff gs_tiffscaled32_device = {
+ prn_device_body(gx_device_tiff,
+ tiffscaled32_procs,
+ "tiffscaled32",
+ DEFAULT_WIDTH_10THS, DEFAULT_HEIGHT_10THS,
+ 600, 600, /* 600 dpi by default */
+ 0, 0, 0, 0, /* Margins */
+ 4, /* num components */
+ 32, /* bits per sample */
+ 255, 255, 256, 256,
+ tiffscaled32_print_page),
+ arch_is_big_endian,/* default to native endian (i.e. use big endian iff the platform is so */
+ false, /* default to not bigtiff */
+ COMPRESSION_NONE,
+ TIFF_DEFAULT_STRIP_SIZE,
+ TIFF_DEFAULT_DOWNSCALE,
+ 0, /* Adjust size */
+ 1 /* MinFeatureSize */
+};
+
/* ------ The tiffscaled4 device ------ */
static dev_proc_print_page(tiffscaled4_print_page);
@@ -344,6 +377,29 @@ tiff_set_cmyk_fields(gx_device_printer *pdev, TIFF *tif,
}
static int
+tiffscaled32_print_page(gx_device_printer * pdev, FILE * file)
+{
+ gx_device_tiff *const tfdev = (gx_device_tiff *)pdev;
+ int code;
+
+ code = gdev_tiff_begin_page(tfdev, file);
+ if (code < 0)
+ return code;
+
+ tiff_set_cmyk_fields(pdev,
+ tfdev->tif,
+ 8,
+ tfdev->Compression,
+ tfdev->MaxStripSize);
+
+ return tiff_downscale_and_print_page(pdev, tfdev->tif,
+ tfdev->DownScaleFactor,
+ tfdev->MinFeatureSize,
+ tfdev->AdjustWidth,
+ 8, 4);
+}
+
+static int
tiffscaled4_print_page(gx_device_printer * pdev, FILE * file)
{
gx_device_tiff *const tfdev = (gx_device_tiff *)pdev;
diff --git a/gs/doc/Devices.htm b/gs/doc/Devices.htm
index b425014d2..99cd3a9a2 100644
--- a/gs/doc/Devices.htm
+++ b/gs/doc/Devices.htm
@@ -210,7 +210,7 @@ respond to the following:</p>
<dt><code>-dDownScaleFactor=</code><b><em>integer</em></b>
<dd>This causes the internal rendering to be scaled down by the given (small
integer) factor before being output. For example, the following will produce
-a 200dpi output png from a 300dpi internal rendering:
+a 200dpi output png from a 600dpi internal rendering:
<blockquote>
<pre>
<kbd>gs -sDEVICE=png16m -r600 -dDownScaleFactor=3 -o tiger.png\
@@ -518,22 +518,34 @@ The tiffscaled device renders internally at the specified resolution to an
1bpp output. The compression can be set using -sCompression= as described
below.
+<a name="tiffscaled4"></a><dt><code>tiffscaled4</code>
+<dd>
+The tiffscaled4 device renders internally at the specified resolution to an
+8 bit cmyk image. This is then scaled down by an integer scale factor
+(set by -dDownScaleFactor= described below) and then error diffused to give
+4bpp cmyk output. The compression can be set using -sCompression= as described
+below.
+
<a name="tiffscaled8"></a><dt><code>tiffscaled8</code>
<dd>
The tiffscaled8 device renders internally at the specified resolution to an
8 bit greyscale image. This is then scaled down by an integer scale factor
-(set by -dDownScaleFactor= described below) and then error diffused to give
-8bpp output (error diffusion at this stage is probably pointless and may
-be removed in future versions). The compression can be set using
+(set by -dDownScaleFactor= described below). The compression can be set using
-sCompression= as described below.
<a name="tiffscaled24"></a><dt><code>tiffscaled24</code>
<dd>
The tiffscaled24 device renders internally at the specified resolution to a
24 bit rgb image. This is then scaled down by an integer scale factor
-(set by -dDownScaleFactor= described below) and then error diffused to give
-24bpp output (error diffusion at this stage is probably pointless and may
-be removed in future versons). The compression can be set using
+(set by -dDownScaleFactor= described below). The compression can be set using
+-sCompression= as described below.
+
+
+<a name="tiffscaled32"></a><dt><code>tiffscaled32</code>
+<dd>
+The tiffscaled32 device renders internally at the specified resolution to a
+32 bit cmyk image. This is then scaled down by an integer scale factor
+(set by -dDownScaleFactor= described below). The compression can be set using
-sCompression= as described below.
</dl>
@@ -666,15 +678,16 @@ accepted for compatibility) will behave as for 2.
</dl></blockquote>
<p>
-The <tt>tiffscaled</tt>, <tt>tiffscaled8</tt> and <tt>tiffscaled24</tt> TIFF
+The <tt>tiffscaled</tt>, <tt>tiffscaled4</tt>, <tt>tiffscaled8</tt>,
+<tt>tiffscaled24</tt> and <tt>tiffscaled32</tt> TIFF
drivers also provide this parameter:
<blockquote><dl>
<dt><code>-dDownScaleFactor=<em>factor</em></code> (small non-negative integer; default = 1)
<dd>If this option set then the page is downscaled by the given factor on both
axes before error diffusion takes place. For example rendering with
-<tt>-r600</tt> and then specifying <tt>-dDownScaleFactor=3</tt> will produce a
-200dpi image.
+<tt>-r600</tt> and then specifying <tt>-dDownScaleFactor=3</tt> will produce
+a 200dpi image.
</dl></blockquote>
diff --git a/gs/psi/msvc.mak b/gs/psi/msvc.mak
index 185712ea0..0da900e45 100644
--- a/gs/psi/msvc.mak
+++ b/gs/psi/msvc.mak
@@ -994,7 +994,7 @@ DEVICE_DEVS7=$(DD)t4693d2.dev $(DD)t4693d4.dev $(DD)t4693d8.dev $(DD)tek4696.dev
DEVICE_DEVS8=$(DD)pcxmono.dev $(DD)pcxgray.dev $(DD)pcx16.dev $(DD)pcx256.dev $(DD)pcx24b.dev $(DD)pcxcmyk.dev
DEVICE_DEVS9=$(DD)pbm.dev $(DD)pbmraw.dev $(DD)pgm.dev $(DD)pgmraw.dev $(DD)pgnm.dev $(DD)pgnmraw.dev $(DD)pkmraw.dev
DEVICE_DEVS10=$(DD)tiffcrle.dev $(DD)tiffg3.dev $(DD)tiffg32d.dev $(DD)tiffg4.dev $(DD)tifflzw.dev $(DD)tiffpack.dev
-DEVICE_DEVS11=$(DD)bmpmono.dev $(DD)bmpgray.dev $(DD)bmp16.dev $(DD)bmp256.dev $(DD)bmp16m.dev $(DD)tiff12nc.dev $(DD)tiff24nc.dev $(DD)tiff48nc.dev $(DD)tiffgray.dev $(DD)tiff32nc.dev $(DD)tiff64nc.dev $(DD)tiffsep.dev $(DD)tiffsep1.dev $(DD)tiffscaled.dev $(DD)tiffscaled8.dev $(DD)tiffscaled24.dev $(DD)tiffscaled4.dev
+DEVICE_DEVS11=$(DD)bmpmono.dev $(DD)bmpgray.dev $(DD)bmp16.dev $(DD)bmp256.dev $(DD)bmp16m.dev $(DD)tiff12nc.dev $(DD)tiff24nc.dev $(DD)tiff48nc.dev $(DD)tiffgray.dev $(DD)tiff32nc.dev $(DD)tiff64nc.dev $(DD)tiffsep.dev $(DD)tiffsep1.dev $(DD)tiffscaled.dev $(DD)tiffscaled8.dev $(DD)tiffscaled24.dev $(DD)tiffscaled32.dev $(DD)tiffscaled4.dev
DEVICE_DEVS12=$(DD)bit.dev $(DD)bitrgb.dev $(DD)bitcmyk.dev
DEVICE_DEVS13=$(DD)pngmono.dev $(DD)pngmonod.dev $(DD)pnggray.dev $(DD)png16.dev $(DD)png256.dev $(DD)png16m.dev $(DD)pngalpha.dev
DEVICE_DEVS14=$(DD)jpeg.dev $(DD)jpeggray.dev $(DD)jpegcmyk.dev
diff --git a/main/pcl6_gcc.mak b/main/pcl6_gcc.mak
index 1ef764360..d6e692e65 100644
--- a/main/pcl6_gcc.mak
+++ b/main/pcl6_gcc.mak
@@ -242,7 +242,7 @@ DEVICE_DEVS?=$(X11DEVS) \
$(DD)txtwrite.dev $(DD)pamcmyk32.dev $(DD)pamcmyk4.dev\
$(DD)tiffcrle.dev $(DD)tiffg3.dev $(DD)tiffg32d.dev $(DD)tiffg4.dev\
$(DD)tifflzw.dev $(DD)tiffpack.dev $(DD)tiffgray.dev\
- $(DD)tiffscaled.dev $(DD)tiffscaled8.dev $(DD)tiffscaled24.dev\
+ $(DD)tiffscaled.dev $(DD)tiffscaled8.dev $(DD)tiffscaled24.dev $(DD)tiffscaled32.dev\
$(DD)tiffscaled4.dev $(DD)tiff12nc.dev $(DD)tiff24nc.dev\
$(DD)pxlmono.dev $(DD)pxlcolor.dev\
$(DD)bmpmono.dev $(DD)bmp16m.dev $(DD)bmpsep8.dev \
diff --git a/main/pcl6_msvc.mak b/main/pcl6_msvc.mak
index 162b719e6..b0084aba1 100644
--- a/main/pcl6_msvc.mak
+++ b/main/pcl6_msvc.mak
@@ -466,7 +466,7 @@ DEVICE_DEVS=$(DD)\display.dev\
$(DD)\tiffcrle.dev $(DD)\tiffg3.dev $(DD)\tiffg32d.dev $(DD)\tiffg4.dev\
$(DD)\tifflzw.dev $(DD)\tiffpack.dev $(DD)\tiffgray.dev $(DD)\tiffscaled.dev \
$(DD)\tiff12nc.dev $(DD)\tiff24nc.dev\
- $(DD)\tiffscaled4.dev $(DD)\tiffscaled8.dev $(DD)\tiffscaled24.dev\
+ $(DD)\tiffscaled4.dev $(DD)\tiffscaled8.dev $(DD)\tiffscaled24.dev $(DD)\tiffscaled32.dev\
$(DD)\png16m.dev $(DD)\pngmono.dev $(DD)\pngmonod.dev $(DD)\jpeg.dev \
$(DD)\pdfwrite.dev $(DD)\ps2write.dev $(DD)\txtwrite.dev \
$(DD)\xpswrite.dev \