% Gust-LaTeXFonts style file 
% ===============
% This style establish concrete/euler fonts for GUST bulletin layout.
% The command \@addto is used to modify the font size definitions 
% (after Mario Wolcko and E.~Neuwirth).
%
% Some parts of this style is based on: euley.sty (E.~Neuwirth)
% and gust.sty (W.~Bzyl).
%
% <T. Przechlewski (ekotp@halina.univ.gda.pl)>
% <20.02.95>
% ===============

\catcode`@=11

% |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||=TP=
%
% FIRST REDEFINE SEVERAL FONTS:
% =============================
% five point --------------------------------------------------------
 \font\fivrm  = pcr5  % new roman
 \font\fivmi  = eurm5 \skewchar\fivmi ='177 % new math italic
% six point ------------------------------------------------------------
 \font\sixrm  = pcr6  % new roman
 \font\sixmi  = eurm6 \skewchar\sixmi ='177 % new math italic
% seven point -----------------------------------------------------------
 \font\sevrm  = pcr7  % new roman
 \font\sevmi  = eurm7  \skewchar\sevmi ='177 %  new math italic
 \font\sevit  = plti7 % new text italic/there is no pcti7 available???
% eight point --------------------------------------------------------
 \font\egtrm  = pcr8  % new roman
 \font\egtmi  = eurm8 \skewchar\egtmi ='177  % new math italic
 \font\egtit  = pcti8  % new text italic
% nine point -----------------------------------------------------------
 \font\ninrm  = pcr9 % new roman
 \font\ninmi  = eurm9 \skewchar\ninmi ='177 % math italic
 \font\ninit  = pcti9  % new text italic
 \font\ninsl  = pcslc9 % new slanted font
% \font\nintt  = cmtt9  % typewriter <- to be modified in the future
% \hyphenchar\nintt = -1 %  suppress hyphenation in \tt font
%
% ten point ------------------------------------------------------------
 \font\tenrm  = pcr10    % new roman
 \font\tenmi  = eurm10 \skewchar\tenmi ='177  % new math italic
 \font\tenit  = pcti10   % new text italic
 \font\tensl  = pcsl10  % new slanted
% \font\tentt  = cmtt10   % typewriter <- to be modified in the future 
% \hyphenchar\tentt = -1         %  suppress hyphenation in \tt font
%
% eleven point ----------------------------------------------------------
 \font\elvrm  = pcr10 \@halfmag % roman
 \font\elvmi  = eurm10 \@halfmag \skewchar\elvmi ='177 % math italic
 \font\elvit  = pcti10   \@halfmag % text italic
 \font\elvsl  = pcsl10 \@halfmag % slanted
% \font\elvtt  = cmtt10   \@halfmag % typewriter
% \hyphenchar\elvtt = -1 %  suppress hyphenation in \tt font
% 
% twelve point -----------------------------------------------------------
 \font\twlrm  = pcr12                 % roman
 \font\twlmi  = eurm10 \@magscale1 \skewchar\twlmi ='177 % math italic
 \font\twlit  = pcti12               % text italic
 \font\twlsl  = cmsl12               % slanted
% \font\twltt  = cmtt12               % typewriter
%  \hyphenchar\twltt = -1         %  suppress hyphenation in \tt font
%
% |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||=TP=
%
% NOW DEFINE TWO ADDITIONAL FAMILIES AND COUPLE OF DEFINITIONS
% =============================
\font\teneuex=euex10   \font\nineeuex=euex9   \font\eighteuex=euex8

\font\teneuf=eufm10    \font\nineeuf=eufm9    \font\eighteuf=eufm8  
\font\seveneuf=eufm7   \font\sixeuf=eufm6     \font\fiveeuf=eufm5

\def\hexnumber@#1{\ifcase#1 \z@
 \or \@ne \or \tw@ \or \thr@@
 \or 4\or 5\or 6\or 7\or 8\or
 9\or A\or B\or C\or D\or E\or F\fi}

\newfam\eufam \newfam\euex

\edef\@tempa{\hexnumber@\euex}
\mathcode`\{="4\@tempa 66
\mathcode`\}="5\@tempa 67

\mathchardef\infty="0\@tempa 31
\mathchardef\ointop="1\@tempa 48 \def\oint{\ointop\nolimits}
\mathchardef\intop="1\@tempa 52 \def\int{\intop\nolimits}
\mathchardef\sum="1\@tempa 50
\mathchardef\prod="1\@tempa 51
\mathchardef\coprod="1\@tempa 60

\mathchardef\braceld="\@tempa 7A \mathchardef\bracerd="\@tempa 7B
\mathchardef\bracelu="\@tempa 7C \mathchardef\braceru="\@tempa 7D

\mathchardef\nearrow="3\@tempa 25
\mathchardef\searrow="3\@tempa 26
\mathchardef\nwarrow="3\@tempa 2D
\mathchardef\swarrow="3\@tempa 2E

\mathchardef\leftarrow="3\@tempa 20 \let\gets=\leftarrow
\mathchardef\rightarrow="3\@tempa 21 \let\to=\rightarrow
\mathchardef\leftrightarrow="3\@tempa 24
\mathchardef\Leftarrow="3\@tempa 28
\mathchardef\Rightarrow="3\@tempa 29
\mathchardef\Leftrightarrow="3\@tempa 2C

\mathchardef\leftharpoonup="3\@tempa 18
\mathchardef\leftharpoondown="3\@tempa 19
\mathchardef\rightharpoonup="3\@tempa 1A
\mathchardef\rightharpoondown="3\@tempa 1B

\edef\lgroup{\delimiter"4000\@tempa 3A } % extensible ( with sharper tips
\edef\rgroup{\delimiter"5000\@tempa 3B } % extensible ) with sharper tips
\edef\arrowvert{\delimiter"\@tempa 3C000 } % arrow without arrowheads
\edef\Arrowvert{\delimiter"\@tempa 3D000 } % double arrow without arrowheads
\edef\bracevert{\delimiter"\@tempa 3E000 } % the vertical bar that extends 
%braces
\edef\rbrace{\delimiter"5267\@tempa 09 } \let\}=\rbrace
\edef\lbrace{\delimiter"4266\@tempa 08 } \let\{=\lbrace

\edef\uparrow{\delimiter"3\@tempa 22378 }
\edef\downarrow{\delimiter"3\@tempa 23379 }
\edef\Uparrow{\delimiter"3\@tempa 2A37E }
\edef\Downarrow{\delimiter"3\@tempa 2B37F }
\edef\updownarrow{\delimiter"3\@tempa 6C33F }
\edef\Updownarrow{\delimiter"3\@tempa 6D377 }

%% polish |\leq| |\geq|
\let\leq=\xleq \let\xgeq=\geq

\edef\@tempa{\hexnumber@\eufam}
\mathcode`\(="4\@tempa 28
\mathcode`\)="4\@tempa 29
\mathcode`\[="4\@tempa 5B
\mathcode`\]="5\@tempa 5D
\delcode`\(="\@tempa 28300
\delcode`\)="\@tempa 29301
\delcode`\[="\@tempa 5B302
\delcode`\]="\@tempa 5D303

\mathcode`\0="7130 \mathcode`\1="7131
\mathcode`\2="7132 \mathcode`\3="7133
\mathcode`\4="7134 \mathcode`\5="7135
\mathcode`\6="7136 \mathcode`\7="7137
\mathcode`\8="7138 \mathcode`\9="7139

%% bold characters
\mathchardef\alpha="710B
\mathchardef\beta="710C
\mathchardef\gamma="710D
\mathchardef\delta="710E
\mathchardef\epsilon="710F
\mathchardef\zeta="7110
\mathchardef\eta="7111
\mathchardef\theta="7112
\mathchardef\iota="7113
\mathchardef\kappa="7114
\mathchardef\lambda="7115
\mathchardef\mu="7116
\mathchardef\nu="7117
\mathchardef\xi="7118
\mathchardef\pi="7119
\mathchardef\rho="711A
\mathchardef\sigma="711B
\mathchardef\tau="711C
\mathchardef\upsilon="711D
\mathchardef\phi="711E
\mathchardef\chi="711F
\mathchardef\psi="7120
\mathchardef\omega="7121
\mathchardef\varepsilon="7122
\mathchardef\vartheta="7123
\mathchardef\varpi="7124
\mathchardef\varrho="7125
\mathchardef\varsigma="7126
\mathchardef\varphi="7127

% |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||=TP=
% ADD FAMILIES TO FONT DEFINITIONS
% ================================ 
 \def\@addto#1#2{\ifx#1\undefined % do nothing
                \else    \toks0=\expandafter{#1}\toks1={#2}%
                \global\edef#1{\the\toks0 \the\toks1 }\fi}
 
\def\relaxnext@{\let\next\relax}
 
\@addto\@vpt{\def\euf{\fam\eufam\fiveeuf}\textfont\eufam=\fiveeuf
  \scriptfont\eufam=\fiveeuf \scriptscriptfont\eufam=\fiveeuf \@setstrut\rm}
 
\@addto\@vipt{\def\euf{\fam\eufam\sixeuf}\textfont\eufam=\sixeuf
  \scriptfont\eufam=\sixeuf \scriptscriptfont\eufam=\sixeuf \@setstrut\rm}
 
\@addto\@viipt{\def\euf{\fam\eufam\seveneuf}\textfont\eufam=\seveneuf
  \scriptfont\eufam=\fiveeuf \scriptscriptfont\eufam=\fiveeuf \@setstrut\rm}
 
\@addto\@viiipt{\def\euf{\fam\eufam\eighteuf}\textfont\eufam=\eighteuf
  \scriptfont\eufam=\sixeuf \scriptscriptfont\eufam=\fiveeuf
  \def\eux{\fam\euex\eighteuex}\textfont\euex=\eighteuex 
  \scriptfont\euex=\eighteuex \@setstrut\rm}
 
\@addto\@ixpt{\def\euf{\fam\eufam\nineeuf}\textfont\eufam=\nineeuf
  \scriptfont\eufam=\sixeuf \scriptscriptfont\eufam=\fiveeuf
  \def\eux{\fam\euex\nineeuex}\textfont\euex=\nineeuex 
  \scriptfont\euex=\nineeuex \@setstrut\rm}
 
\@addto\@xpt{\def\euf{\fam\eufam\teneuf}\textfont\eufam=\teneuf
  \scriptfont\eufam=\seveneuf \scriptscriptfont\eufam=\fiveeuf
  \def\eux{\fam\euex\teneuex}\textfont\euex=\teneuex 
  \scriptfont\euex=\teneuex \@setstrut
  \normalbaselineskip=18pt
  \rm}
 
\@addto\@xipt{\def\euf{\fam\eufam\eleveneuf}\textfont\eufam=\eleveneuf
  \scriptfont\eufam=\eighteuf \scriptscriptfont\eufam=\sixeuf
  \@setstrut \rm}
 
\@addto\@xiipt{\def\euf{\fam\eufam\twelveeuf}\textfont\eufam=\twelveeuf
  \scriptfont\eufam=\eighteuf \scriptscriptfont\eufam=\sixeuf
  \@setstrut \rm}
 
\@addto\@xivpt{\textfont\z@\frtnrm \def\euf{\fam\eufam\frtneuf}
  \textfont\eufam=\frtneuf \scriptfont\eufam=\teneuf 
  \scriptscriptfont\eufam=\seveneuf\@setstrut \rm}
 
\@addto\@xviipt{\textfont\z@\svtnrm \def\euf{\fam\eufam\svtneuf}
  \textfont\eufam=\svtneuf \scriptfont\eufam=\twelveeuf 
  \scriptscriptfont\eufam=\teneuf \@setstrut \rm}
 
\@addto\@xxpt{\def\euf{\fam\eufam\twtyeuf}\textfont\eufam=\twtyeuf
  \scriptfont\eufam=\frtneuf \scriptscriptfont\eufam=\twelveeuf 
  \@setstrut \rm}
 
\@addto\@xxvpt{\def\euf{\fam\eufam\twtyeuf}\textfont\eufam=\twtyeuf
  \scriptfont\eufam=\twtyeuf \scriptscriptfont\eufam=\svtneuf
  \@setstrut \rm}
 
\def\frak{\relaxnext@\ifmmode\let\next\frak@\else
 \def\next{\Err@{Use \string\frak\space only in math mode}}\fi\next}

\def\goth{\relaxnext@\ifmmode\let\next\frak@\else
 \def\next{\Err@{Use \string\goth\space only in math mode}}\fi\next}

\def\frak@#1{{\frak@@{#1}}} \def\frak@@#1{\fam\eufam#1}

%  End definition of Euler Fraktur font.-----------------------------
 
\catcode`@=12 % at signs are no longer letters
\endinput
