Blame


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