(category
;; C: CONSONANT
;; A: SARA-AM
- ;; V: DEPENDENT VOWEL, NIKHAHIT, or YAMAKKAN
+ ;; i: SARA I, SARA U (below vowel 1, above vowel 1)
+ ;; I: SARA II, SARA UEE (above vowel 3)
+ ;; U: MAIHAN-AKAT, SARA UE, SARA UU (above vowel 2, below vowel 2)
+ ;; P: PHINTHU, YAMAKKARN (below diacritic, above diacritic 3)
;; T: TONE
- ;; I: OTHER INDEPENDENT
- (0x0E01 0x0E2E ?C)
- (0x0E2F 0x0E32 ?I)
- (0x0E31 ?V)
+ ;; N: THANTHAKHAT, NIKHAHIT (above diacritic 1)
+ ;; M: MAITAIKHU (above diacritic 2)
+ ;; X: OTHER INDEPENDENT
+ (0x0E01 0x0E23 ?C)
+ (0x0E24 ?X)
+ (0x0E25 ?C)
+ (0x0E26 0x0E2E ?C)
+ (0x0E2F 0x0E30 ?X)
+ (0x0E31 ?U) ;; av2
+ (0x0E32 ?X)
(0x0E33 ?A)
- (0x0E34 0x0E3A ?V)
- (0x0E3F 0x0E46 ?I)
- (0x0E47 ?V)
- (0x0E48 0x0E4C ?T)
- (0x0E4D 0x0E4E ?V)
- (0x0E4F 0x0E5B ?I)
-
- (0x25CC ?I))
+ (0x0E34 ?i) ;; av1
+ (0x0E35 ?I) ;; av3
+ (0x0E36 ?U) ;; av2
+ (0x0E37 ?I) ;; av3
+ (0x0E38 ?i) ;; bv1
+ (0x0E39 ?U) ;; bv2
+ (0x0E3A ?P) ;; bd
+ (0x0E3F 0x0E46 ?X)
+ (0x0E47 ?M) ;; ad2
+ (0x0E48 0x0E4B ?T)
+ (0x0E4C 0x0E4D ?N) ;; ad1
+ (0x0E4E ?P) ;; ad3
+ (0x0E4F 0x0E5B ?X)
+ (0x25CC ?X))
;; Perform GSUB. The decomposition of AM is done by hand because it
;; requires reordering in addition to decomposition.
(cond
("(C)(T)?A"
< | (1 =) 0x0E4D (2 =) 0x0E32 | > )
- ("CV?T?"
+ ("C[UiI]T"
+ < | = * | > )
+ ("CiN"
+ < | = * | > )
+ ("CIM"
+ < | = * | > )
+ ("C[iIUPTNM]?"
< | = * | > )
- ("[VT]"
+ ("[iIUPTNM]"
< | 0x25CC = | > )
("."
=))