summaryrefslogtreecommitdiff
path: root/Meta/check-emoji.sh
blob: 5d71c501c478f4062fb0134a324f8f699be802e6 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
#!/usr/bin/env bash

set -eo pipefail

script_path=$(cd -P -- "$(dirname -- "$0")" && pwd -P)
cd "${script_path}/.."

files=()
for file in Base/res/emoji/*.png; do
    files+=("${file}")
done

found_invalid_filenames=0
for fn in "${files[@]}"; do
    basename=$(basename "$fn" .png)
    if [[ $basename =~ [^A-Z0-9+_] ]] ; then
        echo "$fn contains invalid characters in its filename. Only uppercase letters, numbers, +, and _ should be used."
        found_invalid_filenames=1
    fi
    if [[ $basename == *U+0* ]] ; then
        echo "$fn contains codepoint(s) with leading zeros. Leading zeros should be removed from codepoint(s)."
        found_invalid_filenames=1
    fi
    if [[ $basename == *+U* ]] ; then
        echo "$fn is incorrectly named. _ should be used as a separator between codepoints, not +."
        found_invalid_filenames=1
    fi
    if [[ $basename == *_U+FE0F* ]] ; then
        echo "$fn should not include any emoji presentation selectors. U+FE0F codepoints should be removed from the filename."
        found_invalid_filenames=1
    fi
done

exit $found_invalid_filenames