%%%%%%%%%%%%%%%%%%%%%%%%%%% arabwin.sty %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % arabwin.sty based on iso88596.sty % Scanner module for the encoding used by Windows with Arabic support % how to install it: % with LaTeX2e, say "\usepackage {arabwin}" % with LaTeX 2.09, add the style option "arabwin" % with Plain TeX, say "\input arabwin.sty" % how to activate it: say "\setcode {arabwin}" % 18.03.96 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % (c) Isam G. Ishaq % (isam0732@mailszrz.zrz.TU-Berlin.DE) % (c) Klaus Lagally % Institut fuer Informatik % Universitaet Stuttgart %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \UsePackage {asmo449} \catcode `\@ = 11 \a@ident {arabwin.sty} {3.04 Arabic Windows encoding} {18.03.96} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \def \win@scan #1>{% modified scanner call: token sequence -> \a@tokens \iftest@scan \ifshow \else \a@verb #1>\fi \tracingmacros = 1 \fi \sc@next = {}\sc@rest = {}% \gdef \a@rest {}\a@tokens = {}\lowercase {\sc@beg #1\@ \@@ }% transform \iftest@scan \tracingmacros = 0 % \expandafter \a@verb \expandafter (\the\a@tokens )>\fi } \def \win@endscan {\gdef \a@scan {\win@scan }} \def \win@endscan \@@ {\gdef \a@scan {\win@scan }} %\def \win@back #1>>{% end scanning, push back into input \def \win@back #1\@ \@@ {% end scanning, push back into input \gdef \a@scan {\a@@scan }% \gdef \a@rest {#1 \reset@win }% \global\let \test@token \test@rest } \def \reset@win {% after pushback \gdef \a@scan {\win@scan }% \gdef \sc@endscan {\win@endscan }} \def \a@c@reset@win {% after pushback \reset@win \test@token } %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \def \a@awin {arabwin} \let \awin@setcode \setcode \newcount \win@s \newcount \win@d \def \awin@loop #1#2#3{% transform characters \win@s = #1 \win@d = #2 \loop \lccode \win@s = \win@d \advance \win@d 1 \advance \win@s 1 \ifnum \win@d < #3 \repeat } \def \set@awin {% substitute scanner for Windows with Arabic support \awin@loop {160}{32}{44} \awin@loop {161}{44}{59} \awin@loop {186}{59}{63} \awin@loop {191}{63}{87} \awin@loop {216}{87}{91} \awin@loop {220}{96}{100} \awin@loop {225}{100}{101} % lam \awin@loop {227}{101}{105} \awin@loop {236}{105}{107} \awin@loop {240}{107}{111} \awin@loop {245}{111}{113} \awin@loop {248}{113}{114} \awin@loop {250}{114}{115} \win@d = 193 \win@s = 225 \loop \catcode \win@s = 11 \catcode \win@d = 11 \advance \win@d 1 \advance \win@s 1 \ifnum \win@d < 224 \repeat \catcode 192 = 10 \catcode 255 = 15 \set@asmo \let \a@scan \win@scan \a@first = {"`^^dc} \let \sc@back \win@back \let \sc@endscan \win@endscan \message {input encoding set to Windows with Arabic support conventions}} \def \setcode #1{\def \next {#1}% switch input coding \ifx \next \a@awin \set@awin \else \awin@setcode {#1} \fi } %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \message {scanner for Arabic Windows encoding installed.} \setcode {arabwin} \catcode `\@ = \asmoatcode % !! \endinput %%%%%%%%%%%%%%%%%%%%%%%% EOF %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%