annotate lisp/language/indian.el @ 83373:35ba943c8399

Set Emacs version number to 22.0.51 to allow parallel installations of CVS trunk and the multi-tty branch. * README: Set Emacs version to 22.0.51. * lispref/elisp.texi (EMACSVER): Set to 22.0.51. * man/emacs.texi (EMACSVER): Set to 22.0.51. * lisp/version.el (emacs-version): Set to 22.0.51. git-archimport-id: lorentey@elte.hu--2004/emacs--multi-tty--0--patch-413
author Karoly Lorentey <lorentey@elte.hu>
date Sun, 11 Sep 2005 04:10:45 +0000
parents 18a818a2ee7c
children 43cc94d955c2 f9a65d7ebd29
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
41469
f091948e4d1c Completely re-written.
Richard M. Stallman <rms@gnu.org>
parents: 38436
diff changeset
1 ;;; indian.el --- Indian languages support -*- coding: iso-2022-7bit; -*-
17052
d0d7b244b1d0 Initial revision
Karl Heuer <kwzh@gnu.org>
parents:
diff changeset
2
62396
197607499a29 Fix copyrights.
Kenichi Handa <handa@m17n.org>
parents: 57537
diff changeset
3 ;; Copyright (C) 1997, 1999, 2001 Free Software Foundation, Inc.
197607499a29 Fix copyrights.
Kenichi Handa <handa@m17n.org>
parents: 57537
diff changeset
4 ;; Copyright (C) 2002, 2003
197607499a29 Fix copyrights.
Kenichi Handa <handa@m17n.org>
parents: 57537
diff changeset
5 ;; National Institute of Advanced Industrial Science and Technology (AIST)
197607499a29 Fix copyrights.
Kenichi Handa <handa@m17n.org>
parents: 57537
diff changeset
6 ;; Registration Number H14PRO021
17052
d0d7b244b1d0 Initial revision
Karl Heuer <kwzh@gnu.org>
parents:
diff changeset
7
49704
003055ca7e13 Maintainer's mail address changed.
Kenichi Handa <handa@m17n.org>
parents: 47701
diff changeset
8 ;; Maintainer: KAWABATA, Taichi <kawabata@m17n.org>
42312
c7ffa58f9637 Add keyword.
Pavel Janík <Pavel@Janik.cz>
parents: 42152
diff changeset
9 ;; Keywords: multilingual, i18n, Indian
17052
d0d7b244b1d0 Initial revision
Karl Heuer <kwzh@gnu.org>
parents:
diff changeset
10
d0d7b244b1d0 Initial revision
Karl Heuer <kwzh@gnu.org>
parents:
diff changeset
11 ;; This file is part of GNU Emacs.
d0d7b244b1d0 Initial revision
Karl Heuer <kwzh@gnu.org>
parents:
diff changeset
12
d0d7b244b1d0 Initial revision
Karl Heuer <kwzh@gnu.org>
parents:
diff changeset
13 ;; GNU Emacs is free software; you can redistribute it and/or modify
d0d7b244b1d0 Initial revision
Karl Heuer <kwzh@gnu.org>
parents:
diff changeset
14 ;; it under the terms of the GNU General Public License as published by
d0d7b244b1d0 Initial revision
Karl Heuer <kwzh@gnu.org>
parents:
diff changeset
15 ;; the Free Software Foundation; either version 2, or (at your option)
d0d7b244b1d0 Initial revision
Karl Heuer <kwzh@gnu.org>
parents:
diff changeset
16 ;; any later version.
d0d7b244b1d0 Initial revision
Karl Heuer <kwzh@gnu.org>
parents:
diff changeset
17
d0d7b244b1d0 Initial revision
Karl Heuer <kwzh@gnu.org>
parents:
diff changeset
18 ;; GNU Emacs is distributed in the hope that it will be useful,
d0d7b244b1d0 Initial revision
Karl Heuer <kwzh@gnu.org>
parents:
diff changeset
19 ;; but WITHOUT ANY WARRANTY; without even the implied warranty of
d0d7b244b1d0 Initial revision
Karl Heuer <kwzh@gnu.org>
parents:
diff changeset
20 ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
d0d7b244b1d0 Initial revision
Karl Heuer <kwzh@gnu.org>
parents:
diff changeset
21 ;; GNU General Public License for more details.
d0d7b244b1d0 Initial revision
Karl Heuer <kwzh@gnu.org>
parents:
diff changeset
22
d0d7b244b1d0 Initial revision
Karl Heuer <kwzh@gnu.org>
parents:
diff changeset
23 ;; 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: 17300
diff changeset
24 ;; 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
25 ;; Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
18a818a2ee7c Update FSF's address.
Lute Kamstra <lute@gnu.org>
parents: 62396
diff changeset
26 ;; Boston, MA 02110-1301, USA.
17052
d0d7b244b1d0 Initial revision
Karl Heuer <kwzh@gnu.org>
parents:
diff changeset
27
d0d7b244b1d0 Initial revision
Karl Heuer <kwzh@gnu.org>
parents:
diff changeset
28 ;;; Commentary:
d0d7b244b1d0 Initial revision
Karl Heuer <kwzh@gnu.org>
parents:
diff changeset
29
41469
f091948e4d1c Completely re-written.
Richard M. Stallman <rms@gnu.org>
parents: 38436
diff changeset
30 ;; This file defines in-is13194 coding system and relationship between
f091948e4d1c Completely re-written.
Richard M. Stallman <rms@gnu.org>
parents: 38436
diff changeset
31 ;; indian-glyph character-set and various CDAC fonts.
17052
d0d7b244b1d0 Initial revision
Karl Heuer <kwzh@gnu.org>
parents:
diff changeset
32
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
41469
f091948e4d1c Completely re-written.
Richard M. Stallman <rms@gnu.org>
parents: 38436
diff changeset
35 (make-coding-system
f091948e4d1c Completely re-written.
Richard M. Stallman <rms@gnu.org>
parents: 38436
diff changeset
36 'in-is13194 2 ?D
42152
e3ae5ef41293 Improving doc strings.
Werner LEMBERG <wl@gnu.org>
parents: 42055
diff changeset
37 "8-bit encoding for ASCII (MSB=0) and IS13194-Devanagari (MSB=1)."
41469
f091948e4d1c Completely re-written.
Richard M. Stallman <rms@gnu.org>
parents: 38436
diff changeset
38 '(ascii indian-is13194 nil nil
f091948e4d1c Completely re-written.
Richard M. Stallman <rms@gnu.org>
parents: 38436
diff changeset
39 nil ascii-eol)
46743
d341cac00baf (in-is13194): Give correct `safe-chars' property.
Kenichi Handa <handa@m17n.org>
parents: 42312
diff changeset
40 `((safe-chars . ,(let ((table (make-char-table 'safe-chars nil)))
d341cac00baf (in-is13194): Give correct `safe-chars' property.
Kenichi Handa <handa@m17n.org>
parents: 42312
diff changeset
41 (set-char-table-range table 'indian-is13194 t)
d341cac00baf (in-is13194): Give correct `safe-chars' property.
Kenichi Handa <handa@m17n.org>
parents: 42312
diff changeset
42 (dotimes (i 127)
d341cac00baf (in-is13194): Give correct `safe-chars' property.
Kenichi Handa <handa@m17n.org>
parents: 42312
diff changeset
43 (aset table i t)
d341cac00baf (in-is13194): Give correct `safe-chars' property.
Kenichi Handa <handa@m17n.org>
parents: 42312
diff changeset
44 (aset table (decode-char 'ucs (+ #x900 i)) t))
d341cac00baf (in-is13194): Give correct `safe-chars' property.
Kenichi Handa <handa@m17n.org>
parents: 42312
diff changeset
45 table))
41469
f091948e4d1c Completely re-written.
Richard M. Stallman <rms@gnu.org>
parents: 38436
diff changeset
46 (post-read-conversion . in-is13194-post-read-conversion)
f091948e4d1c Completely re-written.
Richard M. Stallman <rms@gnu.org>
parents: 38436
diff changeset
47 (pre-write-conversion . in-is13194-pre-write-conversion)))
17052
d0d7b244b1d0 Initial revision
Karl Heuer <kwzh@gnu.org>
parents:
diff changeset
48
46743
d341cac00baf (in-is13194): Give correct `safe-chars' property.
Kenichi Handa <handa@m17n.org>
parents: 42312
diff changeset
49 (define-coding-system-alias 'devanagari 'in-is13194)
d341cac00baf (in-is13194): Give correct `safe-chars' property.
Kenichi Handa <handa@m17n.org>
parents: 42312
diff changeset
50
50256
104cf4fa2a8e (indian-font-foundry): New variable.
Kenichi Handa <handa@m17n.org>
parents: 49704
diff changeset
51 (defvar indian-font-foundry 'cdac
104cf4fa2a8e (indian-font-foundry): New variable.
Kenichi Handa <handa@m17n.org>
parents: 49704
diff changeset
52 "Font foundry for Indian characters.
104cf4fa2a8e (indian-font-foundry): New variable.
Kenichi Handa <handa@m17n.org>
parents: 49704
diff changeset
53 Currently supported foundries are `cdac' and `akruti'.")
104cf4fa2a8e (indian-font-foundry): New variable.
Kenichi Handa <handa@m17n.org>
parents: 49704
diff changeset
54
104cf4fa2a8e (indian-font-foundry): New variable.
Kenichi Handa <handa@m17n.org>
parents: 49704
diff changeset
55 (defvar indian-script-language-alist
57537
b9687fdf909d (indian-script-language-alist): Swap value and doc.
Kim F. Storm <storm@cua.dk>
parents: 52401
diff changeset
56 '((devanagari (hindi sanskrit) nil)
b9687fdf909d (indian-script-language-alist): Swap value and doc.
Kim F. Storm <storm@cua.dk>
parents: 52401
diff changeset
57 (bengali (bengali assamese) nil)
b9687fdf909d (indian-script-language-alist): Swap value and doc.
Kim F. Storm <storm@cua.dk>
parents: 52401
diff changeset
58 (gurmukhi (punjabi) nil)
b9687fdf909d (indian-script-language-alist): Swap value and doc.
Kim F. Storm <storm@cua.dk>
parents: 52401
diff changeset
59 (gujarati (gujarati) nil)
b9687fdf909d (indian-script-language-alist): Swap value and doc.
Kim F. Storm <storm@cua.dk>
parents: 52401
diff changeset
60 (oriya (oriya) nil)
b9687fdf909d (indian-script-language-alist): Swap value and doc.
Kim F. Storm <storm@cua.dk>
parents: 52401
diff changeset
61 (tamil (tamil) nil)
b9687fdf909d (indian-script-language-alist): Swap value and doc.
Kim F. Storm <storm@cua.dk>
parents: 52401
diff changeset
62 (telugu (telugu) nil)
b9687fdf909d (indian-script-language-alist): Swap value and doc.
Kim F. Storm <storm@cua.dk>
parents: 52401
diff changeset
63 (kannada (kannada) nil)
b9687fdf909d (indian-script-language-alist): Swap value and doc.
Kim F. Storm <storm@cua.dk>
parents: 52401
diff changeset
64 (malayalam (malayalam) nil))
50256
104cf4fa2a8e (indian-font-foundry): New variable.
Kenichi Handa <handa@m17n.org>
parents: 49704
diff changeset
65 "Alist of Indian scripts vs the corresponding language list and font foundry.
104cf4fa2a8e (indian-font-foundry): New variable.
Kenichi Handa <handa@m17n.org>
parents: 49704
diff changeset
66 Each element has this form:
104cf4fa2a8e (indian-font-foundry): New variable.
Kenichi Handa <handa@m17n.org>
parents: 49704
diff changeset
67
104cf4fa2a8e (indian-font-foundry): New variable.
Kenichi Handa <handa@m17n.org>
parents: 49704
diff changeset
68 (SCRIPT LANGUAGE-LIST FONT-FOUNDRY)
104cf4fa2a8e (indian-font-foundry): New variable.
Kenichi Handa <handa@m17n.org>
parents: 49704
diff changeset
69
104cf4fa2a8e (indian-font-foundry): New variable.
Kenichi Handa <handa@m17n.org>
parents: 49704
diff changeset
70 SCRIPT is one of Indian script names.
104cf4fa2a8e (indian-font-foundry): New variable.
Kenichi Handa <handa@m17n.org>
parents: 49704
diff changeset
71
104cf4fa2a8e (indian-font-foundry): New variable.
Kenichi Handa <handa@m17n.org>
parents: 49704
diff changeset
72 LANGUAGE-LIST is a list of Indian langauge names SCRIPT is used for.
104cf4fa2a8e (indian-font-foundry): New variable.
Kenichi Handa <handa@m17n.org>
parents: 49704
diff changeset
73 The list is in the priority order.
104cf4fa2a8e (indian-font-foundry): New variable.
Kenichi Handa <handa@m17n.org>
parents: 49704
diff changeset
74
104cf4fa2a8e (indian-font-foundry): New variable.
Kenichi Handa <handa@m17n.org>
parents: 49704
diff changeset
75 FONT-FOUNDRY is a font foundry representing a group of Indian
104cf4fa2a8e (indian-font-foundry): New variable.
Kenichi Handa <handa@m17n.org>
parents: 49704
diff changeset
76 fonts. If the value is nil, the value of `indian-font-foundry'
57537
b9687fdf909d (indian-script-language-alist): Swap value and doc.
Kim F. Storm <storm@cua.dk>
parents: 52401
diff changeset
77 is used.")
50256
104cf4fa2a8e (indian-font-foundry): New variable.
Kenichi Handa <handa@m17n.org>
parents: 49704
diff changeset
78
104cf4fa2a8e (indian-font-foundry): New variable.
Kenichi Handa <handa@m17n.org>
parents: 49704
diff changeset
79 (defconst indian-font-char-index-table
104cf4fa2a8e (indian-font-foundry): New variable.
Kenichi Handa <handa@m17n.org>
parents: 49704
diff changeset
80 '( ; for which language(s)
104cf4fa2a8e (indian-font-foundry): New variable.
Kenichi Handa <handa@m17n.org>
parents: 49704
diff changeset
81 ;; CDAC fonts
104cf4fa2a8e (indian-font-foundry): New variable.
Kenichi Handa <handa@m17n.org>
parents: 49704
diff changeset
82 (#x0000 . cdac:dv-ttsurekh) ; hindi, etc
104cf4fa2a8e (indian-font-foundry): New variable.
Kenichi Handa <handa@m17n.org>
parents: 49704
diff changeset
83 (#x0100 . cdac:sd-ttsurekh) ; sanskrit
104cf4fa2a8e (indian-font-foundry): New variable.
Kenichi Handa <handa@m17n.org>
parents: 49704
diff changeset
84 (#x0200 . cdac:bn-ttdurga) ; bengali
50388
40bda6ae386e (indian-font-char-index-table): Fix the
Kenichi Handa <handa@m17n.org>
parents: 50256
diff changeset
85 (#x0300 . cdac:tm-ttvalluvar) ; tamil
40bda6ae386e (indian-font-char-index-table): Fix the
Kenichi Handa <handa@m17n.org>
parents: 50256
diff changeset
86 (#x0400 . cdac:tl-tthemalatha) ; telugu
40bda6ae386e (indian-font-char-index-table): Fix the
Kenichi Handa <handa@m17n.org>
parents: 50256
diff changeset
87 (#x0500 . cdac:as-ttdurga) ; assamese
50256
104cf4fa2a8e (indian-font-foundry): New variable.
Kenichi Handa <handa@m17n.org>
parents: 49704
diff changeset
88 (#x0600 . cdac:or-ttsarala) ; oriya
50388
40bda6ae386e (indian-font-char-index-table): Fix the
Kenichi Handa <handa@m17n.org>
parents: 50256
diff changeset
89 (#x0700 . cdac:kn-ttuma) ; kannada
40bda6ae386e (indian-font-char-index-table): Fix the
Kenichi Handa <handa@m17n.org>
parents: 50256
diff changeset
90 (#x0800 . cdac:ml-ttkarthika) ; malayalam
40bda6ae386e (indian-font-char-index-table): Fix the
Kenichi Handa <handa@m17n.org>
parents: 50256
diff changeset
91 (#x0900 . cdac:gj-ttavantika) ; gujarati
40bda6ae386e (indian-font-char-index-table): Fix the
Kenichi Handa <handa@m17n.org>
parents: 50256
diff changeset
92 (#x0A00 . cdac:pn-ttamar) ; punjabi
50256
104cf4fa2a8e (indian-font-foundry): New variable.
Kenichi Handa <handa@m17n.org>
parents: 49704
diff changeset
93
104cf4fa2a8e (indian-font-foundry): New variable.
Kenichi Handa <handa@m17n.org>
parents: 49704
diff changeset
94 ;; AKRUTI fonts
104cf4fa2a8e (indian-font-foundry): New variable.
Kenichi Handa <handa@m17n.org>
parents: 49704
diff changeset
95 (#x0B00 . akruti:dev) ; hindi, etc
104cf4fa2a8e (indian-font-foundry): New variable.
Kenichi Handa <handa@m17n.org>
parents: 49704
diff changeset
96 (#x0C00 . akruti:bng) ; bengali
104cf4fa2a8e (indian-font-foundry): New variable.
Kenichi Handa <handa@m17n.org>
parents: 49704
diff changeset
97 (#x0D00 . akruti:pnj) ; punjabi
104cf4fa2a8e (indian-font-foundry): New variable.
Kenichi Handa <handa@m17n.org>
parents: 49704
diff changeset
98 (#x0E00 . akruti:guj) ; gujarati
104cf4fa2a8e (indian-font-foundry): New variable.
Kenichi Handa <handa@m17n.org>
parents: 49704
diff changeset
99 (#x0F00 . akruti:ori) ; oriya
104cf4fa2a8e (indian-font-foundry): New variable.
Kenichi Handa <handa@m17n.org>
parents: 49704
diff changeset
100 (#x1000 . akruti:tml) ; tamil
104cf4fa2a8e (indian-font-foundry): New variable.
Kenichi Handa <handa@m17n.org>
parents: 49704
diff changeset
101 (#x1100 . akruti:tlg) ; telugu
104cf4fa2a8e (indian-font-foundry): New variable.
Kenichi Handa <handa@m17n.org>
parents: 49704
diff changeset
102 (#x1200 . akruti:knd) ; kannada
104cf4fa2a8e (indian-font-foundry): New variable.
Kenichi Handa <handa@m17n.org>
parents: 49704
diff changeset
103 (#x1300 . akruti:mal) ; malayalam
104cf4fa2a8e (indian-font-foundry): New variable.
Kenichi Handa <handa@m17n.org>
parents: 49704
diff changeset
104 )
57537
b9687fdf909d (indian-script-language-alist): Swap value and doc.
Kim F. Storm <storm@cua.dk>
parents: 52401
diff changeset
105 "Alist of indices of `indian-glyph' character vs Indian font identifiers.
50256
104cf4fa2a8e (indian-font-foundry): New variable.
Kenichi Handa <handa@m17n.org>
parents: 49704
diff changeset
106 Each element has this form: (INDEX . FONT-IDENTIFIER)
104cf4fa2a8e (indian-font-foundry): New variable.
Kenichi Handa <handa@m17n.org>
parents: 49704
diff changeset
107
104cf4fa2a8e (indian-font-foundry): New variable.
Kenichi Handa <handa@m17n.org>
parents: 49704
diff changeset
108 INDEX is an index number of the first character in the charset
104cf4fa2a8e (indian-font-foundry): New variable.
Kenichi Handa <handa@m17n.org>
parents: 49704
diff changeset
109 `indian-glyph' assigned for glyphs in the font specified by
104cf4fa2a8e (indian-font-foundry): New variable.
Kenichi Handa <handa@m17n.org>
parents: 49704
diff changeset
110 FONT-IDENTIFIER. Currently FONT-IDENTIFIERs are defined for CDAC
104cf4fa2a8e (indian-font-foundry): New variable.
Kenichi Handa <handa@m17n.org>
parents: 49704
diff changeset
111 and AKRUTI font groups.")
57537
b9687fdf909d (indian-script-language-alist): Swap value and doc.
Kim F. Storm <storm@cua.dk>
parents: 52401
diff changeset
112
50256
104cf4fa2a8e (indian-font-foundry): New variable.
Kenichi Handa <handa@m17n.org>
parents: 49704
diff changeset
113 (defun indian-font-char (index font-identifier)
104cf4fa2a8e (indian-font-foundry): New variable.
Kenichi Handa <handa@m17n.org>
parents: 49704
diff changeset
114 "Return character of charset `indian-glyph' made from glyph index INDEX.
104cf4fa2a8e (indian-font-foundry): New variable.
Kenichi Handa <handa@m17n.org>
parents: 49704
diff changeset
115 FONT-IDENTIFIER is an identifier of an Indian font listed in the
104cf4fa2a8e (indian-font-foundry): New variable.
Kenichi Handa <handa@m17n.org>
parents: 49704
diff changeset
116 variable `indian-font-char-index-table'. It specifies which
104cf4fa2a8e (indian-font-foundry): New variable.
Kenichi Handa <handa@m17n.org>
parents: 49704
diff changeset
117 font INDEX is for."
104cf4fa2a8e (indian-font-foundry): New variable.
Kenichi Handa <handa@m17n.org>
parents: 49704
diff changeset
118 (if (or (< index 0) (> index 255))
104cf4fa2a8e (indian-font-foundry): New variable.
Kenichi Handa <handa@m17n.org>
parents: 49704
diff changeset
119 (error "Invalid glyph index: %d" index))
104cf4fa2a8e (indian-font-foundry): New variable.
Kenichi Handa <handa@m17n.org>
parents: 49704
diff changeset
120 (let ((start (car (rassq font-identifier indian-font-char-index-table))))
104cf4fa2a8e (indian-font-foundry): New variable.
Kenichi Handa <handa@m17n.org>
parents: 49704
diff changeset
121 (if (not start)
104cf4fa2a8e (indian-font-foundry): New variable.
Kenichi Handa <handa@m17n.org>
parents: 49704
diff changeset
122 (error "Unknown font identifier: %s" font-identifier))
104cf4fa2a8e (indian-font-foundry): New variable.
Kenichi Handa <handa@m17n.org>
parents: 49704
diff changeset
123 (setq index (+ start index))
104cf4fa2a8e (indian-font-foundry): New variable.
Kenichi Handa <handa@m17n.org>
parents: 49704
diff changeset
124 (make-char 'indian-glyph (+ (/ index 96) 32) (+ (% index 96) 32))))
104cf4fa2a8e (indian-font-foundry): New variable.
Kenichi Handa <handa@m17n.org>
parents: 49704
diff changeset
125
104cf4fa2a8e (indian-font-foundry): New variable.
Kenichi Handa <handa@m17n.org>
parents: 49704
diff changeset
126 ;; Return a range of characters (cons of min and max character) of the
104cf4fa2a8e (indian-font-foundry): New variable.
Kenichi Handa <handa@m17n.org>
parents: 49704
diff changeset
127 ;; charset `indian-glyph' for displaying SCRIPT in LANGUAGE by a font
104cf4fa2a8e (indian-font-foundry): New variable.
Kenichi Handa <handa@m17n.org>
parents: 49704
diff changeset
128 ;; of FOUNDRY.
104cf4fa2a8e (indian-font-foundry): New variable.
Kenichi Handa <handa@m17n.org>
parents: 49704
diff changeset
129
104cf4fa2a8e (indian-font-foundry): New variable.
Kenichi Handa <handa@m17n.org>
parents: 49704
diff changeset
130 (defun indian-font-char-range (font-identifier)
104cf4fa2a8e (indian-font-foundry): New variable.
Kenichi Handa <handa@m17n.org>
parents: 49704
diff changeset
131 (cons (indian-font-char 0 font-identifier)
104cf4fa2a8e (indian-font-foundry): New variable.
Kenichi Handa <handa@m17n.org>
parents: 49704
diff changeset
132 (indian-font-char 255 font-identifier)))
57537
b9687fdf909d (indian-script-language-alist): Swap value and doc.
Kim F. Storm <storm@cua.dk>
parents: 52401
diff changeset
133
41469
f091948e4d1c Completely re-written.
Richard M. Stallman <rms@gnu.org>
parents: 38436
diff changeset
134 (defvar indian-script-table
f091948e4d1c Completely re-written.
Richard M. Stallman <rms@gnu.org>
parents: 38436
diff changeset
135 '[
f091948e4d1c Completely re-written.
Richard M. Stallman <rms@gnu.org>
parents: 38436
diff changeset
136 devanagari
f091948e4d1c Completely re-written.
Richard M. Stallman <rms@gnu.org>
parents: 38436
diff changeset
137 sanskrit
f091948e4d1c Completely re-written.
Richard M. Stallman <rms@gnu.org>
parents: 38436
diff changeset
138 bengali
f091948e4d1c Completely re-written.
Richard M. Stallman <rms@gnu.org>
parents: 38436
diff changeset
139 tamil
f091948e4d1c Completely re-written.
Richard M. Stallman <rms@gnu.org>
parents: 38436
diff changeset
140 telugu
f091948e4d1c Completely re-written.
Richard M. Stallman <rms@gnu.org>
parents: 38436
diff changeset
141 assamese
f091948e4d1c Completely re-written.
Richard M. Stallman <rms@gnu.org>
parents: 38436
diff changeset
142 oriya
f091948e4d1c Completely re-written.
Richard M. Stallman <rms@gnu.org>
parents: 38436
diff changeset
143 kannada
f091948e4d1c Completely re-written.
Richard M. Stallman <rms@gnu.org>
parents: 38436
diff changeset
144 malayalam
f091948e4d1c Completely re-written.
Richard M. Stallman <rms@gnu.org>
parents: 38436
diff changeset
145 gujarati
f091948e4d1c Completely re-written.
Richard M. Stallman <rms@gnu.org>
parents: 38436
diff changeset
146 punjabi
f091948e4d1c Completely re-written.
Richard M. Stallman <rms@gnu.org>
parents: 38436
diff changeset
147 ]
f091948e4d1c Completely re-written.
Richard M. Stallman <rms@gnu.org>
parents: 38436
diff changeset
148 "Vector of Indian script names.")
17052
d0d7b244b1d0 Initial revision
Karl Heuer <kwzh@gnu.org>
parents:
diff changeset
149
41469
f091948e4d1c Completely re-written.
Richard M. Stallman <rms@gnu.org>
parents: 38436
diff changeset
150 (let ((len (length indian-script-table))
f091948e4d1c Completely re-written.
Richard M. Stallman <rms@gnu.org>
parents: 38436
diff changeset
151 (i 0))
f091948e4d1c Completely re-written.
Richard M. Stallman <rms@gnu.org>
parents: 38436
diff changeset
152 (while (< i len)
f091948e4d1c Completely re-written.
Richard M. Stallman <rms@gnu.org>
parents: 38436
diff changeset
153 (put (aref indian-script-table i) 'indian-glyph-code-offset (* 256 i))
f091948e4d1c Completely re-written.
Richard M. Stallman <rms@gnu.org>
parents: 38436
diff changeset
154 (setq i (1+ i))))
17052
d0d7b244b1d0 Initial revision
Karl Heuer <kwzh@gnu.org>
parents:
diff changeset
155
41469
f091948e4d1c Completely re-written.
Richard M. Stallman <rms@gnu.org>
parents: 38436
diff changeset
156 (defvar indian-default-script 'devanagari
f091948e4d1c Completely re-written.
Richard M. Stallman <rms@gnu.org>
parents: 38436
diff changeset
157 "Default script for Indian languages.
f091948e4d1c Completely re-written.
Richard M. Stallman <rms@gnu.org>
parents: 38436
diff changeset
158 Each Indian language environment sets this value
f091948e4d1c Completely re-written.
Richard M. Stallman <rms@gnu.org>
parents: 38436
diff changeset
159 to one of `indian-script-table' (which see).
f091948e4d1c Completely re-written.
Richard M. Stallman <rms@gnu.org>
parents: 38436
diff changeset
160 The default value is `devanagari'.")
17052
d0d7b244b1d0 Initial revision
Karl Heuer <kwzh@gnu.org>
parents:
diff changeset
161
41469
f091948e4d1c Completely re-written.
Richard M. Stallman <rms@gnu.org>
parents: 38436
diff changeset
162 (define-ccl-program ccl-encode-indian-glyph-font
f091948e4d1c Completely re-written.
Richard M. Stallman <rms@gnu.org>
parents: 38436
diff changeset
163 `(0
f091948e4d1c Completely re-written.
Richard M. Stallman <rms@gnu.org>
parents: 38436
diff changeset
164 ;; Shorten (r1 = (((((r1 - 32) * 96) + r2) - 32) % 256))
f091948e4d1c Completely re-written.
Richard M. Stallman <rms@gnu.org>
parents: 38436
diff changeset
165 (r1 = ((((r1 * 96) + r2) - ,(+ (* 32 96) 32)) % 256))))
17052
d0d7b244b1d0 Initial revision
Karl Heuer <kwzh@gnu.org>
parents:
diff changeset
166
41469
f091948e4d1c Completely re-written.
Richard M. Stallman <rms@gnu.org>
parents: 38436
diff changeset
167 (setq font-ccl-encoder-alist
f091948e4d1c Completely re-written.
Richard M. Stallman <rms@gnu.org>
parents: 38436
diff changeset
168 (cons (cons "-CDAC" 'ccl-encode-indian-glyph-font)
f091948e4d1c Completely re-written.
Richard M. Stallman <rms@gnu.org>
parents: 38436
diff changeset
169 font-ccl-encoder-alist))
17052
d0d7b244b1d0 Initial revision
Karl Heuer <kwzh@gnu.org>
parents:
diff changeset
170
50256
104cf4fa2a8e (indian-font-foundry): New variable.
Kenichi Handa <handa@m17n.org>
parents: 49704
diff changeset
171 (setq font-ccl-encoder-alist
104cf4fa2a8e (indian-font-foundry): New variable.
Kenichi Handa <handa@m17n.org>
parents: 49704
diff changeset
172 (cons (cons "-AKRUTI" 'ccl-encode-indian-glyph-font)
104cf4fa2a8e (indian-font-foundry): New variable.
Kenichi Handa <handa@m17n.org>
parents: 49704
diff changeset
173 font-ccl-encoder-alist))
104cf4fa2a8e (indian-font-foundry): New variable.
Kenichi Handa <handa@m17n.org>
parents: 49704
diff changeset
174
33778
6d966e8b4bbe Use provide.
Dave Love <fx@gnu.org>
parents: 23158
diff changeset
175 (provide 'indian)
41469
f091948e4d1c Completely re-written.
Richard M. Stallman <rms@gnu.org>
parents: 38436
diff changeset
176
52401
695cf19ef79e Add arch taglines
Miles Bader <miles@gnu.org>
parents: 50388
diff changeset
177 ;;; arch-tag: 83aa8fc7-7ee2-4364-a6e5-498f5e3b8c2f
17052
d0d7b244b1d0 Initial revision
Karl Heuer <kwzh@gnu.org>
parents:
diff changeset
178 ;;; indian.el ends here