emacs-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Another transliteration scheme for typing Telugu


From: Ramana Juvvadi
Subject: Another transliteration scheme for typing Telugu
Date: Wed, 8 Aug 2012 22:36:21 -0500

Currently there is only one transliteration schem ITRANS for typing Telugu. I developed another transliteration scheme. I am including the patch for emacs fpr 24.1 here. There is a web page I wrote on the patch

http://juvvadi.wordpress.com/2012/08/08/case-insensitive-transliteration-scheme-for-typing-telugu/

Please let me know if this is not the way to submit patches.

Thanks in advance.

Ramana
---------------------------------------------------------





diff -uNr emacs-24.1/leim/quail/indian.el emacs-24.1-modified/leim/quail/indian.el
--- emacs-24.1/leim/quail/indian.el     2012-04-07 22:03:02.000000000 -0500
+++ emacs-24.1-modified/leim/quail/indian.el    2012-08-08 11:53:57.399908944 -0500
@@ -112,6 +112,12 @@
  "Telugu transliteration by ITRANS method.")
 
 (if nil
+    (quail-define-package "telugu-JTS" "Telugu" "TlgJTS" t "Telugu JTS"))
+(quail-define-indian-trans-package
+ indian-tlg-JTS-hash "telugu-JTS" "Telugu" "TlgJTS"
+ "Juvvadi Transliteration Scheme for Telugu")
+
+(if nil
     (quail-define-package "kannada-itrans" "Kannada" "KndIT" t "Kannada ITRANS"))
 (quail-define-indian-trans-package
  indian-knd-itrans-v5-hash "kannada-itrans" "Kannada" "KndIT"
diff -uNr emacs-24.1/lisp/language/indian.el emacs-24.1-modified/lisp/language/indian.el
--- emacs-24.1/lisp/language/indian.el  2012-04-07 22:03:02.000000000 -0500
+++ emacs-24.1-modified/lisp/language/indian.el 2012-08-08 12:17:29.119883860 -0500
@@ -109,6 +109,15 @@
  '("Indian"))
 
 (set-language-info-alist
+ "Telugu" '((charset unicode)
+           (coding-system utf-8)
+           (coding-priority utf-8)
+           (input-method . "telugu-JTS")
+           (documentation . "\
+South Indian Language Telugu is supported in this language environment."))
+ '("Indian"))
+
+(set-language-info-alist
  "Kannada" '((charset unicode)
             (coding-system mule-utf-8)
             (coding-priority mule-utf-8)
diff -uNr emacs-24.1/lisp/language/ind-util.el emacs-24.1-modified/lisp/language/ind-util.el
--- emacs-24.1/lisp/language/ind-util.el        2012-04-07 22:03:02.000000000 -0500
+++ emacs-24.1-modified/lisp/language/ind-util.el       2012-08-08 12:19:04.695882158 -0500
@@ -183,6 +183,7 @@
     (;; Inscript-extra (4)  (#, $, ^, *, ])
      ",17M7p" ",17p7M" ",17$7M7p" ",1767M7p" ",17<")))
 
+
 (defvar indian-tlg-base-table
   '(
     (;; VOWELS
@@ -206,6 +207,7 @@
     (;; Inscript-extra (4)  (#, $, ^, *, ])
      ",1>-=p" ",1=p>-" ",1=d>-=p" ",1=v>-=p" nil)))
 
+
 (defvar indian-knd-base-table
   '(
     (;; VOWELS
@@ -305,6 +307,53 @@
     (;; misc -- 7
      ".N" (".n" "M") "H" ".a" ".h" ("AUM" "OM") "..")))
 
+(defvar indian-JTS-table
+  '(;; for encode/decode
+    (;; vowels -- 18
+     ("a" "A") ("aa" "Aa" "aA" "AA")
+     ("i" "I") ("ee" "eE" "Ee" "EE" )
+     ("u" "U")
+     ("oo" "oO" "Oo" "OO" )
+     ("r'u" "R'u" "r'U" "R'U")
+     ("~lu" "~Lu" "~lU" "~LU") nil
+     ("ae" "Ae" "aE" "AE" "e'" "E'") ("e" "E") ( "ai" "Ai" "aI" "AI") nil 
+     ("oa" "Oa" "oA" "OA" "o'" "O'")   ("o" "O")  
+     ("ou" "Ou" "oU" "OU" "au" "Au" "aU" "AU" "ow" "Ow" "oW" "OW") 
+     ("r'oo" "R'oo" "r'Oo" "R'Oo" "r'oO" "R'oO" "r'OO" "R'OO")
+     ("~loo" "~Loo" "~lOo" "~LOo" "~loO" "~LoO" "~lOO" "~LOO")
+     )
+    (;; consonants -- 40
+     ("k" "K")   ("kh" "kH" "Kh" "KH") 
+     ("g" "G") ("gh" "gH" "Gh" "GH") 
+     ("^n" "^N")
+     ("c" "C" "ch" "Ch" "cH" "CH")
+     ("chh" "Chh" "cHh" "CHh" "chH" "ChH" "cHH" "CHH"  )
+     ("j" "J") ("jh" "Jh" "jH" "JH")
+     ("~n" "~N")
+     ("t'" "t'")   ("t'h" "t'H" "t'h"  "t'H")
+     ("d'" "d'")   ("d'h" "d'H" "d'h"  "d'H") 
+     ("n'" "N'")
+     ("t" "T")   ("th" "tH" "Th"  "TH")
+     ("d" "D")   ("dh" "dH" "Dh"  "DH")
+     ("n" "N")   nil
+     ("p" "P")   ("ph" "pH" "Ph" "PH" "f" "F") 
+     ("b" "B")   ("bh" "Bh" "bH" "BH") 
+     ("m" "M")
+     ("y" "Y")   ("r" "R")   (".r" ".R")  ("l" "L")   ("l'" "L'") nil 
+     ("v" "V"  "w" "W")
+     ("sh" "Sh" "sH" "SH") 
+     ("shh" "Shh" "sHh" "SHh" "shH" "ShH" "sHH" "SHH")
+     ("s" "S")
+     ("h" "H")
+     nil nil nil nil nil nil nil nil
+     nil ("x" "X" "ksh" "kSh" "ksH" "kSH" "Ksh" "KSh" "KsH" "KSH") )
+    (;; misc -- 7
+     ("~m" "~M")
+     (".n" ".N" ".m" ".M")
+     (":h" ":H")
+      nil (".h" ".H") nil nil)))
+
+
 (defvar indian-itrans-v5-table-for-tamil
   '(;; for encode/decode
     (;; vowels -- 18
@@ -483,6 +532,29 @@
     (indian--puthash-m digits trans-digits hashtbls)
     hashtbls))
 
+(defun indian-make-hash-alt (table trans-table)
+  "Indian Transliteration Hash for decode/encode"
+  (let* ((encode-hash (make-hash-table :test 'equal))
+        (decode-hash (make-hash-table :test 'equal))
+        (hashtbls (cons encode-hash decode-hash))
+        (vowels     (elt table 0))
+        (consonants (elt table 1))
+        (misc       (elt table 2))
+        (digits     (elt table 3))
+        (halant     (char-to-string (elt misc  4)))
+        (trans-vowels     (elt trans-table 0))
+        (trans-consonants (elt trans-table 1))
+        (trans-misc       (elt trans-table 2))
+        (trans-digits  '("`0" "`1" "`2" "`3" "`4" "`5" "`6" "`7" "`8" "`9")))
+    (indian--puthash-v vowels trans-vowels hashtbls)
+    (indian--puthash-c consonants trans-consonants halant hashtbls)
+    (indian--puthash-cv consonants trans-consonants
+                             vowels trans-vowels hashtbls)
+    (indian--puthash-m misc trans-misc hashtbls)
+    (indian--puthash-m digits trans-digits hashtbls)
+    hashtbls))
+
+
 (defvar indian-dev-itrans-v5-hash
   (indian-make-hash indian-dev-base-table
                          indian-itrans-v5-table))
@@ -517,6 +589,10 @@
   (indian-make-hash indian-tlg-base-table
                          indian-itrans-v5-table))
 
+(defvar indian-tlg-JTS-hash
+  (indian-make-hash-alt indian-tlg-base-table
+                         indian-JTS-table))
+
 (defvar indian-knd-itrans-v5-hash
   (indian-make-hash indian-knd-base-table
                          indian-itrans-v5-table))
@@ -577,6 +653,16 @@
   (indian-translate-region
    from to indian-dev-aiba-hash nil))
 
+(defun indian-tlg-JTS-encode-region (from to)
+  (interactive "r")
+  (indian-translate-region
+   from to indian-tlg-JTS-hash t))
+
+(defun indian-tlg-JTS-decode-region (from to)
+  (interactive "r")
+  (indian-translate-region
+   from to indian-tlg-JTS-hash nil))


reply via email to

[Prev in Thread] Current Thread [Next in Thread]