fontset如何在emacs中运行?

时间:2012-12-30 11:35:56

标签: emacs character-encoding fonts

我在Emacs中阅读了一些关于字体配置的文档,我发现了两个概念,即FONTFONTSET。目前,我的理解是,fontset是一组font,它们按script(又称编码)分组,我们可以创建一个字体集并指定一些字符集来使用特定字体。

但到目前为止,一些实验代码并不总是按照我的意愿运作,所以我想找出问题是什么?

首先,我创建自己的fontset

(create-fontset-from-fontset-spec
 "-outline-Cousine-normal-normal-normal-*-*-*-*-*-*-*-fontset-Consolas")

然后我想将它用作当前的emacs fontset(或者这可能吗?我不确定),以下代码似乎有效:

(set-frame-font "fontset-Consolas" nil t)

然后我尝试为某些特定字符或编码自定义我的字体集:

(set-fontset-font "fontset-Consolas" 'han "Microsoft YaHei" nil 'prepend)

然而,遗憾的是,这不起作用,'han类别中的字符不会更改其字体。然后我得到了一些示例代码并尝试以下代码:

(set-fontset-font "fontset-Default" 'han "Microsoft YaHei" nil 'prepend)

这一次,它有效,'han类中的字符使用正确的字体。但为什么我需要更改fontset-default而不是fontset-consolas。 然后我尝试使用以下代码恢复我的更改:

(set-fontset-font "fontset-Default" 'han "Consolas" nil 'prepend)

但是,'han类别字符保持不变,我希望这些字符不能正确显示,因为我使用的字体不包含那些字符。为什么这次更改fontset-default不起作用?

除了上面的代码,还有一些更普遍的问题:

  1. 如何将emacs默认字体集更改为我自己的字体集,是否可能?
  2. 多字体集是同时工作还是只有一个字体集有效?为什么我的测试代码需要更改default而不是我的?
  3. set-fontset-font第二个参数是target,我怎么知道哪个脚本名称适合当前光标下的char。我可以使用describe-char来显示char信息,但是我没有找到该描述中哪个词是target param的正确词。
  4. 有关emacs中字体配置值得注意的几点吗?
  5. 我的问题有点冗长,感谢您的耐心并分享您的建议。

0 个答案:

没有答案