;; described in Table 10-3 of the Unicode Standard 4.0 except for
;; Kinzi which is encoded by the sequence "U+1004 U+1039 U+200D".
;;
- ;;<-1-> <---------2--------><--4--><--6---> <7->
- ;; <---3---> <5->
+ ;;<-1-><---------2--------><--4--><--6---> <7->
+ ;; <---3---> <5->
("(KHJ)([CcnKMr](H[CcnK])?)((HM)*)(V*A?H?)N?(S*)"
| < (1 0xE390) (2 consonant) (4 remove-halant *) (6 = *) (7 = *) > |)
(0xE1A1 0xE1B0 ?b)
(0xE1B1 0xE1BA ?B)
(0xE1D1 0xE1F1 ?B)
+ (0xE20D ?b)
(0xE390 ?K) ; Kinzi
)
(1
(cond
;; Consonant substituion.
- ((0x1009 0x1039) 0xE009 0x1039)
+ ((0x1009 0x1039) 0x1025 0x1039)
((0x1009 0xE005) 0xE109 Br>5Bl 0xE005)
- ((0x101B 0x102F) 0xE01B 0x102F)
- ((0x101B 0x1030) 0xE01B 0x1030)
- ((0x1014 0x102F) 0xE140 0x102F)
- ((0x1014 0x1030) 0xE140 0x1030)
-
- ;; Sign substituion. ;
- ((0x102F 0x1037) 0x102F 0xE137)
- ((0x1030 0x1037) 0x1030 0xE137)
- ((0xE01D 0x1037) 0xE01D 0xE137)
- ((0xE1A1 0x1036 0x1037) 0xE1A1 0x1036 0xE137)
- ((0xE1A1 0x1032 0x1037) 0xE1A1 0x1032 0xE137)
- ((0xE01D 0x1032 0x1037) 0xE01D 0x1032 0xE137)
- ((0xE01D 0x1036 0x1037) 0xE01D 0x1036 0xE137)
-
- ;; Vowel substituion. ;
+;; ((0x101B 0x102F) 0xE01B 0x102F)
+;; ((0x101B 0x1030) 0xE01B 0x1030)
+;; ((0x1014 0x102F) 0xE140 0x102F)
+;; ((0x1014 0x1030) 0xE140 0x1030)
+
+;; ;; Sign substituion.
+;; ((0x102F 0x1037) 0x102F 0xE137)
+;; ((0x1030 0x1037) 0x1030 0xE137)
+;; ((0xE01D 0x1037) 0xE01D 0xE137)
+;; ((0xE1A1 0x1036 0x1037) 0xE1A1 0x1036 0xE137)
+;; ((0xE1A1 0x1032 0x1037) 0xE1A1 0x1032 0xE137)
+;; ((0xE01D 0x1032 0x1037) 0xE01D 0x1032 0xE137)
+;; ((0xE01D 0x1036 0x1037) 0xE01D 0x1036 0xE137)
+
+ ;; Vowel substituion.
((0xE1F1 0x102F) 0xE1F2)
((0xE1F1 0x102D 0x102F) 0xE1F2 0x102D)
((0xE1F1 0x102E 0x102F) 0xE1F2 0x102E)
+ ((0xE1F1 0x1032 0x102F) 0xE1F2 0x1032)
("BcK?A" = = = =)
("cAH" = 0xE02D)
("cA" = 0xE02C)
("." =))
*)
|)
- ((0x200C) 0x4E tc.cc 0x48)
("."
=))
*))
+;; 5th stage
+;; Adjust below characters (U+102F, U+1037, etc)
+
(category
(0x1000 0x107F ?O)
+ (0x200C 0x200D ?O)
(0xE000 0xE3FF ?O)
- (0x1014 ?T) ; Tall consonant
+ (0x1014 ?T) ; tall consonant (substituted)
(0x101B ?T)
- (0x102F ?B) ; Below position
+ (0x102F 0x1030 ?B) ; below position (substitute tall one)
+ (0x1037 ?b) ; shift to right
(0xE01D ?B)
(0xE1A1 ?B)
(0xE1D1 ?B)
+ (0xE1B1 0xE1BA ?L)
(0xE1F1 0xE1F2 ?B)
+ (0xE2F1 0xE2F2 ?L) ; has lower part
)
(generator
(0
(cond
(" ([^ ]*) "
+ |
(1
(cond
- ("(T)(B)"
+ ("(T)(B)([OL])?(b)?"
(1 (cond ((0x1014) 0xE140) ((0x101B) 0xE01B)))
- (2 =))
+ (2 =)
+ (3 = *)
+ (4 0xE137))
+ ("([TBL])(O*)?(b)"
+ (1 =) (2 = *) (3 0xE137))
("." =))
- *))
+ *)
+ |)
+ ("OO*" = *)
("." =))
*))
+;; 6th stage
+;; Adjust conbination of normal consonant and wide subconsonant.
+
+(category
+ (0x1000 0x107F ?O)
+ (0x200C 0x200D ?O)
+ (0xE000 0xE3FF ?O)
+ (0x1001 0x1002 ?n)
+ (0x1004 0x1005 ?n)
+ (0x1007 ?n)
+ (0x100E ?n)
+ (0x1012 0x1013 ?n)
+ (0x1015 0x1017 ?n)
+ (0x1019 ?n)
+ (0x101D ?n)
+ (0xE000 ?w)
+ (0xE003 ?w)
+ (0xE006 ?w)
+ (0xE00C ?w)
+ (0xE00F ?w)
+ (0xE010 0xE011 ?w)
+ (0xE018 ?w))
+
+(generator
+ (0
+ (cond
+ (" (n)(w)([^ ]*) "
+ \[ (1 =) (2 Br>17Bl =) (3 = *))
+ (" ([^ ]*) "
+ (1 = *))
+ ("."
+ =))
+ *))
+
;; Local Variables:
-;; mode: lisp
+;; mode: emacs-lisp
;; coding: utf-8
;; End: