Org mode 中英混排对齐的问题

这个效果确实好! 不过我的是Source Code Pro 14+ STFangsong 16 :+1:

;;WIn7下使用Emacs-25会遇到卡顿,解决方法为使用 Microsoft YaHei Mono 字体。
(custom-set-faces
'(default ((t (:family "Microsoft YaHei Mono" :foundry "outline" :slant normal :weight normal :height 98 :width normal)))))
;;如使用Microsoft YaHei Mono,则可使用如下设置
;; Chinese Font
(dolist (charset '(kana han symbol cjk-misc bopomofo))
(set-fontset-font (frame-parameter nil 'font) charset (font-spec :family "Microsoft YaHei" :size 14)))

Microsoft YaHei Mono 字体网上挺多地方可能下到,但还是建议保存一下,编程和非编程都很适合。 http://www.sdbeta.com/xiazai/2016/0805/99188.html

好像随便设置一个中文字体就可以解决卡顿问题

已经使用 这个字体看起来非常舒服 谢谢

这个设置只有在字体固定大小时有效,一放大或缩小,又对不齐了。

这也是我维护 chinese-fonts-setup 的原因, cfs 可以将常用的所有字号都实现对齐, 放大缩小字体也不影响对齐效果

1 个赞

等等,似乎没必要设置全局字体,可以只设置 org-table 字体。

这样字体强迫症有福了。

1 个赞

终端模拟器结合emacs virtual modifier可以解决按键问题

安利一个知乎believe制作的 中英文都等宽的字体

https://be5invis.github.io/Iosevka/

觉得细可以用bold

好像有其他问题,中文是对齐了,但是这个。。。

代码在ubuntu 17.10 运行emacs时,中文字体不能正常加载,需要如下修改:

(setq fonts
  (cond ((eq system-type 'darwin)     '("Monaco"    "STHeiti"))
        ((eq system-type 'gnu/linux)  '("DejaVu Sans Mono"     "WenQuanYi Zen Hei"))
        ((eq system-type 'windows-nt) '("Consolas"  "Microsoft Yahei"))))

(set-face-attribute 'default nil :font
		    (format "%s:pixelsize=%d" (car fonts) 14))

(when (display-graphic-p)
  (dolist (charset '(kana han symbol cjk-misc bopomofo))
    (set-fontset-font (frame-parameter nil 'font)
		      charset
		      (font-spec :family (car (cdr fonts))))))
2 个赞

这是我的 emacs 相关配置(GNU/Debian)

(defun self-font()
  (interactive)
  (set-frame-font (format "%s:pixelsize=%d" "Monaco" 13) t)
  (dolist (charset '(kana han symbol cjk-misc bopomofo))
    (set-fontset-font (frame-parameter nil 'font) charset
                      (font-spec :family "Hiragino Sans GB W3" :size 16))))

(if window-system (self-font))

总的思路就是「中文字体 用 冬青黑体-16」, 「英文用 Monaco-13」
想要查询光标位置的字体可以用 C-u C-x =

效果如下
image

3 个赞

这种方式很清新脱俗呢, 不同的系统用不同的字体

。。。。。。。。。。。。。。。。。。。

哈哈,我学别人的,确实照顾多系统用户。

另外,你的代码中 (add-to-list…) 那一块我在最初的代码中试过,只是没有最后一行(if…),但是在ubuntu中不能正常加载中文字体,我怀疑这个add-to-list没用。

现在 chinese-fonts-setup 已经改名为: cnfonts 了

1 个赞

下载:Noto Sans Mono

下载并安装这个字体(很简单,自行百度)

(set-default-font "Noto Sans Mono" 11)

效果如下:

表格中英混排也解决了。 效果如下: emacs-table

3 个赞

有一个叫做 cnfonts的库,很好使。GitHub - tumashu/cnfonts: emacs中文字体配置工具。可以快速方便的的实现中文字体和英文字体等宽(也就是常说的中英文对齐)。

1 个赞

这个真漂亮!

我试了一些字体,等宽之后不能等高,不太好看。

想问一下,有没有可能通过调整字符间距来对齐?