windows11 部分unicode字符无法正常显示

分别用 emacs 27.2、28.2 在 windows11 上测试,发现大部分 unicode字符无法正常显示,而在 win7、win10 上都是可以正常显示的!而且在 win11 上,vim、neovim 都可以正常显示这些 unicode字符,无论是在gui界面还是alacritty终端上都可以正常显示。唯独 emacs 上无法正确显示。
不知道大家是否也遇到这样的问题?应该如何解决?

(图中,左侧为gui界面的 emacs,右侧为 alacritty 终端中的 neovim)

1 个赞

我所有的 emoji 和 大部分 Unicode 字符都显示不了.

不知道和这个问题有没有关联.

1 个赞

是不是字体问题,用cnfonts设置一下看看呢?额外的字体用下面的语句加

(setq cnfonts-personal-fontnames '(() ("更纱黑体 SC") () () ()))
1 个赞

试了一下,依然无效!但还是很感谢! :blush:

估计还是字体的原因!win7、win11,中文字体同样都设置为微软雅黑了,Win11却无法显示那些字符集。
我的中文字体设置成 微软雅黑 的效果,不能显示那些字符


当把中文字体设置成另一款字体后,就能够显示那些字符了。但某些原本正常显示的中文却又变成了无法显示出来的unicode编码



而这些问题在Win7中是不存在的。 :rofl:

刚刚看 seagle0128 大佬写的 半人马 Emacs 的代码, 解决这个问题了. 开心.

推荐你也去看一下.

1 个赞

Emacs 的字体问题我真的无语, 为啥 VS Code 等编辑器就几乎没有这种问题呢? 对我这种对字体方面的实现细节不了解的人来说太痛苦了

unicode字符和emoji 字符是不同的,设好了unicode字符,emoji字符还是不能显示,需要在设置emoji字体

1 个赞

今天早上看了你推荐的内容,然后在 为啥 字体 显示 粗细不一 - #9,来自 VagrantJoker
然后看了 @ VagrantJoker 推荐的字符集相关内容 Emacs,字体与字符集
现在通过设置中文字体再附加一个能显示那些 Unicode 字符的字体的方法,基本解决了我遇到的这个问题!

(set-fontset-font t 'han "微软雅黑 21")
(set-fontset-font t 'han "malgun Gothic 24" nil 'append) ;; for kor unicode show

通过这样设置,在win11中能够正确显示中文、Unicode 字符了!
非常感谢你的帮助! :blush: :face_with_symbols_over_mouth: :hugs: :+1:

1 个赞

感谢!这个设置emoji字体的内容,对我也很有帮助!我仔细参考参考! :blush: :hugs: :+1:

你可以理解为故意的。故意做得不好。
Emacs 对非自由操作系统的支持属于“让你稍微感受下自由软件是个什么味道”,如果你想要更加顺畅的体验,请前往更自由的操作系统。