(v13) Customize the SDK for your printer
This page applies to Harlequin v13.1r0 and later; and to Harlequin Core but not Harlequin MultiRIP.
This section describes how to customize the RIP for a new raster backend.
1 The file oemraster.h is available in the \lib\skintest\src\ folder.
These files export the OEM_RASTER_ functions for your new raster backend. The functions are empty, and the raster is simply discarded. This is where you need to add your code. However, do not edit these files now.
2 Find the Makefile located at \bin.
3 In lib\skintest\pc\src\main.c add supporting code for any extra command-line options you wish to support, for example, screen types or parameters.
Under the switch (pszSwitch[1])
, after the already processed options have been handled, add a case statement to handle the option, and add an entry in the usage function to describe it.
Any new variables you use here should be exported in oemraster.h, and you should add:
#include "oemraster.h"
near the top of main.c.
Also, at the end of the listSetups
function, add a line:
fprintf( stderr, " /OEM\n" );
You might also choose to remove any raster backends you do not wish to support from this list. Their source files would also need to be removed from the makefile.
4 In \lib\skintest\src\skintest.c, add:
#include "oemraster.h"
in the PageBufferSelect
function, and add this section, after the comment:
/* Select in the correct set of raster handlers. The "TIFF" pgbtype is always upgraded to "LIBTIFF" when libtiff is available, so we additionally support "DEMOTIFF" as a pgbtype to explicitly avoid the upgrade. */
if ( strcmp(pgbtype, "OEM") == 0 || { SwLeSetRasterCallbacks(NULL, /* raster stride */
NULL, /* raster requirements */ NULL, /* raster destination */
OEM_RasterCallback); /* raster delivery */
} else
5 Rebuild the clrip
.
6 Edit the custom raster format files in \SW\TestConfig and change the /PageBufferType
line to OEM.
7 Test your clrip
without using a -o command-line option. No output file is generated. There is, however, text printed to the monitor to indicate the start and end of each page.
8 You can now insert your printer's commands and perform the various functions you require such as; screening on contone data, negation, anti-aliasing, and transfer of the resulting raster to your output device, if you are not producing file output. For examples of file output, see the RAW and TIFF example sources. The PCL examples are designed to output to file or a socket.