#!/bin/sh

# Generate pk fonts for:
#   stmaryrd with package stmaryrd
# Volker Kuhlmann <v.kuhlmann@elec.canterbury.ac.nz>
# 04 Nov 1999

test -f /bin/sh5 && test -z "$RUNNING_SH5" \
  && { UNAMES=`uname -s`; test "x$UNAMES" = xULTRIX; } 2>/dev/null \
  && { RUNNING_SH5=true; export RUNNING_SH5; exec /bin/sh5 $0 ${1+"$@"}; }
unset RUNNING_SH5

test -f /bin/bsh && test -z "$RUNNING_BSH" \
  && { UNAMES=`uname -s`; test "x$UNAMES" = xAIX; } 2>/dev/null \
  && { RUNNING_BSH=true; export RUNNING_BSH; exec /bin/bsh $0 ${1+"$@"}; }
unset RUNNING_BSH

case "$1" in
  -r)
    DVIPS=dvired
    shift
    ;;
  *)
    DVIPS=dvips
    ;;
esac

body()
{
  cat <<-'eof'
	\pagestyle{empty}
	\parindent0in
	\hfuzz=\maxdimen
	\hbadness=10000
	\textheight9.5in
	\textwidth6.5in
	
	\newcommand{\myformula}{\sum a_{b_{c_d}} = c}
	\newcommand{\mytext}{text}
	\newcommand{\mymath}{$\mathcal{\myformula}\mathrm{\myformula}
		\mathbf{\myformula}\mathsf{\myformula}\mathtt{\myformula}
		\mathnormal{\myformula}\mathit{\myformula}$}
    	\newcommand{\mytextmath}{\mytext\mymath}
	
	\newcommand{\TestSizesSmaller}{{%
		\tiny\mytextmath \scriptsize\mytextmath
		\footnotesize\mytextmath \small\mytextmath}}
	\newcommand{\TestSizesLarger}{{%
	    	\normalsize\mytextmath
	    	\large\mytextmath \Large\mytextmath \LARGE\mytextmath
		\huge\mytextmath \Huge\mytextmath}}
	\newcommand{\TestSizes}{\TestSizesSmaller\TestSizesLarger}

	\newcommand{\TextSmaller}{{%
		\tiny\mytext \scriptsize\mytext
		\footnotesize\mytext \small\mytext}}
	\newcommand{\TextLarger}{{%
	    	\normalsize\mytext
	    	\large\mytext \Large\mytext \LARGE\mytext
		\huge\mytext \Huge\mytext}}
	\newcommand{\TextSizes}{\TextSmaller\TextLarger}

	\newcommand{\TestRM}{rm-family: {\rmfamily\TestSizes}\newline}
	\newcommand{\TestSF}{sf-family: {\sffamily\TestSizes}\newline}
	\newcommand{\TestTT}{tt-family: {\ttfamily\TestSizes}\newline}
	\newcommand{\TestFamilies}{\TestRM\TestSF\TestTT\par}
	
	\newcommand{\TestMD}{md-series: {\mdseries\TestFamilies}}
	\newcommand{\TestBF}{bf-series: {\bfseries\TestFamilies}}
	\newcommand{\TestSeries}{\TestBF\TestMD\par}
	
	\newcommand{\TestUP}{up-shape: {\upshape\TestSeries}\par}
	\newcommand{\TestIT}{it-shape: {\itshape\TestSeries}\par}
	\newcommand{\TestSL}{sl-shape: {\slshape\TestSeries}\par}
	\newcommand{\TestSC}{sc-shape: {\scshape\TestSeries}\par}
	\newcommand{\TestShapes}{\TestUP\TestIT\TestSL\TestSC\par}

	\newcommand{\TextShapes}{\let\TestSizes=\TextSizes \TestShapes}

	\newcommand{\mylatexformula}{\lhd\hbox{\boldmath$\lhd$}\ }
	\newcommand{\latexpict}{\begin{picture}(10,10)(0,0)
	    \vector(3,1){4.8}\circle{5}\end{picture}}
	\newcommand{\mylatextext}{\par Az
	    \thinlines\latexpict \thicklines\latexpict}
	\newcommand{\LatexShapes}{%
	    \let\myformula=\mylatexformula \let\mytext=\mylatextext \TestShapes}
	
	\usepackage{stmaryrd}
	
	\begin{document}
	%\renewcommand{\bfdefault}{b}
	%\renewcommand{\mytext}{\clock}
	\renewcommand{\myformula}{\Yup}
	\TestShapes
	%\LatexShapes
	%\TestSizes
	\end{document}
eof
}

head()
{
  echo '\documentclass['$1'pt]{article}'
  echo '\usepackage['$2']{fontenc}'
}

cd /tmp
mkdir tmp$$ && cd tmp$$ || exit
trap "cd / ; rm -rf /tmp/tmp$$; trap '' 0; exit 0" 0 1 2 15

cat <<-'EOF' >&2

---------------------------------------------------------------------
>>>>>>>>>>>  Generating testfiles for 10pt, 11pt and 12pt. <<<<<<<<<<
---------------------------------------------------------------------
EOF
head 10 OT1 > allcm10.tex
head 11 OT1 > allcm11.tex
head 12 OT1 > allcm12.tex
body >> allcm10.tex
body >> allcm11.tex
body >> allcm12.tex

echo >&2
echo "---------------------------------------------------------------------" >&2
echo ">>>>>>>>>>>  Calling latex...                              <<<<<<<<<<" >&2
echo "---------------------------------------------------------------------" >&2
latex allcm10 >/dev/null
latex allcm11 >/dev/null
latex allcm12 >/dev/null

echo >&2
echo "---------------------------------------------------------------------" >&2
echo ">>>>>>>>>>>  Now, calling $DVIPS to make missing fonts...  <<<<<<<<<<" >&2
echo "---------------------------------------------------------------------" >&2
$DVIPS ${1+"$@"} -f allcm10 > /dev/null
$DVIPS ${1+"$@"} -f allcm11 > /dev/null
$DVIPS ${1+"$@"} -f allcm12 > /dev/null

cd /
rm -rf /tmp/tmp$$