手册页部分 1: 用户命令

退出打印视图

更新时间: 2014 年 7 月
 
 

mp(1)

名称

mp - PDL(Page Description Language,页面描述语言)优质打印过滤器文本

用法概要

mp [-A4] [-C] [-D target_printer_name] [-F] [-L localename] 
     [-P target_spool_printer] [-PS] [-US] [-a] [-c chars] 
     [-d] [-e] [-ff] [-fp] [-l] [-ll] [-m] [-M] [-n] [-o] 
     [-p prologue] [-s subject] [-tm] [-ts] 
     [-u config_file_path] [-v] [-w words] [-z point_size] 
     [-?] [filename]...

描述

mp 程序在没有 –D–P 选项的情况下进行调用时,将按顺序读取每个 filename 并生成可发送到标准输出的、PostScript(tm) 格式的内容的美化版本。如果不提供 filename 参数,mp 将读取标准输入。如果标准输入是一个终端,输入将由 EOF 信号(通常为 Control-d)终止。

–D–P 选项需要目标打印机名称作为参数并生成目标打印机的页面描述语言 (Page Description Language, PDL)。–D 选项使 PDL 输出到 stdout,而 –P 选项使 PDL 直接假脱机到打印机。缺少这些选项时,mp 将生成缺省的 PostScript 输出。

mp 程序接受各种 Solaris 语言环境的国际文本文件,并生成适合于指定语言环境的输出。输出还将包含适当的文本布局。例如,输出将包含双向文本着色和成形,因为 mp 中支持复杂文本布局 (complex text layout, CTL)。

邮件项、新闻文章、普通 ASCII 文件、完整邮件文件夹及摘要均属 mp 可接受的输入格式。输出格式包括灰度级菱形或与菱形相同的维的轮廓,在每页的顶部和底部包含标题信息。

选项

支持以下选项:

–a

将文件格式化为新闻文章。顶部标题包含以下文本:“来自新闻组文章”,其中,“新闻组”是在“新闻组:”行上发现的第一个新闻组。

–A4

使用 A4 纸张大小(8.26 x 11.69 英寸)。

–c chars

可从用户的 /etc/passwd 条目的 gecos 字段中提取的最大字符数。缺省值为 18

–C

mp 不使用 "\nFrom" 来表示新邮件的开始,而是会查找(并使用)Content-Length: 邮件头的值。如果 Content-Length 没有将您引导至下一个 "\nFrom",则该邮件头是错误的邮件头,此时 mp 将返回去查找邮件文件夹中的下一个 "\nFrom"。

–d

将文件格式化为摘要。

–D target_printer_name

生成目标打印机的 PDL。需要 X 打印服务器连接。target_printer_name 可以是 printer_name@machine[:display_number] 形式,也可以仅为 printer_name。在第一种形式中,mp 尝试连接到 X 打印服务器的显示器 machine[:display_number],其中的目标打印机为 printer_name

–e

采用 ELM 邮件前端中间文件格式。从 ELM 内部打印消息(使用 "p" 命令)时使用,尤其用于打印标记的消息。此选项必须在 ELM 选项设置中指定。

–ff

对文件进行格式化,以用于 Filofax 个人记事本。

–fp

对文件进行格式化,以用于 Franklin Planner 个人记事本。

–F

顶部标题将包含邮寄文章的发件人,而不是打印邮件文件的收件人。对于拥有自己的个人打印机的人员来说,这是一个有用的选项。

–l

在横向模式下对输出进行格式化。每张纸将打印两页文本。

–ll

在横向模式下对输出进行格式化。每张纸将打印一页文本。这对于打印行长度超过标准行的文件非常有用。

–L localename

提供要打印文件的语言环境。如果该命令行选项不存在,mp 将查找 MP_LANG 环境变量。如果该环境变量不存在,则使用 LANG 环境变量。如果上述选项均不存在,mp 将尝试确定其运行所在的语言环境。如果无法确定语言环境,mp 会假定自己是在 C 语言环境中运行。

–m

将文件格式化为邮件文件夹,打印多条消息。

–M

