90123
|
1 ;;; ethiopic.el --- support for Ethiopic -*- coding: utf-8-emacs; -*-
|
17052
|
2
|
100908
|
3 ;; Copyright (C) 1997, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009
|
74544
|
4 ;; Free Software Foundation, Inc.
|
74605
|
5 ;; Copyright (C) 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
|
100908
|
6 ;; 2005, 2006, 2007, 2008, 2009
|
62396
|
7 ;; National Institute of Advanced Industrial Science and Technology (AIST)
|
|
8 ;; Registration Number H14PRO021
|
17052
|
9
|
|
10 ;; Keywords: multilingual, Ethiopic
|
|
11
|
|
12 ;; This file is part of GNU Emacs.
|
|
13
|
94665
|
14 ;; GNU Emacs is free software: you can redistribute it and/or modify
|
17052
|
15 ;; it under the terms of the GNU General Public License as published by
|
94665
|
16 ;; the Free Software Foundation, either version 3 of the License, or
|
|
17 ;; (at your option) any later version.
|
17052
|
18
|
|
19 ;; GNU Emacs is distributed in the hope that it will be useful,
|
|
20 ;; but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
21 ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
22 ;; GNU General Public License for more details.
|
|
23
|
|
24 ;; You should have received a copy of the GNU General Public License
|
94665
|
25 ;; along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>.
|
17299
|
26
|
36429
|
27 ;; Author: TAKAHASHI Naoto <ntakahas@m17n.org>
|
17052
|
28
|
38436
|
29 ;;; Commentary:
|
|
30
|
17052
|
31 ;;; Code:
|
|
32
|
|
33 (define-ccl-program ccl-encode-ethio-font
|
|
34 '(0
|
17299
|
35 ;; In: R0:ethiopic (not checked)
|
17052
|
36 ;; R1:position code 1
|
|
37 ;; R2:position code 2
|
|
38 ;; Out: R1:font code point 1
|
|
39 ;; R2:font code point 2
|
|
40 ((r1 -= 33)
|
|
41 (r2 -= 33)
|
|
42 (r1 *= 94)
|
|
43 (r2 += r1)
|
17299
|
44 (if (r2 < 256)
|
90281
|
45 (r1 = #x12)
|
17299
|
46 (if (r2 < 448)
|
90281
|
47 ((r1 = #x13) (r2 -= 256))
|
|
48 ((r1 = #xfd) (r2 -= 208))
|
17299
|
49 ))))
|
19090
|
50 "CCL program to encode an Ethiopic code to code point of Ethiopic font.")
|
17052
|
51
|
|
52 (setq font-ccl-encoder-alist
|
17299
|
53 (cons (cons "ethiopic" ccl-encode-ethio-font) font-ccl-encoder-alist))
|
17052
|
54
|
|
55 (set-language-info-alist
|
22983
7a010b8c0d99
("LANUGAGE-ENVIRONMENT"): Delete property setup-function or change
Kenichi Handa <handa@m17n.org>
diff
changeset
|
56 "Ethiopic" '((setup-function . setup-ethiopic-environment-internal)
|
22518
|
57 (exit-function . exit-ethiopic-environment)
|
20744
|
58 (charset ethiopic)
|
90123
|
59 (coding-system utf-8-emacs)
|
|
60 (coding-priority utf-8-emacs)
|
22983
7a010b8c0d99
("LANUGAGE-ENVIRONMENT"): Delete property setup-function or change
Kenichi Handa <handa@m17n.org>
diff
changeset
|
61 (input-method . "ethiopic")
|
7a010b8c0d99
("LANUGAGE-ENVIRONMENT"): Delete property setup-function or change
Kenichi Handa <handa@m17n.org>
diff
changeset
|
62 (features ethio-util)
|
90123
|
63 (sample-text . "���衣��")
|
49598
|
64 (documentation .
|
90123
|
65 "This language envrironment provides these function key bindings:
|
|
66 [f3] ethio-fidel-to-sera-buffer
|
|
67 [S-f3] ethio-fidel-to-sera-region
|
|
68 [C-f3] ethio-fidel-to-sera-marker
|
|
69
|
|
70 [f4] ethio-sera-to-fidel-buffer
|
|
71 [S-f4] ethio-sera-to-fidel-region
|
|
72 [C-f4] ethio-sera-to-fidel-marker
|
36429
|
73
|
90123
|
74 [S-f5] ethio-toggle-punctuation
|
|
75 [S-f6] ethio-modify-vowel
|
|
76 [S-f7] ethio-replace-space
|
36429
|
77
|
90123
|
78 [S-f9] ethio-replace-space
|
|
79 [C-f9] ethio-toggle-space"
|
36429
|
80 )))
|
17052
|
81
|
90123
|
82 ;; For automatic composition
|
|
83 (aset composition-function-table ?��� 'ethio-composition-function)
|
90281
|
84 (aset composition-function-table ?�� 'ethio-composition-function)
|
90123
|
85
|
33778
|
86 (provide 'ethiopic)
|
|
87
|
93975
|
88 ;; arch-tag: e81329d9-1286-43ba-92fd-54ce5c7b213c
|
17052
|
89 ;;; ethiopic.el ends here
|