#! /usr/local/bin/rc

XENVIRONMENT=P9sftobdf.ad
nl='
'

fn mungefont {
	cat $2 | \
	awk '{if (NF>2) printf "%s\t%s\t%s%s\n",$1,$2,"'$1'",$3; else print $0 }' | \
	sed -e 's:[^ 	/]*/\.\./::g' -e 's:/:.:g' # that's [^ \t/]
}

fn addc {
	sed '/ENDPROPERTIES/i\
COPYRIGHT "'^$1^'"'
}

if (% $* ()) {
	* = `{find * -print}
}

if (! [ -d Xg ]) {
	echo Making directory Xg...
	mkdir Xg
}
if (! [ -d Xg/bdf ]) {
	echo Making directory Xg/bdf...
	mkdir Xg/bdf
}

echo Making font files...
for (i in $*) {
	switch ($i) {
	case MAP *COPYRIGHT
	case Xg/*
	case *README *NOTICE
		switch ($i) {
			case */*
				dir = `{echo $i | sed 's:/[^/]*$:/:'}
			case *
				dir = ''
		}
		if (! [ -d Xg/$dir ]) {
			mkdir Xg/$dir
		}
		echo copying $i
		cp $i Xg/$i
	case *font
		font = `{echo $i | sed 's:/:.:g'}
		switch ($i) {
			case */*
				dir = `{echo $i | sed 's:/[^/]*$:/:'}
			case *
				dir = ''
		}
		if (! [ -d Xg/$dir ]) {
			mkdir Xg/$dir
		}
		echo $font '('$i')' ... \c
		mungefont $dir $i > Xg/$i
		echo done
	case *
		if ([ -f $i ]) {
			font = `{echo $i | sed 's:/:.:g'}
			dir = `{dirname $i}
			echo $font '('$i')' ... \c
			if ([ -f $dir/COPYRIGHT ]) {
				ifs = $nl { c = `{cat $dir/COPYRIGHT}}
				p9sftobdf $font 0 <$i |
					addc $c >Xg/bdf/$font.bdf
			} else {
				p9sftobdf $font 0 <$i >Xg/bdf/$font.bdf
			}
			#bdftosnf <Xg/bdf/$font.bdf >Xg/$font.snf
			#echo done
		}
	}
}
