353
|
1 ;;; ethiopic.el --- Support for Ethiopic -*- coding: iso-2022-7bit; -*-
|
|
2
|
|
3 ;; Copyright (C) 1995,1999 Electrotechnical Laboratory, JAPAN.
|
|
4 ;; Licensed to the Free Software Foundation.
|
|
5 ;; Copyright (C) 1997 MORIOKA Tomohiko
|
|
6
|
|
7 ;; Keywords: multilingual, Ethiopic
|
|
8
|
|
9 ;; This file is part of XEmacs.
|
|
10
|
|
11 ;; XEmacs is free software; you can redistribute it and/or modify it
|
|
12 ;; under the terms of the GNU General Public License as published by
|
|
13 ;; the Free Software Foundation; either version 2, or (at your option)
|
|
14 ;; any later version.
|
|
15
|
|
16 ;; XEmacs is distributed in the hope that it will be useful, but
|
|
17 ;; WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
18 ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
|
19 ;; General Public License for more details.
|
|
20
|
|
21 ;; You should have received a copy of the GNU General Public License
|
|
22 ;; along with XEmacs; see the file COPYING. If not, write to the Free
|
|
23 ;; Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
|
|
24 ;; 02111-1307, USA.
|
|
25
|
|
26 ;; Author: TAKAHASHI Naoto <ntakahas@etl.go.jp>
|
|
27 ;; modified by MORIOKA Tomohiko <morioka@jaist.ac.jp> for XEmacs.
|
|
28
|
|
29 ;;; Code:
|
|
30
|
778
|
31 ;; Ethiopic characters (Amahric and Tigrigna).
|
|
32 (make-charset 'ethiopic "Ethiopic characters"
|
|
33 '(dimension
|
|
34 2
|
3659
|
35 registries ["Ethiopic-Unicode"]
|
353
|
36 chars 94
|
778
|
37 columns 2
|
|
38 direction l2r
|
353
|
39 final ?3
|
|
40 graphic 0
|
778
|
41 short-name "Ethiopic"
|
|
42 long-name "Ethiopic characters"
|
353
|
43 ))
|
|
44
|
|
45 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
46 ;;; ETHIOPIC
|
|
47 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
48
|
|
49 (define-category ?E "Ethiopic (Ge'ez) character.")
|
|
50 (modify-category-entry 'ethiopic ?E)
|
|
51
|
|
52 (define-ccl-program ccl-encode-ethio-font
|
|
53 '(0
|
|
54 ;; In: R0:ethiopic (not checked)
|
|
55 ;; R1:position code 1
|
|
56 ;; R2:position code 2
|
|
57 ;; Out: R1:font code point 1
|
|
58 ;; R2:font code point 2
|
|
59 ((r1 -= 33)
|
|
60 (r2 -= 33)
|
|
61 (r1 *= 94)
|
|
62 (r2 += r1)
|
|
63 (if (r2 < 256)
|
4072
|
64 (r1 = #x12)
|
353
|
65 (if (r2 < 448)
|
4072
|
66 ((r1 = #x13) (r2 -= 256))
|
|
67 ((r1 = #xfd) (r2 -= 208))
|
353
|
68 ))))
|
|
69 "CCL program to encode an Ethiopic code to code point of Ethiopic font.")
|
|
70
|
444
|
71 (set-charset-ccl-program 'ethiopic 'ccl-encode-ethio-font)
|
353
|
72
|
|
73 (set-language-info-alist
|
|
74 "Ethiopic" '((setup-function . setup-ethiopic-environment-internal)
|
|
75 (exit-function . exit-ethiopic-environment)
|
|
76 (charset ethiopic)
|
|
77 (coding-system iso-2022-7bit)
|
|
78 (coding-priority iso-2022-7bit)
|
3970
|
79 ;; (input-method . "ethiopic")
|
353
|
80 (features ethio-util)
|
|
81 (sample-text . "$(3$Q#U!.(B")
|
|
82 (documentation . t)))
|
|
83
|
3659
|
84 ;; In a more ideal world, we could set the default face fallback from here
|
|
85 ;; to use one of the misc-fixed sizes that handles Ethiopic.
|
|
86
|
353
|
87 ;;; ethiopic.el ends here
|