Blame


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