Подтвердить что ты не робот

Поиск кода Unicode символа в GNU Emacs

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

4b9b3361

Ответ 1

В современном 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 символа.

Ответ 2

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

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