-;;; titdic-cnv.el --- convert cxterm dictionary (TIT format) to Quail package
+;;; titdic-cnv.el --- convert cxterm dictionary (TIT format) to Quail package -*- coding:iso-2022-7bit; -*-
;; Copyright (C) 1995 Electrotechnical Laboratory, JAPAN.
;; Licensed to the Free Software Foundation.
;; dictionary. The extra docstring in this alist is to add more
;; information.
;; The command describe-input-method shows the automatically generated
-;; docstring, then an extra docstrings while replacing the form \<VAR>
+;; docstring, then an extra docstring while replacing the form \<VAR>
;; by the value of variable VAR. For instance, the form
;; \<quail-translation-docstring> is replaced by a description about
;; how to select a translation from a list of candidates.
("chinese-ccdospy" "\e$AKuF4\e(B"
"Pinyin base input method for Chinese charset GB2312 \(`chinese-gb2312').
-Pinyin is the standared roman transliteration method for Chinese.
+Pinyin is the standard Roman transliteration method for Chinese.
For the detail of Pinyin system, see the documentation of the input
method `chinese-py'.
difference is that you type a single key for these Pinyin spelling.
Pinyin: zh en eng ang ch an ao ai ong sh ing yu(\e$A(9\e(B)
keyseq: a f g h i j k l s u y v
-For expample:
+For example:
Chinese: \e$A0!\e(B \e$A9{\e(B \e$AVP\e(B \e$AND\e(B \e$A9b\e(B \e$ASq\e(B \e$AH+\e(B
Pinyin: a guo zhong wen guang yu quan
Keyseq: a1 guo4 as1 wf4 guh1 yu..6 qvj6
first radical:
a b c d e f g h i j k l m n o p q r s t u v w x y z
- \e$APD\e(B \e$AZ"\e(B \e$AJ,\e(B \e$AX<\e(B \e$A;p\e(B \e$A?Z\e(B \e$A^P\e(B \e$Ac_\e(B \e$AZ%\e(B \e$A\3\e(B \e$AXi\e(B \e$AD>\e(B \e$Alj\e(B \e$Ab;\e(B \e$ATB\e(B \e$Afy\e(B \e$AJ/\e(B \e$AMu\e(B \e$A0K\e(B \e$AX/\e(B \e$AHU\e(B \e$AeA\e(B \e$Aak\e(B \e$AVq\e(B \e$AR;\e(B \e$AHK\e(B
+ \e$APD\e(B \e$AZ"\e(B \e$AJ,\e(B \e$AX<\e(B \e$A;p\e(B \e$A?Z\e(B \e$A^P\e(B \e$Ac_\e(B \e$AZ%\e(B \e$A\3\e(B \e$AXi\e(B \e$AD>\e(B \e$Alj\e(B \e$Ab;\e(B \e$ATB\e(B \e$Afy\e(B \e$AJ/\e(B \e$AMu\e(B \e$A0K\e(B \e$AX/\e(B \e$AHU\e(B \e$AeA\e(B \e$Aak\e(B \e$AVq\e(B \e$AR;\e(B \e$AHK\e(B
last radical:
a b c d e f g h i j k l m n o p q r s t u v w x y z
- \e$ASV\e(B \e$AI=\e(B \e$AMA\e(B \e$A56\e(B \e$AZb\e(B \e$A?Z\e(B \e$ARB\e(B \e$Aqb\e(B \e$A4s\e(B \e$A6!\e(B \e$A[L\e(B \e$Ala\e(B \e$AJ.\e(B \e$A4u\e(B \e$AXg\e(B \e$ACE\e(B \e$A=q\e(B \e$AX-\e(B \e$AE.\e(B \e$ARR\e(B \e$A`m\e(B \e$AP!\e(B \e$A3'\e(B \e$A3f\e(B \e$A_.\e(B \e$A27\e(B
+ \e$ASV\e(B \e$AI=\e(B \e$AMA\e(B \e$A56\e(B \e$AZb\e(B \e$A?Z\e(B \e$ARB\e(B \e$Aqb\e(B \e$A4s\e(B \e$A6!\e(B \e$A[L\e(B \e$Ala\e(B \e$AJ.\e(B \e$A4u\e(B \e$AXg\e(B \e$ACE\e(B \e$A=q\e(B \e$AX-\e(B \e$AE.\e(B \e$ARR\e(B \e$A`m\e(B \e$AP!\e(B \e$A3'\e(B \e$A3f\e(B \e$A_.\e(B \e$A27\e(B
\\<quail-translation-docstring>")
("chinese-tonepy" "\e$A5wF4\e(B"
"Pinyin base input method for Chinese charset GB2312 (`chinese-gb2312').
-Pinyin is the standared roman transliteration method for Chinese.
+Pinyin is the standard roman transliteration method for Chinese.
For the details of Pinyin system, see the documentation of the input
method `chinese-py'.
;; Return a value of the key in the current line.
(defsubst tit-read-key-value ()
- (if (looking-at "[^ \t\n]+")
+ (if (looking-at "[^ \t\r\n]+")
(car (read-from-string (concat "\"" (match-string 0) "\"")))))
;; Return an appropriate quail-package filename from FILENAME (TIT
dirname))
;; This value is nil if we are processing phrase dictionary.
-(defconst tit-dictionary t)
+(defvar tit-dictionary t)
(defvar tit-encode nil)
(defvar tit-default-encode "GB")
(tit-keyprompt nil))
(princ ";; Quail package `")
- (princ package)
- (princ "' generated by the command `titdic-convert'\n;;\tDate: ")
+ (princ package) (princ "' -*- coding:iso-2022-7bit; -*-\n")
+ (princ ";; Generated by the command `titdic-convert'\n;;\tDate: ")
(princ (current-time-string))
(princ "\n;;\tOriginal TIT dictionary file: ")
(princ (file-name-nondirectory filename))
(princ (buffer-substring pos (point)))
(princ "\n")
(forward-line 1)))
-
+
(princ "\n;;; End of the header of original TIT dictionary.\n\n")
(princ ";;; Code:\n\n(require 'quail)\n\n")
Optional argument DIRNAME if specified is the directory name under which
the generated Quail package is saved."
(interactive "FTIT dictionary file: ")
- (with-temp-file (tit-make-quail-package-file-name filename dirname)
- (set-buffer-file-coding-system 'iso-2022-7bit)
- (let ((standard-output (current-buffer)))
- (with-temp-buffer
- (let ((coding-system-for-read 'no-conversion))
- (insert-file-contents (expand-file-name filename)))
- (set-buffer-multibyte t)
-
- ;; Decode the buffer contents from the encoding specified by a
- ;; value of the key "ENCODE:".
- (if (not (search-forward "\nBEGIN" nil t))
- (error "TIT dictionary doesn't have body part"))
- (let ((limit (point))
- coding-system slot)
+ (let ((coding-system-for-write 'iso-2022-7bit))
+ (with-temp-file (tit-make-quail-package-file-name filename dirname)
+ (set-buffer-file-coding-system 'iso-2022-7bit)
+ (let ((standard-output (current-buffer)))
+ (with-temp-buffer
+ (set-buffer-multibyte nil)
+ (let ((coding-system-for-read 'no-conversion))
+ (insert-file-contents (expand-file-name filename)))
+
+ ;; Decode the buffer contents from the encoding specified by a
+ ;; value of the key "ENCODE:".
+ (if (not (search-forward "\nBEGIN" nil t))
+ (error "TIT dictionary doesn't have body part"))
+ (let ((limit (point))
+ coding-system slot)
+ (goto-char (point-min))
+ (if (re-search-forward "^ENCODE:[ \t]*" limit t)
+ (progn
+ (goto-char (match-end 0))
+ (setq tit-encode (tit-read-key-value)))
+ (setq tit-encode tit-default-encode))
+ (setq slot (assoc tit-encode tit-encode-list))
+ (if (not slot)
+ (error "Invalid ENCODE: value in TIT dictionary"))
+ (setq coding-system (nth 1 slot))
+ (message "Decoding with coding system %s..." coding-system)
+ (goto-char (point-min))
+ (decode-coding-region (point-min) (point-max) coding-system))
+
+ ;; Set point the starting position of the body part.
(goto-char (point-min))
- (if (re-search-forward "^ENCODE:[ \t]*" limit t)
- (progn
- (goto-char (match-end 0))
- (setq tit-encode (tit-read-key-value)))
- (setq tit-encode tit-default-encode))
- (setq slot (assoc tit-encode tit-encode-list))
- (if (not slot)
- (error "Invalid ENCODE: value in TIT dictionary"))
- (setq coding-system (nth 1 slot))
- (message "Decoding with coding system %s..." coding-system)
- (goto-char (point-min))
- (decode-coding-region (point-min) (point-max) coding-system))
-
- ;; Set point the starting position of the body part.
- (goto-char (point-min))
- (if (not (search-forward "\nBEGIN" nil t))
- (error "TIT dictionary can't be decoded correctly"))
+ (if (not (search-forward "\nBEGIN" nil t))
+ (error "TIT dictionary can't be decoded correctly"))
- ;; Process the header part.
- (forward-line 1)
- (narrow-to-region (point-min) (point))
- (tit-process-header filename)
- (widen)
+ ;; Process the header part in multibyte mode.
+ (with-current-buffer standard-output
+ (set-buffer-multibyte t))
+ (set-buffer-multibyte t)
+ (forward-line 1)
+ (narrow-to-region (point-min) (point))
+ (tit-process-header filename)
+ (widen)
- ;; Process the body part. For speed, we turn off multibyte facility.
- (with-current-buffer standard-output
- (set-buffer-multibyte nil))
- (set-buffer-multibyte nil)
- (tit-process-body)))))
+ ;; Process the body part. For speed, we turn off multibyte facility.
+ (with-current-buffer standard-output
+ (set-buffer-multibyte nil))
+ (set-buffer-multibyte nil)
+ (tit-process-body))))))
;;;###autoload
(defun batch-titdic-convert (&optional force)
;; Alist of input method names and the corresponding information.
;; Each element has this form:
;; (INPUT-METHOD-NAME ;; Name of the input method.
-;; INPUT-METHOD-TITLE ;; Title string of the input method
+;; INPUT-METHOD-TITLE ;; Title string of the input method
;; DICFILE ;; Name of the source dictionary file.
;; CODING ;; Coding system of the dictionary file.
;; QUAILFILE ;; Name of the Quail package file.
(defvar quail-misc-package-ext-info
'(("chinese-b5-tsangchi" "\e$(06A\e(BB"
- "cangjie-table.b5" big5 "tsang-b5.el"
+ "cangjie-table.b5" big5 "tsang-b5.el"
tsang-b5-converter
"\
;; # Copyright 2001 Christian Wittern <wittern@iis.sinica.edu.tw>
;; # this notice is preserved.")
("chinese-b5-quick" "\e$(0X|\e(BB"
- "cangjie-table.b5" big5 "quick-b5.el"
+ "cangjie-table.b5" big5 "quick-b5.el"
quick-b5-converter
"\
;; # Copyright 2001 Christian Wittern <wittern@iis.sinica.edu.tw>
;;
;;
;; Copyright (C) 1999, Rui He, herui@cs.duke.edu
-;;
-;;
+;;
+;;
;; CCE(Console Chinese Environment) 0.32
-;;
-;; CCE 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 1, or (at your option) any later version.
-;;
-;; CCE 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.
-;;
+;;
+;; CCE 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 1, or (at your option) any later version.
+;;
+;; CCE 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
-;; CCE; see the file COPYING. If not, write to the Free Software Foundation,
+;; CCE; see the file COPYING. If not, write to the Free Software Foundation,
;; 675 Mass Ave, Cambridge, MA 02139, USA.")
("chinese-ziranma" "\e$AWTH;\e(B"
;;
;;
;; Copyright (C) 1999, Rui He, herui@cs.duke.edu
-;;
-;;
+;;
+;;
;; CCE(Console Chinese Environment) 0.32
-;;
-;; CCE 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 1, or (at your option) any later version.
-;;
-;; CCE 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.
-;;
+;;
+;; CCE 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 1, or (at your option) any later version.
+;;
+;; CCE 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
-;; CCE; see the file COPYING. If not, write to the Free Software Foundation,
+;; CCE; see the file COPYING. If not, write to the Free Software Foundation,
;; 675 Mass Ave, Cambridge, MA 02139, USA.")
- ("chinese-b5-quick" "\e$(0X|\e(BB"
- "cangjie-table.b5" big5 "quick-b5.el"
- quick-b5-converter
- "\
-;; # Copyright 2001 Christian Wittern <wittern@iis.sinica.edu.tw>
-;; #
-;; # Permission to copy and distribute both modified and
-;; # unmodified versions is granted without royalty provided
-;; # this notice is preserved.")
-
("chinese-ctlau" "\e$AAuTA\e(B"
"CTLau.html" cn-gb-2312 "CTLau.el"
ctlau-gb-converter
;; It contains the following copyright notice:
;;
;; # Copyright (C) 1988-2001 Fung Fung Lee (lee@umunhum.stanford.edu)
-;; #
+;; #
;; # 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
;; # of the License, or 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; if not, write to the Free Software Foundation,
;; # Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.")
;; It contains the following copyright notice:
;;
;; # Copyright (C) 1988-2001 Fung Fung Lee (lee@umunhum.stanford.edu)
-;; #
+;; #
;; # 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
;; # of the License, or 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; if not, write to the Free Software Foundation,
;; # Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.")
[Q \e$(0'D\e(B] [W \e$(0(q\e(B] [E \e$(0'V\e(B] [R \e$(0&H\e(B] [T \e$(0'>\e(B] [Y \e$(0&4\e(B] [U \e$(0&U\e(B] [I \e$(0'B\e(B] [O \e$(0&*\e(B] [P \e$(0'A\e(B]
[A \e$(0'K\e(B] [S \e$(0&T\e(B] [D \e$(0'N\e(B] [F \e$(0'W\e(B] [G \e$(0&I\e(B] [H \e$(0*M\e(B] [J \e$(0&3\e(B] [L \e$(0&d\e(B]
-
+
[Z ] [X \e$(0[E\e(B] [C \e$(01[\e(B] [V \e$(0&M\e(B] [B \e$(0'M\e(B] [N \e$(0&_\e(B] [M \e$(0&"\e(B]
\\\\<quail-translation-docstring>\"\n"
[Q \e$(GEC\e(B] [W \e$(GFp\e(B] [E \e$(GEU\e(B] [R \e$(GDG\e(B] [T \e$(GE=\e(B] [Y \e$(GD3\e(B] [U \e$(GDT\e(B] [I \e$(GEA\e(B] [O \e$(GD)\e(B] [P \e$(GE@\e(B]
[A \e$(GEJ\e(B] [S \e$(GDS\e(B] [D \e$(GEM\e(B] [F \e$(GEV\e(B] [G \e$(GDH\e(B] [H \e$(GHL\e(B] [J \e$(GD2\e(B] [L \e$(GDc\e(B]
-
- [Z ] [X \e$(GyE\e(B] [C \e$(GOZ\e(B] [V \e$(GDL\e(B] [B \e$(GEL\e(B] [N \e$(GD^\e(B] [M \e$(GD!\e(B]
+
+ [Z ] [X \e$(GyE\e(B] [C \e$(GOZ\e(B] [V \e$(GDL\e(B] [B \e$(GEL\e(B] [N \e$(GD^\e(B] [M \e$(GD!\e(B]
\\\\<quail-translation-docstring>\"\n"
fulltitle fulltitle)))
(insert "(quail-define-rules\n")
(save-excursion
(set-buffer dicbuf)
+ ;; Handle double CR line ends, which result when checking out of
+ ;; CVS on MS-Windows.
+ (goto-char (point-min))
+ (while (re-search-forward "\r\r$" nil t)
+ (replace-match ""))
(goto-char (point-min))
(search-forward "A440")
(beginning-of-line)
Pinyin base input method for Chinese charset GB2312 (`chinese-gb2312').
-Pinyin is the standared roman transliteration method for Chinese.
+Pinyin is the standard roman transliteration method for Chinese.
Pinyin uses a sequence of Latin alphabetic characters for each Chinese
character. The sequence is made by the combination of the initials
\(the beginning sounds) and finals (the ending sounds).
the Cantonese romanization of the respective radical (\e$(0?f5}\e(B)."))
(defun miscdic-convert (filename &optional dirname)
- "Convert a dictionary file FILENAME into a Quail package.
+ "Convert a dictionary file FILENAME into a Quail package.
Optional argument DIRNAME if specified is the directory name under which
the generated Quail package is saved."
(interactive "FInput method dictionary file: ")
(if (string= (car command-line-args-left) "-dir")
(progn
(setq command-line-args-left (cdr command-line-args-left))
- (setq dir (car command-line-args-left))))
+ (setq dir (car command-line-args-left))
+ (setq command-line-args-left (cdr command-line-args-left))))
(setq filename (car command-line-args-left)
command-line-args-left (cdr command-line-args-left))
(if (file-directory-p filename)
;; coding: iso-2022-7bit
;; End:
+;;; arch-tag: 8ad478b2-a985-4da2-b47f-d8ee5d7c24a3
;;; titdic-cnv.el ends here