From cd6f987d4511ecb9d4571a535713dfdbac1c8d6a Mon Sep 17 00:00:00 2001 From: tomo Date: Thu, 20 Jun 2002 16:54:37 +0000 Subject: [PATCH] Deleted [moved to `cdp' package']. --- iddef.el | 158 -------------------------------------------------------------- 1 file changed, 158 deletions(-) delete mode 100644 iddef.el diff --git a/iddef.el b/iddef.el deleted file mode 100644 index 11dbe58..0000000 --- a/iddef.el +++ /dev/null @@ -1,158 +0,0 @@ -;;; iddef.el --- Parser and utility for IDDef format files. - -;; Copyright (C) 2001,2002 MORIOKA Tomohiko - -;; Author: MORIOKA Tomohiko -;; Keywords: IDDef, IDS, IDC, Ideographs, UCS, Unicode - -;; This file is a part of Tomoyo-Tools. - -;; This program is free software; you can redistribute it and/or -;; modify it under the terms of the GNU General Public License as -;; published by the Free Software Foundation; either version 2, or (at -;; your option) any later version. - -;; This program is distributed in the hope that it will be useful, but -;; WITHOUT ANY WARRANTY; without even the implied warranty of -;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -;; General Public License for more details. - -;; You should have received a copy of the GNU General Public License -;; along with this program; see the file COPYING. If not, write to -;; the Free Software Foundation, Inc., 59 Temple Place - Suite 330, -;; Boston, MA 02111-1307, USA. - -;;; Commentary: - -;; IDDef is a tab-separated format to describe some -;; character-attributes of each Ideographs mainly for Ideographic -;; structure. - -;;; Code: - -(require 'ids) -(require 'ids-util) - -;;;###autoload -(defun iddef-read-buffer (buffer &optional ucs-only) - (with-current-buffer buffer - (goto-char (point-min)) - (let (ucs - radical seq ret - char struct - morohashi m-chr) - (while (re-search-forward - "^U\\+\\([0-9A-F]+\\)\t\\([0-9]+\\)\t[^\t]+\t\\([^\t\n]+\\)" - nil t) - (setq ucs (string-to-int (match-string 1) 16) - radical (string-to-int (match-string 2)) - seq (match-string 3)) - (setq ret (ids-parse-string seq)) - (when (and (consp ret) - (consp - (setq struct (cdr (assq 'ideographic-structure ret))))) - (setq char (decode-char 'ucs ucs)) - (unless (or ucs-only (get-char-attribute char 'ideograph-daikanwa)) - (when (and (setq morohashi - (get-char-attribute char 'morohashi-daikanwa)) - (>= (length morohashi) 3)) - (setq m-chr - (if (= (nth 1 morohashi) 0) - (decode-char 'ideograph-daikanwa - (setq morohashi (car morohashi))) - (setq morohashi (list (car morohashi) - (nth 1 morohashi))) - (map-char-attribute (lambda (char val) - (if (equal morohashi val) - char)) - 'morohashi-daikanwa))) - (when m-chr - (unless (get-char-attribute m-chr 'ucs) - (put-char-attribute - m-chr - 'ideographic-structure - (ideographic-structure-convert-to-daikanwa struct)))))) - (put-char-attribute char 'ideographic-structure struct) - (dolist (ref (union - (get-char-attribute char '->same-ideograph) - (get-char-attribute char '->identical))) - (if (setq ret - (cond ((characterp ref) ref) - ((char-ref-p ref) - (find-char (plist-get ref :char))) - (t - (find-char ref)))) - (unless (get-char-attribute ret 'ucs) - (put-char-attribute ret 'ideographic-structure struct)))) - ))))) - -;;;###autoload -(defun iddef-read-file (file &optional ucs-only) - (interactive "fIDDef file : \nP") - (with-temp-buffer - (let ((coding-system-for-read 'utf-8)) - (insert-file-contents file)) - (iddef-read-buffer (current-buffer) ucs-only))) - -;;;###autoload -(defun iddef-check-mapping-buffer (buffer) - (with-current-buffer buffer - (goto-char (point-min)) - (let (ucs radical hyd plane code ccs chr ret hyd-v hyd-p hyd-c) - (while (re-search-forward "^U\\+\\([0-9A-F]+\\)\t\\([0-9]+\\)\t[^\t]*\t[^\t]*\t\\([^\t]*\\)\t\\([0-9A-C]\\)-\\([0-9A-F][0-9A-F][0-9A-F][0-9A-F]\\)" nil t) - (setq ucs (string-to-int (match-string 1) 16) - radical (string-to-int (match-string 2)) - hyd (match-string 3) - plane (string-to-int (match-string 4) 16) - code (string-to-int (match-string 5) 16)) - (setq ccs - (if (= plane 0) - (progn - (setq chr (decode-char 'chinese-big5 code)) - (if (and (setq ret (get-char-attribute chr 'ucs)) - (<= #xE000 ret)(<= ret #xF848)) - 'chinese-big5-cdp)) - (intern (format "ideograph-hanziku-%d" plane)))) - (when ccs - (setq chr (decode-char ccs code)) - (if (setq ret (or (get-char-attribute chr 'ucs) - (get-char-attribute chr '=>ucs) - (get-char-attribute chr '->ucs))) - (unless (= ret ucs) - (put-char-attribute chr 'ucs-cdp ucs)) - (if (eq (get-char-attribute chr ccs) code) - (put-char-attribute chr 'ucs ucs) - (setq chr (define-char (list (cons 'ucs ucs) - (cons ccs code))))) - ) - (when (and hyd - (string-match "^\\([1-9]\\)\\([0-9][0-9][0-9][0-9]\\)\\.\\([0-9][0-9]\\)0$" - hyd)) - (setq hyd-v (string-to-int (match-string 1 hyd)) - hyd-p (string-to-int (match-string 2 hyd)) - hyd-c (string-to-int (match-string 3 hyd))) - (put-char-attribute chr 'hanyu-dazidian - (list hyd-v hyd-p hyd-c)) - (remove-char-attribute chr 'hanyu-dazidian-vol) - (remove-char-attribute chr 'hanyu-dazidian-page) - (remove-char-attribute chr 'hanyu-dazidian-char) - ) - (unless (get-char-attribute chr 'ideographic-radical) - (put-char-attribute chr 'ideographic-radical radical)) - ))))) - -;;;###autoload -(defun iddef-check-mapping-file (file) - (interactive "fIDDef file : ") - (with-temp-buffer - (let ((coding-system-for-read 'utf-8)) - (insert-file-contents file)) - (iddef-check-mapping-buffer (current-buffer)))) - - -;;; @ End. -;;; - -(provide 'iddef) - -;;; iddef.el ends here -- 1.7.10.4