summaryrefslogtreecommitdiff
path: root/lisp/language/indian.el
diff options
context:
space:
mode:
authorKenichi Handa <handa@m17n.org>2008-01-07 12:38:30 +0000
committerKenichi Handa <handa@m17n.org>2008-01-07 12:38:30 +0000
commit9b87bff02e9be33621300193878c4029f617cd5a (patch)
tree854017440d0d272a7ff526b973f6e3e93118821b /lisp/language/indian.el
parentec1b6d773b7fb6e760fdd5150faa3955849a3902 (diff)
downloademacs-9b87bff02e9be33621300193878c4029f617cd5a.tar.gz
Set font-shape-text for all Indic characters
in composition-function-table.
Diffstat (limited to 'lisp/language/indian.el')
-rw-r--r--lisp/language/indian.el20
1 files changed, 20 insertions, 0 deletions
diff --git a/lisp/language/indian.el b/lisp/language/indian.el
index 6e15474ac9d..a20be73912c 100644
--- a/lisp/language/indian.el
+++ b/lisp/language/indian.el
@@ -159,6 +159,26 @@ The default value is `devanagari'.")
(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)
;;; arch-tag: 83aa8fc7-7ee2-4364-a6e5-498f5e3b8c2f