Blame


1 4cd67caa 2022-02-09 op #!/bin/sh
2 4cd67caa 2022-02-09 op
3 4cd67caa 2022-02-09 op file="${1:?missing input file}"
4 4cd67caa 2022-02-09 op
5 4cd67caa 2022-02-09 op sed -e '/^$/d' \
6 4cd67caa 2022-02-09 op -e '/^#/d' \
7 4cd67caa 2022-02-09 op -e 's/;.*//' \
8 4cd67caa 2022-02-09 op -e 's/[ \t]*$//' \
9 4cd67caa 2022-02-09 op -e 's/\.\./ /' \
10 4cd67caa 2022-02-09 op "$file" \
11 4cd67caa 2022-02-09 op | awk '
12 4cd67caa 2022-02-09 op BEGIN {
13 4cd67caa 2022-02-09 op print "#include \"utf8.h\""
14 4cd67caa 2022-02-09 op print "int is_emoji(uint32_t cp) {"
15 4cd67caa 2022-02-09 op
16 4cd67caa 2022-02-09 op e=""
17 4cd67caa 2022-02-09 op }
18 4cd67caa 2022-02-09 op
19 4cd67caa 2022-02-09 op {
20 4cd67caa 2022-02-09 op if (NF == 1) {
21 4cd67caa 2022-02-09 op printf("%sif (cp == 0x%s)", e, $1);
22 4cd67caa 2022-02-09 op } else {
23 4cd67caa 2022-02-09 op printf("%sif (cp >= 0x%s && cp <= 0x%s)", e, $1, $2);
24 4cd67caa 2022-02-09 op }
25 4cd67caa 2022-02-09 op
26 4cd67caa 2022-02-09 op print " return 1;"
27 4cd67caa 2022-02-09 op
28 4cd67caa 2022-02-09 op e="else "
29 4cd67caa 2022-02-09 op }
30 4cd67caa 2022-02-09 op
31 4cd67caa 2022-02-09 op END {
32 4cd67caa 2022-02-09 op print "return 0; }"
33 4cd67caa 2022-02-09 op }
34 4cd67caa 2022-02-09 op '