Improve handling of tall consonants and vowel AM.
authorhanda <handa>
Sat, 26 Nov 2005 02:07:40 +0000 (02:07 +0000)
committerhanda <handa>
Sat, 26 Nov 2005 02:07:40 +0000 (02:07 +0000)
LAOO-ALICE.flt

index 3f3f66a..43397cc 100644 (file)
@@ -1,5 +1,5 @@
 ;; LAOO-ALICE.flt -- Font Layout Table for Lao (Alice font)
-;; Copyright (C) 2003, 2004
+;; Copyright (C) 2003, 2004, 2005
 ;;   National Institute of Advanced Industrial Science and Technology (AIST)
 ;;   Registration Number H15PRO112
 
 ;;; </ul>
 
 (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)
+ (0x0EDC 0x0EDD ?C))
 
 (generator
  (0
   (cond
-   ("cs?(VT?|v?T)"
-    <
-    ("(cs?)" independent semi-vowel)
-    ("VT?" composed-non-relative composed-non-relative *)
-    (".*" composed-non-relative *)
-    > )
+   ("(Cs?)(T?A)"
+    < (1 independent semi-vowel) (2 am-after-normal-c) > )
+   ("(cs?)(T?A)"
+    < (1 independent semi-vowel) (2 am-after-tall-c) > )
    ("Cs?[vV]?T?"
-    < independent semi-vowel composed-non-relative * > )
-   ("[^Cs]*"
-    independent *))
+    < independent semi-vowel vowel-tone-after-c * > )
+   ("cs?[vV]?T?"
+    < independent semi-vowel Br<Bl vowel-tone-after-c * > )
+   ("[sVvTA]"
+    [ isolated-dependent ])
+   ("."
+    independent))
   *)
 
  (independent
    ((0x0EB0)   0xBD)
    ((0x0EB2)   0xBE)
    ((0x0EB3)   0xBF)
+   ((0x0EB4)   [ 0xF2 ])
    ((0x0EBD)   0xBC)
    ((0x0EC0)   0xC0)
    ((0x0EC1)   0xC1)
    ((0x0EDC)   0xCE)
    ((0x0EDD)   0xCF)))
 
- (composed-relative
+ (semi-vowel
+  ((0x0EBC)    0xF9))
+
+ (am-after-normal-c
   (cond
-   ((0x0EB1)   tc+bc 0xF1)
-   ((0x0EB4)   tc+bc 0xF2)
-   ((0x0EB5)   tc+bc 0xF3)
-   ((0x0EB6)   tc+bc 0xF4)
-   ((0x0EB7)   tc+bc 0xF5)
-   ((0x0EB8)   bc+tc 0xF7)
-   ((0x0EB9)   bc+tc 0xF8)
-   ((0x0EBB)   tc+bc 0xF6)
-   ((0x0EC8)   tc+bc 0xC8)
-   ((0x0EC9)   tc+bc 0xC9)
-   ((0x0ECA)   tc+bc 0xCA)
-   ((0x0ECB)   tc+bc 0xCB)
-   ((0x0ECC)   tc+bc 0xCC)
-   ((0x0ECD)   tc+bc 0xD6)))
+   ((0x0EB3)           0xED)
+   ((0x0EC8 0x0EB3)    0xEE)
+   ((0x0EC9 0x0EB3)    0xEF)
+   ((0x0ECA 0x0EB3)    0xFC 0xED)
+   ((0x0ECB 0x0EB3)    0xFD 0xED)
+   ((0x0ECC 0x0EB3)    0xFE 0xED)))
 
- (semi-vowel
-  ((0x0EBC)    Br.Bl 0xF9))
+ (am-after-tall-c
+  (cond
+   ((0x0EB3)           0xD6 0xBE)
+   ((0x0EC8 0x0EB3)    0xD2 0xBE)
+   ((0x0EC9 0x0EB3)    0xD3 0xBE)
+   ((0x0ECA 0x0EB3)    0xFC 0xF0 0xBE)
+   ((0x0ECB 0x0EB3)    0xFD 0xF0 0xBE)
+   ((0x0ECC 0x0EB3)    0xFE 0xF0 0xBE)))
+
+ (vowel-tone-after-c
+  (cond
+   ((0x0EB1 0x0EC8)    0x84)
+   ((0x0EB1 0x0EC9)    0x98)
+   ((0x0EB1)           0xD7)
+   ((0x0EB4 0x0EC8)    0x85)
+   ((0x0EB4 0x0EC9)    0x99)
+   ((0x0EB4)           0xD8)
+   ((0x0EB5 0x0EC8)    0x86)
+   ((0x0EB5 0x0EC9)    0x9A)
+   ((0x0EB5)           0xD9)
+   ((0x0EB6 0x0EC8)    0x87)
+   ((0x0EB6 0x0EC9)    0x9B)
+   ((0x0EB6)           0xDA)
+   ((0x0EB7 0x0EC8)    0x88)
+   ((0x0EB7 0x0EC9)    0x9C)
+   ((0x0EB7)           0xDB)
+   ((0x0EB8)           0xF7)
+   ((0x0EB9)           0xF8)
+   ((0x0EBB 0x0EC8)    0x89)
+   ((0x0EBB 0x0EC9)    0x9D)
+   ((0x0EBB)           0xDC)
+   ((0x0EC8)           tr+bl 0xC8)
+   ((0x0EC9)           tr+bl 0xC9)
+   ((0x0ECA)           tr+bl 0xCA)
+   ((0x0ECB)           tr+bl 0xCB)
+   ((0x0ECC)           tr+bl 0xCC)
+   ((0x0ECD)           0xD6)))
 
- (composed-non-relative
+ (isolated-dependent
   (cond
    ((0x0EB1)   0xF1)
    ((0x0EB4)   0xF2)