*** empty log message ***
authorhanda <handa>
Wed, 21 Jul 2004 08:59:21 +0000 (08:59 +0000)
committerhanda <handa>
Wed, 21 Jul 2004 08:59:21 +0000 (08:59 +0000)
MYANMAR-ZEDI.flt

index 3b795dd..b816727 100644 (file)
 
 ;;; <li> MYANMAR-ZEDI.flt
 ;;;
-;;; For the Myanmar Zedi family fonts to draw Myanmar script.  Please
-;;; note that this is not yet completed, i.e. no rules for ligature,
-;;; etc are added.  The fonts are available at:
+;;; For the Myanmar Zedi family fonts to draw Myanmar script.
 ;;; <ul>
-;;; <li> infopage: ???
+;;; <li> infopage: http://www.myazedi.com/downloads/MyaZedi_M17N.ttf
 ;;; </ul>
 
 (category
  ;; C: Consonant
+ ;; c: NGA
+ ;; I: Independent vowel
  ;; V: Dependent vowel
- ;; E: VIWEL SIGN E
  ;; H: Halant
  ;; D: Dependent sign
  ;; Z: ZWNJ
  ;; O: Other
  (0x1000 0x107F ?O)
  (0x1000 0x1020 ?C)
- (0x1021 0x102A        ?O)
- (0x102C 0x1030        ?V)
- (0x1031       ?E)
- (0x1032       ?V)
+ (0x1004       ?c)
+ (0x1021 0x102A ?I)
+ (0x102C 0x1032        ?V)
  (0x1036 0x1038        ?D)
  (0x1039       ?H)
  (0x1056 0x1059        ?D)
- (0x200C       ?Z)
+ (0x200C       ?n)
  )
 
 (generator
  (0
   (cond
-   ;; Consonant + VOWEL SIGN E
-   ("(C)(E)"
-    ;; Put E at the head.
-    < (2 =) (1 = ) >)
-   ;; Consonant + Halant followed by ZWNJ
-   ("(CH)Z"
-    ;; Display Halant.
-    < (1 = =) >)
-   ;; Consonant + Halant not followed by ZWNJ
-   ("CH"
-    ;; Don't display Halant.
-    =)
-   ;; Consonant + the other dependend vowel/sign
-   ("C[VD]"
-    < = = >)
-   ;; Single E
-   ("E"
-    ;; Append dotted circle.
-    = 0x25CC)
-   ;; The other single combining character
-   ("[VHD]"
-    ;; Prepend dotted circle.
-    0x25CC =)
-   ;; The othe single character
+   ;;
+   ("(([Cc]Hn?)*[Cc])(V[VH]?D?|D)"
+    | (1 kinzi-halant) (3 = *) |)
+   ("(([Cc]Hn?)*[Cc]Hn?)(V[VH]?D?|D)"
+    | (1 kinzi-halant) (3 = *) |)
+   ("(([Cc]Hn?)*[Cc])(Hn?)?"
+    | kinzi-halant |)
+   ("IV*"
+    | = * |)
    ("."
     [ = ]))
+  *)
+
+ (kinzi-halant
+  (cond
+   ("(cHn)(.*)"
+    (1 = =) (2 kinzi-halant))
+   ("(cH)([Cc]H?n?)(.*)"
+    (2 (cond ("..." = =) (".*" =)) (1 0xE390) (3 kinzi-halant)))
+   ("(CHn)(.*)"
+    (1 = =) (2 kinzi-halant))
+   ("(CH)(.*)"
+    (1 =) (2 kinzi-halant))
+   ("." =))))
+
+(category
+ (0x1000 0x107F ?O)
+ (0x1000 0x1020 ?C)
+ (0x1000 0x1003 ?S)
+ (0x1005 0x1007 ?S)
+ (0x100B 0x100C ?S)
+ (0x100F 0x1019 ?S)
+ (0x101C       ?S)
+ (0x1039       ?H)
+ (0x200C       ?n)
+ (0xE390       ?K)                     ; Kinzi
+ )
+
+(generator
+ (0
+  (cond
+   (" ([CSHK][CSHK]*)([^ ]*) "
+    | (1 consonant *) (2 = *) |)
+   (" ([^ ]*]) "
+    | (1 = *) |)
+   ("."
+    =))
+  *)
+
+ (consonant
+  (cond
+   ((0x1009 0x1039)    0xE009 0x1039)
+   ((0x1009 0x1005)    0xE109 0xE005)
+   ((0x1014 0x1010)    0xE140 0xE010)
+   ((0x101B 0x102F)    0xE01B 0x102F)
+   ((0x1001 0x101A)    0x1001 0xE1A1)
+   ((0x1001 0x101B)    0xE1B1 0x1001)
+   ((0x1001 0x101D)    0x1001 0xE01D)
+   ((0x101C 0x101F)    0x101C 0xE1F1)
+   ((0x100B 0x100C)    0xE10C)
+   ((0x100D 0x100D)    0xE00D)
+   ((0x100E 0x100D)    0xE10D)
+   ((0x100F 0x100D)    0xE20D)
+   ((0x101E 0x101E)    0xE01E)
+   ("([CS])(S)" (1 =) (2 subscript))
+   ("." =)))
+
+ (subscript
+  ((range 0x1000 0x101C) 0xE000)))
+
+(category
+ (0x1000 0x107F ?O)
+ (0x1000 0x1020 ?C)
+ (0x1001 0x1002 ?c)
+ (0x1004       ?c)
+ (0x1013       ?c)
+ (0x101D       ?c)
+ (0x102C       ?A)                     ; Vowel AA
+ (0x102C 0x1032        ?V)
+ (0x1031       ?E)                     ; Vowel E
+ (0x1036 0x1038        ?D)
+ (0x1039       ?H)
+ (0x1056 0x1059        ?D)
+ (0x200C       ?n)
+ (0xE000 0xE7FF ?C)
+ (0xE390       ?K)                     ; Kinzi
+)
+
+(generator
+ (0
+  (cond
+   (" ([CcKH]*)([Cc][KH]?)(E)([^ ]*) "
+    | (1 = *) (3 =) (2 = *) (4 = *) |)
+   (" ([CcKH]*)(c)(AH)([^ ]*) "
+    | (1 = *) (2 =) 0xE02D (4 = *) |)
+   (" ([CcKH]*)(c)(A)([^ H]*) "
+    | (1 = *) (2 =) 0xE02C (4 = *) |)
+   (" ([^ ]*) "
+    | (1 = *) |)
+   ("."
+    =))
+  *))
+
+(category
+ (0x1000 0x107F ?O)
+ (0x1000 0x1003 ?b)
+ (0x1005 0x1007 ?b)
+ (0x100B 0x100C ?b)
+ (0x100F 0x1019 ?b)
+ (0x100C       ?b)
+ (0x102F       ?U)                     ; Vowel U
+ (0x1030       ?u)                     ; Vowel UU
+ (0xE000 0xE7FF        ?O)
+ (0xE000 0xE01D ?b)
+ (0xE1A1 0xE1B8 ?b))
+
+(generator
+ (0
+  (cond
+   (" ([^ ]*) "
+    <
+    (1 (cond
+       ((0xE390 0x102D) 0xE391)
+       ((0xE390 0x102E) 0xE392)
+       ((0xE390 0x1036) 0xE393)
+       ((0x1014 0x1037) 0x1014 0xE037)
+       ((0x101B 0x1037) 0x101B 0xE137)
+       ((0x102D 0x1037) 0xE2D1)
+       ("(b)U" (1 =) 0xE2F1)
+       ("(b)u" (1 =) 0xE2F2)
+       ("." =))
+       *)
+    >)
+   ("."
+    =))
   *))