(char-db-coded-charset-priority-list): Add `=>iwds-1'.
authorMORIOKA Tomohiko <tomo.git@chise.org>
Sat, 21 Feb 2015 14:27:05 +0000 (23:27 +0900)
committerMORIOKA Tomohiko <tomo.git@chise.org>
Sat, 21 Feb 2015 14:27:05 +0000 (23:27 +0900)
(char-db-decode-isolated-char): If (decode-char ccs code-point)
returns nil, define it to avoid error as a workaround.
(char-db-insert-ccs-feature): Support `=>iwds-1'.
(insert-char-attributes): Format `<-denotational@component' like
`<-denotational'.

lisp/utf-2000/char-db-util.el

index 74c1128..9ba93f3 100644 (file)
@@ -1,7 +1,7 @@
 ;;; char-db-util.el --- Character Database utility -*- coding: utf-8-er; -*-
 
-;; Copyright (C) 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006,
-;;   2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014 MORIOKA Tomohiko.
+;; Copyright (C) 1998,1999,2000,2001,2002,2003,2004,2005,2006,2007,
+;;   2008,2009,2010,2011,2012,2013,2014,2015 MORIOKA Tomohiko.
 
 ;; Author: MORIOKA Tomohiko <tomo@kanji.zinbun.kyoto-u.ac.jp>
 ;; Keywords: CHISE, Character Database, ISO/IEC 10646, UCS, Unicode, MULE.
     =>jis-x0213-1@2004
     =>jis-x0213-2
     ==>ucs@bucs
+    =>iwds-1
     =>ucs@hanyo-denshi
     =>ucs@iso
     =>ucs@unicode
                 (decode-builtin-char '=gt ret))
                (t
                 (decode-builtin-char ccs code-point))))
-    (cond ((and (<= 0 (char-int ret))
+    (cond ((null ret)
+          (or (decode-char ccs code-point)
+              (define-char (list (cons ccs code-point)))))
+         ((and (<= 0 (char-int ret))
                (<= (char-int ret) #x1F))
           (decode-char '=ucs (+ #x2400 (char-int ret))))
          ((= (char-int ret) #x7F)
     (insert
      (format
       (cond
-       ((memq name '(==shinjigen
+       ((memq name '(=>iwds-1
+                    ==shinjigen
                     =shinjigen
                     =shinjigen@1ed ==shinjigen@1ed
                     =shinjigen@rev ==shinjigen@rev
                                       line-breaking
                                       ccss readable)
       (setq attributes (delq '<-denotational attributes)))
+    (when (and (memq '<-denotational@component attributes)
+              (setq value (get-char-attribute char '<-denotational@component)))
+      (char-db-insert-relation-feature char '<-denotational@component value
+                                      line-breaking
+                                      ccss readable)
+      (setq attributes (delq '<-denotational@component attributes)))
     (when (and (memq 'name attributes)
               (setq value (get-char-attribute char 'name)))
       (insert (format