* Re: master 3fc859d: Go back to iso-2022-7bit for titdic-cnv.el again
[not found] ` <20200105203053.36B932105B@vcs0.savannah.gnu.org>
@ 2020-01-05 20:55 ` Stefan Monnier
2020-01-06 17:07 ` Eli Zaretskii
0 siblings, 1 reply; 7+ messages in thread
From: Stefan Monnier @ 2020-01-05 20:55 UTC (permalink / raw)
To: emacs-devel; +Cc: Paul Eggert
> 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
FWIW, when I converted it to utf-8, I (tried to) make sure the generated
.elc files were bit-for-bit identical. Looking at the URL you mention,
I don't see any concrete example of a problem introduced by utf-8.
IOW, AFAICT, if you run the code from titdic-cnv.el maybe some of the
results will be different but maybe not when you run it from
titdic-cnv.elc. Or at least when I tested it, those differences got
lost somewhere, probably when we byte-compiled some of the files. If my
analysis is right, this has been the case for many years (probably since
Emacs-23).
If there really is a concrete difference, then I think we should add
a test for it (and find a better fix that still lets us use utf-8 ;-).
And if there isn't, then I'd much prefer that we revert to utf-8-emacs
(as it stands, this is the one and only bundled Elisp file that needs
a non-nil load-source-file-function).
Stefan
> admin/notes/unicode | 10 +-
> lisp/international/titdic-cnv.el | 237 ++++++++++++++++++++-------------------
> 2 files changed, 128 insertions(+), 119 deletions(-)
>
> diff --git a/admin/notes/unicode b/admin/notes/unicode
> index 6cb1b76..1e41859 100644
> --- a/admin/notes/unicode
> +++ b/admin/notes/unicode
> @@ -256,11 +256,19 @@ nontrivial changes to the build process.
>
> 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
>
> These files contain characters that cannot be encoded in UTF-8.
>
> - lisp/international/titdic-cnv.el
> lisp/language/ethio-util.el
> lisp/language/ethiopic.el
> lisp/language/ind-util.el
> diff --git a/lisp/international/titdic-cnv.el b/lisp/international/titdic-cnv.el
> index e95e399..02d1e2a 100644
> --- a/lisp/international/titdic-cnv.el
> +++ b/lisp/international/titdic-cnv.el
> @@ -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) 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
> @@ -83,9 +83,9 @@
> ;; how to select a translation from a list of candidates.
>
> (defvar quail-cxterm-package-ext-info
> - '(("chinese-4corner" "四角")
> - ("chinese-array30" "30")
> - ("chinese-ccdospy" "缩拼"
> + '(("chinese-4corner" "$(0(?-F(B")
> + ("chinese-array30" "$(0#R#O(B")
> + ("chinese-ccdospy" "$AKuF4(B"
> "Pinyin base input method for Chinese charset GB2312 (`chinese-gb2312').
>
> 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
> 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
> 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
> 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
> input method `chinese-qj'.")
>
> - ("chinese-ecdict" "英漢"
> + ("chinese-ecdict" "$(05CKH(B"
> "In this input method, you enter a Chinese (Big5) character or word
> by typing the corresponding English word. For example, if you type
> -\"computer\", \"電腦\" is input.
> +\"computer\", \"$(0IZH+(B\" is input.
>
> \\<quail-translation-docstring>")
>
> - ("chinese-etzy" "倚注"
> + ("chinese-etzy" "$(06/0D(B"
> "Zhuyin base input method for Chinese Big5 characters (`chinese-big5-1',
> `chinese-big5-2').
>
> @@ -122,20 +122,20 @@ compose one Chinese character.
>
> In this input method, you enter a Chinese character by first typing
> keys corresponding to Zhuyin symbols (see the above table) followed by
> -SPC, 1, 2, 3, or 4 specifying a tone (SPC:陰平, 1:輕聲, 2:陽平, 3: 上聲,
> -4:去聲).
> +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:$(0(+Vy(B).
>
> \\<quail-translation-docstring>")
>
> - ("chinese-punct-b5" "標B"
> + ("chinese-punct-b5" "$(0O:(BB"
> "Input method for Chinese punctuation and symbols of Big5
> \(`chinese-big5-1' and `chinese-big5-2').")
>
> - ("chinese-punct" "标G"
> + ("chinese-punct" "$A1j(BG"
> "Input method for Chinese punctuation and symbols of GB2312
> \(`chinese-gb2312').")
>
> - ("chinese-py-b5" "拼B"
> + ("chinese-py-b5" "$(03<(BB"
> "Pinyin base input method for Chinese Big5 characters
> \(`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
> 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').
>
> In this input method, you enter a Chinese character by typing two
> -keys. The first key corresponds to the first (首) radical, the second
> -key corresponds to the last (尾) radical. The correspondence of keys
> +keys. The first key corresponds to the first ($AJW(B) radical, the second
> +key corresponds to the last ($AN2(B) radical. The correspondence of keys
> and radicals is as below:
>
> 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
> - 心 冖 尸 丶 火 口 扌 氵 讠 艹 亻 木 礻 饣 月 纟 石 王 八 丿 日 辶 犭 竹 一 人
> + $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:
> 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>")
>
> - ("chinese-tonepy" "调拼"
> + ("chinese-tonepy" "$A5wF4(B"
> "Pinyin base input method for Chinese charset GB2312 (`chinese-gb2312').
>
> 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
> 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>
>
> -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
> the third character from the candidate list.
>
> For double-width GB2312 characters corresponding to ASCII, use the
> input method `chinese-qj'.")
>
> - ("chinese-zozy" "零注"
> + ("chinese-zozy" "$(0I\0D(B"
> "Zhuyin base input method for Chinese Big5 characters (`chinese-big5-1',
> `chinese-big5-2').
>
> @@ -203,8 +203,8 @@ compose a Chinese character.
>
> In this input method, you enter a Chinese character by first typing
> keys corresponding to Zhuyin symbols (see the above table) followed by
> -SPC, 6, 3, 4, or 7 specifying a tone (SPC:陰平, 6:陽平, 3:上聲, 4:去聲,
> -7:輕聲).
> +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:$(0M=Vy(B).
>
> \\<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 "\" \"")
> (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))
> tit-prompt)))
> (princ "\"\n"))
> @@ -580,7 +580,7 @@ To get complete usage, invoke \"emacs -batch -f batch-titdic-convert -h\"."
> ;; )
>
> (defvar quail-misc-package-ext-info
> - '(("chinese-b5-tsangchi" "倉B"
> + '(("chinese-b5-tsangchi" "$(06A(BB"
> "cangjie-table.b5" big5 "tsang-b5.el"
> 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
> ;; # this notice is preserved.")
>
> - ("chinese-b5-quick" "簡B"
> + ("chinese-b5-quick" "$(0X|(BB"
> "cangjie-table.b5" big5 "quick-b5.el"
> 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
> ;; # this notice is preserved.")
>
> - ("chinese-cns-tsangchi" "倉C"
> + ("chinese-cns-tsangchi" "$(GT?(BC"
> "cangjie-table.cns" iso-2022-cn-ext "tsang-cns.el"
> 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
> ;; # this notice is preserved.")
>
> - ("chinese-cns-quick" "簡C"
> + ("chinese-cns-quick" "$(Gv|(BC"
> "cangjie-table.cns" iso-2022-cn-ext "quick-cns.el"
> 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
> ;; # this notice is preserved.")
>
> - ("chinese-py" "拼G"
> + ("chinese-py" "$AF4(BG"
> "pinyin.map" cn-gb-2312 "PY.el"
> 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
> ;; CCE. If not, see <https://www.gnu.org/licenses/>.")
>
> - ("chinese-ziranma" "自然"
> + ("chinese-ziranma" "$AWTH;(B"
> "ziranma.cin" cn-gb-2312 "ZIRANMA.el"
> 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
> ;; CCE. If not, see <https://www.gnu.org/licenses/>.")
>
> - ("chinese-ctlau" "刘粤"
> + ("chinese-ctlau" "$AAuTA(B"
> "CTLau.html" cn-gb-2312 "CTLau.el"
> 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
> ;; # 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-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
> ;; Quail package is NAME, and the title string is TITLE.
>
> -;; TSANG-P is non-nil, generate 倉頡 input method. Otherwise
> -;; generate 簡易 (simple version of 倉頡). If BIG5-P is non-nil, the
> +;; TSANG-P is non-nil, generate $(06AQo(B input method. Otherwise
> +;; 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
> ;; method is for inputting CNS characters.
>
> -(defun tsang-quick-converter (dicbuf tsang-p big5-p)
> - (let ((fulltitle (if tsang-p "倉頡" "簡易"))
> +(defun tsang-quick-converter (dicbuf name title tsang-p big5-p)
> + (let ((fulltitle (if tsang-p (if big5-p "$(06AQo(B" "$(GT?on(B")
> + (if big5-p "$(0X|/y(B" "$(Gv|Mx(B")))
> dic)
> (goto-char (point-max))
> (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"
> 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"
> 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))))))
> (dolist (elt dic)
> (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")
> + ("|" "$(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")
> + ("~" "$(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")
> + ("-" "$(0!7!9"#"$"1"@(B" "$(G!7!9"#"$"1"@(B")
> + ("_" "$(0"%"&(B" "$(G"%"&(B")
> + ("=" "$(0"8"C(B" "$(G"8"C(B")
> + ("+" "$(0"0"?(B" "$(G"0"?(B"))))
> (dolist (elt punctuation)
> (insert (format "(%S %S)\n" (concat "z" (car 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)
> (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').
>
> @@ -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
>
> (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
> entering its pinyin spelling.
>
> \\<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
> contains at most 10 characters), \"3\" select the third character in
> that group.
> @@ -957,22 +958,22 @@ method `chinese-tonepy' with which you must specify tones by digits
> table)))
> (setq dic (sort dic (function (lambda (x y) (string< (car x) (car y))))))
> (goto-char (point-max))
> - (insert (format "%S\n" "汉字输入∷【自然】∷
> -
> - 键盘对照表:
> - ┏━━┳━━┳━━┳━━┳━━┳━━┳━━┳━━┳━━┳━━┓
> - ┃Q ┃W ┃E ┃R ┃T ┃Y ┃Ush┃Ich┃O ┃P ┃
> - ┃ iu┃ ua┃ e┃ uan┃ ue┃ uai┃ u┃ i┃ o┃ un┃
> - ┃ ┃ ia┃ ┃ van┃ ve┃ ing┃ ┃ ┃ uo┃ vn┃
> - ┗┳━┻┳━┻┳━┻┳━┻┳━┻┳━┻┳━┻┳━┻┳━┻┳━┛
> - ┃A ┃S ┃D ┃F ┃G ┃H ┃J ┃K ┃L ┃
> - ┃ a┃iong┃uang┃ en┃ eng┃ ang┃ an┃ ao┃ ai┃
> - ┃ ┃ ong┃iang┃ ┃ ng┃ ┃ ┃ ┃ ┃
> - ┗┳━┻┳━┻┳━┻┳━┻┳━┻┳━┻┳━┻┳━┻┳━┻┳━━┓
> - ┃Z ┃X ┃C ┃Vzh┃B ┃N ┃M ┃, ┃. ┃ / ┃
> - ┃ ei┃ ie┃ iao┃ ui┃ ou┃ in┃ ian┃前页┃后页┃符号┃
> - ┃ ┃ ┃ ┃ v┃ ┃ ┃ ┃ ┃ ┃ ┃
> - ┗━━┻━━┻━━┻━━┻━━┻━━┻━━┻━━┻━━┻━━┛
> + (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
> + $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
> + $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
> + $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
> + $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
> + $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
> + $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
> + $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
> + $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').
> @@ -984,34 +985,34 @@ method `chinese-py'.
> Unlike the standard spelling of Pinyin, in this input method all
> 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
> -\"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.
>
> \\<quail-translation-docstring>
>
> 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
> -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.
>
> - 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
> - 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
>
> 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
> -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
> -inputs 中国.
> +inputs $AVP9z(B.
>
> To input three-letter words, you type 4 keys: initials of three
> -letters, and the last is quote ('). For instance, \"bjy'2\" inputs 北
> -京鸭 (the last `2' is to select one of the candidates).
> +letters, and the last is quote ('). For instance, \"bjy'2\" inputs $A11(B
> +$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
> 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
> `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
> ;; through and delete them.
> (goto-char pos)
> - (while (search-forward "□" nil t)
> + (while (search-forward "$(0!{(B" nil t)
> (delete-char -1))
> ;; Uppercase keys in dictionary need to be downcased. Backslashes
> ;; 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)
> (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
> \"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
> Last modified: June 2, 1993.
>
> 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)
> (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
> \"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
> Last modified: June 2, 1993.
>
> 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))
>
^ permalink raw reply [flat|nested] 7+ messages in thread