如题, 题主用的是 MS-Windows, 字体是 Maple Mono SC NF (新装的系统, 地区设置的是 US, 只安装了这一款字体), 但是 Emacs 内的显示却很奇怪:
求助各位道友, 有没有办法把 Emacs 内的显示变得和右边记事本一样?
配置:
(custom-set-faces
'(default ((t ( :family "Maple Mono SC NF"
:foundry "outline"
:slant normal
:weight normal
:height 102
:width normal)))))
emacs 里面手动设置过字体么?
(set-face-attribute 'default nil :font (font-spec :family "Maple Mono SC NF" :size 16 :weight 'regular))
我原本是用的 menu bar 设置的, 用你的代码也试了一下, 结果都一样.
sunng
2023 年7 月 22 日 13:35
4
试试专门设置一下中文字体?
(if (display-graphic-p)
(dolist (charset '(kana han cjk-misc bopomofo))
(set-fontset-font (frame-parameter nil 'font)
charset
(font-spec :family "Noto Sans Mono CJK SC" :height 120))))
1 个赞
sunng:
试试专门设置一下中文字体?
我那个字体就是为 中英文 设计的, 你看我的截图的右边. 我的目标就是正常地使用它提供的 中文 和 英文 字体.
单独设置中文字体应该可行,刚刚我在本地试了一下:
(set-face-attribute 'default nil :font (font-spec :family "Maple Mono SC NF" :size 16 :weight 'regular))
(set-fontset-font t '(#x2ff0 . #x9ffc) (font-spec :family "Maple Mono SC NF" :weight 'regular))
1 个赞
emacs 的字体 fallback 逻辑我也搞不太懂,你可以参考这个贴子:如何为不同 face 设置不同的中文字体
简单来说, set-face-attribute
只影响 ascii 字符使用的字体,中文字符则需要通过 set-fontset-font
来设置。
1 个赞
提问的时候最好能附带下字体相关的配置,因为 Emacs 里设置字体有很多种方法。
Shynur:
??? 为啥这样就可以了
另外推荐阅读 Emacs,字体与字符集
1 个赞
Shynur
2023 年7 月 23 日 02:42
10
还是有点不一样. 我的截图中, 粗的是我想要的字体, 细的好像是 Emacs 默认的字体 (? 反正不是我设置的那种), 这说明我的设置不光应用在 ASCII 字符上面, 部分汉字是正常显示的.
VagrantJoker:
字体相关的配置
我是通过 menu bar 设置了我在一楼提到的那个字体.
Shynur:
还是有点不一样. 我的截图中, 粗的是我想要的字体, 细的好像是 Emacs 默认的字体 (? 反正不是我设置的那种), 这说明我的设置不光应用在 ASCII 字符上面, 部分汉字是正常显示的.
所以说要提供代码,不然大家讨论的都不是一个东西。
那起码应该提供具体的操作。你指的是 Options->Set Default Font ? 那下面有个 Options-> Save Options 的选项,可以生成对应的代码。
我试了一下,生成如下代码,可见改的是 :famlily
而不是 :font
,可能是字体 fallback 的问题
(custom-set-faces
;; custom-set-faces was added by Custom.
;; If you edit it by hand, you could mess it up, so be careful.
;; Your init file should contain only one such instance.
;; If there is more than one, they won't work right.
'(default ((t (:family "Amazon Ember" :foundry "DAMA" :slant normal :weight regular :height 98 :width normal)))))
Shynur
2023 年7 月 23 日 03:09
12
VagrantJoker:
可见改的是 :famlily
而不是 :font
是这样的, 我更新了问题描述.
但是这个 fallback 太奇怪了, 明明这个字体覆盖了图中的那些汉字.