#!/bin/sh -
# recursive search for fonts added by Jerrad Pierce <belg4mit@mit.edu> 10/3/97
# showfigfonts by Glenn Chappell <ggc@uiuc.edu>
# figlet release 2.1.1 -- 25 Aug 1994
# Based on showfigfonts by Greg Galperin <grg@ai.mit.edu>, Nov 1993.
#
# Prints a list of available figlet fonts, along with a sample of each
# font.  If directory is given, lists fonts in that directory; otherwise
# uses the default font directory.  If word is given, prints that word
# in each font; otherwise prints the font name.
#
# Usage: showfigfonts [ -d directory ] [ word ]

# Set up PATH so figlet can be found
DIRSAVE=`pwd`
cd `dirname "$0"`
PATH="$PATH":`pwd`
cd "$DIRSAVE"

# Get figlet version
FIGLETVERSION=`figlet -I1 2>/dev/null`
if [ -z "$FIGLETVERSION" ]; then
  FIGLETVERSION=20000
fi

USAGE="Usage: `basename $0` [ -d directory ] [ word ]"

if [ "$1" = '-d' ]; then
  FONTDIR="$2"
  WORD="$3"
  if [ $# -gt 3 ] || [ $# -lt 2 ]; then
    echo "$USAGE"
    exit 1
  fi
else
  WORD="$1"
  if [ $# -gt 1 ]; then
    echo "$USAGE"
    exit 1
  fi
  if [ "$FIGLETVERSION" -lt 20100 ]; then
    # figlet 2.0
    FONTDIR="`figlet -F | sed -e '1d' -e '3,$d' -e 's/Font directory: //'`"
  else
    # figlet 2.1 or later
    FONTDIR="`figlet -I2`"
  fi
fi
FONTDIRS=`find $FONTDIR -type d -print`
for FONTLOC in $FONTDIRS; do
	if [ "$FONTLOC" = "$FONTDIR" ]; then
		echo "Fonts available without specification of path"
	else
#else display fonts available in $FONTLOC or `echo $FONTLOC | sed '/$FONTDIR//'`
		echo "Fonts available in: $FONTLOC"
		example=`echo $FONTLOC | sed s:$FONTDIR/\*::`
		echo "eg;	-f $example/[fontname]"
	fi
	echo "" ; echo ""
	cd "$FONTLOC"
	FONTLIST=`ls *.flf | sed s/\.flf$//`
	cd $DIRSAVE
	for F in $FONTLIST ; do
	  echo "$F" :
	  if [ -n "$WORD" ]; then
	    echo "$WORD" | figlet -d "$FONTLOC" -f "$F"
	  else
	    echo "$F" | figlet -d "$FONTLOC" -f "$F"
	  fi
	  echo "" ; echo ""
	done
done
