#!/bin/sh

progname=`basename $0`

DIR_PERMS=1777
FILE_PERMS=444

if test $# -lt 1 ; then
  echo "Usage: $progname name." >&2
  exit 1
fi

TEXMF=`kpsexpand '$TEXMF'`
dcfontdir="$TEXMF/fonts/public/dc/src"
ls_R="$TEXMF/ls-R"

test -d "$dcfontdir" || (mkdir "$dcfontdir" ; chmod "$DIR_PERMS" "$dcfontdir")
cd "$dcfontdir" || exit 1

NAME="`basename $1 .mf`"
rootname=`echo "$NAME" | sed 's/[0-9]*$//'`
pointsize=`echo "$NAME" | sed "s/^$rootname//"`

case "$NAME" in
dc*)	;;
*)	exit
esac

case "$pointsize" in
"") ;;
11) realsize=10.95444 ;;	# \magstephalf
14) realsize=14.4 ;;	# \magstep2
17) realsize=17.28 ;;	# \magstep3
20) realsize=20.74 ;;	# \magstep4
25) realsize=24.88 ;;	# \magstep5
*) realsize="$pointsize" ;;
esac

mfname="$NAME.mf"
if [ -f "$mfname" ] ; then
	echo "$dcfontdir/$mfname already exists!" >&2
	echo $dcfontdir/$mfname
	append_db "$dcfontdir" "$mfname"
	exit
fi

cat > "$mfname.tmp$$" <<EOF
if unknown dxbase: input dxbase fi;
gensize:=$realsize;
generate $rootname;
EOF

chmod "$FILE_PERMS" "$mfname.tmp$$"
mv -f "$mfname.tmp$$" "$mfname"

echo "$dcfontdir/$mfname"
append_db "$dcfontdir" "$mfname"
