From 1ddec39d2e39c7b9bb7e6aa53cd72b63d0940087 Mon Sep 17 00:00:00 2001 From: tomo Date: Wed, 14 Jun 2000 11:10:20 +0000 Subject: [PATCH] (update-ideograph-radical-table): Use `char-ideograph-strokes' to put `ideographic-strokes'. (ideograph-char<): Refer `ideograph-daikanwa' attribute. --- lisp/utf-2000/ideograph-util.el | 44 ++++++++++++++++++++++++--------------- 1 file changed, 27 insertions(+), 17 deletions(-) diff --git a/lisp/utf-2000/ideograph-util.el b/lisp/utf-2000/ideograph-util.el index cf1a523..e608e73 100644 --- a/lisp/utf-2000/ideograph-util.el +++ b/lisp/utf-2000/ideograph-util.el @@ -83,6 +83,7 @@ (setq radical (char-ideograph-radical char))) (or (get-char-attribute char 'ucs) (put-char-attribute char 'ucs i)) + (char-ideograph-strokes char) (if (not (memq char (setq ret (aref ideograph-radical-chars-vector radical)))) @@ -136,21 +137,29 @@ )) (defun ideograph-char< (a b) - (let (ra rb) + (let (ra rb mma mmb msa msb) (cond - ((setq ra (or (get-char-attribute a 'non-morohashi) - (get-char-attribute a 'morohashi-daikanwa))) + ((progn + (if (setq ra (or (get-char-attribute a 'non-morohashi) + (get-char-attribute a 'morohashi-daikanwa))) + (setq msa (cdr ra) + mma (car ra)) + (setq mma (get-char-attribute a 'ideograph-daikanwa)))) (cond - ((setq rb (or (get-char-attribute b 'non-morohashi) - (get-char-attribute b 'morohashi-daikanwa))) + ((progn + (if (setq rb (or (get-char-attribute b 'non-morohashi) + (get-char-attribute b 'morohashi-daikanwa))) + (setq msb (cdr rb) + mmb (car rb)) + (setq mmb (get-char-attribute b 'ideograph-daikanwa)))) (cond - ((= (car ra)(car rb)) - (cond ((eq (car (cdr ra))(car (cdr rb))) - (cond ((< (length ra)(length rb))) - ((= (length ra)(length rb)) - (cond ((integerp (nth 2 ra)) - (cond ((integerp (nth 2 rb)) - (< (nth 2 ra)(nth 2 rb))) + ((= mma mmb) + (cond ((eq (car msa)(car msb)) + (cond ((< (length msa)(length msb))) + ((= (length msa)(length msb)) + (cond ((integerp (nth 1 msa)) + (cond ((integerp (nth 1 msb)) + (< (nth 1 msa)(nth 1 msb))) (t nil))) (t (cond ((setq ra (get-char-attribute a 'ucs)) @@ -159,14 +168,15 @@ (< ra rb)) (t)))))))) ) - ((null (car (cdr ra)))) - ((null (car (cdr rb))) + ((null (car msa))) + ((null (car msb)) nil) - (t (< (car (cdr ra))(car (cdr rb)))))) - (t (< (car ra)(car rb))))) + (t (< (car msa)(car msb))))) + (t (< mma mmb)))) (t))) ((or (get-char-attribute b 'non-morohashi) - (get-char-attribute b 'morohashi-daikanwa)) + (get-char-attribute b 'morohashi-daikanwa) + (get-char-attribute b 'ideograph-daikanwa)) nil) ((setq ra (get-char-attribute a 'ucs)) (cond -- 1.7.10.4