Mercurial > emacs
annotate lisp/language/burmese.el @ 109351:c8a969d13eda
merge trunk
author | Kenichi Handa <handa@etlken> |
---|---|
date | Fri, 09 Jul 2010 15:55:27 +0900 |
parents | b1fd8a6d130f |
children | 376148b31b5e |
rev | line source |
---|---|
91378 | 1 ;;; burmese.el --- support for Burmese -*- coding: utf-8; no-byte-compile: t -*- |
2 | |
106815 | 3 ;; Copyright (C) 2008, 2009, 2010 |
91378 | 4 ;; National Institute of Advanced Industrial Science and Technology (AIST) |
5 ;; Registration Number H13PRO009 | |
6 | |
7 ;; Keywords: multilingual, Burma, i18n | |
8 | |
9 ;; This file is part of GNU Emacs. | |
10 | |
94665
55b7f25d920a
Switch to recommended form of GPLv3 permissions notice.
Glenn Morris <rgm@gnu.org>
parents:
93768
diff
changeset
|
11 ;; GNU Emacs is free software: you can redistribute it and/or modify |
91378 | 12 ;; it under the terms of the GNU General Public License as published by |
94665
55b7f25d920a
Switch to recommended form of GPLv3 permissions notice.
Glenn Morris <rgm@gnu.org>
parents:
93768
diff
changeset
|
13 ;; the Free Software Foundation, either version 3 of the License, or |
55b7f25d920a
Switch to recommended form of GPLv3 permissions notice.
Glenn Morris <rgm@gnu.org>
parents:
93768
diff
changeset
|
14 ;; (at your option) any later version. |
91378 | 15 |
16 ;; GNU Emacs is distributed in the hope that it will be useful, | |
17 ;; but WITHOUT ANY WARRANTY; without even the implied warranty of | |
18 ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
19 ;; GNU General Public License for more details. | |
20 | |
21 ;; You should have received a copy of the GNU General Public License | |
94665
55b7f25d920a
Switch to recommended form of GPLv3 permissions notice.
Glenn Morris <rgm@gnu.org>
parents:
93768
diff
changeset
|
22 ;; along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. |
91378 | 23 |
24 ;;; Commentary: | |
25 | |
26 ;; Aung San Suu Kyi says to call her country "Burma". | |
27 ;; The murderous generals say to call it "Myanmar". | |
28 ;; We will call it "Burma". -- rms, Chief GNUisance. | |
29 | |
30 ;;; Code: | |
31 | |
32 (set-language-info-alist | |
33 "Burmese" '((charset unicode) | |
34 (coding-system utf-8) | |
35 (coding-priority utf-8) | |
93768
c93598fddc46
("Burmese"): Make sample text consistent with language name.
Jason Rumney <jasonr@gnu.org>
parents:
91378
diff
changeset
|
36 (sample-text . "Burmese (မ္ရန္မာ) မင္ဂလာပာ") |
91378 | 37 (documentation . t))) |
38 | |
107307
b1fd8a6d130f
Change "myanmar" to "burmese"
Kenichi Handa <handa@m17n.org>
parents:
107237
diff
changeset
|
39 (defvar burmese-composable-pattern |
107237 | 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 | |
107307
b1fd8a6d130f
Change "myanmar" to "burmese"
Kenichi Handa <handa@m17n.org>
parents:
107237
diff
changeset
|
55 (let ((elt (list (vector burmese-composable-pattern 0 'font-shape-gstring) |
107237 | 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)) | |
91378 | 59 |
60 ;; arch-tag: 8ba5f4cd-ef89-4008-b784-397edd0cb32e |