哇,原来那个已经deprecated了,怪不得aur上好长时间没更新了。
字体是不错,但是在windows下比我原来用source code pro 和微软雅黑慢,还挺明显的
Iosevka 对我来讲唯一的问题是 Release Notes 由于字符间距的原因变丑了
已解决:更纱黑体 Sarasa Mono SC have ligature, Em dashes (——) are half width.
卧槽,这个banner帅
WTF! 不懂你在说什么
我发现换字体还有除虫的功效,妈蛋的被emacs的一个bug折磨了一天(emacs 崩溃),然后换了字体症状立马消失了,原来中英文两种字体混着用,通过 hack 的方式求得等宽确实是有问题的。
知道有这回事就算大字体文件卡我也不会再换回去了,受不了无缘无故的bug
以后就认准更纱黑体了
对更纱黑体唯一不满的一点是 unicode 字符的对齐仍然没有解决
更纱黑体的作者认为这个应该是 org-mode 那边去解决:
能不能拜托 @xuchunyang 大神帮忙把这个 issue 提一下,或者干脆解决了
不清楚什么情况,没有安装你提到的字体,也无法尝试。
看来Emacs把希腊字母当成两个字符宽度了
从你的截图似乎能推测出这个结论,但是 Emacs / Org 默认认为希腊字母是一个字符宽度
(char-width ?Ω)
;; => 1
难道你那边不是吗?
好奇怪啊,我这边是两个字符宽度,Windows系统 emacs 27 更纱黑体
这是 bug 吧?
还是说 mac 上的 emacs 把这个问题修复了?
发现 (emacs) Language Environments 会影响字符宽度,我的系统是英文的,Emacs 默认也是英文环境,但如果我改用 Chinese-GBK
环境的话,Ω
就会从一个字符宽度变成两个字符宽度。
current-language-environment
;; => "English"
(char-width ?Ω)
;; => 1
(set-language-environment "Chinese-GBK")
;; => t
(char-width ?Ω)
;; => 2
原来如此,这应该是根源了。
我在网上搜到一个解决办法
(defun blaenk/set-char-widths (alist)
(while (char-table-parent char-width-table)
(setq char-width-table (char-table-parent char-width-table)))
(dolist (pair alist)
(let ((width (car pair))
(chars (cdr pair))
(table (make-char-table nil)))
(dolist (char chars)
(set-char-table-range table char width))
(optimize-char-table table)
(set-char-table-parent table char-width-table)
(setq char-width-table table))))
;; argument is an alist of width and list of RANGEs,
;; which is the same as the RANGE that set-char-table-range accepts
(blaenk/set-char-widths
`((1 . (,(string-to-char "α")))))
但是他这个代码貌似是有问题的,比如我这里改了希腊字母 α 的宽度,但是实际效果是所有希腊字母的宽度都被改了!所以用这个函数的时候要小心它的副作用。这个函数也接受范围参数,但是目前看来不需要指定范围了。
显示不清楚(缺点少画)就是屏幕像素不够。
假设在 6x6 的空间设计 0 字,要求:1.圆角;2.中间画斜线以区分0和O
6 ####
5 # #
4 # # #
3 # # #
2 # #
1 ####
+-123456
把它放到 5x6 的空间中,就必须要做出选择了,是削减顶/底部:
5 # #
4 # # #
3 # # #
2 # #
1 ####
+-123456
还是削减中间:
6 ####
5 # #
3 # # #
2 # #
1 ####
+-123456
刚好差一两个像素的情况下,换成高分(2x)屏可以解决问题。继续压缩空间,也是会突破极限的。
貌似是用 use-cjk-char-width-table
改的,不过我没看明白究竟是怎么改的?不知道有没有可能是 Bug?假如这就是预期想要得到的结果,那么希腊字母在中文中显示成全角是惯例么?
不太像是惯例,有没有可能是根本没做规定,中文环境下对非 ascii 字符一概用全角宽度。不管怎样 emacs 能改字符宽度真是很牛逼,换别的编辑器碰到这种问题估计就无解了。
换了 Vim 还不会有这种问题,GG。话说回来,除了 Org 这种用文字表格的,我也不觉得有别的场景需要完全等宽。
发现更纱黑体也不是任何字号都能实现等宽,我用13号的时候就不等宽,12和14号的时候可以等宽
要中英文对齐看看 cnfonts?