在 Arch Linux 下 Emcs 中文字体的标点符号显示的高度都是在字体的中间,请问下这种情况会是什么原因造成的。同样的 Emacs 配置在 Mac ,Windows 和 WSL2 的 Arch Linux 都是正常的。效果如下图:
另外:在 Emacs 以外的其他程序中显示都是正常的。
Emacs 版本:28.0.50 navtive comp
OS: Arch Linux
在 Arch Linux 下 Emcs 中文字体的标点符号显示的高度都是在字体的中间,请问下这种情况会是什么原因造成的。同样的 Emacs 配置在 Mac ,Windows 和 WSL2 的 Arch Linux 都是正常的。效果如下图:
另外:在 Emacs 以外的其他程序中显示都是正常的。
Emacs 版本:28.0.50 navtive comp
OS: Arch Linux
估计你默认字体弄了个Noto-CJK-TC。台湾的标点符号就是在正当中的。
你光标放到那个标点符号上,M-x describe-char
看看用的什么字体。
确实是因为使用了繁体的符号。
position: 7 of 16 (38%), column: 12
character: , (displayed as ,) (codepoint 65292, #o177414, #xff0c)
charset: unicode (Unicode (ISO10646))
code point in charset: 0xFF0C
script: cjk-misc
syntax: . which means: punctuation
category: .:Base, c:Chinese, h:Korean, j:Japanese, |:line breakable
to input: type "C-x 8 RET ff0c" or "C-x 8 RET FULLWIDTH COMMA"
buffer code: #xEF #xBC #x8C
file code: #xEF #xBC #x8C (encoded by coding system utf-8)
display: by this font (glyph code)
ftcrhb:-GOOG-Noto Serif CJK TC-normal-normal-normal-*-27-*-*-*-*-0-iso10646-1 (#xF351)
Character code properties: customize what to show
name: FULLWIDTH COMMA
general-category: Po (Punctuation, Other)
decomposition: (wide 44) (wide ',')
但是我自己设置的是 Noto Sans Mono CJK SC ,不知道它为什么会用错。
我用的 KDE 的 Arch Linux ,字体管理里面搜索出所有的 TC 字体,然后右键可以禁用的。
通过 Emacs,你是怎么设置的呢?
加一行配置指定字体就好了:
(set-fontset-font t 'cjk-misc "Noto Sans CJK SC Regular")