2012-12-29 87 views
1

我使用以下設置來配置下的窗口系統的emacs字體emacs的設置字體集的字體特定的unicode炭

(create-fontset-from-fontset-spec 
"-outline-Cousine-normal-normal-normal-*-*-*-*-*-*-*-fontset-Consolas") 
(set-fontset-font "fontset-Consolas" 
        '(#x6d4b . #x6d4c) 
        "Microsoft YaHei" nil 'prepend) 
(set-face-attribute 'default nil :font "fontset-Consolas") 

後emacs的啓動,I輸入該炭#x6d4b入emacs的緩衝,但結果是一個正方形,這意味着字體設置不起作用。我也用describe-char顯示詳細信息,並得到以下結果:

   position: 2888 of 4342 (66%), column: 13 
      character: 測 (displayed as 測) (codepoint 27979, #o66513, #x6d4b) 
    preferred charset: unicode-bmp (Unicode Basic Multilingual Plane (U+0000..U+FFFF)) 
code point in charset: 0x6D4B 
       syntax: w which means: word 
      category: .:Base, C:2-byte han, L:Left-to-right (strong), c:Chinese, |:line breakable 
      buffer code: #xE6 #xB5 #x8B 
      file code: #xE6 #xB5 #x8B (encoded by coding system utf-8-dos) 
       display: no font available 

我們可以發現,display屬性顯示它並沒有提供字體爲,但我確實給在字體配置。

你能指出問題在哪裏嗎?我想在設置字體集的字體應該工作,即使在Windows系統下

回答

1

只要你只是想設置默認字體和兩個特定字符的不同字體,下面的工作對我來說:

(set-face-attribute 'default nil :family "Consolas") 
(set-fontset-font "fontset-default" '(#x6d4b . #x6d4c) 
        "Microsoft YaHei" nil 'prepend) 

prepend對於Consolas是不必要的,但可能對你的字體有幫助)。

+0

你能解釋爲什麼我需要設置fontset-default,而不是我自己的fontset-Consolas? – winterTTr

+0

不知道,我只是從我自己的配置中調整了一個片段。 – Dmitry

+0

Emacs的郵件列表可能是一個更好的地方來提問這樣的問題。 – Dmitry