2 # $Id: gen-cp,v 1.13 2005/03/05 22:08:22 zas Exp $
5 echo Generating code page translation tables.
7 codepages
=`cat index.txt`
9 if [ -n "$codepages" ]; then
15 echo '/* Automatically generated by gen-cp */'
16 echo '/* DO NOT EDIT THIS FILE! EDIT Unicode/<whatever> INSTEAD! */'
19 for i
in $codepages; do
27 echo 'struct table_entry table_'$i' [] = {'
29 # TODO: Comments inside of the structure are ugliness in a pure clean
30 # form, and my aesthetical feeling shivers upon glancing at it. However
31 # we should handle commentless records. A loop with read inside would
32 # be ideal, I suppose. --pasky
33 tail -n +3 $i.
cp |
sed 's/# *\(.*\) *$/\/* \1 *\/ /' |
grep '^0x[89a-zA-Z]' \
34 |
sed 's/[ ][ ]*/ /g' |
sed 's/[ ]*$/ },/' |
sed 's/ /, /' \
35 |
sed 's/^[ ]*/ {/' |
grep '.*,.*,'
41 echo 'unsigned char *aliases_'$i' [] = {'
42 head -n 2 $i.
cp |
tail -n +2 |
sed 's/ \+/ /g; s/ $//; s/\", /\",£/g; s/$/,/' |
tr "£" "\n" \
43 |
sed 's/^/£/g' |
tr "£" "\t"
50 echo 'struct codepage_desc codepages [] = {'
52 for i
in $codepages; do
53 echo ' {"'`head -n 1 $i.cp`'", aliases_'$i', table_'$i'},'
56 echo ' {NULL, NULL, NULL}'
60 echo '#define N_CODEPAGES '$n |
sed 's/
//g'
62 ) |
sed 's/
//g' > ..
/src
/intl
/codepage.inc