[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Emacs-diffs] Changes to emacs/lisp/language/indian.el
From: |
Kenichi Handa |
Subject: |
[Emacs-diffs] Changes to emacs/lisp/language/indian.el |
Date: |
Fri, 21 Mar 2003 20:07:17 -0500 |
Index: emacs/lisp/language/indian.el
diff -c emacs/lisp/language/indian.el:1.22 emacs/lisp/language/indian.el:1.23
*** emacs/lisp/language/indian.el:1.22 Mon Feb 10 20:43:08 2003
--- emacs/lisp/language/indian.el Fri Mar 21 20:07:17 2003
***************
*** 45,50 ****
--- 45,133 ----
(define-coding-system-alias 'devanagari 'in-is13194)
+ (defvar indian-font-foundry 'cdac
+ "Font foundry for Indian characters.
+ Currently supported foundries are `cdac' and `akruti'.")
+
+ (defvar indian-script-language-alist
+ "Alist of Indian scripts vs the corresponding language list and font
foundry.
+ Each element has this form:
+
+ (SCRIPT LANGUAGE-LIST FONT-FOUNDRY)
+
+ SCRIPT is one of Indian script names.
+
+ LANGUAGE-LIST is a list of Indian langauge names SCRIPT is used for.
+ The list is in the priority order.
+
+ FONT-FOUNDRY is a font foundry representing a group of Indian
+ fonts. If the value is nil, the value of `indian-font-foundry'
+ is used."
+ '((devanagari (hindi sanskrit) nil)
+ (bengali (bengali assamese) nil)
+ (gurmukhi (punjabi) nil)
+ (gujarati (gujarati) nil)
+ (oriya (oriya) nil)
+ (tamil (tamil) nil)
+ (telugu (telugu) nil)
+ (kannada (kannada) nil)
+ (malayalam (malayalam) nil)))
+
+ (defconst indian-font-char-index-table
+ '( ; for which language(s)
+ ;; CDAC fonts
+ (#x0000 . cdac:dv-ttsurekh) ; hindi, etc
+ (#x0100 . cdac:sd-ttsurekh) ; sanskrit
+ (#x0200 . cdac:bn-ttdurga) ; bengali
+ (#x0300 . cdac:as-ttdurga) ; assamese
+ (#x0400 . cdac:pn-ttamar) ; punjabi
+ (#x0500 . cdac:gj-ttavantika) ; gujarati
+ (#x0600 . cdac:or-ttsarala) ; oriya
+ (#x0700 . cdac:tm-ttvalluvar) ; tamil
+ (#x0800 . cdac:tl-tthemalatha) ; telugu
+ (#x0900 . cdac:kn-ttuma) ; kannada
+ (#x0A00 . cdac:ml-ttkarthika) ; malayalam
+
+ ;; AKRUTI fonts
+ (#x0B00 . akruti:dev) ; hindi, etc
+ (#x0C00 . akruti:bng) ; bengali
+ (#x0D00 . akruti:pnj) ; punjabi
+ (#x0E00 . akruti:guj) ; gujarati
+ (#x0F00 . akruti:ori) ; oriya
+ (#x1000 . akruti:tml) ; tamil
+ (#x1100 . akruti:tlg) ; telugu
+ (#x1200 . akruti:knd) ; kannada
+ (#x1300 . akruti:mal) ; malayalam
+ )
+ "Aliat of indices of `indian-glyph' character vs Indian font identifiers.
+ Each element has this form: (INDEX . FONT-IDENTIFIER)
+
+ INDEX is an index number of the first character in the charset
+ `indian-glyph' assigned for glyphs in the font specified by
+ FONT-IDENTIFIER. Currently FONT-IDENTIFIERs are defined for CDAC
+ and AKRUTI font groups.")
+
+ (defun indian-font-char (index font-identifier)
+ "Return character of charset `indian-glyph' made from glyph index INDEX.
+ FONT-IDENTIFIER is an identifier of an Indian font listed in the
+ variable `indian-font-char-index-table'. It specifies which
+ font INDEX is for."
+ (if (or (< index 0) (> index 255))
+ (error "Invalid glyph index: %d" index))
+ (let ((start (car (rassq font-identifier indian-font-char-index-table))))
+ (if (not start)
+ (error "Unknown font identifier: %s" font-identifier))
+ (setq index (+ start index))
+ (make-char 'indian-glyph (+ (/ index 96) 32) (+ (% index 96) 32))))
+
+ ;; Return a range of characters (cons of min and max character) of the
+ ;; charset `indian-glyph' for displaying SCRIPT in LANGUAGE by a font
+ ;; of FOUNDRY.
+
+ (defun indian-font-char-range (font-identifier)
+ (cons (indian-font-char 0 font-identifier)
+ (indian-font-char 255 font-identifier)))
+
(defvar indian-script-table
'[
devanagari
***************
*** 80,85 ****
--- 163,172 ----
(setq font-ccl-encoder-alist
(cons (cons "-CDAC" 'ccl-encode-indian-glyph-font)
+ font-ccl-encoder-alist))
+
+ (setq font-ccl-encoder-alist
+ (cons (cons "-AKRUTI" 'ccl-encode-indian-glyph-font)
font-ccl-encoder-alist))
(provide 'indian)
- [Emacs-diffs] Changes to emacs/lisp/language/indian.el,
Kenichi Handa <=