2008-10-25 20 views
23

Trong XEmacs, điều này được thực hiện bằng cách gọi hàm char-to-ucs trên một ký tự. GNU Emacs dường như không có chức năng này. Trong GNU Emacs, các ký tự dường như là các số nguyên bình thường. Chạy C-x = trên một ký tự latin cho thấy rằng điểm mã hóa Emacs khác với điểm mã Unicode cho ký tự tương ứng. Làm thế nào để tôi tìm thấy điểm mã Unicode của ký tự tại điểm trong GNU Emacs?Tìm điểm mã Unicode của một ký tự trong GNU Emacs

Trả lời

40

Trong một Emacs hiện đại, M-x mô tả-char sẽ cho bạn biết về nhân vật tại điểm.
Một ví dụ:

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) 

Note U + 00A2 trong phần đầu tiên, trong đó cung cấp cho các điểm mã Unicode của nhân vật.

+11

mô tả-char được ràng buộc với C-x = trong Emacs 23. Đặt con trỏ của bạn (còn được gọi là "điểm") trên char và đi C-u C-x = – Leonel

4

Cảm ơn câu trả lời nhanh. Tôi đã xem mã nguồn cho mô tả-char, và tìm thấy đoạn mã sau giải quyết vấn đề của tôi. Tôi đã thử nghiệm nó trong cả hai XEmacs 21.4.13 Mule và GNU Emacs 22.1.1 và nó có vẻ hoạt động.

(or (get-char-property (point) 'untranslated-utf-8) 
    (encode-char (char-after) 'ucs)) 
Các vấn đề liên quan