aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPaul Eggert2020-01-05 12:29:05 -0800
committerPaul Eggert2020-01-05 12:30:29 -0800
commit3fc859d9550ff6d35dbb453eb75c3296f23a94cb (patch)
treeeacc614a58e1780c6078530277433f84fd1c3432
parentf9094332287cf1434788f6407347265350ae5dd5 (diff)
downloademacs-3fc859d9550ff6d35dbb453eb75c3296f23a94cb.tar.gz
emacs-3fc859d9550ff6d35dbb453eb75c3296f23a94cb.zip
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
-rw-r--r--admin/notes/unicode10
-rw-r--r--lisp/international/titdic-cnv.el237
2 files changed, 128 insertions, 119 deletions
diff --git a/admin/notes/unicode b/admin/notes/unicode
index 6cb1b764c51..1e418590a68 100644
--- a/admin/notes/unicode
+++ b/admin/notes/unicode
@@ -256,11 +256,19 @@ nontrivial changes to the build process.
256 256
257 etc/tutorials/TUTORIAL.ja 257 etc/tutorials/TUTORIAL.ja
258 258
259 * iso-2022-7bit
260
261 This file contains multiple Chinese charsets, and converting it
262 to UTF-8 would lose the charset property and would change the
263 code's behavior. Although this could be worked around by
264 propertizing the strings, that hasn't been done.
265
266 lisp/international/titdic-cnv.el
267
259 * utf-8-emacs 268 * utf-8-emacs
260 269
261 These files contain characters that cannot be encoded in UTF-8. 270 These files contain characters that cannot be encoded in UTF-8.
262 271
263 lisp/international/titdic-cnv.el
264 lisp/language/ethio-util.el 272 lisp/language/ethio-util.el
265 lisp/language/ethiopic.el 273 lisp/language/ethiopic.el
266 lisp/language/ind-util.el 274 lisp/language/ind-util.el
diff --git a/lisp/international/titdic-cnv.el b/lisp/international/titdic-cnv.el
index e95e399eda4..02d1e2a3fcf 100644
--- a/lisp/international/titdic-cnv.el
+++ b/lisp/international/titdic-cnv.el
@@ -1,4 +1,4 @@
1;;; titdic-cnv.el --- convert cxterm dictionary (TIT format) to Quail package -*- coding: utf-8-emacs; lexical-binding:t -*- 1;;; titdic-cnv.el --- convert cxterm dictionary (TIT format) to Quail package -*- coding:iso-2022-7bit; lexical-binding:t -*-
2 2
3;; Copyright (C) 1997-1998, 2000-2020 Free Software Foundation, Inc. 3;; Copyright (C) 1997-1998, 2000-2020 Free Software Foundation, Inc.
4;; Copyright (C) 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 4;; Copyright (C) 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
@@ -83,9 +83,9 @@
83;; how to select a translation from a list of candidates. 83;; how to select a translation from a list of candidates.
84 84
85(defvar quail-cxterm-package-ext-info 85(defvar quail-cxterm-package-ext-info
86 '(("chinese-4corner" "四角") 86 '(("chinese-4corner" "$(0(?-F(B")
87 ("chinese-array30" "30") 87 ("chinese-array30" "$(0#R#O(B")
88 ("chinese-ccdospy" "缩拼" 88 ("chinese-ccdospy" "$AKuF4(B"
89 "Pinyin base input method for Chinese charset GB2312 (`chinese-gb2312'). 89 "Pinyin base input method for Chinese charset GB2312 (`chinese-gb2312').
90 90
91Pinyin is the standard Roman transliteration method for Chinese. 91Pinyin is the standard Roman transliteration method for Chinese.
@@ -94,10 +94,10 @@ method `chinese-py'.
94 94
95This input method works almost the same way as `chinese-py'. The 95This input method works almost the same way as `chinese-py'. The
96difference is that you type a single key for these Pinyin spelling. 96difference is that you type a single key for these Pinyin spelling.
97 Pinyin: zh en eng ang ch an ao ai ong sh ing yu(ü) 97 Pinyin: zh en eng ang ch an ao ai ong sh ing yu($A(9(B)
98 keyseq: a f g h i j k l s u y v 98 keyseq: a f g h i j k l s u y v
99For example: 99For example:
100 Chinese: 100 Chinese: $A0!(B $A9{(B $AVP(B $AND(B $A9b(B $ASq(B $AH+(B
101 Pinyin: a guo zhong wen guang yu quan 101 Pinyin: a guo zhong wen guang yu quan
102 Keyseq: a1 guo4 as1 wf4 guh1 yu..6 qvj6 102 Keyseq: a1 guo4 as1 wf4 guh1 yu..6 qvj6
103 103
@@ -106,14 +106,14 @@ For example:
106For double-width GB2312 characters corresponding to ASCII, use the 106For double-width GB2312 characters corresponding to ASCII, use the
107input method `chinese-qj'.") 107input method `chinese-qj'.")
108 108
109 ("chinese-ecdict" "英漢" 109 ("chinese-ecdict" "$(05CKH(B"
110"In this input method, you enter a Chinese (Big5) character or word 110"In this input method, you enter a Chinese (Big5) character or word
111by typing the corresponding English word. For example, if you type 111by typing the corresponding English word. For example, if you type
112\"computer\", \"電腦\" is input. 112\"computer\", \"$(0IZH+(B\" is input.
113 113
114\\<quail-translation-docstring>") 114\\<quail-translation-docstring>")
115 115
116 ("chinese-etzy" "倚注" 116 ("chinese-etzy" "$(06/0D(B"
117"Zhuyin base input method for Chinese Big5 characters (`chinese-big5-1', 117"Zhuyin base input method for Chinese Big5 characters (`chinese-big5-1',
118`chinese-big5-2'). 118`chinese-big5-2').
119 119
@@ -122,20 +122,20 @@ compose one Chinese character.
122 122
123In this input method, you enter a Chinese character by first typing 123In this input method, you enter a Chinese character by first typing
124keys corresponding to Zhuyin symbols (see the above table) followed by 124keys corresponding to Zhuyin symbols (see the above table) followed by
125SPC, 1, 2, 3, or 4 specifying a tone (SPC:陰平, 1:輕聲, 2:陽平, 3: 上聲, 125SPC, 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,
1264:去聲). 1264:$(0(+Vy(B).
127 127
128\\<quail-translation-docstring>") 128\\<quail-translation-docstring>")
129 129
130 ("chinese-punct-b5" "B" 130 ("chinese-punct-b5" "$(0O:(BB"
131 "Input method for Chinese punctuation and symbols of Big5 131 "Input method for Chinese punctuation and symbols of Big5
132\(`chinese-big5-1' and `chinese-big5-2').") 132\(`chinese-big5-1' and `chinese-big5-2').")
133 133
134 ("chinese-punct" "G" 134 ("chinese-punct" "$A1j(BG"
135 "Input method for Chinese punctuation and symbols of GB2312 135 "Input method for Chinese punctuation and symbols of GB2312
136\(`chinese-gb2312').") 136\(`chinese-gb2312').")
137 137
138 ("chinese-py-b5" "B" 138 ("chinese-py-b5" "$(03<(BB"
139 "Pinyin base input method for Chinese Big5 characters 139 "Pinyin base input method for Chinese Big5 characters
140\(`chinese-big5-1', `chinese-big5-2'). 140\(`chinese-big5-1', `chinese-big5-2').
141 141
@@ -153,28 +153,28 @@ method `chinese-qj-b5'.
153The input method `chinese-py' and `chinese-tonepy' are also Pinyin 153The input method `chinese-py' and `chinese-tonepy' are also Pinyin
154based, but for the character set GB2312 (`chinese-gb2312').") 154based, but for the character set GB2312 (`chinese-gb2312').")
155 155
156 ("chinese-qj-b5" "B") 156 ("chinese-qj-b5" "$(0)A(BB")
157 157
158 ("chinese-qj" "G") 158 ("chinese-qj" "$AH+(BG")
159 159
160 ("chinese-sw" "首尾" 160 ("chinese-sw" "$AJWN2(B"
161"Radical base input method for Chinese charset GB2312 (`chinese-gb2312'). 161"Radical base input method for Chinese charset GB2312 (`chinese-gb2312').
162 162
163In this input method, you enter a Chinese character by typing two 163In this input method, you enter a Chinese character by typing two
164keys. The first key corresponds to the first () radical, the second 164keys. The first key corresponds to the first ($AJW(B) radical, the second
165key corresponds to the last () radical. The correspondence of keys 165key corresponds to the last ($AN2(B) radical. The correspondence of keys
166and radicals is as below: 166and radicals is as below:
167 167
168 first radical: 168 first radical:
169 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 169 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
170 心 冖 尸 丶 火 口 扌 氵 讠 艹 亻 木 礻 饣 月 纟 石 王 八 丿 日 辶 犭 竹 一 人 170 $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
171 last radical: 171 last radical:
172 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 172 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
173 又 山 土 刀 阝 口 衣 疋 大 丁 厶 灬 十 歹 冂 门 今 丨 女 乙 囗 小 厂 虫 弋 卜 173 $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
174 174
175\\<quail-translation-docstring>") 175\\<quail-translation-docstring>")
176 176
177 ("chinese-tonepy" "调拼" 177 ("chinese-tonepy" "$A5wF4(B"
178 "Pinyin base input method for Chinese charset GB2312 (`chinese-gb2312'). 178 "Pinyin base input method for Chinese charset GB2312 (`chinese-gb2312').
179 179
180Pinyin is the standard roman transliteration method for Chinese. 180Pinyin is the standard roman transliteration method for Chinese.
@@ -183,18 +183,18 @@ method `chinese-py'.
183 183
184This input method works almost the same way as `chinese-py'. The 184This input method works almost the same way as `chinese-py'. The
185difference is that you must type 1..5 after each Pinyin spelling to 185difference is that you must type 1..5 after each Pinyin spelling to
186specify a tone (1:阴平, 2:阳平, 3:上声, 4下声, 5:轻声). 186specify a tone (1:$ARuF=(B, 2:$AQtF=(B, 3:$AIOIy(B, 4$AOBIy(B, 5:$AGaIy(B).
187 187
188\\<quail-translation-docstring> 188\\<quail-translation-docstring>
189 189
190For instance, to input , you type \"n i 3 3\", the first \"n i\" is 190For instance, to input $ADc(B, you type \"n i 3 3\", the first \"n i\" is
191a Pinyin, the next \"3\" specifies tone, and the last \"3\" selects 191a Pinyin, the next \"3\" specifies tone, and the last \"3\" selects
192the third character from the candidate list. 192the third character from the candidate list.
193 193
194For double-width GB2312 characters corresponding to ASCII, use the 194For double-width GB2312 characters corresponding to ASCII, use the
195input method `chinese-qj'.") 195input method `chinese-qj'.")
196 196
197 ("chinese-zozy" "零注" 197 ("chinese-zozy" "$(0I\0D(B"
198"Zhuyin base input method for Chinese Big5 characters (`chinese-big5-1', 198"Zhuyin base input method for Chinese Big5 characters (`chinese-big5-1',
199`chinese-big5-2'). 199`chinese-big5-2').
200 200
@@ -203,8 +203,8 @@ compose a Chinese character.
203 203
204In this input method, you enter a Chinese character by first typing 204In this input method, you enter a Chinese character by first typing
205keys corresponding to Zhuyin symbols (see the above table) followed by 205keys corresponding to Zhuyin symbols (see the above table) followed by
206SPC, 6, 3, 4, or 7 specifying a tone (SPC:陰平, 6:陽平, 3:上聲, 4:去聲, 206SPC, 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,
2077:輕聲). 2077:$(0M=Vy(B).
208 208
209\\<quail-translation-docstring>"))) 209\\<quail-translation-docstring>")))
210 210
@@ -354,7 +354,7 @@ SPC, 6, 3, 4, or 7 specifying a tone (SPC:陰平, 6:陽平, 3:上聲, 4:去聲,
354 (princ (nth 2 (assoc tit-encode tit-encode-list))) 354 (princ (nth 2 (assoc tit-encode tit-encode-list)))
355 (princ "\" \"") 355 (princ "\" \"")
356 (princ (or title 356 (princ (or title
357 (if (string-match "[:∷:【]+\\([^:∷:】]+\\)" tit-prompt) 357 (if (string-match "[:$A!K$(0!(!J(B]+\\([^:$A!K$(0!(!K(B]+\\)" tit-prompt)
358 (substring tit-prompt (match-beginning 1) (match-end 1)) 358 (substring tit-prompt (match-beginning 1) (match-end 1))
359 tit-prompt))) 359 tit-prompt)))
360 (princ "\"\n")) 360 (princ "\"\n"))
@@ -580,7 +580,7 @@ To get complete usage, invoke \"emacs -batch -f batch-titdic-convert -h\"."
580;; ) 580;; )
581 581
582(defvar quail-misc-package-ext-info 582(defvar quail-misc-package-ext-info
583 '(("chinese-b5-tsangchi" "B" 583 '(("chinese-b5-tsangchi" "$(06A(BB"
584 "cangjie-table.b5" big5 "tsang-b5.el" 584 "cangjie-table.b5" big5 "tsang-b5.el"
585 tsang-b5-converter 585 tsang-b5-converter
586 "\ 586 "\
@@ -590,7 +590,7 @@ To get complete usage, invoke \"emacs -batch -f batch-titdic-convert -h\"."
590;; # unmodified versions is granted without royalty provided 590;; # unmodified versions is granted without royalty provided
591;; # this notice is preserved.") 591;; # this notice is preserved.")
592 592
593 ("chinese-b5-quick" "B" 593 ("chinese-b5-quick" "$(0X|(BB"
594 "cangjie-table.b5" big5 "quick-b5.el" 594 "cangjie-table.b5" big5 "quick-b5.el"
595 quick-b5-converter 595 quick-b5-converter
596 "\ 596 "\
@@ -600,7 +600,7 @@ To get complete usage, invoke \"emacs -batch -f batch-titdic-convert -h\"."
600;; # unmodified versions is granted without royalty provided 600;; # unmodified versions is granted without royalty provided
601;; # this notice is preserved.") 601;; # this notice is preserved.")
602 602
603 ("chinese-cns-tsangchi" "C" 603 ("chinese-cns-tsangchi" "$(GT?(BC"
604 "cangjie-table.cns" iso-2022-cn-ext "tsang-cns.el" 604 "cangjie-table.cns" iso-2022-cn-ext "tsang-cns.el"
605 tsang-cns-converter 605 tsang-cns-converter
606 "\ 606 "\
@@ -610,7 +610,7 @@ To get complete usage, invoke \"emacs -batch -f batch-titdic-convert -h\"."
610;; # unmodified versions is granted without royalty provided 610;; # unmodified versions is granted without royalty provided
611;; # this notice is preserved.") 611;; # this notice is preserved.")
612 612
613 ("chinese-cns-quick" "C" 613 ("chinese-cns-quick" "$(Gv|(BC"
614 "cangjie-table.cns" iso-2022-cn-ext "quick-cns.el" 614 "cangjie-table.cns" iso-2022-cn-ext "quick-cns.el"
615 quick-cns-converter 615 quick-cns-converter
616 "\ 616 "\
@@ -620,7 +620,7 @@ To get complete usage, invoke \"emacs -batch -f batch-titdic-convert -h\"."
620;; # unmodified versions is granted without royalty provided 620;; # unmodified versions is granted without royalty provided
621;; # this notice is preserved.") 621;; # this notice is preserved.")
622 622
623 ("chinese-py" "G" 623 ("chinese-py" "$AF4(BG"
624 "pinyin.map" cn-gb-2312 "PY.el" 624 "pinyin.map" cn-gb-2312 "PY.el"
625 py-converter 625 py-converter
626 "\ 626 "\
@@ -648,7 +648,7 @@ To get complete usage, invoke \"emacs -batch -f batch-titdic-convert -h\"."
648;; You should have received a copy of the GNU General Public License along with 648;; You should have received a copy of the GNU General Public License along with
649;; CCE. If not, see <https://www.gnu.org/licenses/>.") 649;; CCE. If not, see <https://www.gnu.org/licenses/>.")
650 650
651 ("chinese-ziranma" "自然" 651 ("chinese-ziranma" "$AWTH;(B"
652 "ziranma.cin" cn-gb-2312 "ZIRANMA.el" 652 "ziranma.cin" cn-gb-2312 "ZIRANMA.el"
653 ziranma-converter 653 ziranma-converter
654 "\ 654 "\
@@ -676,7 +676,7 @@ To get complete usage, invoke \"emacs -batch -f batch-titdic-convert -h\"."
676;; You should have received a copy of the GNU General Public License along with 676;; You should have received a copy of the GNU General Public License along with
677;; CCE. If not, see <https://www.gnu.org/licenses/>.") 677;; CCE. If not, see <https://www.gnu.org/licenses/>.")
678 678
679 ("chinese-ctlau" "刘粤" 679 ("chinese-ctlau" "$AAuTA(B"
680 "CTLau.html" cn-gb-2312 "CTLau.el" 680 "CTLau.html" cn-gb-2312 "CTLau.el"
681 ctlau-gb-converter 681 ctlau-gb-converter
682 "\ 682 "\
@@ -701,7 +701,7 @@ To get complete usage, invoke \"emacs -batch -f batch-titdic-convert -h\"."
701;; # You should have received a copy of the GNU General Public License 701;; # You should have received a copy of the GNU General Public License
702;; # along with this program. If not, see <https://www.gnu.org/licenses/>.") 702;; # along with this program. If not, see <https://www.gnu.org/licenses/>.")
703 703
704 ("chinese-ctlaub" "劉粵" 704 ("chinese-ctlaub" "$(0N,Gn(B"
705 "CTLau-b5.html" big5 "CTLau-b5.el" 705 "CTLau-b5.html" big5 "CTLau-b5.el"
706 ctlau-b5-converter 706 ctlau-b5-converter
707 "\ 707 "\
@@ -731,37 +731,38 @@ To get complete usage, invoke \"emacs -batch -f batch-titdic-convert -h\"."
731;; dictionary in the buffer DICBUF. The input method name of the 731;; dictionary in the buffer DICBUF. The input method name of the
732;; Quail package is NAME, and the title string is TITLE. 732;; Quail package is NAME, and the title string is TITLE.
733 733
734;; TSANG-P is non-nil, generate 倉頡 input method. Otherwise 734;; TSANG-P is non-nil, generate $(06AQo(B input method. Otherwise
735;; generate 簡易 (simple version of 倉頡). If BIG5-P is non-nil, the 735;; generate $(0X|/y(B (simple version of $(06AQo(B). If BIG5-P is non-nil, the
736;; input method is for inputting Big5 characters. Otherwise the input 736;; input method is for inputting Big5 characters. Otherwise the input
737;; method is for inputting CNS characters. 737;; method is for inputting CNS characters.
738 738
739(defun tsang-quick-converter (dicbuf tsang-p big5-p) 739(defun tsang-quick-converter (dicbuf name title tsang-p big5-p)
740 (let ((fulltitle (if tsang-p "倉頡" "簡易")) 740 (let ((fulltitle (if tsang-p (if big5-p "$(06AQo(B" "$(GT?on(B")
741 (if big5-p "$(0X|/y(B" "$(Gv|Mx(B")))
741 dic) 742 dic)
742 (goto-char (point-max)) 743 (goto-char (point-max))
743 (if big5-p 744 (if big5-p
744 (insert (format "\"中文輸入【%sBIG5 745 (insert (format "\"$(0&d'GTT&,!J(B%s$(0!K(BBIG5
745 746
746 漢語%s輸入鍵盤 747 $(0KHM$(B%s$(0TT&,WoOu(B
747 748
748 [Q 手] [W 田] [E 水] [R 口] [T 廿] [Y 卜] [U 山] [I 戈] [O 人] [P 心] 749 [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]
749 750
750 [A ] [S ] [D ] [F ] [G ] [H ] [J ] [L ] 751 [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]
751 752
752 [Z ] [X ] [C ] [V ] [B ] [N ] [M ] 753 [Z ] [X $(0[E(B] [C $(01[(B] [V $(0&M(B] [B $(0'M(B] [N $(0&_(B] [M $(0&"(B]
753 754
754\\\\<quail-translation-docstring>\"\n" 755\\\\<quail-translation-docstring>\"\n"
755 fulltitle fulltitle)) 756 fulltitle fulltitle))
756 (insert (format "\"中文輸入【%sCNS 757 (insert (format "\"$(GDcEFrSD+!J(B%s$(G!K(BCNS
757 758
758 漢語%s輸入鍵盤 759 $(GiGk#(B%s$(GrSD+uomu(B
759 760
760 [Q 手] [W 田] [E 水] [R 口] [T 廿] [Y 卜] [U 山] [I 戈] [O 人] [P 心] 761 [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]
761 762
762 [A ] [S ] [D ] [F ] [G ] [H ] [J ] [L ] 763 [A $(GEJ(B] [S $(GDS(B] [D $(GEM(B] [F $(GEV(B] [G $(GDH(B] [H $(GHL(B] [J $(GD2(B] [L $(GDc(B]
763 764
764 [Z ] [X ] [C ] [V ] [B ] [N ] [M ] 765 [Z ] [X $(GyE(B] [C $(GOZ(B] [V $(GDL(B] [B $(GEL(B] [N $(GD^(B] [M $(GD!(B]
765 766
766\\\\<quail-translation-docstring>\"\n" 767\\\\<quail-translation-docstring>\"\n"
767 fulltitle fulltitle))) 768 fulltitle fulltitle)))
@@ -797,35 +798,35 @@ To get complete usage, invoke \"emacs -batch -f batch-titdic-convert -h\"."
797 (setq dic (sort dic (function (lambda (x y) (string< (car x ) (car y)))))) 798 (setq dic (sort dic (function (lambda (x y) (string< (car x ) (car y))))))
798 (dolist (elt dic) 799 (dolist (elt dic)
799 (insert (format "(%S\t%S)\n" (car elt) (cdr elt)))) 800 (insert (format "(%S\t%S)\n" (car elt) (cdr elt))))
800 (let ((punctuation '((";" ";﹔,、﹐﹑" ";﹔,、﹐﹑") 801 (let ((punctuation '((";" "$(0!'!2!"!#!.!/(B" "$(G!'!2!"!#!.!/(B")
801 (":" ":︰﹕.。‧﹒·" ":︰﹕.。・﹒·") 802 (":" "$(0!(!+!3!%!$!&!0!1(B" "$(G!(!+!3!%!$!&!0!1(B")
802 ("'" "’‘" "’‘") 803 ("'" "$(0!e!d(B" "$(G!e!d(B")
803 ("\"" "”“〝〞〃" "”“〝〞〃") 804 ("\"" "$(0!g!f!h!i!q(B" "$(G!g!f!h!i!q(B")
804 ("\\" "\﹨╲" "\﹨╲") 805 ("\\" "$(0"`"b#M(B" "$(G"`"b#M(B")
805 ("|" "|︱︳∣" "︱︲|") 806 ("|" "$(0!6!8!:"^(B" "$(G!6!8!:"^(B")
806 ("/" "/∕╱" "/∕╱") 807 ("/" "$(0"_"a#L(B" "$(G"_"a#L(B")
807 ("?" "?﹖" "?﹖") 808 ("?" "$(0!)!4(B" "$(G!)!4(B")
808 ("<" "〈<﹤︿∠" "〈<﹤︿∠") 809 ("<" "$(0!R"6"A!T"H(B" "$(G!R"6"A!T"H(B")
809 (">" "〉>﹥﹀" "〉>﹦﹀") 810 (">" "$(0!S"7"B!U(B" "$(G!S"7"B!U(B")
810 ("[" "〔【﹝︹︻「『﹁﹃" "〔【﹝︹︻「『﹁﹃") 811 ("[" "$(0!F!J!b!H!L!V!Z!X!\(B" "$(G!F!J!b!H!L!V!Z!X!\(B")
811 ("]" "〕】﹞︺︼」』﹂﹄" "〕】﹞︺︼」』﹂﹄") 812 ("]" "$(0!G!K!c!I!M!W![!Y!](B" "$(G!G!K!c!I!M!W![!Y!](B")
812 ("{" "{﹛︷ " "{﹛︷ ") 813 ("{" "$(0!B!`!D(B " "$(G!B!`!D(B ")
813 ("}" "}﹜︸" "}﹜︸") 814 ("}" "$(0!C!a!E(B" "$(G!C!a!E(B")
814 ("`" "‵′" "′‵") 815 ("`" "$(0!j!k(B" "$(G!j!k(B")
815 ("~" "~﹋﹌︴﹏" "∼﹋﹌") 816 ("~" "$(0"D"+",!<!=(B" "$(G"D"+",!<!=(B")
816 ("!" "!﹗" "!﹗") 817 ("!" "$(0!*!5(B" "$(G!*!5(B")
817 ("@" "@﹫" "@﹫") 818 ("@" "$(0"i"n(B" "$(G"i"n(B")
818 ("#" "#﹟" "#﹟") 819 ("#" "$(0!l"-(B" "$(G!l"-(B")
819 ("$" "$﹩" "$﹩") 820 ("$" "$(0"c"l(B" "$(G"c"l(B")
820 ("%" "%﹪" "%﹪") 821 ("%" "$(0"h"m(B" "$(G"h"m(B")
821 ("&" "&﹠" "&﹠") 822 ("&" "$(0!m".(B" "$(G!m".(B")
822 ("*" "*﹡※☆★" "*﹡※☆★") 823 ("*" "$(0!n"/!o!w!x(B" "$(G!n"/!o!w!x(B")
823 ("(" "(﹙︵" "(﹙︵") 824 ("(" "$(0!>!^!@(B" "$(G!>!^!@(B")
824 (")" ")﹚︶" ")﹚︶") 825 (")" "$(0!?!_!A(B" "$(G!?!_!A(B")
825 ("-" "–—¯ ̄-﹣" "—–‾-﹣") 826 ("-" "$(0!7!9"#"$"1"@(B" "$(G!7!9"#"$"1"@(B")
826 ("_" "_ˍ" "_") 827 ("_" "$(0"%"&(B" "$(G"%"&(B")
827 ("=" "=﹦" "=﹥") 828 ("=" "$(0"8"C(B" "$(G"8"C(B")
828 ("+" "+﹢" "+﹢")))) 829 ("+" "$(0"0"?(B" "$(G"0"?(B"))))
829 (dolist (elt punctuation) 830 (dolist (elt punctuation)
830 (insert (format "(%S %S)\n" (concat "z" (car elt)) 831 (insert (format "(%S %S)\n" (concat "z" (car elt))
831 (if big5-p (nth 1 elt) (nth 2 elt)))))) 832 (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\"."
849 850
850(defun py-converter (dicbuf) 851(defun py-converter (dicbuf)
851 (goto-char (point-max)) 852 (goto-char (point-max))
852 (insert (format "%S\n" "汉字输入∷拼音∷ 853 (insert (format "%S\n" "$A::WVJdHk!KF4Rt!K(B
853 854
854 拼音方案 855 $AF4Rt7=08(B
855 856
856 小写英文字母代表「拼音」符号, \"u(yu) 则用 u: 表示∶ 857 $AP!P4S"NDWVD84z1m!8F4Rt!97{:E#,(B \"u(yu) $ATrSC(B u: $A1mJ>!C(B
857 858
858Pinyin base input method for Chinese charset GB2312 (`chinese-gb2312'). 859Pinyin base input method for Chinese charset GB2312 (`chinese-gb2312').
859 860
@@ -867,14 +868,14 @@ character. The sequence is made by the combination of the initials
867 iang ing iong u ua uo uai ui uan un uan ueng yu yue yuan yun 868 iang ing iong u ua uo uai ui uan un uan ueng yu yue yuan yun
868 869
869 (Note: In the correct Pinyin writing, the sequence \"yu\" in the last 870 (Note: In the correct Pinyin writing, the sequence \"yu\" in the last
870 four finals should be written by the character u-umlaut `ü'.) 871 four finals should be written by the character u-umlaut `$A(9(B'.)
871 872
872With this input method, you enter a Chinese character by first 873With this input method, you enter a Chinese character by first
873entering its pinyin spelling. 874entering its pinyin spelling.
874 875
875\\<quail-translation-docstring> 876\\<quail-translation-docstring>
876 877
877For instance, to input , you type \"n i C-n 3\". The first \"n i\" 878For instance, to input $ADc(B, you type \"n i C-n 3\". The first \"n i\"
878is a Pinyin, \"C-n\" selects the next group of candidates (each group 879is a Pinyin, \"C-n\" selects the next group of candidates (each group
879contains at most 10 characters), \"3\" select the third character in 880contains at most 10 characters), \"3\" select the third character in
880that group. 881that group.
@@ -957,22 +958,22 @@ method `chinese-tonepy' with which you must specify tones by digits
957 table))) 958 table)))
958 (setq dic (sort dic (function (lambda (x y) (string< (car x) (car y)))))) 959 (setq dic (sort dic (function (lambda (x y) (string< (car x) (car y))))))
959 (goto-char (point-max)) 960 (goto-char (point-max))
960 (insert (format "%S\n" "汉字输入∷【自然】∷ 961 (insert (format "%S\n" "$A::WVJdHk!K!>WTH;!?!K(B
961 962
962 键盘对照表: 963 $A<|EL6TUU1m(B:
963 ┏━━┳━━┳━━┳━━┳━━┳━━┳━━┳━━┳━━┳━━┓ 964 $A)3)%)%)W)%)%)W)%)%)W)%)%)W)%)%)W)%)%)W)%)%)W)%)%)W)%)%)W)%)%)7(B
964 ┃Q ┃W ┃E ┃R ┃T ┃Y ┃Ush┃Ich┃O ┃P ┃ 965 $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
965 ┃ iu┃ ua┃ e┃ uan┃ ue┃ uai┃ u┃ i┃ o┃ un┃ 966 $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
966 ┃ ┃ ia┃ ┃ van┃ ve┃ ing┃ ┃ ┃ uo┃ vn┃ 967 $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
967 ┗┳━┻┳━┻┳━┻┳━┻┳━┻┳━┻┳━┻┳━┻┳━┻┳━┛ 968 $A);)W)%)_)W)%)_)W)%)_)W)%)_)W)%)_)W)%)_)W)%)_)W)%)_)W)%)_)W)%)?(B
968 ┃A ┃S ┃D ┃F ┃G ┃H ┃J ┃K ┃L 969 $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
969 aionguang en eng ang an ao ai 970 $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
970 ongiang ng 971 $A)'(B $A)'(B ong$A)'(Biang$A)'(B $A)'(B ng$A)'(B $A)'(B $A)'(B $A)'(B $A)'(B
971 ┗┳━┻┳━┻┳━┻┳━┻┳━┻┳━┻┳━┻┳━┻┳━┻┳━━┓ 972 $A);)W)%)_)W)%)_)W)%)_)W)%)_)W)%)_)W)%)_)W)%)_)W)%)_)W)%)_)W)%)%)7(B
972 ┃Z ┃X ┃C ┃Vzh┃B ┃N ┃M ┃, ┃. ┃ / ┃ 973 $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
973 ei ie iao ui ou in ian┃前页┃后页┃符号┃ 974 $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
974 ┃ ┃ ┃ ┃ v┃ ┃ ┃ ┃ ┃ ┃ ┃ 975 $A)'(B $A)'(B $A)'(B $A)'(B v$A)'(B $A)'(B $A)'(B $A)'(B $A)'(B $A)'(B $A)'(B
975 ┗━━┻━━┻━━┻━━┻━━┻━━┻━━┻━━┻━━┻━━┛ 976 $A);)%)%)_)%)%)_)%)%)_)%)%)_)%)%)_)%)%)_)%)%)_)%)%)_)%)%)_)%)%)?(B
976 977
977 978
978Pinyin base input method for Chinese GB2312 characters (`chinese-gb2312'). 979Pinyin base input method for Chinese GB2312 characters (`chinese-gb2312').
@@ -984,34 +985,34 @@ method `chinese-py'.
984Unlike the standard spelling of Pinyin, in this input method all 985Unlike the standard spelling of Pinyin, in this input method all
985initials and finals are assigned to single keys (see the above table). 986initials and finals are assigned to single keys (see the above table).
986For instance, the initial \"ch\" is assigned to the key `i', the final 987For instance, the initial \"ch\" is assigned to the key `i', the final
987\"iu\" is assigned to the key `q', and tones 1, 2, 3, 4, and 轻声 are 988\"iu\" is assigned to the key `q', and tones 1, 2, 3, 4, and $AGaIy(B are
988assigned to the keys `q', `w', `e', `r', `t' respectively. 989assigned to the keys `q', `w', `e', `r', `t' respectively.
989 990
990\\<quail-translation-docstring> 991\\<quail-translation-docstring>
991 992
992To input one-letter words, you type 4 keys, the first two for the 993To input one-letter words, you type 4 keys, the first two for the
993Pinyin of the letter, next one for tone, and the last one is always a 994Pinyin of the letter, next one for tone, and the last one is always a
994quote ('). For instance, \"vsq'\" input . Exceptions are these 995quote ('). For instance, \"vsq'\" input $AVP(B. Exceptions are these
995letters. You can input them just by typing a single key. 996letters. You can input them just by typing a single key.
996 997
997 Character: 按 不 次 的 二 发 个 和 出 及 可 了 没 998 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
998 Key: a b c d e f g h i j k l m 999 Key: a b c d e f g h i j k l m
999 Character: 你 欧 片 七 人 三 他 是 着 我 小 一 在 1000 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
1000 Key: n o p q r s t u v w x y z 1001 Key: n o p q r s t u v w x y z
1001 1002
1002To input two-letter words, you have two ways. One way is to type 4 1003To input two-letter words, you have two ways. One way is to type 4
1003keys, two for the first Pinyin, two for the second Pinyin. For 1004keys, two for the first Pinyin, two for the second Pinyin. For
1004instance, \"vsgo\" inputs 中国. Another way is to type 3 keys: 2 1005instance, \"vsgo\" inputs $AVP9z(B. Another way is to type 3 keys: 2
1005initials of two letters, and quote ('). For instance, \"vg'\" also 1006initials of two letters, and quote ('). For instance, \"vg'\" also
1006inputs 中国. 1007inputs $AVP9z(B.
1007 1008
1008To input three-letter words, you type 4 keys: initials of three 1009To input three-letter words, you type 4 keys: initials of three
1009letters, and the last is quote ('). For instance, \"bjy'2\" inputs 1010letters, and the last is quote ('). For instance, \"bjy'2\" inputs $A11(B
1010京鸭 (the last `2' is to select one of the candidates). 1011$A>)Q<(B (the last `2' is to select one of the candidates).
1011 1012
1012To input words of more than three letters, you type 4 keys, initials 1013To input words of more than three letters, you type 4 keys, initials
1013of the first three letters and the last letter. For instance, 1014of the first three letters and the last letter. For instance,
1014\"bjdt\" inputs 北京电视台. 1015\"bjdt\" inputs $A11>)5gJSL((B.
1015 1016
1016To input symbols and punctuation, type `/' followed by one of `a' to 1017To input symbols and punctuation, type `/' followed by one of `a' to
1017`z', then select one of the candidates.")) 1018`z', then select one of the candidates."))
@@ -1058,7 +1059,7 @@ To input symbols and punctuation, type `/' followed by one of `a' to
1058 ;; which the file is converted have no Big5 equivalent. Go 1059 ;; which the file is converted have no Big5 equivalent. Go
1059 ;; through and delete them. 1060 ;; through and delete them.
1060 (goto-char pos) 1061 (goto-char pos)
1061 (while (search-forward "" nil t) 1062 (while (search-forward "$(0!{(B" nil t)
1062 (delete-char -1)) 1063 (delete-char -1))
1063 ;; Uppercase keys in dictionary need to be downcased. Backslashes 1064 ;; Uppercase keys in dictionary need to be downcased. Backslashes
1064 ;; at the beginning of keys need to be turned into double 1065 ;; 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
1082 1083
1083(defun ctlau-gb-converter (dicbuf) 1084(defun ctlau-gb-converter (dicbuf)
1084 (ctlau-converter dicbuf 1085 (ctlau-converter dicbuf
1085"汉字输入∷刘锡祥式粤音∷ 1086"$A::WVJdHk!KAuN}OiJ=TARt!K(B
1086 1087
1087 刘锡祥式粤语注音方案 1088 $AAuN}OiJ=TASoW"Rt7=08(B
1088 Sidney Lau's Cantonese transcription scheme as described in his book 1089 Sidney Lau's Cantonese transcription scheme as described in his book
1089 \"Elementary Cantonese\", The Government Printer, Hong Kong, 1972. 1090 \"Elementary Cantonese\", The Government Printer, Hong Kong, 1972.
1090 This file was prepared by Fung Fung Lee (李枫峰). 1091 This file was prepared by Fung Fung Lee ($A@n7c7e(B).
1091 Originally converted from CTCPS3.tit 1092 Originally converted from CTCPS3.tit
1092 Last modified: June 2, 1993. 1093 Last modified: June 2, 1993.
1093 1094
1094 Some infrequent GB characters are accessed by typing \\, followed by 1095 Some infrequent GB characters are accessed by typing \\, followed by
1095 the Cantonese romanization of the respective radical (部首).")) 1096 the Cantonese romanization of the respective radical ($A2?JW(B)."))
1096 1097
1097(defun ctlau-b5-converter (dicbuf) 1098(defun ctlau-b5-converter (dicbuf)
1098 (ctlau-converter dicbuf 1099 (ctlau-converter dicbuf
1099"漢字輸入:劉錫祥式粵音: 1100"$(0KH)tTT&,!(N,Tg>A*#Gn5x!((B
1100 1101
1101 劉錫祥式粵語注音方案 1102 $(0N,Tg>A*#GnM$0D5x'J7{(B
1102 Sidney Lau's Cantonese transcription scheme as described in his book 1103 Sidney Lau's Cantonese transcription scheme as described in his book
1103 \"Elementary Cantonese\", The Government Printer, Hong Kong, 1972. 1104 \"Elementary Cantonese\", The Government Printer, Hong Kong, 1972.
1104 This file was prepared by Fung Fung Lee (李楓峰). 1105 This file was prepared by Fung Fung Lee ($(0,XFS76(B).
1105 Originally converted from CTCPS3.tit 1106 Originally converted from CTCPS3.tit
1106 Last modified: June 2, 1993. 1107 Last modified: June 2, 1993.
1107 1108
1108 Some infrequent characters are accessed by typing \\, followed by 1109 Some infrequent characters are accessed by typing \\, followed by
1109 the Cantonese romanization of the respective radical (部首).")) 1110 the Cantonese romanization of the respective radical ($(0?f5}(B)."))
1110 1111
1111(declare-function dos-8+3-filename "dos-fns.el" (filename)) 1112(declare-function dos-8+3-filename "dos-fns.el" (filename))
1112 1113