%%%%%%%%%%%%%%%%%%%%%%%%%%% iso88596.sty %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % iso88596.sty % Scanner for ISO 8859-6 Code % reuses the ASMO 449 scanner % to install it, include it as a LaTeX style option "iso88596" % with Plain TeX, say "\input iso88596.sty" % to activate it, say "\setcode {iso8859-6}" % 17.03.96 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % (c) Klaus Lagally % Institut fuer Informatik % Universitaet Stuttgart %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \UsePackage {asmo449} % reuse asmo449 scanner \catcode `\@ = 11 \a@ident {iso88596.sty} {3.04 ISO 8859-6 input encoding } {17.03.96} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \def \is@scan #1>{% modified scanner call: token sequence -> \a@tokens \iftest@scan \ifshow \else \a@verb #1>\fi \tracingmacros = 1 \fi \sc@next = {}\sc@rest = {}% %\global\def \a@rest {}\a@tokens = {}\lowercase {\sc@beg #1>>}% transform \gdef \a@rest {}\a@tokens = {}\lowercase {\sc@beg #1\@ \@@ }% transform \iftest@scan \tracingmacros = 0 % \expandafter \a@verb \expandafter (\the\a@tokens )>\fi } \def \is@endscan {\gdef \a@scan {\is@scan }} \def \is@endscan \@@ {\gdef \a@scan {\is@scan }} %\def \is@back #1>>{% end scanning, push back into input \def \is@back #1\@ \@@ {% end scanning, push back into input \gdef \a@scan {\a@@scan }% \gdef \a@rest {#1 \reset@iso }% \global\let \test@token \test@rest } \def \reset@iso {% after pushback \gdef \a@scan {\is@scan }% \gdef \sc@endscan {\is@endscan }} \def \a@c@reset@iso {% after pushback \reset@iso \test@token } %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \def \a@iso {iso8859-6} \def \a@is@asmo {asmo708} \let \is@setcode \setcode \newcount \is@n \newcount \is@m \def \set@iso {% substitute ISO 8859-6 scanner \is@m = 32 \is@n = 160 \loop \lccode \is@n = \is@m \ifnum 127 > \is@m \advance \is@m 1 \advance \is@n 1 \repeat \is@m = 193 \is@n = 225 \loop \catcode \is@n = 11 \catcode \is@m = 11 \ifnum 218 > \is@m \advance \is@m 1 \advance \is@n 1 \repeat \catcode 158 = 10 \catcode 160 = 10 \catcode 192 = 10 \catcode 224 = 12 \catcode 255 = 15 \set@asmo \let \a@scan \is@scan \a@first = {"`^^e0} \let \sc@back \is@back \let \sc@endscan \is@endscan } \def \setcode #1{\def \next {#1}% switch input coding \ifx \next \a@iso \set@iso \message {input coding set to ASMO 708 (ISO 8859-6) conventions}% \else \ifx \next \a@is@asmo \set@iso \message {input coding set to ASMO 708 (ISO 8859-6) conventions}% \else \is@setcode {#1}% \fi\fi } %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \message {scanner for code ASMO 708 (ISO 8859-6) installed.} \catcode `\@ = \asmoatcode \endinput %%%%%%%%%%%%%%%%%%%%%%%% EOF %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%