(state
(init
(consonant
+ (move @<)
(cond
((= @-1 0x0DD9)
(cond
((= @-2 0x200C)
(delete @-2)
+ (move @>)
0x0DD9)
((| (< @-2 0x0D9A) (> @-2 0x0DC6))
(delete @-1)
+ (move @>)
0x0DD9)))
((= @-1 0x0DDB)
(cond
((= @-2 0x200C)
(delete @-2)
+ (move @>)
0x0DDB)
((| (< @-2 0x0D9A) (> @-2 0x0DC6))
(delete @-1)
+ (move @>)
0x0DDB)))))
(misc))
(join
(consonant
+ (move @<)
(set c @-1)
(cond
((| (= c 0x0DD9) (= c 0x0DDB))
(cond
((& (>= @-2 0x0D9A) (<= @-2 0x0DC6))
(delete @-1)
- (move @<)
0x0DCA 0x200D
(move @>)
(insert c))))
((& (>= c 0x0D9A) (<= c 0x0DC6))
- (move @<)
0x0DCA 0x200D))
(shift init))