The Ink Descriptor File Sections

I have broken the ink descriptor file down into sections that relate to different functions and different steps in the curve creation process and have referenced the QTRgui to where the values entered into the curve creation module relate to the plain text file.

The fields that look like this: SOME_INK_STUFF= are the names of the input variables that the program uses for creating the ink curves and in most cases should no need to be changed. That which follows the equals sign is what you enter, and I explain what the possible inputs are for each different section.

I have created a number of blank ink descriptor file templates that can be used for different types of profiles and for different printers. You can find those in download provided with the purchase of this book.

Header Information

This header information is not essential to include in your ink descriptor files, and many of the prebuilt profiles do not contain it. I like to include it because it is useful for getting information about the profiles you are creating, sending to other people, or have downloaded elsewhere on the internet. PRINTER= (ex" Quad3800) The PRINTER= Input allows you to enter the name of the printer that this profile is for. If this is left blank or left out completely you will need to run the install-printername-command in the profiles folder for that printer to create the quad curves for this ink descriptor file. If you enter the name of the Quad printer you want to use to print this set of curves, you can use the Drop-Quad-Profile program instead of the p


This is not really needed for the old way of creating custom QuadToneRIP Profiles, but I use this field to keep track of the curve names and to generate the name of the exported ink descriptor file.


With GRAPH_CURVE=YES (or NO) you can see a text based graph of the overlapping ink curves, and the linearization graph if there was an entry for linearize= in the ink descriptor file. This is useful for a quick confirmation that the correct inks are being used in the curve without needing to open the quad curves in CurveView application. These graphs will show up with each profile when run with the install-conmand in a new shell terminal window or as a new temporary text file when using the Drop-Quad app. They will also show up if you double click on a .qidf file in the Windows File Explorer.

Generating these graphs isn’t essential, but I prefer to see them to make sure there are no dumb mistakes being made before you try printing with a newly created set of curves that might end up wasting time, ink, and paper.


This section is used to instruct the qtr curve creation program which inks and how much of the total output to use in creating the ink curves.

The ink limit is what allows you to control the total amount of ink that printer is capable of printing. The limit is a percentage of the total possible ink the printer is able to print at the 100% black in an image. This is usually too much ink for the paper to absorb, so a lower ink limit is needed to prevent excessive density, ink bleed, or pooling on the printing media. If the limit is set to 50 then the QTR curve creation program will use up to 50% of the ink in that channel for creating the overlapping ink curves. Since this setting is used to instruct the program how much ink to use, it is also used to tell the program not to include the ink in the final curves. Setting the ink limit to 0 will result in no ink being printed—it will “turn off” that ink channel.

Again, all these are generated automatically by the QuadToneProfiler.

Ink names

The names of the variables that control each ink are pretty self explanatory. C controls the Cyan channel. M controls the Magenta channel and so on. K, LK, and LLK control the Black (photo or matte) Light Black and Light Light Black channels. The only time this can be confusing is when using third party ink sets use different channels for the different dilutions of each ink.

The Peizogrpahy inks use Cyan for Shade 2, Light Cyan for Shade 3, Magenta for Shade 4, and Light Magenta for Shade 5. The Eboni 6 ink set uses Cyan for Shade 2 and Light Cyan for Shade 4, and then uses Magenta for Shade 3 and Light Magenta for Shade 5.


Number of ink positions the printer has. Most printers now have between 6 to 10 ink positions, and newer versions of QTR for OS X are able to utilize all 10 positions in the x900 and new x000 series printers. QTR on Windows is only able to make profiles with a maximum of 8 positions. I don’t consider this setting to be all that important. I rarely include it in the profiles I create by hand, but it is created automatically when working with the Windows QTRgui.


The default limit is 100, and if left blank, or not controlled on a channel by cannel basis, the QTR curve creation script will use up to 100% of the ink the printer is capable of laying down. This will usually be too much ink and you will have problems creating a good profile.

I do not use the default ink limit in the QuadToneProfiler and prefer to leave this set to “0” and control each ink on a channel by channel basis. If they are controlled on a channel by channel basis I can quickly see which inks are not being used by simply looking for empty inputs. If you do use a default ink limit you will need to make sure you set the limit to “0” for any ink you do not want to include in the final set of curves.

The QTR curve creation program includes some overlap with the adjacent inks so it won’t use all 100% of the ink limit each channel in creating the curves. It will be some percentage of whatever the ink limit is set to.


K is for Black, and controls the installed Matte Black or Photo Black ink. Or whatever ink is included in that position. BOOST_K= The K (Black) Boost function allows you to add extra ink density at the very end of the tonal scale to increase Dmax in your prints (or blocking density in your inkjet negatives). The “K” in BOOST_K doesn’t mean it can only being applied to the Matte or Photo Black channel though. The control that determines which ink is being boosted is whatever ink is being used in the Gray_Ink_1= setting in the grayscale partitioning section.

This might be useful in cases where a you might want to put a matte or photo black ink in a different cartridge position but still be able to boost the Dmax at the end of the scale. That could be to move the black ink away from a broken or permanently clogged ink channel into a new position or to allow for both a matte and photo black ink to be installed without black ink switching and wasting ink.


Gray Scale Partitioning Information

These controls tell the QTR curve creation program how many and which inks are being used to partition the overall gray scale. There are three parts to the these settings. The number of gray inks, the order the inks are used in the partitioned profile from darkest to lightest ink, and what percentage of the black channel each channel is when it reaches its darkest point (the density that is printed at the 100 patch (See the section on the Ink Separation Images and printing in Calibration Mode).



This tells that curve creation program how many inks will be used to create the overlapping gray curves

The next two setting are used together for each ink that is used to partition the gray scale. GRAY_INK_n= This is used to tell the program what ink is used for that part of the curve. The "n" is a numeric number for each ink listed darkest to lightest. See the examples below for different sets ups with standard K3 inks and a six ink profile GRAY_VAL_n= The "gray val" is the cross over point and designates how much of the grayscale is made up by each channel. Since these settings determine how the gray inks intersect and overlap they are some of the more important settings to enter correctly. See the section on CrossOver Points for how to accurately determine these settings.

Example of a standard K3 partitioned profile


Example of an Eboni 6 partitioning settings



This section of settings controls the initial tonal distribution before linearization, and can be useful in creating smoother initial highlight and shadow transitions, controlling the degree of overlap from each ink, lighting and darkening the curve as a whole, or defining a specific curve the printed densities should follow.

Dot Gain Compensation

If it were not for these gray curve settings, the density of each step with the overlapping gray inks would almost exactly that of the Black channel printed at the predefined ink limit (but now the other gray dilutions would fill in the lighter end of the scale). Just by looking at the black channel’s ink separation image it is obvious that it will print too dark and the tones will need to be spread out more evenly across the gray scale. There are a few different settings for doing so, but easiest way to start is with the Gray Highlight and Gray Shadow inputs.


As the name implies, this adjusts the highlight end of the gray curve. This setting does not modify the total amount of ink in used in the lighter dilutions, but it does move them down the tonal scale. That total amount of ink is set with the ink limit for the lightest shade(s), but the highlight setting will affect the ink distribution in the highlight portion of the scale and will result in densities between 0% and about 30%. This highlight setting can be set from 0 to a maximum value of 10000. If this setting is left blank the QTR installer script will use a default value of 4, but a good starting point will fall somewhere between 4-10 with most of the dilutions being used. This setting is not critical and anything between 2-10 should be fine. There is very little change in the shape of the curve with a setting higher than about 20-50, so there is usually no benefit or need to use anything near the maximum value of 10,000. The only reason I mention this maximum amount is in case there is a mistake with this setting that might lead to a profile installation error.


This setting adjusts the darker end of the gray curve, and works similarly to the Gray Highlight setting. A higher the value will have more of a lightening affect in the darker portion of the tonal scale. It also has the same default value of 4 if this setting is left blank. This shadow setting should be set higher in cases where there are higher than normal ink limit settings for the darker shade inks. The generally recommended setting is around 6-10, but I've found that a setting as high as 15-20 does a good job keeping the darkest densities far enough apart for the linearization function to work properly with very dense blacks, especially true for glossy papers using Photo Black inks.

Additional Ink Overlap

In some cases it is useful to have more ink overlapping on another than what are created by default in the curve creation program. This might be for additional coverage to smooth bumps in ink sets containing 4 or more gray inks, or to produce more blocking densities in digital negatives.


The GRAY_OVERLAP setting controls how much additional overlap of each shade of gray inks is added above the built in QTR formula. Other documentation has suggested using this to boost the density of the shadows if the MK/PK is not as dense as you like, but the affect is not limited to the shadows. The overlap is distributed across the entire tonal scale, and each ink will overlap the neighboring inks.

There is a point where the additional ink overlap causes a flooding of the paper surface and can actually result in a lower Dmax. It can also result in lower printed resolution from the dots bleed into each other more than the coated surface can hold. Each paper is different so you will need to find a balance between enough overlap, the ink limit for the second darkest ink, and possibly the black boost setting.

When is the gray overlap setting useful?

There is enough overlap build into the 3 gray ink partitions that using an increased overlap setting is not beneficial for building profiles using the Epson OEM inks, although you might find it useful for smoothing out printer dots. It is useful when creating profiles for ink sets with more than 4 gray ink partitions. Another benefit is the increased ink coverage on the paper—it fills in all the spaces between the dots with ink giving a the perception of smoother, richer grays. While full coverage and smooth tones is more desirable, there is a balance between full coverage and excessive bleeding, which can cause the perception of sharpness to fall off.

If you make a profile with no overlap you will see that each ink ramp up very quickly flatten off for a short section, then fall off again fairly rapidly with minimal overlap from one shade to the next. This can cause noticeable bumps in gradients and cause linearization errors later on in the process. Using this overlap setting will cause all the inks to overlap for more steps in the tonal scale and should smooth out some of the possible banding. The shape of the overlapping ink curves created with this setting is not the same shape as the Piezography-style long trailing edge of each ink curve, but it does so has a similar affect in smoothing out the perception of printer dots as well as smoothing out bumps in printed step wedges and gradients.


This has an overall lightening/darkening affect across the whole grayscale. The default gamma is 1, and if left blank it will be set to that default when the profile is installed. The minimum and maximum values are 0.1 and 10 The Gray Gamma setting is similar to the gamma slider in the Levels adjustment inside photoshop. Setting this to a value higher than 1 will lighten the print and lower than 1 will darken it.


This setting allows you to define the initial tonal distribution before linearization. When this input is left black the default curve will be a straight line between 0 and 100. You can use a Saved Photoshop .acv curve and drag the actual .acv file to this line in either the text editor or QTRgui on the PC. Alternatively, you can enter any number of input and output coordinates to define the correction curve, although it is rarely advisable to use more than 21 coordinates as control points. The input and output values are grouped together by a semicolon, and each pair is separated by a single space, all of which are contained within a pair of double quotation marks.

  • Example: GRAY_CURVE=“0;0 7;5 46;50 92;95 100;100” The QuadToneProfiler uses this Gray Curve input for linearization purposes.


  • QuadToneRIP gives the ability to create two toner partitions to change the hue of the print. This is where some of the genius of QTR starts to come through. The toning is done separately from the grayscale partition and the degree of toning inks can be controlled independently of the grayscale inks. One possible downside of QuadToneRIP is the toning can not be controlled trough ICC profiles to create perfectly neutral prints with a perfect 0 in the Lab A and Lab B channels. I don’t find that to be a something to worry about, and would rather have to ability create the toned prints I want and not worry about it being perfectly neutral.
  • The toner ink partitions have the same basic structure as the gray ink partitions
  • If you are creating curves for third party gray inks and are not using different color inks as toners, “number of toner parts” should equal zero
  • This version of the QuadToneProfiler does not use the toner controls, but you can use the same profiling tools and workflows to create your own toner partitions by simply changing Gray to Toner N_OF_TONER_PARTS= The number of toner parts refers to the number of inks used in toner 1. With standard Epson UC K3 inks, the different toners are usually made with 2 dilutions of the same color ink—either magenta and light magenta or cyan and light cyan. The default profiles and curves that come with QTR only show a two-ink partition for toners 1 and 2, but the toners can be made up of three or more different partitions using the cross over calculations TONER_INK_1= This is where the ink channel being used for the darker part of the scale is listed TONER_VAL_1= The Toner value is similar to the gray value settings for defining the cross over points. Since the toner part can be made up of two or more dilutions of ink it requires a cross over point for determining where each of the lighter inks stop and the next darker ink takes over. Like GRAY_Val_1, TONER_VAL_1 will always be 100. TONER_INK_2= The ink channel that is being used in the lighter part of the scale is listed. In most cases it is the “photo” or light dilution of whatever the Toner_Ink_1 is. If the OEM ink set is used and Toner_Ink_1 uses the Cyan Ink, Toner ink 2 would be light cyan. TONER_VAL_2= This is the cross over point for creating the partitioned toner. If you are using the OEM C/LC M/LM ink then you can simply set these at 30. These is less critical than the gray val inks because there are only two partitions, and the light cyan and light magenta inks are generally a 30% dillution. If you are using gray inks with different hues then you should make a proper cross over point using the linear interpolation method I detail in the next section. TONER_HIGHLIGHT=10 These are similar to the Gray Curve settings TONER_SHADOW=10








Unused Inks


This setting is not really necessary but is automatically filled in by the QTRgui on Windows if any of the inks are set to “Not Used” in the ink limit pane.

If you are using a Mac and creating profiles with the text file, you can just enter 0 for the ink limit and they will not be used in generating curves for that profile.

Final Linearization


The final linearization is done when installing the ink descriptor file based on the measurements in the LINEARIZE= line. You must look at the terminal output from the curve installation to make sure the linearization was successful. A linearization failure might happen if there are measurments that are too close together, have reversals, or have "bumpy" measurement errors.

Ink Curves

The ink curve options allow you to control the ink density of each ink manually, either with input and output points or with Photoshop .acv curve files. These curve settings bypass the QTR ink partitioning controls and should only be used by advanced users.