#!/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