开一个字体推荐贴

我测试了一下,你说的组合等宽等高好像不能同时实现,设置等宽之后,中文高一些

哦,我可以接受不等高,等宽就可以了。

不等高会导致modeline/headerline/tab bar一会大一会小,确定不会犯强迫症吗 :joy:

习惯就好。最直观的就是minibuffer的ivy里快速上下移动的时候,字体高度不一致,不太舒服。但是中英文等宽了啊。有利有弊吧。找个中英文等宽字体都不容易,更不用说还能多显示几行的好看的字体。

直接用更纱黑体就等宽等高了,但是更纱黑字体高度高了点,比现在用的FantasqueSansMono英文字体显示行数少几行。

把Modeline设置成和背景色一样,就看不出来闪了。

字体等宽就好。

是呢

这个相对来说简单,我一般就用 cnfonts,几分钟就设置好等宽了,不过要想等宽等高同时满足的组合就比较不容易了,目前我只发现 PragmataPro Mono + 黑体 和 Input Mono Condem + 黑体 两个组合还不错,其他暂时没发现

我突然发现 SimHei 真是一个好字体 :slight_smile:

1 个赞

这个好解决,tip不少,比较难解决的是 modline 上下抖动。

;; (setq eh-space (propertize "  " 'face '(:weight 'bold)))
(defvar eh-space "  ")

;; ** 设置 mode-line
;; 在 mode-line 最后追加一个半角空格,一个全角空格,防止因为字体高度原
;; 因,导致 mode-line 抖动。
(setq mode-line-end-spaces
      '(:eval (if (display-graphic-p) eh-space "-%-")))

(defun eh-tab-line-format (orig_func)
  "在 tab-line 的最后添加一个全角空格,防止 tab-line 抖动。"
  (list (funcall orig_func) eh-space))

(advice-add 'tab-line-format :around #'eh-tab-line-format)


1 个赞

这样设置出来好看不?

看个人口味了,我不使用icon的。

如何给这个字体打 nerd的补丁?

我自己是使用 Ubuntu Mono; 但沒有特別偏好!~ :smile:

github 上的 nerd-font 有介绍。

为了中英文的等宽,现在基本上只用字体宽度 0.5 的英文字体了,好处是不用需要 cnfont 来用不同大小的中英文字体(不同大小的字体也会导致高度中英文高度也不同,这样会导致行距变的不一样),也不用调中文字体的缩放之类的,放大缩小的时候也能完美对齐,也不挑中文字体。缺点就是这样的英文字体比较少,我现在知道的是下面这些:

  • Unifont 用的最多,中英文 emoji 全都包了,习惯了点阵字体,看着还挺舒服的
  • Ubuntu Mono
  • Iosevka
  • Fantasque Sans Mono
  • Fairfax
  • monofur
  • M Plus Code

中文除了 Unifont 搭的是霞鹜文楷,主要是看着舒服。

自己写了个切换的函数,方便在几个固定的配置里面切换。

5 个赞

最近用这个字体,我觉得还行。有点像FiraCode

2 个赞

e 这个字母有点奇怪

Windows系统,中文微软雅黑,英文consolas或者打了nerd font补丁的code new roman

这是啥字体呢 :face_in_clouds:

IBM Plex Mono,我目前最喜欢的字体,明年初还会出中文 IBM Plex Sans SC

2 个赞

IBM Plex Mono 的中文字体到底鸽了多久啊

据最新消息,已经完工了,目前在测试阶段。估计2024 第一季度可以按时发布。