Go back to iso-2022-7bit for titdic-cnv.el again

* admin/notes/unicode: Mention this.
* lisp/international/titdic-cnv.el:
Go back to iso-2022-7bit for this file, since utf-8-emacs unified
characters that tsanq-quick-converter did not want unified.
Problem reported by Eli Zaretskii in:
https://lists.gnu.org/r/emacs-devel/2020-01/msg00156.html
This commit is contained in:
Paul Eggert 2020-01-05 12:29:05 -08:00
parent f909433228
commit 3fc859d955
2 changed files with 127 additions and 118 deletions

View file

@ -256,11 +256,19 @@ nontrivial changes to the build process.
etc/tutorials/TUTORIAL.ja etc/tutorials/TUTORIAL.ja
* iso-2022-7bit
This file contains multiple Chinese charsets, and converting it
to UTF-8 would lose the charset property and would change the
code's behavior. Although this could be worked around by
propertizing the strings, that hasn't been done.
lisp/international/titdic-cnv.el
* utf-8-emacs * utf-8-emacs
These files contain characters that cannot be encoded in UTF-8. These files contain characters that cannot be encoded in UTF-8.
lisp/international/titdic-cnv.el
lisp/language/ethio-util.el lisp/language/ethio-util.el
lisp/language/ethiopic.el lisp/language/ethiopic.el
lisp/language/ind-util.el lisp/language/ind-util.el

View file

