File: iso88596.sty

package info (click to toggle)
arabtex 3.09-3
  • links: PTS
  • area: non-free
  • in suites: potato
  • size: 2,376 kB
  • ctags: 42
  • sloc: makefile: 32; sh: 10
file content (77 lines) | stat: -rw-r--r-- 2,734 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
%%%%%%%%%%%%%%%%%%%%%%%%%%% iso88596.sty %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% iso88596.sty
% Scanner for ISO 8859-6 Code
% reuses the ASMO 449 scanner
% to install it, include it as a LaTeX package or style option "iso88596"
% with Plain TeX, say "\input iso88596.sty"
% to activate it, say "\setcode {iso8859-6}"
% 10.04.1997
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% (c) Klaus Lagally
%     Institut fuer Informatik
%     Universitaet Stuttgart
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

\UsePackage {asmo449} % reuse asmo449 scanner
\catcode `\@ = 11
\a@ident {iso88596.sty} {3.05 ISO 8859-6 input encoding } {10.04.1997}

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

\def \is@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 \is@endscan \@@ {\gdef \a@scan {\is@scan }}

\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 }

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

%\newcount \is@n  \newcount \is@m      

\def \iso@catcodes {% assignments for ISO 8859-6 
\countdef \is@m = 2 \countdef \is@n = 4
\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  
\lccode 152 = 34 \catcode 152 = 12
\lccode 140 = 34 \catcode 140 = 12 
\is@m = 0 \is@n = 0 }

\def \set@iso {% substitute the ISO 8859-6 scanner
\set@asmo          	\global\let \a@scan \is@scan 
%\iso@catcodes		\a@first = {"`^^e0}
\iso@catcodes           \a@first = {^^e0}
\let \sc@back \is@back	\let \sc@endscan \is@endscan 
\message {input encoding set to ASMO 708 (ISO 8859-6) conventions}}

\xpa \def \xpa \sc@table \xpa {\sc@table % add the ISO 8859-6 encoding
asmo708\set@iso		iso8859-6\set@iso}

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\message {scanner for code ASMO 708 (ISO 8859-6) installed.}

\catcode `\@ = \asmoatcode
\endinput
%%%%%%%%%%%%%%%%%%%%%%%% EOF %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%