Mercurial > emacs
view lisp/language/lao.el @ 105760:d0906291f75b
* cedet/semantic/fw.el (semantic-alias-obsolete)
(semantic-varalias-obsolete): Make the `when' arg mandatory.
(define-mode-overload-implementation):
* cedet/semantic/decorate/mode.el (semantic-decorate-pending-decoration-hooks):
* cedet/semantic/wisent.el (wisent-lex-make-token-table):
* cedet/semantic/util.el (semantic-file-token-stream)
(semantic-something-to-stream):
* cedet/semantic/tag.el (semantic-tag-make-assoc-list)
(semantic-expand-nonterminal):
* cedet/semantic/tag-file.el (semantic-find-nonterminal)
(semantic-find-dependency, semantic-find-nonterminal)
(semantic-find-dependency):
* cedet/semantic/lex.el (semantic-flex-start, semantic-flex-end)
(semantic-flex-text, semantic-flex-make-keyword-table)
(semantic-flex-keyword-p, semantic-flex-keyword-put)
(semantic-flex-keyword-get, semantic-flex-map-keywords)
(semantic-flex-keywords, semantic-flex-buffer, semantic-flex-list):
* cedet/semantic/java.el (semantic-java-prototype-nonterminal):
* cedet/semantic/idle.el (semantic-before-idle-scheduler-reparse-hooks)
(semantic-after-idle-scheduler-reparse-hooks):
* cedet/semantic/edit.el (semantic-edits-incremental-reparse-failed-hooks):
* cedet/semantic/db-mode.el (semanticdb-mode-hooks):
* cedet/semantic.el (semantic-toplevel-bovine-table)
(semantic-toplevel-bovine-cache)
(semantic-before-toplevel-bovination-hook, semantic-init-hooks)
(semantic-init-mode-hooks, semantic-init-db-hooks)
(semantic-bovination-working-type): Provide the `when' arg.
author | Stefan Monnier <monnier@iro.umontreal.ca> |
---|---|
date | Sun, 25 Oct 2009 02:55:27 +0000 |
parents | a9dc0e7c3f2b |
children | 1d1d5d9bd884 |
line wrap: on
line source
;;; lao.el --- support for Lao -*- coding: utf-8; no-byte-compile: t -*- ;; Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 ;; Free Software Foundation, Inc. ;; Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, ;; 2007, 2008, 2009 ;; National Institute of Advanced Industrial Science and Technology (AIST) ;; Registration Number H14PRO021 ;; Copyright (C) 2003 ;; National Institute of Advanced Industrial Science and Technology (AIST) ;; Registration Number H13PRO009 ;; Keywords: multilingual, Lao ;; This file is part of GNU Emacs. ;; GNU Emacs is free software: you can redistribute it and/or modify ;; it under the terms of the GNU General Public License as published by ;; the Free Software Foundation, either version 3 of the License, or ;; (at your option) any later version. ;; GNU Emacs is distributed in the hope that it will be useful, ;; but WITHOUT ANY WARRANTY; without even the implied warranty of ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ;; GNU General Public License for more details. ;; You should have received a copy of the GNU General Public License ;; along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. ;;; Commentary: ;;; Code: (define-coding-system 'lao "8-bit encoding for ASCII (MSB=0) and LAO (MSB=1)." :coding-type 'charset :mnemonic ?L :charset-list '(lao)) (set-language-info-alist "Lao" '((charset lao) (coding-system lao) (coding-priority lao) (input-method . "lao") (unibyte-display . lao) (features lao-util) (documentation . t))) (let ((consonant "ກ-ຮໜໝ") (tone "່-໌") (vowel-upper-lower "ັິ-ົໍ") (semivowel-lower "ຼ") (fallback-rule [nil 0 compose-gstring-for-graphic])) ;; target characters regexp ;; ----------------- ------ (dolist (l `((,vowel-upper-lower . "[c].[t]?") (,tone . "[c].") (,semivowel-lower . "[c].[v][t]?") (,semivowel-lower . "[c].[t]"))) (let* ((chars (car l)) (len (length chars)) ;; Replace `c', `t', `v' to consonant, tone, and vowel. (regexp (mapconcat #'(lambda (c) (cond ((= c ?c) consonant) ((= c ?t) tone) ((= c ?v) vowel-upper-lower) (t (string c)))) (cdr l) "")) ;; Element of composition-function-table. (elt (list (vector regexp 1 'lao-composition-function) fallback-rule)) ch) (dotimes (i len) (setq ch (aref chars i)) (if (and (> i 1) (= (aref chars (1- i)) ?-)) ;; End of character range. (set-char-table-range composition-function-table (cons (aref chars (- i 2)) ch) elt) (if (or (= (1+ i) len) (and (/= ch ?-) (/= (aref chars (1+ i)) ?-))) ;; A character not forming a range. (set-char-table-range composition-function-table ch elt))))))) (provide 'lao) ;; arch-tag: ba540fd9-6352-4449-a9cd-669afd21fa57 ;;; lao.el ends here