summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/latex/arabtex/arabwin.sty
diff options
context:
space:
mode:
Diffstat (limited to 'Master/texmf-dist/tex/latex/arabtex/arabwin.sty')
-rw-r--r--Master/texmf-dist/tex/latex/arabtex/arabwin.sty90
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 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+