Index: pixmaps/Makefile.am
===================================================================
--- pixmaps/Makefile.am	(revision 5113)
+++ pixmaps/Makefile.am	(working copy)
@@ -27,7 +27,7 @@
 IM_SUBST_SVGS = py.svg pyunihan.svg pinyin-big5.svg \
                 mana.svg \
                 hangul2.svg hangul3.svg romaja.svg \
-                viqr.svg ipa-x-sampa.svg latin.svg elatin.svg \
+                telex.svg viqr.svg ipa-x-sampa.svg latin.svg elatin.svg \
                 look.svg scim.svg
 GENERATED_SVGS = $(IM_SUBST_SVGS) trycode.svg
 SVGS += im_subst.svg $(GENERATED_SVGS)
@@ -35,7 +35,7 @@
 IM_SUBST_PNGS = py.png pyunihan.png pinyin-big5.png \
                 mana.png \
                 hangul2.png hangul3.png romaja.png \
-                viqr.png ipa-x-sampa.png latin.png elatin.png \
+                telex.png viqr.png ipa-x-sampa.png latin.png elatin.png \
                 look.png scim.png
 
 SVG_PNGS = unknown.png \
Index: scm/telex.scm
===================================================================
--- scm/telex.scm	(revision 0)
+++ scm/telex.scm	(revision 0)
@@ -0,0 +1,327 @@
+;;;
+;;; Copyright (c) 2003-2007 uim Project http://code.google.com/p/uim/
+;;;
+;;; All rights reserved.
+;;;
+;;; Redistribution and use in source and binary forms, with or without
+;;; modification, are permitted provided that the following conditions
+;;; are met:
+;;; 1. Redistributions of source code must retain the above copyright
+;;;    notice, this list of conditions and the following disclaimer.
+;;; 2. Redistributions in binary form must reproduce the above copyright
+;;;    notice, this list of conditions and the following disclaimer in the
+;;;    documentation and/or other materials provided with the distribution.
+;;; 3. Neither the name of authors nor the names of its contributors
+;;;    may be used to endorse or promote products derived from this software
+;;;    without specific prior written permission.
+;;;
+;;; THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ``AS IS'' AND
+;;; ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+;;; IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+;;; ARE DISCLAIMED.  IN NO EVENT SHALL THE COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE
+;;; FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+;;; DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+;;; OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+;;; HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+;;; LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+;;; OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+;;; SUCH DAMAGE.
+;;;;
+
+(require "generic.scm")
+
+(define telex-rule
+  '(
+((("A" ))("A"))
+((("A" "S" ))("Á"))
+((("A" "s" ))("Á"))
+((("A" "W" ))("Ă"))
+((("A" "w" ))("Ă"))
+((("A" "W" "S" ))("Ắ"))
+((("A" "W" "s" ))("Ắ"))
+((("A" "w" "S" ))("Ắ"))
+((("A" "w" "s" ))("Ắ"))
+((("A" "W" "J" ))("Ặ"))
+((("A" "W" "j" ))("Ặ"))
+((("A" "w" "J" ))("Ặ"))
+((("A" "w" "j" ))("Ặ"))
+((("A" "W" "R" ))("Ẳ"))
+((("A" "W" "r" ))("Ẳ"))
+((("A" "w" "R" ))("Ẳ"))
+((("A" "w" "r" ))("Ẳ"))
+((("A" "W" "F" ))("Ằ"))
+((("A" "W" "f" ))("Ằ"))
+((("A" "w" "F" ))("Ằ"))
+((("A" "w" "f" ))("Ằ"))
+((("A" "W" "X" ))("Ẵ"))
+((("A" "W" "x" ))("Ẵ"))
+((("A" "w" "X" ))("Ẵ"))
+((("A" "w" "x" ))("Ẵ"))
+((("A" "J" ))("Ạ"))
+((("A" "j" ))("Ạ"))
+((("A" "R" ))("Ả"))
+((("A" "r" ))("Ả"))
+((("A" "A" ))("Â"))
+((("A" "a" ))("Â"))
+((("A" "A" "S" ))("Ấ"))
+((("A" "A" "s" ))("Ấ"))
+((("A" "a" "S" ))("Ấ"))
+((("A" "a" "s" ))("Ấ"))
+((("A" "A" "J" ))("Ậ"))
+((("A" "A" "j" ))("Ậ"))
+((("A" "a" "J" ))("Ậ"))
+((("A" "a" "j" ))("Ậ"))
+((("A" "A" "R" ))("Ẩ"))
+((("A" "A" "r" ))("Ẩ"))
+((("A" "a" "R" ))("Ẩ"))
+((("A" "a" "r" ))("Ẩ"))
+((("A" "A" "F" ))("Ầ"))
+((("A" "A" "f" ))("Ầ"))
+((("A" "a" "F" ))("Ầ"))
+((("A" "a" "f" ))("Ầ"))
+((("A" "A" "X" ))("Ẫ"))
+((("A" "A" "x" ))("Ẫ"))
+((("A" "a" "X" ))("Ẫ"))
+((("A" "a" "x" ))("Ẫ"))
+((("A" "F" ))("À"))
+((("A" "f" ))("À"))
+((("A" "X" ))("Ã"))
+((("A" "x" ))("Ã"))
+((("D" ))("D"))
+((("D" "D" ))("Đ"))
+((("D" "d" ))("Đ"))
+((("E" ))("E"))
+((("E" "S" ))("É"))
+((("E" "s" ))("É"))
+((("E" "J" ))("Ẹ"))
+((("E" "j" ))("Ẹ"))
+((("E" "R" ))("Ẻ"))
+((("E" "r" ))("Ẻ"))
+((("E" "E" ))("Ê"))
+((("E" "e" ))("Ê"))
+((("E" "E" "S" ))("Ế"))
+((("E" "E" "s" ))("Ế"))
+((("E" "e" "S" ))("Ế"))
+((("E" "e" "s" ))("Ế"))
+((("E" "E" "J" ))("Ệ"))
+((("E" "E" "j" ))("Ệ"))
+((("E" "e" "J" ))("Ệ"))
+((("E" "e" "j" ))("Ệ"))
+((("E" "E" "R" ))("Ể"))
+((("E" "E" "r" ))("Ể"))
+((("E" "e" "R" ))("Ể"))
+((("E" "e" "r" ))("Ể"))
+((("E" "E" "F" ))("Ề"))
+((("E" "E" "f" ))("Ề"))
+((("E" "e" "F" ))("Ề"))
+((("E" "e" "f" ))("Ề"))
+((("E" "E" "X" ))("Ễ"))
+((("E" "E" "x" ))("Ễ"))
+((("E" "e" "X" ))("Ễ"))
+((("E" "e" "x" ))("Ễ"))
+((("E" "F" ))("È"))
+((("E" "f" ))("È"))
+((("E" "X" ))("Ẽ"))
+((("E" "x" ))("Ẽ"))
+((("I" ))("I"))
+((("I" "S" ))("Í"))
+((("I" "s" ))("Í"))
+((("I" "J" ))("Ị"))
+((("I" "j" ))("Ị"))
+((("I" "R" ))("Ỉ"))
+((("I" "r" ))("Ỉ"))
+((("I" "F" ))("Ì"))
+((("I" "f" ))("Ì"))
+((("I" "X" ))("Ĩ"))
+((("I" "x" ))("Ĩ"))
+((("O" ))("O"))
+((("O" "S" ))("Ó"))
+((("O" "s" ))("Ó"))
+((("O" "W" ))("Ơ"))
+((("O" "w" ))("Ơ"))
+((("O" "W" "S" ))("Ớ"))
+((("O" "W" "s" ))("Ớ"))
+((("O" "w" "S" ))("Ớ"))
+((("O" "w" "s" ))("Ớ"))
+((("O" "W" "J" ))("Ợ"))
+((("O" "W" "j" ))("Ợ"))
+((("O" "w" "J" ))("Ợ"))
+((("O" "w" "j" ))("Ợ"))
+((("O" "W" "R" ))("Ở"))
+((("O" "W" "r" ))("Ở"))
+((("O" "w" "R" ))("Ở"))
+((("O" "w" "f" ))("Ờ"))
+((("O" "W" "X" ))("Ỡ"))
+((("O" "W" "x" ))("Ỡ"))
+((("O" "w" "X" ))("Ỡ"))
+((("O" "w" "x" ))("Ỡ"))
+((("O" "J" ))("Ọ"))
+((("O" "j" ))("Ọ"))
+((("O" "R" ))("Ỏ"))
+((("O" "r" ))("Ỏ"))
+((("O" "O" ))("Ô"))
+((("O" "o" ))("Ô"))
+((("O" "O" "S" ))("Ố"))
+((("O" "O" "s" ))("Ố"))
+((("O" "o" "S" ))("Ố"))
+((("O" "o" "s" ))("Ố"))
+((("O" "O" "J" ))("Ộ"))
+((("O" "O" "j" ))("Ộ"))
+((("O" "o" "J" ))("Ộ"))
+((("O" "o" "j" ))("Ộ"))
+((("O" "O" "R" ))("Ổ"))
+((("O" "O" "r" ))("Ổ"))
+((("O" "o" "R" ))("Ổ"))
+((("O" "o" "r" ))("Ổ"))
+((("O" "O" "F" ))("Ồ"))
+((("O" "O" "f" ))("Ồ"))
+((("O" "o" "F" ))("Ồ"))
+((("O" "o" "f" ))("Ồ"))
+((("O" "O" "X" ))("Ỗ"))
+((("O" "O" "x" ))("Ỗ"))
+((("O" "o" "X" ))("Ỗ"))
+((("O" "o" "x" ))("Ỗ"))
+((("O" "F" ))("Ò"))
+((("O" "f" ))("Ò"))
+((("O" "X" ))("Õ"))
+((("O" "x" ))("Õ"))
+((("U" ))("U"))
+((("U" "S" ))("Ú"))
+((("U" "s" ))("Ú"))
+((("U" "W" ))("Ư"))
+((("U" "w" ))("Ư"))
+((("U" "W" "S" ))("Ứ"))
+((("U" "W" "s" ))("Ứ"))
+((("U" "w" "S" ))("Ứ"))
+((("U" "w" "s" ))("Ứ"))
+((("U" "W" "J" ))("Ự"))
+((("U" "W" "j" ))("Ự"))
+((("U" "w" "J" ))("Ự"))
+((("U" "w" "j" ))("Ự"))
+((("U" "W" "R" ))("Ử"))
+((("U" "W" "r" ))("Ử"))
+((("U" "w" "R" ))("Ử"))
+((("U" "w" "r" ))("Ử"))
+((("U" "W" "F" ))("Ừ"))
+((("U" "W" "f" ))("Ừ"))
+((("U" "w" "F" ))("Ừ"))
+((("U" "w" "f" ))("Ừ"))
+((("U" "W" "X" ))("Ữ"))
+((("U" "W" "x" ))("Ữ"))
+((("U" "w" "X" ))("Ữ"))
+((("U" "w" "x" ))("Ữ"))
+((("U" "J" ))("Ụ"))
+((("U" "j" ))("Ụ"))
+((("U" "R" ))("Ủ"))
+((("U" "r" ))("Ủ"))
+((("U" "F" ))("Ù"))
+((("U" "f" ))("Ù"))
+((("U" "X" ))("Ũ"))
+((("U" "x" ))("Ũ"))
+((("Y" ))("Y"))
+((("Y" "S" ))("Ý"))
+((("Y" "s" ))("Ý"))
+((("Y" "J" ))("Ỵ"))
+((("Y" "j" ))("Ỵ"))
+((("Y" "R" ))("Ỷ"))
+((("Y" "r" ))("Ỷ"))
+((("Y" "F" ))("Ỳ"))
+((("Y" "f" ))("Ỳ"))
+((("Y" "X" ))("Ỹ"))
+((("Y" "x" ))("Ỹ"))
+((("\\" ))(""))
+((("\\" "s" ))("s"))
+((("\\" "j" ))("j"))
+((("\\" "r" ))("r"))
+((("\\" "f" ))("f"))
+((("\\" "x" ))("x"))
+((("\\" "D" ))("D"))
+((("\\" "d" ))("d"))
+((("\\" "\\" ))("\\"))
+((("a" ))("a"))
+((("a" "s" ))("á"))
+((("a" "w" ))("ă"))
+((("a" "w" "s" ))("ắ"))
+((("a" "w" "j" ))("ặ"))
+((("a" "w" "r" ))("ẳ"))
+((("a" "w" "f" ))("ằ"))
+((("a" "w" "x" ))("ẵ"))
+((("a" "j" ))("ạ"))
+((("a" "r" ))("ả"))
+((("a" "a" ))("â"))
+((("a" "a" "s" ))("ấ"))
+((("a" "a" "j" ))("ậ"))
+((("a" "a" "r" ))("ẩ"))
+((("a" "a" "f" ))("ầ"))
+((("a" "a" "x" ))("ẫ"))
+((("a" "f" ))("à"))
+((("a" "x" ))("ã"))
+((("d" ))("d"))
+((("d" "d" ))("đ"))
+((("e" ))("e"))
+((("e" "s" ))("é"))
+((("e" "j" ))("ẹ"))
+((("e" "r" ))("ẻ"))
+((("e" "e" ))("ê"))
+((("e" "e" "s" ))("ế"))
+((("e" "e" "j" ))("ệ"))
+((("e" "e" "r" ))("ể"))
+((("e" "e" "f" ))("ề"))
+((("e" "e" "x" ))("ễ"))
+((("e" "f" ))("è"))
+((("e" "x" ))("ẽ"))
+((("i" ))("i"))
+((("i" "s" ))("í"))
+((("i" "j" ))("ị"))
+((("i" "r" ))("ỉ"))
+((("i" "f" ))("ì"))
+((("i" "x" ))("ĩ"))
+((("o" ))("o"))
+((("o" "s" ))("ó"))
+((("o" "w" ))("ơ"))
+((("o" "w" "s" ))("ớ"))
+((("o" "w" "j" ))("ợ"))
+((("o" "w" "r" ))("ở"))
+((("o" "w" "f" ))("ờ"))
+((("o" "w" "x" ))("ỡ"))
+((("o" "j" ))("ọ"))
+((("o" "r" ))("ỏ"))
+((("o" "o" ))("ô"))
+((("o" "o" "s" ))("ố"))
+((("o" "o" "j" ))("ộ"))
+((("o" "o" "r" ))("ổ"))
+((("o" "o" "f" ))("ồ"))
+((("o" "o" "x" ))("ỗ"))
+((("o" "f" ))("ò"))
+((("o" "x" ))("õ"))
+((("u" ))("u"))
+((("u" "s" ))("ú"))
+((("u" "w" ))("ư"))
+((("u" "w" "s" ))("ứ"))
+((("u" "w" "j" ))("ự"))
+((("u" "w" "r" ))("ử"))
+((("u" "w" "f" ))("ừ"))
+((("u" "w" "x" ))("ữ"))
+((("u" "j" ))("ụ"))
+((("u" "r" ))("ủ"))
+((("u" "f" ))("ù"))
+((("u" "x" ))("ũ"))
+((("y" ))("y"))
+((("y" "s" ))("ý"))
+((("y" "j" ))("ỵ"))
+((("y" "r" ))("ỷ"))
+((("y" "f" ))("ỳ"))
+((("y" "x" ))("ỹ"))))
+
+
+(define telex-init-handler
+  (lambda (id im arg)
+    (generic-context-new id im telex-rule #f)))
+
+(generic-register-im
+ 'telex
+ "vi"
+ "UTF-8"
+ (N_ "Telex")
+ (N_ "Vietnamese Telex Input Method")
+ telex-init-handler)
Index: scm/Makefile.am
===================================================================
--- scm/Makefile.am	(revision 5113)
+++ scm/Makefile.am	(working copy)
@@ -27,7 +27,7 @@
  hangul.scm hangul2.scm hangul3.scm romaja.scm \
  byeoru.scm byeoru-dic.scm byeoru-symbols.scm \
  byeoru-custom.scm byeoru-key-custom.scm \
- viqr.scm \
+ telex.scm viqr.scm \
  ipa-x-sampa.scm \
  latin.scm \
  elatin.scm elatin-rules.scm elatin-custom.scm \
@@ -63,7 +63,7 @@
   module_names += "m17nlib"
 endif
 # less preferable IMs
-module_names += "pyload" "hangul" "viqr" "ipa-x-sampa"  "look"
+module_names += "pyload" "hangul" "telex" "viqr" "ipa-x-sampa"  "look"
 if SCIM
   module_names += "scim"
 endif
