======================================
我的系统是win7,emacs版本23.3.1。
先定义一个名为dyna的face
代码: 全选
(defface dyna
'((t :family "楷体"))
"face defined by dyn."
:group 'basic-faces)
Edit -> Text Properties -> Face -> Other
此时minibuffer中提示如下
Use face:
输入dyna
“中”字变成了楷体。
然后执行M-x describe-char,会显示相关信息如下:
character: 中 (20013, #o47055, #x4e2d)
preferred charset: chinese-gbk (GBK Chinese simplified.)
code point: 0xD6D0
syntax: w which means: word
category:
.:Base, C:2-byte han, c:Chinese, h:Korean, j:Japanese, |:line breakable
buffer code: #xE4 #xB8 #xAD
file code: #xD6 #xD0 (encoded by coding system chinese-gbk-dos)
display: by this font (glyph code)
uniscribe:-outline-楷体-normal-normal-normal-mono-13-*-*-*-c-*-gb2312.1980-0 (#x463)
Character code properties: customize what to show
name: CJK IDEOGRAPH-4E2D
general-category: Lo (Letter, Other)
There are text properties here:
face dyna
再定义一个名为dynb的face,不过这次我想让它使用一个自定义的fontset
我先创建这个fontset如下:
代码: 全选
(create-fontset-from-fontset-spec
"-outline-Arial-normal-normal-normal-sans-13-*-*-*-p-*-fontset-gbk")
代码: 全选
(set-fontset-font
"fontset-gbk" 'chinese-gbk
"-outline-楷体-normal-normal-normal-mono-27-*-*-*-c-*-gb2312.1980-0")
代码: 全选
(defface dynb
'((t :family "chinese-gbk"))
"face defined by dyn."
:group 'basic-faces)
Edit -> Text Properties -> Face -> Other
提示Use face:时输入dynb
但这次“中”字并没有变成楷体。
执行M-x describe-char
显示如下信息:
character: 中 (20013, #o47055, #x4e2d)
preferred charset: chinese-gbk (GBK Chinese simplified.)
code point: 0xD6D0
syntax: w which means: word
category: .:Base, C:2-byte han, c:Chinese, h:Korean, j:Japanese, |:line breakable
buffer code: #xE4 #xB8 #xAD
file code: #xD6 #xD0 (encoded by coding system chinese-gbk-dos)
display: by this font (glyph code)
uniscribe:-outline-Batang-normal-normal-normal-serif-13-*-*-*-p-*-gb2312.1980-0 (#x8966)
Character code properties: customize what to show
name: CJK IDEOGRAPH-4E2D
general-category: Lo (Letter, Other)
There are text properties here:
charset chinese-gbk
face dynb
跟上一次几乎完全相同,除了一行之外。
似乎dyna并没有使用楷体,而是用了一个名为Batang的字体。
我用M-x describe-fontset查看fontset-gbk的详细信息
发现似乎是“中”字没有用我设定的楷体,而是fallback to the default fontset之后,用了default fontset中的字体。
请问这是怎么回事?我是哪里出了错?如何才能让face使用自定义的fontset?