(insert-char-data): Check value of `mirrored' attribute is nil or not
authortomo <tomo>
Thu, 9 Nov 2000 12:16:34 +0000 (12:16 +0000)
committertomo <tomo>
Thu, 9 Nov 2000 12:16:34 +0000 (12:16 +0000)
exist.
(insert-char-data-with-variant): Add new optional argument
`no-ucs-variant'.
(insert-char-range-data): Specify `no-ucs-variant' for
`insert-char-data-with-variant'.

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

index 4e4efdc..e99f056 100644 (file)
                        value))
        (setq attributes (delq 'bidi-category attributes))
        )
-      (when (setq value (get-char-attribute char 'mirrored))
+      (unless (eq (setq value (get-char-attribute char 'mirrored 'empty))
+                 'empty)
        (insert (format "(mirrored\t\t. %S)
     "
                        value))
            (insert (format "\t; %c" char)))
          )))))
 
-(defun insert-char-data-with-variant (char &optional script printable)
+(defun insert-char-data-with-variant (char &optional script printable
+                                          no-ucs-variant)
   (insert-char-data char printable)
   (let ((variants (or (char-variants char)
                      (let ((ucs (get-char-attribute char '->ucs)))
       (if (or (null script)
              (null (setq vs (get-char-attribute variant 'script)))
              (memq script vs))
-         (insert-char-data variant printable))
+         (or (and no-ucs-variant (get-char-attribute variant 'ucs))
+             (insert-char-data variant printable)))
       (setq variants (cdr variants))
       )))
 
     (while (<= code max)
       (setq char (decode-char 'ucs code))
       (if (get-char-attribute char 'ucs)
-         (insert-char-data-with-variant char script))
+         (insert-char-data-with-variant char script nil 'no-ucs-variant))
       (setq code (1+ code))
       )))