unicode – Emacs:打印UTF-8缓冲区

在Emacs中,关于UTF-8,一切似乎都很好.问题是,我有时想要打印出包含Unicode字符的电子邮件(我使用mu4e作为我的MUA).

我通常会在mu4e中看到以下内容:view buffer:

    From: A Person
    To: Me
    Subject: Notes on Chapter 9
    Date: Tue 22 Sep 2015 13:46:44 CEST
    Maildir: /mymaildir/INBOX
    User-agent: Gnus/5.13 (Gnus v5.13) Emacs/24.5 (gnu/linux)

      • “for open platforms” -> “for \textit{open platforms}, as defined in
        [123].  Such platforms include frobbing devices and home-assistant
        foobars.”

问题是,当我做M-x ps-print-buffer时,纸上的物理输出如下所示:

    ...

      ? ?for open platforms? -> ?for \textit{open platforms}, as defined in
        [123].  Such platforms include frobbing devices and home-assistant
        foobars.?

有谁知道我怎么打印,以便它看起来像我的屏幕上一样?在一些Startpaging / DuckDuckGoing之后,我还没有设法找到任何指针.

最佳答案 有一个简单的解决方案可能会或可能不会产生令人满意的结果. Emacs知道如何使用GNU Intlfonts,它允许打印非ASCII字符.

Intlfonts是位图字体,而不是最漂亮的字体.它们可能适用于ASCII文本,其中只有偶尔的非ASCII字符(引号,项目符号等),但对于使用非拉丁字母的文本,结果并不令人愉快(文本显示正确,只是没有漂亮).

要试用它,请先安装字体.这样做的方式取决于操作系统及其分布; Ubuntu的示例:

sudo apt-get install emacs-intl-fonts

然后调整以下Emacs设置:

(setq ps-multibyte-buffer :bdf-font-except-latin)
(setq bdf-directory-list "/usr/share/emacs/fonts/bdf")

第一个变量指示Emacs对非拉丁字符使用Intlfonts.第二个变量指定字体的位置(确保将其设置正确,否则Emacs将静默忽略设置).

虽然一些来源(例如Mx describe-variable ps-mule-font-info-database和these pages)表明可以配置ps-print以非使用Intlfonts的方式打印非ASCII字符,但我没有找到合适的配置.如果找到,请告诉我.

BTW,直接调用lpr-buffer似乎打印国际字符就好了.

点赞