Hogwarts Wand Docs: ../sw/wchars.sh

File: ../sw/wchars.sh

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