X-Git-Url: http://git.chise.org/gitweb/?a=blobdiff_plain;f=ids.el;h=8214e834e8ab8e9ccc434e6daec2b1d7c76ded08;hb=200eaab487c887e8cfe45e78eed2d7572ca5c837;hp=dc064be2221acecb5f640adf5dad4f5885d435a4;hpb=06880fbab729fc80806f6ca4e3fed4201c44f0cf;p=chise%2Fids.git diff --git a/ids.el b/ids.el index dc064be..8214e83 100644 --- a/ids.el +++ b/ids.el @@ -1,6 +1,6 @@ ;;; ids.el --- Parser and utility for Ideographic Description Sequence. -;; Copyright (C) 2001,2002 MORIOKA Tomohiko +;; Copyright (C) 2001,2002,2003,2005 MORIOKA Tomohiko ;; Author: MORIOKA Tomohiko ;; Keywords: IDS, IDC, Ideographs, UCS, Unicode @@ -29,22 +29,30 @@ ;;; Code: +(require 'ideograph-util) + +(defun ideographic-structure-find-char (structure) + (dolist (product (char-feature (nth 1 structure) 'ideographic-products)) + (if (equal structure + (char-feature product 'ideographic-structure)) + (return product)))) + (defun ids-parse-terminal (string) (if (>= (length string) 1) (let* ((chr (aref string 0)) - (ucs (get-char-attribute chr 'ucs)) + (ucs (encode-char chr '=ucs 'defined-only)) big5) (unless (and ucs (<= #x2FF0 ucs)(<= ucs #x2FFF)) (if (and ucs (<= #xE000 ucs)(<= ucs #xF8FF) - (setq big5 (get-char-attribute chr 'chinese-big5))) - (setq chr (decode-char 'chinese-big5-cdp big5))) + (setq big5 (encode-char chr 'chinese-big5))) + (setq chr (decode-char '=big5-cdp big5))) (cons chr (substring string 1)))))) (defun ids-parse-op-2 (string) (if (>= (length string) 1) (let* ((chr (aref string 0)) - (ucs (get-char-attribute chr 'ucs))) + (ucs (encode-char chr '=ucs 'defined-only))) (if (or (eq ucs #x2FF0) (eq ucs #x2FF1) (and (<= #x2FF4 ucs)(<= ucs #x2FFB)))