@ -1,4 +1,4 @@
;;; titdic-cnv.el --- convert cxterm dictionary (TIT format) to Quail package -*- coding: utf-8-emacs; lexical-binding:t -*- ;;; titdic-cnv.el --- convert cxterm dictionary (TIT format) to Quail package -*- coding:iso-2022-7bit; lexical-binding:t -*-
;; Copyright (C) 1997-1998, 2000-2020 Free Software Foundation, Inc. ;; Copyright (C) 1997-1998, 2000-2020 Free Software Foundation, Inc.
;; Copyright (C) 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, ;; Copyright (C) 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
@ -83,9 +83,9 @@
;; how to select a translation from a list of candidates. ;; how to select a translation from a list of candidates.
(defvar quail-cxterm-package-ext-info (defvar quail-cxterm-package-ext-info
'(("chinese-4corner" "四角") '(("chinese-4corner" "$(0(?-F(B")
("chinese-array30" "") ("chinese-array30" "$(0#R#O(B")
("chinese-ccdospy" "缩拼" ("chinese-ccdospy" "$AKuF4(B"
"Pinyin base input method for Chinese charset GB2312 (`chinese-gb2312'). "Pinyin base input method for Chinese charset GB2312 (`chinese-gb2312').
Pinyin is the standard Roman transliteration method for Chinese. Pinyin is the standard Roman transliteration method for Chinese.
@ -94,10 +94,10 @@ method `chinese-py'.
This input method works almost the same way as `chinese-py'. The This input method works almost the same way as `chinese-py'. The
difference is that you type a single key for these Pinyin spelling. 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(ü) Pinyin: zh en eng ang ch an ao ai ong sh ing yu($A(9(B)
keyseq: a f g h i j k l s u y v keyseq: a f g h i j k l s u y v
For example: For example:
Chinese: Chinese: $A0!(B $A9{(B $AVP(B $AND(B $A9b(B $ASq(B $AH+(B
Pinyin: a guo zhong wen guang yu quan Pinyin: a guo zhong wen guang yu quan
Keyseq: a1 guo4 as1 wf4 guh1 yu..6 qvj6 Keyseq: a1 guo4 as1 wf4 guh1 yu..6 qvj6
@ -106,14 +106,14 @@ For example:
For double-width GB2312 characters corresponding to ASCII, use the For double-width GB2312 characters corresponding to ASCII, use the
input method `chinese-qj'.") input method `chinese-qj'.")
("chinese-ecdict" "英漢" ("chinese-ecdict" "$(05CKH(B"
"In this input method, you enter a Chinese (Big5) character or word "In this input method, you enter a Chinese (Big5) character or word
by typing the corresponding English word. For example, if you type by typing the corresponding English word. For example, if you type
\"computer\", \"電腦\" is input. \"computer\", \"$(0IZH+(B\" is input.
\\<quail-translation-docstring>") \\<quail-translation-docstring>")
("chinese-etzy" "倚注" ("chinese-etzy" "$(06/0D(B"
"Zhuyin base input method for Chinese Big5 characters (`chinese-big5-1', "Zhuyin base input method for Chinese Big5 characters (`chinese-big5-1',
`chinese-big5-2'). `chinese-big5-2').
@ -122,20 +122,20 @@ compose one Chinese character.
In this input method, you enter a Chinese character by first typing In this input method, you enter a Chinese character by first typing
keys corresponding to Zhuyin symbols (see the above table) followed by keys corresponding to Zhuyin symbols (see the above table) followed by
SPC, 1, 2, 3, or 4 specifying a tone (SPC:陰平, 1:輕聲, 2:陽平, 3: 上聲, SPC, 1, 2, 3, or 4 specifying a tone (SPC:$(0?v(N(B, 1:$(0M=Vy(B, 2:$(0Dm(N(B, 3: $(0&9Vy(B,
4:去聲). 4:$(0(+Vy(B).
\\<quail-translation-docstring>") \\<quail-translation-docstring>")
("chinese-punct-b5" "B" ("chinese-punct-b5" "$(0O:(BB"
"Input method for Chinese punctuation and symbols of Big5 "Input method for Chinese punctuation and symbols of Big5
\(`chinese-big5-1' and `chinese-big5-2').") \(`chinese-big5-1' and `chinese-big5-2').")
("chinese-punct" "G" ("chinese-punct" "$A1j(BG"
"Input method for Chinese punctuation and symbols of GB2312 "Input method for Chinese punctuation and symbols of GB2312
\(`chinese-gb2312').") \(`chinese-gb2312').")
("chinese-py-b5" "B" ("chinese-py-b5" "$(03<(BB"
"Pinyin base input method for Chinese Big5 characters "Pinyin base input method for Chinese Big5 characters
\(`chinese-big5-1', `chinese-big5-2'). \(`chinese-big5-1', `chinese-big5-2').
@ -153,28 +153,28 @@ method `chinese-qj-b5'.
The input method `chinese-py' and `chinese-tonepy' are also Pinyin The input method `chinese-py' and `chinese-tonepy' are also Pinyin
based, but for the character set GB2312 (`chinese-gb2312').") based, but for the character set GB2312 (`chinese-gb2312').")
("chinese-qj-b5" "B") ("chinese-qj-b5" "$(0)A(BB")
("chinese-qj" "G") ("chinese-qj" "$AH+(BG")
("chinese-sw" "首尾" ("chinese-sw" "$AJWN2(B"
"Radical base input method for Chinese charset GB2312 (`chinese-gb2312'). "Radical base input method for Chinese charset GB2312 (`chinese-gb2312').
In this input method, you enter a Chinese character by typing two In this input method, you enter a Chinese character by typing two
keys. The first key corresponds to the first () radical, the second keys. The first key corresponds to the first ($AJW(B) radical, the second
key corresponds to the last () radical. The correspondence of keys key corresponds to the last ($AN2(B) radical. The correspondence of keys
and radicals is as below: and radicals is as below:
first radical: 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 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
丿 $APD(B $AZ"(B $AJ,(B $AX<(B $A;p(B $A?Z(B $A^P(B $Ac_(B $AZ%(B $A\3(B $AXi(B $AD>(B $Alj(B $Ab;(B $ATB(B $Afy(B $AJ/(B $AMu(B $A0K(B $AX/(B $AHU(B $AeA(B $Aak(B $AVq(B $AR;(B $AHK(B
last radical: 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 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
$ASV(B $AI=(B $AMA(B $A56(B $AZb(B $A?Z(B $ARB(B $Aqb(B $A4s(B $A6!(B $A[L(B $Ala(B $AJ.(B $A4u(B $AXg(B $ACE(B $A=q(B $AX-(B $AE.(B $ARR(B $A`m(B $AP!(B $A3'(B $A3f(B $A_.(B $A27(B
\\<quail-translation-docstring>") \\<quail-translation-docstring>")
("chinese-tonepy" "调拼" ("chinese-tonepy" "$A5wF4(B"
"Pinyin base input method for Chinese charset GB2312 (`chinese-gb2312'). "Pinyin base input method for Chinese charset GB2312 (`chinese-gb2312').
Pinyin is the standard roman transliteration method for Chinese. Pinyin is the standard roman transliteration method for Chinese.
@ -183,18 +183,18 @@ method `chinese-py'.
This input method works almost the same way as `chinese-py'. The This input method works almost the same way as `chinese-py'. The
difference is that you must type 1..5 after each Pinyin spelling to difference is that you must type 1..5 after each Pinyin spelling to
specify a tone (1:阴平, 2:阳平, 3:上声, 4下声, 5:轻声). specify a tone (1:$ARuF=(B, 2:$AQtF=(B, 3:$AIOIy(B, 4$AOBIy(B, 5:$AGaIy(B).
\\<quail-translation-docstring> \\<quail-translation-docstring>
For instance, to input , you type \"n i 3 3\", the first \"n i\" is For instance, to input $ADc(B, you type \"n i 3 3\", the first \"n i\" is
a Pinyin, the next \"3\" specifies tone, and the last \"3\" selects a Pinyin, the next \"3\" specifies tone, and the last \"3\" selects
the third character from the candidate list. the third character from the candidate list.
For double-width GB2312 characters corresponding to ASCII, use the For double-width GB2312 characters corresponding to ASCII, use the
input method `chinese-qj'.") input method `chinese-qj'.")
("chinese-zozy" "零注" ("chinese-zozy" "$(0I\0D(B"
"Zhuyin base input method for Chinese Big5 characters (`chinese-big5-1', "Zhuyin base input method for Chinese Big5 characters (`chinese-big5-1',
`chinese-big5-2'). `chinese-big5-2').
@ -203,8 +203,8 @@ compose a Chinese character.
In this input method, you enter a Chinese character by first typing In this input method, you enter a Chinese character by first typing
keys corresponding to Zhuyin symbols (see the above table) followed by keys corresponding to Zhuyin symbols (see the above table) followed by
SPC, 6, 3, 4, or 7 specifying a tone (SPC:陰平, 6:陽平, 3:上聲, 4:去聲, SPC, 6, 3, 4, or 7 specifying a tone (SPC:$(0?v(N(B, 6:$(0Dm(N(B, 3:$(0&9Vy(B, 4:$(0(+Vy(B,
7:輕聲). 7:$(0M=Vy(B).
\\<quail-translation-docstring>"))) \\<quail-translation-docstring>")))
@ -354,7 +354,7 @@ SPC, 6, 3, 4, or 7 specifying a tone (SPC:陰平, 6:陽平, 3:上聲, 4:去聲,
(princ (nth 2 (assoc tit-encode tit-encode-list))) (princ (nth 2 (assoc tit-encode tit-encode-list)))
(princ "\" \"") (princ "\" \"")
(princ (or title (princ (or title
(if (string-match "[:∷:【]+\\([^:∷:】]+\\)" tit-prompt) (if (string-match "[:$A!K$(0!(!J(B]+\\([^:$A!K$(0!(!K(B]+\\)" tit-prompt)
(substring tit-prompt (match-beginning 1) (match-end 1)) (substring tit-prompt (match-beginning 1) (match-end 1))
tit-prompt))) tit-prompt)))
(princ "\"\n")) (princ "\"\n"))
@ -580,7 +580,7 @@ To get complete usage, invoke \"emacs -batch -f batch-titdic-convert -h\"."
;; ) ;; )
(defvar quail-misc-package-ext-info (defvar quail-misc-package-ext-info
'(("chinese-b5-tsangchi" "B" '(("chinese-b5-tsangchi" "$(06A(BB"
"cangjie-table.b5" big5 "tsang-b5.el" "cangjie-table.b5" big5 "tsang-b5.el"
tsang-b5-converter tsang-b5-converter
"\ "\
@ -590,7 +590,7 @@ To get complete usage, invoke \"emacs -batch -f batch-titdic-convert -h\"."
;; # unmodified versions is granted without royalty provided ;; # unmodified versions is granted without royalty provided
;; # this notice is preserved.") ;; # this notice is preserved.")
("chinese-b5-quick" "B" ("chinese-b5-quick" "$(0X|(BB"
"cangjie-table.b5" big5 "quick-b5.el" "cangjie-table.b5" big5 "quick-b5.el"
quick-b5-converter quick-b5-converter
"\ "\
@ -600,7 +600,7 @@ To get complete usage, invoke \"emacs -batch -f batch-titdic-convert -h\"."
;; # unmodified versions is granted without royalty provided ;; # unmodified versions is granted without royalty provided
;; # this notice is preserved.") ;; # this notice is preserved.")
("chinese-cns-tsangchi" "C" ("chinese-cns-tsangchi" "$(GT?(BC"
"cangjie-table.cns" iso-2022-cn-ext "tsang-cns.el" "cangjie-table.cns" iso-2022-cn-ext "tsang-cns.el"
tsang-cns-converter tsang-cns-converter
"\ "\
@ -610,7 +610,7 @@ To get complete usage, invoke \"emacs -batch -f batch-titdic-convert -h\"."
;; # unmodified versions is granted without royalty provided ;; # unmodified versions is granted without royalty provided
;; # this notice is preserved.") ;; # this notice is preserved.")
("chinese-cns-quick" "C" ("chinese-cns-quick" "$(Gv|(BC"
"cangjie-table.cns" iso-2022-cn-ext "quick-cns.el" "cangjie-table.cns" iso-2022-cn-ext "quick-cns.el"
quick-cns-converter quick-cns-converter
"\ "\
@ -620,7 +620,7 @@ To get complete usage, invoke \"emacs -batch -f batch-titdic-convert -h\"."
;; # unmodified versions is granted without royalty provided ;; # unmodified versions is granted without royalty provided
;; # this notice is preserved.") ;; # this notice is preserved.")
("chinese-py" "G" ("chinese-py" "$AF4(BG"
"pinyin.map" cn-gb-2312 "PY.el" "pinyin.map" cn-gb-2312 "PY.el"
py-converter py-converter
"\ "\
@ -648,7 +648,7 @@ To get complete usage, invoke \"emacs -batch -f batch-titdic-convert -h\"."
;; You should have received a copy of the GNU General Public License along with ;; You should have received a copy of the GNU General Public License along with
;; CCE. If not, see <https://www.gnu.org/licenses/>.") ;; CCE. If not, see <https://www.gnu.org/licenses/>.")
("chinese-ziranma" "自然" ("chinese-ziranma" "$AWTH;(B"
"ziranma.cin" cn-gb-2312 "ZIRANMA.el" "ziranma.cin" cn-gb-2312 "ZIRANMA.el"
ziranma-converter ziranma-converter
"\ "\
@ -676,7 +676,7 @@ To get complete usage, invoke \"emacs -batch -f batch-titdic-convert -h\"."
;; You should have received a copy of the GNU General Public License along with ;; You should have received a copy of the GNU General Public License along with
;; CCE. If not, see <https://www.gnu.org/licenses/>.") ;; CCE. If not, see <https://www.gnu.org/licenses/>.")
("chinese-ctlau" "刘粤" ("chinese-ctlau" "$AAuTA(B"
"CTLau.html" cn-gb-2312 "CTLau.el" "CTLau.html" cn-gb-2312 "CTLau.el"
ctlau-gb-converter ctlau-gb-converter
"\ "\
@ -701,7 +701,7 @@ To get complete usage, invoke \"emacs -batch -f batch-titdic-convert -h\"."
;; # You should have received a copy of the GNU General Public License ;; # You should have received a copy of the GNU General Public License
;; # along with this program. If not, see <https://www.gnu.org/licenses/>.") ;; # along with this program. If not, see <https://www.gnu.org/licenses/>.")
("chinese-ctlaub" "劉粵" ("chinese-ctlaub" "$(0N,Gn(B"
"CTLau-b5.html" big5 "CTLau-b5.el" "CTLau-b5.html" big5 "CTLau-b5.el"
ctlau-b5-converter ctlau-b5-converter
"\ "\
@ -731,37 +731,38 @@ To get complete usage, invoke \"emacs -batch -f batch-titdic-convert -h\"."
;; dictionary in the buffer DICBUF. The input method name of the ;; dictionary in the buffer DICBUF. The input method name of the
;; Quail package is NAME, and the title string is TITLE. ;; Quail package is NAME, and the title string is TITLE.
;; TSANG-P is non-nil, generate 倉頡 input method. Otherwise ;; TSANG-P is non-nil, generate $(06AQo(B input method. Otherwise
;; generate 簡易 (simple version of 倉頡). If BIG5-P is non-nil, the ;; generate $(0X|/y(B (simple version of $(06AQo(B). If BIG5-P is non-nil, the
;; input method is for inputting Big5 characters. Otherwise the input ;; input method is for inputting Big5 characters. Otherwise the input
;; method is for inputting CNS characters. ;; method is for inputting CNS characters.
(defun tsang-quick-converter (dicbuf tsang-p big5-p) (defun tsang-quick-converter (dicbuf name title tsang-p big5-p)
(let ((fulltitle (if tsang-p "倉頡" "簡易")) (let ((fulltitle (if tsang-p (if big5-p "$(06AQo(B" "$(GT?on(B")
(if big5-p "$(0X|/y(B" "$(Gv|Mx(B")))
dic) dic)
(goto-char (point-max)) (goto-char (point-max))
(if big5-p (if big5-p
(insert (format "\"中文輸入【%s】BIG5 (insert (format "\"$(0&d'GTT&,!J(B%s$(0!K(BBIG5
漢語%s輸入鍵盤 $(0KHM$(B%s$(0TT&,WoOu(B
[Q ] [W ] [E ] [R ] [T 廿] [Y ] [U ] [I ] [O ] [P ] [Q $(0'D(B] [W $(0(q(B] [E $(0'V(B] [R $(0&H(B] [T $(0'>(B] [Y $(0&4(B] [U $(0&U(B] [I $(0'B(B] [O $(0&*(B] [P $(0'A(B]
[A ] [S ] [D ] [F ] [G ] [H ] [J ] [L ] [A $(0'K(B] [S $(0&T(B] [D $(0'N(B] [F $(0'W(B] [G $(0&I(B] [H $(0*M(B] [J $(0&3(B] [L $(0&d(B]
[Z ] [X ] [C ] [V ] [B ] [N ] [M ] [Z ] [X $(0[E(B] [C $(01[(B] [V $(0&M(B] [B $(0'M(B] [N $(0&_(B] [M $(0&"(B]
\\\\<quail-translation-docstring>\"\n" \\\\<quail-translation-docstring>\"\n"
fulltitle fulltitle)) fulltitle fulltitle))
(insert (format "\"中文輸入【%s】CNS (insert (format "\"$(GDcEFrSD+!J(B%s$(G!K(BCNS
漢語%s輸入鍵盤 $(GiGk#(B%s$(GrSD+uomu(B
[Q ] [W ] [E ] [R ] [T 廿] [Y ] [U ] [I ] [O ] [P ] [Q $(GEC(B] [W $(GFp(B] [E $(GEU(B] [R $(GDG(B] [T $(GE=(B] [Y $(GD3(B] [U $(GDT(B] [I $(GEA(B] [O $(GD)(B] [P $(GE@(B]
[A ] [S ] [D ] [F ] [G ] [H ] [J ] [L ] [A $(GEJ(B] [S $(GDS(B] [D $(GEM(B] [F $(GEV(B] [G $(GDH(B] [H $(GHL(B] [J $(GD2(B] [L $(GDc(B]
[Z ] [X ] [C ] [V ] [B ] [N ] [M ] [Z ] [X $(GyE(B] [C $(GOZ(B] [V $(GDL(B] [B $(GEL(B] [N $(GD^(B] [M $(GD!(B]
\\\\<quail-translation-docstring>\"\n" \\\\<quail-translation-docstring>\"\n"
fulltitle fulltitle))) fulltitle fulltitle)))
@ -797,35 +798,35 @@ To get complete usage, invoke \"emacs -batch -f batch-titdic-convert -h\"."
(setq dic (sort dic (function (lambda (x y) (string< (car x ) (car y)))))) (setq dic (sort dic (function (lambda (x y) (string< (car x ) (car y))))))
(dolist (elt dic) (dolist (elt dic)
(insert (format "(%S\t%S)\n" (car elt) (cdr elt)))) (insert (format "(%S\t%S)\n" (car elt) (cdr elt))))
(let ((punctuation '((";" ";﹔,、﹐﹑" ";﹔,、﹐﹑") (let ((punctuation '((";" "$(0!'!2!"!#!.!/(B" "$(G!'!2!"!#!.!/(B")
(":" ":︰﹕.。‧﹒·" ":︰﹕.。・﹒·") (":" "$(0!(!+!3!%!$!&!0!1(B" "$(G!(!+!3!%!$!&!0!1(B")
("'" "" "") ("'" "$(0!e!d(B" "$(G!e!d(B")
("\"" "”“〝〞〃" "”“〝〞〃") ("\"" "$(0!g!f!h!i!q(B" "$(G!g!f!h!i!q(B")
("\\" "\﹨╲" "\﹨╲") ("\\" "$(0"`"b#M(B" "$(G"`"b#M(B")
("|" "|︱︳∣" "︱︲<EFBFBD><EFBFBD><EFBFBD><EFBFBD>") ("|" "$(0!6!8!:"^(B" "$(G!6!8!:"^(B")
("/" "" "") ("/" "$(0"_"a#L(B" "$(G"_"a#L(B")
("?" "?﹖" "?﹖") ("?" "$(0!)!4(B" "$(G!)!4(B")
("<" "〈<﹤︿∠" "〈<﹤︿∠") ("<" "$(0!R"6"A!T"H(B" "$(G!R"6"A!T"H(B")
(">" "〉>﹥﹀" "〉>﹦﹀") (">" "$(0!S"7"B!U(B" "$(G!S"7"B!U(B")
("[" "〔【﹝︹︻「『﹁﹃" "〔【﹝︹︻「『﹁﹃") ("[" "$(0!F!J!b!H!L!V!Z!X!\(B" "$(G!F!J!b!H!L!V!Z!X!\(B")
("]" "〕】﹞︺︼」』﹂﹄" "〕】﹞︺︼」』﹂﹄") ("]" "$(0!G!K!c!I!M!W![!Y!](B" "$(G!G!K!c!I!M!W![!Y!](B")
("{" "{﹛︷ " "{﹛︷ ") ("{" "$(0!B!`!D(B " "$(G!B!`!D(B ")
("}" "}﹜︸" "}﹜︸") ("}" "$(0!C!a!E(B" "$(G!C!a!E(B")
("`" "" "") ("`" "$(0!j!k(B" "$(G!j!k(B")
("~" "~﹋﹌︴﹏" "﹋﹌<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>") ("~" "$(0"D"+",!<!=(B" "$(G"D"+",!<!=(B")
("!" "!﹗" "!﹗") ("!" "$(0!*!5(B" "$(G!*!5(B")
("@" "@﹫" "@﹫") ("@" "$(0"i"n(B" "$(G"i"n(B")
("#" "#﹟" "#﹟") ("#" "$(0!l"-(B" "$(G!l"-(B")
("$" "$﹩" "$﹩") ("$" "$(0"c"l(B" "$(G"c"l(B")
("%" "%﹪" "%﹪") ("%" "$(0"h"m(B" "$(G"h"m(B")
("&" "&﹠" "&﹠") ("&" "$(0!m".(B" "$(G!m".(B")
("*" "*﹡※☆★" "*﹡※☆★") ("*" "$(0!n"/!o!w!x(B" "$(G!n"/!o!w!x(B")
("(" "(﹙︵" "(﹙︵") ("(" "$(0!>!^!@(B" "$(G!>!^!@(B")
(")" ")﹚︶" ")﹚︶") (")" "$(0!?!_!A(B" "$(G!?!_!A(B")
("-" "–—¯ ̄-﹣" "<EFBFBD><EFBFBD><EFBFBD><EFBFBD>") ("-" "$(0!7!9"#"$"1"@(B" "$(G!7!9"#"$"1"@(B")
("_" "_ˍ" "_<EFBFBD><EFBFBD><EFBFBD><EFBFBD>") ("_" "$(0"%"&(B" "$(G"%"&(B")
("=" "=﹦" "=﹥") ("=" "$(0"8"C(B" "$(G"8"C(B")
("+" "+﹢" "+﹢")))) ("+" "$(0"0"?(B" "$(G"0"?(B"))))
(dolist (elt punctuation) (dolist (elt punctuation)
(insert (format "(%S %S)\n" (concat "z" (car elt)) (insert (format "(%S %S)\n" (concat "z" (car elt))
(if big5-p (nth 1 elt) (nth 2 elt)))))) (if big5-p (nth 1 elt) (nth 2 elt))))))
@ -849,11 +850,11 @@ To get complete usage, invoke \"emacs -batch -f batch-titdic-convert -h\"."
(defun py-converter (dicbuf) (defun py-converter (dicbuf)
(goto-char (point-max)) (goto-char (point-max))
(insert (format "%S\n" "汉字输入∷拼音∷ (insert (format "%S\n" "$A::WVJdHk!KF4Rt!K(B
拼音方案 $AF4Rt7=08(B
小写英文字母代表拼音符号 \"u(yu) 则用 u: 表示 $AP!P4S"NDWVD84z1m!8F4Rt!97{:E#,(B \"u(yu) $ATrSC(B u: $A1mJ>!C(B
Pinyin base input method for Chinese charset GB2312 (`chinese-gb2312'). Pinyin base input method for Chinese charset GB2312 (`chinese-gb2312').
@ -867,14 +868,14 @@ character. The sequence is made by the combination of the initials
iang ing iong u ua uo uai ui uan un uan ueng yu yue yuan yun iang ing iong u ua uo uai ui uan un uan ueng yu yue yuan yun
(Note: In the correct Pinyin writing, the sequence \"yu\" in the last (Note: In the correct Pinyin writing, the sequence \"yu\" in the last
four finals should be written by the character u-umlaut `ü'.) four finals should be written by the character u-umlaut `$A(9(B'.)
With this input method, you enter a Chinese character by first With this input method, you enter a Chinese character by first
entering its pinyin spelling. entering its pinyin spelling.
\\<quail-translation-docstring> \\<quail-translation-docstring>
For instance, to input , you type \"n i C-n 3\". The first \"n i\" For instance, to input $ADc(B, you type \"n i C-n 3\". The first \"n i\"
is a Pinyin, \"C-n\" selects the next group of candidates (each group is a Pinyin, \"C-n\" selects the next group of candidates (each group
contains at most 10 characters), \"3\" select the third character in contains at most 10 characters), \"3\" select the third character in
that group. that group.
@ -957,22 +958,22 @@ method `chinese-tonepy' with which you must specify tones by digits
table))) table)))
(setq dic (sort dic (function (lambda (x y) (string< (car x) (car y)))))) (setq dic (sort dic (function (lambda (x y) (string< (car x) (car y))))))
(goto-char (point-max)) (goto-char (point-max))
(insert (format "%S\n" "汉字输入∷【自然】∷ (insert (format "%S\n" "$A::WVJdHk!K!>WTH;!?!K(B
键盘对照表: $A<|EL6TUU1m(B:
$A)3)%)%)W)%)%)W)%)%)W)%)%)W)%)%)W)%)%)W)%)%)W)%)%)W)%)%)W)%)%)7(B
shch $A)'#Q(B $A)'#W(B $A)'#E(B $A)'#R(B $A)'#T(B $A)'#Y(B $A)'#U(Bsh$A)'#I(Bch$A)'#O(B $A)'#P(B $A)'(B
iu ua e uan ue uai u i o un $A)'(B iu$A)'(B ua$A)'(B e$A)'(B uan$A)'(B ue$A)'(B uai$A)'(B u$A)'(B i$A)'(B o$A)'(B un$A)'(B
ia van ve ing uo vn $A)'(B $A)'(B ia$A)'(B $A)'(B van$A)'(B ve$A)'(B ing$A)'(B $A)'(B $A)'(B uo$A)'(B vn$A)'(B
$A);)W)%)_)W)%)_)W)%)_)W)%)_)W)%)_)W)%)_)W)%)_)W)%)_)W)%)_)W)%)?(B
$A)'#A(B $A)'#S(B $A)'#D(B $A)'#F(B $A)'#G(B $A)'#H(B $A)'#J(B $A)'#K(B $A)'#L(B $A)'(B
aionguang en eng ang an ao ai $A)'(B a$A)'(Biong$A)'(Buang$A)'(B en$A)'(B eng$A)'(B ang$A)'(B an$A)'(B ao$A)'(B ai$A)'(B
ongiang ng $A)'(B $A)'(B ong$A)'(Biang$A)'(B $A)'(B ng$A)'(B $A)'(B $A)'(B $A)'(B $A)'(B
$A);)W)%)_)W)%)_)W)%)_)W)%)_)W)%)_)W)%)_)W)%)_)W)%)_)W)%)_)W)%)%)7(B
zh $A)'#Z(B $A)'#X(B $A)'#C(B $A)'#V(Bzh$A)'#B(B $A)'#N(B $A)'#M(B $A)'#,(B $A)'#.(B $A)'(B $A#/(B $A)'(B
ei ie iao ui ou in ian前页后页符号 $A)'(B ei$A)'(B ie$A)'(B iao$A)'(B ui$A)'(B ou$A)'(B in$A)'(B ian$A)'G0R3)':sR3)'7{:E)'(B
v $A)'(B $A)'(B $A)'(B $A)'(B v$A)'(B $A)'(B $A)'(B $A)'(B $A)'(B $A)'(B $A)'(B
$A);)%)%)_)%)%)_)%)%)_)%)%)_)%)%)_)%)%)_)%)%)_)%)%)_)%)%)_)%)%)?(B
Pinyin base input method for Chinese GB2312 characters (`chinese-gb2312'). Pinyin base input method for Chinese GB2312 characters (`chinese-gb2312').
@ -984,34 +985,34 @@ method `chinese-py'.
Unlike the standard spelling of Pinyin, in this input method all Unlike the standard spelling of Pinyin, in this input method all
initials and finals are assigned to single keys (see the above table). initials and finals are assigned to single keys (see the above table).
For instance, the initial \"ch\" is assigned to the key `i', the final For instance, the initial \"ch\" is assigned to the key `i', the final
\"iu\" is assigned to the key `q', and tones 1, 2, 3, 4, and 轻声 are \"iu\" is assigned to the key `q', and tones 1, 2, 3, 4, and $AGaIy(B are
assigned to the keys `q', `w', `e', `r', `t' respectively. assigned to the keys `q', `w', `e', `r', `t' respectively.
\\<quail-translation-docstring> \\<quail-translation-docstring>
To input one-letter words, you type 4 keys, the first two for the To input one-letter words, you type 4 keys, the first two for the
Pinyin of the letter, next one for tone, and the last one is always a Pinyin of the letter, next one for tone, and the last one is always a
quote ('). For instance, \"vsq'\" input . Exceptions are these quote ('). For instance, \"vsq'\" input $AVP(B. Exceptions are these
letters. You can input them just by typing a single key. letters. You can input them just by typing a single key.
Character: Character: $A04(B $A2;(B $A4N(B $A5D(B $A6~(B $A7"(B $A8v(B $A:M(B $A3v(B $A<0(B $A?I(B $AAK(B $AC;(B
Key: a b c d e f g h i j k l m Key: a b c d e f g h i j k l m
Character: Character: $ADc(B $AE7(B $AF,(B $AF_(B $AHK(B $AH}(B $AK{(B $AJG(B $AWE(B $ANR(B $AP!(B $AR;(B $ATZ(B
Key: n o p q r s t u v w x y z Key: n o p q r s t u v w x y z
To input two-letter words, you have two ways. One way is to type 4 To input two-letter words, you have two ways. One way is to type 4
keys, two for the first Pinyin, two for the second Pinyin. For keys, two for the first Pinyin, two for the second Pinyin. For
instance, \"vsgo\" inputs 中国. Another way is to type 3 keys: 2 instance, \"vsgo\" inputs $AVP9z(B. Another way is to type 3 keys: 2
initials of two letters, and quote ('). For instance, \"vg'\" also initials of two letters, and quote ('). For instance, \"vg'\" also
inputs 中国. inputs $AVP9z(B.
To input three-letter words, you type 4 keys: initials of three To input three-letter words, you type 4 keys: initials of three
letters, and the last is quote ('). For instance, \"bjy'2\" inputs letters, and the last is quote ('). For instance, \"bjy'2\" inputs $A11(B
京鸭 (the last `2' is to select one of the candidates). $A>)Q<(B (the last `2' is to select one of the candidates).
To input words of more than three letters, you type 4 keys, initials To input words of more than three letters, you type 4 keys, initials
of the first three letters and the last letter. For instance, of the first three letters and the last letter. For instance,
\"bjdt\" inputs 北京电视台. \"bjdt\" inputs $A11>)5gJSL((B.
To input symbols and punctuation, type `/' followed by one of `a' to To input symbols and punctuation, type `/' followed by one of `a' to
`z', then select one of the candidates.")) `z', then select one of the candidates."))
@ -1058,7 +1059,7 @@ To input symbols and punctuation, type `/' followed by one of `a' to
;; which the file is converted have no Big5 equivalent. Go ;; which the file is converted have no Big5 equivalent. Go
;; through and delete them. ;; through and delete them.
(goto-char pos) (goto-char pos)
(while (search-forward "" nil t) (while (search-forward "$(0!{(B" nil t)
(delete-char -1)) (delete-char -1))
;; Uppercase keys in dictionary need to be downcased. Backslashes ;; Uppercase keys in dictionary need to be downcased. Backslashes
;; at the beginning of keys need to be turned into double ;; at the beginning of keys need to be turned into double
@ -1082,31 +1083,31 @@ To input symbols and punctuation, type `/' followed by one of `a' to
(defun ctlau-gb-converter (dicbuf) (defun ctlau-gb-converter (dicbuf)
(ctlau-converter dicbuf (ctlau-converter dicbuf
"汉字输入∷刘锡祥式粤音∷ "$A::WVJdHk!KAuN}OiJ=TARt!K(B
刘锡祥式粤语注音方案 $AAuN}OiJ=TASoW"Rt7=08(B
Sidney Lau's Cantonese transcription scheme as described in his book Sidney Lau's Cantonese transcription scheme as described in his book
\"Elementary Cantonese\", The Government Printer, Hong Kong, 1972. \"Elementary Cantonese\", The Government Printer, Hong Kong, 1972.
This file was prepared by Fung Fung Lee (李枫峰). This file was prepared by Fung Fung Lee ($A@n7c7e(B).
Originally converted from CTCPS3.tit Originally converted from CTCPS3.tit
Last modified: June 2, 1993. Last modified: June 2, 1993.
Some infrequent GB characters are accessed by typing \\, followed by Some infrequent GB characters are accessed by typing \\, followed by
the Cantonese romanization of the respective radical (部首).")) the Cantonese romanization of the respective radical ($A2?JW(B)."))
(defun ctlau-b5-converter (dicbuf) (defun ctlau-b5-converter (dicbuf)
(ctlau-converter dicbuf (ctlau-converter dicbuf
"漢字輸入:劉錫祥式粵音: "$(0KH)tTT&,!(N,Tg>A*#Gn5x!((B
劉錫祥式粵語注音方案 $(0N,Tg>A*#GnM$0D5x'J7{(B
Sidney Lau's Cantonese transcription scheme as described in his book Sidney Lau's Cantonese transcription scheme as described in his book
\"Elementary Cantonese\", The Government Printer, Hong Kong, 1972. \"Elementary Cantonese\", The Government Printer, Hong Kong, 1972.
This file was prepared by Fung Fung Lee (李楓峰). This file was prepared by Fung Fung Lee ($(0,XFS76(B).
Originally converted from CTCPS3.tit Originally converted from CTCPS3.tit
Last modified: June 2, 1993. Last modified: June 2, 1993.
Some infrequent characters are accessed by typing \\, followed by Some infrequent characters are accessed by typing \\, followed by
the Cantonese romanization of the respective radical (部首).")) the Cantonese romanization of the respective radical ($(0?f5}(B)."))
(declare-function dos-8+3-filename "dos-fns.el" (filename)) (declare-function dos-8+3-filename "dos-fns.el" (filename))