%	This file is part of the GreekTeX Package
%
% File: grfonts.tex
%
% This version of grfonts is for KD greek fonts. It is based on the
% standard LaTeX lfonts.tex which it actually compliments.
% This version was written by K J Dryllerakis (kd@doc.ic.ac.uk)
% Dec 7, 1992
%
% Important note: This file has to be loaded AFTER the greek mcaros 
% are read so that greek is declared as a new language. If this is NOT
% the case then simply add a comand:
% \newlanguage\greek at the beginning of the file
% Note that lfonts has also to be read in advance!
% 
%	New Families
%	^^^^^^^^^^^^
% \gr   -  greek
% \grbf -  greek bold-face
% \grit -  greek italic
% \grtt -  greek typewriter
% \grsl - greek slanted
% 
%
%	Let us define again some of the lfonts macros
\let\@prtct=\relax

\def\@addfontinfo#1#2{{\def\@prtct{\noexpand\@prtct\noexpand}\def\def{\noexpand
    \def\noexpand}\xdef#1{#1#2}}}

\def\@getfont#1#2#3#4{\@ifundefined{\string #1\string #3}{\global\expandafter
    \font \csname \string #1\string #3\endcsname #4\relax
     \@addfontinfo#3{\textfont #2\csname \string #1\string #3\endcsname
     \scriptfont #2\csname \string #1\string #3\endcsname
     \scriptscriptfont #2\csname \string #1\string #3\endcsname
     \def#1{\fam #2\csname\string #1\string #3\endcsname}}}{}#3#1}

% We need to redifine normalize to take greek into account.

\def\normalsize{\ifx\@currsize\normalsize\ifnum\language=\greek\else\rm\fi %
 \else \@normalsize\fi}

% Load the main Greek Fonts
%
%
\font\sixgr   = kdgr8 scaled 750 	% Classic Greek
\font\sixgrbf = kdbf8 scaled 750	% Boldface Greek
\font\ningr   = kdgr9              	%  9 point Classic Greek Font
\font\eiggr   = kdgr8             	%  8 point Classic Greek Font
\font\tengr   = kdgr10              	% 10 point Classic Greek Font
\font\tengrsl = kdsl10            	% 10 Point Slanted Greek Font
\font\tengrbf = kdbf10            	% 10 Point Boldface Greek Font
\font\tengri  = kdti10             	% 10 Point Italic Greek Font
\font\tengrtt = kdtt10            	% 10 Point Typewritter Greek Font
\font\twlgr   = kdgr10 scaled\magstep1	% Classic Greek
%
% Greek font changing command as protected
%
\def\gr{\protect\pgr}
\def\grbf{\protect\pgrbf}
\def\grit{\protect\pgrit}
\def\grtt{\protect\pgrtt}
\def\grsl{\protect\pgrsl}
%
\def\gr@@k{kdgr10}
\def\gr@@kb{kdbf10}
\def\gr@@ki{kdti10}
\def\gr@@kt{kdtt10}
\def\gr@@ks{kdsl10}
\def\@eiggr{kdgr8}
\def\@ningr{kdgr9}
\def\@eiggrbf{kdbf8}
\def\@ningrbf{kdbf9}
%
% families
%
%
\newfam\grfam		% \gr is family 11
\newfam\grbfam		% \grbf is family 12
\newfam\grifam		% \gri is family 13
\newfam\grttfam		% \grtt is family 14
\newfam\grsfam		% \grs is family 14

% Now add commands to each LaTeX size changing command which defines
% the Greek font selections to invoke macros which load the font ``on
% demand''.
%
% This hack is needed to reset to a greek font at the font changing commands
% This command will be included in \@??pt info which has the last word when
% a font sizing command is executed. In the same command we also reset
% the t@f@nt info.
\gdef\@setgr@@k{\gdef\t@f@nt{\gr}\ifnum\language=\greek\gr\fi}
%
%
%
%	We redifine here the setsize macro to take into account the
% 	greek language. The main problem was that a \setgreek command
% 	must be executed at the end of the setsize command to 
%	reset the \t@f@nt command and to switch to gr instead of rm in
% 	case we are in greek mode.
%	This is a harmless modification and the command setgreek is appended
%	to setsize

