diff options
Diffstat (limited to 'Master/texmf-dist/tex/latex/arabtex/arabwin.sty')
-rw-r--r-- | Master/texmf-dist/tex/latex/arabtex/arabwin.sty | 90 |
1 files changed, 90 insertions, 0 deletions
diff --git a/Master/texmf-dist/tex/latex/arabtex/arabwin.sty b/Master/texmf-dist/tex/latex/arabtex/arabwin.sty new file mode 100644 index 00000000000..7143b3bf6f1 --- /dev/null +++ b/Master/texmf-dist/tex/latex/arabtex/arabwin.sty @@ -0,0 +1,90 @@ +%%%%%%%%%%%%%%%%%%%%%%%%%%% 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}" +% 10.04.1997 +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% (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.05 Arabic Windows encoding} {10.04.1997} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +\def \win@scan #1>{% modified scanner call: token sequence -> \a@tokens +\iftest@scan \ifshow \else \lowercase {\a@verb #1>}\fi +\tracingmacros = 1 \fi +\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@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 } + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +\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} % arabic space (NBSP) +\awin@loop {161}{44}{45} % arabic comma +\awin@loop {173}{45}{46} % soft hyphen +\awin@loop {186}{59}{60} % arabic semicolon +\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 % make letters +\advance \win@d 1 \advance \win@s 1 \ifnum \win@d < 224 \repeat + +\catcode 192 = 10 \catcode 255 = 15 \catcode 220 = 12 + +\set@asmo \global\let \a@scan \win@scan +\a@first = {^^dc} +\let \sc@back \win@back \let \sc@endscan \win@endscan +\message {input encoding set to Windows cp1256 conventions}} + +\xpa \def \xpa \sc@table \xpa {\sc@table % add the CP 1256 encoding +arabwin\set@awin cp1256\set@awin } + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +\message {scanner for Arabic Windows encoding (CP1256) installed.} +\setcode {arabwin} + +\catcode `\@ = \asmoatcode % !! +\endinput +%%%%%%%%%%%%%%%%%%%%%%%% EOF %%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + |