Previous Next


                                             472
     CHAPTER 5                                                                      Text



5.9.2 ToUnicode CMaps

     The CMap defined in the ToUnicode entry of the font dictionary must follow the
     syntax for CMaps introduced in Section 5.6.4, “CMaps” and fully documented in
     Adobe Technical Note #5014, Adobe CMap and CIDFont Files Specification. Addi-
     tional guidance regarding the CMap defined in this entry is provided in Adobe
     Technical Note #5411, ToUnicode Mapping File Tutorial. This CMap differs from
     an ordinary one in the following ways:

     • The only pertinent entry in the CMap stream dictionary (see Table 5.17 on
       page 448) is UseCMap, which may be used if the CMap is based on another
       ToUnicode CMap.
     • The CMap file must contain     begincodespacerange and endcodespacerange
       operators that are consistent with the encoding that the font uses. In particular,
       for a simple font, the codespace must be one byte long.
     • It must use the beginbfchar, endbfchar, beginbfrange, and endbfrange opera-
       tors to define the mapping from character codes to Unicode character sequenc-
       es expressed in UTF-16BE encoding.

     Example 5.15 illustrates a Type 0 font that uses the Identity−H CMap to map from
     character codes to CIDs and whose descendant CIDFont uses the Identity map-
     ping from CIDs to TrueType glyph indices. Text strings shown using this font
     simply use a 2-byte glyph index for each glyph. In the absence of a ToUnicode en-
     try, no information would be available about what the glyphs mean.

     Example 5.15

       14 0 obj
          << /Type /Font
              /Subtype /Type0
              /BaseFont /Ryumin−Light
              /Encoding /Identity−H
              /DescendantFonts [ 15 0 R ]
              /ToUnicode 16 0 R
          >>
       endobj

       15 0 obj
          << /Type /Font
             /Subtype /CIDFontType2
             /BaseFont /Ryumin−Light

Previous Next