\def\@setsize#1#2#3#4{\@nomath#1\let\@currsize#1\baselineskip
   #2\setbox\strutbox\hbox{\vrule height.7\baselineskip
      depth.3\baselineskip width\z@}\baselineskip\baselinestretch\baselineskip
   \normalbaselineskip\baselineskip#3#4\@setgr@@k}


\@addfontinfo\@vpt{\def\pgr{\@prtct\gr@vpt}%
                   \def\pgrbf{\@prtct\grb@vpt}%
		   \def\pgrit{\@prtct\gri@vpt}%
		   \def\pgrtt{\@prtct\grt@vpt}%
		   \def\pgrsl{\@prtct\grs@vpt}%
                     }
\@addfontinfo\@vipt{\@prtct\textfont\grfam\sixgr%
                    \@prtct\scriptfont\grfam\sixgr%
                    \@prtct\textfont\grbfam\sixgrbf%
                    \@prtct\scriptfont\grbfam\sixgrbf%
                    \def\pgr{\@prtct\gr@vipt}%
                    \def\pgrbf{\@prtct\grb@vipt}%
		    \def\pgrit{\@prtct\gri@vipt}%
		    \def\pgrtt{\@prtct\grt@vipt}%
		   \def\pgrsl{\@prtct\grs@vipt}%
                     }
\@addfontinfo\@viipt{\def\pgr{\@prtct\gr@viipt}%
                     \def\pgrbf{\@prtct\grb@viipt}%
		     \def\pgrit{\@prtct\gri@viipt}%
		     \def\pgrtt{\@prtct\grt@viipt}
		   \def\pgrsl{\@prtct\grs@viipt}%
                     }
\@addfontinfo\@viiipt{\@prtct\textfont\grfam\eiggr%
                      \@prtct\scriptfont\grfam\sixgr%
                      \def\pgr{\@prtct\gr@viiipt}%
                      \def\pgrbf{\@prtct\grb@viiipt}%
		      \def\pgrit{\@prtct\gri@viiipt}%
		      \def\pgrtt{\@prtct\grt@viiipt}%
		   \def\pgrsl{\@prtct\grs@viiipt}%
                     }
\@addfontinfo\@ixpt{\@prtct\textfont\grfam\ningr%
                    \@prtct\scriptfont\grfam\sixgr%
                    \def\pgr{\@prtct\gr@ixpt}%
                    \def\pgrbf{\@prtct\grb@ixpt}%
		    \def\pgrit{\@prtct\gri@ixpt}%
		    \def\pgrtt{\@prtct\grt@ixpt}
		   \def\pgrsl{\@prtct\grs@ixpt}}
\@addfontinfo\@xpt{\@prtct\textfont\grfam\tengr%
                   \@prtct\scriptfont\grfam\eiggr%
                   \@prtct\scriptscriptfont\grfam\sixgr%
                   \@prtct\textfont\grbfam\tengrbf%
                   \@prtct\textfont\grsfam\tengrsl%
                   \@prtct\textfont\grttfam\tengrtt%
                   \@prtct\textfont\grifam\tengri%
                   \def\pgr{\@prtct\gr@xpt}%
	           \def\pgrbf{\@prtct\grb@xpt}%
		   \def\pgrit{\@prtct\gri@xpt}%
		   \def\pgrtt{\@prtct\grt@xpt}%
		   \def\pgrsl{\@prtct\grs@xpt}%
		   }
\@addfontinfo\@xipt{\def\pgr{\@prtct\gr@xipt}%
                    \def\pgrbf{\@prtct\grb@xipt}%
		    \def\pgrit{\@prtct\gri@xipt}%
		    \def\pgrtt{\@prtct\grt@xipt}
		   \def\pgrsl{\@prtct\grs@xipt}%
                     }
\@addfontinfo\@xiipt{\@prtct\textfont\grfam\twlgr%
                     \@prtct\scriptfont\grfam\tengr%
                     \@prtct\scriptscriptfont\grfam\eiggr%
		     \def\pgr{\@prtct\gr@xiipt}%
                     \def\pgrbf{\@prtct\grb@xiipt}%
		     \def\pgrit{\@prtct\gri@xiipt}%
		     \def\pgrtt{\@prtct\grt@xiipt}%
		   \def\pgrsl{\@prtct\grs@xiipt}%
                     }
