Mercurial > emacs
annotate leim/quail/tibetan.el @ 80507:65aec0fc638d
Docstring change.
author | Stefan Monnier <monnier@iro.umontreal.ca> |
---|---|
date | Sat, 12 Apr 2008 05:17:39 +0000 |
parents | 3ca83a726835 |
children | 606f2d163a64 |
rev | line source |
---|---|
38453
519983161a46
Some fixes to follow lisp coding conventions and typo fixes.
Pavel Janík <Pavel@Janik.cz>
parents:
29594
diff
changeset
|
1 ;;; tibetan.el --- Quail package for inputting Tibetan characters |
18968 | 2 |
79727 | 3 ;; Copyright (C) 1997, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008 |
75253
f5f322eb227f
Update copyright for years from Emacs 21 to present.
Glenn Morris <rgm@gnu.org>
parents:
74605
diff
changeset
|
4 ;; Free Software Foundation, Inc. |
f5f322eb227f
Update copyright for years from Emacs 21 to present.
Glenn Morris <rgm@gnu.org>
parents:
74605
diff
changeset
|
5 ;; Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, |
79727 | 6 ;; 2006, 2007, 2008 |
67657 | 7 ;; National Institute of Advanced Industrial Science and Technology (AIST) |
8 ;; Registration Number H14PRO021 | |
18968 | 9 |
10 ;; Keywords: multilingual, input method, Tibetan | |
11 | |
12 ;; This file is part of GNU Emacs. | |
13 | |
14 ;; GNU Emacs is free software; you can redistribute it and/or modify | |
15 ;; it under the terms of the GNU General Public License as published by | |
78308
126deea128b3
Restore comma mistakenly removed in last change.
Glenn Morris <rgm@gnu.org>
parents:
78303
diff
changeset
|
16 ;; the Free Software Foundation; either version 3, or (at your option) |
18968 | 17 ;; any later version. |
18 | |
19 ;; GNU Emacs is distributed in the hope that it will be useful, | |
20 ;; but WITHOUT ANY WARRANTY; without even the implied warranty of | |
21 ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
22 ;; GNU General Public License for more details. | |
23 | |
24 ;; You should have received a copy of the GNU General Public License | |
25 ;; along with GNU Emacs; see the file COPYING. If not, write to | |
64092 | 26 ;; the Free Software Foundation, 51 Franklin Street, Fifth Floor, |
27 ;; Boston, MA 02110-1301, USA. | |
18968 | 28 |
29 ;; Author: Toru TOMABECHI, <Toru.Tomabechi@orient.unil.ch> | |
30 | |
31 ;; Created: Feb. 17. 1997 | |
32 | |
33 ;; History: | |
34 ;; 1997.03.13 Support for inputting special signs and punctuations added. | |
35 ;; (Only Ext. Wylie input) | |
36 | |
38453
519983161a46
Some fixes to follow lisp coding conventions and typo fixes.
Pavel Janík <Pavel@Janik.cz>
parents:
29594
diff
changeset
|
37 ;;; Commentary: |
519983161a46
Some fixes to follow lisp coding conventions and typo fixes.
Pavel Janík <Pavel@Janik.cz>
parents:
29594
diff
changeset
|
38 |
18968 | 39 ;;; Code: |
40 | |
41 (require 'quail) | |
26881
cd1cb9bf30e1
Rewritten for new composition.
Kenichi Handa <handa@m17n.org>
parents:
23170
diff
changeset
|
42 (require 'tibet-util) |
18968 | 43 |
26881
cd1cb9bf30e1
Rewritten for new composition.
Kenichi Handa <handa@m17n.org>
parents:
23170
diff
changeset
|
44 ;; Now quail-current-key is set to Tibetan-Roman transcription. We |
cd1cb9bf30e1
Rewritten for new composition.
Kenichi Handa <handa@m17n.org>
parents:
23170
diff
changeset
|
45 ;; set quail-current-str to the corresponding Tibetan string (composed |
cd1cb9bf30e1
Rewritten for new composition.
Kenichi Handa <handa@m17n.org>
parents:
23170
diff
changeset
|
46 ;; if necessary). Both Wylie and TibKey input methods use this |
cd1cb9bf30e1
Rewritten for new composition.
Kenichi Handa <handa@m17n.org>
parents:
23170
diff
changeset
|
47 ;; function. |
18968 | 48 |
26881
cd1cb9bf30e1
Rewritten for new composition.
Kenichi Handa <handa@m17n.org>
parents:
23170
diff
changeset
|
49 (defun quail-tibetan-update-translation (control-flag) |
cd1cb9bf30e1
Rewritten for new composition.
Kenichi Handa <handa@m17n.org>
parents:
23170
diff
changeset
|
50 (if (numberp control-flag) |
cd1cb9bf30e1
Rewritten for new composition.
Kenichi Handa <handa@m17n.org>
parents:
23170
diff
changeset
|
51 ;; Non-composable-character typed. |
cd1cb9bf30e1
Rewritten for new composition.
Kenichi Handa <handa@m17n.org>
parents:
23170
diff
changeset
|
52 (setq quail-current-str |
cd1cb9bf30e1
Rewritten for new composition.
Kenichi Handa <handa@m17n.org>
parents:
23170
diff
changeset
|
53 (buffer-substring (overlay-start quail-overlay) |
cd1cb9bf30e1
Rewritten for new composition.
Kenichi Handa <handa@m17n.org>
parents:
23170
diff
changeset
|
54 (overlay-end quail-overlay)) |
cd1cb9bf30e1
Rewritten for new composition.
Kenichi Handa <handa@m17n.org>
parents:
23170
diff
changeset
|
55 unread-command-events |
cd1cb9bf30e1
Rewritten for new composition.
Kenichi Handa <handa@m17n.org>
parents:
23170
diff
changeset
|
56 (string-to-list |
cd1cb9bf30e1
Rewritten for new composition.
Kenichi Handa <handa@m17n.org>
parents:
23170
diff
changeset
|
57 (substring quail-current-key control-flag))) |
cd1cb9bf30e1
Rewritten for new composition.
Kenichi Handa <handa@m17n.org>
parents:
23170
diff
changeset
|
58 ;; Special treatment of "-d..." and "-y...". |
cd1cb9bf30e1
Rewritten for new composition.
Kenichi Handa <handa@m17n.org>
parents:
23170
diff
changeset
|
59 (if (string-match "^-[dy]" quail-current-key) |
cd1cb9bf30e1
Rewritten for new composition.
Kenichi Handa <handa@m17n.org>
parents:
23170
diff
changeset
|
60 (setq quail-current-key (substring quail-current-key 1))) |
cd1cb9bf30e1
Rewritten for new composition.
Kenichi Handa <handa@m17n.org>
parents:
23170
diff
changeset
|
61 (let ((str (tibetan-transcription-to-tibetan quail-current-key))) |
cd1cb9bf30e1
Rewritten for new composition.
Kenichi Handa <handa@m17n.org>
parents:
23170
diff
changeset
|
62 ;; If quail-current-key is for punctuations, it can't be |
cd1cb9bf30e1
Rewritten for new composition.
Kenichi Handa <handa@m17n.org>
parents:
23170
diff
changeset
|
63 ;; transcribed by tibetan-transcription-to-tibetan, thus STR |
cd1cb9bf30e1
Rewritten for new composition.
Kenichi Handa <handa@m17n.org>
parents:
23170
diff
changeset
|
64 ;; contains ASCII string now. In that case, use the current |
cd1cb9bf30e1
Rewritten for new composition.
Kenichi Handa <handa@m17n.org>
parents:
23170
diff
changeset
|
65 ;; characters set in quail-current-str. |
cd1cb9bf30e1
Rewritten for new composition.
Kenichi Handa <handa@m17n.org>
parents:
23170
diff
changeset
|
66 (if (> (aref str 0) 255) |
cd1cb9bf30e1
Rewritten for new composition.
Kenichi Handa <handa@m17n.org>
parents:
23170
diff
changeset
|
67 (setq quail-current-str (tibetan-compose-string str)) |
cd1cb9bf30e1
Rewritten for new composition.
Kenichi Handa <handa@m17n.org>
parents:
23170
diff
changeset
|
68 (or quail-current-str |
cd1cb9bf30e1
Rewritten for new composition.
Kenichi Handa <handa@m17n.org>
parents:
23170
diff
changeset
|
69 (setq quail-current-str quail-current-key))))) |
cd1cb9bf30e1
Rewritten for new composition.
Kenichi Handa <handa@m17n.org>
parents:
23170
diff
changeset
|
70 control-flag) |
18968 | 71 |
26881
cd1cb9bf30e1
Rewritten for new composition.
Kenichi Handa <handa@m17n.org>
parents:
23170
diff
changeset
|
72 ;;; Wylie transcription based input methods. |
cd1cb9bf30e1
Rewritten for new composition.
Kenichi Handa <handa@m17n.org>
parents:
23170
diff
changeset
|
73 |
cd1cb9bf30e1
Rewritten for new composition.
Kenichi Handa <handa@m17n.org>
parents:
23170
diff
changeset
|
74 ;; Special alist for `$(7"A(B'. It must be treated as a subjoined |
cd1cb9bf30e1
Rewritten for new composition.
Kenichi Handa <handa@m17n.org>
parents:
23170
diff
changeset
|
75 ;; consonant if it follows a consonant. |
29594
a03c00e0dc04
(tibetan-wylie-quote-alist): This variable deleted.
Kenichi Handa <handa@m17n.org>
parents:
26881
diff
changeset
|
76 ;; * Removed by Tomabechi 2000/06/10 * |
a03c00e0dc04
(tibetan-wylie-quote-alist): This variable deleted.
Kenichi Handa <handa@m17n.org>
parents:
26881
diff
changeset
|
77 ;; 'a chung must be explicitly typed as a vowel ("fa") |
a03c00e0dc04
(tibetan-wylie-quote-alist): This variable deleted.
Kenichi Handa <handa@m17n.org>
parents:
26881
diff
changeset
|
78 ;; $(7"A(B is now treated as normal base consonants |
a03c00e0dc04
(tibetan-wylie-quote-alist): This variable deleted.
Kenichi Handa <handa@m17n.org>
parents:
26881
diff
changeset
|
79 ;; (defconst tibetan-wylie-quote-alist '(("'" . ?$(7"A(B))) |
26881
cd1cb9bf30e1
Rewritten for new composition.
Kenichi Handa <handa@m17n.org>
parents:
23170
diff
changeset
|
80 |
cd1cb9bf30e1
Rewritten for new composition.
Kenichi Handa <handa@m17n.org>
parents:
23170
diff
changeset
|
81 ;; Special alist to avoid default stacking. |
cd1cb9bf30e1
Rewritten for new composition.
Kenichi Handa <handa@m17n.org>
parents:
23170
diff
changeset
|
82 (defconst tibetan-wylie-non-stacking-alist |
cd1cb9bf30e1
Rewritten for new composition.
Kenichi Handa <handa@m17n.org>
parents:
23170
diff
changeset
|
83 '(("-d" . "$(7"2(B") |
cd1cb9bf30e1
Rewritten for new composition.
Kenichi Handa <handa@m17n.org>
parents:
23170
diff
changeset
|
84 ("-y" . "$(7"B(B"))) |
18968 | 85 |
26881
cd1cb9bf30e1
Rewritten for new composition.
Kenichi Handa <handa@m17n.org>
parents:
23170
diff
changeset
|
86 ;; Punctuations are not transcribed. |
18968 | 87 |
26881
cd1cb9bf30e1
Rewritten for new composition.
Kenichi Handa <handa@m17n.org>
parents:
23170
diff
changeset
|
88 (defconst tibetan-wylie-punctuation-alist |
cd1cb9bf30e1
Rewritten for new composition.
Kenichi Handa <handa@m17n.org>
parents:
23170
diff
changeset
|
89 '(("." . " ") |
29594
a03c00e0dc04
(tibetan-wylie-quote-alist): This variable deleted.
Kenichi Handa <handa@m17n.org>
parents:
26881
diff
changeset
|
90 (":" . "$(7"`(B") |
a03c00e0dc04
(tibetan-wylie-quote-alist): This variable deleted.
Kenichi Handa <handa@m17n.org>
parents:
26881
diff
changeset
|
91 (" " . "$(7!;(B") |
a03c00e0dc04
(tibetan-wylie-quote-alist): This variable deleted.
Kenichi Handa <handa@m17n.org>
parents:
26881
diff
changeset
|
92 ("/" . "$(7!=(B") |
26881
cd1cb9bf30e1
Rewritten for new composition.
Kenichi Handa <handa@m17n.org>
parents:
23170
diff
changeset
|
93 ("//" . "$(7!>(B") |
cd1cb9bf30e1
Rewritten for new composition.
Kenichi Handa <handa@m17n.org>
parents:
23170
diff
changeset
|
94 ("////" . ["$(7!>(B $(7!>(B"]) |
29594
a03c00e0dc04
(tibetan-wylie-quote-alist): This variable deleted.
Kenichi Handa <handa@m17n.org>
parents:
26881
diff
changeset
|
95 ("$" . "$(7!?(B") |
a03c00e0dc04
(tibetan-wylie-quote-alist): This variable deleted.
Kenichi Handa <handa@m17n.org>
parents:
26881
diff
changeset
|
96 ("/\"" . "$(7!@(B") ; Not defined in Ext. Wylie. |
a03c00e0dc04
(tibetan-wylie-quote-alist): This variable deleted.
Kenichi Handa <handa@m17n.org>
parents:
26881
diff
changeset
|
97 ("&" . "$(7!@(B") |
a03c00e0dc04
(tibetan-wylie-quote-alist): This variable deleted.
Kenichi Handa <handa@m17n.org>
parents:
26881
diff
changeset
|
98 (";" . "$(7!A(B") |
a03c00e0dc04
(tibetan-wylie-quote-alist): This variable deleted.
Kenichi Handa <handa@m17n.org>
parents:
26881
diff
changeset
|
99 ("%" . "$(7!D(B") |
26881
cd1cb9bf30e1
Rewritten for new composition.
Kenichi Handa <handa@m17n.org>
parents:
23170
diff
changeset
|
100 ("!" . "$(7!8(B") |
cd1cb9bf30e1
Rewritten for new composition.
Kenichi Handa <handa@m17n.org>
parents:
23170
diff
changeset
|
101 ("<" . "$(7!l(B") |
cd1cb9bf30e1
Rewritten for new composition.
Kenichi Handa <handa@m17n.org>
parents:
23170
diff
changeset
|
102 (">" . "$(7!m(B") |
cd1cb9bf30e1
Rewritten for new composition.
Kenichi Handa <handa@m17n.org>
parents:
23170
diff
changeset
|
103 ("@" . "$(7"f(B") |
cd1cb9bf30e1
Rewritten for new composition.
Kenichi Handa <handa@m17n.org>
parents:
23170
diff
changeset
|
104 ("*" . ["$(7!4!5(B"]) |
cd1cb9bf30e1
Rewritten for new composition.
Kenichi Handa <handa@m17n.org>
parents:
23170
diff
changeset
|
105 ("#" . ["$(7!4!5!5(B"]) |
cd1cb9bf30e1
Rewritten for new composition.
Kenichi Handa <handa@m17n.org>
parents:
23170
diff
changeset
|
106 ("^" . "$(7!6(B") |
cd1cb9bf30e1
Rewritten for new composition.
Kenichi Handa <handa@m17n.org>
parents:
23170
diff
changeset
|
107 ("0" . "$(7!P(B") |
cd1cb9bf30e1
Rewritten for new composition.
Kenichi Handa <handa@m17n.org>
parents:
23170
diff
changeset
|
108 ("1" . "$(7!Q(B") |
cd1cb9bf30e1
Rewritten for new composition.
Kenichi Handa <handa@m17n.org>
parents:
23170
diff
changeset
|
109 ("2" . "$(7!R(B") |
cd1cb9bf30e1
Rewritten for new composition.
Kenichi Handa <handa@m17n.org>
parents:
23170
diff
changeset
|
110 ("3" . "$(7!S(B") |
cd1cb9bf30e1
Rewritten for new composition.
Kenichi Handa <handa@m17n.org>
parents:
23170
diff
changeset
|
111 ("4" . "$(7!T(B") |
cd1cb9bf30e1
Rewritten for new composition.
Kenichi Handa <handa@m17n.org>
parents:
23170
diff
changeset
|
112 ("5" . "$(7!U(B") |
cd1cb9bf30e1
Rewritten for new composition.
Kenichi Handa <handa@m17n.org>
parents:
23170
diff
changeset
|
113 ("6" . "$(7!V(B") |
cd1cb9bf30e1
Rewritten for new composition.
Kenichi Handa <handa@m17n.org>
parents:
23170
diff
changeset
|
114 ("7" . "$(7!W(B") |
cd1cb9bf30e1
Rewritten for new composition.
Kenichi Handa <handa@m17n.org>
parents:
23170
diff
changeset
|
115 ("8" . "$(7!X(B") |
cd1cb9bf30e1
Rewritten for new composition.
Kenichi Handa <handa@m17n.org>
parents:
23170
diff
changeset
|
116 ("9" . "$(7!Y(B") |
cd1cb9bf30e1
Rewritten for new composition.
Kenichi Handa <handa@m17n.org>
parents:
23170
diff
changeset
|
117 ("-0" . "$(7!c(B") |
cd1cb9bf30e1
Rewritten for new composition.
Kenichi Handa <handa@m17n.org>
parents:
23170
diff
changeset
|
118 ("-1" . "$(7!Z(B") |
cd1cb9bf30e1
Rewritten for new composition.
Kenichi Handa <handa@m17n.org>
parents:
23170
diff
changeset
|
119 ("-2" . "$(7![(B") |
cd1cb9bf30e1
Rewritten for new composition.
Kenichi Handa <handa@m17n.org>
parents:
23170
diff
changeset
|
120 ("-3" . "$(7!\(B") |
cd1cb9bf30e1
Rewritten for new composition.
Kenichi Handa <handa@m17n.org>
parents:
23170
diff
changeset
|
121 ("-4" . "$(7!](B") |
cd1cb9bf30e1
Rewritten for new composition.
Kenichi Handa <handa@m17n.org>
parents:
23170
diff
changeset
|
122 ("-5" . "$(7!^(B") |
cd1cb9bf30e1
Rewritten for new composition.
Kenichi Handa <handa@m17n.org>
parents:
23170
diff
changeset
|
123 ("-6" . "$(7!_(B") |
cd1cb9bf30e1
Rewritten for new composition.
Kenichi Handa <handa@m17n.org>
parents:
23170
diff
changeset
|
124 ("-7" . "$(7!`(B") |
cd1cb9bf30e1
Rewritten for new composition.
Kenichi Handa <handa@m17n.org>
parents:
23170
diff
changeset
|
125 ("-8" . "$(7!a(B") |
cd1cb9bf30e1
Rewritten for new composition.
Kenichi Handa <handa@m17n.org>
parents:
23170
diff
changeset
|
126 ("-9" . "$(7!b(B") |
29594
a03c00e0dc04
(tibetan-wylie-quote-alist): This variable deleted.
Kenichi Handa <handa@m17n.org>
parents:
26881
diff
changeset
|
127 ("|" . "$(7!0!1!2!3!7!9!:!B!C!E!F!G!H!I!J!K!L!M!N!O!d!f!h!j!k!n!o#O#P#Q#R#S#T#U#V#W#X#Y#Z#[#\#]#`(B"))) |
18968 | 128 |
129 (quail-define-package "tibetan-wylie" "Tibetan" "TIBw" t | |
130 "Tibetan character input by Extended Wylie key assignment. | |
131 | |
132 +-------------------------------------+ | |
29594
a03c00e0dc04
(tibetan-wylie-quote-alist): This variable deleted.
Kenichi Handa <handa@m17n.org>
parents:
26881
diff
changeset
|
133 |$(7"!!;(B k |$(7""!;(B kh |$(7"#!;(B g |$(7"$!;(B gh |$(7"%!;(B ng| $(7"S(B i $(7!=(B / |
a03c00e0dc04
(tibetan-wylie-quote-alist): This variable deleted.
Kenichi Handa <handa@m17n.org>
parents:
26881
diff
changeset
|
134 |$(7"&!;(B c |$(7"'!;(B ch |$(7"(!;(B j | |$(7"*!;(B ny| $(7"U(B u $(7!>(B // |
a03c00e0dc04
(tibetan-wylie-quote-alist): This variable deleted.
Kenichi Handa <handa@m17n.org>
parents:
26881
diff
changeset
|
135 |$(7"+!;(B T |$(7",!;(B TH |$(7"-!;(B D |$(7".!;(B DH |$(7"/!;(B N | $(7"[(B e $(7!>(B $(7!>(B //// |
a03c00e0dc04
(tibetan-wylie-quote-alist): This variable deleted.
Kenichi Handa <handa@m17n.org>
parents:
26881
diff
changeset
|
136 |$(7"0!;(B t |$(7"1!;(B th |$(7"2!;(B d |$(7"3!;(B dh |$(7"4!;(B n | $(7"](B o $(7!A(B ; |
a03c00e0dc04
(tibetan-wylie-quote-alist): This variable deleted.
Kenichi Handa <handa@m17n.org>
parents:
26881
diff
changeset
|
137 |$(7"5!;(B p |$(7"6!;(B ph |$(7"7!;(B b |$(7"8!;(B bh |$(7"9!;(B m | $(7"\(B ai (ee, E) $(7!?(B $ |
a03c00e0dc04
(tibetan-wylie-quote-alist): This variable deleted.
Kenichi Handa <handa@m17n.org>
parents:
26881
diff
changeset
|
138 |$(7":!;(B ts|$(7";!;(B tsh|$(7"<!;(B dz |$(7"=!;(B dzh|$(7">!;(B w | $(7"^(B au (oo, O) $(7!@(B & |
a03c00e0dc04
(tibetan-wylie-quote-alist): This variable deleted.
Kenichi Handa <handa@m17n.org>
parents:
26881
diff
changeset
|
139 |$(7"?!;(B zh|$(7"@!;(B z |$(7"A!;(B ' | |$(7"B!;(B y | $(7"a(B I $(7!4!5(B * |
a03c00e0dc04
(tibetan-wylie-quote-alist): This variable deleted.
Kenichi Handa <handa@m17n.org>
parents:
26881
diff
changeset
|
140 |$(7"C!;(B r |$(7"D!;(B l |$(7"E!;(B sh |$(7"F!;(B SH |$(7"G!;(B s | $(7"`(B : $(7!4!5!5(B # |
a03c00e0dc04
(tibetan-wylie-quote-alist): This variable deleted.
Kenichi Handa <handa@m17n.org>
parents:
26881
diff
changeset
|
141 |$(7"H!;(B h |$(7"I!;(B A |$(7"J!;(B kSH| | | $(7"_(B M $(7!l(B $(7!m(B < > |
a03c00e0dc04
(tibetan-wylie-quote-alist): This variable deleted.
Kenichi Handa <handa@m17n.org>
parents:
26881
diff
changeset
|
142 +-------------------------------------+ $(7!D(B % |
a03c00e0dc04
(tibetan-wylie-quote-alist): This variable deleted.
Kenichi Handa <handa@m17n.org>
parents:
26881
diff
changeset
|
143 (The consonant $(7"I!;(B must be typed explicitly.) |
18968 | 144 |
145 NOT SPECIFIED IN EXT. WYLIE: | |
146 +--------------------------------------------------------+ | |
29594
a03c00e0dc04
(tibetan-wylie-quote-alist): This variable deleted.
Kenichi Handa <handa@m17n.org>
parents:
26881
diff
changeset
|
147 |$(7"c(B = ~ |$(7"d(B = ` |$(7"e(B = , |$(7"f(B = @ |$(7!g(B = _o|$(7!e(B = _O|$(7!6(B = ^| |
18968 | 148 +--------------------------------------------------------+ |
149 |$(7"i(B = x |$(7"j(B = X |$(7"g(B = v |$(7"h(B = V |$(7"k(B = q |$(7"l(B = Q | | |
150 +-----------------------------------------------+ | |
151 | |
152 SPECIAL KEYS | |
153 + : Consonant Stacking | |
154 \(Consonant stacking for ordinary Tibetan is done automatically) | |
155 - : No Consonant Stacking | |
156 \(To suppress automatic stacking for \"g-y\", | |
157 and to get da-drag in -r-d, -l-d .) | |
158 | : Special signs. | |
159 | |
160 Tsheg is assigned to SPC. Space is assigned to period '.'. | |
161 " | |
26881
cd1cb9bf30e1
Rewritten for new composition.
Kenichi Handa <handa@m17n.org>
parents:
23170
diff
changeset
|
162 nil nil nil nil nil nil nil nil |
cd1cb9bf30e1
Rewritten for new composition.
Kenichi Handa <handa@m17n.org>
parents:
23170
diff
changeset
|
163 'quail-tibetan-update-translation) |
cd1cb9bf30e1
Rewritten for new composition.
Kenichi Handa <handa@m17n.org>
parents:
23170
diff
changeset
|
164 |
cd1cb9bf30e1
Rewritten for new composition.
Kenichi Handa <handa@m17n.org>
parents:
23170
diff
changeset
|
165 ;; Here we build up a Quail map for a Tibtan sequence the whole of |
cd1cb9bf30e1
Rewritten for new composition.
Kenichi Handa <handa@m17n.org>
parents:
23170
diff
changeset
|
166 ;; which can be one composition. |
cd1cb9bf30e1
Rewritten for new composition.
Kenichi Handa <handa@m17n.org>
parents:
23170
diff
changeset
|
167 ;; |
cd1cb9bf30e1
Rewritten for new composition.
Kenichi Handa <handa@m17n.org>
parents:
23170
diff
changeset
|
168 ;; A Tibetan syllable is typically structured as follows: |
cd1cb9bf30e1
Rewritten for new composition.
Kenichi Handa <handa@m17n.org>
parents:
23170
diff
changeset
|
169 ;; [P] C [c+] V [M] [S [s]] |
cd1cb9bf30e1
Rewritten for new composition.
Kenichi Handa <handa@m17n.org>
parents:
23170
diff
changeset
|
170 ;; ^^^^^^^^^^^^ |
cd1cb9bf30e1
Rewritten for new composition.
Kenichi Handa <handa@m17n.org>
parents:
23170
diff
changeset
|
171 ;; where P:prefix, C:base consonant, c:subjoined consonant, |
cd1cb9bf30e1
Rewritten for new composition.
Kenichi Handa <handa@m17n.org>
parents:
23170
diff
changeset
|
172 ;; V:vowel, M:vowel modifier, S:suffix, s:post suffix. |
cd1cb9bf30e1
Rewritten for new composition.
Kenichi Handa <handa@m17n.org>
parents:
23170
diff
changeset
|
173 ;; In this pattern, the part indicated by "^^^" can be one composition. |
18968 | 174 |
29594
a03c00e0dc04
(tibetan-wylie-quote-alist): This variable deleted.
Kenichi Handa <handa@m17n.org>
parents:
26881
diff
changeset
|
175 ;;; modified by Tomabechi 1999/12/10 |
a03c00e0dc04
(tibetan-wylie-quote-alist): This variable deleted.
Kenichi Handa <handa@m17n.org>
parents:
26881
diff
changeset
|
176 ;;; modified by Tomabechi 2000/06/08 |
a03c00e0dc04
(tibetan-wylie-quote-alist): This variable deleted.
Kenichi Handa <handa@m17n.org>
parents:
26881
diff
changeset
|
177 ;;; Allows infinite addition of vowels/modifiers |
a03c00e0dc04
(tibetan-wylie-quote-alist): This variable deleted.
Kenichi Handa <handa@m17n.org>
parents:
26881
diff
changeset
|
178 ;;; as specified in Unicode v.3 |
26881
cd1cb9bf30e1
Rewritten for new composition.
Kenichi Handa <handa@m17n.org>
parents:
23170
diff
changeset
|
179 (quail-install-map |
cd1cb9bf30e1
Rewritten for new composition.
Kenichi Handa <handa@m17n.org>
parents:
23170
diff
changeset
|
180 (quail-map-from-table |
29594
a03c00e0dc04
(tibetan-wylie-quote-alist): This variable deleted.
Kenichi Handa <handa@m17n.org>
parents:
26881
diff
changeset
|
181 '((base-state (tibetan-consonant-transcription-alist . svm-state) |
a03c00e0dc04
(tibetan-wylie-quote-alist): This variable deleted.
Kenichi Handa <handa@m17n.org>
parents:
26881
diff
changeset
|
182 (tibetan-precomposed-transcription-alist . svm-state) |
a03c00e0dc04
(tibetan-wylie-quote-alist): This variable deleted.
Kenichi Handa <handa@m17n.org>
parents:
26881
diff
changeset
|
183 (tibetan-wylie-non-stacking-alist . svm-state) |
26881
cd1cb9bf30e1
Rewritten for new composition.
Kenichi Handa <handa@m17n.org>
parents:
23170
diff
changeset
|
184 tibetan-subjoined-transcription-alist |
cd1cb9bf30e1
Rewritten for new composition.
Kenichi Handa <handa@m17n.org>
parents:
23170
diff
changeset
|
185 tibetan-vowel-transcription-alist |
cd1cb9bf30e1
Rewritten for new composition.
Kenichi Handa <handa@m17n.org>
parents:
23170
diff
changeset
|
186 tibetan-modifier-transcription-alist |
cd1cb9bf30e1
Rewritten for new composition.
Kenichi Handa <handa@m17n.org>
parents:
23170
diff
changeset
|
187 tibetan-wylie-punctuation-alist) |
29594
a03c00e0dc04
(tibetan-wylie-quote-alist): This variable deleted.
Kenichi Handa <handa@m17n.org>
parents:
26881
diff
changeset
|
188 (svm-state ;;(tibetan-wylie-quote-alist . vm-state) |
a03c00e0dc04
(tibetan-wylie-quote-alist): This variable deleted.
Kenichi Handa <handa@m17n.org>
parents:
26881
diff
changeset
|
189 (tibetan-vowel-transcription-alist . vm-state) |
a03c00e0dc04
(tibetan-wylie-quote-alist): This variable deleted.
Kenichi Handa <handa@m17n.org>
parents:
26881
diff
changeset
|
190 (tibetan-subjoined-transcription-alist . svm-state) |
a03c00e0dc04
(tibetan-wylie-quote-alist): This variable deleted.
Kenichi Handa <handa@m17n.org>
parents:
26881
diff
changeset
|
191 (tibetan-modifier-transcription-alist . m-state)) |
a03c00e0dc04
(tibetan-wylie-quote-alist): This variable deleted.
Kenichi Handa <handa@m17n.org>
parents:
26881
diff
changeset
|
192 (vm-state (tibetan-vowel-transcription-alist . vm-state) |
a03c00e0dc04
(tibetan-wylie-quote-alist): This variable deleted.
Kenichi Handa <handa@m17n.org>
parents:
26881
diff
changeset
|
193 (tibetan-modifier-transcription-alist . m-state)) |
a03c00e0dc04
(tibetan-wylie-quote-alist): This variable deleted.
Kenichi Handa <handa@m17n.org>
parents:
26881
diff
changeset
|
194 (m-state (tibetan-modifier-transcription-alist . m-state))))) |
18968 | 195 |
196 ;;; | |
26881
cd1cb9bf30e1
Rewritten for new composition.
Kenichi Handa <handa@m17n.org>
parents:
23170
diff
changeset
|
197 ;;; TibKey key alignment based input method |
18968 | 198 ;;; |
199 | |
200 (defconst tibetan-tibkey-to-transcription-alist | |
26881
cd1cb9bf30e1
Rewritten for new composition.
Kenichi Handa <handa@m17n.org>
parents:
23170
diff
changeset
|
201 '(;; consonant |
18968 | 202 ("`" . "`") ; sna ldan |
203 ("~" . "~") ; sna ldan + nada | |
204 ("q" . "k") ; ka | |
205 ("Q" ."kSH") ; kSHa | |
206 ("w" . "kh") ; kha | |
207 ("e" . "g") ; ga | |
208 ("r" . "ng") ; nga | |
209 ("t" . "c") ; ca | |
210 ("T" . "I") ; gi gu log | |
211 ("y" . "ch") ; cha | |
212 ("u" . "j") ; ja | |
213 ("i" . "ny") ; nya | |
214 ("o" . "t") ; ta | |
215 ("O" . "T") ; Ta | |
216 ("p" . "th") ; tha | |
217 ("P" . "TH") ; THa | |
49600
23a1cea22d13
Trailing whitespace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents:
38453
diff
changeset
|
218 ("[" . "d") ; da |
18968 | 219 ("{" . "D") ; Da |
220 ("]" . "n") ; na | |
221 ("}" . "N") ; Na | |
222 ("a" . "p") ; pa | |
223 ("A" . "a") ; Vowel a (not used in original TibKey) | |
224 ("s" . "ph") ; pha | |
225 ("d" . "b") ; ba | |
226 ("f" . "m") ; ma | |
227 ("F" . "M") ; anusvara | |
228 ("g" . "u") ; zhabs kyu | |
229 ("G" . "i") ; gi gu | |
230 ("H" . ",") ; viraama | |
231 ("j" . "o") ; naro | |
232 ("J" . "e") ; 'greng bu | |
233 ("k" . "ts") ; tsa | |
234 ("l" . "tsh") ; tsha | |
235 (";" . "dz") ; dza | |
236 ("'" . "w") ; wa | |
237 ("\"" . "+w") ; wa zur | |
238 ("z" . "zh") ; zha | |
239 ("x" . "z") ; za | |
240 ("c" . "'") ; 'a | |
241 ("C" . "+'") ; 'a chung | |
242 ("v" . "y") ; ya | |
243 ("V" . "+y") ; ya btags | |
244 ("b" . "r") ; ra | |
245 ("B" . "+r") ; ra btags | |
246 ("n" . "l") ; la | |
247 ("N" . "+l") ; la btags | |
248 ("m" . "sh") ; sha | |
249 ("M" . "SH") ; SHa | |
250 ("," . "s") ; sa | |
251 ("." . "h") ; ha | |
252 ("/" . "A") ; Aa | |
26881
cd1cb9bf30e1
Rewritten for new composition.
Kenichi Handa <handa@m17n.org>
parents:
23170
diff
changeset
|
253 ;; subjoined |
18968 | 254 ("hq" . "+k") ; ka |
255 ("hQ" ."+kSH") ; kSHa | |
256 ("hw" . "+kh") ; kha | |
257 ("he" . "+g") ; ga | |
258 ("hr" . "+ng") ; nga | |
259 ("ht" . "+c") ; ca | |
260 ("hy" . "+ch") ; cha | |
261 ("hu" . "+j") ; ja | |
262 ("hi" . "+ny") ; nya | |
263 ("ho" . "+t") ; ta | |
264 ("hO" . "+T") ; Ta | |
265 ("hp" . "+th") ; tha | |
266 ("hP" . "+TH") ; THa | |
49600
23a1cea22d13
Trailing whitespace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents:
38453
diff
changeset
|
267 ("h[" . "+d") ; da |
18968 | 268 ("h{" . "+D") ; Da |
269 ("h]" . "+n") ; na | |
270 ("h}" . "+N") ; Na | |
49600
23a1cea22d13
Trailing whitespace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents:
38453
diff
changeset
|
271 ("ha" . "+p") ; pa |
18968 | 272 ("hs" . "+ph") ; pha |
273 ("hd" . "+b") ; ba | |
274 ("hf" . "+m") ; ma | |
275 ("hk" . "+ts") ; tsa | |
276 ("hl" . "+tsh") ; tsha | |
277 ("h;" . "+dz") ; dza | |
278 ("h'" . "+w") ; wa | |
279 ("hz" . "+zh") ; zha | |
280 ("hx" . "+z") ; za | |
281 ("hc" . "+'") ; 'a | |
282 ("hv" . "+y") ; ya | |
283 ("hb" . "+r") ; ra | |
284 ("hn" . "+l") ; la | |
285 ("hm" . "+sh") ; sha | |
286 ("hM" . "+SH") ; SHa | |
287 ("h," . "+s") ; sa | |
288 ("h." . "+h") ; ha | |
289 ("h/" . "+A") ; Aa | |
26881
cd1cb9bf30e1
Rewritten for new composition.
Kenichi Handa <handa@m17n.org>
parents:
23170
diff
changeset
|
290 ;; Special rule for `$(7"B(B' to avoid stacking. |
cd1cb9bf30e1
Rewritten for new composition.
Kenichi Handa <handa@m17n.org>
parents:
23170
diff
changeset
|
291 ("E" . "-y") |
18968 | 292 )) |
293 | |
26881
cd1cb9bf30e1
Rewritten for new composition.
Kenichi Handa <handa@m17n.org>
parents:
23170
diff
changeset
|
294 (defconst tibetan-consonant-tibkey-alist nil) |
cd1cb9bf30e1
Rewritten for new composition.
Kenichi Handa <handa@m17n.org>
parents:
23170
diff
changeset
|
295 (defconst tibetan-subjoined-tibkey-alist nil) |
cd1cb9bf30e1
Rewritten for new composition.
Kenichi Handa <handa@m17n.org>
parents:
23170
diff
changeset
|
296 (defconst tibetan-vowel-tibkey-alist nil) |
cd1cb9bf30e1
Rewritten for new composition.
Kenichi Handa <handa@m17n.org>
parents:
23170
diff
changeset
|
297 (defconst tibetan-modifier-tibkey-alist nil) |
cd1cb9bf30e1
Rewritten for new composition.
Kenichi Handa <handa@m17n.org>
parents:
23170
diff
changeset
|
298 (defconst tibetan-non-stacking-tibkey-alist nil) |
cd1cb9bf30e1
Rewritten for new composition.
Kenichi Handa <handa@m17n.org>
parents:
23170
diff
changeset
|
299 |
cd1cb9bf30e1
Rewritten for new composition.
Kenichi Handa <handa@m17n.org>
parents:
23170
diff
changeset
|
300 (let ((type-list '("consonant" "subjoined" "vowel" "modifier" "non-stacking")) |
cd1cb9bf30e1
Rewritten for new composition.
Kenichi Handa <handa@m17n.org>
parents:
23170
diff
changeset
|
301 (tail tibetan-tibkey-to-transcription-alist) |
cd1cb9bf30e1
Rewritten for new composition.
Kenichi Handa <handa@m17n.org>
parents:
23170
diff
changeset
|
302 elt) |
cd1cb9bf30e1
Rewritten for new composition.
Kenichi Handa <handa@m17n.org>
parents:
23170
diff
changeset
|
303 (while tail |
cd1cb9bf30e1
Rewritten for new composition.
Kenichi Handa <handa@m17n.org>
parents:
23170
diff
changeset
|
304 (setq elt (car tail) tail (cdr tail)) |
cd1cb9bf30e1
Rewritten for new composition.
Kenichi Handa <handa@m17n.org>
parents:
23170
diff
changeset
|
305 (let ((types type-list) |
cd1cb9bf30e1
Rewritten for new composition.
Kenichi Handa <handa@m17n.org>
parents:
23170
diff
changeset
|
306 type transcription trans-alist tibkey-alist) |
cd1cb9bf30e1
Rewritten for new composition.
Kenichi Handa <handa@m17n.org>
parents:
23170
diff
changeset
|
307 (while types |
cd1cb9bf30e1
Rewritten for new composition.
Kenichi Handa <handa@m17n.org>
parents:
23170
diff
changeset
|
308 (setq type (car types) types (cdr types)) |
cd1cb9bf30e1
Rewritten for new composition.
Kenichi Handa <handa@m17n.org>
parents:
23170
diff
changeset
|
309 (setq trans-alist |
cd1cb9bf30e1
Rewritten for new composition.
Kenichi Handa <handa@m17n.org>
parents:
23170
diff
changeset
|
310 (if (string= type "non-stacking") |
cd1cb9bf30e1
Rewritten for new composition.
Kenichi Handa <handa@m17n.org>
parents:
23170
diff
changeset
|
311 'tibetan-wylie-non-stacking-alist |
cd1cb9bf30e1
Rewritten for new composition.
Kenichi Handa <handa@m17n.org>
parents:
23170
diff
changeset
|
312 (intern (format "tibetan-%s-transcription-alist" type))) |
cd1cb9bf30e1
Rewritten for new composition.
Kenichi Handa <handa@m17n.org>
parents:
23170
diff
changeset
|
313 transcription |
cd1cb9bf30e1
Rewritten for new composition.
Kenichi Handa <handa@m17n.org>
parents:
23170
diff
changeset
|
314 (cdr (assoc (cdr elt) (symbol-value trans-alist)))) |
cd1cb9bf30e1
Rewritten for new composition.
Kenichi Handa <handa@m17n.org>
parents:
23170
diff
changeset
|
315 (when transcription |
cd1cb9bf30e1
Rewritten for new composition.
Kenichi Handa <handa@m17n.org>
parents:
23170
diff
changeset
|
316 (setq tibkey-alist (intern (format "tibetan-%s-tibkey-alist" type))) |
cd1cb9bf30e1
Rewritten for new composition.
Kenichi Handa <handa@m17n.org>
parents:
23170
diff
changeset
|
317 (set tibkey-alist |
cd1cb9bf30e1
Rewritten for new composition.
Kenichi Handa <handa@m17n.org>
parents:
23170
diff
changeset
|
318 (cons (cons (car elt) transcription) |
cd1cb9bf30e1
Rewritten for new composition.
Kenichi Handa <handa@m17n.org>
parents:
23170
diff
changeset
|
319 (symbol-value tibkey-alist))))) |
cd1cb9bf30e1
Rewritten for new composition.
Kenichi Handa <handa@m17n.org>
parents:
23170
diff
changeset
|
320 (or tibkey-alist |
cd1cb9bf30e1
Rewritten for new composition.
Kenichi Handa <handa@m17n.org>
parents:
23170
diff
changeset
|
321 (error "No Tibetan transcription for %s" (cdr elt)))))) |
18968 | 322 |
26881
cd1cb9bf30e1
Rewritten for new composition.
Kenichi Handa <handa@m17n.org>
parents:
23170
diff
changeset
|
323 (defconst tibetan-punctuation-tibkey-alist |
cd1cb9bf30e1
Rewritten for new composition.
Kenichi Handa <handa@m17n.org>
parents:
23170
diff
changeset
|
324 '(("1" . "$(7!Q(B") |
29594
a03c00e0dc04
(tibetan-wylie-quote-alist): This variable deleted.
Kenichi Handa <handa@m17n.org>
parents:
26881
diff
changeset
|
325 ("!" . "$(7!4(B") ; nyi zla long |
26881
cd1cb9bf30e1
Rewritten for new composition.
Kenichi Handa <handa@m17n.org>
parents:
23170
diff
changeset
|
326 ("2" . "$(7!R(B") |
29594
a03c00e0dc04
(tibetan-wylie-quote-alist): This variable deleted.
Kenichi Handa <handa@m17n.org>
parents:
26881
diff
changeset
|
327 ("@" . "$(7!5(B") ; nyi zla simple |
26881
cd1cb9bf30e1
Rewritten for new composition.
Kenichi Handa <handa@m17n.org>
parents:
23170
diff
changeset
|
328 ("3" . "$(7!S(B") |
cd1cb9bf30e1
Rewritten for new composition.
Kenichi Handa <handa@m17n.org>
parents:
23170
diff
changeset
|
329 ;;; ("#" ) |
cd1cb9bf30e1
Rewritten for new composition.
Kenichi Handa <handa@m17n.org>
parents:
23170
diff
changeset
|
330 ("4" . "$(7!T(B") |
cd1cb9bf30e1
Rewritten for new composition.
Kenichi Handa <handa@m17n.org>
parents:
23170
diff
changeset
|
331 ;;; ("$" ) |
cd1cb9bf30e1
Rewritten for new composition.
Kenichi Handa <handa@m17n.org>
parents:
23170
diff
changeset
|
332 ("5" . "$(7!U(B") |
29594
a03c00e0dc04
(tibetan-wylie-quote-alist): This variable deleted.
Kenichi Handa <handa@m17n.org>
parents:
26881
diff
changeset
|
333 ("%" . "$(7!D(B") |
26881
cd1cb9bf30e1
Rewritten for new composition.
Kenichi Handa <handa@m17n.org>
parents:
23170
diff
changeset
|
334 ("6" . "$(7!V(B") |
cd1cb9bf30e1
Rewritten for new composition.
Kenichi Handa <handa@m17n.org>
parents:
23170
diff
changeset
|
335 ("^" . "$(7!1(B") |
cd1cb9bf30e1
Rewritten for new composition.
Kenichi Handa <handa@m17n.org>
parents:
23170
diff
changeset
|
336 ("7" . "$(7!W(B") |
cd1cb9bf30e1
Rewritten for new composition.
Kenichi Handa <handa@m17n.org>
parents:
23170
diff
changeset
|
337 ("8" . "$(7!X(B") |
cd1cb9bf30e1
Rewritten for new composition.
Kenichi Handa <handa@m17n.org>
parents:
23170
diff
changeset
|
338 ;;; ("*" ) ; avagraha, not supported yet |
cd1cb9bf30e1
Rewritten for new composition.
Kenichi Handa <handa@m17n.org>
parents:
23170
diff
changeset
|
339 ("9" . "$(7!Y(B") |
cd1cb9bf30e1
Rewritten for new composition.
Kenichi Handa <handa@m17n.org>
parents:
23170
diff
changeset
|
340 ("(" . "$(7!l(B") |
cd1cb9bf30e1
Rewritten for new composition.
Kenichi Handa <handa@m17n.org>
parents:
23170
diff
changeset
|
341 ("0" . "$(7!P(B") |
cd1cb9bf30e1
Rewritten for new composition.
Kenichi Handa <handa@m17n.org>
parents:
23170
diff
changeset
|
342 (")" . "$(7!m(B") |
49600
23a1cea22d13
Trailing whitespace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents:
38453
diff
changeset
|
343 ;;; ("-" ) ; enphatic, not yet supported |
26881
cd1cb9bf30e1
Rewritten for new composition.
Kenichi Handa <handa@m17n.org>
parents:
23170
diff
changeset
|
344 ;;; ("_" ) ; id. |
cd1cb9bf30e1
Rewritten for new composition.
Kenichi Handa <handa@m17n.org>
parents:
23170
diff
changeset
|
345 ;;; ("=" ) ; special sign, not yet supported |
29594
a03c00e0dc04
(tibetan-wylie-quote-alist): This variable deleted.
Kenichi Handa <handa@m17n.org>
parents:
26881
diff
changeset
|
346 ("+" . "$(7!A(B") |
a03c00e0dc04
(tibetan-wylie-quote-alist): This variable deleted.
Kenichi Handa <handa@m17n.org>
parents:
26881
diff
changeset
|
347 ("\\" . "$(7!?(B") |
26881
cd1cb9bf30e1
Rewritten for new composition.
Kenichi Handa <handa@m17n.org>
parents:
23170
diff
changeset
|
348 ("|" . "$(7!8(B") |
cd1cb9bf30e1
Rewritten for new composition.
Kenichi Handa <handa@m17n.org>
parents:
23170
diff
changeset
|
349 ("I" . "$(7"f(B") ; avagraha |
29594
a03c00e0dc04
(tibetan-wylie-quote-alist): This variable deleted.
Kenichi Handa <handa@m17n.org>
parents:
26881
diff
changeset
|
350 (":" . "$(7"`(B") |
a03c00e0dc04
(tibetan-wylie-quote-alist): This variable deleted.
Kenichi Handa <handa@m17n.org>
parents:
26881
diff
changeset
|
351 ;;; (">" ?$(7!;(B) ; to be assigned to SPC |
26881
cd1cb9bf30e1
Rewritten for new composition.
Kenichi Handa <handa@m17n.org>
parents:
23170
diff
changeset
|
352 (">" . " ") |
29594
a03c00e0dc04
(tibetan-wylie-quote-alist): This variable deleted.
Kenichi Handa <handa@m17n.org>
parents:
26881
diff
changeset
|
353 ("?" . "$(7!=(B") |
26881
cd1cb9bf30e1
Rewritten for new composition.
Kenichi Handa <handa@m17n.org>
parents:
23170
diff
changeset
|
354 ("??" . "$(7!>(B") |
cd1cb9bf30e1
Rewritten for new composition.
Kenichi Handa <handa@m17n.org>
parents:
23170
diff
changeset
|
355 ("????" . ["$(7!>(B $(7!>(B"]) |
29594
a03c00e0dc04
(tibetan-wylie-quote-alist): This variable deleted.
Kenichi Handa <handa@m17n.org>
parents:
26881
diff
changeset
|
356 (" " . "$(7!;(B") |
26881
cd1cb9bf30e1
Rewritten for new composition.
Kenichi Handa <handa@m17n.org>
parents:
23170
diff
changeset
|
357 )) |
18968 | 358 |
26881
cd1cb9bf30e1
Rewritten for new composition.
Kenichi Handa <handa@m17n.org>
parents:
23170
diff
changeset
|
359 ;; Convert TibKey string to Tibetan-Roman transcription string. |
cd1cb9bf30e1
Rewritten for new composition.
Kenichi Handa <handa@m17n.org>
parents:
23170
diff
changeset
|
360 ;; If there's no proper conversion, return nil. |
cd1cb9bf30e1
Rewritten for new composition.
Kenichi Handa <handa@m17n.org>
parents:
23170
diff
changeset
|
361 (defun quail-tibkey-to-transcription (tibkey) |
cd1cb9bf30e1
Rewritten for new composition.
Kenichi Handa <handa@m17n.org>
parents:
23170
diff
changeset
|
362 (let ((len (length tibkey)) |
cd1cb9bf30e1
Rewritten for new composition.
Kenichi Handa <handa@m17n.org>
parents:
23170
diff
changeset
|
363 (i 0) |
cd1cb9bf30e1
Rewritten for new composition.
Kenichi Handa <handa@m17n.org>
parents:
23170
diff
changeset
|
364 (trans-list nil)) |
cd1cb9bf30e1
Rewritten for new composition.
Kenichi Handa <handa@m17n.org>
parents:
23170
diff
changeset
|
365 (while (< i len) |
cd1cb9bf30e1
Rewritten for new composition.
Kenichi Handa <handa@m17n.org>
parents:
23170
diff
changeset
|
366 (let ((last len) |
cd1cb9bf30e1
Rewritten for new composition.
Kenichi Handa <handa@m17n.org>
parents:
23170
diff
changeset
|
367 trans) |
cd1cb9bf30e1
Rewritten for new composition.
Kenichi Handa <handa@m17n.org>
parents:
23170
diff
changeset
|
368 (while (and (not trans) (> last i)) |
cd1cb9bf30e1
Rewritten for new composition.
Kenichi Handa <handa@m17n.org>
parents:
23170
diff
changeset
|
369 (or (setq trans (cdr (assoc (substring tibkey i last) |
cd1cb9bf30e1
Rewritten for new composition.
Kenichi Handa <handa@m17n.org>
parents:
23170
diff
changeset
|
370 tibetan-tibkey-to-transcription-alist))) |
cd1cb9bf30e1
Rewritten for new composition.
Kenichi Handa <handa@m17n.org>
parents:
23170
diff
changeset
|
371 (setq last (1- last)))) |
cd1cb9bf30e1
Rewritten for new composition.
Kenichi Handa <handa@m17n.org>
parents:
23170
diff
changeset
|
372 (if trans |
cd1cb9bf30e1
Rewritten for new composition.
Kenichi Handa <handa@m17n.org>
parents:
23170
diff
changeset
|
373 (setq trans-list (cons trans trans-list) |
cd1cb9bf30e1
Rewritten for new composition.
Kenichi Handa <handa@m17n.org>
parents:
23170
diff
changeset
|
374 i last) |
cd1cb9bf30e1
Rewritten for new composition.
Kenichi Handa <handa@m17n.org>
parents:
23170
diff
changeset
|
375 (setq trans-list nil i len)))) |
cd1cb9bf30e1
Rewritten for new composition.
Kenichi Handa <handa@m17n.org>
parents:
23170
diff
changeset
|
376 (apply 'concat (nreverse trans-list)))) |
cd1cb9bf30e1
Rewritten for new composition.
Kenichi Handa <handa@m17n.org>
parents:
23170
diff
changeset
|
377 |
cd1cb9bf30e1
Rewritten for new composition.
Kenichi Handa <handa@m17n.org>
parents:
23170
diff
changeset
|
378 (defvar quail-tibkey-characters nil) |
cd1cb9bf30e1
Rewritten for new composition.
Kenichi Handa <handa@m17n.org>
parents:
23170
diff
changeset
|
379 |
cd1cb9bf30e1
Rewritten for new composition.
Kenichi Handa <handa@m17n.org>
parents:
23170
diff
changeset
|
380 (defun quail-tibkey-update-translation (control-flag) |
cd1cb9bf30e1
Rewritten for new composition.
Kenichi Handa <handa@m17n.org>
parents:
23170
diff
changeset
|
381 (if (integerp control-flag) |
cd1cb9bf30e1
Rewritten for new composition.
Kenichi Handa <handa@m17n.org>
parents:
23170
diff
changeset
|
382 ;; Non-composable-character typed. |
cd1cb9bf30e1
Rewritten for new composition.
Kenichi Handa <handa@m17n.org>
parents:
23170
diff
changeset
|
383 (setq quail-current-str |
cd1cb9bf30e1
Rewritten for new composition.
Kenichi Handa <handa@m17n.org>
parents:
23170
diff
changeset
|
384 (buffer-substring (overlay-start quail-overlay) |
cd1cb9bf30e1
Rewritten for new composition.
Kenichi Handa <handa@m17n.org>
parents:
23170
diff
changeset
|
385 (overlay-end quail-overlay)) |
cd1cb9bf30e1
Rewritten for new composition.
Kenichi Handa <handa@m17n.org>
parents:
23170
diff
changeset
|
386 unread-command-events |
cd1cb9bf30e1
Rewritten for new composition.
Kenichi Handa <handa@m17n.org>
parents:
23170
diff
changeset
|
387 (string-to-list |
cd1cb9bf30e1
Rewritten for new composition.
Kenichi Handa <handa@m17n.org>
parents:
23170
diff
changeset
|
388 (substring quail-current-key control-flag))) |
cd1cb9bf30e1
Rewritten for new composition.
Kenichi Handa <handa@m17n.org>
parents:
23170
diff
changeset
|
389 (let ((transcription (quail-tibkey-to-transcription quail-current-key))) |
cd1cb9bf30e1
Rewritten for new composition.
Kenichi Handa <handa@m17n.org>
parents:
23170
diff
changeset
|
390 (if (> (length transcription) 0) |
cd1cb9bf30e1
Rewritten for new composition.
Kenichi Handa <handa@m17n.org>
parents:
23170
diff
changeset
|
391 (let ((quail-current-key transcription)) |
cd1cb9bf30e1
Rewritten for new composition.
Kenichi Handa <handa@m17n.org>
parents:
23170
diff
changeset
|
392 (setq control-flag |
cd1cb9bf30e1
Rewritten for new composition.
Kenichi Handa <handa@m17n.org>
parents:
23170
diff
changeset
|
393 (quail-tibetan-update-translation control-flag))) |
cd1cb9bf30e1
Rewritten for new composition.
Kenichi Handa <handa@m17n.org>
parents:
23170
diff
changeset
|
394 (or quail-current-str |
cd1cb9bf30e1
Rewritten for new composition.
Kenichi Handa <handa@m17n.org>
parents:
23170
diff
changeset
|
395 (setq quail-current-str quail-current-key))))) |
cd1cb9bf30e1
Rewritten for new composition.
Kenichi Handa <handa@m17n.org>
parents:
23170
diff
changeset
|
396 control-flag) |
18968 | 397 |
398 (quail-define-package "tibetan-tibkey" "Tibetan" "TIBt" t | |
399 "Tibetan character input by TibKey key assignment. | |
400 | |
26881
cd1cb9bf30e1
Rewritten for new composition.
Kenichi Handa <handa@m17n.org>
parents:
23170
diff
changeset
|
401 \(This implementation is still incomplete. |
18968 | 402 Therefore, the following key assignment is a provisional one.) |
403 | |
404 [NOT SHIFTED] | |
405 | |
406 +-------------------------------------------------------+ | |
407 |`$(7"d(B|1$(7!Q(B|2$(7!R(B|3$(7!S(B|4$(7!T(B|5$(7!U(B|6$(7!V(B|7$(7!W(B|8$(7!X(B|9$(7!Y(B|0$(7!P(B|- |= |\\$(7!8(B| | |
408 +-------------------------------------------------------+ | |
409 |q$(7"!(B|w$(7""(B|e$(7"#(B|r$(7"%(B|t$(7"&(B|y$(7"'(B|u$(7"((B|i$(7"*(B|o$(7"0(B|p$(7"1(B|[$(7"2(B|]$(7"4(B| | |
410 +-----------------------------------------------+ | |
411 |a$(7"5(B| s$(7"6(B| d$(7"7(B|f$(7"9(B|g$(7"U(B|h |j$(7"](B|k$(7":(B|l$(7";(B|;$(7"<(B|'$(7">(B| | |
412 +---------------------------------------------+ | |
413 |z$(7"?(B|x$(7"@(B|c$(7"A(B|v$(7"B(B|b$(7"C(B|n$(7"D(B|m$(7"E(B|,$(7"G(B|.$(7"H(B|/$(7"I(B| | |
414 +---------------------------------------+ | |
415 The key 'h' is used for consonant stacking. | |
416 | |
417 [SHIFTED] | |
418 | |
419 +----------------------------------------------------------+ | |
29594
a03c00e0dc04
(tibetan-wylie-quote-alist): This variable deleted.
Kenichi Handa <handa@m17n.org>
parents:
26881
diff
changeset
|
420 |~$(7"c(B|!$(7!4(B|@$(7!5(B|# |$ |%$(7!D(B |^$(7!1(B|& |* |($(7!l(B|)$(7!m(B|_ |+$(7!A(B| |$(7!8(B| |
18968 | 421 +----------------------------------------------------------+ |
29594
a03c00e0dc04
(tibetan-wylie-quote-alist): This variable deleted.
Kenichi Handa <handa@m17n.org>
parents:
26881
diff
changeset
|
422 |Q$(7"J(B|W |E |R |T$(7"a(B|Y |U |I$(7"f(B|O$(7"+(B|P$(7",(B|{$(7"-(B|}$(7"/(B| |
18968 | 423 +-----------------------------------------------+ |
424 |A |S |D |F$(7"_(B|G$(7"S(B|H$(7"e(B|J$(7"[(B|K |L |:$(7"`(B|\"$(7#>(B| | |
425 +-------------------------------------------+ | |
29594
a03c00e0dc04
(tibetan-wylie-quote-alist): This variable deleted.
Kenichi Handa <handa@m17n.org>
parents:
26881
diff
changeset
|
426 |Z |X |C$(7"R(B|V$(7#B(B|B$(7#C(B|N$(7#D(B|M$(7"F(B|< |> |?$(7!=(B | |
49600
23a1cea22d13
Trailing whitespace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents:
38453
diff
changeset
|
427 +---------------------------------------+ |
18968 | 428 |
429 DIFFERENCE FROM THE ORIGINAL TIBKEY: | |
430 | |
431 1. Vowel 'a' should be typed explicitly by the key 'A'. | |
432 This is really inconvenient. But to make the coding | |
433 scheme clear, it is desirable to have an explicite | |
434 vowel sign for 'a'. | |
435 2. Tsheg is assigned to SPC key. You can input a space | |
436 by typing '>'. | |
437 4. To avoid the default stacking $(7$B(B and to obtain $(7"#"B(B, | |
438 type 'E' instead of 'v' (=$(7"B(B). | |
439 3. There are many characters that are not supported in the | |
440 current implementation (especially special signs). I hope | |
441 I'll complete in a future revision. | |
442 " | |
26881
cd1cb9bf30e1
Rewritten for new composition.
Kenichi Handa <handa@m17n.org>
parents:
23170
diff
changeset
|
443 nil nil nil nil nil nil nil nil |
cd1cb9bf30e1
Rewritten for new composition.
Kenichi Handa <handa@m17n.org>
parents:
23170
diff
changeset
|
444 'quail-tibkey-update-translation) |
18968 | 445 |
26881
cd1cb9bf30e1
Rewritten for new composition.
Kenichi Handa <handa@m17n.org>
parents:
23170
diff
changeset
|
446 (quail-install-map |
cd1cb9bf30e1
Rewritten for new composition.
Kenichi Handa <handa@m17n.org>
parents:
23170
diff
changeset
|
447 (quail-map-from-table |
cd1cb9bf30e1
Rewritten for new composition.
Kenichi Handa <handa@m17n.org>
parents:
23170
diff
changeset
|
448 '((base-state (tibetan-consonant-tibkey-alist . s-state) |
cd1cb9bf30e1
Rewritten for new composition.
Kenichi Handa <handa@m17n.org>
parents:
23170
diff
changeset
|
449 (tibetan-non-stacking-tibkey-alist . s-state) |
cd1cb9bf30e1
Rewritten for new composition.
Kenichi Handa <handa@m17n.org>
parents:
23170
diff
changeset
|
450 tibetan-subjoined-tibkey-alist |
cd1cb9bf30e1
Rewritten for new composition.
Kenichi Handa <handa@m17n.org>
parents:
23170
diff
changeset
|
451 tibetan-vowel-tibkey-alist |
cd1cb9bf30e1
Rewritten for new composition.
Kenichi Handa <handa@m17n.org>
parents:
23170
diff
changeset
|
452 tibetan-modifier-tibkey-alist |
cd1cb9bf30e1
Rewritten for new composition.
Kenichi Handa <handa@m17n.org>
parents:
23170
diff
changeset
|
453 tibetan-punctuation-tibkey-alist) |
cd1cb9bf30e1
Rewritten for new composition.
Kenichi Handa <handa@m17n.org>
parents:
23170
diff
changeset
|
454 (s-state (tibetan-subjoined-tibkey-alist . s-state) |
cd1cb9bf30e1
Rewritten for new composition.
Kenichi Handa <handa@m17n.org>
parents:
23170
diff
changeset
|
455 (tibetan-vowel-tibkey-alist . m-state)) |
cd1cb9bf30e1
Rewritten for new composition.
Kenichi Handa <handa@m17n.org>
parents:
23170
diff
changeset
|
456 (m-state tibetan-modifier-tibkey-alist)))) |
38453
519983161a46
Some fixes to follow lisp coding conventions and typo fixes.
Pavel Janík <Pavel@Janik.cz>
parents:
29594
diff
changeset
|
457 |
52401 | 458 ;;; arch-tag: 828fdb1a-733f-4c7b-b882-a19d2449ac99 |
38453
519983161a46
Some fixes to follow lisp coding conventions and typo fixes.
Pavel Janík <Pavel@Janik.cz>
parents:
29594
diff
changeset
|
459 ;;; tibetan.el ends here |