Unicode Emacs:打印UTF-8缓冲区

Unicode Emacs:打印UTF-8缓冲区,unicode,emacs,printing,utf-8,Unicode,Emacs,Printing,Utf 8,在Emacs中,关于UTF-8的一切似乎都很好。问题是,我有时想打印一封包含Unicode字符的电子邮件(我使用mu4e作为MUA) 在mu4e:view缓冲区中,我通常会有如下内容: 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

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

mu4e:view
缓冲区中,我通常会有如下内容:

    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打印缓冲区
时,纸上的物理输出如下所示:

    ...

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

有人知道我如何打印,使它看起来像在我的屏幕上一样吗?经过一段时间的启动/运行后,我还没有找到任何指针。

有一个简单的解决方案,可能会也可能不会得到令人满意的结果。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将以静默方式忽略设置)

尽管一些来源(例如
M-x描述了变量ps mule font info数据库
和)建议可以将ps print配置为使用Intlfonts以外的方式打印非ASCII字符,但我没有找到正确的配置。如果你找到了,请告诉我


顺便说一句,直接调用
lpr buffer
似乎可以很好地打印国际字符。

mu4e中的另一种方法是使用浏览器中的视图(“视图中的V”),然后从那里打印

或者,如果您有
msg2pdf
(mu的可选部分),您可以将其转换为pdf(“视图中的v”),然后在无法打印的查看器中打开生成的pdf

(下面的功能可能很方便)


(取消xdg打开()
“在xdg打开的情况下打开当前文件。”
(互动)
(何时(缓冲区文件名)
(shell命令(格式为“xdg打开%s”
(shell quote参数(缓冲区文件名щ()))

太好了,谢谢!在尝试了
lpr buffer
之后,我甚至不需要使用Intlfonts。它可以很好地完成这项工作(
è
仍然是一个方框,但是像
这样的字符可以很好地打印出来)