diff options
author | Kenichi Handa <handa@m17n.org> | 2011-07-07 07:43:48 +0900 |
---|---|---|
committer | Kenichi Handa <handa@m17n.org> | 2011-07-07 07:43:48 +0900 |
commit | c805dec0b5fa81b5c9f2b724e2ec12a17d723aca (patch) | |
tree | c29a8490c976fdf4dbf64ef1b13a57f7d1110cc1 /lisp/international/characters.el | |
parent | 5c62d133468c354b47a1643092add8292e084765 (diff) | |
download | emacs-c805dec0b5fa81b5c9f2b724e2ec12a17d723aca.tar.gz emacs-c805dec0b5fa81b5c9f2b724e2ec12a17d723aca.tar.bz2 emacs-c805dec0b5fa81b5c9f2b724e2ec12a17d723aca.zip |
Add C interface for Unicode character property table.
Diffstat (limited to 'lisp/international/characters.el')
-rw-r--r-- | lisp/international/characters.el | 18 |
1 files changed, 2 insertions, 16 deletions
diff --git a/lisp/international/characters.el b/lisp/international/characters.el index 455cbe697d6..a9657c17b9f 100644 --- a/lisp/international/characters.el +++ b/lisp/international/characters.el @@ -1206,22 +1206,8 @@ Setup char-width-table appropriate for non-CJK language environment." ;;; Setting unicode-category-table. -;; This macro is to build unicode-category-table at compile time so -;; that C code can access the table efficiently. -(defmacro build-unicode-category-table () - (let ((table (make-char-table 'unicode-category-table nil))) - (dotimes (i #x110000) - (if (or (< i #xD800) - (and (>= i #xF900) (< i #x30000)) - (and (>= i #xE0000) (< i #xE0200))) - (aset table i (get-char-code-property i 'general-category)))) - (set-char-table-range table '(#xE000 . #xF8FF) 'Co) - (set-char-table-range table '(#xF0000 . #xFFFFD) 'Co) - (set-char-table-range table '(#x100000 . #x10FFFD) 'Co) - (optimize-char-table table 'eq) - table)) - -(setq unicode-category-table (build-unicode-category-table)) +(setq unicode-category-table + (unicode-property-table-internal 'general-category)) (map-char-table #'(lambda (key val) (if (and val (or (and (/= (aref (symbol-name val) 0) ?M) |