1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37
|
#!/bin/bash
# -*- sh -*-
# Takes on stdin a file formated like the official UnicodeData list;
# Writes on stdout a list of chars that don't get a fallback
if [ $# != 2 ]
then
echo >&2 "Usage: $(basename $0) FULL_PATTERN HOPEFULL_PATTERN"
echo >&2 " < /usr/share/unicode/UnicodeData.txt >out.nofallback"
exit 1
fi
FULL_PATTERN=$1
HOPEFULL_PATTERN=$2
FILE=/tmp/file.$$
cut -d\; -f1,2 >$FILE
cat << EOF
#
# List of characters matching:
# '${HOPEFULL_PATTERN}'
# that don't get a fallback using:
# FULL_PATTERN='${FULL_PATTERN}'
#
# Auto-generated by $(basename $0) from UnicodeData list
#
# ** DO NOT EDIT MANUALLY **
#
EOF
egrep < $FILE -f <(echo ";${HOPEFULL_PATTERN}") |
egrep -v -f <(echo ";${FULL_PATTERN}$")
rm $FILE
|