Skip to content
GitLab
Projects
Groups
Snippets
Help
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Open sidebar
emacs
emacs
Commits
0fbd9496
Commit
0fbd9496
authored
Sep 06, 2008
by
Kenichi Handa
Browse files
Fix setting of composition-function-table.
parent
2de7397f
Changes
2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
39 additions
and
3 deletions
+39
-3
lisp/ChangeLog
lisp/ChangeLog
+4
-0
lisp/language/lao.el
lisp/language/lao.el
+35
-3
No files found.
lisp/ChangeLog
View file @
0fbd9496
2008-09-06 Kenichi Handa <handa@m17n.org>
* language/lao.el: Fix setting of composition-function-table.
2008-09-06 Eli Zaretskii <eliz@gnu.org>
* term/pc-win.el (msdos-show-help): Don't truncate lines while
...
...
lisp/language/lao.el
View file @
0fbd9496
;;; lao.el --- support for Lao -*- coding:
iso-2022-7bit
; no-byte-compile: t -*-
;;; lao.el --- support for Lao -*- coding:
utf-8
; no-byte-compile: t -*-
;; Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008
;; Free Software Foundation, Inc.
...
...
@@ -46,8 +46,40 @@
(
features
lao-util
)
(
documentation
.
t
)))
(
set-char-table-range
composition-function-table
'
(
#xE80
.
#xEDF
)
'
((
"[\xE80-\xEDF]+"
.
lao-composition-function
)))
(
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
)
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment