Anonymous avatar Anonymous committed 217c4bb Merge

Improve tamil-itrans input method.

Comments (0)

Files changed (4)

+2011-09-27  Jambunathan K <kjambunathan@gmail.com>
+
+	* quail/indian.el (quail-tamil-itrans-misc-table): Delete it.
+	(quail-tamil-itrans-numerics-and-symbols-table)
+	(quail-tamil-itrans-various-signs-and-digits-table): New variables.
+	("tamil-itrans"): Show the values of above variables (Bug#9336).
+
+2011-09-22  Kenichi Handa  <handa@m17n.org>
+
+	* quail/indian.el (quail-tamil-itrans-syllable-table)
+	(quail-tamil-itrans-misc-table): New variables.
+	("tamil-itrans"): Improve the docstring by showing the values of
+	above variables (Bug#9336).
+
 2011-09-06  Paul Eggert  <eggert@cs.ucla.edu>
 
 	* Makefile.in (install): install-sh is now in build-aux (Bug#9169).

leim/quail/indian.el

  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
+	   ("ஶ" nil)			; U+0BB6
+	   ("ஷ" "Sh")			; U+0BB7
+	   ("ஸ" "s")			; U+0BB8
+	   ("ஹ" "h")			; U+0BB9
+	   ("க்ஷ" "x" )			; U+0B95
+	   ))
+	(virama #x0BCD)
+	clm)
+    (with-temp-buffer
+      (insert "\n")
+      (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)))
+      (dolist (c consonants)
+	(insert "\n----+")
+	(insert-char ?- 74)
+	(insert "\n")
+	(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" (or (nth 1 c) "")
+		(propertize "\t" 'display '(space :align-to 4))
+		"|")
+	(setq clm 6)
+
+	(dolist (v vowels)
+	  (apply 'insert (propertize "\t" 'display (list 'space :align-to clm))
+		 (if (nth 1 c) (list (nth 1 c) (nth 2 v)) (list "")))
+	  (setq clm (+ clm 6))))
+      (insert "\n")
+      (insert "----+")
+      (insert-char ?- 74)
+      (insert "\n")
+      (buffer-string))))
+
+(defvar quail-tamil-itrans-numerics-and-symbols-table
+  (let ((numerics '((?௰ "பத்து") (?௱ "நூறு") (?௲ "ஆயிரம்")))
+	(symbols '((?௳ "நாள்") (?௴ "மாதம்") (?௵ "வருடம்")
+		   (?௶ "பற்று") (?௷ "வரவு") (?௸ "மேற்படி")
+		   (?௹ "ரூபாய்") (?௺ "எண்")))
+	clm)
+    (with-temp-buffer
+      (insert "\n" (make-string 18 ?-) "+" (make-string 60 ?-) "\n")
+      (insert
+       (propertize "\t" 'display '(space :align-to 5)) "numerics"
+       (propertize "\t" 'display '(space :align-to 18)) "|"
+       (propertize "\t" 'display '(space :align-to 45)) "symbols")
+      (insert "\n" (make-string 18 ?-) "+" (make-string 60 ?-) "\n")
+      (dotimes (i 2)
+	(setq clm 0)
+	(dolist (elm numerics)
+	  (if (> clm 0)
+	      (insert (propertize "\t" 'display (list 'space :align-to clm))))
+	  (insert (nth i elm))
+	  (setq clm (+ clm 5)))
+	(insert (propertize "\t" 'display '(space :align-to 18)) "|")
+	(setq clm 19)
+	(dolist (elm symbols)
+	  (if (> clm 19)
+	      (insert (propertize "\t" 'display (list 'space :align-to clm))))
+	  (insert (nth i elm))
+	  (setq clm (+ clm 8)))
+	(insert "\n"))
+      (insert (make-string 18 ?-) "+" (make-string 60 ?-) "\n")
+      (insert "\n")
+      (buffer-string))))
+
+(defvar quail-tamil-itrans-various-signs-and-digits-table
+  (let ((various '((?ஃ . "H") ("ஸ்ரீ" . "srii") (?ௐ)))
+	(digits "௦௧௨௩௪௫௬௭௮௯")
+	(width 6) clm)
+    (with-temp-buffer
+      (insert "\n" (make-string 18 ?-) "+" (make-string 60 ?-) "\n")
+      (insert
+       (propertize "\t" 'display '(space :align-to 5)) "various"
+       (propertize "\t" 'display '(space :align-to 18)) "|"
+       (propertize "\t" 'display '(space :align-to 45)) "digits")
+
+      (insert "\n" (make-string 18 ?-) "+" (make-string 60 ?-) "\n")
+      (setq clm 0 )
+
+      (dotimes (i (length various))
+	(insert (propertize "\t" 'display (list 'space :align-to clm))
+		(car (nth i various)))
+	(setq clm (+ clm width)))
+      (insert (propertize "\t" 'display '(space :align-to 18)) "|")
+      (setq clm 20)
+      (dotimes (i 10)
+	(insert (propertize "\t" 'display (list 'space :align-to clm))
+		(aref digits i))
+	(setq clm (+ clm width)))
+      (insert "\n")
+      (setq clm 0)
+      (dotimes (i (length various))
+	(insert (propertize "\t" 'display (list 'space :align-to clm))
+		(or (cdr (nth i various)) ""))
+	(setq clm (+ clm width)))
+      (insert (propertize "\t" 'display '(space :align-to 18)) "|")
+      (setq clm 20)
+      (dotimes (i 10)
+	(insert (propertize "\t" 'display (list 'space :align-to clm))
+		(format "%d" i))
+	(setq clm (+ clm width)))
+      (insert "\n" (make-string 18 ?-) "+" (make-string 60 ?-) "\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.
 
+You can input characters using the following mapping tables.
+    Example: To enter வணக்கம், type vaNakkam.
+
+### Basic syllables (consonants + vowels) ###
+\\<quail-tamil-itrans-syllable-table>
+
+### Miscellaneous (various signs + digits) ###
+\\<quail-tamil-itrans-various-signs-and-digits-table>
+
+### Others (numerics + symbols) ###
+
+Characters below have no ITRANS method associated with them.
+Their descriptions are included for easy reference.
+\\<quail-tamil-itrans-numerics-and-symbols-table>
+
+Full key sequences are listed below:")
 
 ;;;
 ;;; Input by Inscript
 	function that picks between cfengine 2 and 3 support
 	automatically.  Update docs accordingly.
 
+2011-09-22  Kenichi Handa  <handa@m17n.org>
+
+	* language/ind-util.el (indian-tml-base-table): Add TAMIL DIGIT
+	ZERO.
+	(indian-itrans-v5-table-for-tamil): New variable.
+	(indian-tml-itrans-v5-hash): Use the above variable (Bug#9336).
+
 2011-09-22  Ken Manheimer  <ken.manheimer@gmail.com>
 
 	* allout.el (allout-this-command-hid-stuff): Buffer-local variable

lisp/language/ind-util.el

     (;; Misc Symbols
      nil ?$,1<"(B ?$,1<#(B nil ?$,1<m(B nil nil)
     (;; Digits
-     nil ?$,1='(B ?$,1=((B ?$,1=)(B ?$,1=*(B ?$,1=+(B ?$,1=,(B ?$,1=-(B ?$,1=.(B ?$,1=/(B)
+     ?$,1=&(B ?$,1='(B ?$,1=((B ?$,1=)(B ?$,1=*(B ?$,1=+(B ?$,1=,(B ?$,1=-(B ?$,1=.(B ?$,1=/(B)
     (;; Inscript-extra (4)  (#, $, ^, *, ])
      "$,1<m<P(B" "$,1<P<m(B" "$,1<D<m<P(B" nil nil)))
 
     (;; misc -- 7
      ".N" (".n" "M") "H" ".a" ".h" ("AUM" "OM") "..")))
 
+(defvar indian-itrans-v5-table-for-tamil
+  '(;; for encode/decode
+    (;; vowels -- 18
+     "a" ("aa" "A") "i" ("ii" "I") "u" ("uu" "U")
+     ("RRi" "R^i") ("LLi" "L^i") (".c" "e.c") "E" "e" "ai"
+     "o.c"  "O"   "o"   "au"  ("RRI" "R^I") ("LLI" "L^I"))
+    (;; consonants -- 40
+     "k"   "kh"  "g"   "gh"  ("~N" "N^")
+     "ch" ("Ch" "chh") "j" "jh" ("~n" "JN")
+     "T"   "Th"  "D"   "Dh"  "N"
+     "t"   "th"  "d"   "dh"  "n"   "nh"
+     "p"   "ph"  "b"   "bh"  "m"
+     "y"   "r"   "rh"  "l"   ("L" "ld") ("J" "z")  ("v" "w")
+     "sh" ("Sh" "shh") "s" "h"
+     "q" "K" "G" nil ".D" ".Dh" "f" ("Y" "yh")
+     ("GY" "dny") "x")
+    (;; misc -- 7
+     ".N" (".n" "M") "H" ".a" ".h" ("AUM" "OM") "..")))
+
 (defvar indian-kyoto-harvard-table
   '(;; for encode/decode
     (;; vowel
 
 (defvar indian-tml-itrans-v5-hash
   (indian-make-hash indian-tml-base-table
-			  indian-itrans-v5-table))
+			  indian-itrans-v5-table-for-tamil))
 )
 
 (defmacro indian-translate-region (from to hashtable encode-p)
Tip: Filter by directory path e.g. /media app.js to search for public/media/app.js.
Tip: Use camelCasing e.g. ProjME to search for ProjectModifiedEvent.java.
Tip: Filter by extension type e.g. /repo .js to search for all .js files in the /repo directory.
Tip: Separate your search with spaces e.g. /ssh pom.xml to search for src/ssh/pom.xml.
Tip: Use ↑ and ↓ arrow keys to navigate and return to view the file.
Tip: You can also navigate files with Ctrl+j (next) and Ctrl+k (previous) and view the file with Ctrl+o.
Tip: You can also navigate files with Alt+j (next) and Alt+k (previous) and view the file with Alt+o.