强制 mp 使用 mp.conf 文件来打印输出,即使存在该语言环境 prolog.ps 文件。打印到非本机 PostScript 打印机时非常有用。

–n

关闭页眉和页脚中的灰色条和关联的信息。用于获取与 "lp filename" 的输出相类似的输出。

–o

将文件格式化为普通 ASCII 文件。

–p prologue

prologue 文件用作 PostScript/Xprt 的序言文件,覆盖此前定义的任何文件名。该文件指定打印输出的格式。对于 PostScript 输出,prologue
 文件将具有 .ps 扩展名。对于 Xprt 客户机(指定 –D 选项时),该文件将具有 .xpr 扩展名。下文的“提供的序言文件”部分对这些文件进行了定义。

–P target_spool_printer

将 PDL 假脱机到目标打印机。不向 stdout 发送任何输出。需要 X 打印服务器连接。target_spool_printer 可以是 printer_name@machine[:display_number] 形式,也可以仅为 printer_name。在第一种形式中,mp 尝试连接到显示器 machine[:display_number],其中的目标打印机为 printer_name

–PS

如果邮件消息或摘要消息仅具有 PostScript 作为消息的文本,通常情况下将直接通过这一步。指定此选项时,PostScript 将打印为文本。

–s subject

使用 subject 作为打印输出的新主题。如果打印的是已在命令行上指定的普通 ASCII 文件,主题将缺省为这些文件中每个文件的名称。

–tm

对文件进行格式化,以用于 Time Manager 个人记事本。

–ts

对文件进行格式化,以用于 Time/System International 个人记事本。

–US

使用 US 纸张大小(8.5 x 11 英寸)。这是缺省纸张大小。

–u config_file_path

指定缺省文件 /usr/lib/lp/locale/locale_name/mp/mp.conf 的备用配置文件。必须使用绝对文件路径名。

–v

打印此版本 mp 的版本号。

–w words

可从用户的 /etc/passwd 条目的 gecos 字段中提取的最大字数。缺省值为 3

–z point_size

point_size 所指定的点尺寸打印输出文本。纵向打印的内部缺省值为 12 个点,横向打印则为 9 个点。

–?

打印 mp 的使用状态行。请注意,如果使用的是 csh(1),则 ? 字符必须进行转义。

操作数

支持下列操作数:

filename

要读取的文件的名称。

示例

mp 打印过滤器可用于打印安装在用户计算机中的任何语言环境中的文件。

示例 1 打印日文文本文件

可以通过输入以下内容在任何非日文 PostScript 打印机中打印以 euc 代码集编码的日文文本文件:

example% mp -L ja_JP.eucJP -M ja_JP_eucJP.txt | lp

这里,–L 选项指定语言环境,–M 选项调用 mp.conf 配置文件而非缺省的 prolog.ps 文件。如果使用的是 ja_JP.eucJP,则存在 /usr/lib/lp/locale/ja_JP.eucJP/mp/mp.conf/usr/openwin/lib/locale/ja_JP.eucJP/print/prolog.ps 文件。因此,使用 –M 选项覆盖缺省 prolog.ps 文件的优先级。使用 mp.conf 作为配置文件即可打印到任何 PostScript 打印机。

通过 –L 选项指定的语言环境的编码必须与要打印的文本文件的编码相同。在上述日文文件示例中,如果文本文件是以 Shift-JIS 编码的,请使用以下命令,因为语言环境 ja_JP.PCK 是以 SJIS 编码的:

example% mp -L ja_JP.PCK -M SJIS.txt | lp
示例 2 在 Xprt 模式下运行

如果 X 打印服务器守护进程 (/usr/openwin/bin/Xprt) 正在网络的任意系统中运行,则可按以下方式调用 mp,使之以 Xprt 所支持的任意页面描述语言进行输出(display_number 的缺省值为 2100):

example% setenv XPSERVERLIST "machine1[:display_number1] \
    machine2[:display_number2] machine3[:display_number3]"

example% setenv XPDISPLAY machine_name[:display_number]

