(v13) Named color editing API calls
This page applies to Harlequin v13.1r0 and later; both Harlequin Core and Harlequin MultiRIP
You should consult \doc\HqnRIP_SDK_InterfaceRef.chm for information about the API.
ncapi_start()
must be called first to supply memory allocation and de-allocation functions.
You can obtain a list of the Named Color Order resources by calling ncapiListNamedColorOrders()
(such as Intercept, Recombine or Roam) and for any NamedColorOrder you can read its list of databases, which defines the order in which the databases will be searched.
Create an empty in-memory Named Color DataBase resource using ncapiNamedColorDBCreate()
. In the template, you should specify the name, color space, number of colorants, colorant names and so on. You can force all color names to be converted to upper case for matching by setting fForceUpperCase
to TRUE. fAllowColorManagement
must be specified, and if TRUE, the database's color values are allowed to be color managed. ppNCDB
will be set by the API to point to the allocated database, so the caller must
provide that pointer. This memory must be freed later using ncapiFreeNamedColorDB().
By calling ncapiNamedColorDBAddUpdateColor()
you can add a Named Color entry to an in-memory Named Color Database resource. You can also delete or update the color. You can add colors to old or a newly created database.
NamedColor is supported on Windows only
Once you are ready you could call the appropriate prepare API for the color space of the color / database (ncapiPrepareTargetXYZ(), ncapiPrepareTargetRGB()
or ncapiPrepareTargetCMYK()))
to obtain a PostScript job, which can then be used to print a target for a Named Color.
Note that preparing a target for DeviceN color is not supported.
You can compare the output with the color you're trying to match. A suggested use case is that the customer / printer wants “Pantone N” to be, for example, a brighter pink, so presumably they have some existing example of that. They would iterate over adjusting the color and printing a target until the center patch of the target matched that example.
Use ncapiNamedColorDBAddUpdateColor()
to update the color to the database including a pointer to the Named Color Database resource, the name of the Named Color to update along with the components of the color's update value. Follow by overwriting and using ncapiWriteNamedColorDB()
, which provides a pointer to the new or updated resource.