GcinScripts01: gcin2pho

File gcin2pho, 2.2 kB (added by anonymous, 5 years ago)
Line 
1 #! /bin/bash
2 #
3 # This script is public domain.
4 #
5 # gcin2pho
6
7   VERSION=0.0.1
8
9   OUTPUT_FILE=pho.tab.src
10
11   if [ "$1" = "" ]; then
12     echo ${0##*/}, version $VERSION
13     echo "Usage: ${0##*/} file"
14     exit 1
15   fi
16
17   if [ ! -f $1 ]; then
18     echo ${0##*/}: $1: No such file.
19     exit 2
20   fi
21
22   echo Generating $OUTPUT_FILE.
23
24   echo 1 ˙ > $OUTPUT_FILE
25   echo 2 ˊ >> $OUTPUT_FILE
26   echo 3 ˇ >> $OUTPUT_FILE
27   echo 4 ˋ >> $OUTPUT_FILE
28
29   csplit $1 ` cat -b $1    | \
30               grep chardef | \
31               grep -v \##  | \
32               head -n 1    | \
33               cut -f1      | \
34               tr -d ' '        ` > /dev/null
35
36   grep -v % xx01      | \
37   grep -v ˙          | \
38   grep -v ˊ          | \
39   grep -v ˇ          | \
40   grep -v ˋ          | \
41   grep -v linux       | \
42   tr A-Z a-z          | \
43   sed -e 's/1/ㄅ/g'     \
44       -e 's/q/ㄆ/g'     \
45       -e 's/a/ㄇ/g'     \
46       -e 's/z/ㄈ/g'     \
47       -e 's/2/ㄉ/g'     \
48       -e 's/w/ㄊ/g'     \
49       -e 's/s/ㄋ/g'     \
50       -e 's/x/ㄌ/g'     \
51       -e 's/e/ㄍ/g'     \
52       -e 's/d/ㄎ/g'     \
53       -e 's/c/ㄏ/g'     \
54       -e 's/r/ㄐ/g'     \
55       -e 's/f/ㄑ/g'     \
56       -e 's/v/ㄒ/g'     \
57       -e 's/5/ㄓ/g'     \
58       -e 's/t/ㄔ/g'     \
59       -e 's/g/ㄕ/g'     \
60       -e 's/b/ㄖ/g'     \
61       -e 's/y/ㄗ/g'     \
62       -e 's/h/ㄘ/g'     \
63       -e 's/n/ㄙ/g'     \
64       -e 's/u/ㄧ/g'     \
65       -e 's/j/ㄨ/g'     \
66       -e 's/m/ㄩ/g'     \
67       -e 's/8/ㄚ/g'     \
68       -e 's/i/ㄛ/g'     \
69       -e 's/k/ㄜ/g'     \
70       -e 's/,/ㄝ/g'     \
71       -e 's/9/ㄞ/g'     \
72       -e 's/o/ㄟ/g'     \
73       -e 's/l/ㄠ/g'     \
74       -e 's/\./ㄡ/g'    \
75       -e 's/0/ㄢ/g'     \
76       -e 's/p/ㄣ/g'     \
77       -e 's/;/ㄤ/g'     \
78       -e 's/\//ㄥ/g'    \
79       -e 's/-/ㄦ/g'     \
80       -e 's/6/2/g'      \
81       -e 's/7/1/g'      \
82       -e 's/    / /g' | \
83   tr -s ' ' ' '       | \
84   perl -nle '(print,$hash{$_}=1) unless defined $hash{$_}' >> $OUTPUT_FILE
85
86   rm xx00 xx01
87
88   export GCIN_NO_RELOAD=
89
90   phoa2d $OUTPUT_FILE
91
92   PHOTABFILE=`basename $OUTPUT_FILE .src`
93
94   if [ -f $PHOTABFILE ]; then
95     echo Generating $PHOTABFILE. Done.
96   else
97     echo Failed to generate $PHOTABFILE.
98     exit 3
99   fi