【问题标题】:Why are some Unicode characters invisible in Emacs?为什么某些 Unicode 字符在 Emacs 中是不可见的?
【发布时间】:2013-04-29 01:43:09
【问题描述】:

我一直在使用 Emacs Unicode 支持做一些技巧,并且在大多数情况下它工作得很好。但是,并非所有 Unicode 字符都可以显示,即使它们在字体中也是如此。例如:

→ ‽ ← 那里应该有问诊

上面(假设它被正确渲染)有正常的 ASCII 字符、几个 Unicode 箭头和一个 Unicode INTERROBANG(一个非常有用的字形,需要更广泛地使用)。但是,无论如何,Interrobang 都不会出现在 Emacs 中。我在 DejaVu Sans 中展示,它绝对具有正确的字形。 OpenOffice 可以打开文件并显示字形。但是无论我尝试什么,我都无法让 Emacs 显示它。

这是 Mac 上的 Emacs 24.1.1。

【问题讨论】:

    标签: emacs unicode


    【解决方案1】:

    尝试使用unicode-fonts 包。你可以通过M-x package-install unicode-fonts安装它,然后在你的.emacs中输入以下内容:

    (require 'unicode-fonts)
    (unicode-fonts-setup)
    

    现在大多数 unicode 字体都适合我。不过,像啤酒杯这样的字符仍然不会显示给我。我还在 Mac 上使用 emacs(使用自制软件安装的 v24.3)。

    编辑: 显然,由于this bug,某些符号仍然不会显示。

    【讨论】:

    • 在 Windows 下,DejaVu Sans Mono 会按预期显示 unicode 字符,但 Courier New 或 Consolas 不会显示它们(这就是我注意到问题的原因)。解决了你的答案,而且,我确认 Emacs on Win 不受相同错误的影响(如错误链接中明确描述的那样)。
    • 对我不起作用:这个字符 ? 仍然不会出现在 Emacs 中。
    • 好的,所以对我有用的是更新到开发中的 Emacs 版本 29.0.50.150941。现在即使我没有 unicode-fonts 包,unicode 字符也会正确显示。
    猜你喜欢
    • 2020-12-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-04-11
    • 1970-01-01
    相关资源
    最近更新 更多