1 ;;; ethiopic.el --- Support for Ethiopic
3 ;; Copyright (C) 1995 Free Software Foundation, Inc.
4 ;; Copyright (C) 1995 Electrotechnical Laboratory, JAPAN.
6 ;; Keywords: multilingual, Ethiopic
8 ;; This file is part of GNU Emacs.
10 ;; GNU Emacs is free software; you can redistribute it and/or modify
11 ;; it under the terms of the GNU General Public License as published by
12 ;; the Free Software Foundation; either version 2, or (at your option)
15 ;; GNU Emacs is distributed in the hope that it will be useful,
16 ;; but WITHOUT ANY WARRANTY; without even the implied warranty of
17 ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
18 ;; GNU General Public License for more details.
20 ;; You should have received a copy of the GNU General Public License
21 ;; along with GNU Emacs; see the file COPYING. If not, write to the
22 ;; Free Software Foundation, Inc., 59 Temple Place - Suite 330,
23 ;; Boston, MA 02111-1307, USA.
25 ;; Author: TAKAHASHI Naoto <ntakahas@etl.go.jp>
29 (define-ccl-program ccl-encode-ethio-font
31 ;; In: R0:ethiopic (not checked)
34 ;; Out: R1:font code point 1
35 ;; R2:font code point 2
43 ((r1 = ?\x13) (r2 -= 256))
44 ((r1 = ?\xfd) (r2 -= 208))
46 "CCL program to encode an Ehitopic code to code point of Ehitopic font.")
48 (setq font-ccl-encoder-alist
49 (cons (cons "ethiopic" ccl-encode-ethio-font) font-ccl-encoder-alist))
51 (register-input-method
52 "Ethiopic" '("quail-ethio" quail-use-package "quail/ethiopic"))
54 (defun setup-ethiopic-environment ()
55 "Setup multilingual environment for Ethiopic."
57 (setq primary-language "Ethiopic")
59 (setq default-input-method '("Ethiopic" . "quail-ethio"))
64 (define-key global-map [f4] 'sera-to-fidel-buffer)
65 (define-key global-map [S-f4] 'sera-to-fidel-region)
66 (define-key global-map [C-f4] 'sera-to-fidel-marker)
67 (define-key global-map [f5] 'fidel-to-sera-buffer)
68 (define-key global-map [S-f5] 'fidel-to-sera-region)
69 (define-key global-map [C-f5] 'fidel-to-sera-marker)
70 (define-key global-map [f6] 'ethio-modify-vowel)
71 (define-key global-map [f7] 'ethio-replace-space)
72 (define-key global-map [f8] 'ethio-input-special-character)
73 (define-key global-map [S-f2] 'ethio-replace-space) ; as requested
78 (define-key rmail-mode-map [C-f4] 'sera-to-fidel-mail)
79 (define-key rmail-mode-map [C-f5] 'fidel-to-sera-mail)))
84 (define-key mail-mode-map [C-f4] 'sera-to-fidel-mail)
85 (define-key mail-mode-map [C-f5] 'fidel-to-sera-mail)))
88 (defun describe-ethiopic-support ()
89 "Describe how Emacs supports Ethiopic."
91 (describe-language-support-internal "Ethiopic"))
93 (set-language-info-alist
94 "Ethiopic" '((setup-function . setup-ethiopic-environment)
95 (describe-function . describe-ethiopic-support)
96 (charset . (ethiopic))
97 (sample-text . "
\e$(3$O#U!.
\e(B")
98 (documentation . nil)))
100 ;;; ethiopic.el ends here