summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/omega/otp/otibet/tibuniuni.otp
blob: 827b1fe7393f3ed77f40c8db38dabddba94b8f57 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
% File tibuniuni-state.otp
% Conversion to Unicode compound from Unicode
% Copyright (c) 1997 Norbert Preining
% this file is part of the otibet package.
% 

input:	2;
output:	2;

tables:
subjoin[@"2a] = {
@"0f90, @"0f91, @"0f92, @"0f93, @"0f94, @"0f95, @"fffd, @"0f97, 
@"fffd, @"0f99, @"0f9a, @"0f9b, @"0f9c, @"0f9d, @"0f9e, @"0f9f, 
@"0fa0, @"0fa1, @"0fa2, @"0fa3, @"0fa4, @"0fa5, @"0fa6, @"0fa7, 
@"0fa8, @"0fa9, @"0faa, @"0fab, @"0fac, @"0fad, @"fffd, @"fffd, 
@"0f71, @"0fb1, @"0fb2, @"0fb3, @"0fb4, @"0fb5, @"0fb6, @"0fb7, 
@"fffd, @"0fb9 };

states: begin, gau, dau, bau, mau, hau, main, vow, post, sec ;

aliases:
cons		= ( ( @"0f40 - @"0f47 ) | ( @"0f49 - @"0f67 ) | @"0f69| @"25cc );
vowel		= ( ( @"0f71 - @"0f7f ) | @"0f80 | @"0f81 );
super		= ( @"0f62 | @"0f63 | @"0f66 ) ;
praefix		= ( @"0f42 | @"0f51 | @"0f56 | @"0f58 | @"0f60 ) ;
gauprae		= ( ( @"0f61 - @"0f63 ) | @"0f5d ) ;
dauprae		= ( @"0f5d | @"0f62 ) ;
bauprae		= ( @"0f61 - @"0f63 ) ;
mauprae		= ( @"0f61 | @"0f62 ) ;
protector	= @"0f6f ;
raspecial	= ( @"0f40 | @"0f42 | @"0f44 | @"0f47 | @"0f49 | @"0f4f | 
		    @"0f51 | @"0f53 | @"0f59 | @"0f5b | @"0f63 ) ;
subjoin		= ( ( @"0f71 - @"0f8b ) | ( @"0f90 - @"0f95 ) | @"0f97 | 
		    ( @"0f99 - @"0fad ) | ( @"0fb1 - @"0fb7 ) | @"0fb9 ) ;

expressions:
.			=> <= \1			<begin> ;
<begin>	@"0f42	end:	=>	\1			<gau>	;
<begin>	@"0f56	end:	=>	\1			<bau>	;
<begin>	@"0f51	end:	=>	\1			<dau>	;
<begin>	@"0f58	end:	=>	\1			<mau>	;
<begin>	@"0f60	end:	=>	\1			<hau>	;
<begin>	@"0f42		=> 	\1			<gau>	;
<begin>	@"0f56		=>	\1			<bau>	;
<begin>	@"0f51		=> 	\1			<dau>	;
<begin>	@"0f58		=> 	\1			<mau>	;
<begin>	@"0f60		=> 	\1			<hau>	;
<begin> {cons}		=> 	\1			<main>	;
<begin> @"0f68		=> 	\1			<vow>	;
<begin> {vowel}		=> 	@"0f68 \1		<vow>	;
<begin> {subjoin}	=>	\1			<main>	;
<begin> .		=>	\1			<begin> ;
%
<gau> 	{gauprae}	=> 	#(subjoin[\1-@"0f40])	<main>	;
<gau> 	{cons}		=>	\1			<main>	;
<gau> 	@"0f68		=>				<vow>	;
<gau> 	{vowel}		=>	\1			<vow>	;
<gau>	{subjoin}	=>	\1			<main>	;
<gau>	.		=>	\1			<main>	;

<dau> 	{dauprae}	=>	#(subjoin[\1-@"0f40])	<main>	;
<dau> 	{cons}		=>	\1			<main>	;
<dau> 	@"0f68		=>				<vow>	;
<dau> 	{vowel}		=>	\1			<vow>	;
<dau>	{subjoin}	=>	\1			<main>	;
<dau>	.		=>	\1			<main>	;

<bau>	@"0f62 {raspecial} =>	\1 #(subjoin[\2-@"0f40])<main>  ;
<bau>	@"0f63 @"0f4f	=>	\1 #(subjoin[\2-@"0f40])<main>	;
<bau> 	{bauprae}	=>	#(subjoin[\1-@"0f40])	<main>	;
<bau> 	{cons}		=>	\1			<main>	;
<bau> 	@"0f68		=>				<vow>	;
<bau> 	{vowel}		=>	\1			<vow>	;
<bau>	{subjoin}	=>	\1			<main>	;
<bau>	.		=>	\1			<main>	;

<mau> 	{mauprae}	=>	#(subjoin[\1-@"0f40])	<main>	;
<mau> 	{cons}		=>	\1			<main>	;
<mau> 	@"0f68		=>				<vow>	;
<mau> 	{vowel}		=>	\1			<vow>	;
<mau>	{subjoin}	=>	\1			<main>	;
<mau>	.		=>	\1			<main>	;

<hau>	{cons}		=>	\1			<main>	;
<hau>	@"0f68		=>				<vow>	;
<hau> 	{vowel}		=>	\1			<vow>	;
<hau>	{subjoin}	=>	\1			<main>	;
<hau>	.		=>	\1			<main>	;

<main> 	{cons}		=>	#(subjoin[\1-@"0f40])	<main>	;
<main> 	@"0f68		=>				<vow>	;
<main>	{vowel}		=>	\1			<vow>	;
<main>	{subjoin}	=>	\1			<main>	;
<main>	.		=>	\1			<begin> ;

<vow>	{vowel}		=>	\1			<vow>	;
<vow>	@"0f68		=>				<vow>	;
<vow>	{cons}		=>	\1			<sec>	;
<vow>	{subjoin}	=>	\1			<vow>	;
<vow>	.		=>	\1			<begin> ;

<sec>	{cons}		=>	\1			<sec>	;
<sec>	{vowel}		=>	\1			<vow>	;
<sec>	@"0f68		=>				<vow>	;
<sec>	{subjoin}	=>	\1			<sec>	;
<sec>	.		=>	\1			<begin>	;

.			=>	\1		<begin> ;