Previous Next


                                       451
SECTION 5.6                                                        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-
  ping” on page 453.

Previous Next