管理字体
如果使用激光打印机,则可能需要安装和维护 PostScript 字体。对于许多打印机来说,字体都是在打印机安装过程中设置的。
PostScript 字体以轮廓形式存储在打印机上,或与打印机进行通信的系统上。在打印文档时,PostScript 解释程序会根据需要按照各字符的轮廓说明指定的相应大小生成每个字符。如果文档所需的字体未存储在所用的打印机上,则必须将该字体传输到该打印机,然后才能打印文档。此传输过程称为下载字体。
字体的存储和访问有以下几种方式:
打印机驻留字体永久存储在打印机上。这些字体由制造商安装在打印机的只读存储器 (read-only memory, ROM) 中。如果打印机装有磁盘,则可以将字体安装在该磁盘上。大多数 PostScript 打印机都附带有 35 种标准字体。
永久下载的字体是通过 PostScript exitserver 程序传输到打印机的。在关闭打印机之前,永久下载的字体将一直保存在打印机内存中。分配给所下载字体的内存会减少服务器上可用于 PostScript 打印请求的内存。使用 exitserver 程序需要有打印机系统口令,并且可以为打印机管理员保留该口令。如果打印机所服务的大多数打印请求都使用某字体,则应该永久下载该字体。
可以将很少使用的或者具有特殊用途的字体存储在用户的系统上。用户可以在提交打印请求时指定这些字体。字体将附加到打印请求并传输到打印机。处理打印请求时,将释放为字体分配的空间以用于其他打印请求。
主机驻留字体存储在由许多用户共享的系统上。存储这些字体的系统可以是打印服务器或打印客户机。每个用户都可以请求要打印的文档中的字体。当大量字体可用或者这些字体并不是由所有打印请求使用时,此方法非常有用。如果字体仅在连接到打印服务器的打印机上使用,则应该将这些字体存储在打印服务器上。如果字体将由一个系统上的用户使用,并且这些用户可以将请求提交到网络上的多台打印机,则应该将这些字体存储在用户的系统上。
LP 打印服务提供了一个特殊的下载过滤器来管理主机驻留字体。LP 打印服务还为驻留在许多 PostScript 打印机上的 35 种标准 PostScript 字体提供了 troff 宽度表。有关 troff 程序的更多信息,请参见 troff(1) 手册页。
管理打印机驻留字体
大多数 PostScript 打印机都配有打印机 ROM 中驻留的字体。一些打印机装有可存储其他字体的磁盘。安装打印机时,应将打印机驻留字体的列表添加到该打印机的字体列表中。通过标识打印机驻留字体,可以避免在网络中不必要地传输字体。每台打印机都有各自的驻留字体列表,该列表包含在以下文件中:/etc/lp/printers/printer-name/residentfonts
将打印机连接到打印服务器时,请确保 residentfonts 文件中的列表包含打印服务器上的字体。此文件还必须包含可下载到打印机的字体。
必须使用文本编辑器(如 vi)编辑包含打印机驻留字体列表的文件。
下载主机驻留字体
当 PostScript 文档包含对打印机上未装入字体的请求时,下载过滤器将处理此请求。下载过滤器使用 PostScript 文档结构化约定来确定要下载的字体。
LP 打印过滤器可以是快速过滤器或慢速过滤器。快速过滤器可快速准备文件以进行打印。此外,快速过滤器在进行处理时必须可以访问打印机。慢速过滤器转换文件所用的时间较长。但是,慢速过滤器在进行处理时无需访问打印机。将 ASCII 文档转换为 PostScript 文档的过滤器即是一个慢速过滤器的示例。
下载过滤器是快速过滤器。如果字体位于打印服务器上,则此过滤器会自动下载字体。下载过滤器还可以用于将字体发送到打印服务器。为此,可使用 lp -y 命令创建一个将下载过滤器作为慢速过滤器调用的新过滤器表项。或者,可以通过更改输入类型来强制选择此过滤器。
下载过滤器可执行以下五项任务:
过滤器搜索 PostScript 文档以确定请求的字体。这些请求是通过以下 PostScript 结构化注释记录的: %%DocumentFonts: font1 font2 …(在标题注释中)。
下载过滤器可搜索打印机驻留字体列表,以确定是否必须下载请求的字体。
如果字体不驻留在打印机上,则下载过滤器会搜索主机驻留字体目录表,以确定请求的字体是否可用。此过滤器通过从映射中获取相应的文件名来执行此搜索。
如果该字体可用,则下载文件提取该字体的文件并将其附加到要打印的文件。
下载过滤器会将字体定义文件和源文件发送到 PostScript 打印机。源文件是指要打印的文件。
安装和维护主机驻留字体
一些字体驻留在主机系统上,并在特定打印请求需要时传输到打印机。作为管理员,需要使 PostScript 字体可供系统上的所有用户使用。为此,必须知道如何安装以及在哪里安装这些字体。由于字体是按名称请求的,并存储在文件中,因此 LP 打印服务会保存一个映射文件。映射文件显示了字体的名称和包含这些字体的文件的名称之间的对应关系。在安装主机驻留字体时,必须同时更新映射文件和字体列表。
可用于 PostScript 打印机的字体存储在创建的目录中。这些目录名为 /usr/share/lib/hostfontdir/typeface/font。变量 typeface 可使用名称替换,如 palatino 或 helvetica。变量 font 可使用属性名替换,如 bold
或 italic。
如何安装下载的 PostScript 字体在打印服务器上,成为超级用户或承担等效角色。
将目录转到 /etc/lp/printers/printer-name 目录。# cd /etc/lp/printers/printer-name
变量 printer-name 指定要安装下载的 PostScript 字体的打印机的名称。
如果 residentfonts 文件尚不存在,请创建该文件。# touch residentfonts
如果是首次添加永久下载的字体,则此文件可能不存在。
编辑 residentfonts 文件。添加所有的打印机驻留字体以及要永久下载的字体。
如何安装主机驻留 PostScript 字体在打印服务器或打印客户机上,成为超级用户或承担等效角色。
创建 hostfontdir 目录。# cd /usr/share/lib转到 /usr/share/lib 目录。# cd /usr/share/lib
如果 hostfontdir 目录尚不存在,请创建该目录。# mkdir hostfontdir
将 hostfontdir 目录的权限更改为 775。# chmod 775 hostfontdir
如果该目录尚不存在,请为新字样创建一个目录。# mkdir typeface
将字体文件复制到相应的目录。# cp filename /usr/share/lib/hostfontdir/typeface/font
将字体的名称以及该字体所驻留的文件的名称添加到映射文件。转到 /usr/share/lib/hostfontdir 目录。
使用文本编辑器(如 vi 编辑器)编辑 map 文件。
对于要添加到文件中的每种字体,添加仅占一行的项。首先放置字体名称,后跟一个空格,再后跟字体所驻留的文件的名称。例如:Palatino-Bold /usr/share/lib/hostfontdir/palatino/bold
保存文件。
当相应系统上的映射文件中存在示例项时,用户可以将该字体(例如 Palatino Bold)应用于其打印作业。当用户提交包含此字体的打印请求时,LP 打印服务会将 /usr/share/lib/hostfontdir/palatino/bold 文件的副本附加到该文件,然后将其发送到打印机。
如果使用的是 troff 程序,则必须在标准 troff 字体目录中为此字体创建新的宽度表。