【发布时间】:2010-09-19 03:55:03
【问题描述】:
在 XEmacs 中,这是通过在字符上调用函数 char-to-ucs 来完成的。 GNU Emacs 似乎没有这个功能。在 GNU Emacs 中,字符似乎是普通的整数。在拉丁字符上运行 C-x = 表明 Emacs 代码点与对应字符的 Unicode 代码点不同。如何在 GNU Emacs 中找到字符的 Unicode 代码点?
【问题讨论】:
在 XEmacs 中,这是通过在字符上调用函数 char-to-ucs 来完成的。 GNU Emacs 似乎没有这个功能。在 GNU Emacs 中,字符似乎是普通的整数。在拉丁字符上运行 C-x = 表明 Emacs 代码点与对应字符的 Unicode 代码点不同。如何在 GNU Emacs 中找到字符的 Unicode 代码点?
【问题讨论】:
感谢您的快速回答。我查看了 describe-char 的源代码,发现以下 sn-p 解决了我的问题。我在 XEmacs 21.4.13 Mule 和 GNU Emacs 22.1.1 中都对其进行了测试,它似乎可以工作。
(or (get-char-property (point) 'untranslated-utf-8)
(encode-char (char-after) 'ucs))
【讨论】:
在现代 Emacs 中,M-x describe-char 会告诉你当前的字符。
一个例子:
character: ¢ (2210, #o4242, #x8a2, U+00A2)
charset: latin-iso8859-1
(Right-Hand Part of Latin Alphabet 1 (ISO/IEC 8859-1): ISO-IR-100.)
code point: #x22
syntax: w which means: word
category: l:Latin
buffer code: #x81 #xA2
file code: #xC2 #xA2 (encoded by coding system utf-8)
display: by this font (glyph code)
-apple-monaco-medium-r-normal--12-120-72-72-m-120-mac-roman (#xA2)
注意第一部分的 U+00A2,它给出了字符的 Unicode 代码点。
【讨论】: