#!/bin/bash
#@DOC@ Generate character set for wand
#
# Copyright (C) 2006 Nathan (Acorn) Pooley
#
# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License
# version 2 as published by the Free Software Foundation.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License (gpl.txt) for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
#
# You can contact the author, Nathan (Acorn) Pooley, by writing
# to Nathan (Acorn) Pooley, 949 Buckeye Drive, Sunnyvale, CA 94086, USA
# or through the form at http://www.rawbw.com/~acorn/wand/feedback.html
#
_bp_a() {
echo " # "
echo " # # "
echo "# #"
echo "#####"
echo "# #"
}
_bp_b() {
echo "#### "
echo "# #"
echo "#### "
echo "# #"
echo "#### "
}
_bp_c() {
echo " ### "
echo "# #"
echo "# "
echo "# #"
echo " ### "
}
_bp_d() {
echo "#### "
echo "# #"
echo "# #"
echo "# #"
echo "#### "
}
_bp_e() {
echo "#####"
echo "# "
echo "#### "
echo "# "
echo "#####"
}
_bp_f() {
echo "#####"
echo "# "
echo "#### "
echo "# "
echo "# "
}
_bp_g() {
echo " ####"
echo "# "
echo "# ###"
echo "# #"
echo " ####"
}
_bp_h() {
echo "# #"
echo "# #"
echo "#####"
echo "# #"
echo "# #"
}
_bp_i() {
echo " ### "
echo " # "
echo " # "
echo " # "
echo " ### "
}
_bp_j() {
echo "#####"
echo " # "
echo " # "
echo "# # "
echo " # "
}
_bp_k() {
echo "# #"
echo "# # "
echo "### "
echo "# # "
echo "# #"
}
_bp_l() {
echo "# "
echo "# "
echo "# "
echo "# "
echo "#####"
}
_bp_m() {
echo "# #"
echo "## ##"
echo "# # #"
echo "# #"
echo "# #"
}
_bp_n() {
echo "# #"
echo "## #"
echo "# # #"
echo "# ##"
echo "# #"
}
_bp_o() {
echo " ### "
echo "# #"
echo "# #"
echo "# #"
echo " ### "
}
_bp_p() {
echo "#### "
echo "# #"
echo "#### "
echo "# "
echo "# "
}
_bp_q() {
echo " ## "
echo "# # "
echo "# # "
echo "# ## "
echo " ## #"
}
_bp_r() {
echo "#### "
echo "# #"
echo "#### "
echo "# # "
echo "# #"
}
_bp_s() {
echo " ####"
echo "# "
echo " ### "
echo " #"
echo "#### "
}
_bp_t() {
echo "#####"
echo " # "
echo " # "
echo " # "
echo " # "
}
_bp_u() {
echo "# #"
echo "# #"
echo "# #"
echo "# #"
echo " ### "
}
_bp_v() {
echo "# #"
echo "# #"
echo " # # "
echo " # # "
echo " # "
}
_bp_w() {
echo "# # #"
echo "# # #"
echo "# # #"
echo " # # "
echo " # # "
}
_bp_x() {
echo "# #"
echo " # # "
echo " # "
echo " # # "
echo "# #"
}
_bp_y() {
echo "# #"
echo " # # "
echo " # "
echo " # "
echo " # "
}
_bp_z() {
echo "#####"
echo " # "
echo " # "
echo " # "
echo "#####"
}
_bp_0() {
echo " ### "
echo "# ##"
echo "# # #"
echo "## #"
echo " ### "
}
_bp_1() {
echo " # "
echo " ## "
echo " # "
echo " # "
echo " ### "
}
_bp_2() {
echo " ### "
echo "# #"
echo " # "
echo " # "
echo "#####"
}
_bp_3() {
echo "#### "
echo " #"
echo " ### "
echo " #"
echo "#### "
}
_bp_4() {
echo " # "
echo " ## "
echo " # # "
echo "#####"
echo " # "
}
_bp_5() {
echo "#####"
echo "# "
echo "#### "
echo " #"
echo "#### "
}
_bp_6() {
echo " ### "
echo "# "
echo "#### "
echo "# #"
echo " ### "
}
_bp_7() {
echo "#####"
echo " # "
echo " # "
echo " # "
echo "# "
}
_bp_8() {
echo " ### "
echo "# #"
echo " ### "
echo "# #"
echo " ### "
}
_bp_9() {
echo " ### "
echo "# #"
echo " ####"
echo " #"
echo " ### "
}
_bp_space() {
echo " "
echo " "
echo " "
echo " "
echo " "
}
_bp_exclamation() {
echo " # "
echo " # "
echo " # "
echo " "
echo " # "
}
_bp_question() {
echo " ### "
echo "# #"
echo " # "
echo " "
echo " # "
}
_bp_sqopen() {
echo " ####"
echo " # "
echo " # "
echo " # "
echo " ####"
}
_bp_sqclose() {
echo "#### "
echo " # "
echo " # "
echo " # "
echo "#### "
}
_bp_period() {
echo " "
echo " "
echo " "
echo " "
echo " # "
}
_bp_comma() {
echo " "
echo " "
echo " "
echo " # "
echo " # "
}
_bp_colon() {
echo " "
echo " # "
echo " "
echo " # "
echo " "
}
_bp_semicolon() {
echo " # "
echo " # "
echo " "
echo " # "
echo " # "
}
_bp_apostrophe() {
echo " # "
echo " # "
echo " "
echo " "
echo " "
}
_bp_at() {
echo " ### "
echo "# ##"
echo "# # #"
echo "# # "
echo " ### "
}
_bp_plus() {
echo " # "
echo " # "
echo "#####"
echo " # "
echo " # "
}
_bp_dash() {
echo " "
echo " "
echo "#####"
echo " "
echo " "
}
_bp_slash() {
echo " #"
echo " # "
echo " # "
echo " # "
echo "# "
}
_bp_bslash() {
echo "# "
echo " # "
echo " # "
echo " # "
echo " #"
}
_bp_up() {
echo " # "
echo " ### "
echo "# # #"
echo " # "
echo " # "
}
_bp_down() {
echo " # "
echo " # "
echo "# # #"
echo " ### "
echo " # "
}
_bp_left() {
echo " # "
echo " # "
echo "#####"
echo " # "
echo " # "
}
_bp_right() {
echo " # "
echo " # "
echo "#####"
echo " # "
echo " # "
}
_bp_equals() {
echo " "
echo "#####"
echo " "
echo "#####"
echo " "
}
_bp_under() {
echo " "
echo " "
echo " "
echo " "
echo "#####"
}
_bp_carat() {
echo " # "
echo " # # "
echo "# #"
echo " "
echo " "
}
_bp_tilde() {
echo " # "
echo "# # #"
echo " # "
echo " "
echo " "
}
_bp_list() {
typeset list
#
# these are in ascii order except:
# characters are missing between exclamation and plus
# semicolon is replaced with apostrophe
#
list="space exclamation"
list="$list plus comma dash period slash"
list="$list 0 1 2 3 4 5 6 7 8 9"
list="$list colon apostrophe left equals right question at"
list="$list 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"
list="$list tilde bslash down carat under"
echo $list
}
_bp_all() {
typeset cmd
for i in `_bp_list`
do
echo ""
echo "$i:"
cmd="_bp_$i"
$cmd | sed -e 's| |-|g'
done
}
_bp_one_rot_sub() {
typeset cmd="_bp_$1"
typeset pat
pat[0]='^\(.\).*'
pat[1]='^.\(.\).*'
pat[2]='^..\(.\).*'
pat[3]='^...\(.\).*'
pat[4]='^....\(.\).*'
for i in "${pat[@]}"
do
echo -n `$cmd | sed -e 's| |-|g' -e "s|$i|\1|"`
echo ""
done
}
_bp_one_rot() {
_bp_one_rot_sub "$1" | sed -e 's| ||g'
}
_bp_all_rot() {
typeset cmd
for i in `_bp_list`
do
echo ""
echo "$i:"
_bp_one_rot "$i" | sed -e 's| |-|g'
done
}
_bp_byte() {
typeset v=`sed \
-e 's|#|0|g' \
-e 's|-|1|g' \
-e 's|^\(.\)\(.\)\(.\)\(.\)\(.\)$|(\1<<3)+(\2<<4)+(\3<<5)+(\4<<6)+(\5<<7)|'`
typeset v2
typeset va="(( v2 = ( $v ) '|' 7 ))"
eval "$va"
printf "0x%02x\n" $v2
}
_bp_to_byte() {
typeset c="$1"
typeset line="$2"
echo -n "`_bp_one_rot "$c" | head -$line | tail -1 | _bp_byte | \
sed -e 's|0x\(.\)$|0x0\1|'`"
}
_bp_all_rot_byte() {
typeset cmd
typeset cnt=0
typeset prev=""
for i in `_bp_list`
do
if (( cnt & 1 )) ; then
echo -n " `_bp_to_byte $i 1`,"
echo -n " `_bp_to_byte $i 2`,"
echo -n " `_bp_to_byte $i 3`,"
echo -n " `_bp_to_byte $i 4`,"
echo -n " `_bp_to_byte $i 5`"
echo ""
echo "w_char_$i equ w_char_$prev+5"
else
echo "w_char_$i:"
echo -n " db "
echo -n " `_bp_to_byte $i 1`,"
echo -n " `_bp_to_byte $i 2`,"
echo -n " `_bp_to_byte $i 3`,"
echo -n " `_bp_to_byte $i 4`,"
echo -n " `_bp_to_byte $i 5`,"
prev="$i"
fi
(( cnt = cnt + 1 ))
done
if (( cnt & 1 )) ; then
echo " 0x00"
fi
}
_bp_all_rot_byte
|
This file Copyright (C) 2006 by Nathan (Acorn) Pooley
Go to TOP Wand page
Go to Acorn's personal webpage
Go to Hogwarts website: www.gotohogwarts.com
Snout: www.snout.org/game
Gadgets of Justice Unlimited
Snout GC (Wiki)
Snout Wiki
File created by do_doc at Wed May 30 03:23:58 PDT 2007