使用选项 –D printer_name[@machine[:display_number]] 或 –P printer_name[@machine[:display_number]] 可以获得最大的优先级,mp 会尝试连接到 machine[:display_number] 上运行的且具有 printer_nameXprt。未指定情况下,缺省的 display_number 值为 2100。如果此方法失败,会尝试 printer_name,并通过下述逻辑获取 Xprt 显示器。如果在命令行上仅输入 –D printer_name–P printer_name,则以下内容有效。

mp 将检查 XPSERVERLIST 中是否存在空格分隔的 Xprt 服务器的列表,直至找到一个支持 printer_name 参数的服务器。如果找不到,mp 将检查 XPDISPLAY 环境变量,该变量的格式为 machine[:display_number]。如果该变量尚未设置或无效,mp 将尝试连接到缺省显示器 :2100。如果仍然无法成功,mp 将退出并显示错误消息。

在设置 XPSERVERLIST 或 XPDISPLAY 的情况下,要将数据输出到目标打印机,请输入以下内容:

example% mp -D printer_name -L ja_JP.eucJP \
    -M ja_JP_eucJP.txt | lp -d printer_name

Xprt 客户机模式下工作时,要实现直接假脱机,请使用 –P 选项:

example% mp -P printer_name -L ja_JP.eucJP -M ja_JP_eucJP.txt
示例 3 关闭页眉和页脚

使用 –n 选项关闭 mp 页眉和页脚:

example% mp -n mytext.txt | lp
示例 4 打印长文本行

使用 –ll 选项可在横向模式下打印长度超过 80 列行的文本文件:

example% mp -ll mytext.txt | lp
示例 5 指定打印点尺寸

使用 –z 选项指定任意点尺寸。在本例中,点尺寸为 20 个点:

example% mp -z 20 mytext.txt | lp

环境变量

XPSERVERLIST

如果 –D–P 的参数采用 printer_name@machine[:display_number] 形式,则仅在 machine[:display_number] 不支持 printer_name 的情况下,才会使用 XPSERVERLIST。

XPSERVERLIST 包含要将打印机连接到的 Xprt 显示器的空格分隔列表。mp 将按顺序查看整个列表以获取可以支持给定打印机的 Xprt 服务器,mp 会在其中找到将要连接到的显示器的第一个实例处退出。如果未设置该选项,将使用环境变量 XPDISPLAY。

XPDISPLAY

如果在命令行中仅通过 printer_name 参数指定 –D–P 选项,环境中没有设置 XPSERVERLIST 变量,将使用 XPDISPLAY 变量来确定运行 X 打印服务器的 machine[:display_number] 来连接客户机。如果 XPDISPLAY 也没有设置,打印服务器启动脚本将在运行客户机的计算机的 2100 端口上启动 Xprt 服务器。作业完成后,脚本即终止打印服务器。如果 XPDISPLAY 已设置,mp 客户机将尝试联系在 XPDISPLAY 上运行的打印服务器。在这种情况下,将不会尝试启动尚未运行的服务器。

MP_PROLOGUE

用于确定保存页面格式文件(.xpr.ps)的目录。这些文件确定页面装饰、每个物理页的逻辑页数、横向格式还是纵向格式等。缺少 MP_PROLOGUE 时,目录的缺省位置为 /usr/lib/lp/locale/C/mp

MP_LANG
LANG

如果 –D 选项或 –P 选项均未指定,会将一个序言文件前置到要打印的输出。序言文件称为 /usr/openwin/lib/locale/localename/print/prolog.ps/usr/lib/lp/locale/localename/mp/prolog.ps,其中 localename 为 MP_LANG 或 LANG 环境变量(如果存在)的值。考虑到向后兼容性的原因,如果这两个变量都存在,将首选文件 /usr/openwin/lib/locale/localename/print/prolog.ps。如果这些文件都不存在,且未指定 –D 选项,将使用名为 /usr/lib/lp/locale/localename/mp/mp.conf 的语言环境配置文件作为配置信息的源,以替代要打印的序言信息。存在 prolog.ps 时,将禁用 mp.conf 以实现向后兼容性。

退出状态

将返回以下退出值:

0

成功完成。

1

出现错误。

提供的序言文件

提供的序言文件

