emacs-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Emacs-diffs] Changes to emacs/lisp/language/indian.el,v


From: Miles Bader
Subject: [Emacs-diffs] Changes to emacs/lisp/language/indian.el,v
Date: Fri, 01 Feb 2008 16:02:25 +0000

CVSROOT:        /cvsroot/emacs
Module name:    emacs
Changes by:     Miles Bader <miles>     08/02/01 16:01:31

Index: lisp/language/indian.el
===================================================================
RCS file: /cvsroot/emacs/emacs/lisp/language/indian.el,v
retrieving revision 1.32
retrieving revision 1.33
diff -u -b -r1.32 -r1.33
--- lisp/language/indian.el     8 Jan 2008 20:45:56 -0000       1.32
+++ lisp/language/indian.el     1 Feb 2008 16:01:00 -0000       1.33
@@ -33,21 +33,16 @@
 
 ;;; Code:
 
-(make-coding-system
- 'in-is13194 2 ?D
+(define-coding-system 'in-is13194-devanagari
  "8-bit encoding for ASCII (MSB=0) and IS13194-Devanagari (MSB=1)."
- '(ascii indian-is13194 nil nil
-   nil ascii-eol)
- `((safe-chars . ,(let ((table (make-char-table 'safe-chars nil)))
-                   (set-char-table-range table 'indian-is13194 t)
-                   (dotimes (i 127)
-                     (aset table i t)
-                     (aset table (decode-char 'ucs (+ #x900 i)) t))
-                   table))
-   (post-read-conversion . in-is13194-post-read-conversion)
-   (pre-write-conversion . in-is13194-pre-write-conversion)))
+  :coding-type 'iso-2022
+  :mnemonic ?D
+  :designation [ascii indian-is13194 nil nil]
+  :charset-list '(ascii indian-is13194)
+  :post-read-conversion 'in-is13194-post-read-conversion
+  :pre-write-conversion 'in-is13194-pre-write-conversion)
 
-(define-coding-system-alias 'devanagari 'in-is13194)
+(define-coding-system-alias 'devanagari 'in-is13194-devanagari)
 
 (defvar indian-font-foundry 'cdac
   "Font foundry for Indian characters.
@@ -160,18 +155,29 @@
 to one of `indian-script-table' (which see).
 The default value is `devanagari'.")
 
-(define-ccl-program ccl-encode-indian-glyph-font
-  `(0
-    ;; Shorten (r1 = (((((r1 - 32) * 96) + r2) - 32) % 256))
-    (r1 = ((((r1 * 96) + r2) - ,(+ (* 32 96) 32)) % 256))))
-
-(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))
+(defvar indian-composable-pattern
+  (make-char-table nil)
+  "Char table of regexps for composable Indian character sequence.")
+
+(let ((script-regexp-alist
+       '((devanagari . "[\x900-\x9FF\x200C\x200D]+")
+        (bengali . "[\x980-\x9FF\x200C\x200D]+")
+        (gurmukhi . "[\xA00-\xA7F\x200C\x200D]+")
+        (gujarati . "[\xA80-\xAFF\x200C\x200D]+")
+        (oriya . "[\xB00-\xB7F\x200C\x200D]+")
+        (tamil . "[\xB80-\xBFF\x200C\x200D]+")
+        (telugu . "[\xC00-\xC7F\x200C\x200D]+")
+        (kannada . "[\xC80-\xCFF\x200C\x200D]+")
+        (malayalam . "[\xD00-\xD7F\x200C\x200D]+")
+        (sinhala . "[\xD80-\xDFF\x200C\x200D]+"))))
+  (map-char-table #'(lambda (key val) 
+                     (let ((slot (assq val script-regexp-alist)))
+                       (if slot
+                           (set-char-table-range 
+                            composition-function-table key
+                            (list (cons (cdr slot) 'font-shape-text))))))
+                 char-script-table))
+                                             
 
 (provide 'indian)
 




reply via email to

[Prev in Thread] Current Thread [Next in Thread]