【求助】windows下emacs特殊符号编码问题

如图,三个方块实际应该是:►◈▣,这种特殊符号在emacs中显示不出,我该如何设置编码,有同学有这方面的经验吗?

1 个赞

感觉是字体的缘故,换个字体试试?这几个我能显示出来

describe-char 后用 set-fontset 试试?

确实是字体的问题,我换个字体就好了,但是其他字体太丑了,请问你windows下英文用的是什么字体?

估计是你没设置好 unicode 字体,这种图标的都是在 unicode 这个范围。

我是这样设置,用的微软雅黑。

(defun font-installed-p (font)
    "Check if the FONT is available."
    (find-font (font-spec :name font)))

(when window-system
    (cl-loop for font in '("Microsoft Yahei" "PingFang SC" "Noto Sans Mono CJK SC")
             when (font-installed-p font)
             return (dolist (charset '(kana han hangul cjk-misc bopomofo))
                      (set-fontset-font t charset font)))
    (cl-loop for font in '("Segoe UI Emoji" "Apple Color Emoji" "Noto Color Emoji")
             when (font-installed-p font)
             return (set-fontset-font t 'unicode font nil 'append))
    (dolist (font '("HanaMinA" "HanaMinB"))
      (when (font-installed-p font)
        (set-fontset-font t 'unicode font nil 'append))))
1 个赞

安装symbola字体应该就可以了,中英文设置成其它字体不影响的。

我中文设置的雅黑,英文Courier New,也能显示这个几个unicode图标。

4 个赞

可以找找你喜欢的字体有没有打nerd补丁的。我自己常用的就是Jetbrains mono或者更纱,如果是阅读英文或者写作,我比较喜欢noto sans cjk sc的字体,用mixed-pitch配合,从而区分等宽的代码和不需要等宽的地方

1 个赞

谢谢!紫薯布丁

谢谢,我安装了 symbola 字体就好了。

这个方法很好啊,没想到可以用symbola共存

是的,我刚开始也显示不了unicode字符,然后在其它帖子中看到只要安装symbola就可以了。

这三个符号►◈▣在windows emacs显示没问题,但还是有些符号显示不了,

比如我最近用到了这个符号 :hammer:,在vsc,notepad++ 等都能显示出来,vsc的字体设置也是 Consolas, 'Courier New',emacs一样是这个设置,但在我这显示不出来,论坛里有谁的windows emacs能显示这个符号 :hammer: 的吗?

正常情况下,很少有人会专门去找这些特殊符号来用,主要是因为某些拼音输入法的问题,不好好的显示候选字,非要向用户推送特殊符号,比如我打 gou,会把这个符号 :white_check_mark: ,显示在最前面几个候选项中,这样使得正常打字不用特殊符号的人反倒显得异类了

注:此符号 :white_check_mark: 有我emacs上也不能显示出来

有些意外,win上被认为功能简陋,长期没有任何变化,无论win怎么更新都会被忽略得不到更新的记事本,把这几个符号复制过去也可以正常显示

jsb

应该是你没设置好 emoji 字体。我的可以。但 Emacs 中是黑白的。

但在 notepad3 中是彩色的:

这是我的字体设置:

看看emacs29中支持是不是好点,28以及以下版本的都是黑白显示。

我用的就是最新的 Emacs 29.0.50,本周才本地编译的。

应该是支持彩色的

可能是字体优先级的问题,emacs -Q 下看看?

我的版本:

emacs version: “29.0.50” (8854b3)

system-configuration-options: “–with-mailutils --with-native-compilation --with-modules --with-xwidgets”

OS: Arch Linux

macOS 和 Linux 都支持,Windows 不行。

@oldosfan 大佬,Windows 系统有可能支持彩色 emoji 吗?或者需要什么设置?

感谢大佬提醒,确实是这样,我的是win emacs28.1,尝试了几个字体设置都不成功,最后搜索到了 李杀的 这段代码 ,总算把emoji字符 :hammer: :white_check_mark: 显示出来了。黑白的感觉也还好。

1 个赞