SECTION 5.6
451
Composite Fonts
1 beginnotdefrange
< 00 >
< 1F >
231
endnotdefrange
100 begincidrange
< 20 >
< 7D >
231
< 7E >
< 7E >
631
< 8140 > < 817E > 633
< 8180 > < 81AC > 696
< 81B8 > < 81BF > 741
< 81C8 > < 81CE > 749
… Additional ranges …
< FB40 > < FB7E > 8518
< FB80 > < FBFC > 8581
< FC40 > < FC4B > 8706
endcidrange
endcmap
CMapName currentdict /CMap defineresource pop
end
end
%%EndResource
%%EOF
endstream
endobj
As can be seen from this example, a CMap file conforms to PostScript language
syntax; however, a full PostScript interpreter is not needed to interpret it. Aside
from some required boilerplate, the CMap file consists of one or more occur-
rences of several special CMap construction operators, invoked in a specific
order. Following is a summary of these operators:
•
begincmap
and
endcmap
enclose the CMap definition.
•
usecmap
incorporates the code mappings from another CMap file. In PDF, the
other CMap must also be identified in the
UseCMap
entry in the CMap dictio-
nary (see Table 5.17 on page 448).
•
begincodespacerange
and
endcodespacerange
define
codespace ranges—the
valid input character code ranges—by specifying a pair of codes of some partic-
ular length giving the lower and upper bounds of each range; see “CMap Map-