Type1Font             package:grDevices             R Documentation

Type 1 and CID Fonts

Description:

     These functions are used to define the translation of a R graphics
     font family name to a Type 1 or CID font descriptions, used by
     both the 'postscript' and 'pdf' graphics devices.

Usage:

     Type1Font(family, metrics, encoding = "default")

     CIDFont(family, cmap, cmapEncoding, pdfresource = "")

Arguments:

  family: a character string giving the name to be used internally for
          a Type 1 or CID-keyed font family.  This needs to uniquely
          identify each family, so if you modify a family which is in
          use (see 'postscriptFonts') you need to change the family
          name.

 metrics: a character vector of four or five strings giving paths to
          the afm (Adobe Font Metric) files for the font.

    cmap: the name of a CMap file for a CID-keyed font.

encoding: for 'Type1Font', the name of an encoding file. Defaults to
          '"default"', which maps on this platform to "ISOLatin1.enc".
          Otherwise, a file name in the 'enc' directory of the
          'grDevices' package, which is used if the path does not
          contain a path separator.  An extension '".enc"' can be
          omitted.

cmapEncoding: The name of a character encoding to be used with the
          named CMap file: strings will be translated to this encoding
          when written to the file.

pdfresource: A chunk of PDF code;  only required for using a CID-keyed
          font on 'pdf'; users should not be expected to provide this.

Details:

     For 'Type1Fonts', if four '.afm' files are supplied the fifth is
     taken to be '"Symbol.afm"'.  Relative paths are taken relative to
     the directory 'R_HOME/library/grDevices/afm'. The fifth (symbol)
     font must be in 'AdobeSym' encoding. However, the glyphs in the
     first four fonts are referenced by name and any encoding given
     within the '.afm' files is not used.

     Glyphs in CID-keyed fonts are accessed by ID (number) and not by
     name. The CMap file maps encoded strings (usually in a MBCS) to
     IDs, so 'cmap' and 'cmapEncoding' specifications must match. 
     There are no real bold or italic versions of CID fonts
     (bold/italic were very rarely used in traditional CJK topography),
     and for the 'pdf' device all four font faces will be identical.
     However, for the 'postscript' device, bold and italic (and bold
     italic) are emulated.

     CID-keyed fonts are intended only for use for the glyphs of CJK
     languages, which are all monospaced and are all treated as filling
     the same bounding box.  (Thus 'plotmath' will work with such
     characters, but the spacing will be less carefully controlled than
     with Western glyphs.)  The CID-keyed fonts do contain other
     characters, including a Latin alphabet:  non-CJK glyphs are
     regarded as monospaced with half the width of CJK glyphs.  This is
     often the case, but sometimes Latin glyphs designed for
     proportional spacing are used (and may look odd).  We strongly
     recommend that CID-keyed fonts are *only* used for CJK glyphs.

Value:

     A list of class '"Type1Font"' or '"CIDFont"'.

See Also:

     'postscript', 'pdf', 'postscriptFonts', and 'pdfFonts'.

Examples:

     ## This duplicates "ComputerModernItalic".
     CMitalic <- Type1Font("ComputerModern2",
                           c("CM_regular_10.afm", "CM_boldx_10.afm",
                             "cmti10.afm", "cmbxti10.afm",
                             "CM_symbol_10.afm"),
                           encoding = "TeXtext.enc")

     ## Not run: 
     ## This could be used by
     postscript(family = CMitalic)
     ## or
     postscriptFonts(CMitalic = CMitalic)  # once in a session
     postscript(family = "CMitalic", encoding = "TeXtext.enc")
     ## End(Not run)

