diff options
| author | Kenichi Handa | 2010-02-26 21:40:46 +0900 |
|---|---|---|
| committer | Kenichi Handa | 2010-02-26 21:40:46 +0900 |
| commit | f88cc4d6dd9ca8cfbae25aa1d8f1912d54444aca (patch) | |
| tree | 38e85e04327f47e615cf2abc5ba920a849bb0425 /lisp/language | |
| parent | 06aac9016fc074f856a4b374572024a68784e630 (diff) | |
| download | emacs-f88cc4d6dd9ca8cfbae25aa1d8f1912d54444aca.tar.gz emacs-f88cc4d6dd9ca8cfbae25aa1d8f1912d54444aca.zip | |
Fix Myanmar OTF support
Diffstat (limited to 'lisp/language')
| -rw-r--r-- | lisp/language/burmese.el | 22 |
1 files changed, 20 insertions, 2 deletions
diff --git a/lisp/language/burmese.el b/lisp/language/burmese.el index a89ffe28f29..554cd7a482c 100644 --- a/lisp/language/burmese.el +++ b/lisp/language/burmese.el | |||
| @@ -36,7 +36,25 @@ | |||
| 36 | (sample-text . "Burmese (မ္ရန္မာ) မင္ဂလာပာ") | 36 | (sample-text . "Burmese (မ္ရန္မာ) မင္ဂလာပာ") |
| 37 | (documentation . t))) | 37 | (documentation . t))) |
| 38 | 38 | ||
| 39 | (set-char-table-range composition-function-table '(#x1000 . #x107F) | 39 | (defvar myanmar-composable-pattern |
| 40 | '(["[\x1000-\x107F\x200C\x200D]+" 0 font-shape-gstring])) | 40 | (let ((table |
| 41 | '(("K" . "[\u1004\u105A]\u103A\u1039") ; KINZI sequence | ||
| 42 | ("C" . "[\u1000-\u102A\u103F\u1041-\u1049\u104E\u105A-\u105D\u1061\u1065-\u1066\u106E\u1071\u1075\u1081\u108E\uAA60-\uAA6F\uAA71-\uAA76]") ; consonant and vowel letter | ||
| 43 | ("V" . "\u1039") ; VIRAMA | ||
| 44 | ("A" . "\u103A") ; ASAT | ||
| 45 | ("S" . "[\u1000-\u1019\u101C\u101E\u1020\u1021\u105A]") ; subscript | ||
| 46 | ("M" . "[\u103B-\u103E\105E-\1060]") ; medial | ||
| 47 | ("v" . "[\u102B-\u103A\u103C-\u103E\u1062-\u1064\u1067-\u106D\u1071-\u1074\u1082-\u108D\u108F\u109A\u109C\uAA70]"))) ; vowel sign, etc. | ||
| 48 | (regexp "\\(K\\)?C\\(VS\\)?\\(VS\\)?A?M*v*")) | ||
| 49 | (let ((case-fold-search nil)) | ||
| 50 | (dolist (elt table) | ||
| 51 | (setq regexp (replace-regexp-in-string (car elt) (cdr elt) | ||
| 52 | regexp t t)))) | ||
| 53 | regexp)) | ||
| 54 | |||
| 55 | (let ((elt (list (vector myanmar-composable-pattern 0 'font-shape-gstring) | ||
| 56 | (vector "." 0 'font-shape-gstring)))) | ||
| 57 | (set-char-table-range composition-function-table '(#x1000 . #x107F) elt) | ||
| 58 | (set-char-table-range composition-function-table '(#xAA60 . #xAA7B) elt)) | ||
| 41 | 59 | ||
| 42 | ;; arch-tag: 8ba5f4cd-ef89-4008-b784-397edd0cb32e | 60 | ;; arch-tag: 8ba5f4cd-ef89-4008-b784-397edd0cb32e |