1*3e5d0078SDavid du Colombier#!/bin/rc 2*3e5d0078SDavid du Colombier 3*3e5d0078SDavid du Colombierfn unhex { 4*3e5d0078SDavid du Colombier tr ' ' ' ' | sed 's/0x//g;s/[, ]//g;s/../0x&, /g;s/^/ /' 5*3e5d0078SDavid du Colombier} 6*3e5d0078SDavid du Colombier 7*3e5d0078SDavid du Colombierif(! ~ $#* 1) { 8*3e5d0078SDavid du Colombier echo 'usage: mkface who' >[1=2] 9*3e5d0078SDavid du Colombier exit usage 10*3e5d0078SDavid du Colombier} 11*3e5d0078SDavid du Colombier 12*3e5d0078SDavid du Colombierwho=$1 13*3e5d0078SDavid du Colombierx='^astro/'^$who^' ' 14*3e5d0078SDavid du Colombierz='^([^ ]+)/'^$who^' ' 15*3e5d0078SDavid du Colombier 16*3e5d0078SDavid du Colombierfile=notfound 17*3e5d0078SDavid du Colombierfor(i in 1 2 4 8) 18*3e5d0078SDavid du Colombier if(y=`{grep $x /lib/face/48x48x$i/.dict} || y=`{grep $z /lib/face/48x48x$i/.dict}) 19*3e5d0078SDavid du Colombier file=/lib/face/48x48x$i/$y(2) 20*3e5d0078SDavid du Colombier 21*3e5d0078SDavid du Colombierif(~ $file notfound) { 22*3e5d0078SDavid du Colombier echo 'cannot find face for '$who >[1=2] 23*3e5d0078SDavid du Colombier exit noface 24*3e5d0078SDavid du Colombier} 25*3e5d0078SDavid du Colombier 26*3e5d0078SDavid du Colombier{ 27*3e5d0078SDavid du Colombier echo 'uchar '$who'bits[] = {' 28*3e5d0078SDavid du Colombier switch($file) { 29*3e5d0078SDavid du Colombier case *48x48x8* *48x48x4* 30*3e5d0078SDavid du Colombier fb/enc2bit $file | dd -bs 60 -skip 1 >[2]/dev/null | xd | 31*3e5d0078SDavid du Colombier sed 's#^.......##' | unhex 32*3e5d0078SDavid du Colombier case *48x48x2* *48x48x1* 33*3e5d0078SDavid du Colombier cat $file | unhex 34*3e5d0078SDavid du Colombier } 35*3e5d0078SDavid du Colombier echo '};' 36*3e5d0078SDavid du Colombier} >$who.bits 37*3e5d0078SDavid du Colombier 38