45738450b97e77da4c9514a43015e29b51610177
[alioth/magicpoint.git] / ctlwords.sh
1 #!/bin/sh
2 # Copyright © 2019
3 #       mirabilos <t.glaser@tarent.de>
4 # Copyright (C) 1997 and 1998 WIDE Project.  All rights reserved.
5 #
6 # Redistribution and use in source and binary forms, with or without
7 # modification, are permitted provided that the following conditions
8 # are met:
9 # 1. Redistributions of source code must retain the above copyright
10 #    notice, this list of conditions and the following disclaimer.
11 # 2. Redistributions in binary form must reproduce the above copyright
12 #    notice, this list of conditions and the following disclaimer in the
13 #    documentation and/or other materials provided with the distribution.
14 # 3. Neither the name of the project nor the names of its contributors
15 #    may be used to endorse or promote products derived from this software
16 #    without specific prior written permission.
17 #
18 # THIS SOFTWARE IS PROVIDED BY THE PROJECT AND CONTRIBUTORS “AS IS” AND
19 # ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
20 # IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
21 # ARE DISCLAIMED.  IN NO EVENT SHALL THE PROJECT OR CONTRIBUTORS BE LIABLE
22 # FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
23 # DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
24 # OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
25 # HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
26 # LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
27 # OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
28 # SUCH DAMAGE.
29
30 LC_ALL=C; LANGUAGE=C
31 export LC_ALL; unset LANGUAGE
32
33 allu=QWERTYUIOPASDFGHJKLZXCVBNM
34 alll=qwertyuiopasdfghjklzxcvbnm
35
36 upper() {
37         echo :"$@" | sed 's/^://' | tr $alll $allu
38 }
39
40 lfd=0
41 while read control ctype clabel; do
42         ctlup=`upper CTL_$control`
43         ctyup=`upper T_$ctype`
44         if test x"$clabel" = x""; then
45                 clabel=$control
46         elif test x"$clabel" = x"*"; then
47                 clabel='*'$control'*'
48         fi
49         clbsz=${#clabel}
50         cat >&4 <<EOF
51         { "$clabel", $clbsz, $ctlup, $ctyup },
52 EOF
53         cat >&5 <<EOF
54 #define $ctlup $lfd
55 EOF
56         cat >&6 <<EOF
57 "$control",
58 EOF
59         lfd=`expr $lfd + 1`
60 done 4>ctlwords.c 5>ctlwords.h 6>ctlwords.pl <<\EOF
61 noop            void
62 default         int
63 tab             sp
64 size            double
65 fore            long
66 back            long
67 left            void
68 leftfill        void
69 center          void
70 right           void
71 shrink          void
72 lcutin          void
73 rcutin          void
74 cont            void
75 nodef           void    nodefault
76 xfont           str
77 xfont2          str2
78 image           sp
79 bimage          sp
80 page            void
81 hgap            int
82 vgap            int
83 gap             int
84 pause           sp
85 psfont          str
86 prefix          str
87 prefixn         str     *
88 tabprefix       str     *
89 tabprefixn      str     *
90 prefixpos       void    *
91 again           void
92 ccolor          long
93 bar             sp
94 include         str
95 bgrad           sp
96 text            str     *
97 linestart       void    *
98 lineend         void    *
99 mark            void
100 system          sp
101 filter          sp
102 endfilter       void
103 quality         int     bquality
104 icon            sp
105 xsystem         sp
106 tsystem         sp
107 deffont         str
108 font            str
109 charset         str
110 pcache          sp
111 valign          sp
112 area            sp
113 opaque          int
114 sup             void
115 sub             void
116 setsup          int
117 title           str
118 EOF