看到你的截图中汉字是斜体的,请问怎么做到的?谢谢
注释的 Face 定义成了斜体
感觉还是完全看英文字体
我用 PragmataPro 的话对齐就完全没问题,因为它的英文字母窄,同样大小的中文字正好是两个英文字母的宽度。
按照codefalling的方法,试了下Inconsolata 字体也能达到对齐的目的,缩放也不影响对齐问题. 个人感觉比Ubuntu 的字体好看。更清楚些
;; https://github.com/jixiuf/vmacs/blob/master/conf/custom-file.el
;; 如果配置好了, 下面20个汉字与40个英文字母应该等长
;; here are 20 hanzi and 40 english chars, see if they are the same width
;;
;; aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa|
;; 你你你你你你你你你你你你你你你你你你你你|
;; ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,|
;; 。。。。。。。。。。。。。。。。。。。。|
;; 1111111111111111111111111111111111111111|
;; 東東東東東東東東東東東東東東東東東東東東|
;; ここここここここここここここここここここ|
;; ココココココココココココココココココココココココココココココココココココココココ|
;; 까까까까까까까까까까까까까까까까까까까까|
(defun create-frame-font-mac() ;emacs 若直接启动 启动时调用此函数似乎无效
(set-face-attribute
'default nil :font "Menlo 12")
;; Chinese Font
(dolist (charset '( han symbol cjk-misc bopomofo)) ;script 可以通过C-uC-x=查看当前光标下的字的信息
(set-fontset-font (frame-parameter nil 'font)
charset
(font-spec :family "PingFang SC" :size 14)))
(set-fontset-font (frame-parameter nil 'font)
'kana ;script ココココココココココココココココココココココココココココココココココココココココ
(font-spec :family "Hiragino Sans" :size 14))
(set-fontset-font (frame-parameter nil 'font)
'hangul ;script 까까까까까까까까까까까까까까까까까까까까
(font-spec :family "Apple SD Gothic Neo" :size 16))
)
(when (and (equal system-type 'darwin) (window-system))
(add-hook 'after-init-hook 'create-frame-font-mac))
(defun create-frame-font-w32() ;emacs 若直接启动 启动时调用此函数似乎无效
(set-face-attribute
'default nil :font "Courier New 10")
;; Chinese Font
(dolist (charset '( han symbol cjk-misc bopomofo)) ;script 可以通过C-uC-x=查看当前光标下的字的信息
(set-fontset-font (frame-parameter nil 'font)
charset
(font-spec :family "新宋体" :size 16)))
(set-fontset-font (frame-parameter nil 'font)
'kana ;script ココココココココココココココココココココココココココココココココココココココココ
(font-spec :family "MS Mincho" :size 16))
(set-fontset-font (frame-parameter nil 'font)
'hangul ;script 까까까까까까까까까까까까까까까까까까까까
(font-spec :family "GulimChe" :size 16)))
(when (and (equal system-type 'windows-nt) (window-system))
(add-hook 'after-init-hook 'create-frame-font-w32))
(defun emacs-daemon-after-make-frame-hook(&optional f) ;emacsclient 打开的窗口相关的设置
;; (when (fboundp 'tool-bar-mode) (tool-bar-mode -1))
;; (when (fboundp 'scroll-bar-mode) (scroll-bar-mode -1))
;; (when (fboundp 'menu-bar-mode) (menu-bar-mode -1))
(with-selected-frame f
(when (window-system)
(when (equal system-type 'darwin) (create-frame-font-mac))
(when (equal system-type 'windows-nt) (create-frame-font-w32))
;; (set-frame-position f 160 80)
;; (set-frame-size f 140 50)
;; (set-frame-parameter f 'alpha 85)
;; (raise-frame)
)))
(add-hook 'after-make-frame-functions 'emacs-daemon-after-make-frame-hook)
这是正确使用 cfs 的一种姿势,也符合我设计这个 template 命令的初衷,教程写的很好,赞
等宽和等高往往是不能兼顾的, 如果字体选择合适,等宽和登高确实可以同时实现。
这个效果确实好! 不过我的是Source Code Pro 14+ STFangsong 16
;;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 可以将常用的所有字号都实现对齐, 放大缩小字体也不影响对齐效果
等等,似乎没必要设置全局字体,可以只设置 org-table
字体。
这样字体强迫症有福了。
终端模拟器结合emacs virtual modifier可以解决按键问题
代码在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))))))
这是我的 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 =
效果如下