2008-10-25 3 views
23

В XEmacs это выполняется путем вызова функции char-to-ucs на символ. У GNU Emacs нет такой функции. В GNU Emacs символы кажутся обычными целыми числами. Запуск C-x = на латинском символе показывает, что код Emacs отличается от кодового пункта Unicode для соответствующего символа. Как найти код Unicode символа в точке в GNU Emacs?Поиск кода Unicode символа в GNU Emacs

ответ

40

В современном Emacs M-x описать-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 элемент кода символа.

+11

описывают-символ связан с С-х = в Emacs 23. Поместите курсор (также называется «точка») над полукокса и пойти С-у С-х = – Leonel

4

Благодарим за ответы. Я посмотрел исходный код для описания-char и нашел следующий фрагмент, который решает мою проблему. Я тестировал его как в XEmacs 21.4.13 Mule, так и в GNU Emacs 22.1.1, и, похоже, он работает.

(or (get-char-property (point) 'untranslated-utf-8) 
    (encode-char (char-after) 'ucs))