(tail table)
(block-names '(("^<CJK Ideograph" . CJK\ IDEOGRAPH)
("^<Hangul Syllable" . HANGUL\ SYLLABLE)
- ("^<.*Surrogate" . nil)
+ ("^<.*High Surrogate" . HIGH\ SURROGATE)
+ ("^<.*Low Surrogate" . LOW\ SURROGATE)
("^<.*Private Use" . PRIVATE\ USE)))
val char name)
(setq unidata-text-file (expand-file-name unidata-text-file unidata-dir))
(if (string-match (caar l) block-name)
(setq name (cdar l) l nil)
(setq l (cdr l))))
- (if (not name)
- ;; As this is a surrogate pair range, ignore it.
- (setq val nil)
- (setcar val (cons first char))
- (setcar (cdr val) name))))
+ (setcar val (cons first char))
+ (setcar (cdr val) name)))
(when val
(setcdr tail (list val))
(format "%s-%04X" sym char))
((eq sym 'CJK\ COMPATIBILITY\ IDEOGRAPH)
(format "%s-%04X" sym char))
+ ((eq sym 'HIGH\ SURROGATE)
+ (format "%s-%04X" sym char))
+ ((eq sym 'LOW\ SURROGATE)
+ (format "%s-%04X" sym char))
((eq sym 'VARIATION\ SELECTOR)
(format "%s-%d" sym (+ (- char #xe0100) 17))))))))