自 关于Emacs里font 和 fontset的博客,解决了我很多疑问 继续讨论:
之前分享了这篇博客,后来感觉确实有用,取得原作者同意以后翻译成中文发到了博客上。之前没仔细看的同学可以看看:
https://archive.casouri.co.uk/note/2019/emacs-字体与字体集
主要讲的就是怎么配合Emacs寻找字体的方法配置Emacs字体,尤其是给不同语言配置不同的字体和怎么配置后备字体。
自 关于Emacs里font 和 fontset的博客,解决了我很多疑问 继续讨论:
之前分享了这篇博客,后来感觉确实有用,取得原作者同意以后翻译成中文发到了博客上。之前没仔细看的同学可以看看:
https://archive.casouri.co.uk/note/2019/emacs-字体与字体集
主要讲的就是怎么配合Emacs寻找字体的方法配置Emacs字体,尤其是给不同语言配置不同的字体和怎么配置后备字体。
好东西!感谢楼主的付出和分享!
看不到,需要番羽墙吗?
似乎並不需要,中國移動用戶
博客是在GitHub托管的,国内应该没问题
我公司用的网通,连不上,等回家用联通试试。
看了这篇文章,自己又折腾了一通,感觉仍然不是很清楚。我先概括下它的意思,楼主看看是否有偏差?
(set-face-attribute 'default nil :font "Font Name")
给整个区间设定字体(缺字的情况下 Emacs 怎么 fallback 先不管)(set-fontset-font t 'charset FONT-SPEC)
覆盖 charset 或 script 的字体配置nil 'append
或 nil 'prepend
,可以在已经有配置的区间上,前面或者后面加字体配置我的问题是,我用了 set-face-attribute
设置了更纱黑体作为默认字体,这个字体包括了西文、中文和日文;然后用第二种方法单独设置 script 的字体时,设置 'han
为其他字体(如 Droid Sans Fallback)会起作用,设置 'latin
为其他字体就不起作用,而设置 'unicode
为其他字体的话,西文部分仍然是更纱黑体,其他部分则会变动。这让我感觉它们的关系不是上面所说的这么简单。。。因为 Emacs 自带的文档说得也很模糊,我没有整明白,想问问楼主有什么看法?
你具体的代码是啥?不知道具体代码我也不好说,毕竟我也只是翻译。
西文部分不变的原因可能是emacs不支持这样修改ascii字体(如原帖所说
我写了个挺复杂的函数,用来从一个列表中读字体配置并且自动设置。效果大概就是这样的:
(set-face-attribute
'default nil
:font (font-spec :family "Sarasa Term CL" :size 20))
(set-fontset-font t 'unicode (font-spec :family "Droid Sans Fallback"))
我不太清楚他所说的不能设置 ascii 字符这个结论是哪来的,我看函数的文档里并没有说。而且就算是这样,这个范围肯定也比 ascii 大,因为我试了 à、é 之类的字符也没起作用。
他可能是邮件列表问的?
你这个看着没毛病……
嗯,所以现在我就假设拉丁字符一定会用「默认字体」显示了(如果字体里有的话)