\@addfontinfo\@xivpt{\def\pgr{\@prtct\gr@xivpt}%
                     \def\pgrbf{\@prtct\grb@xivpt}%
		     \def\pgrit{\@prtct\gri@xivpt}%
		     \def\pgrtt{\@prtct\grt@xivpt}%
		   \def\pgrsl{\@prtct\grs@xiv}%
                     }
\@addfontinfo\@xviipt{\def\pgr{\@prtct\gr@xviipt}%
                      \def\pgrbf{\@prtct\grb@xviipt}%
		      \def\pgrit{\@prtct\gri@xviipt}%
		      \def\pgrtt{\@prtct\grt@xviipt}%
		   \def\pgrsl{\@prtct\grs@xviipt}%
                     }
\@addfontinfo\@xxpt{\def\pgr{\@prtct\gr@xxpt}%
                    \def\pgrbf{\@prtct\grb@xxpt}%
		    \def\pgrit{\@prtct\gri@xxpt}%
		    \def\pgrtt{\@prtct\grt@xxpt}%
		   \def\pgrsl{\@prtct\grs@xxpt}%
                     }
\@addfontinfo\@xxvpt{\def\pgr{\@prtct\gr@xxvpt}%
                     \def\pgrbf{\@prtct\grb@xxvpt}%
		     \def\pgrit{\@prtct\gri@xxvpt}%
		     \def\pgrtt{\@prtct\grt@xxvpt}%
		   \def\pgrsl{\@prtct\grs@xxvpt}%
                     }

% Finally, we can define WHICH fonts are to be loaded on demand.
%
%	Classical Greek
%
\def\gr@vpt{\@subfont\gr\rm}
\def\gr@vipt{\fam\grfam\sixgr}
\def\gr@viipt{\@getfont\pgr\grfam\@viipt{\gr@@k\@ptscale7}}
\def\gr@viiipt{\fam\grfam\eiggr}
\def\gr@ixpt{\fam\grfam\ningr}
\def\gr@xpt{\fam\grfam\tengr}
\def\gr@xipt{\@getfont\pgr\grfam\@xipt{\gr@@k\@halfmag}}
\def\gr@xiipt{\fam\grfam\twlgr}
\def\gr@xivpt{\@getfont\pgr\grfam\@xivpt{\gr@@k\@magscale2}}
\def\gr@xviipt{\@getfont\pgr\grfam\@xviipt{\gr@@k\@magscale3}}
\def\gr@xxpt{\@getfont\pgr\grfam\@xxpt{\gr@@k\@magscale4}}
\def\gr@xxvpt{\@getfont\pgr\grfam\@xxvpt{\gr@@k\@magscale5}}
%
%	BoldFace Greek
%
\def\grb@vpt{\@subfont\grbf\bf}
\def\grb@vipt{\fam\grbfam\sixgrbf}
\def\grb@viipt{\@getfont\pgrbf\grbfam\@viipt{\gr@@kb\@ptscale7}}
\def\grb@viiipt{\@getfont\pgrbf\grbfam\@viiipt{\@eiggrbf}}
\def\grb@ixpt{\@getfont\pgrbf\grbfam\@ixpt{\@ningrbf}}
\def\grb@xpt{\fam\grbfam\tengrbf}
\def\grb@xipt{\@getfont\pgrbf\grbfam\@xipt{\gr@@kb\@halfmag}}
\def\grb@xiipt{\@getfont\pgrbf\grbfam\@xiipt{\gr@@kb\@magscale1}}
\def\grb@xivpt{\@getfont\pgrbf\grbfam\@xivpt{\gr@@kb\@magscale2}}
\def\grb@xviipt{\@getfont\pgrbf\grbfam\@xviipt{\gr@@kb\@magscale3}}
\def\grb@xxpt{\@getfont\pgrbf\grbfam\@xxpt{\gr@@kb\@magscale4}}
\def\grb@xxvpt{\@getfont\pgrbf\grbfam\@xxvpt{\gr@@kb\@magscale5}}
%
%	Greek Italics
%
\def\gri@vpt{\@subfont\grit\it}
\def\gri@vipt{\@getfont\pgrit\grifam\@vipt{\gr@@ki\@ptscale6}}
\def\gri@viipt{\@getfont\pgrit\grifam\@viipt{\gr@@ki\@ptscale7}}
\def\gri@viiipt{\@getfont\pgrit\grifam\@viiipt{\gr@@ki\@ptscale8}}
\def\gri@ixpt{\@getfont\pgrit\grifam\@ixpt{\gr@@ki\@ptscale9}}
\def\gri@xpt{\fam\grifam\tengri}
\def\gri@xipt{\@getfont\pgrit\grifam\@xipt{\gr@@ki\@halfmag}}
\def\gri@xiipt{\@getfont\pgrit\grifam\@xiipt{\gr@@ki\@magscale1}}
\def\gri@xivpt{\@getfont\pgrit\grifam\@xivpt{\gr@@ki\@magscale2}}
\def\gri@xviipt{\@getfont\pgrit\grifam\@xviipt{\gr@@ki\@magscale3}}
\def\gri@xxpt{\@getfont\pgrit\grifam\@xxpt{\gr@@ki\@magscale4}}
\def\gri@xxvpt{\@getfont\pgrit\grifam\@xxvpt{\gr@@ki\@magscale5}}
%
%	Slanted Greek
%
\def\grs@vpt{\@subfont\grsl\sl}
\def\grs@vipt{\@getfont\pgrsl\grsfam\@vipt{\gr@@ks\@ptscale6}}
\def\grs@viipt{\@getfont\pgrsl\grsfam\@viipt{\gr@@ks\@ptscale7}}
\def\grs@viiipt{\@getfont\pgrsl\grsfam\@viiipt{\gr@@ks\@ptscale8}}
\def\grs@ixpt{\@getfont\pgrsl\grsfam\@ixpt{\gr@@ks\@ptscale9}}
\def\grs@xpt{\fam\grsfam\tengrsl}
\def\grs@xipt{\@getfont\pgrsl\grsfam\@xipt{\gr@@ks\@halfmag}}
\def\grs@xiipt{\@getfont\pgrsl\grsfam\@xiipt{\gr@@ks\@magscale1}}
\def\grs@xivpt{\@getfont\pgrsl\grsfam\@xivpt{\gr@@ks\@magscale2}}
\def\grs@xviipt{\@getfont\pgrsl\grsfam\@xviipt{\gr@@ks\@magscale3}}
\def\grs@xxpt{\@getfont\pgrsl\grsfam\@xxpt{\gr@@ks\@magscale4}}
\def\grs@xxvpt{\@getfont\pgrsl\grsfam\@xxvpt{\gr@@ks\@magscale5}}
%
%	Greek Typewriter
%
\def\grt@vpt{\@subfont\grtt\tt}
\def\grt@vipt{\@getfont\pgrtt\grttfam\@vipt{\gr@@kt\@ptscale6}%
         \@nohyphens\pgrtt\@vipt}
