%%
%% This is file `lucrotis.sty',
%% 
%% Copyright (C) 2000 WARM
%% All rights reserved.
%% 
%% 
%% Permission is granted to to customize the declarations in this file 
%% to serve the needs of your installation.
%% However, no permission is granted to distribute a modified version of
%% this file under its original name.
%% Copyright 2000 WaRM, Wendy McKay and Ross Moore

\ProvidesPackage{lucrotis}
[2000/07/18 Lucida fonts for math,
Adobe Rotis default as semi-serif for text : WaRM]

\def\LR@serif{pro}
\def\LR@semi{pr1}
\def\LR@sans{pr3}
\def\LR@vii{OT1}
\def\LR@viii{T1}
\def\LR@ttscale{.85}

\DeclareOption{T1}{\edef\LR@encoding{\LR@viii}}
\DeclareOption{8bit}{\edef\LR@encoding{\LR@viii}}
\DeclareOption{OT1}{\edef\LR@encoding{\LR@vii}}
\DeclareOption{7bit}{\edef\LR@encoding{\LR@vii}}
\DeclareOption{seriftt}{\def\LR@ttstyle{,seriftt}}
\DeclareOption{noseriftt}{\def\LR@ttstyle{}}
\DeclareOption{norotis}{\def\LR@textstyle{}}
\DeclareOption{rotisserif}{\edef\LR@textstyle{\LR@serif}}
\DeclareOption{semiserif}{\edef\LR@textstyle{\LR@semi}}
\DeclareOption{ssrotis}{\edef\LR@sansstyle{\LR@sans}}
\DeclareOption{sslucida}{\def\LR@sansstyle{hls}}
\DeclareOption{10pt}{\def\LR@fontsize{10}}
\DeclareOption{11pt}{\def\LR@fontsize{11}}
\DeclareOption{12pt}{\def\LR@fontsize{12}}
\let\LR@slides\relax
\DeclareOption{slides}{\def\LR@slides{}}

\def\LR@callig{}\def\LR@handw{}\def\LR@casual{}
\DeclareOption{callig}{\def\LR@callig{,calligraphic}}
\DeclareOption{calligraphic}{\def\LR@callig{,calligraphic}}
\DeclareOption{handw}{\def\LR@handw{,handwriting}}
\DeclareOption{handwriting}{\def\LR@handw{,handwriting}}
\DeclareOption{casual}{\def\LR@casual{,casual}}

\ExecuteOptions{T1,seriftt,10pt,semiserif,ssrotis}
\ProcessOptions

\def\LR@loadslides{}
\ifx\LR@slides\relax\else
  \def\LR@fontsize{24}%
  \def\LR@loadslides{\usepackage{hugefonts}%
%  \let\ActivateSlides\relax}%
%  \AtBeginDocument{\SetSlideSizes \slidefontshape
%   \normalsize \slidenormalshape}%
  \let\LR@loadslides\relax}
\fi


%%% first set the math alphabets to Lucida ...
%
%default is:  \RequirePackage[expert,T1,seriftt]{lucidabr}
% 
\RequirePackage[expert,nofontinfo,\LR@encoding
 \LR@ttstyle\LR@casual\LR@handw\LR@callig
 ]{lucidabr}[1998/01/19] % version v4.10 

%%% optionally define some extra Alphabets for math
\def\LR@style@warning#1#2#3{{%
 \@latex@warning{::LucidaRotis:: \string#1 math-style not defined;^^J
  to get it, use option [#2] when loading lucrotis.sty .^^J}}#3}

%% LucidaCasual
\ifx\@empty\LR@casual\relax
 \def\mathcas{\LR@style@warning\mathcas{casual}\mathit}%
 \def\textcas{\LR@style@warning\textcas{casual}\textit}%
\else
 \DeclareMathAlphabet\mathcas\operator@encoding{hlcn}{m}{it}%
 \def\textcas#1{{\fontfamily{hlcn}\selectfont #1\/}}
\fi
%% LucidaHandwriting
\ifx\@empty\LR@handw\relax
 \def\mathhand{\LR@style@warning\mathhand{handwriting}\mathit}%
 \def\texthand{\LR@style@warning\texthand{handwriting}\textit}%
\else
 \DeclareMathAlphabet\mathhand\operator@encoding{hlcw}{m}{it}%
 \def\texthand#1{{\fontfamily{hlcw}\selectfont #1\/}}
\fi
%% LucidaCalligraphy
\ifx\@empty\LR@callig\relax
 \def\mathcallig{\LR@style@warning\mathcallig{calligraphy}\mathit}%
 \def\textcallig{\LR@style@warning\textcallig{calligraphy}\textit}%
\else
 \DeclareMathAlphabet\mathcallig\operator@encoding{hlce}{m}{it}%
 \def\textcallig#1{{\fontfamily{hlce}\selectfont #1\/}}
\fi


%%% ... and force early loading, to suppress Font Info messages
\setbox0=\hbox{\def\LR@style@warning#1#2{}%
 $a\mathrm{a}\mathit{a}\mathbf{a}\mathtt{a}\mathsf{a}\mathbb{a}
  \mathfrak{a}\mathcas{a}\mathcallig{a}\mathhand{a}$}
\setbox0=\hbox{\def\LR@style@warning#1#2{}\mathversion{bold}%
 $a\mathrm{a}\mathit{a}\mathbf{a}\mathtt{a}\mathsf{a}\mathbb{a}
  \mathfrak{a}\mathcas{a}\mathcallig{a}\mathhand{a}$}

\ifx\@empty\LR@casual\relax\else
%% there is no slanted version; ensure italic
 \DeclareFontShape{\LR@encoding}{hlcn}{m}{sl}{<->ssub * hlcn/m/it}{}
 \DeclareFontShape{\LR@encoding}{hlcn}{m}{sl}{<->ssub * hlcn/m/it}{}
\fi


% The  hlct/m/ and  hlct/b/  series have bad widths; use 
% the newer  hlct/mc/  and  hlct/bc/  (condensed) series instead,
% but scaled down by \LR@ttscale, else glyphs are overly wide. 
%
\def\DeclareLRttFontShape#1#2#3#4#5#6{%
 \DeclareFontShape{#1}{#2}{#3}{#4}{<->s*[\LR@ttscale]#5}{#6}}
\let\DeclareLRFontShape\DeclareLRttFontShape
\DeclareFontFamily{\LR@encoding}{hlct}{}
\ifx\LR@encoding\LR@vii
 \DeclareLRFontShape{\LR@vii}{hlct}{bc}{n}{hlcbt7tn}{}
 \DeclareLRFontShape{\LR@vii}{hlct}{bc}{sc}{hlcbct7tn}{}
 \DeclareLRFontShape{\LR@vii}{hlct}{bc}{sl}{hlcbot7tn}{}
 \DeclareLRFontShape{\LR@vii}{hlct}{mc}{n}{hlcrt7tn}{}
 \DeclareLRFontShape{\LR@vii}{hlct}{mc}{sc}{hlcrct7tn}{}
 \DeclareLRFontShape{\LR@vii}{hlct}{mc}{sl}{hlcrot7tn}{}
 \DeclareLRFontShape{\LR@vii}{hlct}{b}{n}{hlcbt7tn}{}
 \DeclareLRFontShape{\LR@vii}{hlct}{b}{sc}{hlcbct7tn}{}
 \DeclareLRFontShape{\LR@vii}{hlct}{b}{sl}{hlcbot7tn}{}
 \DeclareLRFontShape{\LR@vii}{hlct}{m}{n}{hlcrt7tn}{}
 \DeclareLRFontShape{\LR@vii}{hlct}{m}{sc}{hlcrct7tn}{}
 \DeclareLRFontShape{\LR@vii}{hlct}{m}{sl}{hlcrot7tn}{}
\else
 \DeclareLRFontShape{\LR@viii}{hlct}{bc}{n}{hlcbt8tn}{}
 \DeclareLRFontShape{\LR@viii}{hlct}{bc}{sc}{hlcbct8tn}{}
 \DeclareLRFontShape{\LR@viii}{hlct}{bc}{sl}{hlcbot8tn}{}
 \DeclareLRFontShape{\LR@viii}{hlct}{mc}{n}{hlcrt8tn}{}
 \DeclareLRFontShape{\LR@viii}{hlct}{mc}{sc}{hlcrct8tn}{}
 \DeclareLRFontShape{\LR@viii}{hlct}{mc}{sl}{hlcrot8tn}{}
 \DeclareLRFontShape{\LR@viii}{hlct}{b}{n}{hlcbt8tn}{}
 \DeclareLRFontShape{\LR@viii}{hlct}{b}{sc}{hlcbct8tn}{}
 \DeclareLRFontShape{\LR@viii}{hlct}{b}{sl}{hlcbot8tn}{}
 \DeclareLRFontShape{\LR@viii}{hlct}{m}{n}{hlcrt8tn}{}
 \DeclareLRFontShape{\LR@viii}{hlct}{m}{sc}{hlcrct8tn}{}
 \DeclareLRFontShape{\LR@viii}{hlct}{m}{sl}{hlcrot8tn}{}
\fi
%\input \LR@encoding hlrt.fd
% define a new font-face, referencing the rescaled  hlct
\DeclareFontFamily{\LR@encoding}{hlrt}{}
\DeclareFontShape{\LR@encoding}{hlrt}{bc}{n}{<->ssub * hlct/bc/n}{}
\DeclareFontShape{\LR@encoding}{hlrt}{bc}{sc}{<->ssub * hlct/bc/sc}{}
\DeclareFontShape{\LR@encoding}{hlrt}{bc}{sl}{<->ssub * hlct/bc/sl}{}
\DeclareFontShape{\LR@encoding}{hlrt}{mc}{n}{<->ssub * hlct/mc/n}{}
\DeclareFontShape{\LR@encoding}{hlrt}{mc}{sc}{<->ssub * hlct/mc/sc}{}
\DeclareFontShape{\LR@encoding}{hlrt}{mc}{sl}{<->ssub * hlct/mc/sl}{}
\DeclareFontShape{\LR@encoding}{hlrt}{b}{n}{<->ssub * hlct/bc/n}{}
\DeclareFontShape{\LR@encoding}{hlrt}{b}{sc}{<->ssub * hlct/bc/sc}{}
\DeclareFontShape{\LR@encoding}{hlrt}{b}{sl}{<->ssub * hlct/bc/sl}{}
\DeclareFontShape{\LR@encoding}{hlrt}{m}{n}{<->ssub * hlct/mc/n}{}
\DeclareFontShape{\LR@encoding}{hlrt}{m}{sc}{<->ssub * hlct/mc/sc}{}
\DeclareFontShape{\LR@encoding}{hlrt}{m}{sl}{<->ssub * hlct/mc/sl}{}

\DeclareFontShape{\LR@encoding}{hlrt}{bx}{n}{<->ssub * hlrt/b/n}{}
\DeclareFontShape{\LR@encoding}{hlrt}{bx}{sc}{<->ssub * hlrt/b/sc}{}
\DeclareFontShape{\LR@encoding}{hlrt}{bx}{sl}{<->ssub * hlrt/b/sl}{}
\DeclareFontShape{\LR@encoding}{hlrt}{b}{it}{<->ssub * hlrt/b/sl}{}
\DeclareFontShape{\LR@encoding}{hlrt}{bx}{it}{<->ssub * hlrt/b/it}{}
\DeclareFontShape{\LR@encoding}{hlrt}{bc}{it}{<->ssub * hlrt/bc/sl}{}
\DeclareFontShape{\LR@encoding}{hlrt}{l}{n}{<->ssub * hlrt/m/n}{}
\DeclareFontShape{\LR@encoding}{hlrt}{l}{sc}{<->ssub * hlrt/m/sc}{}
\DeclareFontShape{\LR@encoding}{hlrt}{l}{sl}{<->ssub * hlrt/m/sl}{}
\DeclareFontShape{\LR@encoding}{hlrt}{m}{it}{<->ssub * hlrt/m/sl}{}
\DeclareFontShape{\LR@encoding}{hlrt}{l}{it}{<->ssub * hlrt/m/it}{}
\DeclareFontShape{\LR@encoding}{hlrt}{mc}{it}{<->ssub * hlrt/mc/sl}{}

% now set the \texttt and \mathtt to use the rescaled version
\renewcommand{\ttdefault}{hlrt}% Lucida Typewriter (rescaled)
\DeclareMathAlphabet\mathtt  \operator@encoding{hlrt}{m}{n}
\SetMathAlphabet{\mathtt}{bold}{\operator@encoding}{hlrt}{b}{n}


\ifx\@empty\LR@textstyle
  % no Rotis --- exit now, using only Lucida fonts
  \usepackage[\LR@encoding]{fontenc}
  \LR@loadslides
\expandafter\endinput\fi

%%% then set the text alphabets:
\renewcommand{\rmdefault}{\LR@textstyle}% default = Rotis semi-serif
\renewcommand{\sfdefault}{\LR@sansstyle}% default = Rotis sans-serif
\renewcommand{\ttdefault}{hlrt}% Lucida Typewriter (rescaled)
\renewcommand{\bfdefault}{b}

%%% now setup the text fonts,
%%% with the desired Roman default and encoding...
\edef\f@family{\rmdefault}
\edef\default@family{\rmdefault}
%
\usepackage[\LR@encoding]{fontenc}
%
%%% ...with an appropriate error font, whichever encoding:
\ifx\LR@semi\LR@textstyle
 % first ensure serif style loads, then follow with semi-serif
 \DeclareFontSubstitution {\LR@encoding}{\LR@serif}{m}{n}
\fi
\DeclareFontSubstitution{\LR@encoding}{\LR@textstyle}{m}{n}

\ifx\LR@semi\LR@textstyle
 % There is no italic semi-serif font, so use RotisSerif instead
 \DeclareFontShape{\LR@encoding}{\LR@semi}{m}{it}{<->ssub * pro/m/it}{}
 \DeclareFontShape{\LR@encoding}{\LR@semi}{b}{it}{<->ssub * pro/b/it}{}
\fi

%%% redefine the \TeX and \LaTeX commands, with reduced kerning
\DeclareRobustCommand{\TeX}
 {T\kern-.1667em\lower.525ex\hbox{E}\kern -.095em X\@}

\expandafter\def\csname LaTeX \endcsname {%
 L\kern -.24em{\sbox\z@ T\vbox to\ht\z@{\hbox
 {\check@mathfonts\fontsize\sf@size\z@ \math@fontsfalse\selectfont A}%
 \vss}}\kern -.05em\TeX}

\LR@loadslides

\endinput
%%
%% End of file `lucrotis.sty'.
