[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Emacs-diffs] Changes to emacs/leim/quail/indian.el [emacs-unicode-2]
From: |
Kenichi Handa |
Subject: |
[Emacs-diffs] Changes to emacs/leim/quail/indian.el [emacs-unicode-2] |
Date: |
Mon, 08 Sep 2003 08:45:42 -0400 |
Index: emacs/leim/quail/indian.el
diff -c /dev/null emacs/leim/quail/indian.el:1.7.2.1
*** /dev/null Mon Sep 8 08:45:42 2003
--- emacs/leim/quail/indian.el Mon Sep 8 08:45:39 2003
***************
*** 0 ****
--- 1,249 ----
+ ;;; indian.el --- Quail packages for inputting Indian
+
+ ;; Copyright (C) 2000, 2001 Free Software Foundation, Inc.
+
+ ;; Author: KAWABATA, Taichi <address@hidden>
+
+ ;; Keywords: multilingual, input method, Indian, Devanagari
+
+ ;; This file is part of GNU Emacs.
+
+ ;; GNU Emacs is free software; you can redistribute it and/or modify
+ ;; it under the terms of the GNU General Public License as published by
+ ;; the Free Software Foundation; either version 2, or (at your option)
+ ;; any later version.
+
+ ;; GNU Emacs is distributed in the hope that it will be useful,
+ ;; but WITHOUT ANY WARRANTY; without even the implied warranty of
+ ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ ;; GNU General Public License for more details.
+
+ ;; You should have received a copy of the GNU General Public License
+ ;; along with GNU Emacs; see the file COPYING. If not, write to the
+ ;; Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+ ;; Boston, MA 02111-1307, USA.
+
+ ;;; Commentary:
+
+ ;; History:
+
+ ;; 2000.12.12
+ ;; Totally re-written from devanagari.el to handle multiple Indian Scripts.
+
+ ;;; Code:
+
+ (require 'quail)
+ (require 'ind-util)
+ (require 'devan-util)
+
+ ;;;
+ ;;; Input by transliteration
+ ;;;
+
+ (defun quail-define-indian-trans-package (hashtbls pkgname
+ lang title doc)
+ (funcall 'quail-define-package pkgname lang title t doc
+ nil nil nil nil nil nil t nil)
+ (maphash
+ (lambda (key val)
+ (quail-defrule key (if (= (length val) 1)
+ (string-to-char val)
+ (vector val))))
+ (cdr hashtbls)))
+
+ ;; This needs to be seen by quail-update-leim-list-file, but cannot be
+ ;; commented out because quail-update-leim-list-file ignores
+ ;; commented-out lines.
+ (if nil
+ (quail-define-package "devanagari-itrans" "Devanagari" "DevIT" t
"Devanagari ITRANS"))
+ (quail-define-indian-trans-package
+ indian-dev-itrans-v5-hash "devanagari-itrans" "Devanagari" "DevIT"
+ "Devanagari transliteration by ITRANS method.")
+
+ (if nil
+ (quail-define-package "devanagari-kyoto-harvard" "Devanagari" "DevKH" t
"Devanagari Kyoto-Harvard"))
+ (quail-define-indian-trans-package
+ indian-dev-kyoto-harvard-hash
+ "devanagari-kyoto-harvard" "Devanagari" "DevKH"
+ "Devanagari transliteration by Kyoto-Harvard method.")
+
+ (if nil
+ (quail-define-package "devanagari-aiba" "Devanagari" "DevAB" t
"Devanagari Aiba"))
+ (quail-define-indian-trans-package
+ indian-dev-aiba-hash "devanagari-aiba" "Devanagari" "DevAB"
+ "Devanagari transliteration by Aiba-method.")
+
+ (if nil
+ (quail-define-package "punjabi-itrans" "Punjabi" "PnjIT" t "Punjabi
ITRANS"))
+ (quail-define-indian-trans-package
+ indian-pnj-itrans-v5-hash "punjabi-itrans" "Punjabi" "PnjIT"
+ "Punjabi transliteration by ITRANS method.")
+
+ (if nil
+ (quail-define-package "gujarati-itrans" "Gujarati" "GjrIT" t "Gujarati
ITRANS"))
+ (quail-define-indian-trans-package
+ indian-gjr-itrans-v5-hash "gujarati-itrans" "Gujarati" "GjrIT"
+ "Gujarati transliteration by ITRANS method.")
+
+ (if nil
+ (quail-define-package "oriya-itrans" "Oriya" "OriIT" t "Oriya ITRANS"))
+ (quail-define-indian-trans-package
+ indian-ori-itrans-v5-hash "oriya-itrans" "Oriya" "OriIT"
+ "Oriya transliteration by ITRANS method.")
+
+ (if nil
+ (quail-define-package "bengali-itrans" "Bengali" "BngIT" t "Bengali
ITRANS"))
+ (quail-define-indian-trans-package
+ indian-bng-itrans-v5-hash "bengali-itrans" "Bengali" "BngIT"
+ "Bengali transliteration by ITRANS method.")
+
+ (if nil
+ (quail-define-package "assamese-itrans" "Assamese" "AsmIT" t "Assamese
ITRANS"))
+ (quail-define-indian-trans-package
+ indian-asm-itrans-v5-hash "assamese-itrans" "Assamese" "AsmIT"
+ "Assamese transliteration by ITRANS method.")
+
+ (if nil
+ (quail-define-package "telugu-itrans" "Telugu" "TlgIT" t "Telugu ITRANS"))
+ (quail-define-indian-trans-package
+ indian-tlg-itrans-v5-hash "telugu-itrans" "Telugu" "TlgIT"
+ "Telugu transliteration by ITRANS method.")
+
+ (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"
+ "Kannada transliteration by ITRANS method.")
+
+ (if nil
+ (quail-define-package "malayalam-itrans" "Malayalam" "MlmIT" t "Malayalam
ITRANS"))
+ (quail-define-indian-trans-package
+ indian-mlm-itrans-v5-hash "malayalam-itrans" "Malayalam" "MlmIT"
+ "Malayalam transliteration by ITRANS method.")
+
+ (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.")
+
+
+ ;;;
+ ;;; Input by Inscript
+ ;;;
+
+ (defun quail-indian-flatten-list (lst)
+ "Flatten the nested LIST so that there would be no innner list."
+ (if (listp lst)
+ (apply 'append (mapcar 'quail-indian-flatten-list lst))
+ (list lst)))
+
+ (defun quail-define-inscript-package (char-table key-table pkgname lang title
+ docstring)
+ (setq char-table (quail-indian-flatten-list char-table))
+ (setq key-table (quail-indian-flatten-list key-table))
+ (funcall 'quail-define-package pkgname lang title nil docstring
+ nil nil nil nil nil nil nil nil)
+ (dolist (key key-table)
+ (let ((val (pop char-table)))
+ (if (and key val)
+ (quail-defrule
+ (if (characterp key) (char-to-string key) key)
+ (if (stringp val) (vector val) val))))))
+
+ ;;
+
+ (defvar inscript-dev-keytable
+ '(
+ (;; VOWELS (18)
+ (?D nil) (?E ?e) (?F ?f) (?R ?r) (?G ?g) (?T ?t)
+ (?+ ?=) ("F]" "f]") (?! ?@) (?Z ?z) (?S ?s) (?W ?w)
+ (?| ?\\) (?~ ?`) (?A ?a) (?Q ?q) ("+]" "=]") ("R]" "r]"))
+ (;; CONSONANTS (42)
+ ?k ?K ?i ?I ?U ;; GRUTTALS
+ ?\; ?: ?p ?P ?} ;; PALATALS
+ ?' ?\" ?\[ ?{ ?C ;; CEREBRALS
+ ?l ?L ?o ?O ?v ?V ;; DENTALS
+ ?h ?H ?y ?Y ?c ;; LABIALS
+ ?/ ?j ?J ?n ?N "N]" ?b ;; SEMIVOWELS
+ ?M ?< ?m ?u ;; SIBILANTS
+ "k]" "K]" "i]" "p]" "[]" "{]" "H]" "/]" ;; NUKTAS
+ ?% ?&)
+ (;; Misc Symbols (7)
+ ?X ?x ?_ ">]" ?d "X]" ?>)
+ (;; Digits
+ ?0 ?1 ?2 ?3 ?4 ?5 ?6 ?7 ?8 ?9)
+ (;; Inscripts
+ ?# ?$ ?^ ?* ?\])))
+
+ (if nil
+ (quail-define-package "devanagari-inscript" "Devanagari" "DevIS" t
"Devanagari keyboard Inscript"))
+ (quail-define-inscript-package
+ indian-dev-base-table inscript-dev-keytable
+ "devanagari-inscript" "Devanagari" "DevIS"
+ "Devanagari keyboard Inscript.")
+
+ (if nil
+ (quail-define-package "punjabi-inscript" "Punjabi" "PnjIS" t "Punjabi
keyboard Inscript"))
+ (quail-define-inscript-package
+ indian-pnj-base-table inscript-dev-keytable
+ "punjabi-inscript" "Punjabi" "PnjIS"
+ "Punjabi keyboard Inscript.")
+
+ (if nil
+ (quail-define-package "gujarati-inscript" "Gujarati" "GjrIS" t "Gujarati
keyboard Inscript"))
+ (quail-define-inscript-package
+ indian-gjr-base-table inscript-dev-keytable
+ "gujarati-inscript" "Gujarati" "GjrIS"
+ "Gujarati keyboard Inscript.")
+
+ (if nil
+ (quail-define-package "oriya-inscript" "Oriya" "OriIS" t "Oriya keyboard
Inscript"))
+ (quail-define-inscript-package
+ indian-ori-base-table inscript-dev-keytable
+ "oriya-inscript" "Oriya" "OriIS"
+ "Oriya keyboard Inscript.")
+
+ (if nil
+ (quail-define-package "bengali-inscript" "Bengali" "BngIS" t "Bengali
keyboard Inscript"))
+ (quail-define-inscript-package
+ indian-bng-base-table inscript-dev-keytable
+ "bengali-inscript" "Bengali" "BngIS"
+ "Bengali keyboard Inscript.")
+
+ (if nil
+ (quail-define-package "assamese-inscript" "Assamese" "AsmIS" t "Assamese
keyboard Inscript"))
+ (quail-define-inscript-package
+ indian-asm-base-table inscript-dev-keytable
+ "assamese-inscript" "Assamese" "AsmIS"
+ "Assamese keyboard Inscript.")
+
+ (if nil
+ (quail-define-package "telugu-inscript" "Telugu" "TlgIS" t "Telugu
keyboard Inscript"))
+ (quail-define-inscript-package
+ indian-dev-base-table inscript-dev-keytable
+ "telugu-inscript" "Telugu" "TlgIS"
+ "Telugu keyboard Inscript.")
+
+ (if nil
+ (quail-define-package "kannada-inscript" "Kannada" "KndIS" t "Kannada
keyboard Inscript"))
+ (quail-define-inscript-package
+ indian-knd-base-table inscript-dev-keytable
+ "kannada-inscript" "Kannada" "KndIS"
+ "Kannada keyboard Inscript.")
+
+ (if nil
+ (quail-define-package "malayalam-inscript" "Malayalam" "MlmIS" t
"Malayalam keyboard Inscript"))
+ (quail-define-inscript-package
+ indian-mlm-base-table inscript-dev-keytable
+ "malayalam-inscript" "Malayalam" "MlmIS"
+ "Malayalam keyboard Inscript.")
+
+ (if nil
+ (quail-define-package "tamil-inscript" "Tamil" "TmlIS" t "Tamil keyboard
Inscript"))
+ (quail-define-inscript-package
+ indian-tml-base-table inscript-dev-keytable
+ "tamil-inscript" "Tamil" "TmlIS"
+ "Tamil keyboard Inscript.")
+
+ ;;; indian.el ends here
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Emacs-diffs] Changes to emacs/leim/quail/indian.el [emacs-unicode-2],
Kenichi Handa <=