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

安装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 个赞

Emacs29 要用’emoji 来设置face,并使用 Segoe UI Emoji 字体。

改成了 emoji‘ 设置,也是黑白的,字体是 Segoe UI Emoji 。可能是 Emoji 在 Windows 上的实现不一样

使用的最小配置:

(add-to-list 'default-frame-alist (cons 'font (format "%s-%d" "Cascadia Mono" 11)))
(set-fontset-font t 'emoji "Segoe UI Emoji")

(set-fontset-font t 'han "Microsoft Yahei")

OS:Windows 11
GNU Emacs 29.0.50 (build 1, x86_64-w64-mingw32) of 2022-09-22

确认了,Windows 系统还不支持彩色 Emoji。

确实不是彩色的,截图上的图标已经是emoji了,如果不是长的不一样

Win32 用来显示彩色符号的 API 无法从 C 代码调用,所以 emacs 用不了。

1 个赞