Mercurial > emacs
annotate lisp/language/ind-util.el @ 57076:d2baef38bbd7
(Fformat): Handle format strings with multiple text
properties. Reverse text property list from the format string,
so the positions are in increasing order.
author | Kim F. Storm <storm@cua.dk> |
---|---|
date | Sun, 12 Sep 2004 21:35:14 +0000 |
parents | c65ae0405d12 |
children | 18a818a2ee7c |
rev | line source |
---|---|
41470 | 1 ;;; ind-util.el --- Transliteration and Misc. Tools for Indian Languages -*- coding: iso-2022-7bit; -*- |
2 | |
51078
39435a35a003
(indian-regexp-of-hashtbl-keys): Don't sort the argument to regexp-opt.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
50528
diff
changeset
|
3 ;; Copyright (C) 2001, 2003 Free Software Foundation, Inc. |
41470 | 4 |
49703
664f9896e442
(indian-dev-base-table): Table fixed.
Kenichi Handa <handa@m17n.org>
parents:
49662
diff
changeset
|
5 ;; Maintainer: KAWABATA, Taichi <kawabata@m17n.org> |
41470 | 6 ;; Keywords: multilingual, Indian, Devanagari |
7 | |
8 ;; This file is part of GNU Emacs. | |
9 | |
10 ;; GNU Emacs is free software; you can redistribute it and/or modify | |
11 ;; it under the terms of the GNU General Public License as published by | |
12 ;; the Free Software Foundation; either version 2, or (at your option) | |
13 ;; any later version. | |
14 | |
15 ;; GNU Emacs is distributed in the hope that it will be useful, | |
16 ;; but WITHOUT ANY WARRANTY; without even the implied warranty of | |
17 ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
18 ;; GNU General Public License for more details. | |
19 | |
20 ;; You should have received a copy of the GNU General Public License | |
21 ;; along with GNU Emacs; see the file COPYING. If not, write to the | |
22 ;; Free Software Foundation, Inc., 59 Temple Place - Suite 330, | |
23 ;; Boston, MA 02111-1307, USA. | |
24 | |
25 ;;; Commentary: | |
26 | |
27 ;; This file provides conversion between UCS and various | |
28 ;; transliteration schemes, such as ITRANS, kyoto-harvard and aiba | |
29 ;; methods. It also provides conversion between IS 13194 and UCS. | |
30 ;; Finally, this program provides the compatibility support with | |
31 ;; old implementation of Devanagari script. | |
32 | |
33 ;;; Code: | |
34 | |
35 ;;; Transliteration | |
36 | |
37 ;; The followings provide the various transliteration schemes (such as | |
38 ;; ITRANS, kyoto-harvard, and Aiba) of Indian scripts. They are also | |
39 ;; used in quail/indian.el for typing Indian script in Emacs. | |
40 | |
41 (eval-and-compile | |
42 | |
42060
f3b460667d31
(range): Function deleted.
Richard M. Stallman <rms@gnu.org>
parents:
42056
diff
changeset
|
43 (defun indian-regexp-of-hashtbl-keys (hashtbl) |
41470 | 44 "Returns the regular expression of hashtable keys." |
51078
39435a35a003
(indian-regexp-of-hashtbl-keys): Don't sort the argument to regexp-opt.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
50528
diff
changeset
|
45 (let (keys) |
39435a35a003
(indian-regexp-of-hashtbl-keys): Don't sort the argument to regexp-opt.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
50528
diff
changeset
|
46 (maphash (lambda (key val) (push key keys)) hashtbl) |
39435a35a003
(indian-regexp-of-hashtbl-keys): Don't sort the argument to regexp-opt.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
50528
diff
changeset
|
47 (regexp-opt keys))) |
41470 | 48 |
49 (defvar indian-dev-base-table | |
50 '( | |
51 (;; VOWELS (18) | |
52 (?$,15E(B nil) (?$,15F(B ?$,15~(B) (?$,15G(B ?$,15(B) (?$,15H(B ?$,16 (B) (?$,15I(B ?$,16!(B) (?$,15J(B ?$,16"(B) | |
49703
664f9896e442
(indian-dev-base-table): Table fixed.
Kenichi Handa <handa@m17n.org>
parents:
49662
diff
changeset
|
53 (?$,15K(B ?$,16#(B) (?$,15L(B ?$,16B(B) (?$,15M(B ?$,16%(B) (?$,15N(B ?$,16&(B) (?$,15O(B ?$,16'(B) (?$,15P(B ?$,16((B) |
664f9896e442
(indian-dev-base-table): Table fixed.
Kenichi Handa <handa@m17n.org>
parents:
49662
diff
changeset
|
54 (?$,15Q(B ?$,16)(B) (?$,15R(B ?$,16*(B) (?$,15S(B ?$,16+(B) (?$,15T(B ?$,16,(B) (?$,16@(B ?$,16$(B) (?$,16A(B ?$,16C(B)) |
41470 | 55 (;; CONSONANTS (currently 42, including special cases) |
56 ?$,15U(B ?$,15V(B ?$,15W(B ?$,15X(B ?$,15Y(B ;; GUTTRULS | |
49598
0d8b17d428b5
Trailing whitepace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents:
46223
diff
changeset
|
57 ?$,15Z(B ?$,15[(B ?$,15\(B ?$,15](B ?$,15^(B ;; PALATALS |
0d8b17d428b5
Trailing whitepace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents:
46223
diff
changeset
|
58 ?$,15_(B ?$,15`(B ?$,15a(B ?$,15b(B ?$,15c(B ;; CEREBRALS |
0d8b17d428b5
Trailing whitepace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents:
46223
diff
changeset
|
59 ?$,15d(B ?$,15e(B ?$,15f(B ?$,15g(B ?$,15h(B ?$,15i(B ;; DENTALS |
0d8b17d428b5
Trailing whitepace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents:
46223
diff
changeset
|
60 ?$,15j(B ?$,15k(B ?$,15l(B ?$,15m(B ?$,15n(B ;; LABIALS |
41470 | 61 ?$,15o(B ?$,15p(B ?$,15q(B ?$,15r(B ?$,15s(B ?$,15t(B ?$,15u(B ;; SEMIVOWELS |
49598
0d8b17d428b5
Trailing whitepace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents:
46223
diff
changeset
|
62 ?$,15v(B ?$,15w(B ?$,15x(B ?$,15y(B ;; SIBILANTS |
0d8b17d428b5
Trailing whitepace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents:
46223
diff
changeset
|
63 ?$,168(B ?$,169(B ?$,16:(B ?$,16;(B ?$,16<(B ?$,16=(B ?$,16>(B ?$,16?(B ;; NUKTAS |
41470 | 64 "$,15\6-5^(B" "$,15U6-5w(B") |
49598
0d8b17d428b5
Trailing whitepace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents:
46223
diff
changeset
|
65 (;; Misc Symbols (7) |
41470 | 66 ?$,15A(B ?$,15B(B ?$,15C(B ?$,15}(B ?$,16-(B ?$,160(B ?$,16D(B) |
67 (;; Digits (10) | |
68 ?$,16F(B ?$,16G(B ?$,16H(B ?$,16I(B ?$,16J(B ?$,16K(B ?$,16L(B ?$,16M(B ?$,16N(B ?$,16O(B) | |
69 (;; Inscript-extra (4) (#, $, ^, *, ]) | |
70 "$,16-5p(B" "$,15p6-(B" "$,15d6-5p(B" "$,15v6-5p(B" "$,15|(B"))) | |
71 | |
49703
664f9896e442
(indian-dev-base-table): Table fixed.
Kenichi Handa <handa@m17n.org>
parents:
49662
diff
changeset
|
72 ;; Punjabi is also known as Gurmukhi. |
664f9896e442
(indian-dev-base-table): Table fixed.
Kenichi Handa <handa@m17n.org>
parents:
49662
diff
changeset
|
73 (defvar indian-pnj-base-table |
664f9896e442
(indian-dev-base-table): Table fixed.
Kenichi Handa <handa@m17n.org>
parents:
49662
diff
changeset
|
74 '( |
664f9896e442
(indian-dev-base-table): Table fixed.
Kenichi Handa <handa@m17n.org>
parents:
49662
diff
changeset
|
75 (;; VOWELS |
664f9896e442
(indian-dev-base-table): Table fixed.
Kenichi Handa <handa@m17n.org>
parents:
49662
diff
changeset
|
76 (?$,18%(B nil) (?$,18&(B ?$,18^(B) (?$,18'(B ?$,18_(B) (?$,18((B ?$,18`(B) (?$,18)(B ?$,18a(B) (?$,18*(B ?$,18b(B) |
664f9896e442
(indian-dev-base-table): Table fixed.
Kenichi Handa <handa@m17n.org>
parents:
49662
diff
changeset
|
77 nil nil nil nil (?$,18/(B ?$,18g(B) (?$,180(B ?$,18h(B) |
664f9896e442
(indian-dev-base-table): Table fixed.
Kenichi Handa <handa@m17n.org>
parents:
49662
diff
changeset
|
78 nil nil (?$,183(B ?$,18k(B) (?$,184(B ?$,18l(B) nil nil) |
664f9896e442
(indian-dev-base-table): Table fixed.
Kenichi Handa <handa@m17n.org>
parents:
49662
diff
changeset
|
79 (;; CONSONANTS |
664f9896e442
(indian-dev-base-table): Table fixed.
Kenichi Handa <handa@m17n.org>
parents:
49662
diff
changeset
|
80 ?$,185(B ?$,186(B ?$,187(B ?$,188(B ?$,189(B ;; GUTTRULS |
664f9896e442
(indian-dev-base-table): Table fixed.
Kenichi Handa <handa@m17n.org>
parents:
49662
diff
changeset
|
81 ?$,18:(B ?$,18;(B ?$,18<(B ?$,18=(B ?$,18>(B ;; PALATALS |
664f9896e442
(indian-dev-base-table): Table fixed.
Kenichi Handa <handa@m17n.org>
parents:
49662
diff
changeset
|
82 ?$,18?(B ?$,18@(B ?$,18A(B ?$,18B(B ?$,18C(B ;; CEREBRALS |
664f9896e442
(indian-dev-base-table): Table fixed.
Kenichi Handa <handa@m17n.org>
parents:
49662
diff
changeset
|
83 ?$,18D(B ?$,18E(B ?$,18F(B ?$,18G(B ?$,18H(B nil ;; DENTALS |
664f9896e442
(indian-dev-base-table): Table fixed.
Kenichi Handa <handa@m17n.org>
parents:
49662
diff
changeset
|
84 ?$,18J(B ?$,18K(B ?$,18L(B ?$,18M(B ?$,18N(B ;; LABIALS |
664f9896e442
(indian-dev-base-table): Table fixed.
Kenichi Handa <handa@m17n.org>
parents:
49662
diff
changeset
|
85 ?$,18O(B ?$,18P(B nil ?$,18R(B ?$,18S(B nil ?$,18U(B ;; SEMIVOWELS |
664f9896e442
(indian-dev-base-table): Table fixed.
Kenichi Handa <handa@m17n.org>
parents:
49662
diff
changeset
|
86 ?$,18V(B nil ?$,18X(B ?$,18Y(B ;; SIBILANTS |
664f9896e442
(indian-dev-base-table): Table fixed.
Kenichi Handa <handa@m17n.org>
parents:
49662
diff
changeset
|
87 nil ?$,18y(B ?$,18z(B ?$,18{(B ?$,18|(B nil ?$,18~(B nil ;; NUKTAS |
664f9896e442
(indian-dev-base-table): Table fixed.
Kenichi Handa <handa@m17n.org>
parents:
49662
diff
changeset
|
88 "$,18<8m8>(B" nil) |
664f9896e442
(indian-dev-base-table): Table fixed.
Kenichi Handa <handa@m17n.org>
parents:
49662
diff
changeset
|
89 (;; Misc Symbols (7) |
664f9896e442
(indian-dev-base-table): Table fixed.
Kenichi Handa <handa@m17n.org>
parents:
49662
diff
changeset
|
90 nil ?$,18"(B nil nil ?$,18m(B nil nil) ;; ek onkar, etc. |
664f9896e442
(indian-dev-base-table): Table fixed.
Kenichi Handa <handa@m17n.org>
parents:
49662
diff
changeset
|
91 (;; Digits |
664f9896e442
(indian-dev-base-table): Table fixed.
Kenichi Handa <handa@m17n.org>
parents:
49662
diff
changeset
|
92 ?$,19&(B ?$,19'(B ?$,19((B ?$,19)(B ?$,19*(B ?$,19+(B ?$,19,(B ?$,19-(B ?$,19.(B ?$,19/(B) |
664f9896e442
(indian-dev-base-table): Table fixed.
Kenichi Handa <handa@m17n.org>
parents:
49662
diff
changeset
|
93 (;; Inscript-extra (4) (#, $, ^, *, ]) |
664f9896e442
(indian-dev-base-table): Table fixed.
Kenichi Handa <handa@m17n.org>
parents:
49662
diff
changeset
|
94 "$,18m8P(B" "$,18P8m(B" "$,18D8m8P(B" "$,18V8m8P(B" "$,18\(B"))) |
664f9896e442
(indian-dev-base-table): Table fixed.
Kenichi Handa <handa@m17n.org>
parents:
49662
diff
changeset
|
95 |
664f9896e442
(indian-dev-base-table): Table fixed.
Kenichi Handa <handa@m17n.org>
parents:
49662
diff
changeset
|
96 (defvar indian-gjr-base-table |
664f9896e442
(indian-dev-base-table): Table fixed.
Kenichi Handa <handa@m17n.org>
parents:
49662
diff
changeset
|
97 '( |
664f9896e442
(indian-dev-base-table): Table fixed.
Kenichi Handa <handa@m17n.org>
parents:
49662
diff
changeset
|
98 (;; VOWELS |
664f9896e442
(indian-dev-base-table): Table fixed.
Kenichi Handa <handa@m17n.org>
parents:
49662
diff
changeset
|
99 (?$,19E(B nil) (?$,19F(B ?$,19~(B) (?$,19G(B ?$,19(B) (?$,19H(B ?$,1: (B) (?$,19I(B ?$,1:!(B) (?$,19J(B ?$,1:"(B) |
664f9896e442
(indian-dev-base-table): Table fixed.
Kenichi Handa <handa@m17n.org>
parents:
49662
diff
changeset
|
100 (?$,19K(B ?$,1:#(B) nil (?$,19M(B ?$,1:%(B) nil (?$,19O(B ?$,1:'(B) (?$,19P(B ?$,1:((B) |
664f9896e442
(indian-dev-base-table): Table fixed.
Kenichi Handa <handa@m17n.org>
parents:
49662
diff
changeset
|
101 (?$,19Q(B ?$,1:)(B) nil (?$,19S(B ?$,1:+(B) (?$,19T(B ?$,1:,(B) (?$,1:@(B ?$,1:$(B) nil) |
664f9896e442
(indian-dev-base-table): Table fixed.
Kenichi Handa <handa@m17n.org>
parents:
49662
diff
changeset
|
102 (;; CONSONANTS |
664f9896e442
(indian-dev-base-table): Table fixed.
Kenichi Handa <handa@m17n.org>
parents:
49662
diff
changeset
|
103 ?$,19U(B ?$,19V(B ?$,19W(B ?$,19X(B ?$,19Y(B ;; GUTTRULS |
664f9896e442
(indian-dev-base-table): Table fixed.
Kenichi Handa <handa@m17n.org>
parents:
49662
diff
changeset
|
104 ?$,19Z(B ?$,19[(B ?$,19\(B ?$,19](B ?$,19^(B ;; PALATALS |
664f9896e442
(indian-dev-base-table): Table fixed.
Kenichi Handa <handa@m17n.org>
parents:
49662
diff
changeset
|
105 ?$,19_(B ?$,19`(B ?$,19a(B ?$,19b(B ?$,19c(B ;; CEREBRALS |
664f9896e442
(indian-dev-base-table): Table fixed.
Kenichi Handa <handa@m17n.org>
parents:
49662
diff
changeset
|
106 ?$,19d(B ?$,19e(B ?$,19f(B ?$,19g(B ?$,19h(B nil ;; DENTALS |
664f9896e442
(indian-dev-base-table): Table fixed.
Kenichi Handa <handa@m17n.org>
parents:
49662
diff
changeset
|
107 ?$,19j(B ?$,19k(B ?$,19l(B ?$,19m(B ?$,19n(B ;; LABIALS |
664f9896e442
(indian-dev-base-table): Table fixed.
Kenichi Handa <handa@m17n.org>
parents:
49662
diff
changeset
|
108 ?$,19o(B ?$,19p(B nil ?$,19r(B ?$,19s(B nil ?$,19u(B ;; SEMIVOWELS |
664f9896e442
(indian-dev-base-table): Table fixed.
Kenichi Handa <handa@m17n.org>
parents:
49662
diff
changeset
|
109 ?$,19v(B ?$,19w(B ?$,19x(B ?$,19y(B ;; SIBILANTS |
664f9896e442
(indian-dev-base-table): Table fixed.
Kenichi Handa <handa@m17n.org>
parents:
49662
diff
changeset
|
110 nil nil nil nil nil nil nil nil ;; NUKTAS |
664f9896e442
(indian-dev-base-table): Table fixed.
Kenichi Handa <handa@m17n.org>
parents:
49662
diff
changeset
|
111 "$,19\:-9^(B" "$,19U:-9w(B") |
664f9896e442
(indian-dev-base-table): Table fixed.
Kenichi Handa <handa@m17n.org>
parents:
49662
diff
changeset
|
112 (;; Misc Symbols (7) |
664f9896e442
(indian-dev-base-table): Table fixed.
Kenichi Handa <handa@m17n.org>
parents:
49662
diff
changeset
|
113 ?$,19A(B ?$,19B(B ?$,19C(B ?$,19}(B ?$,1:-(B ?$,1:0(B nil) |
664f9896e442
(indian-dev-base-table): Table fixed.
Kenichi Handa <handa@m17n.org>
parents:
49662
diff
changeset
|
114 (;; Digits |
664f9896e442
(indian-dev-base-table): Table fixed.
Kenichi Handa <handa@m17n.org>
parents:
49662
diff
changeset
|
115 ?$,1:F(B ?$,1:G(B ?$,1:H(B ?$,1:I(B ?$,1:J(B ?$,1:K(B ?$,1:L(B ?$,1:M(B ?$,1:N(B ?$,1:O(B) |
664f9896e442
(indian-dev-base-table): Table fixed.
Kenichi Handa <handa@m17n.org>
parents:
49662
diff
changeset
|
116 (;; Inscript-extra (4) (#, $, ^, *, ]) |
664f9896e442
(indian-dev-base-table): Table fixed.
Kenichi Handa <handa@m17n.org>
parents:
49662
diff
changeset
|
117 "$,1:-9p(B" "$,19p:-(B" "$,19d:-9p(B" "$,19v:-9p(B" "$,19|(B"))) |
664f9896e442
(indian-dev-base-table): Table fixed.
Kenichi Handa <handa@m17n.org>
parents:
49662
diff
changeset
|
118 |
664f9896e442
(indian-dev-base-table): Table fixed.
Kenichi Handa <handa@m17n.org>
parents:
49662
diff
changeset
|
119 (defvar indian-ori-base-table |
664f9896e442
(indian-dev-base-table): Table fixed.
Kenichi Handa <handa@m17n.org>
parents:
49662
diff
changeset
|
120 '( |
664f9896e442
(indian-dev-base-table): Table fixed.
Kenichi Handa <handa@m17n.org>
parents:
49662
diff
changeset
|
121 (;; VOWELS |
664f9896e442
(indian-dev-base-table): Table fixed.
Kenichi Handa <handa@m17n.org>
parents:
49662
diff
changeset
|
122 (?$,1:e(B nil) (?$,1:f(B ?$,1;>(B) (?$,1:g(B ?$,1;?(B) (?$,1:h(B ?$,1;@(B) (?$,1:i(B ?$,1;A(B) (?$,1:j(B ?$,1;B(B) |
664f9896e442
(indian-dev-base-table): Table fixed.
Kenichi Handa <handa@m17n.org>
parents:
49662
diff
changeset
|
123 (?$,1:k(B ?$,1;C(B) (?$,1:l(B nil) nil nil (?$,1:o(B ?$,1;G(B) (?$,1:p(B ?$,1;H(B) |
664f9896e442
(indian-dev-base-table): Table fixed.
Kenichi Handa <handa@m17n.org>
parents:
49662
diff
changeset
|
124 nil nil (?$,1:s(B ?$,1;K(B) (?$,1:t(B ?$,1;L(B) (?$,1;`(B nil) (?$,1;a(B nil)) |
664f9896e442
(indian-dev-base-table): Table fixed.
Kenichi Handa <handa@m17n.org>
parents:
49662
diff
changeset
|
125 (;; CONSONANTS |
664f9896e442
(indian-dev-base-table): Table fixed.
Kenichi Handa <handa@m17n.org>
parents:
49662
diff
changeset
|
126 ?$,1:u(B ?$,1:v(B ?$,1:w(B ?$,1:x(B ?$,1:y(B ;; GUTTRULS |
664f9896e442
(indian-dev-base-table): Table fixed.
Kenichi Handa <handa@m17n.org>
parents:
49662
diff
changeset
|
127 ?$,1:z(B ?$,1:{(B ?$,1:|(B ?$,1:}(B ?$,1:~(B ;; PALATALS |
664f9896e442
(indian-dev-base-table): Table fixed.
Kenichi Handa <handa@m17n.org>
parents:
49662
diff
changeset
|
128 ?$,1:(B ?$,1; (B ?$,1;!(B ?$,1;"(B ?$,1;#(B ;; CEREBRALS |
664f9896e442
(indian-dev-base-table): Table fixed.
Kenichi Handa <handa@m17n.org>
parents:
49662
diff
changeset
|
129 ?$,1;$(B ?$,1;%(B ?$,1;&(B ?$,1;'(B ?$,1;((B nil ;; DENTALS |
664f9896e442
(indian-dev-base-table): Table fixed.
Kenichi Handa <handa@m17n.org>
parents:
49662
diff
changeset
|
130 ?$,1;*(B ?$,1;+(B ?$,1;,(B ?$,1;-(B ?$,1;.(B ;; LABIALS |
664f9896e442
(indian-dev-base-table): Table fixed.
Kenichi Handa <handa@m17n.org>
parents:
49662
diff
changeset
|
131 ?$,1;/(B ?$,1;0(B nil ?$,1;2(B ?$,1;3(B nil nil ;; SEMIVOWELS |
664f9896e442
(indian-dev-base-table): Table fixed.
Kenichi Handa <handa@m17n.org>
parents:
49662
diff
changeset
|
132 ?$,1;6(B ?$,1;7(B ?$,1;8(B ?$,1;9(B ;; SIBILANTS |
664f9896e442
(indian-dev-base-table): Table fixed.
Kenichi Handa <handa@m17n.org>
parents:
49662
diff
changeset
|
133 nil nil nil nil ?$,1;\(B ?$,1;](B nil ?$,1;_(B ;; NUKTAS |
664f9896e442
(indian-dev-base-table): Table fixed.
Kenichi Handa <handa@m17n.org>
parents:
49662
diff
changeset
|
134 "$,1:|;M:~(B" "$,1:u;M;7(B") |
664f9896e442
(indian-dev-base-table): Table fixed.
Kenichi Handa <handa@m17n.org>
parents:
49662
diff
changeset
|
135 (;; Misc Symbols |
664f9896e442
(indian-dev-base-table): Table fixed.
Kenichi Handa <handa@m17n.org>
parents:
49662
diff
changeset
|
136 ?$,1:a(B ?$,1:b(B ?$,1:c(B ?$,1;=(B ?$,1;M(B nil nil) |
664f9896e442
(indian-dev-base-table): Table fixed.
Kenichi Handa <handa@m17n.org>
parents:
49662
diff
changeset
|
137 (;; Digits |
664f9896e442
(indian-dev-base-table): Table fixed.
Kenichi Handa <handa@m17n.org>
parents:
49662
diff
changeset
|
138 ?$,1;f(B ?$,1;g(B ?$,1;h(B ?$,1;i(B ?$,1;j(B ?$,1;k(B ?$,1;l(B ?$,1;m(B ?$,1;n(B ?$,1;o(B) |
664f9896e442
(indian-dev-base-table): Table fixed.
Kenichi Handa <handa@m17n.org>
parents:
49662
diff
changeset
|
139 (;; Inscript-extra (4) (#, $, ^, *, ]) |
664f9896e442
(indian-dev-base-table): Table fixed.
Kenichi Handa <handa@m17n.org>
parents:
49662
diff
changeset
|
140 "$,1;M;0(B" "$,1;0;M(B" "$,1;$;M;0(B" "$,1;6;M;0(B" "$,1;<(B"))) |
664f9896e442
(indian-dev-base-table): Table fixed.
Kenichi Handa <handa@m17n.org>
parents:
49662
diff
changeset
|
141 |
664f9896e442
(indian-dev-base-table): Table fixed.
Kenichi Handa <handa@m17n.org>
parents:
49662
diff
changeset
|
142 (defvar indian-bng-base-table |
664f9896e442
(indian-dev-base-table): Table fixed.
Kenichi Handa <handa@m17n.org>
parents:
49662
diff
changeset
|
143 '( |
664f9896e442
(indian-dev-base-table): Table fixed.
Kenichi Handa <handa@m17n.org>
parents:
49662
diff
changeset
|
144 (;; VOWELS |
664f9896e442
(indian-dev-base-table): Table fixed.
Kenichi Handa <handa@m17n.org>
parents:
49662
diff
changeset
|
145 (?$,16e(B nil) (?$,16f(B ?$,17>(B) (?$,16g(B ?$,17?(B) (?$,16h(B ?$,17@(B) (?$,16i(B ?$,17A(B) (?$,16j(B ?$,17B(B) |
664f9896e442
(indian-dev-base-table): Table fixed.
Kenichi Handa <handa@m17n.org>
parents:
49662
diff
changeset
|
146 (?$,16k(B ?$,17C(B) (?$,16l(B ?$,17b(B) nil nil (?$,16o(B ?$,17G(B) (?$,16p(B ?$,17H(B) |
664f9896e442
(indian-dev-base-table): Table fixed.
Kenichi Handa <handa@m17n.org>
parents:
49662
diff
changeset
|
147 nil nil (?$,16s(B ?$,17K(B) (?$,16t(B ?$,17L(B) (?$,17`(B ?$,17D(B) (?$,17a(B ?$,17c(B)) |
664f9896e442
(indian-dev-base-table): Table fixed.
Kenichi Handa <handa@m17n.org>
parents:
49662
diff
changeset
|
148 (;; CONSONANTS |
664f9896e442
(indian-dev-base-table): Table fixed.
Kenichi Handa <handa@m17n.org>
parents:
49662
diff
changeset
|
149 ?$,16u(B ?$,16v(B ?$,16w(B ?$,16x(B ?$,16y(B ;; GUTTRULS |
664f9896e442
(indian-dev-base-table): Table fixed.
Kenichi Handa <handa@m17n.org>
parents:
49662
diff
changeset
|
150 ?$,16z(B ?$,16{(B ?$,16|(B ?$,16}(B ?$,16~(B ;; PALATALS |
664f9896e442
(indian-dev-base-table): Table fixed.
Kenichi Handa <handa@m17n.org>
parents:
49662
diff
changeset
|
151 ?$,16(B ?$,17 (B ?$,17!(B ?$,17"(B ?$,17#(B ;; CEREBRALS |
664f9896e442
(indian-dev-base-table): Table fixed.
Kenichi Handa <handa@m17n.org>
parents:
49662
diff
changeset
|
152 ?$,17$(B ?$,17%(B ?$,17&(B ?$,17'(B ?$,17((B nil ;; DENTALS |
664f9896e442
(indian-dev-base-table): Table fixed.
Kenichi Handa <handa@m17n.org>
parents:
49662
diff
changeset
|
153 ?$,17*(B ?$,17+(B ?$,17,(B ?$,17-(B ?$,17.(B ;; LABIALS |
664f9896e442
(indian-dev-base-table): Table fixed.
Kenichi Handa <handa@m17n.org>
parents:
49662
diff
changeset
|
154 ?$,17/(B ?$,170(B nil ?$,172(B nil nil nil ;; SEMIVOWELS |
664f9896e442
(indian-dev-base-table): Table fixed.
Kenichi Handa <handa@m17n.org>
parents:
49662
diff
changeset
|
155 ?$,176(B ?$,177(B ?$,178(B ?$,179(B ;; SIBILANTS |
664f9896e442
(indian-dev-base-table): Table fixed.
Kenichi Handa <handa@m17n.org>
parents:
49662
diff
changeset
|
156 nil nil nil nil ?$,17\(B ?$,17](B nil ?$,17_(B ;; NUKTAS |
664f9896e442
(indian-dev-base-table): Table fixed.
Kenichi Handa <handa@m17n.org>
parents:
49662
diff
changeset
|
157 "$,16|7M6~(B" "$,16u7M77(B") |
664f9896e442
(indian-dev-base-table): Table fixed.
Kenichi Handa <handa@m17n.org>
parents:
49662
diff
changeset
|
158 (;; Misc Symbols |
664f9896e442
(indian-dev-base-table): Table fixed.
Kenichi Handa <handa@m17n.org>
parents:
49662
diff
changeset
|
159 ?$,16a(B ?$,16b(B ?$,16c(B nil ?$,17M(B nil nil) |
664f9896e442
(indian-dev-base-table): Table fixed.
Kenichi Handa <handa@m17n.org>
parents:
49662
diff
changeset
|
160 (;; Digits |
664f9896e442
(indian-dev-base-table): Table fixed.
Kenichi Handa <handa@m17n.org>
parents:
49662
diff
changeset
|
161 ?$,17f(B ?$,17g(B ?$,17h(B ?$,17i(B ?$,17j(B ?$,17k(B ?$,17l(B ?$,17m(B ?$,17n(B ?$,17o(B) |
664f9896e442
(indian-dev-base-table): Table fixed.
Kenichi Handa <handa@m17n.org>
parents:
49662
diff
changeset
|
162 (;; Inscript-extra (4) (#, $, ^, *, ]) |
664f9896e442
(indian-dev-base-table): Table fixed.
Kenichi Handa <handa@m17n.org>
parents:
49662
diff
changeset
|
163 "$,17M70(B" "$,1707M(B" "$,17$7M70(B" "$,1767M70(B" "$,17<(B"))) |
664f9896e442
(indian-dev-base-table): Table fixed.
Kenichi Handa <handa@m17n.org>
parents:
49662
diff
changeset
|
164 |
664f9896e442
(indian-dev-base-table): Table fixed.
Kenichi Handa <handa@m17n.org>
parents:
49662
diff
changeset
|
165 (defvar indian-asm-base-table |
664f9896e442
(indian-dev-base-table): Table fixed.
Kenichi Handa <handa@m17n.org>
parents:
49662
diff
changeset
|
166 '( |
664f9896e442
(indian-dev-base-table): Table fixed.
Kenichi Handa <handa@m17n.org>
parents:
49662
diff
changeset
|
167 (;; VOWELS |
664f9896e442
(indian-dev-base-table): Table fixed.
Kenichi Handa <handa@m17n.org>
parents:
49662
diff
changeset
|
168 (?$,16e(B nil) (?$,16f(B ?$,17>(B) (?$,16g(B ?$,17?(B) (?$,16h(B ?$,17@(B) (?$,16i(B ?$,17A(B) (?$,16j(B ?$,17B(B) |
664f9896e442
(indian-dev-base-table): Table fixed.
Kenichi Handa <handa@m17n.org>
parents:
49662
diff
changeset
|
169 (?$,16k(B ?$,17C(B) (?$,16l(B ?$,17b(B) nil nil (?$,16o(B ?$,17G(B) (?$,16p(B ?$,17H(B) |
664f9896e442
(indian-dev-base-table): Table fixed.
Kenichi Handa <handa@m17n.org>
parents:
49662
diff
changeset
|
170 nil nil (?$,16s(B ?$,17K(B) (?$,16t(B ?$,17L(B) (?$,17`(B ?$,17D(B) (?$,17a(B ?$,17c(B)) |
664f9896e442
(indian-dev-base-table): Table fixed.
Kenichi Handa <handa@m17n.org>
parents:
49662
diff
changeset
|
171 (;; CONSONANTS |
664f9896e442
(indian-dev-base-table): Table fixed.
Kenichi Handa <handa@m17n.org>
parents:
49662
diff
changeset
|
172 ?$,16u(B ?$,16v(B ?$,16w(B ?$,16x(B ?$,16y(B ;; GUTTRULS |
664f9896e442
(indian-dev-base-table): Table fixed.
Kenichi Handa <handa@m17n.org>
parents:
49662
diff
changeset
|
173 ?$,16z(B ?$,16{(B ?$,16|(B ?$,16}(B ?$,16~(B ;; PALATALS |
664f9896e442
(indian-dev-base-table): Table fixed.
Kenichi Handa <handa@m17n.org>
parents:
49662
diff
changeset
|
174 ?$,16(B ?$,17 (B ?$,17!(B ?$,17"(B ?$,17#(B ;; CEREBRALS |
664f9896e442
(indian-dev-base-table): Table fixed.
Kenichi Handa <handa@m17n.org>
parents:
49662
diff
changeset
|
175 ?$,17$(B ?$,17%(B ?$,17&(B ?$,17'(B ?$,17((B nil ;; DENTALS |
664f9896e442
(indian-dev-base-table): Table fixed.
Kenichi Handa <handa@m17n.org>
parents:
49662
diff
changeset
|
176 ?$,17*(B ?$,17+(B ?$,17,(B ?$,17-(B ?$,17.(B ;; LABIALS |
664f9896e442
(indian-dev-base-table): Table fixed.
Kenichi Handa <handa@m17n.org>
parents:
49662
diff
changeset
|
177 ?$,17/(B ?$,17p(B nil ?$,172(B nil nil ?$,17q(B ;; SEMIVOWELS |
664f9896e442
(indian-dev-base-table): Table fixed.
Kenichi Handa <handa@m17n.org>
parents:
49662
diff
changeset
|
178 ?$,176(B ?$,177(B ?$,178(B ?$,179(B ;; SIBILANTS |
664f9896e442
(indian-dev-base-table): Table fixed.
Kenichi Handa <handa@m17n.org>
parents:
49662
diff
changeset
|
179 nil nil nil nil ?$,17\(B ?$,17](B nil ?$,17_(B ;; NUKTAS |
664f9896e442
(indian-dev-base-table): Table fixed.
Kenichi Handa <handa@m17n.org>
parents:
49662
diff
changeset
|
180 "$,16|7M6~(B" "$,16u7M77(B") |
664f9896e442
(indian-dev-base-table): Table fixed.
Kenichi Handa <handa@m17n.org>
parents:
49662
diff
changeset
|
181 (;; Misc Symbols |
664f9896e442
(indian-dev-base-table): Table fixed.
Kenichi Handa <handa@m17n.org>
parents:
49662
diff
changeset
|
182 ?$,16a(B ?$,16b(B ?$,16c(B nil ?$,17M(B nil nil) |
664f9896e442
(indian-dev-base-table): Table fixed.
Kenichi Handa <handa@m17n.org>
parents:
49662
diff
changeset
|
183 (;; Digits |
664f9896e442
(indian-dev-base-table): Table fixed.
Kenichi Handa <handa@m17n.org>
parents:
49662
diff
changeset
|
184 ?$,17f(B ?$,17g(B ?$,17h(B ?$,17i(B ?$,17j(B ?$,17k(B ?$,17l(B ?$,17m(B ?$,17n(B ?$,17o(B) |
664f9896e442
(indian-dev-base-table): Table fixed.
Kenichi Handa <handa@m17n.org>
parents:
49662
diff
changeset
|
185 (;; Inscript-extra (4) (#, $, ^, *, ]) |
664f9896e442
(indian-dev-base-table): Table fixed.
Kenichi Handa <handa@m17n.org>
parents:
49662
diff
changeset
|
186 "$,17M7p(B" "$,17p7M(B" "$,17$7M7p(B" "$,1767M7p(B" "$,17<(B"))) |
664f9896e442
(indian-dev-base-table): Table fixed.
Kenichi Handa <handa@m17n.org>
parents:
49662
diff
changeset
|
187 |
664f9896e442
(indian-dev-base-table): Table fixed.
Kenichi Handa <handa@m17n.org>
parents:
49662
diff
changeset
|
188 (defvar indian-tlg-base-table |
664f9896e442
(indian-dev-base-table): Table fixed.
Kenichi Handa <handa@m17n.org>
parents:
49662
diff
changeset
|
189 '( |
664f9896e442
(indian-dev-base-table): Table fixed.
Kenichi Handa <handa@m17n.org>
parents:
49662
diff
changeset
|
190 (;; VOWELS |
664f9896e442
(indian-dev-base-table): Table fixed.
Kenichi Handa <handa@m17n.org>
parents:
49662
diff
changeset
|
191 (?$,1=E(B nil) (?$,1=F(B ?$,1=~(B) (?$,1=G(B ?$,1=(B) (?$,1=H(B ?$,1> (B) (?$,1=I(B ?$,1>!(B) (?$,1=J(B ?$,1>"(B) |
664f9896e442
(indian-dev-base-table): Table fixed.
Kenichi Handa <handa@m17n.org>
parents:
49662
diff
changeset
|
192 (?$,1=K(B ?$,1>#(B) (?$,1=L(B nil) nil (?$,1=O(B ?$,1>'(B) (?$,1=N(B ?$,1>&(B) (?$,1=P(B ?$,1>((B) |
664f9896e442
(indian-dev-base-table): Table fixed.
Kenichi Handa <handa@m17n.org>
parents:
49662
diff
changeset
|
193 nil (?$,1=S(B ?$,1>+(B) (?$,1=R(B ?$,1>*(B) (?$,1=T(B ?$,1>,(B) (?$,1>@(B ?$,1>$(B) (?$,1>A(B nil)) |
664f9896e442
(indian-dev-base-table): Table fixed.
Kenichi Handa <handa@m17n.org>
parents:
49662
diff
changeset
|
194 (;; CONSONANTS |
664f9896e442
(indian-dev-base-table): Table fixed.
Kenichi Handa <handa@m17n.org>
parents:
49662
diff
changeset
|
195 ?$,1=U(B ?$,1=V(B ?$,1=W(B ?$,1=X(B ?$,1=Y(B ;; GUTTRULS |
664f9896e442
(indian-dev-base-table): Table fixed.
Kenichi Handa <handa@m17n.org>
parents:
49662
diff
changeset
|
196 ?$,1=Z(B ?$,1=[(B ?$,1=\(B ?$,1=](B ?$,1=^(B ;; PALATALS |
664f9896e442
(indian-dev-base-table): Table fixed.
Kenichi Handa <handa@m17n.org>
parents:
49662
diff
changeset
|
197 ?$,1=_(B ?$,1=`(B ?$,1=a(B ?$,1=b(B ?$,1=c(B ;; CEREBRALS |
664f9896e442
(indian-dev-base-table): Table fixed.
Kenichi Handa <handa@m17n.org>
parents:
49662
diff
changeset
|
198 ?$,1=d(B ?$,1=e(B ?$,1=f(B ?$,1=g(B ?$,1=h(B nil ;; DENTALS |
664f9896e442
(indian-dev-base-table): Table fixed.
Kenichi Handa <handa@m17n.org>
parents:
49662
diff
changeset
|
199 ?$,1=j(B ?$,1=k(B ?$,1=l(B ?$,1=m(B ?$,1=n(B ;; LABIALS |
664f9896e442
(indian-dev-base-table): Table fixed.
Kenichi Handa <handa@m17n.org>
parents:
49662
diff
changeset
|
200 ?$,1=o(B ?$,1=p(B ?$,1=q(B ?$,1=r(B ?$,1=s(B nil ?$,1=u(B ;; SEMIVOWELS |
664f9896e442
(indian-dev-base-table): Table fixed.
Kenichi Handa <handa@m17n.org>
parents:
49662
diff
changeset
|
201 ?$,1=v(B ?$,1=w(B ?$,1=x(B ?$,1=y(B ;; SIBILANTS |
664f9896e442
(indian-dev-base-table): Table fixed.
Kenichi Handa <handa@m17n.org>
parents:
49662
diff
changeset
|
202 nil nil nil nil nil nil nil nil ;; NUKTAS |
664f9896e442
(indian-dev-base-table): Table fixed.
Kenichi Handa <handa@m17n.org>
parents:
49662
diff
changeset
|
203 "$,1=\>-=^(B" "$,1=U>-=w(B") |
664f9896e442
(indian-dev-base-table): Table fixed.
Kenichi Handa <handa@m17n.org>
parents:
49662
diff
changeset
|
204 (;; Misc Symbols |
664f9896e442
(indian-dev-base-table): Table fixed.
Kenichi Handa <handa@m17n.org>
parents:
49662
diff
changeset
|
205 ?$,1=A(B ?$,1=B(B ?$,1=C(B nil ?$,1>-(B nil nil) |
664f9896e442
(indian-dev-base-table): Table fixed.
Kenichi Handa <handa@m17n.org>
parents:
49662
diff
changeset
|
206 (;; Digits |
664f9896e442
(indian-dev-base-table): Table fixed.
Kenichi Handa <handa@m17n.org>
parents:
49662
diff
changeset
|
207 ?$,1>F(B ?$,1>G(B ?$,1>H(B ?$,1>I(B ?$,1>J(B ?$,1>K(B ?$,1>L(B ?$,1>M(B ?$,1>N(B ?$,1>O(B) |
664f9896e442
(indian-dev-base-table): Table fixed.
Kenichi Handa <handa@m17n.org>
parents:
49662
diff
changeset
|
208 (;; Inscript-extra (4) (#, $, ^, *, ]) |
664f9896e442
(indian-dev-base-table): Table fixed.
Kenichi Handa <handa@m17n.org>
parents:
49662
diff
changeset
|
209 "$,1>-=p(B" "$,1=p>-(B" "$,1=d>-=p(B" "$,1=v>-=p(B" nil))) |
664f9896e442
(indian-dev-base-table): Table fixed.
Kenichi Handa <handa@m17n.org>
parents:
49662
diff
changeset
|
210 |
664f9896e442
(indian-dev-base-table): Table fixed.
Kenichi Handa <handa@m17n.org>
parents:
49662
diff
changeset
|
211 (defvar indian-knd-base-table |
664f9896e442
(indian-dev-base-table): Table fixed.
Kenichi Handa <handa@m17n.org>
parents:
49662
diff
changeset
|
212 '( |
664f9896e442
(indian-dev-base-table): Table fixed.
Kenichi Handa <handa@m17n.org>
parents:
49662
diff
changeset
|
213 (;; VOWELS |
664f9896e442
(indian-dev-base-table): Table fixed.
Kenichi Handa <handa@m17n.org>
parents:
49662
diff
changeset
|
214 (?$,1>e(B nil) (?$,1>f(B ?$,1?>(B) (?$,1>g(B ?$,1??(B) (?$,1>h(B ?$,1?@(B) (?$,1>i(B ?$,1?A(B) (?$,1>j(B ?$,1?B(B) |
664f9896e442
(indian-dev-base-table): Table fixed.
Kenichi Handa <handa@m17n.org>
parents:
49662
diff
changeset
|
215 (?$,1>k(B ?$,1?C(B) (?$,1>l(B nil) nil (?$,1>o(B ?$,1?G(B) (?$,1>n(B ?$,1?F(B) (?$,1>p(B ?$,1?H(B) |
664f9896e442
(indian-dev-base-table): Table fixed.
Kenichi Handa <handa@m17n.org>
parents:
49662
diff
changeset
|
216 nil (?$,1>s(B ?$,1?K(B) (?$,1>r(B ?$,1?J(B) (?$,1>t(B ?$,1?L(B) (?$,1?`(B ?$,1?D(B) (?$,1?a(B nil)) |
664f9896e442
(indian-dev-base-table): Table fixed.
Kenichi Handa <handa@m17n.org>
parents:
49662
diff
changeset
|
217 (;; CONSONANTS |
664f9896e442
(indian-dev-base-table): Table fixed.
Kenichi Handa <handa@m17n.org>
parents:
49662
diff
changeset
|
218 ?$,1>u(B ?$,1>v(B ?$,1>w(B ?$,1>x(B ?$,1>y(B ;; GUTTRULS |
664f9896e442
(indian-dev-base-table): Table fixed.
Kenichi Handa <handa@m17n.org>
parents:
49662
diff
changeset
|
219 ?$,1>z(B ?$,1>{(B ?$,1>|(B ?$,1>}(B ?$,1>~(B ;; PALATALS |
664f9896e442
(indian-dev-base-table): Table fixed.
Kenichi Handa <handa@m17n.org>
parents:
49662
diff
changeset
|
220 ?$,1>(B ?$,1? (B ?$,1?!(B ?$,1?"(B ?$,1?#(B ;; CEREBRALS |
664f9896e442
(indian-dev-base-table): Table fixed.
Kenichi Handa <handa@m17n.org>
parents:
49662
diff
changeset
|
221 ?$,1?$(B ?$,1?%(B ?$,1?&(B ?$,1?'(B ?$,1?((B nil ;; DENTALS |
664f9896e442
(indian-dev-base-table): Table fixed.
Kenichi Handa <handa@m17n.org>
parents:
49662
diff
changeset
|
222 ?$,1?*(B ?$,1?+(B ?$,1?,(B ?$,1?-(B ?$,1?.(B ;; LABIALS |
664f9896e442
(indian-dev-base-table): Table fixed.
Kenichi Handa <handa@m17n.org>
parents:
49662
diff
changeset
|
223 ?$,1?/(B ?$,1?0(B ?$,1?1(B ?$,1?2(B ?$,1?3(B nil ?$,1?5(B ;; SEMIVOWELS |
664f9896e442
(indian-dev-base-table): Table fixed.
Kenichi Handa <handa@m17n.org>
parents:
49662
diff
changeset
|
224 ?$,1?6(B ?$,1?7(B ?$,1?8(B ?$,1?9(B ;; SIBILANTS |
664f9896e442
(indian-dev-base-table): Table fixed.
Kenichi Handa <handa@m17n.org>
parents:
49662
diff
changeset
|
225 nil nil nil nil nil nil ?$,1?^(B nil ;; NUKTAS |
664f9896e442
(indian-dev-base-table): Table fixed.
Kenichi Handa <handa@m17n.org>
parents:
49662
diff
changeset
|
226 "$,1>|?M>~(B" "$,1>u?M?7(B") |
664f9896e442
(indian-dev-base-table): Table fixed.
Kenichi Handa <handa@m17n.org>
parents:
49662
diff
changeset
|
227 (;; Misc Symbols |
664f9896e442
(indian-dev-base-table): Table fixed.
Kenichi Handa <handa@m17n.org>
parents:
49662
diff
changeset
|
228 nil ?$,1>b(B ?$,1>c(B nil ?$,1?M(B nil nil) |
664f9896e442
(indian-dev-base-table): Table fixed.
Kenichi Handa <handa@m17n.org>
parents:
49662
diff
changeset
|
229 (;; Digits |
664f9896e442
(indian-dev-base-table): Table fixed.
Kenichi Handa <handa@m17n.org>
parents:
49662
diff
changeset
|
230 ?$,1?f(B ?$,1?g(B ?$,1?h(B ?$,1?i(B ?$,1?j(B ?$,1?k(B ?$,1?l(B ?$,1?m(B ?$,1?n(B ?$,1?o(B) |
664f9896e442
(indian-dev-base-table): Table fixed.
Kenichi Handa <handa@m17n.org>
parents:
49662
diff
changeset
|
231 (;; Inscript-extra (4) (#, $, ^, *, ]) |
664f9896e442
(indian-dev-base-table): Table fixed.
Kenichi Handa <handa@m17n.org>
parents:
49662
diff
changeset
|
232 "$,1?M?0(B" "$,1?0?M(B" "$,1?$?M?0(B" "$,1?6?M?0(B" nil))) |
664f9896e442
(indian-dev-base-table): Table fixed.
Kenichi Handa <handa@m17n.org>
parents:
49662
diff
changeset
|
233 |
664f9896e442
(indian-dev-base-table): Table fixed.
Kenichi Handa <handa@m17n.org>
parents:
49662
diff
changeset
|
234 (defvar indian-mlm-base-table |
664f9896e442
(indian-dev-base-table): Table fixed.
Kenichi Handa <handa@m17n.org>
parents:
49662
diff
changeset
|
235 '( |
664f9896e442
(indian-dev-base-table): Table fixed.
Kenichi Handa <handa@m17n.org>
parents:
49662
diff
changeset
|
236 (;; VOWELS |
664f9896e442
(indian-dev-base-table): Table fixed.
Kenichi Handa <handa@m17n.org>
parents:
49662
diff
changeset
|
237 (?$,1@%(B nil) (?$,1@&(B ?$,1@^(B) (?$,1@'(B ?$,1@_(B) (?$,1@((B ?$,1@`(B) (?$,1@)(B ?$,1@a(B) (?$,1@*(B ?$,1@b(B) |
664f9896e442
(indian-dev-base-table): Table fixed.
Kenichi Handa <handa@m17n.org>
parents:
49662
diff
changeset
|
238 (?$,1@+(B ?$,1@c(B) (?$,1@,(B nil) nil (?$,1@/(B ?$,1@g(B) (?$,1@.(B ?$,1@f(B) (?$,1@0(B ?$,1@h(B) |
664f9896e442
(indian-dev-base-table): Table fixed.
Kenichi Handa <handa@m17n.org>
parents:
49662
diff
changeset
|
239 nil (?$,1@3(B ?$,1@k(B) (?$,1@2(B ?$,1@j(B) (?$,1@4(B ?$,1@l(B) nil nil) |
664f9896e442
(indian-dev-base-table): Table fixed.
Kenichi Handa <handa@m17n.org>
parents:
49662
diff
changeset
|
240 (;; CONSONANTS |
664f9896e442
(indian-dev-base-table): Table fixed.
Kenichi Handa <handa@m17n.org>
parents:
49662
diff
changeset
|
241 ?$,1@5(B ?$,1@6(B ?$,1@7(B ?$,1@8(B ?$,1@9(B ;; GUTTRULS |
664f9896e442
(indian-dev-base-table): Table fixed.
Kenichi Handa <handa@m17n.org>
parents:
49662
diff
changeset
|
242 ?$,1@:(B ?$,1@;(B ?$,1@<(B ?$,1@=(B ?$,1@>(B ;; PALATALS |
664f9896e442
(indian-dev-base-table): Table fixed.
Kenichi Handa <handa@m17n.org>
parents:
49662
diff
changeset
|
243 ?$,1@?(B ?$,1@@(B ?$,1@A(B ?$,1@B(B ?$,1@C(B ;; CEREBRALS |
664f9896e442
(indian-dev-base-table): Table fixed.
Kenichi Handa <handa@m17n.org>
parents:
49662
diff
changeset
|
244 ?$,1@D(B ?$,1@E(B ?$,1@F(B ?$,1@G(B ?$,1@H(B nil ;; DENTALS |
664f9896e442
(indian-dev-base-table): Table fixed.
Kenichi Handa <handa@m17n.org>
parents:
49662
diff
changeset
|
245 ?$,1@J(B ?$,1@K(B ?$,1@L(B ?$,1@M(B ?$,1@N(B ;; LABIALS |
664f9896e442
(indian-dev-base-table): Table fixed.
Kenichi Handa <handa@m17n.org>
parents:
49662
diff
changeset
|
246 ?$,1@O(B ?$,1@P(B ?$,1@Q(B ?$,1@R(B ?$,1@S(B ?$,1@T(B ?$,1@U(B ;; SEMIVOWELS |
664f9896e442
(indian-dev-base-table): Table fixed.
Kenichi Handa <handa@m17n.org>
parents:
49662
diff
changeset
|
247 ?$,1@V(B ?$,1@W(B ?$,1@X(B ?$,1@Y(B ;; SIBILANTS |
664f9896e442
(indian-dev-base-table): Table fixed.
Kenichi Handa <handa@m17n.org>
parents:
49662
diff
changeset
|
248 nil nil nil nil nil nil nil nil ;; NUKTAS |
664f9896e442
(indian-dev-base-table): Table fixed.
Kenichi Handa <handa@m17n.org>
parents:
49662
diff
changeset
|
249 "$,1@<@m@>(B" "$,1@5@m@W(B") |
664f9896e442
(indian-dev-base-table): Table fixed.
Kenichi Handa <handa@m17n.org>
parents:
49662
diff
changeset
|
250 (;; Misc Symbols |
664f9896e442
(indian-dev-base-table): Table fixed.
Kenichi Handa <handa@m17n.org>
parents:
49662
diff
changeset
|
251 nil ?$,1@"(B ?$,1@#(B nil ?$,1@m(B nil nil) |
664f9896e442
(indian-dev-base-table): Table fixed.
Kenichi Handa <handa@m17n.org>
parents:
49662
diff
changeset
|
252 (;; Digits |
664f9896e442
(indian-dev-base-table): Table fixed.
Kenichi Handa <handa@m17n.org>
parents:
49662
diff
changeset
|
253 ?$,1A&(B ?$,1A'(B ?$,1A((B ?$,1A)(B ?$,1A*(B ?$,1A+(B ?$,1A,(B ?$,1A-(B ?$,1A.(B ?$,1A/(B) |
664f9896e442
(indian-dev-base-table): Table fixed.
Kenichi Handa <handa@m17n.org>
parents:
49662
diff
changeset
|
254 (;; Inscript-extra (4) (#, $, ^, *, ]) |
664f9896e442
(indian-dev-base-table): Table fixed.
Kenichi Handa <handa@m17n.org>
parents:
49662
diff
changeset
|
255 "$,1@m@P(B" "$,1@P@m(B" "$,1@D@m@P(B" "$,1@V@m@P(B" nil))) |
664f9896e442
(indian-dev-base-table): Table fixed.
Kenichi Handa <handa@m17n.org>
parents:
49662
diff
changeset
|
256 |
664f9896e442
(indian-dev-base-table): Table fixed.
Kenichi Handa <handa@m17n.org>
parents:
49662
diff
changeset
|
257 (defvar indian-tml-base-table |
664f9896e442
(indian-dev-base-table): Table fixed.
Kenichi Handa <handa@m17n.org>
parents:
49662
diff
changeset
|
258 '( |
664f9896e442
(indian-dev-base-table): Table fixed.
Kenichi Handa <handa@m17n.org>
parents:
49662
diff
changeset
|
259 (;; VOWELS |
664f9896e442
(indian-dev-base-table): Table fixed.
Kenichi Handa <handa@m17n.org>
parents:
49662
diff
changeset
|
260 (?$,1<%(B nil) (?$,1<&(B ?$,1<^(B) (?$,1<'(B ?$,1<_(B) (?$,1<((B ?$,1<`(B) (?$,1<)(B ?$,1<a(B) (?$,1<*(B ?$,1<b(B) |
664f9896e442
(indian-dev-base-table): Table fixed.
Kenichi Handa <handa@m17n.org>
parents:
49662
diff
changeset
|
261 nil nil nil (?$,1</(B ?$,1<g(B) (?$,1<.(B ?$,1<f(B) (?$,1<0(B ?$,1<h(B) |
664f9896e442
(indian-dev-base-table): Table fixed.
Kenichi Handa <handa@m17n.org>
parents:
49662
diff
changeset
|
262 nil (?$,1<3(B ?$,1<k(B) (?$,1<2(B ?$,1<j(B) (?$,1<4(B ?$,1<l(B) nil nil) |
664f9896e442
(indian-dev-base-table): Table fixed.
Kenichi Handa <handa@m17n.org>
parents:
49662
diff
changeset
|
263 (;; CONSONANTS |
664f9896e442
(indian-dev-base-table): Table fixed.
Kenichi Handa <handa@m17n.org>
parents:
49662
diff
changeset
|
264 ?$,1<5(B nil nil nil ?$,1<9(B ;; GUTTRULS |
664f9896e442
(indian-dev-base-table): Table fixed.
Kenichi Handa <handa@m17n.org>
parents:
49662
diff
changeset
|
265 ?$,1<:(B nil ?$,1<<(B nil ?$,1<>(B ;; PALATALS |
664f9896e442
(indian-dev-base-table): Table fixed.
Kenichi Handa <handa@m17n.org>
parents:
49662
diff
changeset
|
266 ?$,1<?(B nil nil nil ?$,1<C(B ;; CEREBRALS |
664f9896e442
(indian-dev-base-table): Table fixed.
Kenichi Handa <handa@m17n.org>
parents:
49662
diff
changeset
|
267 ?$,1<D(B nil nil nil ?$,1<H(B ?$,1<I(B ;; DENTALS |
664f9896e442
(indian-dev-base-table): Table fixed.
Kenichi Handa <handa@m17n.org>
parents:
49662
diff
changeset
|
268 ?$,1<J(B nil nil nil ?$,1<N(B ;; LABIALS |
664f9896e442
(indian-dev-base-table): Table fixed.
Kenichi Handa <handa@m17n.org>
parents:
49662
diff
changeset
|
269 ?$,1<O(B ?$,1<P(B ?$,1<Q(B ?$,1<R(B ?$,1<S(B ?$,1<T(B ?$,1<U(B ;; SEMIVOWELS |
664f9896e442
(indian-dev-base-table): Table fixed.
Kenichi Handa <handa@m17n.org>
parents:
49662
diff
changeset
|
270 nil ?$,1<W(B ?$,1<X(B ?$,1<Y(B ;; SIBILANTS |
664f9896e442
(indian-dev-base-table): Table fixed.
Kenichi Handa <handa@m17n.org>
parents:
49662
diff
changeset
|
271 nil nil nil nil nil nil nil nil ;; NUKTAS |
664f9896e442
(indian-dev-base-table): Table fixed.
Kenichi Handa <handa@m17n.org>
parents:
49662
diff
changeset
|
272 "$,1<<<m<>(B" "$,1<5<m<W(B") |
664f9896e442
(indian-dev-base-table): Table fixed.
Kenichi Handa <handa@m17n.org>
parents:
49662
diff
changeset
|
273 (;; Misc Symbols |
664f9896e442
(indian-dev-base-table): Table fixed.
Kenichi Handa <handa@m17n.org>
parents:
49662
diff
changeset
|
274 nil ?$,1<"(B ?$,1<#(B nil ?$,1<m(B nil nil) |
664f9896e442
(indian-dev-base-table): Table fixed.
Kenichi Handa <handa@m17n.org>
parents:
49662
diff
changeset
|
275 (;; Digits |
664f9896e442
(indian-dev-base-table): Table fixed.
Kenichi Handa <handa@m17n.org>
parents:
49662
diff
changeset
|
276 nil ?$,1='(B ?$,1=((B ?$,1=)(B ?$,1=*(B ?$,1=+(B ?$,1=,(B ?$,1=-(B ?$,1=.(B ?$,1=/(B) |
664f9896e442
(indian-dev-base-table): Table fixed.
Kenichi Handa <handa@m17n.org>
parents:
49662
diff
changeset
|
277 (;; Inscript-extra (4) (#, $, ^, *, ]) |
664f9896e442
(indian-dev-base-table): Table fixed.
Kenichi Handa <handa@m17n.org>
parents:
49662
diff
changeset
|
278 "$,1<m<P(B" "$,1<P<m(B" "$,1<D<m<P(B" nil nil))) |
41470 | 279 |
280 (defvar indian-base-table-to-language-alist | |
281 '((indian-dev-base-table . "Devanagari") | |
49598
0d8b17d428b5
Trailing whitepace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents:
46223
diff
changeset
|
282 (indian-pnj-base-table . "Punjabi") |
41470 | 283 (indian-ori-base-table . "Oriya") |
284 (indian-bng-base-table . "Bengali") | |
285 (indian-asm-base-table . "Assamese") | |
286 (indian-tlg-base-table . "Telugu") | |
287 (indian-knd-base-table . "Kannada") | |
288 (indian-mlm-base-table . "Malayalam") | |
289 (indian-tml-base-table . "Tamil"))) | |
290 | |
291 (defvar indian-itrans-v5-table | |
292 '(;; for encode/decode | |
293 (;; vowels -- 18 | |
294 "a" ("aa" "A") "i" ("ii" "I") "u" ("uu" "U") | |
49662
47a6a31b9018
(indian-itrans-v5-table): Add entries for "E" and "O".
Kenichi Handa <handa@m17n.org>
parents:
49598
diff
changeset
|
295 ("RRi" "R^i") ("LLi" "L^i") (".c" "e.c") "E" "e" "ai" |
47a6a31b9018
(indian-itrans-v5-table): Add entries for "E" and "O".
Kenichi Handa <handa@m17n.org>
parents:
49598
diff
changeset
|
296 "o.c" "O" "o" "au" ("RRI" "R^I") ("LLI" "L^I")) |
49598
0d8b17d428b5
Trailing whitepace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents:
46223
diff
changeset
|
297 (;; consonants -- 40 |
41470 | 298 "k" "kh" "g" "gh" ("~N" "N^") |
299 "ch" ("Ch" "chh") "j" "jh" ("~n" "JN") | |
300 "T" "Th" "D" "Dh" "N" | |
49598
0d8b17d428b5
Trailing whitepace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents:
46223
diff
changeset
|
301 "t" "th" "d" "dh" "n" "nh" |
41470 | 302 "p" "ph" "b" "bh" "m" |
303 "y" "r" "rh" "l" ("L" "ld") nil ("v" "w") | |
304 "sh" ("Sh" "shh") "s" "h" | |
305 "q" "K" "G" ("J" "z") ".D" ".Dh" "f" ("Y" "yh") | |
306 ("GY" "dny") "x") | |
307 (;; misc -- 7 | |
308 ".N" (".n" "M") "H" ".a" ".h" ("AUM" "OM") ".."))) | |
309 | |
310 (defvar indian-kyoto-harvard-table | |
311 '(;; for encode/decode | |
312 (;; vowel | |
313 "a" ("A" "aa") "i" ("I" "ii") "u" ("U" "uu") | |
314 "R" ("L" "lR") nil nil "e" "ai" | |
315 nil nil "o" "au" ("q" "RR" "Q") ("E" "LL" "lRR")) | |
316 (;; consonant | |
317 "k" "kh" "g" "gh" "G" | |
318 "c" "ch" "j" "jh" "J" | |
319 "T" "Th" "D" "Dh" "N" | |
320 "t" "th" "d" "dh" "n" nil | |
321 "p" "ph" "b" "bh" "m" | |
322 "y" "r" nil "l" "L" nil "v" | |
323 ("z" "Z") "S" "s" "h" | |
324 nil nil nil nil nil nil nil nil | |
325 nil nil) | |
326 (;; misc | |
327 nil "M" "H" "'" nil "." nil))) | |
328 | |
329 (defvar indian-harvard-table | |
330 '(;; for encode/decode | |
331 (;; vowel | |
332 "a" ("A" "aa") "i" ("I" "ii") "u" ("U" "uu") | |
333 "R" ("L" "lR") nil nil "e" "ai" | |
334 nil nil "o" "au" ("RR" "q" "Q") ("LL" "E" "lRR")) | |
335 (;; consonant | |
336 "k" "kh" "g" "gh" "G" | |
337 "c" "ch" "j" "jh" "J" | |
338 "T" "Th" "D" "Dh" "N" | |
339 "t" "th" "d" "dh" "n" nil | |
340 "p" "ph" "b" "bh" "m" | |
341 "y" "r" nil "l" "L" nil "v" | |
342 ("z" "Z") "S" "s" "h" | |
343 nil nil nil nil nil nil nil nil | |
344 nil nil) | |
345 (;; misc | |
346 nil "M" "H" "'" nil "." nil))) | |
347 | |
348 (defvar indian-tokyo-table | |
349 '(;; for encode/decode | |
350 (;; vowel | |
351 "a" ("A" "aa") "i" ("I" "ii") "u" ("U" "uu") | |
352 "R" ("L" "lR") nil nil "e" "ai" | |
353 nil nil "o" "au" ("Q" "RR" "q") ("E" "LL" "lRR")) | |
354 (;; consonant | |
355 "k" "kh" "g" "gh" "G" | |
356 "c" "ch" "j" "jh" "J" | |
357 "T" "Th" "D" "Dh" "N" | |
358 "t" "th" "d" "dh" "n" nil | |
359 "p" "ph" "b" "bh" "m" | |
360 "y" "r" nil "l" "L" nil "v" | |
361 ("Z" "z") "S" "s" "h" | |
362 nil nil nil nil nil nil nil nil | |
363 nil nil) | |
364 (;; misc | |
365 nil "M" "H" "'" nil "." nil))) | |
366 | |
367 (defvar indian-aiba-table | |
368 '(;; for encode/decode | |
369 (;; vowel | |
370 "a" "aa" "i" "ii" "u" "uu" | |
371 ".r" ".l" nil nil "e" "ai" | |
372 nil nil "o" "au" "~r" "~l") | |
373 (;; consonant | |
374 "k" "kh" "g" "gh" "^n" | |
375 "c" "ch" "j" "jh" "~n" | |
376 ".t" ".th" ".d" ".dh" ".n" | |
377 "t" "th" "d" "dh" "n" nil | |
378 "p" "ph" "b" "bh" "m" | |
379 "y" "r" nil "l" nil nil "v" | |
380 "^s" ".s" "s" "h" | |
381 nil nil nil nil nil nil nil nil | |
382 nil nil) | |
383 (;; misc | |
384 nil ".m" ".h" "'" nil "." nil))) | |
385 | |
386 (defun mapthread (function seq1 &rest seqrest) | |
387 "Apply FUNCTION to each element of SEQ1 and return result list. | |
388 If there are several SEQRESTs, FUNCTION is called with that many | |
389 arguments, with all possible combinations of these multiple SEQUENCES. | |
390 Thus, if SEQ1 contains 3 elements and SEQ2 contains 5 elements, then | |
391 FUNCTION will be called 15 times." | |
392 (if seqrest | |
49598
0d8b17d428b5
Trailing whitepace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents:
46223
diff
changeset
|
393 (mapcar |
41470 | 394 (lambda (x) |
49598
0d8b17d428b5
Trailing whitepace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents:
46223
diff
changeset
|
395 (apply |
0d8b17d428b5
Trailing whitepace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents:
46223
diff
changeset
|
396 'mapthread |
42070
e904fde74072
(mapthread): Make a closure.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42060
diff
changeset
|
397 `(lambda (&rest y) (apply ',function x y)) |
41470 | 398 seqrest)) |
399 seq1) | |
400 (mapcar function seq1))) | |
401 | |
402 (defun indian--puthash-char (char trans-char hashtbls) | |
403 (let ((encode-hash (car hashtbls)) ;; char -> trans | |
404 (decode-hash (cdr hashtbls)) ;; trans -> char | |
405 ) | |
406 ;; char -- nil / char / string (/ list of vowel & matra) | |
407 ;; trans-char -- nil / string / list of strings | |
408 (when (and char trans-char) | |
409 (if (stringp trans-char) (setq trans-char (list trans-char))) | |
410 (if (char-valid-p char) (setq char (char-to-string char))) | |
411 (puthash char (car trans-char) encode-hash) | |
51078
39435a35a003
(indian-regexp-of-hashtbl-keys): Don't sort the argument to regexp-opt.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
50528
diff
changeset
|
412 (dolist (trans trans-char) |
39435a35a003
(indian-regexp-of-hashtbl-keys): Don't sort the argument to regexp-opt.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
50528
diff
changeset
|
413 (puthash trans char decode-hash))))) |
41470 | 414 |
42056 | 415 (defun indian--map (f l1 l2) |
416 (while l1 | |
417 (funcall f (pop l1) (pop l2)))) | |
418 | |
41470 | 419 (defun indian--puthash-v (v trans-v hashtbls) |
49598
0d8b17d428b5
Trailing whitepace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents:
46223
diff
changeset
|
420 (indian--map |
42056 | 421 (lambda (v trans-v) |
422 (indian--puthash-char (car v) trans-v hashtbls)) | |
41470 | 423 v trans-v)) |
424 | |
425 (defun indian--puthash-c (c trans-c halant hashtbls) | |
42056 | 426 (indian--map |
427 (lambda (c trans-c) | |
428 (if (char-valid-p c) (setq c (char-to-string c))) | |
429 (indian--puthash-char (concat c halant) trans-c hashtbls)) | |
41470 | 430 c trans-c)) |
431 | |
432 (defun indian--puthash-m (m trans-m hashtbls) | |
42056 | 433 (indian--map |
434 (lambda (m trans-m) | |
435 (indian--puthash-char m trans-m hashtbls)) | |
41470 | 436 m trans-m)) |
437 | |
438 (defun indian--puthash-cv (c trans-c v trans-v hashtbls) | |
42056 | 439 (indian--map |
440 (lambda (c trans-c) | |
441 (indian--map | |
442 (lambda (v trans-v) | |
443 (when (and c trans-c v trans-v) | |
444 (if (char-valid-p c) (setq c (char-to-string c))) | |
445 (setq v (if (char-valid-p (cadr v)) (char-to-string (cadr v)) "")) | |
446 (if (stringp trans-c) (setq trans-c (list trans-c))) | |
447 (if (stringp trans-v) (setq trans-v (list trans-v))) | |
49598
0d8b17d428b5
Trailing whitepace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents:
46223
diff
changeset
|
448 (indian--puthash-char |
42056 | 449 (concat c v) |
450 (apply 'append | |
451 (mapthread 'concat trans-c trans-v)) | |
452 hashtbls))) | |
453 v trans-v)) | |
41470 | 454 c trans-c)) |
455 | |
456 (defun indian-make-hash (table trans-table) | |
457 "Indian Transliteration Hash for decode/encode" | |
46223
e5298463efed
(indian-make-hash): Switch makehash -> make-hash-table.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42111
diff
changeset
|
458 (let* ((encode-hash (make-hash-table :test 'equal)) |
e5298463efed
(indian-make-hash): Switch makehash -> make-hash-table.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
42111
diff
changeset
|
459 (decode-hash (make-hash-table :test 'equal)) |
41470 | 460 (hashtbls (cons encode-hash decode-hash)) |
461 (vowels (elt table 0)) | |
462 (consonants (elt table 1)) | |
463 (misc (elt table 2)) | |
464 (digits (elt table 3)) | |
465 (halant (char-to-string (elt misc 4))) | |
466 (trans-vowels (elt trans-table 0)) | |
467 (trans-consonants (elt trans-table 1)) | |
468 (trans-misc (elt trans-table 2)) | |
469 (trans-digits '("0" "1" "2" "3" "4" "5" "6" "7" "8" "9"))) | |
470 (indian--puthash-v vowels trans-vowels hashtbls) | |
471 (indian--puthash-c consonants trans-consonants halant hashtbls) | |
49598
0d8b17d428b5
Trailing whitepace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents:
46223
diff
changeset
|
472 (indian--puthash-cv consonants trans-consonants |
41470 | 473 vowels trans-vowels hashtbls) |
474 (indian--puthash-m misc trans-misc hashtbls) | |
475 (indian--puthash-m digits trans-digits hashtbls) | |
476 hashtbls)) | |
477 | |
478 (defvar indian-dev-itrans-v5-hash | |
479 (indian-make-hash indian-dev-base-table | |
480 indian-itrans-v5-table)) | |
481 (defvar indian-dev-kyoto-harvard-hash | |
482 (indian-make-hash indian-dev-base-table | |
483 indian-kyoto-harvard-table)) | |
484 (defvar indian-dev-aiba-hash | |
485 (indian-make-hash indian-dev-base-table | |
486 indian-aiba-table)) | |
487 | |
49703
664f9896e442
(indian-dev-base-table): Table fixed.
Kenichi Handa <handa@m17n.org>
parents:
49662
diff
changeset
|
488 (defvar indian-pnj-itrans-v5-hash |
664f9896e442
(indian-dev-base-table): Table fixed.
Kenichi Handa <handa@m17n.org>
parents:
49662
diff
changeset
|
489 (indian-make-hash indian-pnj-base-table |
664f9896e442
(indian-dev-base-table): Table fixed.
Kenichi Handa <handa@m17n.org>
parents:
49662
diff
changeset
|
490 indian-itrans-v5-table)) |
664f9896e442
(indian-dev-base-table): Table fixed.
Kenichi Handa <handa@m17n.org>
parents:
49662
diff
changeset
|
491 |
664f9896e442
(indian-dev-base-table): Table fixed.
Kenichi Handa <handa@m17n.org>
parents:
49662
diff
changeset
|
492 (defvar indian-gjr-itrans-v5-hash |
664f9896e442
(indian-dev-base-table): Table fixed.
Kenichi Handa <handa@m17n.org>
parents:
49662
diff
changeset
|
493 (indian-make-hash indian-gjr-base-table |
664f9896e442
(indian-dev-base-table): Table fixed.
Kenichi Handa <handa@m17n.org>
parents:
49662
diff
changeset
|
494 indian-itrans-v5-table)) |
664f9896e442
(indian-dev-base-table): Table fixed.
Kenichi Handa <handa@m17n.org>
parents:
49662
diff
changeset
|
495 |
664f9896e442
(indian-dev-base-table): Table fixed.
Kenichi Handa <handa@m17n.org>
parents:
49662
diff
changeset
|
496 (defvar indian-ori-itrans-v5-hash |
664f9896e442
(indian-dev-base-table): Table fixed.
Kenichi Handa <handa@m17n.org>
parents:
49662
diff
changeset
|
497 (indian-make-hash indian-ori-base-table |
664f9896e442
(indian-dev-base-table): Table fixed.
Kenichi Handa <handa@m17n.org>
parents:
49662
diff
changeset
|
498 indian-itrans-v5-table)) |
664f9896e442
(indian-dev-base-table): Table fixed.
Kenichi Handa <handa@m17n.org>
parents:
49662
diff
changeset
|
499 |
664f9896e442
(indian-dev-base-table): Table fixed.
Kenichi Handa <handa@m17n.org>
parents:
49662
diff
changeset
|
500 (defvar indian-bng-itrans-v5-hash |
664f9896e442
(indian-dev-base-table): Table fixed.
Kenichi Handa <handa@m17n.org>
parents:
49662
diff
changeset
|
501 (indian-make-hash indian-bng-base-table |
664f9896e442
(indian-dev-base-table): Table fixed.
Kenichi Handa <handa@m17n.org>
parents:
49662
diff
changeset
|
502 indian-itrans-v5-table)) |
664f9896e442
(indian-dev-base-table): Table fixed.
Kenichi Handa <handa@m17n.org>
parents:
49662
diff
changeset
|
503 |
664f9896e442
(indian-dev-base-table): Table fixed.
Kenichi Handa <handa@m17n.org>
parents:
49662
diff
changeset
|
504 (defvar indian-asm-itrans-v5-hash |
664f9896e442
(indian-dev-base-table): Table fixed.
Kenichi Handa <handa@m17n.org>
parents:
49662
diff
changeset
|
505 (indian-make-hash indian-asm-base-table |
664f9896e442
(indian-dev-base-table): Table fixed.
Kenichi Handa <handa@m17n.org>
parents:
49662
diff
changeset
|
506 indian-itrans-v5-table)) |
664f9896e442
(indian-dev-base-table): Table fixed.
Kenichi Handa <handa@m17n.org>
parents:
49662
diff
changeset
|
507 |
664f9896e442
(indian-dev-base-table): Table fixed.
Kenichi Handa <handa@m17n.org>
parents:
49662
diff
changeset
|
508 (defvar indian-tlg-itrans-v5-hash |
664f9896e442
(indian-dev-base-table): Table fixed.
Kenichi Handa <handa@m17n.org>
parents:
49662
diff
changeset
|
509 (indian-make-hash indian-tlg-base-table |
664f9896e442
(indian-dev-base-table): Table fixed.
Kenichi Handa <handa@m17n.org>
parents:
49662
diff
changeset
|
510 indian-itrans-v5-table)) |
664f9896e442
(indian-dev-base-table): Table fixed.
Kenichi Handa <handa@m17n.org>
parents:
49662
diff
changeset
|
511 |
664f9896e442
(indian-dev-base-table): Table fixed.
Kenichi Handa <handa@m17n.org>
parents:
49662
diff
changeset
|
512 (defvar indian-knd-itrans-v5-hash |
664f9896e442
(indian-dev-base-table): Table fixed.
Kenichi Handa <handa@m17n.org>
parents:
49662
diff
changeset
|
513 (indian-make-hash indian-knd-base-table |
664f9896e442
(indian-dev-base-table): Table fixed.
Kenichi Handa <handa@m17n.org>
parents:
49662
diff
changeset
|
514 indian-itrans-v5-table)) |
664f9896e442
(indian-dev-base-table): Table fixed.
Kenichi Handa <handa@m17n.org>
parents:
49662
diff
changeset
|
515 |
664f9896e442
(indian-dev-base-table): Table fixed.
Kenichi Handa <handa@m17n.org>
parents:
49662
diff
changeset
|
516 (defvar indian-mlm-itrans-v5-hash |
664f9896e442
(indian-dev-base-table): Table fixed.
Kenichi Handa <handa@m17n.org>
parents:
49662
diff
changeset
|
517 (indian-make-hash indian-mlm-base-table |
664f9896e442
(indian-dev-base-table): Table fixed.
Kenichi Handa <handa@m17n.org>
parents:
49662
diff
changeset
|
518 indian-itrans-v5-table)) |
664f9896e442
(indian-dev-base-table): Table fixed.
Kenichi Handa <handa@m17n.org>
parents:
49662
diff
changeset
|
519 |
664f9896e442
(indian-dev-base-table): Table fixed.
Kenichi Handa <handa@m17n.org>
parents:
49662
diff
changeset
|
520 (defvar indian-tml-itrans-v5-hash |
664f9896e442
(indian-dev-base-table): Table fixed.
Kenichi Handa <handa@m17n.org>
parents:
49662
diff
changeset
|
521 (indian-make-hash indian-tml-base-table |
664f9896e442
(indian-dev-base-table): Table fixed.
Kenichi Handa <handa@m17n.org>
parents:
49662
diff
changeset
|
522 indian-itrans-v5-table)) |
41470 | 523 ) |
524 | |
525 (defmacro indian-translate-region (from to hashtable encode-p) | |
526 `(save-excursion | |
527 (save-restriction | |
49598
0d8b17d428b5
Trailing whitepace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents:
46223
diff
changeset
|
528 (let ((regexp ,(indian-regexp-of-hashtbl-keys |
0d8b17d428b5
Trailing whitepace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents:
46223
diff
changeset
|
529 (if encode-p (car (eval hashtable)) |
41470 | 530 (cdr (eval hashtable)))))) |
531 (narrow-to-region from to) | |
532 (goto-char (point-min)) | |
533 (while (re-search-forward regexp nil t) | |
49598
0d8b17d428b5
Trailing whitepace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents:
46223
diff
changeset
|
534 (let ((matchstr (gethash (match-string 0) |
42056 | 535 (if ,encode-p |
536 (car ,hashtable) | |
537 (cdr ,hashtable))))) | |
41470 | 538 (if matchstr (replace-match matchstr)))))))) |
539 | |
540 ;;; | |
541 | |
542 (defun indian-dev-itrans-v5-encode-region (from to) | |
543 (interactive "r") | |
49598
0d8b17d428b5
Trailing whitepace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents:
46223
diff
changeset
|
544 (indian-translate-region |
41470 | 545 from to indian-dev-itrans-v5-hash t)) |
546 | |
547 (defun indian-dev-itrans-v5-decode-region (from to) | |
548 (interactive "r") | |
549 (indian-translate-region | |
550 from to indian-dev-itrans-v5-hash nil)) | |
551 | |
552 (defun indian-dev-kyoto-harvard-encode-region (from to) | |
553 (interactive "r") | |
49598
0d8b17d428b5
Trailing whitepace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents:
46223
diff
changeset
|
554 (indian-translate-region |
41470 | 555 from to indian-dev-kyoto-harvard-hash t)) |
556 | |
557 (defun indian-dev-kyoto-harvard-decode-region (from to) | |
558 (interactive "r") | |
559 (indian-translate-region | |
560 from to indian-dev-kyoto-harvard-hash nil)) | |
561 | |
562 (defun indian-dev-aiba-encode-region (from to) | |
563 (interactive "r") | |
49598
0d8b17d428b5
Trailing whitepace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents:
46223
diff
changeset
|
564 (indian-translate-region |
41470 | 565 from to indian-dev-aiba-hash t)) |
566 | |
567 (defun indian-dev-aiba-decode-region (from to) | |
568 (interactive "r") | |
569 (indian-translate-region | |
570 from to indian-dev-aiba-hash nil)) | |
571 | |
572 | |
573 | |
574 | |
575 ;;; IS 13194 utilities | |
576 | |
577 ;; The followings provide conversion between IS 13194 (ISCII) and UCS. | |
578 | |
579 (defvar ucs-devanagari-to-is13194-alist | |
580 '(;;Unicode vs IS13194 ;; only Devanagari is supported now. | |
581 (?\x0900 . "[U+0900]") | |
582 (?\x0901 . "(5!(B") | |
583 (?\x0902 . "(5"(B") | |
584 (?\x0903 . "(5#(B") | |
585 (?\x0904 . "[U+0904]") | |
586 (?\x0905 . "(5$(B") | |
587 (?\x0906 . "(5%(B") | |
588 (?\x0907 . "(5&(B") | |
589 (?\x0908 . "(5'(B") | |
590 (?\x0909 . "(5((B") | |
591 (?\x090a . "(5)(B") | |
592 (?\x090b . "(5*(B") | |
593 (?\x090c . "(5&i(B") | |
594 (?\x090d . "(5.(B") | |
595 (?\x090e . "(5+(B") | |
596 (?\x090f . "(5,(B") | |
597 (?\x0910 . "(5-(B") | |
598 (?\x0911 . "(52(B") | |
599 (?\x0912 . "(5/(B") | |
600 (?\x0913 . "(50(B") | |
601 (?\x0914 . "(51(B") | |
602 (?\x0915 . "(53(B") | |
603 (?\x0916 . "(54(B") | |
604 (?\x0917 . "(55(B") | |
605 (?\x0918 . "(56(B") | |
606 (?\x0919 . "(57(B") | |
607 (?\x091a . "(58(B") | |
608 (?\x091b . "(59(B") | |
609 (?\x091c . "(5:(B") | |
610 (?\x091d . "(5;(B") | |
611 (?\x091e . "(5<(B") | |
612 (?\x091f . "(5=(B") | |
613 (?\x0920 . "(5>(B") | |
614 (?\x0921 . "(5?(B") | |
615 (?\x0922 . "(5@(B") | |
616 (?\x0923 . "(5A(B") | |
617 (?\x0924 . "(5B(B") | |
618 (?\x0925 . "(5C(B") | |
619 (?\x0926 . "(5D(B") | |
620 (?\x0927 . "(5E(B") | |
621 (?\x0928 . "(5F(B") | |
622 (?\x0929 . "(5G(B") | |
623 (?\x092a . "(5H(B") | |
624 (?\x092b . "(5I(B") | |
625 (?\x092c . "(5J(B") | |
626 (?\x092d . "(5K(B") | |
627 (?\x092e . "(5L(B") | |
628 (?\x092f . "(5M(B") | |
629 (?\x0930 . "(5O(B") | |
630 (?\x0931 . "(5P(B") | |
631 (?\x0932 . "(5Q(B") | |
632 (?\x0933 . "(5R(B") | |
633 (?\x0934 . "(5S(B") | |
634 (?\x0935 . "(5T(B") | |
635 (?\x0936 . "(5U(B") | |
636 (?\x0937 . "(5V(B") | |
637 (?\x0938 . "(5W(B") | |
638 (?\x0939 . "(5X(B") | |
639 (?\x093a . "[U+093a]") | |
640 (?\x093b . "[U+093b]") | |
641 (?\x093c . "(5i(B") | |
642 (?\x093d . "(5ji(B") | |
643 (?\x093e . "(5Z(B") | |
644 (?\x093f . "(5[(B") | |
645 (?\x0940 . "(5\(B") | |
646 (?\x0941 . "(5](B") | |
647 (?\x0942 . "(5^(B") | |
648 (?\x0943 . "(5_(B") | |
649 (?\x0944 . "(5_i(B") | |
650 (?\x0945 . "(5c(B") | |
651 (?\x0946 . "(5`(B") | |
652 (?\x0947 . "(5a(B") | |
653 (?\x0948 . "(5b(B") | |
654 (?\x0949 . "(5g(B") | |
655 (?\x094a . "(5d(B") | |
656 (?\x094b . "(5e(B") | |
657 (?\x094c . "(5f(B") | |
658 (?\x094d . "(5h(B") | |
659 (?\x094e . "[U+094e]") | |
660 (?\x094f . "[U+094f]") | |
661 (?\x0950 . "(5!i(B") | |
662 (?\x0951 . "(5p5(B") | |
663 (?\x0952 . "(5p8(B") | |
664 (?\x0953 . "[DEVANAGARI GRAVE ACCENT]") | |
665 (?\x0954 . "[DEVANAGARI ACUTE ACCENT]") | |
666 (?\x0955 . "[U+0955]") | |
667 (?\x0956 . "[U+0956]") | |
668 (?\x0957 . "[U+0957]") | |
669 (?\x0958 . "(53i(B") | |
670 (?\x0959 . "(54i(B") | |
671 (?\x095a . "(55i(B") | |
672 (?\x095b . "(5:i(B") | |
673 (?\x095c . "(5?i(B") | |
674 (?\x095d . "(5@i(B") | |
675 (?\x095e . "(5Ii(B") | |
676 (?\x095f . "(5N(B") | |
677 (?\x0960 . "(5*i(B") | |
678 (?\x0961 . "(5'i(B") | |
679 (?\x0962 . "(5[i(B") | |
680 (?\x0963 . "(5ei(B") | |
681 (?\x0964 . "(5j(B") | |
682 (?\x0965 . "(5jj(B") | |
683 (?\x0966 . "(5q(B") | |
684 (?\x0967 . "(5r(B") | |
685 (?\x0968 . "(5s(B") | |
686 (?\x0969 . "(5t(B") | |
687 (?\x096a . "(5u(B") | |
688 (?\x096b . "(5v(B") | |
689 (?\x096c . "(5w(B") | |
690 (?\x096d . "(5x(B") | |
691 (?\x096e . "(5y(B") | |
692 (?\x096f . "(5z(B") | |
693 (?\x0970 . "[U+0970]") | |
694 (?\x0971 . "[U+0971]") | |
695 (?\x0972 . "[U+0972]") | |
696 (?\x0973 . "[U+0973]") | |
697 (?\x0974 . "[U+0974]") | |
698 (?\x0975 . "[U+0975]") | |
699 (?\x0976 . "[U+0976]") | |
700 (?\x0977 . "[U+0977]") | |
701 (?\x0978 . "[U+0978]") | |
702 (?\x0979 . "[U+0979]") | |
703 (?\x097a . "[U+097a]") | |
704 (?\x097b . "[U+097b]") | |
705 (?\x097c . "[U+097c]") | |
706 (?\x097d . "[U+097d]") | |
707 (?\x097e . "[U+097e]") | |
708 (?\x097f . "[U+097f]"))) | |
709 | |
710 (defvar ucs-bengali-to-is13194-alist nil) | |
711 (defvar ucs-assamese-to-is13194-alist nil) | |
712 (defvar ucs-gurmukhi-to-is13194-alist nil) | |
713 (defvar ucs-gujarati-to-is13194-alist nil) | |
714 (defvar ucs-oriya-to-is13194-alist nil) | |
715 (defvar ucs-tamil-to-is13194-alist nil) | |
716 (defvar ucs-telugu-to-is13194-alist nil) | |
717 (defvar ucs-malayalam-to-is13194-alist nil) | |
53017
c65ae0405d12
(ucs-kannada-to-is13194-alist) (is13194-to-ucs-kannada-hashtbl,
Kenichi Handa <handa@m17n.org>
parents:
52401
diff
changeset
|
718 (defvar ucs-kannada-to-is13194-alist nil) |
41470 | 719 |
720 (defvar is13194-default-repartory 'devanagari) | |
721 | |
722 (defvar is13194-repertory-to-ucs-script | |
723 `((DEF ?\x40 ,is13194-default-repartory) | |
724 (RMN ?\x41 ,is13194-default-repartory) | |
725 (DEV ?\x42 devanagari) | |
726 (BNG ?\x43 bengali) | |
727 (TML ?\x44 tamil) | |
728 (TLG ?\x45 telugu) | |
729 (ASM ?\x46 bengali) | |
730 (ORI ?\x47 oriya) | |
731 (KND ?\x48 kannada) | |
732 (MLM ?\x49 malayalam) | |
733 (GJR ?\x4a gujarati) | |
734 (PNJ ?\x4b gurmukhi))) | |
735 | |
736 ;; for guiding find-variable function. | |
737 (defvar is13194-to-ucs-devanagari-hashtbl nil) | |
738 (defvar is13194-to-ucs-devanagari-regexp nil) | |
739 (defvar is13194-to-ucs-bengali-hashtbl nil) | |
740 (defvar is13194-to-ucs-bengali-regexp nil) | |
741 (defvar is13194-to-ucs-assamese-hashtbl nil) | |
742 (defvar is13194-to-ucs-assamese-regexp nil) | |
743 (defvar is13194-to-ucs-gurmukhi-hashtbl nil) | |
744 (defvar is13194-to-ucs-gurmukhi-regexp nil) | |
745 (defvar is13194-to-ucs-gujarati-hashtbl nil) | |
746 (defvar is13194-to-ucs-gujarati-regexp nil) | |
747 (defvar is13194-to-ucs-oriya-hashtbl nil) | |
748 (defvar is13194-to-ucs-oriya-regexp nil) | |
749 (defvar is13194-to-ucs-tamil-hashtbl nil) | |
750 (defvar is13194-to-ucs-tamil-regexp nil) | |
751 (defvar is13194-to-ucs-telugu-hashtbl nil) | |
752 (defvar is13194-to-ucs-telugu-regexp nil) | |
753 (defvar is13194-to-ucs-malayalam-hashtbl nil) | |
754 (defvar is13194-to-ucs-malayalam-regexp nil) | |
53017
c65ae0405d12
(ucs-kannada-to-is13194-alist) (is13194-to-ucs-kannada-hashtbl,
Kenichi Handa <handa@m17n.org>
parents:
52401
diff
changeset
|
755 (defvar is13194-to-ucs-kannada-hashtbl nil) |
c65ae0405d12
(ucs-kannada-to-is13194-alist) (is13194-to-ucs-kannada-hashtbl,
Kenichi Handa <handa@m17n.org>
parents:
52401
diff
changeset
|
756 (defvar is13194-to-ucs-kannada-regexp nil) |
41470 | 757 |
49598
0d8b17d428b5
Trailing whitepace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents:
46223
diff
changeset
|
758 (mapc |
0d8b17d428b5
Trailing whitepace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents:
46223
diff
changeset
|
759 (function (lambda (script) |
0d8b17d428b5
Trailing whitepace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents:
46223
diff
changeset
|
760 (let ((hashtable (intern (concat "is13194-to-ucs-" |
41470 | 761 (symbol-name script) "-hashtbl" ))) |
762 (regexp (intern (concat "is13194-to-ucs-" | |
763 (symbol-name script) "-regexp")))) | |
764 (set hashtable (make-hash-table :test 'equal :size 128)) | |
765 (mapc | |
766 (function (lambda (x) | |
49598
0d8b17d428b5
Trailing whitepace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents:
46223
diff
changeset
|
767 (put-char-code-property (decode-char 'ucs (car x)) |
41470 | 768 'script script) |
49598
0d8b17d428b5
Trailing whitepace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents:
46223
diff
changeset
|
769 (put-char-code-property (decode-char 'ucs (car x)) |
41470 | 770 'iscii (cdr x)) |
771 (puthash (cdr x) (char-to-string (decode-char 'ucs (car x))) | |
772 (eval hashtable)))) | |
773 (eval (intern (concat "ucs-" (symbol-name script) | |
774 "-to-is13194-alist")))) | |
42060
f3b460667d31
(range): Function deleted.
Richard M. Stallman <rms@gnu.org>
parents:
42056
diff
changeset
|
775 (set regexp (indian-regexp-of-hashtbl-keys (eval hashtable)))))) |
41470 | 776 '(devanagari bengali assamese gurmukhi gujarati |
53017
c65ae0405d12
(ucs-kannada-to-is13194-alist) (is13194-to-ucs-kannada-hashtbl,
Kenichi Handa <handa@m17n.org>
parents:
52401
diff
changeset
|
777 oriya tamil telugu malayalam kannada)) |
41470 | 778 |
779 (defvar ucs-to-is13194-regexp | |
780 ;; only Devanagari is supported now. | |
781 (concat "[" (char-to-string (decode-char 'ucs #x0900)) | |
782 "-" (char-to-string (decode-char 'ucs #x097f)) "]") | |
783 "Regexp that matches to conversion") | |
784 | |
785 (defun ucs-to-iscii-region (from to) | |
49598
0d8b17d428b5
Trailing whitepace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents:
46223
diff
changeset
|
786 "Converts the indian UCS characters in the region to ISCII. |
41470 | 787 Returns new end position." |
788 (interactive "r") | |
789 ;; only Devanagari is supported now. | |
790 (save-excursion | |
791 (save-restriction | |
792 (narrow-to-region from to) | |
793 (goto-char (point-min)) | |
794 (let* ((current-repertory is13194-default-repartory)) | |
795 (while (re-search-forward ucs-to-is13194-regexp nil t) | |
49598
0d8b17d428b5
Trailing whitepace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents:
46223
diff
changeset
|
796 (replace-match |
41470 | 797 (get-char-code-property (string-to-char (match-string 0)) |
798 'iscii)))) | |
799 (point-max)))) | |
800 | |
801 (defun iscii-to-ucs-region (from to) | |
49598
0d8b17d428b5
Trailing whitepace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents:
46223
diff
changeset
|
802 "Converts the ISCII characters in the region to UCS. |
41470 | 803 Returns new end position." |
804 (interactive "r") | |
805 ;; only Devanagari is supported now. | |
806 (save-excursion | |
807 (save-restriction | |
808 (narrow-to-region from to) | |
809 (goto-char (point-min)) | |
810 (let* ((current-repertory is13194-default-repartory) | |
811 (current-hashtable | |
49598
0d8b17d428b5
Trailing whitepace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents:
46223
diff
changeset
|
812 (intern (concat "is13194-to-ucs-" |
41470 | 813 (symbol-name current-repertory) "-hashtbl"))) |
814 (current-regexp | |
49598
0d8b17d428b5
Trailing whitepace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents:
46223
diff
changeset
|
815 (intern (concat "is13194-to-ucs-" |
41470 | 816 (symbol-name current-repertory) "-regexp")))) |
817 (while (re-search-forward (eval current-regexp) nil t) | |
49598
0d8b17d428b5
Trailing whitepace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents:
46223
diff
changeset
|
818 (replace-match |
41470 | 819 (gethash (match-string 0) (eval current-hashtable) "")))) |
820 (point-max)))) | |
821 | |
822 ;;;###autoload | |
823 (defun indian-compose-region (from to) | |
824 "Compose the region according to `composition-function-table'. " | |
825 (interactive "r") | |
826 (save-excursion | |
827 (save-restriction | |
828 (let ((pos from) chars (max to)) | |
829 (narrow-to-region from to) | |
830 (while (< pos max) | |
831 (setq chars (compose-chars-after pos)) | |
832 (if chars (setq pos (+ pos chars)) (setq pos (1+ pos)))))))) | |
833 | |
834 ;;;###autoload | |
835 (defun indian-compose-string (string) | |
49598
0d8b17d428b5
Trailing whitepace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents:
46223
diff
changeset
|
836 (with-temp-buffer |
41470 | 837 (insert string) |
838 (indian-compose-region (point-min) (point-max)) | |
839 (buffer-string))) | |
840 | |
841 ;;;###autoload | |
842 (defun in-is13194-post-read-conversion (len) | |
843 (let ((pos (point)) endpos) | |
844 (setq endpos (iscii-to-ucs-region pos (+ pos len))) | |
845 (indian-compose-region pos endpos) | |
846 (- endpos pos))) | |
847 | |
848 ;;;###autoload | |
849 (defun in-is13194-pre-write-conversion (from to) | |
850 (let ((buf (current-buffer))) | |
851 (set-buffer (generate-new-buffer " *temp*")) | |
852 (if (stringp from) | |
853 (insert from) | |
854 (insert-buffer-substring buf from to)) | |
855 (ucs-to-iscii-region (point-min) (point-max)) | |
856 nil)) | |
857 | |
858 | |
859 | |
860 | |
861 ;;; Backward Compatibility support programs | |
862 | |
863 ;; The followings provides the conversion from old-implementation of | |
864 ;; Emacs Devanagari script to UCS. | |
865 | |
866 (defconst indian-2-colum-to-ucs | |
867 '( | |
868 ;; 0 1 2 3 4 5 6 7 8 9 a b c d e f | |
869 ;;2120 $(5!!!"!#!$!%!&!'!(!)!*!+!,!-!.!/(B | |
870 ("$(5!!(B" . "$,15A(B") | |
871 ("$(5!"(B" . "$,15B(B") | |
872 ("$(5!#(B" . "$,15C(B") | |
873 ("$(5!$(B" . "$,15E(B") | |
874 ("$(5!%(B" . "$,15F(B") | |
875 ("$(5!&(B" . "$,15G(B") | |
876 ("$(5!'(B" . "$,15H(B") | |
877 ("$(5!((B" . "$,15I(B") | |
878 ("$(5!)(B" . "$,15J(B") | |
879 ("$(5!*(B" . "$,15K(B") | |
880 ("$(5!*"p(B" . "$,15p6#(B") | |
881 ("$(5!+(B" . "$,15N(B") | |
882 ("$(5!,(B" . "$,15O(B") | |
883 ("$(5!-(B" . "$,15P(B") | |
884 ("$(5!.(B" . "$,15M(B") | |
885 ("$(5!/(B" . "$,15R(B") | |
886 ;; 0 1 2 3 4 5 6 7 8 9 a b c d e f | |
887 ;;2130 $(5!0!1!2!3!4!5!6!7!8!9!:!;!<!=!>!?(B | |
888 ("$(5!0(B" . "$,15S(B") | |
889 ("$(5!1(B" . "$,15T(B") | |
890 ("$(5!2(B" . "$,15Q(B") | |
891 ("$(5!3(B" . "$,15U(B") | |
892 ("$(5!4(B" . "$,15V(B") | |
893 ("$(5!5(B" . "$,15W(B") | |
894 ("$(5!6(B" . "$,15X(B") | |
895 ("$(5!7(B" . "$,15Y(B") | |
896 ("$(5!8(B" . "$,15Z(B") | |
897 ("$(5!9(B" . "$,15[(B") | |
898 ("$(5!:(B" . "$,15\(B") | |
899 ("$(5!;(B" . "$,15](B") | |
900 ("$(5!<(B" . "$,15^(B") | |
901 ("$(5!=(B" . "$,15_(B") | |
902 ("$(5!>(B" . "$,15`(B") | |
903 ("$(5!?(B" . "$,15a(B") | |
904 ;; 0 1 2 3 4 5 6 7 8 9 a b c d e f | |
905 ;;2140 $(5!@!A!B!C!D!E!F!G!H!I!J!K!L!M!N!O(B | |
906 ("$(5!@(B" . "$,15b(B") | |
907 ("$(5!A(B" . "$,15c(B") | |
908 ("$(5!B(B" . "$,15d(B") | |
909 ("$(5!C(B" . "$,15e(B") | |
910 ("$(5!D(B" . "$,15f(B") | |
911 ("$(5!E(B" . "$,15g(B") | |
912 ("$(5!F(B" . "$,15h(B") | |
913 ("$(5!G(B" . "$,15i(B") | |
914 ("$(5!H(B" . "$,15j(B") | |
915 ("$(5!I(B" . "$,15k(B") | |
916 ("$(5!J(B" . "$,15l(B") | |
917 ("$(5!K(B" . "$,15m(B") | |
918 ("$(5!L(B" . "$,15n(B") | |
919 ("$(5!M(B" . "$,15o(B") | |
920 ("$(5!N(B" . "$,16?(B") | |
921 ("$(5!O(B" . "$,15p(B") | |
922 ;; 0 1 2 3 4 5 6 7 8 9 a b c d e f | |
923 ;;2150 $(5!P!Q!R!S!T!U!V!W!X!Y!Z![!\!]!^!_(B | |
924 ("$(5!P(B" . "$,15q(B") | |
925 ("$(5!Q(B" . "$,15r(B") | |
926 ("$(5!R(B" . "$,15s(B") | |
927 ("$(5!S(B" . "$,15t(B") | |
928 ("$(5!T(B" . "$,15u(B") | |
929 ("$(5!U(B" . "$,15v(B") | |
930 ("$(5!V(B" . "$,15w(B") | |
931 ("$(5!W(B" . "$,15x(B") | |
932 ("$(5!X(B" . "$,15y(B") | |
933 ("$(5!Z(B" . "$,15~(B") | |
934 ("$(5![(B" . "$,15(B") | |
935 ("$(5!\(B" . "$,16 (B") | |
936 ("$(5!](B" . "$,16!(B") | |
937 ("$(5!^(B" . "$,16"(B") | |
938 ("$(5!_(B" . "$,16#(B") | |
939 ;; 0 1 2 3 4 5 6 7 8 9 a b c d e f | |
940 ;;2160 $(5!`!a!b!c!d!e!f!g!h!i!j!k!l!m!n!o(B | |
941 ("$(5!`(B" . "$,16&(B") | |
942 ("$(5!a(B" . "$,16'(B") | |
943 ("$(5!b(B" . "$,16((B") | |
944 ("$(5!c(B" . "$,16%(B") | |
945 ("$(5!d(B" . "$,16*(B") | |
946 ("$(5!e(B" . "$,16+(B") | |
947 ("$(5!f(B" . "$,16,(B") | |
948 ("$(5!g(B" . "$,16)(B") | |
949 ("$(5!h(B" . "$,16-(B") | |
950 ("$(5!i(B" . "$,15|(B") | |
951 ("$(5!j(B" . "$,16D(B") | |
952 ("$(5!j!j(B" . "$,16E(B") | |
953 ;; 0 1 2 3 4 5 6 7 8 9 a b c d e f | |
954 ;;2170 $(5!p!q!r!s!t!u!v!w!x!y!z!{!|!}!~(B | |
955 ("$(5!q(B" . "$,16F(B") | |
956 ("$(5!r(B" . "$,16G(B") | |
957 ("$(5!s(B" . "$,16H(B") | |
958 ("$(5!t(B" . "$,16I(B") | |
959 ("$(5!u(B" . "$,16J(B") | |
960 ("$(5!v(B" . "$,16K(B") | |
961 ("$(5!w(B" . "$,16L(B") | |
962 ("$(5!x(B" . "$,16M(B") | |
963 ("$(5!y(B" . "$,16N(B") | |
964 ("$(5!z(B" . "$,16O(B") | |
965 ;; 0 1 2 3 4 5 6 7 8 9 a b c d e f | |
966 ;;2220 $(5"!"""#"$"%"&"'"(")"*"+","-"."/(B | |
967 ("$(5"!(B" . "$,16;6-5p(B") | |
968 ("$(5""(B" . "$,16>6-5p(B") | |
969 ("$(5"#(B" . "$,15U6-5p(B") | |
970 ("$(5"$(B" . "$,15W6-5p(B") | |
971 ("$(5"%(B" . "$,15d6-5p(B") | |
972 ("$(5"&(B" . "$,15j6-5p(B") | |
973 ("$(5"'(B" . "$,15k6-5p(B") | |
974 ("$(5")(B" . "$,15v6-5p(B") | |
975 ("$(5",(B" . "$,15p6!(B") | |
976 ("$(5"-(B" . "$,15p6"(B") | |
977 ("$(5".(B" . "$,15q6!(B") | |
978 ("$(5"/(B" . "$,15q6"(B") | |
979 ;; 0 1 2 3 4 5 6 7 8 9 a b c d e f | |
980 ;;2230 $(5"0"1"2"3"4"5"6"7"8"9":";"<"=">"?(B | |
981 ("$(5"3(B" . "$,15U6-(B") | |
982 ("$(5"4(B" . "$,15V6-(B") | |
983 ("$(5"5(B" . "$,15W6-(B") | |
984 ("$(5"6(B" . "$,15X6-(B") | |
985 ("$(5"8(B" . "$,15Z6-(B") | |
986 ("$(5"8"q(B" . "$,15Z6-5p6-(B") | |
987 ("$(5":(B" . "$,15\6-(B") | |
988 ("$(5";(B" . "$,15]6-(B") | |
989 ("$(5"<(B" . "$,15^6-(B") | |
990 ("$(5"<(B" . "$,15^6-(B") | |
991 ;; 0 1 2 3 4 5 6 7 8 9 a b c d e f | |
992 ;;2240 $(5"@"A"B"C"D"E"F"G"H"I"J"K"L"M"N"O(B | |
993 ("$(5"A(B" . "$,15c6-(B") | |
994 ("$(5"B(B" . "$,15d6-(B") | |
995 ("$(5"C(B" . "$,15e6-(B") | |
996 ("$(5"E(B" . "$,15g6-(B") | |
997 ("$(5"F(B" . "$,15h6-(B") | |
998 ("$(5"G(B" . "$,15i6-(B") | |
999 ("$(5"H(B" . "$,15j6-(B") | |
1000 ("$(5"I(B" . "$,15k6-(B") | |
1001 ("$(5"J(B" . "$,15l6-(B") | |
1002 ("$(5"J(B" . "$,15l6-(B") | |
1003 ("$(5"K(B" . "$,15m6-(B") | |
1004 ("$(5"L(B" . "$,15n6-(B") | |
1005 ("$(5"M(B" . "$,15o6-(B") | |
1006 ("$(5"N(B" . "$,16?6-(B") | |
1007 ;; 0 1 2 3 4 5 6 7 8 9 a b c d e f | |
1008 ;;2250 $(5"P"Q"R"S"T"U"V"W"X"Y"Z"["\"]"^"_(B | |
1009 ("$(5"Q(B" . "$,15r6-(B") | |
1010 ("$(5"R(B" . "$,15s6-(B") | |
1011 ("$(5"S(B" . "$,15t6-(B") | |
1012 ("$(5"T(B" . "$,15u6-(B") | |
1013 ("$(5"U(B" . "$,15v6-(B") | |
1014 ("$(5"V(B" . "$,15w6-(B") | |
1015 ("$(5"W(B" . "$,15x6-(B") | |
1016 ("$(5"](B" . "$,16-5o(B") | |
1017 ;; 0 1 2 3 4 5 6 7 8 9 a b c d e f | |
1018 ;;2260 $(5"`"a"b"c"d"e"f"g"h"i"j"k"l"m"n"o(B | |
1019 ("$(5"`(B" . "$,15W6-5p6-(B") | |
1020 ("$(5"a(B" . "$,15X6-5h6-(B") | |
1021 ("$(5"c(B" . "$,15d6-5d6-(B") | |
1022 ("$(5"d(B" . "$,15d6-5p6-(B") | |
1023 ("$(5"e(B" . "$,15g6-5h6-(B") | |
1024 ("$(5"f(B" . "$,15g6-5p6-(B") | |
1025 ("$(5"g(B" . "$,15j6-5d6-(B") | |
1026 ("$(5"h(B" . "$,15v6-5Z6-(B") | |
1027 ("$(5"i(B" . "$,15v6-5p6-(B") | |
1028 ("$(5"j(B" . "$,15v6-5u6-(B") | |
1029 ("$(5"k(B" . "$,15h6-5h6-(B") | |
1030 ("$(5"l(B" . "$,15U6-5w6-(B") | |
1031 ("$(5"m(B" . "$,15\6-5^6-(B") | |
1032 ;; 0 1 2 3 4 5 6 7 8 9 a b c d e f | |
1033 ;;2270 $(5"p"q"r"s"t"u"v"w"x"y"z"{"|"}"~(B | |
1034 ("$(5"p(B" . "$,15p6-(B") | |
1035 ("$(5"q(B" . "$,16-5p(B") | |
1036 ("$(5"r(B" . "$,16-5p(B") | |
1037 ("$(5"s(B" . "$,1686-(B") | |
1038 ("$(5"t(B" . "$,1696-(B") | |
1039 ("$(5"u(B" . "$,16:6-(B") | |
1040 ("$(5"y(B" . "$,16>6-(B") | |
1041 ("$(5"z(B" . "$,16;6-(B") | |
1042 ;; 0 1 2 3 4 5 6 7 8 9 a b c d e f | |
1043 ;;2320 $(5#!#"###$#%#&#'#(#)#*#+#,#-#.#/(B | |
1044 ("$(5#!(B" . "$,160(B") | |
1045 ("$(5#&(B" . "$,15L(B") | |
1046 ("$(5#&"p(B" . "$,15p6$(B") | |
1047 ("$(5#'(B" . "$,16A(B") | |
1048 ("$(5#'"p(B" . "$,15p6C(B") | |
1049 ("$(5#*(B" . "$,16@(B") | |
1050 ("$(5#*"p(B" . "$,15p6B(B") | |
1051 ;; 0 1 2 3 4 5 6 7 8 9 a b c d e f | |
1052 ;;2330 $(5#0#1#2#3#4#5#6#7#8#9#:#;#<#=#>#?(B | |
1053 ("$(5#3(B" . "$,168(B") | |
1054 ("$(5#4(B" . "$,169(B") | |
1055 ("$(5#5(B" . "$,16:(B") | |
1056 ("$(5#:(B" . "$,16;(B") | |
1057 ("$(5#?(B" . "$,16<(B") | |
1058 ;; 0 1 2 3 4 5 6 7 8 9 a b c d e f | |
1059 ;;2340 $(5#@#A#B#C#D#E#F#G#H#I#J#K#L#M#N#O(B | |
1060 ("$(5#@(B" . "$,16=(B") | |
1061 ("$(5#I(B" . "$,16>(B") | |
1062 ("$(5#J(B" . "$,15}(B") | |
1063 ("$(5#K(B" . "$,16$(B") | |
1064 ("$(5#L(B" . "$,16B(B") | |
1065 ("$(5#M(B" . "$,16C(B") | |
1066 ;; 0 1 2 3 4 5 6 7 8 9 a b c d e f | |
1067 ;;2350 $(5#P#Q#R#S#T#U#V#W#X#Y#Z#[#\#]#^#_(B | |
1068 ("$(5#P(B" . "$,15n6-5h(B") | |
1069 ("$(5#Q(B" . "$,15n6-5r(B") | |
1070 ("$(5#R(B" . "$,15y6#(B") | |
1071 ;; 0 1 2 3 4 5 6 7 8 9 a b c d e f | |
1072 ;;2360 $(5#`#a#b#c#d#e#f#g#h#i#j#k#l#m#n#o(B | |
1073 ("$(5#`(B" . "$,15r6-5r(B") | |
1074 ("$(5#a(B" . "$,15u6-5h(B") | |
1075 ("$(5#b(B" . "$,15u6-5u(B") | |
1076 ("$(5#c(B" . "$,15v6-5Z(B") | |
1077 ("$(5#d(B" . "$,15v6-5h(B") | |
1078 ("$(5#e(B" . "$,15v6-5l(B") | |
1079 ("$(5#f(B" . "$,15v6-5r(B") | |
1080 ("$(5#g(B" . "$,15v6-5u(B") | |
1081 ("$(5#h(B" . "$,15w6-5_6-5p6-5o(B") | |
1082 ("$(5#i(B" . "$,15w6-5_6-5o(B") | |
1083 ("$(5#j(B" . "$,15w6-5_6-5u(B") | |
1084 ("$(5#k(B" . "$,15w6-5_(B") | |
1085 ("$(5#l(B" . "$,15w6-5`(B") | |
1086 ("$(5#m(B" . "$,15x6-5h(B") | |
1087 ("$(5#n(B" . "$,15x6-5p(B") | |
1088 ;; 0 1 2 3 4 5 6 7 8 9 a b c d e f | |
1089 ;;2370 $(5#p#q#r#s#t#u#v#w#x#y#z#{#|#}#~(B | |
1090 ("$(5#p(B" . "$,15y6-5c(B") | |
1091 ("$(5#q(B" . "$,15y6-5h(B") | |
1092 ("$(5#r(B" . "$,15y6-5n(B") | |
1093 ("$(5#s(B" . "$,15y6-5o(B") | |
1094 ("$(5#t(B" . "$,15y6-5p(B") | |
1095 ("$(5#u(B" . "$,15y6-5r(B") | |
1096 ("$(5#v(B" . "$,15y6-5u(B") | |
1097 ;; 0 1 2 3 4 5 6 7 8 9 a b c d e f | |
1098 ;;2420 $(5$!$"$#$$$%$&$'$($)$*$+$,$-$.$/(B | |
1099 ("$(5$!(B" . "$,15U6-5d6-5p6-5o(B") | |
1100 ("$(5$"(B" . "$,15U6-5d6-5u(B") | |
1101 ("$(5$#(B" . "$,15U6-5d6-5o(B") | |
1102 ("$(5$$(B" . "$,15U6-5h6-5o(B") | |
1103 ("$(5$%(B" . "$,15U6-5p6-5o(B") | |
1104 ("$(5$&(B" . "$,15U6-5u6-5o(B") | |
1105 ("$(5$'(B" . "$,15U6-5U(B") | |
1106 ("$(5$((B" . "$,15U6-5d(B") | |
1107 ("$(5$)(B" . "$,15U6-5h(B") | |
1108 ("$(5$*(B" . "$,15U6-5n(B") | |
1109 ("$(5$+(B" . "$,15U6-5o(B") | |
1110 ("$(5$,(B" . "$,15U6-5r(B") | |
1111 ("$(5$-(B" . "$,15U6-5u(B") | |
1112 ("$(5$.(B" . "$,15U6-5w(B") | |
1113 ("$(5$/(B" . "$,15X6-5h(B") | |
1114 ;; 0 1 2 3 4 5 6 7 8 9 a b c d e f | |
1115 ;;2430 $(5$0$1$2$3$4$5$6$7$8$9$:$;$<$=$>$?(B | |
1116 ("$(5$0(B" . "$,15Y6-5U6-5d6-5o(B") | |
1117 ("$(5$1(B" . "$,15Y6-5U6-5w6-5u(B") | |
1118 ("$(5$2(B" . "$,15Y6-5U6-5d(B") | |
1119 ("$(5$3(B" . "$,15Y6-5U6-5w(B") | |
1120 ("$(5$4(B" . "$,15Y6-5X6-5p(B") | |
1121 ("$(5$5(B" . "$,15Y6-5U6-5o(B") | |
1122 ("$(5$6(B" . "$,15Y6-5V6-5o(B") | |
1123 ("$(5$7(B" . "$,15Y6-5W6-5o(B") | |
1124 ("$(5$8(B" . "$,15Y6-5X6-5o(B") | |
1125 ("$(5$9(B" . "$,15Y6-5U(B") | |
1126 ("$(5$:(B" . "$,15Y6-5V(B") | |
1127 ("$(5$;(B" . "$,15Y6-5W(B") | |
1128 ("$(5$<(B" . "$,15Y6-5X(B") | |
1129 ("$(5$=(B" . "$,15Y6-5Y(B") | |
1130 ("$(5$>(B" . "$,15Y6-5h(B") | |
1131 ("$(5$?(B" . "$,15Y6-5n(B") | |
1132 ;; 0 1 2 3 4 5 6 7 8 9 a b c d e f | |
1133 ;;2440 $(5$@$A$B$C$D$E$F$G$H$I$J$K$L$M$N$O(B | |
1134 ("$(5$@(B" . "$,15Y6-5o(B") | |
1135 ("$(5$A(B" . "$,15Z6-5Z(B") | |
1136 ("$(5$B(B" . "$,15Z6-5^(B") | |
1137 ("$(5$C(B" . "$,15[6-5o(B") | |
1138 ("$(5$D(B" . "$,15\6-5p(B") | |
1139 ("$(5$E(B" . "$,15\6-5^(B") | |
1140 ("$(5$F(B" . "$,15^6-5Z(B") | |
1141 ("$(5$G(B" . "$,15^6-5\(B") | |
1142 ("$(5$H(B" . "$,15_6-5U(B") | |
1143 ("$(5$I(B" . "$,15_6-5_(B") | |
1144 ("$(5$J(B" . "$,15_6-5`(B") | |
1145 ("$(5$K(B" . "$,15_6-5o(B") | |
1146 ("$(5$L(B" . "$,15`6-5o(B") | |
1147 ("$(5$M(B" . "$,15a6-5W6-5o(B") | |
1148 ("$(5$N(B" . "$,15a6-5X6-5p(B") | |
1149 ("$(5$O(B" . "$,15a6-5p6-5o(B") | |
1150 ;; 0 1 2 3 4 5 6 7 8 9 a b c d e f | |
1151 ;;2450 $(5$P$Q$R$S$T$U$V$W$X$Y$Z$[$\$]$^$_(B | |
1152 ("$(5$P(B" . "$,15a6-5W(B") | |
1153 ("$(5$Q(B" . "$,15a6-5X(B") | |
1154 ("$(5$R(B" . "$,15a6-5a(B") | |
1155 ("$(5$S(B" . "$,15a6-5n(B") | |
1156 ("$(5$T(B" . "$,15a6-5o(B") | |
1157 ;; 0 1 2 3 4 5 6 7 8 9 a b c d e f | |
1158 ;;2460 $(5$`$a$b$c$d$e$f$g$h$i$j$k$l$m$n$o(B | |
1159 ("$(5$`(B" . "$,15b6-5o(B") | |
1160 ("$(5$a(B" . "$,15d6-5d(B") | |
1161 ("$(5$b(B" . "$,15d6-5h(B") | |
1162 ("$(5$c(B" . "$,15f6-5f6-5o(B") | |
1163 ("$(5$d(B" . "$,15f6-5g6-5o(B") | |
1164 ("$(5$e(B" . "$,15f6-5m6-5o(B") | |
1165 ("$(5$f(B" . "$,15f6-5p6-5o(B") | |
1166 ("$(5$g(B" . "$,15f6-5u6-5o(B") | |
1167 ("$(5$h(B" . "$,15f6-5W6-5p(B") | |
1168 ("$(5$i(B" . "$,15f6-5X6-5p(B") | |
1169 ("$(5$j(B" . "$,15f6-5f6-5u(B") | |
1170 ("$(5$k(B" . "$,15f6-5g6-5u(B") | |
1171 ("$(5$l(B" . "$,15f6-5W(B") | |
1172 ("$(5$m(B" . "$,15f6-5X(B") | |
1173 ("$(5$n(B" . "$,15f6-5f(B") | |
1174 ("$(5$o(B" . "$,15f6-5g(B") | |
1175 ;; 0 1 2 3 4 5 6 7 8 9 a b c d e f | |
1176 ;;2470 $(5$p$q$r$s$t$u$v$w$x$y$z${$|$}$~(B | |
1177 ("$(5$p(B" . "$,15f6-5h(B") | |
1178 ("$(5$q(B" . "$,15f6-5l(B") | |
1179 ("$(5$r(B" . "$,15f6-5m(B") | |
1180 ("$(5$s(B" . "$,15f6-5n(B") | |
1181 ("$(5$t(B" . "$,15f6-5o(B") | |
1182 ("$(5$u(B" . "$,15f6-5u(B") | |
1183 ("$(5$v(B" . "$,15g6-5h(B") | |
1184 ("$(5$w(B" . "$,15h6-5h(B") | |
1185 ("$(5$x(B" . "$,15j6-5d(B") | |
1186 ("$(5$y(B" . "$,15j6-5h(B") | |
1187 ("$(5$z(B" . "$,15j6-5r(B") | |
1188 ("$(5${(B" . "$,15l6-5h(B") | |
1189 ("$(5$|(B" . "$,15l6-5l(B") | |
1190 ("$(5$}(B" . "$,15l6-5u(B") | |
1191 ("$(5$~(B" . "$,15m6-5h(B"))) | |
1192 | |
1193 (defconst indian-2-column-to-ucs-regexp | |
1194 "$(5!j!j(B\\|$(5"8"q(B\\|[$(5#&#'!*#*(B]$(5"p(B\\|[$(5!!(B-$(5$~(B]") | |
1195 | |
1196 (put 'indian-2-column-to-ucs-chartable 'char-table-extra-slots 1) | |
1197 (defconst indian-2-column-to-ucs-chartable | |
1198 (let ((table (make-char-table 'indian-2-column-to-ucs-chartable)) | |
1199 (alist nil)) | |
1200 (dolist (elt indian-2-colum-to-ucs) | |
1201 (if (= (length (car elt)) 1) | |
1202 (aset table (aref (car elt) 0) (cdr elt)) | |
1203 (setq alist (cons elt alist)))) | |
1204 (set-char-table-extra-slot table 0 alist) | |
1205 table)) | |
1206 | |
1207 (defun indian-2-column-to-ucs-region (from to) | |
1208 "Convert old Emacs Devanagari characters to UCS." | |
1209 (interactive "r") | |
1210 (save-excursion | |
1211 (save-restriction | |
1212 (let ((pos from) | |
1213 (alist (char-table-extra-slot indian-2-column-to-ucs-chartable 0))) | |
1214 (narrow-to-region from to) | |
1215 (decompose-region from to) | |
1216 (goto-char (point-min)) | |
1217 (while (re-search-forward indian-2-column-to-ucs-regexp nil t) | |
1218 (let ((len (- (match-end 0) (match-beginning 0))) | |
1219 subst) | |
1220 (if (= len 1) | |
42056 | 1221 (setq subst (aref indian-2-column-to-ucs-chartable |
1222 (char-after (match-beginning 0)))) | |
50528
dae46d521201
(indian-2-column-to-ucs-region): Fix for
Kenichi Handa <handa@m17n.org>
parents:
49703
diff
changeset
|
1223 (setq subst (cdr (assoc (match-string 0) alist)))) |
41470 | 1224 (replace-match (if subst subst "?")))) |
1225 (indian-compose-region (point-min) (point-max)))))) | |
42056 | 1226 |
1227 ;;;###autoload | |
1228 (defun indian-glyph-char (index &optional script) | |
1229 "Return character of charset `indian-glyph' made from glyph index INDEX. | |
1230 The variable `indian-default-script' specifies the script of the glyph. | |
1231 Optional argument SCRIPT, if non-nil, overrides `indian-default-script'. | |
1232 See also the function `indian-char-glyph'." | |
1233 (or script | |
1234 (setq script indian-default-script)) | |
1235 (let ((offset (get script 'indian-glyph-code-offset))) | |
1236 (or (integerp offset) | |
1237 (error "Invalid script name: %s" script)) | |
1238 (or (and (>= index 0) (< index 256)) | |
1239 (error "Invalid glyph index: %d" index)) | |
1240 (setq index (+ offset index)) | |
1241 (make-char 'indian-glyph (+ (/ index 96) 32) (+ (% index 96) 32)))) | |
1242 | |
1243 (defvar indian-glyph-max-char | |
1244 (indian-glyph-char | |
1245 255 (aref indian-script-table (1- (length indian-script-table)))) | |
1246 "The maximum valid code of characters in the charset `indian-glyph'.") | |
1247 | |
1248 ;;;###autoload | |
1249 (defun indian-char-glyph (char) | |
42111
d8f14ecc9a2e
(indian-char-glyph): Fix typo in doc-string.
Pavel Janík <Pavel@Janik.cz>
parents:
42070
diff
changeset
|
1250 "Return information about the glyph code for CHAR of `indian-glyph' charset. |
42056 | 1251 The value is (INDEX . SCRIPT), where INDEX is the glyph index |
1252 in the font that Indian script name SCRIPT specifies. | |
1253 See also the function `indian-glyph-char'." | |
1254 (let ((split (split-char char)) | |
1255 code) | |
1256 (or (eq (car split) 'indian-glyph) | |
1257 (error "Charset of `%c' is not indian-glyph" char)) | |
1258 (or (<= char indian-glyph-max-char) | |
1259 (error "Invalid indian-glyph char: %d" char)) | |
1260 (setq code (+ (* (- (nth 1 split) 32) 96) (nth 2 split) -32)) | |
1261 (cons (% code 256) (aref indian-script-table (/ code 256))))) | |
49598
0d8b17d428b5
Trailing whitepace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents:
46223
diff
changeset
|
1262 |
41470 | 1263 (provide 'ind-util) |
49598
0d8b17d428b5
Trailing whitepace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents:
46223
diff
changeset
|
1264 |
52401 | 1265 ;;; arch-tag: 59aacd71-46c2-4cb3-bb26-e12bbad55545 |
41470 | 1266 ;;; ind-util.el ends here |