% vim: ts=8 sw=8
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% File: mlsgalig.tex
% Author: Oliver Corff
% Date: November 1st, 1999
% Version: \VersionRelease
% Copyright: Ulaanbaatar, Beijing, Berlin
%
% Description: The mls pretty-spell subroutine
%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%
\long\def\my@mls@galig#1{%
\t@kenbuffer={}%
\do@mlsgalig#1\ \end@mlsgalig\the\t@kenbuffer}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% \do@mlsgalig, \dodo@mlsgalig and the outer loop of \evaluate
% are shamelessly stolen from or modelled after Knuth's token
% scanners demonstrated in the TeXbook, exercise 11.5, chapter
% 20 and, most notoriously, appendix D.
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\def\do@mlsgalig{\afterassignment\dodo@mlsgalig\let\next= }
\def\dodo@mlsgalig{\ifx\next\end@mlsgalig \let\next\relax
\else \prettify@mls\let\next\do@mlsgalig\fi
\next}
\def\end@mlsgalig{\end@mlsgalig}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\let\following@char\empty % ditto
\let\this@char\empty % general char var initialization
%
\newtoks\t@kenbuffer % token buffer collects output
%
\newif\ifShowSpecialMLS % Used for toggling token status
\def\double@quote{''}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%
% The \evaluate construct appears in the TeXbook, disguised
% as \\; see above for sources of inspiration.
%
\def\prettify@mls{\expandafter\if\space \next\ % <- Watch space and `%'!
\let\this@char\space%
\the\t@kenbuffer%
\t@kenbuffer={}%
\this@char%
\else%
\let\this@char\next%
% [[\expandafter\string\this@char]] % <- used for diagnostics only.
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\if\this@char E%
\t@kenbuffer=\expandafter{\the\t@kenbuffer \"a}%
\else%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\if\this@char O%
\t@kenbuffer=\expandafter{\the\t@kenbuffer \"o}%
\else%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\if\this@char U%
\t@kenbuffer=\expandafter{\the\t@kenbuffer \"u}%
\else%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\if\this@char S%
\t@kenbuffer=\expandafter{\the\t@kenbuffer \sh}%
\else%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\if\this@char G%
\t@kenbuffer=\expandafter{\the\t@kenbuffer \g}%
\else%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\if\this@char '%
\ifShowSpecialMLS
\t@kenbuffer=\expandafter{\the\t@kenbuffer \fbox{\textsf{FVS1}}}%
\else%
\t@kenbuffer=\expandafter{\the\t@kenbuffer '}%
\fi
\else%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\if\this@char "%
\ifShowSpecialMLS
\t@kenbuffer=\expandafter{\the\t@kenbuffer \fbox{\textsf{FVS2}}}%
\else%
\t@kenbuffer=\expandafter{\the\t@kenbuffer ''}%
\fi
\else%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\if\this@char *%
\ifShowSpecialMLS
\t@kenbuffer=\expandafter{\the\t@kenbuffer \fbox{\textsf{*}}}%
\else
\t@kenbuffer=\expandafter{\the\t@kenbuffer *}%
\fi
\else%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\if\this@char -%
\ifShowSpecialMLS
\t@kenbuffer=\expandafter{\the\t@kenbuffer \fbox{\textsf{MSP}}}%
\else
\t@kenbuffer=\expandafter{\the\t@kenbuffer -}%
\fi
\else%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\if\this@char =%
\ifShowSpecialMLS
\t@kenbuffer=\expandafter{\the\t@kenbuffer \fbox{\textsf{MVS}}}%
\else
\t@kenbuffer=\expandafter{\the\t@kenbuffer =}%
\fi
\else%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\the\t@kenbuffer\this@char\t@kenbuffer={}%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\fi% <- end of evaluate else branch
%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%
%
}% End of evaluate definition
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%
\endinput
%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%
% The file mlsgalig.tex ends here.
%
% O. Corff, (c) 1999, Ulaanbaatar, Beijing, Berlin
%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%