 %%%% Active8Mac-SP.sty, april 1993
 %%%%  by Laurent Siebenmann <lcs@matups.matups.fr>
 %%%%  Posting for updates ftp matups.matups.fr
 %%%%  This file is ASCII with 8-bit characters in ^^xy form.
 
 %%% Purpose: Allow direct typing of all Spanish accents for TeX
  %% using any standard Macintosh prose font having them, AND
  %% (a) Permit good Spanish  hyphenation in words with
  %% accents in case 7-bit Spanish hyphenation patterns are loaded
  %% together with the 7bit accent administration package
  %% HyAcc-CM.tex posted on  ftp matups.matups.fr.
  %% (b) Permit perfect Spanish  hyphenation in words with
  %% accents in case 8-bit Spanish hyphenation patterns are loaded
  %% and any known 8bit accent administration package is present.
  %% (CaesarCM.tex and CaesarCK.tex on ftp matups.matups.fr
  %% are candidates for (extended) computer modern fonts and
  %% and cork norm fonts respectively.
  %% (c) Maintain the expected behavior of \uppercase and \lowercase.

 %%% Warnings: 
  %% Eight bit typing based on a file option.keys distributed
  %% at one time with Textures and containing basically just some
  %% active character definitions satisfies NONE of the conditions 
  %% (a) (b) (c) because the uccodes and lccodes are wrong.
  %% Further it has been verified that there exists no 
  %% language-independent way to assign these codes for the Macintosh
  %% unless the TeX implementation has so-called I/O filters to 
  %% harmonise Macintosh and Cork norm (TeX) character encodings.
  %% In 1993 OzTeX and Textures do not have such filters.
  %% When, some time in the future, you notice that your TeX does
  %% have such I/O filters look for a simple language-independant
  %% replacement for this file on ftp matups.matups.fr.

 %%% Compatibility: If option.keys is loaded BEFORE this file, 
  %% you do get the features (a) (b) (c) PLUS the active character 
  %% definitions in option.keys that are not revised by this file.

\begingroup
\catcode`@=11

   %%% Globally set high ASCII to 13
    %%
   \count@="80
   \loop
     \global\catcode\the\count@=\active
      \ifnum\count@<"FF
     \relax\advance\count@ by 1
   \repeat

   %%% Globally set their Cork default lc-uc codes   
 \newcount\Ct@
 \newcount\Ct@@
 \newcount\Ct@@@
 \toks0={% 
 \loop
 \Ct@=\count@\advance\Ct@ by 32 
   %% \count@ is Plain scratch counter \count255
 \global\uccode\the\count@=\the\count@
 \global\lccode\the\count@=\the\Ct@
 \global\uccode\the\Ct@=\the\count@
 \global\lccode\the\Ct@=\the\Ct@
 \ifnum\count@<\Ct@@
 \relax\advance\count@ by 1
 \repeat
 }

  \count@="80 \Ct@@="9F \the\toks0 %% segment "80 to "BF
  \count@="C0 \Ct@@="DF \the\toks0 %% segment "C0 to "FF


 \def\Forbid@ #1{%
    \global\catcode`#1=15 }

  \def\CheckPeriod#1{\if#1.\else
         \errmessage{ !!! Error in character data}\fi}
 

 \def\lc@uc@ADef#1#2#3#4#5{%
   \CheckPeriod{#5}%
   \global\def#1{#3}\global\def#2{#4}% 
   \global\lccode`#1=`#2\global\uccode`#1=`#1%
   \global\lccode`#2=`#2\global\uccode`#2=`#1%
   }
 
 \catcode`/=13 \let/\lc@uc@ADef

 %\catcode`*=13 \let*=\Forbid@
 \catcode`^=7 %% superscript

      %/^^a0^^87{\'A}{\'a}. *^^a0 %%cf Activ8MonacoCM.tex
 /^^e7^^87{\'A}{\'a}. 
 /^^83^^8e{\'E}{\'e}.
      %/^^b1^^92{\'I}{\'\i}.*^^b1
 /^^ea^^92{\'I}{\'\i}.
      %/^^b8^^97{\'O}{\'o}.*^^b8
 /^^ee^^97{\'O}{\'o}.
      %/^^b9^^9c{\'U}{\'u}.*^^b9
 /^^f2^^9c{\'U}{\'u}.
 /^^84^^96{\~N}{\~n}.

 %^^e7^^87^^83^^8e^^ea^^92^^ee^^97^^f2^^9c^^84^^96

 \endgroup
 \endinput

