[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Emacs-diffs] Changes to emacs/lisp/language/indian.el,v
From: |
Kenichi Handa |
Subject: |
[Emacs-diffs] Changes to emacs/lisp/language/indian.el,v |
Date: |
Fri, 29 Aug 2008 08:01:23 +0000 |
CVSROOT: /cvsroot/emacs
Module name: emacs
Changes by: Kenichi Handa <handa> 08/08/29 08:01:22
Index: indian.el
===================================================================
RCS file: /cvsroot/emacs/emacs/lisp/language/indian.el,v
retrieving revision 1.36
retrieving revision 1.37
diff -u -b -r1.36 -r1.37
--- indian.el 6 May 2008 04:22:12 -0000 1.36
+++ indian.el 29 Aug 2008 08:01:22 -0000 1.37
@@ -129,22 +129,58 @@
South Indian language Malayalam is supported in this language environment."))
'("Indian"))
+(defconst devanagari-composable-pattern
+ (concat
+ "\\([à¤
-à¤à¥ ॡ][à¤à¤]?\\)\\|[à¤à¥¤]"
+ "\\|\\("
+
"\\(?:\\(?:[à¤-हà¥-à¥]à¥\\)?\\(?:[à¤-हà¥-à¥]à¥\\)?\\(?:[à¤-हà¥-à¥]à¥\\)?[à¤-हà¥-à¥]à¥\\)?"
+ "[à¤-हà¥-à¥]\\(?:à¥\\|[ा-à¥à¥¢à¥£]?[à¤à¤]?\\)?"
+ "\\)")
+ "Regexp matching a composable sequence of Devanagari characters.")
+
+(defconst tamil-composable-pattern
+ (concat
+ "\\([à®
-à®]\\)\\|"
+ "[à®à®]\\|" ;; vowel modifier considered independent
+ "\\(\\(?:\\(?:à®à¯à®·\\)\\|[à®-ஹ]\\)[à¯à®¾-à¯]?\\)\\|"
+ "\\(à®·à¯à®°à¯\\)")
+ "Regexp matching a composable sequence of Tamil characters.")
+
+(defconst kannada-composable-pattern
+ (concat
+ "\\([à²-à²à³ à²]\\)\\|[à²]"
+ "\\|\\("
+
"\\(?:\\(?:[à²-ಹ]à³\\)?\\(?:[à²-ಹ]à³\\)?\\(?:[à²-ಹ]à³\\)?[à²-ಹ]à³\\)?"
+ "[à²-ಹ]\\(?:à³\\|[ಾ-à³à³à³]?\\)?"
+ "\\)")
+ "Regexp matching a composable sequence of Kannada characters.")
+
+(defconst malayalam-composable-pattern
+ (concat
+ "\\([à´
-à´][à´]?\\)\\|à´"
+ "\\|\\("
+
"\\(?:\\(?:[à´-à´¹]àµ\\)?\\(?:[à´-à´¹]àµ\\)?\\(?:[à´-à´¹]àµ\\)?[à´-à´¹]àµ\\)?"
+ "[à´-à´¹]\\(?:àµ\\|[à´¾-àµàµàµàµàµàµàµàµ]?[à´àµ]?\\)?"
+ "\\)")
+ "Regexp matching a composable sequence of Malayalam characters.")
+
(let ((script-regexp-alist
- '((devanagari . "[\x900-\x9FF\x200C\x200D]+")
+ `((devanagari . ,devanagari-composable-pattern)
(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]+")
+ (tamil . ,tamil-composable-pattern)
(telugu . "[\xC00-\xC7F\x200C\x200D]+")
- (kannada . "[\xC80-\xCFF\x200C\x200D]+")
- (malayalam . "[\xD00-\xD7F\x200C\x200D]+"))))
- (map-char-table #'(lambda (key val)
+ (kannada . ,kannada-composable-pattern)
+ (malayalam . ,malayalam-composable-pattern))))
+ (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))))))
+ (list (vector (cdr slot) 0 'font-shape-gstring))))))
char-script-table))
(provide 'indian)
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Emacs-diffs] Changes to emacs/lisp/language/indian.el,v,
Kenichi Handa <=