applied suggested patch (mailed to perl-unicode@perl.org) with minor tweaks
[p5sagit/p5-mst-13.2.git] / lib / unicode / MakeEthiopicSyllables.PL
1 #!../../miniperl
2
3 #
4 # We use the "two rows of 8" perspective to map the syllables onto the
5 # expected forms as per the various asundry Ethiopic locales...
6 #
7 open (GEEZ, ">Is/Y0.pl");
8 open (KAIB, ">Is/Y1.pl");
9 open (SALS, ">Is/Y2.pl");
10 open (RABI, ">Is/Y3.pl");
11 open (HAMS, ">Is/Y4.pl");
12 open (SADS, ">Is/Y5.pl");
13 open (SABI, ">Is/Y6.pl");
14
15 open (DIQALA_GEEZ, ">Is/Y8.pl");
16 open (DIQALA_SALS, ">Is/Y10.pl");
17 open (DIQALA_RABI, ">Is/Y11.pl");  # which is sometimes just DIQALA
18 open (DIQALA_HAMS, ">Is/Y12.pl");
19 open (DIQALA_SADS, ">Is/Y13.pl");  # though people outside of unicode.org 
20                                    #  might say DIQALA_KAIB...
21
22 @fh = qw(
23           GEEZ KAIB SALS RABI HAMS SADS SABI empty
24           DIQALA_GEEZ empty DIQALA_SALS DIQALA_RABI DIQALA_HAMS DIQALA_SADS
25         );
26
27
28 for $form (0..$#fh) {
29         $FILE = $fh[$form];
30         print $FILE "return <<'END'\n" if ($FILE ne "none");
31 }
32
33
34 open (ETHIOPIC, "EthiopicSyllables.txt");
35 while (<ETHIOPIC>) {
36         ($uni, $form) = split (/\s+/ );
37         $FILE = $fh[$form];
38         print $FILE "$uni\n";
39 }
40 close (ETHIOPIC);
41
42
43 for $form (0..$#fh) {
44         $FILE = $fh[$form];
45         print $FILE "END\n" if ($FILE ne "none");
46 }
47
48 close (GEEZ);
49 close (KAIB);
50 close (SALS);
51 close (RABI);
52 close (HAMS);
53 close (SADS);
54 close (SABI);
55
56 close (DIQALA_GEEZ);
57 close (DIQALA_SALS);
58 close (DIQALA_RABI);
59 close (DIQALA_HAMS);
60 close (DIQALA_SADS);
61
62 symlink ( "Is/Y11.pl", "Is/Y7.pl" );
63 symlink ( "Is/Y13.pl", "Is/Y9.pl" );