在OS X下显示Emacs中的所有unicode字符

Max*_*iev 9 unicode emacs iterm2

首先,请看这个截图 GUI与iTerm

我通过Homebrew在左边安装了GUI Emacs,另一个在iTerm2内部运行,右侧有-nw选项.他们都使用Droid Sans Mono字体.

但是,正如您所看到的,正确的人可以完美地处理所有unicode角色.我认为iTerm2在这里有所帮助:

  • 在左边display说没有可用的字体
  • 在右边display等于terminal code #xF0 #x9F #x8D #xBA

如何在iTem2中实现与GUI Emacs相同的结果?

Max*_*iev 9

好的,我终于在我的emacs配置中用这些行管理了这个问题:

;; set proper language (fixes cyrillic letters in ansi-term)
(setenv "LANG" "ru_RU.UTF-8")

;; default font
(set-face-attribute 'default nil :family "Droid Sans Mono")

;; font for all unicode characters
(set-fontset-font t 'unicode "Symbola" nil 'prepend)

;; override font for cyrillic characters
(set-fontset-font t 'cyrillic "Droid Sans Mono")
Run Code Online (Sandbox Code Playgroud)

第一行可以忽略,因为它只用于修复西里尔字母ansi-term.

步骤是:

  • 设置您的默认字体 set-face-attribute
  • 然后通过设置特定字符集的不同字体 set-fontset-font

当然,我需要为Symbola字体设置特定的字符范围,但它现在适用于我.

PS但我仍然无法像在iTerm2中那样在Emacs中获得彩色表情符号

  • 这个问题困扰了我一段时间.我需要"Apple Color Emoji"而不是"Symbola",但除此之外你的fontset概念对我来说非常漂亮.谢谢. (2认同)