diff options
-rwxr-xr-x | ext/mbstring/libmbfl/filters/mk_sb_tbl.awk | 42 |
1 files changed, 42 insertions, 0 deletions
diff --git a/ext/mbstring/libmbfl/filters/mk_sb_tbl.awk b/ext/mbstring/libmbfl/filters/mk_sb_tbl.awk new file mode 100755 index 0000000000..ae090b5aa5 --- /dev/null +++ b/ext/mbstring/libmbfl/filters/mk_sb_tbl.awk @@ -0,0 +1,42 @@ +#!/usr/bin/awk -f +# +# $Id$ +# +# Description: a script that generates a single byte code set to Unicode +# mapping table. +# +BEGIN { + FS="[ \t#]" +} + +/^#/ { + # Do nothing +} + +{ + tbl[$1 + 0] = $2 +} + +END { + print "/* This file is automatically generated. Do not edit! */" + if (IFNDEF_NAME) { + print "#ifndef " IFNDEF_NAME + } + + print "static const unsigned int " TABLE_NAME "[] = {" + i = 160; + for (;;) { + printf("\t0x%04x, 0x%04x, 0x%04x, 0x%04x, 0x%04x, 0x%04x, 0x%04x, 0x%04x", tbl[i++], tbl[i++], tbl[i++], tbl[i++], tbl[i++], tbl[i++], tbl[i++], tbl[i++]); + if (i != 256) { + printf(",\n"); + } else { + print + break; + } + } + print "};" + + if (IFNDEF_NAME) { + print "#endif /* " IFNDEF_NAME " */" + } +} |