annotate lisp/language/ethiopic.el @ 92411:133560a77a09

(recompute_cached_metrics): Change font arg to w32font_info. Compute options separately. (w32font_open_internal): Set glyph_idx before caching metrics.
author Jason Rumney <jasonr@gnu.org>
date Mon, 03 Mar 2008 01:49:04 +0000
parents 606f2d163a64
children 1e3a407766b9
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
90123
b34d1b1795af Encoding changed to utf-8-emacs.
Kenichi Handa <handa@m17n.org>
parents: 89909
diff changeset
1 ;;; ethiopic.el --- support for Ethiopic -*- coding: utf-8-emacs; -*-
17052
d0d7b244b1d0 Initial revision
Karl Heuer <kwzh@gnu.org>
parents:
diff changeset
2
79711
b5d3fc1c4afe Add 2008 to copyright years.
Glenn Morris <rgm@gnu.org>
parents: 78309
diff changeset
3 ;; Copyright (C) 1997, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008
74544
43cc94d955c2 Update copyright years.
Glenn Morris <rgm@gnu.org>
parents: 64085
diff changeset
4 ;; Free Software Foundation, Inc.
74605
6ee41fdd69ff Update AIST copyright years.
Kenichi Handa <handa@m17n.org>
parents: 74544
diff changeset
5 ;; Copyright (C) 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
79711
b5d3fc1c4afe Add 2008 to copyright years.
Glenn Morris <rgm@gnu.org>
parents: 78309
diff changeset
6 ;; 2005, 2006, 2007, 2008
62396
197607499a29 Fix copyrights.
Kenichi Handa <handa@m17n.org>
parents: 52401
diff changeset
7 ;; National Institute of Advanced Industrial Science and Technology (AIST)
197607499a29 Fix copyrights.
Kenichi Handa <handa@m17n.org>
parents: 52401
diff changeset
8 ;; Registration Number H14PRO021
17052
d0d7b244b1d0 Initial revision
Karl Heuer <kwzh@gnu.org>
parents:
diff changeset
9
d0d7b244b1d0 Initial revision
Karl Heuer <kwzh@gnu.org>
parents:
diff changeset
10 ;; Keywords: multilingual, Ethiopic
d0d7b244b1d0 Initial revision
Karl Heuer <kwzh@gnu.org>
parents:
diff changeset
11
d0d7b244b1d0 Initial revision
Karl Heuer <kwzh@gnu.org>
parents:
diff changeset
12 ;; This file is part of GNU Emacs.
d0d7b244b1d0 Initial revision
Karl Heuer <kwzh@gnu.org>
parents:
diff changeset
13
d0d7b244b1d0 Initial revision
Karl Heuer <kwzh@gnu.org>
parents:
diff changeset
14 ;; GNU Emacs is free software; you can redistribute it and/or modify
d0d7b244b1d0 Initial revision
Karl Heuer <kwzh@gnu.org>
parents:
diff changeset
15 ;; it under the terms of the GNU General Public License as published by
78309
0938de05f510 Restore comma mistakenly removed in last change.
Glenn Morris <rgm@gnu.org>
parents: 78300
diff changeset
16 ;; the Free Software Foundation; either version 3, or (at your option)
17052
d0d7b244b1d0 Initial revision
Karl Heuer <kwzh@gnu.org>
parents:
diff changeset
17 ;; any later version.
d0d7b244b1d0 Initial revision
Karl Heuer <kwzh@gnu.org>
parents:
diff changeset
18
d0d7b244b1d0 Initial revision
Karl Heuer <kwzh@gnu.org>
parents:
diff changeset
19 ;; GNU Emacs is distributed in the hope that it will be useful,
d0d7b244b1d0 Initial revision
Karl Heuer <kwzh@gnu.org>
parents:
diff changeset
20 ;; but WITHOUT ANY WARRANTY; without even the implied warranty of
d0d7b244b1d0 Initial revision
Karl Heuer <kwzh@gnu.org>
parents:
diff changeset
21 ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
d0d7b244b1d0 Initial revision
Karl Heuer <kwzh@gnu.org>
parents:
diff changeset
22 ;; GNU General Public License for more details.
d0d7b244b1d0 Initial revision
Karl Heuer <kwzh@gnu.org>
parents:
diff changeset
23
d0d7b244b1d0 Initial revision
Karl Heuer <kwzh@gnu.org>
parents:
diff changeset
24 ;; You should have received a copy of the GNU General Public License
17314
f438ebf1c679 Fix FSF address in comment.
Kenichi Handa <handa@m17n.org>
parents: 17299
diff changeset
25 ;; along with GNU Emacs; see the file COPYING. If not, write to the
64085
18a818a2ee7c Update FSF's address.
Lute Kamstra <lute@gnu.org>
parents: 62396
diff changeset
26 ;; Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
18a818a2ee7c Update FSF's address.
Lute Kamstra <lute@gnu.org>
parents: 62396
diff changeset
27 ;; Boston, MA 02110-1301, USA.
17299
1d2c8b8a2875 Completely updated.
Kenichi Handa <handa@m17n.org>
parents: 17071
diff changeset
28
36429
1610938fcd8b ("Ethiopic"): Add documentation.
Kenichi Handa <handa@m17n.org>
parents: 33778
diff changeset
29 ;; Author: TAKAHASHI Naoto <ntakahas@m17n.org>
17052
d0d7b244b1d0 Initial revision
Karl Heuer <kwzh@gnu.org>
parents:
diff changeset
30
38436
b174db545cfd Some fixes to follow coding conventions.
Pavel Janík <Pavel@Janik.cz>
parents: 36429
diff changeset
31 ;;; Commentary:
b174db545cfd Some fixes to follow coding conventions.
Pavel Janík <Pavel@Janik.cz>
parents: 36429
diff changeset
32
17052
d0d7b244b1d0 Initial revision
Karl Heuer <kwzh@gnu.org>
parents:
diff changeset
33 ;;; Code:
d0d7b244b1d0 Initial revision
Karl Heuer <kwzh@gnu.org>
parents:
diff changeset
34
d0d7b244b1d0 Initial revision
Karl Heuer <kwzh@gnu.org>
parents:
diff changeset
35 (define-ccl-program ccl-encode-ethio-font
d0d7b244b1d0 Initial revision
Karl Heuer <kwzh@gnu.org>
parents:
diff changeset
36 '(0
17299
1d2c8b8a2875 Completely updated.
Kenichi Handa <handa@m17n.org>
parents: 17071
diff changeset
37 ;; In: R0:ethiopic (not checked)
17052
d0d7b244b1d0 Initial revision
Karl Heuer <kwzh@gnu.org>
parents:
diff changeset
38 ;; R1:position code 1
d0d7b244b1d0 Initial revision
Karl Heuer <kwzh@gnu.org>
parents:
diff changeset
39 ;; R2:position code 2
d0d7b244b1d0 Initial revision
Karl Heuer <kwzh@gnu.org>
parents:
diff changeset
40 ;; Out: R1:font code point 1
d0d7b244b1d0 Initial revision
Karl Heuer <kwzh@gnu.org>
parents:
diff changeset
41 ;; R2:font code point 2
d0d7b244b1d0 Initial revision
Karl Heuer <kwzh@gnu.org>
parents:
diff changeset
42 ((r1 -= 33)
d0d7b244b1d0 Initial revision
Karl Heuer <kwzh@gnu.org>
parents:
diff changeset
43 (r2 -= 33)
d0d7b244b1d0 Initial revision
Karl Heuer <kwzh@gnu.org>
parents:
diff changeset
44 (r1 *= 94)
d0d7b244b1d0 Initial revision
Karl Heuer <kwzh@gnu.org>
parents:
diff changeset
45 (r2 += r1)
17299
1d2c8b8a2875 Completely updated.
Kenichi Handa <handa@m17n.org>
parents: 17071
diff changeset
46 (if (r2 < 256)
90281
d3b6ae880dce Copyright fixed.
Kenichi Handa <handa@m17n.org>
parents: 90200
diff changeset
47 (r1 = #x12)
17299
1d2c8b8a2875 Completely updated.
Kenichi Handa <handa@m17n.org>
parents: 17071
diff changeset
48 (if (r2 < 448)
90281
d3b6ae880dce Copyright fixed.
Kenichi Handa <handa@m17n.org>
parents: 90200
diff changeset
49 ((r1 = #x13) (r2 -= 256))
d3b6ae880dce Copyright fixed.
Kenichi Handa <handa@m17n.org>
parents: 90200
diff changeset
50 ((r1 = #xfd) (r2 -= 208))
17299
1d2c8b8a2875 Completely updated.
Kenichi Handa <handa@m17n.org>
parents: 17071
diff changeset
51 ))))
19090
7d36a4bbe75e (ccl-encode-ethio-font): Fix typo in doc-string.
Kenichi Handa <handa@m17n.org>
parents: 18377
diff changeset
52 "CCL program to encode an Ethiopic code to code point of Ethiopic font.")
17052
d0d7b244b1d0 Initial revision
Karl Heuer <kwzh@gnu.org>
parents:
diff changeset
53
d0d7b244b1d0 Initial revision
Karl Heuer <kwzh@gnu.org>
parents:
diff changeset
54 (setq font-ccl-encoder-alist
17299
1d2c8b8a2875 Completely updated.
Kenichi Handa <handa@m17n.org>
parents: 17071
diff changeset
55 (cons (cons "ethiopic" ccl-encode-ethio-font) font-ccl-encoder-alist))
17052
d0d7b244b1d0 Initial revision
Karl Heuer <kwzh@gnu.org>
parents:
diff changeset
56
d0d7b244b1d0 Initial revision
Karl Heuer <kwzh@gnu.org>
parents:
diff changeset
57 (set-language-info-alist
22983
7a010b8c0d99 ("LANUGAGE-ENVIRONMENT"): Delete property setup-function or change
Kenichi Handa <handa@m17n.org>
parents: 22764
diff changeset
58 "Ethiopic" '((setup-function . setup-ethiopic-environment-internal)
22518
64b8166a9747 Set `exit-function' of Ethiopic
Kenichi Handa <handa@m17n.org>
parents: 20744
diff changeset
59 (exit-function . exit-ethiopic-environment)
20744
48d79ef65489 Register coding-priority key in
Kenichi Handa <handa@m17n.org>
parents: 19090
diff changeset
60 (charset ethiopic)
90123
b34d1b1795af Encoding changed to utf-8-emacs.
Kenichi Handa <handa@m17n.org>
parents: 89909
diff changeset
61 (coding-system utf-8-emacs)
b34d1b1795af Encoding changed to utf-8-emacs.
Kenichi Handa <handa@m17n.org>
parents: 89909
diff changeset
62 (coding-priority utf-8-emacs)
22983
7a010b8c0d99 ("LANUGAGE-ENVIRONMENT"): Delete property setup-function or change
Kenichi Handa <handa@m17n.org>
parents: 22764
diff changeset
63 (input-method . "ethiopic")
7a010b8c0d99 ("LANUGAGE-ENVIRONMENT"): Delete property setup-function or change
Kenichi Handa <handa@m17n.org>
parents: 22764
diff changeset
64 (features ethio-util)
90123
b34d1b1795af Encoding changed to utf-8-emacs.
Kenichi Handa <handa@m17n.org>
parents: 89909
diff changeset
65 (sample-text . "ፊደል")
49598
0d8b17d428b5 Trailing whitepace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents: 38436
diff changeset
66 (documentation .
90123
b34d1b1795af Encoding changed to utf-8-emacs.
Kenichi Handa <handa@m17n.org>
parents: 89909
diff changeset
67 "This language envrironment provides these function key bindings:
b34d1b1795af Encoding changed to utf-8-emacs.
Kenichi Handa <handa@m17n.org>
parents: 89909
diff changeset
68 [f3] ethio-fidel-to-sera-buffer
b34d1b1795af Encoding changed to utf-8-emacs.
Kenichi Handa <handa@m17n.org>
parents: 89909
diff changeset
69 [S-f3] ethio-fidel-to-sera-region
b34d1b1795af Encoding changed to utf-8-emacs.
Kenichi Handa <handa@m17n.org>
parents: 89909
diff changeset
70 [C-f3] ethio-fidel-to-sera-marker
b34d1b1795af Encoding changed to utf-8-emacs.
Kenichi Handa <handa@m17n.org>
parents: 89909
diff changeset
71
b34d1b1795af Encoding changed to utf-8-emacs.
Kenichi Handa <handa@m17n.org>
parents: 89909
diff changeset
72 [f4] ethio-sera-to-fidel-buffer
b34d1b1795af Encoding changed to utf-8-emacs.
Kenichi Handa <handa@m17n.org>
parents: 89909
diff changeset
73 [S-f4] ethio-sera-to-fidel-region
b34d1b1795af Encoding changed to utf-8-emacs.
Kenichi Handa <handa@m17n.org>
parents: 89909
diff changeset
74 [C-f4] ethio-sera-to-fidel-marker
36429
1610938fcd8b ("Ethiopic"): Add documentation.
Kenichi Handa <handa@m17n.org>
parents: 33778
diff changeset
75
90123
b34d1b1795af Encoding changed to utf-8-emacs.
Kenichi Handa <handa@m17n.org>
parents: 89909
diff changeset
76 [S-f5] ethio-toggle-punctuation
b34d1b1795af Encoding changed to utf-8-emacs.
Kenichi Handa <handa@m17n.org>
parents: 89909
diff changeset
77 [S-f6] ethio-modify-vowel
b34d1b1795af Encoding changed to utf-8-emacs.
Kenichi Handa <handa@m17n.org>
parents: 89909
diff changeset
78 [S-f7] ethio-replace-space
36429
1610938fcd8b ("Ethiopic"): Add documentation.
Kenichi Handa <handa@m17n.org>
parents: 33778
diff changeset
79
90123
b34d1b1795af Encoding changed to utf-8-emacs.
Kenichi Handa <handa@m17n.org>
parents: 89909
diff changeset
80 [S-f9] ethio-replace-space
b34d1b1795af Encoding changed to utf-8-emacs.
Kenichi Handa <handa@m17n.org>
parents: 89909
diff changeset
81 [C-f9] ethio-toggle-space"
36429
1610938fcd8b ("Ethiopic"): Add documentation.
Kenichi Handa <handa@m17n.org>
parents: 33778
diff changeset
82 )))
17052
d0d7b244b1d0 Initial revision
Karl Heuer <kwzh@gnu.org>
parents:
diff changeset
83
90123
b34d1b1795af Encoding changed to utf-8-emacs.
Kenichi Handa <handa@m17n.org>
parents: 89909
diff changeset
84 ;; For automatic composition
b34d1b1795af Encoding changed to utf-8-emacs.
Kenichi Handa <handa@m17n.org>
parents: 89909
diff changeset
85 (aset composition-function-table ? 'ethio-composition-function)
90281
d3b6ae880dce Copyright fixed.
Kenichi Handa <handa@m17n.org>
parents: 90200
diff changeset
86 (aset composition-function-table ?፟ 'ethio-composition-function)
90123
b34d1b1795af Encoding changed to utf-8-emacs.
Kenichi Handa <handa@m17n.org>
parents: 89909
diff changeset
87
33778
6d966e8b4bbe Use provide.
Dave Love <fx@gnu.org>
parents: 23158
diff changeset
88 (provide 'ethiopic)
6d966e8b4bbe Use provide.
Dave Love <fx@gnu.org>
parents: 23158
diff changeset
89
52401
695cf19ef79e Add arch taglines
Miles Bader <miles@gnu.org>
parents: 49598
diff changeset
90 ;;; arch-tag: e81329d9-1286-43ba-92fd-54ce5c7b213c
17052
d0d7b244b1d0 Initial revision
Karl Heuer <kwzh@gnu.org>
parents:
diff changeset
91 ;;; ethiopic.el ends here