]> git.donarmstrong.com Git - deb_pkgs/scowl.git/blob - src/make-variant.lst
Include hunspell .bdic files for qtwebengine and maybe others
[deb_pkgs/scowl.git] / src / make-variant.lst
1 #!/bin/bash
2
3 start ()
4 {
5     echo -n;
6 }
7
8 add ()
9 {
10   cat - $1 | src/filter | sort -u;
11 }
12
13 rem ()
14 {
15   comm -23 - $1;
16 }
17
18 #
19 # perform additional proc. on varcon
20 #
21
22 rm -f everything.lst
23 cat r/varcon/*.lst \
24   | src/filter | sort -u \
25   > r/varcon/everything.lst
26
27 cat r/varcon/american.lst r/varcon/american-v?.lst \
28   | src/filter | sort -u \
29   > r/varcon/all-amer.lst
30
31 cat r/varcon/american.lst r/varcon/other.lst \
32   | src/filter | sort -u \
33   > r/varcon/nonvariant-amer.lst
34
35 cat r/varcon/american-v?.lst r/varcon/other-v?.lst \
36   | src/filter | sort -u \
37   > r/varcon/variant-amer.lst
38
39 cat r/varcon/british-v?.lst r/varcon/british_z-v?.lst \
40   | src/filter | sort -u \
41   > r/varcon/variant-brit.lst
42
43 cat r/varcon/canadian-v?.lst \
44   | src/filter | sort -u \
45   > r/varcon/variant-can.lst
46
47 cat r/varcon/australian-v?.lst \
48   | src/filter | sort -u \
49   > r/varcon/variant-can.lst
50
51 cat r/varcon/british-v?.lst r/varcon/british_z-v?.lst r/varcon/canadian-v?.lst r/varcon/australian-v?.lst \
52   | src/filter | sort -u \
53   > r/varcon/variant-nonamer.lst
54
55 for sp in american british british_z canadian australian other; do
56   for vl in 0 1 2; do
57     touch r/varcon/$sp-v$vl.lst
58   done
59 done
60
61 comm -12 r/varcon/british.lst r/varcon/british_z.lst \
62   > r/varcon/british-common.lst
63
64 #
65 # We let some british variants into the variant lists..
66 # see below
67 #
68
69 for l in 0 1 2 3; do
70
71   cat r/varcon/british-v$l.lst r/varcon/british_z-v$l.lst r/varcon/canadian-v$l.lst r/varcon/australian-v$l.lst \
72     | src/filter | sort -u \
73     > r/varcon/variant-nonamer-v$l.lst
74
75   comm -12 r/varcon/nonvariant-amer.lst r/varcon/variant-nonamer-v$l.lst \
76     > r/varcon/variant-nonamer-v$l-filtered.lst
77
78 done
79
80 #
81 # perform additional proc. on 12dicts
82 #
83 # for each of the lists remove any variants that are known about in
84 # varcon
85 #
86
87 cat r/alt12dicts/not-variant.lst \
88   | src/filter | src/add-affixes 0.0 use-all | sort -u \
89   > working/variant-no.lst
90
91 expand() {
92     src/filter \
93       | src/add-affixes $1 use-all | sort -u \
94       | rem working/variant-no.lst
95 }
96
97 cat r/alt12dicts/variant-maybe.lst \
98   | expand 0.9                     \
99   | rem r/varcon/w_variant-amer.lst  \
100   | rem r/varcon/nonvariant-amer.lst \
101   > working/variant-maybe.lst
102
103 cat r/alt12dicts/variant-yes.lst \
104   | expand 1.9                   \
105   | rem r/varcon/w_variant-amer.lst  \
106   | rem r/varcon/nonvariant-amer.lst \
107   > working/variant-yes.lst
108
109 cat r/alt12dicts/nonamer-maybe.lst    \
110   | expand 1.9                        \
111   | rem r/varcon/everything.lst       \
112   > working/variant-nonamer-maybe.lst 
113
114 cat r/alt12dicts/nonamer-yes.lst      \
115   | expand 1.9                        \
116   | rem r/varcon/everything.lst       \
117   > working/variant-nonamer-yes.lst
118
119 #
120 # Special rule for british and canadian list
121 #
122
123 cat r/varcon/british.lst r/varcon/british-v0.lst\
124   | sort -u > r/varcon/british+.lst
125
126 cat r/varcon/canadian.lst r/varcon/canadian-v0.lst\
127   | sort -u > r/varcon/canadian+.lst
128
129 cat r/varcon/australian.lst r/varcon/australian-v0.lst\
130   | sort -u > r/varcon/australian+.lst
131
132 #
133 # Create the initial variant lists
134 #
135
136 start \
137   | add working/variant-maybe.lst    \
138   | add r/varcon/american-v0.lst     \
139   | add r/varcon/american-v1.lst     \
140   | add r/varcon/other-v0.lst        \
141   | add r/varcon/other-v1.lst        \
142   | add r/varcon/variant-nonamer-v0-filtered.lst \
143   | add r/varcon/variant-nonamer-v1-filtered.lst \
144   | add r/special/variant_1          \
145   | rem r/special/never-variant      \
146   > working/variant_1-pre.lst
147
148 start \
149   | add working/variant-yes.lst      \
150   | add working/variant-nonamer-maybe.lst \
151   | add r/varcon/american-v2.lst     \
152   | add r/varcon/other-v2.lst        \
153   | add r/varcon/variant-nonamer-v2-filtered.lst \
154   | add r/special/variant_2          \
155   | rem working/variant_1-pre.lst    \
156   | rem r/special/never-variant      \
157   > working/variant_2-pre.lst
158
159 start \
160   | add working/variant-nonamer-yes.lst \
161   | add r/varcon/american-v3.lst     \
162   | add r/varcon/other-v3.lst        \
163   | add r/special/variant_3          \
164   | add r/varcon/variant-nonamer-v0.lst \
165   | add r/varcon/variant-nonamer-v1.lst \
166   | add r/varcon/variant-nonamer-v2.lst \
167   | add r/varcon/variant-nonamer-v3.lst \
168   | rem working/variant_2-pre.lst    \
169   | rem working/variant_1-pre.lst    \
170   | rem r/special/never-variant      \
171   > working/variant_3-pre.lst
172
173 #
174 # Generate special never-variant list
175 #
176
177 start \
178   | add working/variant_1-pre.lst \
179   | egrep "wards?$"               \
180   | add r/special/never-variant   \
181   > working/never-variant.lst
182
183 #
184 # Now take into account variant info from AGID
185 # and also special never-veriant list 
186 #
187
188 start \
189   | add r/infl/variant_0.lst         \
190   | rem working/variant_3-pre.lst | rem working/variant_2-pre.lst    \
191   | add working/variant_1-pre.lst    \
192   | rem working/never-variant.lst \
193   > working/variant_1.lst
194
195 start \
196   | add r/infl/variant_1.lst         \
197   | rem working/variant_3-pre.lst    \
198   | add working/variant_2-pre.lst    \
199   | add r/infl/variant_0.lst         \
200   | rem working/variant_1.lst        \
201   | rem working/never-variant.lst \
202   > working/variant_2.lst
203
204 start \
205   | add r/infl/variant_2.lst         \
206   | add working/variant_3-pre.lst    \
207   | add r/infl/variant_1.lst  | add r/infl/variant_0.lst         \
208   | rem working/variant_2.lst | rem working/variant_1.lst        \
209   | rem working/never-variant.lst \
210   > working/variant_3.lst
211
212 #
213 # Make brit. and can. variant lists
214
215
216 start \
217   | add working/variant_1.lst\
218   | rem r/varcon/all-amer.lst\
219   | add r/varcon/british-v0.lst\
220   | add r/varcon/british-v1.lst\
221   | add r/varcon/british_z-v0.lst\
222   | add r/varcon/british_z-v1.lst\
223   | rem r/varcon/british-common.lst\
224   > working/british_variant_1.lst
225
226 start \
227   | add working/variant_2.lst\
228   | rem r/varcon/all-amer.lst\
229   | add r/varcon/british-v2.lst\
230   | add r/varcon/british_z-v2.lst\
231   | rem working/british_variant_1.lst\
232   | rem r/varcon/british-common.lst\
233   > working/british_variant_2.lst
234
235 start \
236   | add working/variant_1.lst\
237   | rem r/varcon/all-amer.lst\
238   | add r/varcon/canadian-v0.lst\
239   | add r/varcon/canadian-v1.lst\
240   | rem r/varcon/canadian.lst\
241   > working/canadian_variant_1.lst
242
243 start \
244   | add working/variant_2.lst\
245   | rem r/varcon/all-amer.lst\
246   | add r/varcon/canadian-v2.lst\
247   | rem working/canadian_variant_1.lst\
248   | rem r/varcon/canadian.lst\
249   > working/canadian_variant_2.lst
250
251 start \
252   | add working/variant_1.lst\
253   | rem r/varcon/all-amer.lst\
254   | add r/varcon/australian-v0.lst\
255   | add r/varcon/australian-v1.lst\
256   | rem r/varcon/australian.lst\
257   > working/australian_variant_1.lst
258
259 start \
260   | add working/variant_2.lst\
261   | rem r/varcon/all-amer.lst\
262   | add r/varcon/australian-v2.lst\
263   | rem working/australian_variant_1.lst\
264   | rem r/varcon/australian.lst\
265   > working/australian_variant_2.lst
266
267 #
268 # Now fix up american/british/canadian lists to make sure we don't
269 # leave anything out
270
271
272 cat working/variant_{1,2,3}.lst \
273     working/{british,canadian,australian}_variant_{1,2}.lst \
274     r/varcon/{american,british+,british_z,canadian+,australian+}.lst \
275   | sort -u > working/variant-somewhere.lst
276
277 comm -12 working/never-variant.lst working/variant-somewhere.lst \
278   | add r/varcon/american.lst \
279   > working/american.lst
280
281 # nothing to do for other lists, yet
282
283 cp r/varcon/british+.lst working/british.lst
284
285 cp r/varcon/british_z.lst working/british_z.lst
286
287 cp r/varcon/canadian+.lst working/canadian.lst
288
289 cp r/varcon/australian+.lst working/australian.lst