27 |
|
|
28 |
;;; Code: |
;;; Code: |
29 |
|
|
30 |
(make-coding-system |
(define-coding-system 'lao |
31 |
'lao 2 ?L |
"8-bit encoding for ASCII (MSB=0) and LAO (MSB=1)." |
32 |
"8-bit encoding for ASCII (MSB=0) and LAO (MSB=1)." |
:coding-type 'charset |
33 |
'(ascii lao nil nil |
:mnemonic ?L |
34 |
nil nil) |
:charset-list '(lao)) |
|
'((safe-charsets ascii lao) |
|
|
(post-read-conversion . lao-post-read-conversion))) |
|
35 |
|
|
36 |
(set-language-info-alist |
(set-language-info-alist |
37 |
"Lao" '((charset lao) |
"Lao" '((charset lao) |
38 |
(coding-system lao) |
(coding-system lao) |
39 |
(coding-priority lao) |
(coding-priority lao) |
40 |
(input-method . "lao") |
(input-method . "lao") |
|
(nonascii-translation . lao) |
|
41 |
(unibyte-display . lao) |
(unibyte-display . lao) |
42 |
(features lao-util) |
(features lao-util) |
43 |
(documentation . t))) |
(documentation . t))) |
44 |
|
|
|
(aset use-default-ascent ?(1;(B t) |
|
|
(aset use-default-ascent ?$,1D;(B t) |
|
|
(aset use-default-ascent ?(1=(B t) |
|
|
(aset use-default-ascent ?$,1D=(B t) |
|
|
(aset use-default-ascent ?(1?(B t) |
|
|
(aset use-default-ascent ?$,1D?(B t) |
|
|
(aset use-default-ascent ?(1B(B t) |
|
|
(aset use-default-ascent ?$,1DB(B t) |
|
|
(aset ignore-relative-composition ?(1\(B t) |
|
|
(aset ignore-relative-composition ?$,1D\(B t) |
|
|
|
|
45 |
;; Register a function to compose Lao characters. |
;; Register a function to compose Lao characters. |
46 |
(let ((patterns '(("\\c0\\c9?\\(\\(\\c2\\|\\c3\\)\\c4?\\|\\c4\\)?" |
(set-char-table-range composition-function-table |
47 |
. lao-composition-function)))) |
'(#x0F00 . #x0F7F) |
48 |
(aset composition-function-table (make-char 'lao) patterns) |
'(("\\c0\\c9?\\(\\(\\c2\\|\\c3\\)\\c4?\\|\\c4\\)?" |
49 |
(dotimes (i (1+ (- #xeff #xe80))) |
. lao-composition-function))) |
|
(aset composition-function-table (decode-char 'ucs (+ i #xe80)) patterns))) |
|
50 |
|
|
51 |
(provide 'lao) |
(provide 'lao) |
52 |
|
|