PostScript是一种编程语言,最适用於列印图像和文字(无论是在纸,胶片或非物质的CRT都可)。用现今的行话讲,它是页面描述语言。它与1985年由Adobe推出,最早在AppleLaserWriter上出现(据作者所知)。
PostScript的主要用意是是为以相对设备独立的方式描述影像提供一种方便的语言。该相对设备独立是指不以某种特定设备特性作参照,来描述影像(比如印表机的解析度),这样同一种描述不需修改就可适用於任何一种PostScript印表机(比如,LaserWriter 或Linotron)。实际情况下,有些PostScript文件对於目标设备做假设定(比如它的解析度或纸匣的数量),但这并不实用,而且局限了可转移性。
对於语言本身,通常是解译的,如RPN计算器一样的存储方式。程序把运算的参数存储在一起,然后调用该操作。通常情况下,运算后将结果留在存储显示上。例如,我们将12乘以134。我们会使用以下PostScript程式码:12 134 mul前面的两个字「12」和「134」将12和134存储显示。「mul」激活相乘运算,将两个数值相乘,并将结果推倒存储显示上。结果数值将保留在那里供以后程序中其它运算时使用。
根据手册中Adobe使用的规定,作者用以下两个主题概括运算:参数-1 参数-2。此概念是指使用运算时要推出参数-1 参数-2等后方可激活运算。运算后将显示结果。许多运算返回后无结果(因副作用);返回后显示「-」。
PostScript的发展历程
PostScript至今以有大约15年历史了。它对於印制工业产生很深渊的影响,甚至到今天仍保留着当LaserWriter印表机问世时重要的地位。
以下是PostScript的发展历程的一个概况。其中有些资料源於「Accidental empires」,由Robert Cringely编写的关於个人计算机革新的书。
为了更好理会PostScript,我们必须先了解在它出现以前市场是怎样运做的。在那时候,需要排版设备的话要找Acme Typesetters,他们会提供一套Acme系统及Acme输出设备。该Acme系统和其他生产商的设备不兼容。在多数情况下,与其他系统调换数据相当困难,几乎是不可能的。
如果拥有一台个人计算机,连接在一台只能打出低品质位图字符的点阵印表机上。对於图像的打印效果也只能被在那个时代购买印表机的傻瓜们接受。
源头:施乐
PostScript的历史由Parc开始,它是施乐的研究院,许多我们现在不以为然的计算机技术都是从那里开发的:几个首要的例子,如雷射印表机,图像使用者界面和以太网。
John Warnock是工作於施乐的出色的工程师之一。他开发了名为「Interpress」的语言,用於操作施乐雷射印表机。他和他的上司,Chuck Geschke,用了两年时间力图让施乐把Interpress商业化。当建议被拒绝后,他们决定离开施乐,自立门户。
Adobe的诞生
John Warnock和Chuck Geschke把他们的公司取名为Adobe,位於加州的Los Altos,Warnock的家。房子后面有一条小溪,有时你能在关於Napa Valley的酒类向导图上看到,Napa Valley是出产最纯的加州酒的地方。
最初,Warnock和Geschke曾设想自行组建一台真正强大的印表机,但很快他们意识到为其他生产商提供可控制他们生产的印表机的工具更现实。
PostScript Level 1
初始时只称作PostScript。「Level 1」是为了与新近升级的Level 2区别而后加的。
PostScript是一个非常强大的语言,类似与Forth,另一种计算机语言。开始时需要一套相当强大的系统运做PostScript。事实上,在它推出的头几年中,PostScript印表机具有更强的处理能力,可以和Macintosh机连接使用。
PostScript 是相对设备独立的。也就是说PostScript文件可以在任何PostScript设备中运做。你可在雷射印表机上得到300dpi的打印效果,但同样影像在imagesetter中就可得到漂亮且清晰的2400dpi效果。对於用户来讲,他们不需要受限与一个生产商,可自由选择最适合要求的设备。
PostScript的腾飞
对Adobe来说,PostScript是一个相当大的赌注,如果没有Apple计算机的Steve Jobs,他们可能会无法向市场证实PostScript的价值和意义。
1985年,Macintosh计算机的销售量开始下降,而Apple的新机型迫切需要一个有威力的应用程式。Steve
Jobs对Adobe的技术很感兴趣,投资了Adobe 2.5百万让Warnock为Apple LaserWriter编写PostScript控制器。该印表机和HP LaserJet相似,但PostScript控制器可以使它输出「typesetter」品质。
与功能强大的雷射印表机连接的计算机并不会产生大的影响,但Apple和Adobe很幸运地在偶然机会遇到第三个合作夥伴Aldus,一个刚起步的小公司,它编写了能够充分发挥出Mac 和LaserWriter功能的应用程式,该软件就是PageMaker。
在桌上型电脑的问世后的一年内,LaserWriter,PostScript和PageMaker的结合挽救了Apple,Aldus和Adobe也由此变成了有钱的公司。Linotype是首家赏识PostScript价值的图像艺术供应商,它推出了自带专用PostScript RIP的imagesetter。其他的生产商也紧跟其后,很快地PostScript就成了印前业的国际性混合语。
1994:PostScript Level 2
大约在1994,Adobe发行了PostScript的下个修订版本Level 2。 Level 2是个具有重大意义的升级版,也是印前业者急切期盼的版本。
最重要的功能:
增进的速度和可靠性:在Level 2出现之前,Limitcheck和Vmerror PostScript错误非常麻烦,令人头痛。Adobe优化了PostScript程式码和增强程式码的记忆管理功能。该功能提高了功效,尤其对於旋转的扫描作业。
支持分立的内置RIP:Level 2 RIPs能够接受合成的PostScript文件,自行处理分色工作。它并不是一个必须遵循的功能,不同生产商的Level 2 RIPs的功能也有不同。
RIP中解压缩影像:Level 2 RIPs能够解压缩JPEG和CCITT
支持合成字体:该功能对於亚洲国家来讲相当重要,他们的字符比欧洲使用的大。Apple通过QuickDraw
GX来支持合成字体。现今你可能只在Apple的档案储藏柜里找到,还有其他的一些技术突破如OpenDoc 和the Newton。
字体和字型的缓存:有了Level 2,令人讨厌的字体缓存删除没有了。
字型的缓存问题几年后通过一些整版应用程式如PressWise 和Preps 解决了。
改进的驱动程式:Macintosh的LaserWriter 8和Adobe的Windows 3.1系统PostScript driver 2.X为基础,联合恰当的PPD-drivers。
改进的网屏算法:对於许多的RIP生产商,当Level
2推出已是过时的新闻。比如Agfa,已在这前一年就已销售它的对称网屏技术,为胶印业提供高品质的无网屏镜像效果。Adobe版本被称为准确网屏。
Level 2的市场应用较慢
先发表Level 2规范,然后才开始研究它的实际应用,这可以说是Adobe的一大错误。更为难堪的是,竞争者们推出Level 2的竞争产品的速度比Adobe想像的更快。
虽然PostScript Level 2具有明显的优点,但却花费了很长时间才真正开始应用新功能。例如在Level 2推出的6年后,XPress4.11还不能很好地支持分立内置RIP功能.
19XX:PostScript 3
由於一些不明确的原因,Adobe把最新升级版本取名为PostScript 3,而不是PostScript Level 3。和Level 2相比,3升级的意义并不大。这是可以理解的,因为当时许多应用程式还正在如何正确支持好Level 2的困惑中。
PostScript 3的主要优点:
每种颜色支持超过256个灰阶。Adobe在PostScript程式码中包含了12-bit的网屏。可支持每种颜色多达4096个。在过去,256灰阶的极限有时可看到条纹状,尤其是混合色。
支持PDF:PostScript 3 RIPs可支持PostScript Level 2和PDF文件。
改进的分立内置RIP支持功能:PostScript Level 2
RIP本身已经能够完成分色作业,但对於某些类型的影像如双网屏和多彩印影像就不能处理。PostScript 3含有名为Device N的色域。如果非CMKY色彩影像解译成该色域内,PostScript 3 RIP能正确地对影像进行分色。
网络打印:在如今网络发烧的时代,Adobe也不干落后,在PostScript增添了网络功能。有趣的是没有Adobe的OEM用户想尝试该功能。
PostScript有哪些特点?
PS的最大特点是避免了版面制作对使用设备的依赖信,只要符合PS这个标准的数据格式,不管是用MAC微机编辑也好,还是用SUN工作站进行编辑也好,都可以通过打印驱动程序获得共同的PS编码文件;
PS的另一特点是能够综合处理文字和图像,在一页印刷品中,PS将其中的所有信息都用一种计算机数据来表现和描述,为图文合一的版面处理提供了可能;
有了这种页面数据格式,不同生产厂家的通用计算机之间和各种专用计算机系统(设计用,文字处理用,图像制版用等)之间,才可能进行数字化数据的交换,它是印前处理系统开放化的基础之一。