- @$(AWK) '/^[0-9A-F]/ { print "0x"$$1, $$3; }' $< | \
- sed -e 's/\.\./-0x/' | \
- tr '[:upper:]' '[:lower:]' >> $@
+ @$(AWK) -f SCRIPT.awk UNIDATA/Scripts.txt >> $@
+
+CASED.tab: UNIDATA/UnicodeData.txt UNIDATA/PropList.txt UNIDATA/WordBreakProperty.txt CASED.awk
+ echo "# Generated from UNIDATA/UnicodeData.txt, UNIDATA/PropList.txt, and UNIDATA/WordBreakProperty.txt." > $@
+ @$(AWK) -f CASED.awk UNIDATA/UnicodeData.txt UNIDATA/PropList.txt UNIDATA/WordBreakProperty.txt >> $@
+
+SOFT-DOTTED.tab: UNIDATA/PropList.txt Makefile
+ echo "# Generated from $<." > $@
+ @$(AWK) '/^[^#;]+; *Soft_Dotted/ { \
+ if (index ($$1, ".")) { \
+ split ($$1, A, "\\.\\."); \
+ print "0x"A[1]"-0x"A[2]" t"; } \
+ else print "0x"$$1" t"; }' \
+ $< >> $@
+
+CASE-MAPPING.tab: UNIDATA/SpecialCasing.txt UNIDATA/UnicodeData.txt CASE-MAPPING.awk
+ echo "# Generated from UNIDATA/SpecialCasing.txt and UNIDATA/UnicodeData.txt." > $@
+ @$(AWK) -f CASE-MAPPING.awk UNIDATA/SpecialCasing.txt UNIDATA/UnicodeData.txt >> $@
+
+LINEBREAK.tab: UNIDATA/LineBreak.txt LINEBREAK.awk
+ echo "# Generated from $<." > $@
+ @$(AWK) -f LINEBREAK.awk $< >> $@