提供了以下序言文件。具有 .ps 扩展名的文件用于 PostScript 输出。具有 .xpr 扩展名的文件用于打印服务器客户机。.xpr 文件是针对 300dpi 打印机而创建的,并将扩展到其他分辨率值。

mp.common.ps

此目录中针对所有其他 .ps 文件的通用序言文件。

mp.pro.ps
mp.pro.xpr

缺省情况下使用。

mp.pro.ff.ps
mp.pro.ff.xpr

–ff 选项有效的情况下使用。

mp.pro.fp.ps
mp.pro.fp.xpr

–fp 选项有效的情况下使用。

mp.pro.tm.ps
mp.pro.tm.xpr

–tm 选项有效的情况下使用。

mp.pro.ts.ps
mp.pro.ts.xpr

–ts 选项有效的情况下使用。

mp.pro.alt.ps
mp.pro.alt.xpr

对缺省序言文件的其他方式的修改,将在部标题的右角输出页号。

mp.pro.l.ps
mp.pro.l.xpr

用于横向输出的序言文件。

mp.pro.ll.ps
mp.pro.ll.xpr

用于横向输出的序言文件,打印行长度超过标准行的文件时。

mp.pro.altl.ps
mp.pro.altl.xpr

用于横向输出的备用序言文件。

文件

.cshrc

csh(1) 的初始化文件。

.mailrc

mail(1) 的初始化文件。

/usr/bin/mp

可执行文件。

/usr/lib/lp/locale/C/mp/mp.conf

缺省配置文件。

/usr/lib/lp/locale/C/mp/mp.common.ps

此目录中针对所有其他 .ps 文件的通用序言文件。不适用于 .xpr 文件。

/usr/lib/lp/locale/C/mp/mp.pro.ps
/usr/lib/lp/locale/C/mp/mp.pro.xpr

用于邮件打印的缺省序言文件。

/usr/lib/lp/locale/C/mp/mp.pro.l.ps
/usr/lib/lp/locale/C/mp/mp.pro.l.xpr

横向格式的缺省序言文件。

/usr/lib/lp/locale/C/mp/mp.pro.ll.ps
/usr/lib/lp/locale/C/mp/mp.pro.ll.xpr

横向格式的缺省序言文件,每页一列。打印具有长行的文件时非常有用。

/usr/lib/lp/locale/C/mp/mp.pro.altl.ps
/usr/lib/lp/locale/C/mp/mp.pro.altl.xpr

横向格式的备用序言文件。

/usr/lib/lp/locale/C/mp/mp.pro.alt.ps
/usr/lib/lp/locale/C/mp/mp.pro.alt.xpr

备选“缺省”序言文件。将页号插入每页的右下角。

/usr/lib/lp/locale/C/mp/mp.pro.ff.ps
/usr/lib/lp/locale/C/mp/mp.pro.ff.xpr

Filofax 格式的缺省序言文件。

/usr/lib/lp/locale/C/mp/mp.pro.fp.ps
/usr/lib/lp/locale/C/mp/mp.pro.fp.xpr

Franklin Planner 格式的缺省序言文件。

/usr/lib/lp/locale/C/mp/mp.pro.tm.ps
/usr/lib/lp/locale/C/mp/mp.pro.tm.xpr

Time Manager 格式的缺省序言文件。

/usr/lib/lp/locale/C/mp/mp.pro.ts.ps
/usr/lib/lp/locale/C/mp/mp.pro.ts.xpr

Time/System International 格式的缺省序言文件。

/usr/openwin/lib/locale/localename/print/prolog.ps
/usr/lib/lp/locale/localename/mp/prolog.ps

特定于语言环境的缺省序言文件,可用作 mp.conf 文件的替代。有关关系的更多详细信息,请参见“环境变量”部分。

mp.conf.xpr 文件的结构和格式记录在Oracle Solaris 11.2 国际语言环境指南 在 Oracle Solaris 11.2 中配置和管理打印 中。如果需要使用替换字体(包括打印机常驻字体)或对输出格式进行更改,请参见本文档。

属性

有关下列属性的说明,请参见 attributes(5)

属性类型
属性值
可用性
print/mp

另请参见

csh(1)mail(1)attributes(5)

Oracle Solaris 11.2 国际语言环境指南