In XEmacs geschieht dies durch den Aufruf der Funktion char-to-ucs auf einem Zeichen. GNU Emacs scheint diese Funktion nicht zu haben. In GNU Emacs scheinen Zeichen gewöhnliche Ganzzahlen zu sein. Das Ausführen von C-x = bei einem lateinischen Zeichen zeigt, dass sich der Emacs-Codepunkt vom Unicode-Codepunkt für das entsprechende Zeichen unterscheidet. Wie finde ich den Unicode-Codepunkt des Zeichens am Punkt in GNU Emacs?Den Unicode Codepoint eines Zeichens in GNU Emacs finden
23
A
Antwort
40
In einem modernen Emacs wird M-x describe-char über den Charakter am Punkt erzählen.
Ein Beispiel:
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)
Notiere die U + 00A2 in dem ersten Teil, der das Unicode-Codepunkt des Zeichens gibt.
4
Danke für die schnellen Antworten. Ich habe mir den Quellcode für describe-char angesehen und das folgende Snippet gefunden, das mein Problem löst. Ich habe es in XEmacs 21.4.13 Mule und GNU Emacs 22.1.1 getestet und es scheint zu funktionieren.
(or (get-char-property (point) 'untranslated-utf-8)
(encode-char (char-after) 'ucs))
describe-char ist gebunden an C-x = in Emacs 23. Setzen Sie den Cursor (auch als "Punkt") über einen char und gehen C-u C-x = – Leonel