Previous Next


                                                 58
      CHAPTER 3                                                                    Syntax



      occasionally the need arises to treat a name object as text, such as one that
      represents a font name (see the BaseFont entry in Table 5.8 on page 413) or a
      structure type (see Section 10.6.2, “Structure Types”).

      In such situations, it is recommended that the sequence of bytes (after expansion
      of # sequences, if any) be interpreted according to UTF-8, a variable-length byte-
      encoded representation of Unicode in which the printable ASCII characters have
      the same representations as in ASCII. This enables a name object to represent text
      in any natural language, subject to the implementation limit on the length of a
      name. (See implementation note 5 in Appendix H.)

      Note: PDF does not prescribe what UTF-8 sequence to choose for representing any
      given piece of externally specified text as a name object. In some cases, multiple
      UTF-8 sequences could represent the same logical text. Name objects defined by dif-
      ferent sequences of bytes constitute distinct name objects in PDF, even though the
      UTF-8 sequences might have identical external interpretations.

      In PDF, name objects always begin with the slash character (/), unlike keywords
      such as true, false, and obj. This book follows a typographic convention of
      writing names without the leading slash when they appear in running text and
      tables. For example, Type and FullScreen denote names that would actually be
      written in a PDF file (and in code examples in this book) as /Type and /FullScreen.


3.2.5 Array Objects

      An array object is a one-dimensional collection of objects arranged sequentially.
      Unlike arrays in many other computer languages, PDF arrays may be hetero-
      geneous; that is, an array’s elements may be any combination of numbers, strings,
      dictionaries, or any other objects, including other arrays. The number of
      elements in an array is subject to an implementation limit; see Appendix C.

      An array is written as a sequence of objects enclosed in square brackets ([ and ]):

        [ 549 3.14 false ( Ralph ) /SomeName ]

      PDF directly supports only one-dimensional arrays. Arrays of higher dimension
      can be constructed by using arrays as elements of arrays, nested to any depth.

Previous Next