Ubuntu 16.04, emacs 25解决此问题
安装 Noto Sans Mono字体,设置
(set-face-attribute
'default nil
:font (font-spec :name “Ubuntu Mono”
:weight 'normal
:slant 'normal
:size 14.0))
(dolist (charset '(kana han symbol cjk-misc bopomofo))
(set-fontset-font
(frame-parameter nil 'font)
charset
(font-spec :name “Noto Sans Mono”
:weight 'normal
:slant 'normal
:size 15.0)))
或者都使用 Noto Sans Mono字体
(set-face-attribute
'default nil
:font (font-spec :name “Noto Sans Mono”
:weight 'normal
:slant 'normal
:size 13.0))
(dolist (charset '(kana han symbol cjk-misc bopomofo))
(set-fontset-font
(frame-parameter nil 'font)
charset
(font-spec :name “Noto Sans Mono”
:weight 'normal
:slant 'normal
:size 15.0)))
(if (eq system-type 'windows-nt)
(progn
;; Setting English Font
(set-face-attribute 'default nil :font "Ubuntu Mono 11")
;; (set-face-attribute 'default nil :font "Inconsolata 11")
;; Chinese Font
(dolist (charset '(kana han symbol cjk-misc bopomofo))
(set-fontset-font (frame-parameter nil 'font)
charset
(font-spec :family "Microsoft Yahei" :size 22)))))
试过不少英文等宽字体,ubuntu mono感觉最好。Ubuntu font
下面的组合是ok了。人肉对齐。
“Ubuntu Mono 10 + Microsoft Yahei 20” org mode table是可以对齐的 “Ubuntu Mono 12 + Microsoft Yahei 24” org mode table是可以对齐的 “Ubuntu Mono 11 + Microsoft Yahei 22” org mode table是可以对齐的
为什么我单独对org-table字体进行设置,会报错说“Invalid face” org-table. org version: 9.3.
你这个报错,跟我是一样的。实际我用了cnfonts这个包也很好,不过现在我用等距更纱系列字体可以做到宽高都对齐。
发现使用Inconsalata字体+华文楷体的效果比较好,不用缩放,就可以解决对齐问题,
同时获得很多的视觉效果。
用雅黑,黑体,Noto Sans SC 等字体都会显得中文特别高大。
这里采用了@recardo的方案,在Linux ,Window,Mac 上都是一样效果。
(when (eq system-type 'darwin)
(setq fonts '("Monaco" "STKaiti"))
(set-face-attribute 'default nil :font
(format "%s:pixelsize=%d" (car fonts) 15))
(setq face-font-rescale-alist '(("STKaiti". 1.2))))
(when (eq system-type 'windows-nt)
(setq fonts '("Inconsolata" "华文楷体"))
(set-face-attribute 'default nil :font
(format "%s:pixelsize=%d" (car fonts) 20))
(setq face-font-rescale-alist '(("华文楷体". 1.0))))
(when (eq system-type 'gnu/linux)
(setq fonts '("Inconsolata" "STKaiti"))
(set-face-attribute 'default nil :font
(format "%s:pixelsize=%d" (car fonts) 18))
(setq face-font-rescale-alist '(("STKaiti". 1.0))))
(dolist (charset '(kana han symbol cjk-misc bopomofo))
(set-fontset-font (frame-parameter nil 'font) charset
(font-spec :family (car (cdr fonts)))))
更新:针对三大系统进行设置,更加方便不同系统使用不同字体和不同的缩放比例。
Inconslata 中文缩放1.0;Monaco,中文缩放1.2。
非常漂亮,很好。
你用的是什么字体啊?这个问题我好像之前也遇到过。
Inconsolate,下载地址: GitHub - googlefonts/Inconsolata: Development repo of Inconsolata Fonts by Raph Levien
用的是 ttf
华文楷体, 下载地址:QisiAaXiHe下载 QisiAaXiHe Regular 中文字体 字体下载-脚本之家
linux系统。
这个两个字体我是在Majaro Linux测试过没问题的。 你可以试试别的字体,原理上任何字体都可以,只是要微调缩放的比例。不同字号比例不一样。
等距更纱黑体(简体中文)+ Nerd Fonts图标库,中英文宽度完美2:1,Powerline/Powerlevel10k的好搭档。
为什么这个字体在我这里不是中英文1:2呢?
arch linux系统,kde桌面环境,不想用cnfonts那些工具,视觉体验感觉不好
应该是字体没用上吧~~~
你看下中英文是不是和我给出的截屏中的字体一样
字体应该是用上了,但是没有2:1
你自己看下汉字和英文的font size,应该是你的emacs自己有配置。
你也可以去终端下跑emacs,把终端的字体设置成这个,然后看看是不是对齐
看你的主题,像doom-one
你把光标置于汉字/英文里,然后M-x 执行 describe-font
里,
就能看到相应的字体配置了
调了一下字体大小,现在对齐正常了,多谢了