#!/usr/bin/env bash

# Validate a font file with FontForge.

if ! type fontforge &> /dev/null; then echo "ERROR: Missing dependency: fontforge" 1>&2; exit 1; fi

name=$1
basename=$(basename "$name" .sfdir)

echo -e "\e[1;37mValidating ${basename}... \e[0m"

output=$(fontforge --quiet -lang=py -script - "$name" <<EOF
import fontforge;
import sys;

font = fontforge.open(sys.argv[1]);

bitmask = font.validate();
if bitmask != 0:
  exit(42);
EOF
)
error=$?

if [ "x$error" != "x0" ]; then
  echo -e "\e[1;31mError in ${basename}.\e[0m"
  if [ "x$error" = "x42" ]; then
    echo "Font ${basename}.sfd is not valid"
  fi
fi

exit 0
exit $error