annotate lisp/language/indian.el @ 50256:104cf4fa2a8e

(indian-font-foundry): New variable. (indian-script-language-alist): New variable. (indian-font-char-index-table): New variable. (indian-font-char): New function. (indian-font-char-range): New function. (font-ccl-encoder-alist): Add entry for AKRUTI font.
author Kenichi Handa <handa@m17n.org>
date Sat, 22 Mar 2003 01:07:17 +0000
parents 003055ca7e13
children 40bda6ae386e
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
41469
f091948e4d1c Completely re-written.
Richard M. Stallman <rms@gnu.org>
parents: 38436
diff changeset
3 ;; Copyright (C) 1999, 2001 Free Software Foundation, Inc.
17052
d0d7b244b1d0 Initial revision
Karl Heuer <kwzh@gnu.org>
parents:
diff changeset
4
49704
003055ca7e13 Maintainer's mail address changed.
Kenichi Handa <handa@m17n.org>
parents: 47701
diff changeset
5 ;; Maintainer: KAWABATA, Taichi <kawabata@m17n.org>
42312
c7ffa58f9637 Add keyword.
Pavel Janík <Pavel@Janik.cz>
parents: 42152
diff changeset
6 ;; Keywords: multilingual, i18n, Indian
17052
d0d7b244b1d0 Initial revision
Karl Heuer <kwzh@gnu.org>
parents:
diff changeset
7
d0d7b244b1d0 Initial revision
Karl Heuer <kwzh@gnu.org>
parents:
diff changeset
8 ;; This file is part of GNU Emacs.
d0d7b244b1d0 Initial revision
Karl Heuer <kwzh@gnu.org>
parents:
diff changeset
9
d0d7b244b1d0 Initial revision
Karl Heuer <kwzh@gnu.org>
parents:
diff changeset
10 ;; GNU Emacs is free software; you can redistribute it and/or modify
d0d7b244b1d0 Initial revision
Karl Heuer <kwzh@gnu.org>
parents:
diff changeset
11 ;; it under the terms of the GNU General Public License as published by
d0d7b244b1d0 Initial revision
Karl Heuer <kwzh@gnu.org>
parents:
diff changeset
12 ;; the Free Software Foundation; either version 2, or (at your option)
d0d7b244b1d0 Initial revision
Karl Heuer <kwzh@gnu.org>
parents:
diff changeset
13 ;; any later version.
d0d7b244b1d0 Initial revision
Karl Heuer <kwzh@gnu.org>
parents:
diff changeset
14
d0d7b244b1d0 Initial revision
Karl Heuer <kwzh@gnu.org>
parents:
diff changeset
15 ;; GNU Emacs is distributed in the hope that it will be useful,
d0d7b244b1d0 Initial revision
Karl Heuer <kwzh@gnu.org>
parents:
diff changeset
16 ;; but WITHOUT ANY WARRANTY; without even the implied warranty of
d0d7b244b1d0 Initial revision
Karl Heuer <kwzh@gnu.org>
parents:
diff changeset
17 ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
d0d7b244b1d0 Initial revision
Karl Heuer <kwzh@gnu.org>
parents:
diff changeset
18 ;; GNU General Public License for more details.
d0d7b244b1d0 Initial revision
Karl Heuer <kwzh@gnu.org>
parents:
diff changeset
19
d0d7b244b1d0 Initial revision
Karl Heuer <kwzh@gnu.org>
parents:
diff changeset
20 ;; 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
21 ;; along with GNU Emacs; see the file COPYING. If not, write to the
f438ebf1c679 Fix FSF address in comment.
Kenichi Handa <handa@m17n.org>
parents: 17300
diff changeset
22 ;; Free Software Foundation, Inc., 59 Temple Place - Suite 330,
f438ebf1c679 Fix FSF address in comment.
Kenichi Handa <handa@m17n.org>
parents: 17300
diff changeset
23 ;; Boston, MA 02111-1307, USA.
17052
d0d7b244b1d0 Initial revision
Karl Heuer <kwzh@gnu.org>
parents:
diff changeset
24
d0d7b244b1d0 Initial revision
Karl Heuer <kwzh@gnu.org>
parents:
diff changeset
25 ;;; Commentary:
d0d7b244b1d0 Initial revision
Karl Heuer <kwzh@gnu.org>
parents:
diff changeset
26
41469
f091948e4d1c Completely re-written.
Richard M. Stallman <rms@gnu.org>
parents: 38436
diff changeset
27 ;; This file defines in-is13194 coding system and relationship between
f091948e4d1c Completely re-written.
Richard M. Stallman <rms@gnu.org>
parents: 38436
diff changeset
28 ;; indian-glyph character-set and various CDAC fonts.
17052
d0d7b244b1d0 Initial revision
Karl Heuer <kwzh@gnu.org>
parents:
diff changeset
29
d0d7b244b1d0 Initial revision
Karl Heuer <kwzh@gnu.org>
parents:
diff changeset
30 ;;; Code:
d0d7b244b1d0 Initial revision
Karl Heuer <kwzh@gnu.org>
parents:
diff changeset
31
41469
f091948e4d1c Completely re-written.
Richard M. Stallman <rms@gnu.org>
parents: 38436
diff changeset
32 (make-coding-system
f091948e4d1c Completely re-written.
Richard M. Stallman <rms@gnu.org>
parents: 38436
diff changeset
33 'in-is13194 2 ?D
42152
e3ae5ef41293 Improving doc strings.
Werner LEMBERG <wl@gnu.org>
parents: 42055
diff changeset
34 "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
35 '(ascii indian-is13194 nil nil
f091948e4d1c Completely re-written.
Richard M. Stallman <rms@gnu.org>
parents: 38436
diff changeset
36 nil ascii-eol)
46743
d341cac00baf (in-is13194): Give correct `safe-chars' property.
Kenichi Handa <handa@m17n.org>
parents: 42312
diff changeset
37 `((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
38 (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
39 (dotimes (i 127)
d341cac00baf (in-is13194): Give correct `safe-chars' property.
Kenichi Handa <handa@m17n.org>
parents: 42312
diff changeset
40 (aset table i t)
d341cac00baf (in-is13194): Give correct `safe-chars' property.
Kenichi Handa <handa@m17n.org>
parents: 42312
diff changeset
41 (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
42 table))
41469
f091948e4d1c Completely re-written.
Richard M. Stallman <rms@gnu.org>
parents: 38436
diff changeset
43 (post-read-conversion . in-is13194-post-read-conversion)
f091948e4d1c Completely re-written.
Richard M. Stallman <rms@gnu.org>
parents: 38436
diff changeset
44 (pre-write-conversion . in-is13194-pre-write-conversion)))
17052
d0d7b244b1d0 Initial revision
Karl Heuer <kwzh@gnu.org>
parents:
diff changeset
45
46743
d341cac00baf (in-is13194): Give correct `safe-chars' property.
Kenichi Handa <handa@m17n.org>
parents: 42312
diff changeset
46 (define-coding-system-alias 'devanagari 'in-is13194)
d341cac00baf (in-is13194): Give correct `safe-chars' property.
Kenichi Handa <handa@m17n.org>
parents: 42312
diff changeset
47
50256
104cf4fa2a8e (indian-font-foundry): New variable.
Kenichi Handa <handa@m17n.org>
parents: 49704
diff changeset
48 (defvar indian-font-foundry 'cdac
104cf4fa2a8e (indian-font-foundry): New variable.
Kenichi Handa <handa@m17n.org>
parents: 49704
diff changeset
49 "Font foundry for Indian characters.
104cf4fa2a8e (indian-font-foundry): New variable.
Kenichi Handa <handa@m17n.org>
parents: 49704
diff changeset
50 Currently supported foundries are `cdac' and `akruti'.")
104cf4fa2a8e (indian-font-foundry): New variable.
Kenichi Handa <handa@m17n.org>
parents: 49704
diff changeset
51
104cf4fa2a8e (indian-font-foundry): New variable.
Kenichi Handa <handa@m17n.org>
parents: 49704
diff changeset
52 (defvar indian-script-language-alist
104cf4fa2a8e (indian-font-foundry): New variable.
Kenichi Handa <handa@m17n.org>
parents: 49704
diff changeset
53 "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
54 Each element has this form:
104cf4fa2a8e (indian-font-foundry): New variable.
Kenichi Handa <handa@m17n.org>
parents: 49704
diff changeset
55
104cf4fa2a8e (indian-font-foundry): New variable.
Kenichi Handa <handa@m17n.org>
parents: 49704
diff changeset
56 (SCRIPT LANGUAGE-LIST FONT-FOUNDRY)
104cf4fa2a8e (indian-font-foundry): New variable.
Kenichi Handa <handa@m17n.org>
parents: 49704
diff changeset
57
104cf4fa2a8e (indian-font-foundry): New variable.
Kenichi Handa <handa@m17n.org>
parents: 49704
diff changeset
58 SCRIPT is one of Indian script names.
104cf4fa2a8e (indian-font-foundry): New variable.
Kenichi Handa <handa@m17n.org>
parents: 49704
diff changeset
59
104cf4fa2a8e (indian-font-foundry): New variable.
Kenichi Handa <handa@m17n.org>
parents: 49704
diff changeset
60 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
61 The list is in the priority order.
104cf4fa2a8e (indian-font-foundry): New variable.
Kenichi Handa <handa@m17n.org>
parents: 49704
diff changeset
62
104cf4fa2a8e (indian-font-foundry): New variable.
Kenichi Handa <handa@m17n.org>
parents: 49704
diff changeset
63 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
64 fonts. If the value is nil, the value of `indian-font-foundry'
104cf4fa2a8e (indian-font-foundry): New variable.
Kenichi Handa <handa@m17n.org>
parents: 49704
diff changeset
65 is used."
104cf4fa2a8e (indian-font-foundry): New variable.
Kenichi Handa <handa@m17n.org>
parents: 49704
diff changeset
66 '((devanagari (hindi sanskrit) nil)
104cf4fa2a8e (indian-font-foundry): New variable.
Kenichi Handa <handa@m17n.org>
parents: 49704
diff changeset
67 (bengali (bengali assamese) nil)
104cf4fa2a8e (indian-font-foundry): New variable.
Kenichi Handa <handa@m17n.org>
parents: 49704
diff changeset
68 (gurmukhi (punjabi) nil)
104cf4fa2a8e (indian-font-foundry): New variable.
Kenichi Handa <handa@m17n.org>
parents: 49704
diff changeset
69 (gujarati (gujarati) nil)
104cf4fa2a8e (indian-font-foundry): New variable.
Kenichi Handa <handa@m17n.org>
parents: 49704
diff changeset
70 (oriya (oriya) nil)
104cf4fa2a8e (indian-font-foundry): New variable.
Kenichi Handa <handa@m17n.org>
parents: 49704
diff changeset
71 (tamil (tamil) nil)
104cf4fa2a8e (indian-font-foundry): New variable.
Kenichi Handa <handa@m17n.org>
parents: 49704
diff changeset
72 (telugu (telugu) nil)
104cf4fa2a8e (indian-font-foundry): New variable.
Kenichi Handa <handa@m17n.org>
parents: 49704
diff changeset
73 (kannada (kannada) nil)
104cf4fa2a8e (indian-font-foundry): New variable.
Kenichi Handa <handa@m17n.org>
parents: 49704
diff changeset
74 (malayalam (malayalam) nil)))
104cf4fa2a8e (indian-font-foundry): New variable.
Kenichi Handa <handa@m17n.org>
parents: 49704
diff changeset
75
104cf4fa2a8e (indian-font-foundry): New variable.
Kenichi Handa <handa@m17n.org>
parents: 49704
diff changeset
76 (defconst indian-font-char-index-table
104cf4fa2a8e (indian-font-foundry): New variable.
Kenichi Handa <handa@m17n.org>
parents: 49704
diff changeset
77 '( ; for which language(s)
104cf4fa2a8e (indian-font-foundry): New variable.
Kenichi Handa <handa@m17n.org>
parents: 49704
diff changeset
78 ;; CDAC fonts
104cf4fa2a8e (indian-font-foundry): New variable.
Kenichi Handa <handa@m17n.org>
parents: 49704
diff changeset
79 (#x0000 . cdac:dv-ttsurekh) ; hindi, etc
104cf4fa2a8e (indian-font-foundry): New variable.
Kenichi Handa <handa@m17n.org>
parents: 49704
diff changeset
80 (#x0100 . cdac:sd-ttsurekh) ; sanskrit
104cf4fa2a8e (indian-font-foundry): New variable.
Kenichi Handa <handa@m17n.org>
parents: 49704
diff changeset
81 (#x0200 . cdac:bn-ttdurga) ; bengali
104cf4fa2a8e (indian-font-foundry): New variable.
Kenichi Handa <handa@m17n.org>
parents: 49704
diff changeset
82 (#x0300 . cdac:as-ttdurga) ; assamese
104cf4fa2a8e (indian-font-foundry): New variable.
Kenichi Handa <handa@m17n.org>
parents: 49704
diff changeset
83 (#x0400 . cdac:pn-ttamar) ; punjabi
104cf4fa2a8e (indian-font-foundry): New variable.
Kenichi Handa <handa@m17n.org>
parents: 49704
diff changeset
84 (#x0500 . cdac:gj-ttavantika) ; gujarati
104cf4fa2a8e (indian-font-foundry): New variable.
Kenichi Handa <handa@m17n.org>
parents: 49704
diff changeset
85 (#x0600 . cdac:or-ttsarala) ; oriya
104cf4fa2a8e (indian-font-foundry): New variable.
Kenichi Handa <handa@m17n.org>
parents: 49704
diff changeset
86 (#x0700 . cdac:tm-ttvalluvar) ; tamil
104cf4fa2a8e (indian-font-foundry): New variable.
Kenichi Handa <handa@m17n.org>
parents: 49704
diff changeset
87 (#x0800 . cdac:tl-tthemalatha) ; telugu
104cf4fa2a8e (indian-font-foundry): New variable.
Kenichi Handa <handa@m17n.org>
parents: 49704
diff changeset
88 (#x0900 . cdac:kn-ttuma) ; kannada
104cf4fa2a8e (indian-font-foundry): New variable.
Kenichi Handa <handa@m17n.org>
parents: 49704
diff changeset
89 (#x0A00 . cdac:ml-ttkarthika) ; malayalam
104cf4fa2a8e (indian-font-foundry): New variable.
Kenichi Handa <handa@m17n.org>
parents: 49704
diff changeset
90
104cf4fa2a8e (indian-font-foundry): New variable.
Kenichi Handa <handa@m17n.org>
parents: 49704
diff changeset
91 ;; AKRUTI fonts
104cf4fa2a8e (indian-font-foundry): New variable.
Kenichi Handa <handa@m17n.org>
parents: 49704
diff changeset
92 (#x0B00 . akruti:dev) ; hindi, etc
104cf4fa2a8e (indian-font-foundry): New variable.
Kenichi Handa <handa@m17n.org>
parents: 49704
diff changeset
93 (#x0C00 . akruti:bng) ; bengali
104cf4fa2a8e (indian-font-foundry): New variable.
Kenichi Handa <handa@m17n.org>
parents: 49704
diff changeset
94 (#x0D00 . akruti:pnj) ; punjabi
104cf4fa2a8e (indian-font-foundry): New variable.
Kenichi Handa <handa@m17n.org>
parents: 49704
diff changeset
95 (#x0E00 . akruti:guj) ; gujarati
104cf4fa2a8e (indian-font-foundry): New variable.
Kenichi Handa <handa@m17n.org>
parents: 49704
diff changeset
96 (#x0F00 . akruti:ori) ; oriya
104cf4fa2a8e (indian-font-foundry): New variable.
Kenichi Handa <handa@m17n.org>
parents: 49704
diff changeset
97 (#x1000 . akruti:tml) ; tamil
104cf4fa2a8e (indian-font-foundry): New variable.
Kenichi Handa <handa@m17n.org>
parents: 49704
diff changeset
98 (#x1100 . akruti:tlg) ; telugu
104cf4fa2a8e (indian-font-foundry): New variable.
Kenichi Handa <handa@m17n.org>
parents: 49704
diff changeset
99 (#x1200 . akruti:knd) ; kannada
104cf4fa2a8e (indian-font-foundry): New variable.
Kenichi Handa <handa@m17n.org>
parents: 49704
diff changeset
100 (#x1300 . akruti:mal) ; malayalam
104cf4fa2a8e (indian-font-foundry): New variable.
Kenichi Handa <handa@m17n.org>
parents: 49704
diff changeset
101 )
104cf4fa2a8e (indian-font-foundry): New variable.
Kenichi Handa <handa@m17n.org>
parents: 49704
diff changeset
102 "Aliat of indices of `indian-glyph' character vs Indian font identifiers.
104cf4fa2a8e (indian-font-foundry): New variable.
Kenichi Handa <handa@m17n.org>
parents: 49704
diff changeset
103 Each element has this form: (INDEX . FONT-IDENTIFIER)
104cf4fa2a8e (indian-font-foundry): New variable.
Kenichi Handa <handa@m17n.org>
parents: 49704
diff changeset
104
104cf4fa2a8e (indian-font-foundry): New variable.
Kenichi Handa <handa@m17n.org>
parents: 49704
diff changeset
105 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
106 `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
107 FONT-IDENTIFIER. Currently FONT-IDENTIFIERs are defined for CDAC
104cf4fa2a8e (indian-font-foundry): New variable.
Kenichi Handa <handa@m17n.org>
parents: 49704
diff changeset
108 and AKRUTI font groups.")
104cf4fa2a8e (indian-font-foundry): New variable.
Kenichi Handa <handa@m17n.org>
parents: 49704
diff changeset
109
104cf4fa2a8e (indian-font-foundry): New variable.
Kenichi Handa <handa@m17n.org>
parents: 49704
diff changeset
110 (defun indian-font-char (index font-identifier)
104cf4fa2a8e (indian-font-foundry): New variable.
Kenichi Handa <handa@m17n.org>
parents: 49704
diff changeset
111 "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
112 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
113 variable `indian-font-char-index-table'. It specifies which
104cf4fa2a8e (indian-font-foundry): New variable.
Kenichi Handa <handa@m17n.org>
parents: 49704
diff changeset
114 font INDEX is for."
104cf4fa2a8e (indian-font-foundry): New variable.
Kenichi Handa <handa@m17n.org>
parents: 49704
diff changeset
115 (if (or (< index 0) (> index 255))
104cf4fa2a8e (indian-font-foundry): New variable.
Kenichi Handa <handa@m17n.org>
parents: 49704
diff changeset
116 (error "Invalid glyph index: %d" index))
104cf4fa2a8e (indian-font-foundry): New variable.
Kenichi Handa <handa@m17n.org>
parents: 49704
diff changeset
117 (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
118 (if (not start)
104cf4fa2a8e (indian-font-foundry): New variable.
Kenichi Handa <handa@m17n.org>
parents: 49704
diff changeset
119 (error "Unknown font identifier: %s" font-identifier))
104cf4fa2a8e (indian-font-foundry): New variable.
Kenichi Handa <handa@m17n.org>
parents: 49704
diff changeset
120 (setq index (+ start index))
104cf4fa2a8e (indian-font-foundry): New variable.
Kenichi Handa <handa@m17n.org>
parents: 49704
diff changeset
121 (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
122
104cf4fa2a8e (indian-font-foundry): New variable.
Kenichi Handa <handa@m17n.org>
parents: 49704
diff changeset
123 ;; 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
124 ;; 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
125 ;; of FOUNDRY.
104cf4fa2a8e (indian-font-foundry): New variable.
Kenichi Handa <handa@m17n.org>
parents: 49704
diff changeset
126
104cf4fa2a8e (indian-font-foundry): New variable.
Kenichi Handa <handa@m17n.org>
parents: 49704
diff changeset
127 (defun indian-font-char-range (font-identifier)
104cf4fa2a8e (indian-font-foundry): New variable.
Kenichi Handa <handa@m17n.org>
parents: 49704
diff changeset
128 (cons (indian-font-char 0 font-identifier)
104cf4fa2a8e (indian-font-foundry): New variable.
Kenichi Handa <handa@m17n.org>
parents: 49704
diff changeset
129 (indian-font-char 255 font-identifier)))
104cf4fa2a8e (indian-font-foundry): New variable.
Kenichi Handa <handa@m17n.org>
parents: 49704
diff changeset
130
41469
f091948e4d1c Completely re-written.
Richard M. Stallman <rms@gnu.org>
parents: 38436
diff changeset
131 (defvar indian-script-table
f091948e4d1c Completely re-written.
Richard M. Stallman <rms@gnu.org>
parents: 38436
diff changeset
132 '[
f091948e4d1c Completely re-written.
Richard M. Stallman <rms@gnu.org>
parents: 38436
diff changeset
133 devanagari
f091948e4d1c Completely re-written.
Richard M. Stallman <rms@gnu.org>
parents: 38436
diff changeset
134 sanskrit
f091948e4d1c Completely re-written.
Richard M. Stallman <rms@gnu.org>
parents: 38436
diff changeset
135 bengali
f091948e4d1c Completely re-written.
Richard M. Stallman <rms@gnu.org>
parents: 38436
diff changeset
136 tamil
f091948e4d1c Completely re-written.
Richard M. Stallman <rms@gnu.org>
parents: 38436
diff changeset
137 telugu
f091948e4d1c Completely re-written.
Richard M. Stallman <rms@gnu.org>
parents: 38436
diff changeset
138 assamese
f091948e4d1c Completely re-written.
Richard M. Stallman <rms@gnu.org>
parents: 38436
diff changeset
139 oriya
f091948e4d1c Completely re-written.
Richard M. Stallman <rms@gnu.org>
parents: 38436
diff changeset
140 kannada
f091948e4d1c Completely re-written.
Richard M. Stallman <rms@gnu.org>
parents: 38436
diff changeset
141 malayalam
f091948e4d1c Completely re-written.
Richard M. Stallman <rms@gnu.org>
parents: 38436
diff changeset
142 gujarati
f091948e4d1c Completely re-written.
Richard M. Stallman <rms@gnu.org>
parents: 38436
diff changeset
143 punjabi
f091948e4d1c Completely re-written.
Richard M. Stallman <rms@gnu.org>
parents: 38436
diff changeset
144 ]
f091948e4d1c Completely re-written.
Richard M. Stallman <rms@gnu.org>
parents: 38436
diff changeset
145 "Vector of Indian script names.")
17052
d0d7b244b1d0 Initial revision
Karl Heuer <kwzh@gnu.org>
parents:
diff changeset
146
41469
f091948e4d1c Completely re-written.
Richard M. Stallman <rms@gnu.org>
parents: 38436
diff changeset
147 (let ((len (length indian-script-table))
f091948e4d1c Completely re-written.
Richard M. Stallman <rms@gnu.org>
parents: 38436
diff changeset
148 (i 0))
f091948e4d1c Completely re-written.
Richard M. Stallman <rms@gnu.org>
parents: 38436
diff changeset
149 (while (< i len)
f091948e4d1c Completely re-written.
Richard M. Stallman <rms@gnu.org>
parents: 38436
diff changeset
150 (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
151 (setq i (1+ i))))
17052
d0d7b244b1d0 Initial revision
Karl Heuer <kwzh@gnu.org>
parents:
diff changeset
152
41469
f091948e4d1c Completely re-written.
Richard M. Stallman <rms@gnu.org>
parents: 38436
diff changeset
153 (defvar indian-default-script 'devanagari
f091948e4d1c Completely re-written.
Richard M. Stallman <rms@gnu.org>
parents: 38436
diff changeset
154 "Default script for Indian languages.
f091948e4d1c Completely re-written.
Richard M. Stallman <rms@gnu.org>
parents: 38436
diff changeset
155 Each Indian language environment sets this value
f091948e4d1c Completely re-written.
Richard M. Stallman <rms@gnu.org>
parents: 38436
diff changeset
156 to one of `indian-script-table' (which see).
f091948e4d1c Completely re-written.
Richard M. Stallman <rms@gnu.org>
parents: 38436
diff changeset
157 The default value is `devanagari'.")
17052
d0d7b244b1d0 Initial revision
Karl Heuer <kwzh@gnu.org>
parents:
diff changeset
158
41469
f091948e4d1c Completely re-written.
Richard M. Stallman <rms@gnu.org>
parents: 38436
diff changeset
159 (define-ccl-program ccl-encode-indian-glyph-font
f091948e4d1c Completely re-written.
Richard M. Stallman <rms@gnu.org>
parents: 38436
diff changeset
160 `(0
f091948e4d1c Completely re-written.
Richard M. Stallman <rms@gnu.org>
parents: 38436
diff changeset
161 ;; Shorten (r1 = (((((r1 - 32) * 96) + r2) - 32) % 256))
f091948e4d1c Completely re-written.
Richard M. Stallman <rms@gnu.org>
parents: 38436
diff changeset
162 (r1 = ((((r1 * 96) + r2) - ,(+ (* 32 96) 32)) % 256))))
17052
d0d7b244b1d0 Initial revision
Karl Heuer <kwzh@gnu.org>
parents:
diff changeset
163
41469
f091948e4d1c Completely re-written.
Richard M. Stallman <rms@gnu.org>
parents: 38436
diff changeset
164 (setq font-ccl-encoder-alist
f091948e4d1c Completely re-written.
Richard M. Stallman <rms@gnu.org>
parents: 38436
diff changeset
165 (cons (cons "-CDAC" 'ccl-encode-indian-glyph-font)
f091948e4d1c Completely re-written.
Richard M. Stallman <rms@gnu.org>
parents: 38436
diff changeset
166 font-ccl-encoder-alist))
17052
d0d7b244b1d0 Initial revision
Karl Heuer <kwzh@gnu.org>
parents:
diff changeset
167
50256
104cf4fa2a8e (indian-font-foundry): New variable.
Kenichi Handa <handa@m17n.org>
parents: 49704
diff changeset
168 (setq font-ccl-encoder-alist
104cf4fa2a8e (indian-font-foundry): New variable.
Kenichi Handa <handa@m17n.org>
parents: 49704
diff changeset
169 (cons (cons "-AKRUTI" 'ccl-encode-indian-glyph-font)
104cf4fa2a8e (indian-font-foundry): New variable.
Kenichi Handa <handa@m17n.org>
parents: 49704
diff changeset
170 font-ccl-encoder-alist))
104cf4fa2a8e (indian-font-foundry): New variable.
Kenichi Handa <handa@m17n.org>
parents: 49704
diff changeset
171
33778
6d966e8b4bbe Use provide.
Dave Love <fx@gnu.org>
parents: 23158
diff changeset
172 (provide 'indian)
41469
f091948e4d1c Completely re-written.
Richard M. Stallman <rms@gnu.org>
parents: 38436
diff changeset
173
17052
d0d7b244b1d0 Initial revision
Karl Heuer <kwzh@gnu.org>
parents:
diff changeset
174 ;;; indian.el ends here