不同字体占据的高/宽不同,对齐方式不同。有没有改过 baseline,上下 padding 是多少。
如果行高是动态的,你往字母行里输入一个汉字,可以明显看到行高增加。
如果行高是固定的,也会因为字符占据的高度不同,造成上下行间距疏密不一的视觉效果。
你不给出可重现的完整脚本,继续讨论的意义不大。
补充:doom 会压缩最后一行的高度
末尾无空行 | 末尾有空行 |
---|---|
不同字体占据的高/宽不同,对齐方式不同。有没有改过 baseline,上下 padding 是多少。
如果行高是动态的,你往字母行里输入一个汉字,可以明显看到行高增加。
如果行高是固定的,也会因为字符占据的高度不同,造成上下行间距疏密不一的视觉效果。
你不给出可重现的完整脚本,继续讨论的意义不大。
补充:doom 会压缩最后一行的高度
末尾无空行 | 末尾有空行 |
---|---|
这是我自己的doom 配置链接:
其中跟这里相关的要么在init-basic要么在init-org.我自己截取相关段落放在这里:
(setq user-full-name "Isaac Wang"
user-mail-address "[email protected]"
company-idle-delay 0.1
flycheck-checker-error-threshold 50000
org-directory "~/org/"
display-line-numbers-type t
confirm-kill-emacs nil
doom-modeline-major-mode-icon t
lsp-file-watch-threshold 50000
doom-font (font-spec :family "MonacoB" :size 13)
doom-unicode-font (font-spec :family "Monaco Nerd Font Mono" :size 14)
treemacs-width 32)
(setq-default cursor-type 'bar)
(+global-word-wrap-mode +1)
;;中文字体
(if (display-graphic-p)
(progn
(dolist (charset '(kana han symbol cjk-misc bopomofo))
(set-fontset-font (frame-parameter nil 'font)
charset
(font-spec :family "STHeiti" :size 14)))))
这里是我对字体的全部相关设置。我试过把monaco换成别的字体,结果是一样的。 下面是org的:
(add-hook! 'org-mode-hook (kill-local-variable 'line-spacing)(setq-local default-text-properties '(line-spacing 0.2 line-height 1.25)) )
实际上我自己把所有配置都删了只剩下一个add-hook 'org-mode-hook那一句的时候,结果也是一样的。 我自己填的东西真的很少,因为我自己的水平也就是会用一下setq的水平。。。 至于你说的baseline, padding之类的,我是一点也没有动过。
感谢大佬。
说错了,这个现象是 (setq-local default-text-properties '(line-spacing ...))
引起的,用 emacs -Q --eval ...
可重现。
试了下。确实是这样。那就是emacs自己的锅了,最后一行高度压缩应该是无解的,不过这个不重要。
wrap-mode下被wrap的行不算行高倒是比较坑爹。目前也没找到解决办法。