2008-10-25 3 views
23

W XEmacs odbywa się to przez wywołanie funkcji char-to-ucs na postaci. GNU Emacs nie ma tej funkcji. W GNU Emacs znaki wydają się być zwykłymi liczbami całkowitymi. Uruchamianie C-x = na łacińskim znaku wskazuje, że punkt kodowania Emacs różni się od punktu kodowego Unicode dla odpowiedniego znaku. Jak znaleźć kodek kodu Unicode w punkcie w GNU Emacs?Znajdowanie punktu kodowego Unicode znaku w GNU Emacs

Odpowiedz

40

We współczesnym Emacsie, M-x description-char powie ci o postaci w punkcie.
Przykład:

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) 

Uwaga U + 00A2 w pierwszej części, co daje kodowy Unicode znaku.

+11

opisać-znak jest związany z c-x = emacsa 23. umieścić kursor (zwany również "punkt") przez odbarwiającego i przejść C-u X = C- – Leonel

4

Dzięki za szybkie odpowiedzi. Spojrzałem na kod źródłowy charper-char i znalazłem następujący fragment, który rozwiązuje mój problem. Testowałem go zarówno w XEmacs 21.4.13 Mule, jak i GNU Emacs 22.1.1 i wydaje się, że działa.

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