From f69905457ea515d12af5a8fcf02cdeda1d7116ea Mon Sep 17 00:00:00 2001 From: MORIOKA Tomohiko Date: Thu, 26 Aug 2021 14:16:03 +0900 Subject: [PATCH 1/1] =?utf8?q?(ideographic-structure-compare-functional-and-?= =?utf8?q?apparent):=20-=20Implement=20rule-721:=20=E2=BF=B7=E2=BF=B8TNC=20-?= =?utf8?q?>=20=E2=BF=B8T=E2=BF=BANC=20if=20N=20is=20=20=20U+4EBA/U+5165/U+51?= =?utf8?q?3F/U+51E0/A-{IWDS|comp}U+{4EBA|513F}.=20-=20Implement=20rule-722:=20?= =?utf8?q?=E2=BF=B7=E2=BF=B8TBM=20->=20=E2=BF=B8T=E2=BF=B1MB=20if=20B=20is=20?= =?utf8?q?not=20N.?= MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit --- ids-find.el | 49 ++++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 48 insertions(+), 1 deletion(-) diff --git a/ids-find.el b/ids-find.el index 8fe8df7..fa6ee5e 100644 --- a/ids-find.el +++ b/ids-find.el @@ -1604,7 +1604,54 @@ COMPONENT can be a character or char-spec." a-res (list ?⿺ (nth 1 enc-str) new-str-c) 710)) - ))) + ) + ((eq (car enc-str) ?⿸) + (unless conversion-only + (setq f-res (ids-find-chars-including-ids enc-str))) + (cond + ((and (characterp (nth 2 enc-str)) + (or (memq (char-ucs (nth 2 enc-str)) + '(#x4EBA #x5165 #x513F #x51E0)) + (memq (or (encode-char (nth 2 enc-str) '=>ucs@iwds-1) + (encode-char (nth 2 enc-str) '=>ucs@component)) + '(#x4EBA #x513F)))) + (setq new-str (list ?⿺ + (nth 2 enc-str) + (nth 2 structure))) + (setq new-str-c + (if (setq ret (ideographic-structure-find-chars new-str)) + (car ret) + (list (cons 'ideographic-structure new-str)))) + (if conversion-only + (list ?⿸ (nth 1 enc-str) new-str-c) + (setq a-res (ids-find-chars-including-ids new-str)) + (list enc + f-res + new-str-c + a-res + (list ?⿸ (nth 1 enc-str) new-str-c) + 721)) + ) + (t + (setq new-str (list ?⿱ + (nth 2 structure) + (nth 2 enc-str))) + (setq new-str-c + (if (setq ret (ideographic-structure-find-chars new-str)) + (car ret) + (list (cons 'ideographic-structure new-str)))) + (if conversion-only + (list ?⿸ (nth 1 enc-str) new-str-c) + (setq a-res (ids-find-chars-including-ids new-str)) + (list enc + f-res + new-str-c + a-res + (list ?⿸ (nth 1 enc-str) new-str-c) + 722)) + )) + ) + )) ) ((eq (car structure) ?⿺) (setq enc (nth 1 structure)) -- 1.7.10.4