ttdiff.sh 1.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  1. #!/bin/bash
  2. # Copyright 2018 Source Foundry Authors
  3. # MIT License
  4. # compare fonts with ttx
  5. ttdiff () {
  6. if [ "$#" -lt 2 ]
  7. then
  8. echo "Usage: ttdiff FONT1.ttf FONT2.ttf [tables ...]"
  9. return 1
  10. fi
  11. first="$1"
  12. if [ ! -f "$first" ]; then
  13. echo "File $first not found"
  14. return 1
  15. fi
  16. second="$2"
  17. if [ ! -f "$second" ]; then
  18. echo "File $second not found"
  19. return 1
  20. fi
  21. tables=""
  22. for i in ${@:3}
  23. do
  24. if [ ! -z "$i" ]
  25. then
  26. table="-t "
  27. if [ ${#i} -eq 3 ]; then
  28. # add trailing space to pad tag to four chars
  29. table+="'"$i" '"
  30. else
  31. table+=$i
  32. fi
  33. tables+="$table "
  34. fi
  35. done
  36. cmd1="ttx -q -o - $tables \"$first\" 2>/dev/null"
  37. cmd2="ttx -q -o - $tables \"$second\" 2>/dev/null"
  38. echo $cmd1
  39. echo $cmd2
  40. # colorize output if colordiff is installed
  41. if `command -v colordiff >/dev/null 2>&1`; then
  42. diff -u <(eval $cmd1) <(eval $cmd2) | colordiff | less -R
  43. else
  44. diff -u <(eval $cmd1) <(eval $cmd2) | less -R
  45. fi
  46. }
  47. ttdiff "$@"