ladybird/Meta/check-emoji.sh
Ryan Liptak 68ff0a7d13 Meta: Add check-emoji script to validate emoji filenames
Verifies that emoji filenames:
- Contain only uppercase letters, numbers, +, and _
- Use _ and a separator between codepoints, not +
- Do not include the U+FE0F emoji presentation specifier
2022-08-20 23:50:41 +01:00

30 lines
917 B
Bash
Executable file

#!/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* ]] ; 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