页面描述语言与格式第二章.ppt
《页面描述语言与格式第二章.ppt》由会员分享,可在线阅读,更多相关《页面描述语言与格式第二章.ppt(140页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、页面描述语言与格式PostScript&PDF甘朝华第二章 PostScript语言的基本特点 ASCII ASCII编码与注释表示编码与注释表示 数据类型与对象数据类型与对象 PostScript PostScript程序的执行环境程序的执行环境 PostScript PostScript对象的执行方式对象的执行方式 早期名字联编的概念与具体实现早期名字联编的概念与具体实现 常用操作符常用操作符 PostScript PostScript资源、函数和过滤器资源、函数和过滤器 语语法法、数数据据类类型型和和执执行行语语义义是是任任何何一一个个 PostScript程程序序的的三三个个基基本本方
2、方面面,加加上上以以后后章章节节中中描描述述的的PostScript语语言言的的图图形形、图图像像和和文文字字功功能能,使使得得PostScript语语言言能能够够胜胜任任控控制制打打印页面处理的任务。印页面处理的任务。本本章章主主要要介介绍绍PostScript语语言言作作为为通通用用程程序序设设计计语语言言的的特特点点,PostScript语语言言吸吸收收了了其其他他几几种种优优秀秀程程序序设设计计语语言言的的元元素素与与思思想想。采采用用“前缀前缀”表示法,即操作数在前,操作符在后。表示法,即操作数在前,操作符在后。尽尽管管PostScript语语言言内内置置的的操操作作符符很很多多,但
3、但操操作作符符的的名名字字在在语语言言中中并并不不是是固固定定的的,在在PostScript程程序序中中可可通通过过重重定定义义的的方方法法来来改改变变操作符的含义。操作符的含义。数数据据类类型型包包括括一一些些在在许许多多现现代代程程序序设设计计语语言言中中都都有有的的元元素素,如如数数值值、串串和和数数组组,同同时时还还能能够够把把程程序序作作为为数数据据进进行行处处理理,以以及及控控制制语语言言执执行行状状态态许许多多方方面面,这这些些方方法法来来源源于于 LISP等等其他程序设计语言。其他程序设计语言。PostScript语语言言语语法法比比较较简简单单,而而功功能能非非常强大常强大。
4、它它的的强强大大功功能能来来自自于于它它能能够够不不受受任任何何限限制制地地以以任任意意方方式式组组合合它它的的各各项项特特征征。利利用用 PostScript 语语言言的的这这些些功功能能人人们们可可以以设设计计出出复复杂杂的的图图形形应应用用程程序序,否否则则这这些些程程序序很很难难甚甚至至不不可能用于创造复杂图形。可能用于创造复杂图形。本本章章将将系系统统地地介介绍绍 PostScript 语语言言作作为为通通用用程程序设计语言的每个方面序设计语言的每个方面:语法语法 数据类型数据类型执行语义执行语义内存组织内存组织简要介绍文件输入和输出简要介绍文件输入和输出命名资源命名资源过滤器文件过
5、滤器文件 2.12.1 ASCII ASCII编码与注释表示编码与注释表示 PostScript语语言言有有三三种种编编码码方方式式:ASCII、二进制标记和二进制对象序列。二进制标记和二进制对象序列。ASCII编编码码容容易易读读且且不不依依赖赖于于通通信信应应用用中中所所保保留留的的特特殊殊字字符符,它它适适用用于于阐阐述述目目的的、存存储储文件及各种通信设备间的信息传递。文件及各种通信设备间的信息传递。两两种种二二进进制制编编码码则则采采用用较较少少字字符符的的二二进进制制标标记记或或压压缩缩方方法法来来表表示示 PostScript 对对象象,常常应应用用在在控控制制环环境境中中用用于
6、于改改善善程程序序表表示示或或执执行行的的效效率。率。在在任任何何一一个个 PostScript 程程序序中中,这这三三种种编编码方式可混合使用。码方式可混合使用。2.12.1 ASCII ASCII编码与注释表示编码与注释表示ASCII 编码:编码:ASCII是是 American Standard Code for Information Interchange的的简简称称。这这是是一一种种广广泛泛采采用用的的用用于于表表示示二二进进制制数数据据的的编编码码方方式式,它它由一套标准的字符集组成。由一套标准的字符集组成。用用于于PostScript程程序序ASCII编编码码表表示示的的标标准
7、准字字符符集集包包括括大大写写和和小小写写的的26个个英英文文字字母母、10个个数数字字和和特特殊殊符符号号等等所所有有可可打打印印字字符符,以以及及空空格格、制表符制表符、回车回车和和换行符换行符等等“空白空白”字符字符。2.12.1 ASCII ASCII编码与注释表示编码与注释表示ASCII 编码:编码:PostScript程序程序使用使用的的ASCII字符。字符。依据作用分成三类:依据作用分成三类:空白字符空白字符特殊字符特殊字符注释注释2.12.1 ASCII ASCII编码与注释表示编码与注释表示ASCII 编码:编码:空白字符空白字符空白字符的作用是用于分隔其他语法实体空白字符的
8、作用是用于分隔其他语法实体2.12.1 ASCII ASCII编码与注释表示编码与注释表示ASCII 编码:编码:特殊特殊字符字符 特特殊殊字字符符是是指指“(”、“)”、“”、“”、“”、“”、“”、“”、“/”和和“%”。它它们们用用来来分分隔隔语语法法实实体体,如如串串、数数组组、过过程、词典、具字面属性的名字、注释。程、词典、具字面属性的名字、注释。任任何何一一个个特特殊殊字字符符都都表表示示位位于于它它们们之之前前的的实体已经结束。实体已经结束。2.12.1 ASCII ASCII编码与注释表示编码与注释表示ASCII 编码:编码:注释注释 在在任任何何一一个个计计算算机机语语言言程
9、程序序中中,为为了了增增加加程程序序的的可可读读性性,通通常常在在程程序序中中添添加加注注释释。PostScript程程序序中中的的注注释释由由特特殊殊字字符符“%”引引导导,并以新行符结束。并以新行符结束。注释不对程序的结果起任何作用注释不对程序的结果起任何作用%example1.ps/nx l def%定义定义 nx 的值为的值为 1 nx 4 add%nx+4=5=%把刚才的计算结果输出到标准输出文件中把刚才的计算结果输出到标准输出文件中2.22.2 数据类型与对象数据类型与对象概述:概述:当当一一个个扫扫描描程程序序扫扫描描PostScript语语言言程程序序正正文文的的时时候候能能产
10、产生生各各种种不不同同类类型型的的PostScript对象对象,如数值如数值、串和过程串和过程。2.22.2 数据类型与对象数据类型与对象概述:概述:对象的概念与特点对象的概念与特点 在在PostScript程程序序中中,所所有有可可被被PostScript解释器访问的数据均称为解释器访问的数据均称为PostScript对象对象。对象的产生对象的产生:通通过过扫扫描描程程序序产产生生 PostScript 对对象象并并由由解解释器执行;释器执行;由由PostScript操作符产生、管理和撤消。操作符产生、管理和撤消。对象的构成三要素对象的构成三要素:一个类型、某些属性、一个值。一个类型、某些属
11、性、一个值。对对象象的的类类型型是是对对象象本本身身所所固固有有的的特特性性,与与该对象的存放地点和如何描述无关。该对象的存放地点和如何描述无关。2.22.2 数据类型与对象数据类型与对象概述:概述:对象的概念与特点对象的概念与特点 PostScript所所支支持持的的所所有有对对象象类类型型包包括括名名字字、布布尔尔型型、整整数数和和实实数数、串串、数数组组、词词典典、过过程程、操操作作符符、标标记记、空空、Save对对象象,FontID 文文件件、图图形形状状态态(gstate)、压缩数组等。压缩数组等。2.22.2 数据类型与对象数据类型与对象概述:概述:对象分类对象分类 PostScr
12、ipt 对对象象的的类类型型多多种种多多样样,根根据据各各对对象象三三要要素素是是否否结结合合在在一一起起的的特特点点不不同同,把把PostScript对对象象分分成成两两大大类类:简简单单对对象象和和复复合合对象对象。简简单单对对象象是是指指本本身身不不能能再再分分解解成成更更多多对对象象的的 PostScript 对象。对象。无无子子结结构构、三三要要素素结结合合在在一一起起,保保存存在在“操作数栈操作数栈”存储区域。存储区域。第三周2.22.2 数据类型与对象数据类型与对象概述:概述:对象分类对象分类 复复合合对对象象是是指指一一些些内内部部结结构构还还可可再再细细分分为为一个或多个一个
13、或多个PostScript对象的对象。对象的对象。有有可可见见的的内内部部子子结结构构、可可有有选选择择地地对对它它们们进进行行修修改改;其其值值与与类类型型、属属性性分分开开存存储储在在内内存存的的不不同同地地方方,其其中中值值存存放放在在存存储储器器的的一一个个称称为为“虚虚存存”的的特特殊殊区区域域中中,而而对对象象本本身身则则存存放放在在操作数栈操作数栈中。中。2.22.2 数据类型与对象数据类型与对象概述:概述:对象分类对象分类简单对象和复合对象最重要的区别简单对象和复合对象最重要的区别就在于复制对象时所产生的就在于复制对象时所产生的结果不一样:结果不一样:(abc)(abc)1(d
14、)put(abc)dup 1(d)put(abc)(abc)两个不同的串两个不同的串(abc)dup 一个串的两个拷贝一个串的两个拷贝2.22.2 数据类型与对象数据类型与对象概述:概述:对象分类对象分类2.22.2 数据类型与对象数据类型与对象对象的属性:对象的属性:每每一一个个PostScript对对象象都都有有一一个个或或多多个个属属性。性。在在执执行行对对象象或或对对对对象象进进行行某某个个特特定定操操作作时时 这些属性将影响操作所产生的结果这些属性将影响操作所产生的结果。在在把把对对象象严严格格地地作作为为数数据据处处理理时时,对对象象的的属属性性又又不不影影响响对对其其进进行行操操
15、作作所所产产生生的的结结果果(如如,变量的变量的名字名字与与值值)。)。2.22.2 数据类型与对象数据类型与对象对象的属性:对象的属性:字面属性和可执行属性字面属性和可执行属性 每一个对象每一个对象至少有至少有一个属性。一个属性。字面属性字面属性或或可执行属性可执行属性。(1)整整型型、实实型型、字字符符串串、数数组组、词词典典均均只只具有字面属性,均被当作数据压入操作数栈;具有字面属性,均被当作数据压入操作数栈;(2)如如果果名名字字对对象象以以“/”开开始始,则则该该名名字字具具有字面属性,否则具有可执行属性;有字面属性,否则具有可执行属性;(3)过程和操作符都只具有可执行属性。)过程和
16、操作符都只具有可执行属性。2.22.2 数据类型与对象数据类型与对象对象的属性:对象的属性:字面属性和可执行属性字面属性和可执行属性(1)执执行行一一个个可可执执行行的的名名字字,将将导导致致在在当当前前词词典典(缺缺省省为为用用户户词词典典)的的上上下下文文中中查查找找该该名名字,并执行其相应的值;字,并执行其相应的值;(2)执执行行一一个个可可执执行行的的操操作作符符就就完完成成一一次次内内部动作;部动作;(3)执执行行一一个个可可执执行行的的过过程程对对象象,就就使使得得过过程中的元素依次被执行。程中的元素依次被执行。执行一个对象的含义依赖于对象的类型和属性执行一个对象的含义依赖于对象的
17、类型和属性2.22.2 数据类型与对象数据类型与对象对象的属性:对象的属性:存取属性存取属性 对对象象的的另另外外一一个个属属性性是是存存取取属属性性,只只有有复复合对象才具有存取属性。合对象才具有存取属性。该该属属性性用用于于限限制制对对对对象象值值的的操操作作,共共有有以以下四种:下四种:1、无限制属性、无限制属性2、只读属性、只读属性3、只执行属性、只执行属性4、空、空-无直接用处无直接用处2.22.2 数据类型与对象数据类型与对象对象的属性:对象的属性:存取属性存取属性 属性是对象自身的特性而不是其值的特性:属性是对象自身的特性而不是其值的特性:两两个个复复合合对对象象能能够够共共享享
18、同同一一个个值值但但可可以以具具有不同的字面属性与可执行属性或存取属性;有不同的字面属性与可执行属性或存取属性;词词典典对对象象的的存存取取属属性性是是其其值值的的特特性性,所所以以共享一个值的多个词典对象有同样的存取属性。共享一个值的多个词典对象有同样的存取属性。2.22.2 数据类型与对象数据类型与对象PostScript对象详述:对象详述:简单对象简单对象数值数值:整数和实数整数和实数整数整数60、-80、0、+12、8998实数实数0.3、-90、1.0、0.0进进制制表表示示:base#number(其其中中,base为为236,number是是base进进制制中中的的基基础础数数值
19、值,它它必必须须是是由由值值在在0base-1之之间间的的数数字字组组成成,大大于于9的的数数字字用字母用字母“AZ”(或(或“az”)来表示)。)来表示)。八进制数八进制数 8#1675十六进制数十六进制数 16#ADFF二进制数二进制数 2#10102.22.2 数据类型与对象数据类型与对象PostScript对象详述:对象详述:简单对象简单对象名名字字:变变量量,用用于于表表示示名名字字对对象象的的标标识识符符可可由由任何常规字符组成。任何常规字符组成。如如,9A4、B7、2-9B、4.A、$、a.b、$MyDict、pattern对对于于名名字字对对象象来来说说,它它本本身身并并没没有
20、有值值,但但却却可可以以与与词词典典中中的的值值相相对对应应,构构成成一一个个关关键键字字与与值值对对。与与名名字字对对象象相相对对应应的的值值可可以以是是任任意意的的 PostScript 对象。对象。例如例如,/nx1 1 def 表示字面属性的名字表示字面属性的名字nx1,它与用户词典中的数值它与用户词典中的数值 1 对应对应2.22.2 数据类型与对象数据类型与对象PostScript对象详述:对象详述:简单对象简单对象操操作作符符:操操作作符符对对象象代代表表着着PostScript语语言言的的内内部部操操作作,执执行行一一个个操操作作符符对对象象便便是是激激活活一一个个内内部部操操
21、作作,操操作作符符对对象象相相当当于于一一个个特特殊殊的的名名字字对对象象 它它与与系系统统词词典典中中的的某某一一个个值值相相对对应应,其其值值对应于一种内部操作对应于一种内部操作。比如,比如,add操作符:两个数值相加操作符:两个数值相加2.22.2 数据类型与对象数据类型与对象PostScript对象详述:对象详述:简单对象简单对象布布尔尔型型(boolean):与与其其他他计计算算机机语语言言一一样样 PostScript语语言言也也提提供供了了布布尔尔对对象象,其其值值分分别别为为 true和和false系系统统词词典典中中的的名名字字对对象象true和和false所对应的值便是这两
22、个布尔对象。所对应的值便是这两个布尔对象。布布尔尔对对象象通通常常也也是是关关系系操操作作符符或或逻逻辑辑操操作作符符的的运运行行结结果果,同同时时也也可可能能是是执执行行其其他他操操作作符符后后所所返回的值。返回的值。布尔对象一般用于条件表达式和布尔对象一般用于条件表达式和逻辑表达式中逻辑表达式中,主要用作控制操作符主要用作控制操作符 if 或或 ifelse 的操作数的操作数2.22.2 数据类型与对象数据类型与对象PostScript对象详述:对象详述:简单对象简单对象空空对对象象(Null):PostScript 语语言言提提供供了了一一个个称称为空的对象,该对象不含任何具体内容。为空
23、的对象,该对象不含任何具体内容。空空对对象象只只有有一一个个值值为为null名名字字对对象象,null与与系系统统词典中的空对象相对应。词典中的空对象相对应。应应用用在在:复复合合对对象象中中的的空空位位置置或或未未初初始始化化的的位位置。置。大多数操作符不能以空对象作为其操作数。大多数操作符不能以空对象作为其操作数。2.22.2 数据类型与对象数据类型与对象PostScript对象详述:对象详述:简单对象简单对象标标记记(mark):标标记记是是一一个个特特殊殊对对象象,用用于于标标记记操操作作数数栈栈中中的的位位置置,它它只只有有一一个个值值,且且总总是是通通过过调调用用mark、“”、“
24、”这这三三个个操操作作符符来来创创建。建。2.22.2 数据类型与对象数据类型与对象PostScript对象详述:对象详述:复合对象复合对象串串:PostScript语语言言中中的的串串是是一一个个复复合合对对象象,它它具具有有三三种种表表示示形形式式:由由(和和)括括起起来来的的字字符符正正文文串串,通通常常用用于于保保存存正正文文;由由括括起起来来的的用用十十六六进进制制编编码码的的数数据据描描述述的的串串;由由括括起来的起来的 ASCII based85 编码数据构成的串编码数据构成的串。2.22.2 数据类型与对象数据类型与对象PostScript对象详述:对象详述:复合对象复合对象串
25、串:字符串字符串 除除了了特特殊殊字字符符“”、“(”、“)”以以外外的的任任何何字字符符均均可可以以作作为为串串元元素素出出现现在在串串中中,而这三个特殊字符将用作其他的特殊目的。而这三个特殊字符将用作其他的特殊目的。(This is a string with special char%#|)()(It contains a string(hello)(This is a string n)2.22.2 数据类型与对象数据类型与对象PostScript对象详述:对象详述:复合对象复合对象串串:字符串字符串 “”用用作作“转转义义符符”,以以满满足足一一些些特特殊殊目目的的。例例如如一一些些
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 页面 描述 语言 格式 第二
限制150内