#!/bin/bash
#===============================================================================
#
# ASCII Art Banner
#
# _|_| | |
# _ \ (_-< _| | | _ \ _\_ _| _ \ _ \ . \ . \ __\ _\
# \__,_\___/\__|_|_| \__,_\_| _| \___/\__,_\_| _|_| _|\___/_|
#
#
# FILE: ascii-art-banner.sh
#
# USAGE: ./ascii-art-banner.sh "some string to print"
#
# DESCRIPTION: Prints a cool looking ASCII art version of the string
#
# OPTIONS: ---
# REQUIREMENTS: ---
# BUGS: ---
# NOTES: ---
# AUTHOR: John Ryland (jryland@invertedlogic.com)
# COMPANY: InvertedLogic
# VERSION: 1.0
# CREATED: 09/07/09 03:19:58 CST
# REVISION: ---
#
# COPYRIGHT: Copyright 2009, InvertedLogic, All rights reserved.
#
#===============================================================================
function get-line {
head -n $1 << EOF | tail -n 1
_ \
\__,_\\
|
_ \\
\___/
_|
\__|
|
_ |
\___|
__\\
\___/
,_)
_ _|
_|
_ \\
\_ /
___)
|
_ \\
_| _|
_|
|
_|
_|
|
/
_/
|
/
_| _\\
|
|
_|
\ \\
_|_|_|
. \\
_| _|
_ \\
\___/
_ \\
__/
_|
_ \\
\__ |
_\\
_\\
_|
(_-<
___/
|
_ _|
_|
| |
\___/
/ /
\__/
, /
_/ _/
\ /
_/ _\\
| |
\_ /
___/
_ |
/
___|
EOF
}
function get-int-from-alpha {
case $1 in
"a") echo 0 ;;
"b") echo 4 ;;
"c") echo 8 ;;
"d") echo 12 ;;
"e") echo 16 ;;
"f") echo 20 ;;
"g") echo 24 ;;
"h") echo 28 ;;
"i") echo 32 ;;
"j") echo 36 ;;
"k") echo 40 ;;
"l") echo 44 ;;
"m") echo 48 ;;
"n") echo 52 ;;
"o") echo 56 ;;
"p") echo 60 ;;
"q") echo 64 ;;
"r") echo 68 ;;
"s") echo 72 ;;
"t") echo 76 ;;
"u") echo 80 ;;
"v") echo 84 ;;
"w") echo 88 ;;
"x") echo 92 ;;
"y") echo 98 ;;
"z") echo 102 ;;
"") echo 104 ;;
esac
}
function get-int-from-alpha-2 {
if [ "$1" == "" ]
then
echo 27
else
LETTERS='a b c d e f g h i j k l m n o p q r s t u v w x y z'
echo $LETTERS | tr ' ' '\n' | grep -i -n $1 | cut -d ':' -f 1
fi
}
function print-letter {
line=`get-int-from-alpha $1`
get-line `expr $line + 1`
get-line `expr $line + 2`
get-line `expr $line + 3`
get-line `expr $line + 4`
}
function print-string-horz {
str=$1
items="1 2 3 4"
for l in $items
do
for (( i=0 ; i != ${#str} ; i=`expr $i + 1` ))
do
letter=`echo ${str:$i:1} | tr [A-Z] [a-z]`
letterIndex=`get-int-from-alpha $letter`
line=$(expr $letterIndex + $l)
get-line $line | tr -d '\n'
done
echo
done
}
print-string-horz "$@"
function print-string-vert {
for (( i=0 ; i != ${#1} ; i=`expr $i + 1` ))
do
# echo "letter at $i is ${1:$i:1}"
print-letter ${1:$i:1}
done
}
# print-string-vert "$@"