Improve handling of tall consonants and vowel AM.
authorhanda <handa>
Fri, 2 Dec 2005 04:03:32 +0000 (04:03 +0000)
committerhanda <handa>
Fri, 2 Dec 2005 04:03:32 +0000 (04:03 +0000)
LAOO-GENERIC.flt

index 83954e8..90f7d3b 100644 (file)
 ;;; <li> LAOO-GENERIC.flt
 
 (category
- ;; C: CONSONANT (except c and s)
+ ;; C: CONSONANT (except for c and s)
  ;; c: TALL CONSONANT
  ;; s: LAO SEMIVOWEL SIGN LO
+ ;; A: VOWEL AM
  ;; V: VOWEL UPPER
  ;; v: VOWEL LOWER
  ;; T: TONE
- ;; I: INDEPENDENT
- ;;
- (0x0E80 0x0EDF        ?I)
+ ;; I: INDEPENDENT VOWEL (except for A)
+ ;; S: SIGN
  (0x0E81 0x0E82        ?C)
  (0x0E84       ?C)
  (0x0E87 0x0E88        ?C)
  (0x0EA7       ?C)
  (0x0EAA 0x0EAB        ?C)
  (0x0EAD 0x0EAE        ?C)
+ (0x0EAF       ?S)
+ (0x0EB0       ?I)
  (0x0EB1       ?V)
+ (0x0EB2       ?I)
+ (0x0EB3       ?A)
  (0x0EB4 0x0EB7        ?V)
  (0x0EB8 0x0EB9        ?v)
  (0x0EBB       ?V)
  (0x0EBC       ?s)
+ (0x0EBD       ?I)
+ (0x0EC0 0x0EC4 ?I)
+ (0x0EC6       ?S)
  (0x0EC8 0x0ECC        ?T)
- (0x0ECD       ?V))
+ (0x0ECD       ?V)
+ (0x0ED0 0x0ED9 ?I)
+ (0x0EDC 0x0EDD ?C))
 
 (generator
  (0
   (cond
-   ("cs?(VT?|v?T)"
-    <
-    ("(cs?)" = semi-vowel)
-    ("VT?" composed-non-relative composed-relative *)
-    (".*" composed-non-relative *)
-    > )
-   ("Cs?[vV]?T?"
-    < = semi-vowel composed-relative * > )
-   ("[^Cs]*"
-    = *))
-  *)
-
- (composed-relative
-  (cond
-   ((0x0EB1)   tr+bl =)
-   ((0x0EB4)   tr+bl =)
-   ((0x0EB5)   tr+bl =)
-   ((0x0EB6)   tr+bl =)
-   ((0x0EB7)   tr+bl =)
-   ((0x0EB8)   bl+tr =)
-   ((0x0EB9)   bl+tr =)
-   ((0x0EBB)   tr+bl =)
-   ((0x0EC7)   tr+bl =)
-   ((0x0EC8)   tr+bl =)
-   ((0x0EC9)   tr+bl =)
-   ((0x0ECA)   tr+bl =)
-   ((0x0ECB)   tr+bl =)
-   ((0x0ECC)   tr+bl =)
-   ((0x0ECD)   tr+bl =)
-   ((0x0ECE)   tr+bl =)))
-
- (semi-vowel
-  ((0x0EBC)    Br-Br =))
-
- (composed-non-relative
-  (cond
-   ((0x0EB1)   Br-Bl =)
-   ((0x0EB4)   Br-Bl =)
-   ((0x0EB5)   Br-Bl =)
-   ((0x0EB6)   Br-Bl =)
-   ((0x0EB7)   Br-Bl =)
-   ((0x0EB8)   Br-Bl =)
-   ((0x0EB9)   Br-Bl =)
-   ((0x0EBB)   Br-Bl =)
-   ((0x0E47)   Br-Bl =)
-   ((0x0E48)   Br-Bl =)
-   ((0x0E49)   Br-Bl =)
-   ((0x0E4A)   Br-Bl =)
-   ((0x0E4B)   Br-Bl =)
-   ((0x0E4C)   Br-Bl =)
-   ((0x0E4D)   Br-Bl =)
-   ((0x0E4E)   Br-Bl =))))
+   ("(Cs?)(T)?(A)"
+    < (1 = =) 0x0ECD (2 tr.bl =) (3 0x0EB2) > )
+   ("(cs?)(T)?(A)"
+    < (1 = =) Br<Bl 0x0ECD (2 tr<bl =) (3 0x0EB2) > )
+   ("(Cs?[vV]?)(T)?"
+    < (1 = *) (2 tr+bl =) > )
+   ("(cs?)([vV])?(T)?"
+    < (1 = *) (2 ("v" =) ("V" Br<Bl =)) (3 tr+bl =) > )
+   ("[sVvTA]"
+    [ = ])
+   ("."
+    =))
+  *))
 
 ;; Local Variables:
 ;; mode: lisp