Blame


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