#!/bin/bash
#
# usage: makemf style-and-size
# example: makemf glro10
#
# make parameter files for Gladiator font, e.g., "makemf r 12" makes a
# file "glr12.mf", which can be used to generate the glr12 font with.
# See also the scripts makegl and makegl600, which also call Metafont.
#
# FTTWVEDD
# (F)	Foundry:	none, omitted
# (TT)	Family:		Gladiator (gl)
# (W)	Weight:		light (l), regular(r), bold (b)
# (V)	Variant:	small caps (c), text italic (i), oblique (o), roman
#			(r), sans (s), informal (n)
# (E)	Expansion:	normal (omitted), extended (x)
# (DD)	Design size:    in points
#
# glr10, glro10, glri10, glb10, glbi10, gllr10, glrs10, glbs10, glrso10,
# glbso10 glrc10
#
#
#	r	roman			bs	bold sans serif
#	ro	oblique (slanted)	rso	sans serif oblique
#	ri	(text) italic		bso	bold sans serif oblique
#	b	bold			rc	small caps
#	bi	bold italic		xn	extra bold informal (grayed)
#	lr	light roman		xno	extra bold informal oblique
#	rs	sans serif		rsc	sans serif small caps
#	bo	bold oblique
#

style=${1#gl}
style=${style%%[0-9]*}
size=${1#gl$style}

case $style in
  r) slant=0; boldness=1; expansion=1;;
  ro) slant=0.25; boldness=1; expansion=1;;
  ri) slant=0.25; boldness=1; expansion=1;;
  b) slant=0; boldness=1.65; expansion=1.05;;
  bi) slant=0.25; boldness=1.65; expansion=1.05;;
  lr) slant=0; boldness=1; expansion=1; light="light=1";;
  rs) slant=0; boldness=1; expansion=1; sans="sans=1";; #light="light=1";;
  bo) slant=0.17; boldness=1.65; expansion=1.05;;
  bs) slant=0; boldness=1.65; expansion=1.05; sans="sans=1";;
  rso) slant=0.25; boldness=1; expansion=1; sans="sans=1";;
  bso) slant=0.25; boldness=1.65; expansion=1.05; sans="sans=1";;
  rc) slant=0; boldness=1; expansion=1; smallcaps="smallcaps=1";;
  xn) slant=0; boldness=1.65; expansion=1.2; gray="grayletters=1";;
  xno) slant=0.25; boldness=1.65; expansion=1.2; gray="grayletters=1";;
  rsc) slant=0; boldness=1; expansion=1; sans="sans=1";
    smallcaps="smallcaps=1";;
  *) echo "[makemf] Unknown style \"$style\"" >&2; exit 1;;
esac

f=gl${style}${size}


if [ $style = ri -o $style = bi ]; then
    cat >${f}.mf <<-@EOF
	height#=${size}pt#; slant=${slant}; boldness=${boldness};
	expansion=${expansion}; ${gray};
	input glti;
	@EOF
else
    cat >${f}.mf <<-@EOF
	height#=${size}pt#; slant=${slant}; boldness=${boldness};
	expansion=${expansion}; ${light}; ${smallcaps}; ${sans}; ${gray};
	input glrm;
	@EOF
fi
