Eolas Technologies Incorporated v. Adobe Systems Incorporated et al
Filing
996
RESPONSE in Opposition re 877 SEALED MOTION [DEFENDANTS' MOTION FOR SUMMARY JUDGMENT OF INVALIDITY FOR LACK OF WRITTEN DESCRIPTION] SEALED MOTION [DEFENDANTS' MOTION FOR SUMMARY JUDGMENT OF INVALIDITY FOR LACK OF WRITTEN DESCRIPTION] SEALED MOTION [DEFENDANTS' MOTION FOR SUMMARY JUDGMENT OF INVALIDITY FOR LACK OF WRITTEN DESCRIPTION] filed by Eolas Technologies Incorporated. (Attachments: # 1 Declaration of Josh Budwin, # 2 Exhibit A1, # 3 Exhibit A2, # 4 Exhibit B, # 5 Exhibit C, # 6 Exhibit D, # 7 Exhibit E, # 8 Exhibit F, # 9 Exhibit G, # 10 Exhibit H, # 11 Exhibit I, # 12 Text of Proposed Order)(McKool, Mike)
EXHIBIT B
PostScript
®
L AN G UA GE REFERENC E
third edition
Adobe Systems Incorporated
Addison-Wesley Publishing Company
Reading, Massachusetts • Menlo Park, California • New York • Don Mills, Ontario
Harlow, England • Amsterdam • Bonn • Sydney • Singapore • Tokyo
Madrid • San Juan • Paris • Seoul • Milan • Mexico City • Taipei
Library of Congress Cataloging-in-Publication Data
PostScript language reference manual / Adobe Systems Incorporated. — 3rd ed.
p. cm.
Includes bibliographical references and index.
ISBN 0-201-37922-8
1. PostScript (Computer program language) I. Adobe Systems.
QA76.73.P67 P67 1999
005.13'3—dc21
98-55489
CIP
© 1985–1999 Adobe Systems Incorporated. All rights reserved.
NOTICE: All information contained herein is the property of Adobe Systems Incorporated.
No part of this publication (whether in hardcopy or electronic form) may be reproduced
or transmitted, in any form or by any means, electronic, mechanical, photocopying,
recording, or otherwise, without the prior written consent of the publisher.
PostScript is a registered trademark of Adobe Systems Incorporated. All instances of the
name PostScript in the text are references to the PostScript language as defined by Adobe
Systems Incorporated unless otherwise stated. The name PostScript also is used as a product trademark for Adobe Systems’ implementation of the PostScript language interpreter.
Except as otherwise stated, any mention of a “PostScript printer,” “PostScript software,” or
similar item refers to a product that contains PostScript technology created or licensed by
Adobe Systems Incorporated, not to one that purports to be merely compatible.
Adobe, Adobe Illustrator, Adobe Type Manager, Chameleon, Display PostScript, FrameMaker, Minion, Myriad, Photoshop, PostScript, PostScript 3, and the PostScript logo are
trademarks of Adobe Systems Incorporated. LocalTalk, QuickDraw, and TrueType are
trademarks and Mac OS is a registered trademark of Apple Computer, Inc. Helvetica and
Times are registered trademarks of Linotype-Hell AG and/or its subsidiaries. Times New
Roman is a trademark of The Monotype Corporation registered in the U.S. Patent and
Trademark Office and may be registered in certain other jurisdictions. Unicode is a registered trademark of Unicode, Inc. PANTONE is a registered trademark and Hexachrome is
a trademark of Pantone, Inc. Windows is a registered trademark of Microsoft Corporation.
All other trademarks are the property of their respective owners.
This publication and the information herein are furnished AS IS, are subject to change
without notice, and should not be construed as a commitment by Adobe Systems Incorporated. Adobe Systems Incorporated assumes no responsibility or liability for any errors or
inaccuracies, makes no warranty of any kind (express, implied, or statutory) with respect
to this publication, and expressly disclaims any and all warranties of merchantability, fitness for particular purposes, and noninfringement of third-party rights.
ISBN 0-201-37922-8
1 2 3 4 5 6 7 8 9 CRS 03 02 01 00 99
First printing February 1999
iii
Contents
Preface
xiii
Chapter 1: Introduction
1.1
1.2
1.3
1.4
1.5
About This Book 3
Evolution of the PostScript Language
LanguageLevel 3 Overview 6
Related Publications 7
Copyrights and Trademarks 9
Chapter 2: Basic Ideas
2.1
2.2
2.3
2.4
11
23
Interpreter 24
Syntax 25
Data Types and Objects 34
Stacks 45
Execution 46
Overview of Basic Operators 51
Memory Management 56
File Input and Output 73
Named Resources 87
Functions 106
Errors 114
Early Name Binding 117
Filtered Files Details 123
Binary Encoding Details 156
Chapter 4: Graphics
4.1
4.2
4.3
5
Raster Output Devices 11
Scan Conversion 12
Page Description Languages 13
Using the PostScript Language 15
Chapter 3: Language
3.1
3.2
3.3
3.4
3.5
3.6
3.7
3.8
3.9
3.10
3.11
3.12
3.13
3.14
1
175
Imaging Model 176
Graphics State 178
Coordinate Systems and Transformations
182
C HA P T E R 3
24
Language
It begins with a brief overview of the PostScript interpreter. The following sections detail the syntax, data types, execution semantics, memory organization,
and general-purpose operators of the PostScript language (excluding those that
deal with graphics and fonts). The final sections cover file input and output,
named resources, function dictionaries, errors, how the interpreter evaluates
name objects, and details on filtered files and binary encoding.
3.1 Interpreter
The PostScript interpreter executes the PostScript language according to the rules
in this chapter. These rules determine the order in which operations are carried
out and how the pieces of a PostScript program fit together to produce the desired results.
The interpreter manipulates entities called PostScript objects. Some objects are
data, such as numbers, boolean values, strings, and arrays. Other objects are elements of programs to be executed, such as names, operators, and procedures.
However, there is not a distinction between data and programs; any PostScript
object may be treated as data or be executed as part of a program.
The interpreter operates by executing a sequence of objects. The effect of executing a particular object depends on that object’s type, attributes, and value. For
example, executing a number object causes the interpreter to push a copy of that
object on the operand stack (to be described shortly). Executing a name object
causes the interpreter to look up the name in a dictionary, fetch the associated
value, and execute it. Executing an operator object causes the interpreter to
perform a built-in action, such as adding two numbers or painting characters in
raster memory.
The objects to be executed by the interpreter come from two principal sources:
• A character stream may be scanned according to the syntax rules of the PostScript language, producing a sequence of new objects. As each object is
scanned, it is immediately executed. The character stream may come from an
external source, such as a file or a communication channel, or it may come
from a string object previously stored in the PostScript interpreter’s memory.
• Objects previously stored in an array in memory may be executed in sequence.
Such an array is known as a procedure.
3.2
25
Syntax
The interpreter can switch back and forth between executing a procedure and
scanning a character stream. For example, if the interpreter encounters a name in
a character stream, it executes that name by looking it up in a dictionary and retrieving the associated value. If that value is a procedure object, the interpreter
suspends scanning the character stream and begins executing the objects in the
procedure. When it reaches the end of the procedure, it resumes scanning the
character stream where it left off. The interpreter maintains an execution stack for
remembering all of its suspended execution contexts.
3.2 Syntax
As the interpreter scans the text of a PostScript program, it creates various types
of PostScript objects, such as numbers, strings, and procedures. This section discusses only the syntactic representation of such objects. Their internal representation and behavior are covered in Section 3.3, “Data Types and Objects.”
There are three encodings for the PostScript language: ASCII, binary token, and
binary object sequence. The ASCII encoding is preferred for expository purposes
(such as this book), for archiving documents, and for transmission via communications facilities, because it is easy to read and does not rely on any special characters that might be reserved for communications use. The two binary encodings
are usable in controlled environments to improve the efficiency of representation
or execution; they are intended exclusively for machine generation. Detailed information on the binary encodings is provided in Section 3.14, “Binary Encoding
Details.”
3.2.1 Scanner
The PostScript language differs from most other programming languages in that
it does not have any syntactic entity for a “program,” nor is it necessary for an entire “program” to exist in one place at one time. There is no notion of “reading in”
a program before executing it. Instead, the PostScript interpreter consumes a program by reading and executing one syntactic entity at a time. From the interpreter’s point of view, the program has no permanent existence. Execution of the
program may have side effects in the interpreter’s memory or elsewhere. These
side effects may include the creation of procedure objects in memory that are intended to be invoked later in the program; their execution is deferred.
Disclaimer: Justia Dockets & Filings provides public litigation records from the federal appellate and district courts. These filings and docket sheets should not be considered findings of fact or liability, nor do they necessarily reflect the view of Justia.
Why Is My Information Online?