Subject: Re: bug#9336: 24.0.50; No way to input character #xbb4 using ta-itrans

From: Kenichi Handa <[email-masked]>
Date: Thu, 22 Sep 2011 11:23:01 +0900

In article <[email-masked]>, Jambunathan K <[email-masked]> writes:
>>> 0B99, ங, N^a or ~Na
> Please use N^a. 
[...]
>>> 0B9E, ஞ, JNa or ~na
> Please use JNa. 
[...]
>>> 0BB5, வ, wa or va
> We can use va.
[...]
>>> 0BB3, ள, La or lda
> We can use La.

Ok.

>>> 0BB4, ழ,
> >
> > It seems that the above character can't be input with
> > tamil-itrans.  What key is usually used for that character?

> The patch that you had sent earlier works. Could you please commit those
> changes? 

> Above character has two bindings - "za" or "Ja".
> We can go with "za".  

Ah, I forgot about my patch.

Anyway, please try the attached patch for
leim/quail/indian.el.  How is the result of C-h C-\
tamil-itrans RET?  Is it ok now?

---
Kenichi Handa
[email-masked]

=== modified file 'leim/quail/indian.el'
--- leim/quail/indian.el	2011-01-26 08:36:39 +0000
+++ leim/quail/indian.el	2011-09-22 02:07:57 +0000
@@ -118,11 +118,138 @@
  indian-mlm-itrans-v5-hash "malayalam-itrans" "Malayalam" "MlmIT"
  "Malayalam transliteration by ITRANS method.")
 
+(defvar quail-tamil-itrans-syllable-table
+  (let ((vowels
+	 '(("அ" nil "a")
+	   ("ஆ" "ா" "A")
+	   ("இ" "ி" "i")
+	   ("ஈ" "ீ" "I")
+	   ("உ" "ு" "u")
+	   ("ஊ" "ூ" "U")
+	   ("எ" "ெ" "e")
+	   ("ஏ" "ே" "E")
+	   ("ஐ" "ை" "ai")
+	   ("ஒ" "ொ" "o")
+	   ("ஓ" "ோ" "O")
+	   ("ஔ" "ௌ" "au")))
+	(consonants
+	 '(("க" "k")			; U+0B95
+	   ("ங" "N^")			; U+0B99
+	   ("ச" "ch")			; U+0B9A
+	   ("ஞ" "JN")			; U+0B9E
+	   ("ட" "T")			; U+0B9F
+	   ("ண" "N")			; U+0BA3
+	   ("த" "t")			; U+0BA4
+	   ("ந" "n")			; U+0BA8
+	   ("ப" "p")			; U+0BAA
+	   ("ம" "m")			; U+0BAE
+	   ("ய" "y")			; U+0BAF
+	   ("ர" "r")			; U+0BB0
+	   ("ல" "l")			; U+0BB2
+	   ("வ" "v")			; U+0BB5
+	   ("ழ" "z")			; U+0BB4
+	   ("ள" "L")			; U+0BB3
+	   ("ற" "rh")			; U+0BB1
+	   ("ன" "nh")			; U+0BA9
+	   ("ஜ" "j")			; U+0B9C
+	   ("ஷ" "Sh")			; U+0BB7
+	   ("ஸ" "s")			; U+0BB8
+	   ("ஹ" "h")			; U+0BB9
+	   ("க்ஷ" "x" )			; U+0B95
+	   ))
+	(virama #x0BCD)
+	clm)
+    (with-temp-buffer
+      (insert "    +")
+      (insert-char ?- 74)
+      (insert "\n    |")
+      (setq clm 6)
+      (dolist (v vowels)
+	(insert (propertize "\t" 'display (list 'space :align-to clm))
+		(car v))
+	(setq clm (+ clm 6)))
+      (insert "\n    |")
+      (setq clm 6)
+      (dolist (v vowels)
+	(insert (propertize "\t" 'display (list 'space :align-to clm))
+		(nth 2 v))
+	(setq clm (+ clm 6)))
+      (insert "\n----+")
+      (insert-char ?- 74)
+      (insert "\n")
+      (dolist (c consonants)
+	(insert (car c) virama
+		(propertize "\t" 'display '(space :align-to 4))
+		"|")
+	(setq clm 6)
+	(dolist (v vowels)
+	  (insert (propertize "\t" 'display (list 'space :align-to clm))
+		  (car c) (or (nth 1 v) ""))
+	  (setq clm (+ clm 6)))
+	(insert "\n" (nth 1 c)
+		(propertize "\t" 'display '(space :align-to 4))
+		"|")
+	(setq clm 6)
+	(dolist (v vowels)
+	  (insert (propertize "\t" 'display (list 'space :align-to clm))
+		  (nth 1 c) (nth 2 v))
+	  (setq clm (+ clm 6)))
+	(insert "\n"))
+      (insert "----+")
+      (insert-char ?- 74)
+      (insert "\n\n"
+	      "  Ex: To enter வணக்கம், type vaNakkam.\n")
+      (buffer-string))))
+
+(defvar quail-tamil-itrans-misc-table
+  (let ((symbols '((?ஃ . "H") (?ஂ . "M") (?் . ".h")))
+	(digits "௦௧௨௩௪௫௬௭௮௯")
+	clm)
+    (with-temp-buffer
+      (insert "----------+------------------------------\n")
+      (insert " symbols  |            digits            \n")
+      (insert "----------+------------------------------\n")
+      (setq clm 1)
+      (dolist (elm symbols)
+	(insert (propertize "\t" 'display (list 'space :align-to clm))
+		(car elm))
+	(setq clm (+ clm 3)))
+      (insert (propertize "\t" 'display '(space :align-to 10)) "|")
+      (setq clm 12)
+      (dotimes (i 10)
+	(insert (propertize "\t" 'display (list 'space :align-to clm))
+		(aref digits i))
+	(setq clm (+ clm 3)))
+      (insert "\n")
+      (setq clm 1)
+      (dolist (elm symbols)
+	(insert (propertize "\t" 'display (list 'space :align-to clm))
+		(cdr elm))
+	(setq clm (+ clm 3)))
+      (insert (propertize "\t" 'display '(space :align-to 10)) "|")
+      (setq clm 12)
+      (dotimes (i 10)
+	(insert (propertize "\t" 'display (list 'space :align-to clm))
+		(format "%d" i))
+	(setq clm (+ clm 3)))
+      (insert "\n----------+------------------------------\n")
+      (buffer-string))))
+
 (if nil
     (quail-define-package "tamil-itrans" "Tamil" "TmlIT" t "Tamil ITRANS"))
 (quail-define-indian-trans-package
  indian-tml-itrans-v5-hash "tamil-itrans" "Tamil" "TmlIT"
- "Tamil transliteration by ITRANS method.")
+ "Tamil transliteration by ITRANS method.
+
+### Basic syllables (consonants + vowels) ###
+
+\\<quail-tamil-itrans-syllable-table>
+
+### Symbols, etc. ###
+
+\\<quail-tamil-itrans-misc-table>
+
+Full key sequences are listed below:")

 ;;;