Previous Next
168
CHAPTER 3 Syntax
function dictionary specifies the function’s representation, the set of attributes
that parameterize that representation, and the additional data needed by that
representation. Four types of functions are available, as indicated by the
dictionary’s FunctionType entry:
• (PDF 1.2) A sampled function (type 0) uses a table of sample values to define the
function. Various techniques are used to interpolate values between the sample
values (see Section 3.9.1, “Type 0 (Sampled) Functions”).
• (PDF 1.3) An exponential interpolation function (type 2) defines a set of coef-
ficients for an exponential function (see Section 3.9.2, “Type 2 (Exponential In-
terpolation) Functions”).
• (PDF 1.3) A stitching function (type 3) is a combination of other functions, par-
titioned across a domain (see Section 3.9.3, “Type 3 (Stitching) Functions”).
• (PDF 1.3) A PostScript calculator function (type 4) uses operators from the
PostScript language to describe an arithmetic expression (see Section 3.9.4,
“Type 4 (PostScript Calculator) Functions”).
All function dictionaries share the entries listed in Table 3.35.
TABLE 3.35 Entries common to all function dictionaries
KEY TYPE VALUE
FunctionType integer (Required) The function type:
0 Sampled function
2 Exponential interpolation function
3 Stitching function
4 PostScript calculator function
Domain array (Required) An array of 2 × m numbers, where m is the number of input val-
ues. For each i from 0 to m − 1, Domain2i must be less than or equal to
Domain2i+1 , and the ith input value, xi , must lie in the interval
Domain2i ≤ xi ≤ Domain2i+1 . Input values outside the declared domain are
clipped to the nearest boundary value.
Range array (Required for type 0 and type 4 functions, optional otherwise; see below) An
array of 2 × n numbers, where n is the number of output values. For each j
from 0 to n − 1, Range2j must be less than or equal to Range2j+1 , and the jth
output value, yj , must lie in the interval Range2j ≤ yj ≤ Range2j+1 . Output
values outside the declared range are clipped to the nearest boundary value. If
this entry is absent, no clipping is done.
Previous Next