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