QQ登录

只需一步,快速开始

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 1413|回复: 0

Firefox 打印中文的解决方法 (转载)

[复制链接]
发表于 2005-10-9 23:21:41 | 显示全部楼层 |阅读模式
【 以下文字转载自 Firefox 讨论区 】
发信人: stoneboy (Adam), 信区: Firefox
标  题: Firefox 打印中文的解决方法
发信站: 水木社区 (Sun Oct  9 15:20:57 2005), 站内

如果你使用 FreeBSD, Xwindow, 而且使用 CUPS 来打印东西. 请往下看. 使用

Linux 的兄弟也可以看看.

配置 CUPS 的方面, 我就不多说了. 应该是比较容易的. 主要谈谈 Firefox 怎么

在 X 下打印中文的问题.

1. Firefox 的设置

网络上有很多文章都谈到怎么在 X 下打印中文. 如果你的系统已经配置且运行了

Xprt (就是 X Print Server). 那么按照网络上的说法, 在 Firefox 下配置如下

就可以打印中文. 确认你的 about:config 里面有:

font.freetype2.enable true
font.freetype2.printing true
font.directory.tryetype.num 路径 #其中 num 是数字, 路径 代表你的 TrueType 字体
的路径. 比如 /usr/X11R6/lib/X11/fonts/TrueType

还有两个要注意的:

print.postscript.nativecode.zh-CN  utf-8|gb2312|big5....
print.postscript.nativefont.zh-CN ....   我的这个为空. 也没什么问题

你的 Firefox 里面有了这些配置以后. 如果 Xprt 已经运行. 那么你可以用

Firefox 菜单 File -> Print... 来查看 Firefox 是否已经联接到 Xprt. 如果

Printer 那一项里面有, "你的打印机的名字@你的机器名字:数字", 那么说明 Firefox

和 Xprt 已经联接上了. 并且 Firefox 可以使用 Xprt 来打印了.



2. Xprt 的设置

第一节的前提是 Xprt 已经配置好. 并已经运行了. 如果你没有安装 Xprt. 怎么办?

请往下看.

Xprt 是 Xwindow 的打印服务器. 目前有两种版本. XFree86 和 Xorg. 你可以根据你的

X 的类型来选择 Xprt. (注: FreeBSD 系统上安装 Xprt, 请同时安装 /usr/ports/shells/bash2 )

安装好以后. 你需要知道三个重要的配置文件. 第一个 xprint.sh  第二个 Xprinters

第三个是 printer. 对于 FreeBSD 系统, 这三个文件的位置是: /usr/X11R6/etc/rc.d/xprint.sh

/usr/X11R6/lib/X11/xserver/C/print/Xprinters, 和 /usr/X11R6/lib/X11/xserver/C/print/

attributs/printer.

xprint.sh 是 Xprt 的启动配置文件. Xprinters 和 printer 是 Xprt 配置打印机的文件. 我们来

看看怎么修改这两个文件以达到我们用 Firefox 打印中文的要求.

        2.1 xprint.sh 的配置

                在 xprint.sh 里面有个函数 setup_config(). 你需要在这个函数体中加入如下一行
                让 Xprt 和 CUPS 来配合.

                        xpstart_options[$num_xpstart]="-XpSpoolerType cups"

                这一行的目的是告诉 Xprt 使用 CUPS 来打印.

                如果你想让 Xprt 记录 log 文件, 加入如下一行:

                        xpstart_logfile[$num_xpstart]="/var/log/xprt.log"

                当然, 我选的是 /var/log/xprt.log, 你可以选其他的.

        2.2 Xprinters 的设置

                保证你的 Xprinters 有这么两行:

                        Augment_PrinterList lpstat -a | cut -d " " -f 1

                FreeBSD 用户请使用:

                        Augment_PrinterList /usr/local/bin/lpstat -a | cut -d " " -f 1

                因为 FreeBSD 上的 CUPS 和系统的打印命令冲突. 因此请使用上面的配置.

                        Printer CUPS_Printer_Name

                至关重要的是, CPUS_Printer_Name 是你在 CUPS 中为你的打印机设置的名字. 一定
                不要弄错了. 此外, 其他的设置都可以注释掉.

        2.3 printer 的设置

                保证你的 printer 文件中有如下一行:

                        *xp-spooler-command: lpr -P%printer-name% -#%copy-count% \
        -J %job-name%

                FreeBSD 用户请使用 /usr/local/bin/lpr 而不是 lpr.

另外, /usr/X11R6/lib/X11/xserver/C/print/models/PSspooldir/spooldir.sh 是用来控制 Xprt

打印的时候的暂存目录. 默认是 /tmp/Xprinjobs . 如果你是用 Xprt + CUPS, 似乎就不用理这个

文件的设置. 但是保险起见, 为了避免 Xprt 把我的 / 分区给占满了. 我把这个文件中的参数

DEFAULT_SPOOLDIR 设置成了 /var/tmp/Xprintjobs.

当这些设置都完成了以后. 用 /usr/X11R6/etc/rc.d/xprint.sh start 来启动 Xprt 看看.

配置成功的标志是:

        运行命令 /usr/X11R6/etc/rc.d/xprint.sh get_xpserverlist 返回的结果是:

                你的机器名字:数字

        很明显, 你的机器名字就是你的域名. 而后面那个数字是 Xprt 运行在哪个 X
        的 DISPLAY 上的标识.




3. 最后的工作

以上的工作都完成以后, 我们还需要一些小小的收尾工作.

要让 Firefox 联接到一个运行的 Xprt 上. 我们还需要一个环境变量 XPSERVERLIST.

        对于 FreeBSD 用户,

                C Shell: 在 ~/.cshrc 里面写

                        set xpserverlist = `/usr/X11R6/etc/rc.d/xprint.sh get_xpserverlist`
                        setenv XPSERVERLIST $xpserverlist

                Sh 用户: 在 ~/.profile 里面写:

                        export XPSERVERLIST=`/usr/X11R6/etc/rc.d/xprint.sh get_xpserverlist`;

        对于使用 FVWM 2.5.X 的用户, 请在 ~/.xsession 里面写:

                        export XPSERVERLIST=`/usr/X11R6/etc/rc.d/xprint.sh get_xpserverlist`;

Xprt 默认用 600 DPI 的格式来打印. 如果你的 CUPS 没有设置为 600 DPI 的格式. 打出来的文档会出乎

你的意料的  至此, 我们的工作已经完成. 用 Xprt + CUPS 来使 Firefox 打印中文不是什么很难的事情了.

唯一的缺点就是, Xprt 处理中文的速度有一点慢. 赶不上 Windows Internet Explorer 打印文档的速度.

不过, 能用 Firefox 打印中文, 我已经很满足了.


最后, 这个文档适用于 FreeBSD 系统. 但对其他的系统还是有参考的价值. 我觉得主要的区别就是一些细节

方面. 比如配置文件的路径等等.


--- 完


--
Keep It Small, Stupid


※ 修改:·stoneboy 于 Oct  9 15:25:32 修改本文·[FROM: 221.218.136.*]
※ 来源:·水木社区 newsmth.net·[FROM: 221.218.136.*]
您需要登录后才可以回帖 登录 | 注册

本版积分规则

GMT+8, 2024-11-2 22:33 , Processed in 0.097483 second(s), 15 queries .

© 2021 Powered by Discuz! X3.5.

快速回复 返回顶部 返回列表