\def\grt@viipt{\@getfont\pgrtt\grttfam\@viipt{\gr@@kt\@ptscale7}%
         \@nohyphens\pgrtt\@viipt}
\def\grt@viiipt{\@getfont\pgrtt\grttfam\@viiipt{\gr@@kt\@ptscale8}%
         \@nohyphens\pgrtt\@viiipt}
\def\grt@ixpt{\@getfont\pgrtt\grttfam\@ixpt{\gr@@kt\@ptscale9}%
         \@nohyphens\pgrtt\@ixpt}
\def\grt@xpt{\fam\grttfam\tengrtt}
\def\grt@xipt{\@getfont\pgrtt\grttfam\@xipt{\gr@@kt\@halfmag}%
         \@nohyphens\pgrtt\@xipt}
\def\grt@xiipt{\@getfont\pgrtt\grttfam\@xiipt{\gr@@kt\@magscale1}%
         \@nohyphens\pgrtt\@xiipt}
\def\grt@xivpt{\@getfont\pgrtt\grttfam\@xivpt{\gr@@kt\@magscale2}%
         \@nohyphens\pgrtt\@xivpt}
\def\grt@xviipt{\@getfont\pgrtt\grttfam\@xviipt{\gr@@kt\@magscale3}%
         \@nohyphens\pgrtt\@xviipt}
\def\grt@xxpt{\@getfont\pgrtt\grttfam\@xxpt{\gr@@kt\@magscale4}%
         \@nohyphens\pgrtt\@xxpt}
\def\grt@xxvpt{\@getfont\pgrtt\grttfam\@xxvpt{\gr@@kt\@magscale5}%
         \@nohyphens\pgrtt\@xxvpt}

%% End of grfont.tex
















