国际语言环境指南

PostScript 文件定制

PostScript 文件属于下列类别:

依赖于语言环境的 prolog 文件

prolog.ps 文件的目的是设置非通用字体。应用程序使用这些预定义 PostScript 字体名称进行打印。prolog 文件必须为桌面设置日历管理器和 mp 至少定义下面字体名称。

下列示例使用这些字体打印指定的特殊本地字符集:

100 100 moveto
/LC_Times-Roman findfont 24 scale font setfont(您的语言环境中的任何字符串)显示 

Solaris 本地化工具包为日语环境提供了一个样例 prolog.ps 文件。另外,此文件也可以在 /usr/openwin/lib/locale/ja/print/ 目录中找到。

下列示例说明如何在现有的 prolog.ps 中添加或更改复合字体。

%
(Foo-Fine) makecodeset12 
(Base-Font) makeEUCfont
%

假设您要定义一种称为 LC_Base-Font 的复合字体:

LC_Base-Font 是 Foo-Fine 和名为 Base-Font 的基准字体的复合字体。Foo-Fine 是包含本地字符集的字体。您不需要任何高深的 PostScript 知识就可以添加或更改字体。

对示例版本进行研究是创建 prolog.ps 文件的最好方法。在示例 prolog.ps 中,需要编写两个例程,即 makecodeset12 makeEUCfontMakecodeset12 设置本地字体编码信息。此例程可能会因语言环境的不同而不同。MakeEUCfont 将基准字体和区域字体合并为一个复合字体。prolog 文件的创建者应具有良好的 PostScript 知识,以便编写 makecodeset12makeEUCfont

prolog.ps 文件支持只保持向后兼容性。不要为一种语言环境的打印需要创建新的 prolog.ps 文件。请换而使用 mp.conf

prolog.ps 的路径为

/usr/openwin/lib/locale/$LANG/print/prolog.ps

通用 PostScript prolog 文件

通用 prolog 文件为 mp.common.ps

其它每个页面布局 prolog 文件都需要包含此文件。

mp.common.ps 文件位于 /usr/lib/lp/locale/C/mp/ 目录中,它包含一个 PostScript 例程以便将标准编码中的字体重新编码为 ISO 8859–1 编码。.reencodeISO 例程从打印布局 prolog 文件中调用以更改字体的编码。通常情况下,此 prolog 文件不需要任何定制。如果用户正在创建自己的 prolog 文件,请将环境变量 MP_PROLOGUE 设置为指向包含修改后的 prolog 文件的目录。

打印布局 prolog 文件

打印布局 prolog 文件、mp.*.ps 文件包含控制用于打印的页面布局的例程。除了为具有用户名、打印日期和页号的打印页提供标题和页脚外,这些 prolog 文件还可以提供其它信息。例如,prolog 文件可提供有效的打印区域尺寸以及打印所要使用的横向和纵向模式。

打印布局 prolog 文件为:

需要在每个 prolog 文件中定义一组标准函数。当新的打印页启动、某个打印页结束或新的列结束时这些函数即被调用。这些函数的实现定义了打印输出的打印属性。

下列 PostScript 变量被 mp(1) 程序在运行时定义。所有的打印布局文件都可以使用这些变量来打印动态信息,如 用户名 主题打印时间。 从变量获取的此信息通常出现在打印页的标题或页脚中。

用户

正在运行 mp 的用户的名称,可从系统 passwd 文件中获取。

MailFor

用于保存要打印的文章类型名称的变量。此变量的可能值为:

  • “Listing for” - 当输入为文本文件时

  • “Mail for” - 当输入为邮件文件时

  • “Article from” - 当输入为新闻组文章时

主题

从邮件和新闻标题中获取的主题。您可以使用 -s 选项将某个主题强迫为邮件和新闻文件以及正常的文本文件。

Timenow

出现在标题和页脚中的打印时间。此信息从 localtime() 函数中获取。

下列函数在打印布局 prolog 文件中实现。所有这些函数都可以使用子函数。

endpage

用法:page_number endpage

当到达打印页的底部时调用。此函数恢复页面的图形上下文并发出 “showpage” 命令。在某些 prolog 文件中,标题和页脚信息仅以逐页模式(而不是逐列模式)显示。您可以实现此函数以调用显示标题和页脚灰度级菱形的子函数。

newpage

用法: page_number newpage

当某个新页开始时要执行的例程或命令。设置横向打印模式、保存打印图形上下文和翻译页坐标是用于例程的一些函数。

endcol

用法: page_number col_number endcol

用于显示标题和页脚信息。移到新的打印位置,等等。

要添加新的打印布局 prolog 文件,您需要在打印布局 prolog 文件内显式定义下列变量。

NumCols

打印页中的列数。缺省值为 2。

PrintWidth

打印区域的宽度(以英寸为单位)。缺省值为 6。

PrintHeight

打印区域的高度(以英寸为单位)。缺省值为 9。