09.12.2012 Views

Preface - Adobe

Preface - Adobe

Preface - Adobe

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

CHAPTER 3<br />

3.3 Data Types and Objects<br />

34<br />

Language<br />

All data accessible to PostScript programs, including procedures that are part of<br />

the programs themselves, exists in the form of objects. Objects are produced, manipulated,<br />

and consumed by the PostScript operators. They are also created by<br />

the scanner and executed by the interpreter.<br />

Each object has a type, some attributes, and a value. Objects contain their own dynamic<br />

types; that is, an object’s type is a property of the object itself, not of where<br />

it is stored or what it is called. Table 3.2 lists all the object types supported by the<br />

PostScript language. Extensions to the language may introduce additional object<br />

types. The distinction between simple and composite objects is explained below.<br />

TABLE 3.2 Types of objects<br />

SIMPLE OBJECTS COMPOSITE OBJECTS<br />

boolean array<br />

fontID dictionary<br />

integer file<br />

mark gstate (LanguageLevel 2)<br />

name packedarray (LanguageLevel 2)<br />

null save<br />

operator string<br />

real<br />

3.3.1 Simple and Composite Objects<br />

Objects of most types are simple, atomic entities. An atomic object is always constant—a<br />

2 is always a 2. There is no visible substructure in the object; the type, attributes,<br />

and value are irrevocably bound together and cannot be changed.<br />

However, objects of certain types indicated in Table 3.2 are composite. Their<br />

values are separate from the objects themselves; for some types of composite object,<br />

the values have internal substructure that is visible and can sometimes be

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!