]> code.delx.au - gnu-emacs/commitdiff
international/ucs-normalize.el: If decomposition property of CHAR is the default...
authorKenichi Handa <handa@m17n.org>
Wed, 24 Aug 2011 07:33:55 +0000 (16:33 +0900)
committerKenichi Handa <handa@m17n.org>
Wed, 24 Aug 2011 07:33:55 +0000 (16:33 +0900)
lisp/ChangeLog
lisp/international/ucs-normalize.el

index 85253feacc54be5023423946496416231de8b337..2a33661c9c5cf40a61e8bc8284eb321b2a0f1a03 100644 (file)
@@ -1,3 +1,10 @@
+2011-08-24  Kenichi Handa  <handa@m17n.org>
+
+       * international/ucs-normalize.el: If decomposition property of
+       CHAR is the default one (i.e. a list of CHAR itself), treat it as
+       nil.
+       (nfd, nfkd): Likewise.
+
 2011-08-24  Stefan Monnier  <monnier@iro.umontreal.ca>
 
        * mpc.el (mpc--proc-filter): Don't signal mpc-proc-error since signals
index f83e0f7588f6d1e91ee41e2b0a44f9b2fb7e1a68..df05b355b46fb31603934a82fe53d816cb86c533 100644 (file)
   (defun nfd (char)
     (let ((decomposition
            (get-char-code-property char 'decomposition)))
-      (if (and decomposition (numberp (car decomposition)))
+      (if (and decomposition (numberp (car decomposition))
+              (or (> (length decomposition) 1)
+                  (/= (car decomposition) char)))
           decomposition)))
 
   (defun nfkd (char)
     (let ((decomposition
            (get-char-code-property char 'decomposition)))
       (if (symbolp (car decomposition)) (cdr decomposition)
-        decomposition)))
+        (if (or (> (length decomposition) 1)
+               (/= (car decomposition) char)) decomposition))))
 
   (defun hfs-nfd (char)
     (when (or (and (>= char 0) (< char #x2000))
          (setq ccc (ucs-normalize-ccc char))
          (setq decomposition (get-char-code-property
                               char 'decomposition))
+        (if (and (= (length decomposition) 1)
+                 (= (car decomposition) char))
+            (setq decomposition nil))
          (if (and ccc (/= 0 ccc)) (add-to-list 'combining-chars char))
          (if (and (numberp (car decomposition))
                   (/= (ucs-normalize-ccc (car decomposition))