%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % aligs.sty % Ligaturen 20.03.94 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % (c) Klaus Lagally % Institut fuer Informatik % Universitaet Stuttgart %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \version = {3.01} \datum = {20.03.94} \message {\the\version } \message {(\the\datum )} \edef \arabtexconfig {\arabtexconfig aligs.sty \the\version \space (\the\datum) } %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \def \aw@endligs #1#2*#3#4{% pruefe auf Ligaturen am Ende % c1 m1 * c2 c3 \ifcase \act@cls \lam@lig #3#4% % 0 l \or % 1 YntCbyp \test@in@list #1YyKL\a@E \a@y \a@Y >% \ifin@list \yah@end #1#3#4\else % \ifx #1E\ifpasht@ \yah@end #1#3#4\else \yah@p@end #3#4\fi \else \ifx #1E\yah@p@end #3#4\else \ifx #1n\nun@end #1#3#4\else \ifx #1\a@N \nun@end #1#3#4\else \ifx #1\a@n \nun@end #1#3#4\else \bah@end #1% \fi\fi\fi\fi\fi \or \sin@lig #1#4% % 2 sxSD \or \gim@lig #1#3#4% % 3 GHXJ \or \global\@highfalse \set@mod@chr % 4 cR \put@tatwil %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \or \kaf@end #3#4% % 5 kgM \or \fah@end #1% % 6 fqv \or \sin@lig #1#4% % 7 VZ \or \rah@end #1#3#4% % 8 rzj \a@r \a@R \or % 9 \a@t \a@n \ifx #1\a@n \nun@end #1#3#4\else \ifx #1\a@N \nun@end #1#3#4\else \bah@end #1% \fi \fi \else % 10 ... \global\@highfalse \ifx #1\a@h \hah@urd #3% \else \set@mod@chr \ifx #1m\mim@end #3#4\else \ifx #1d\gim@test #4% \put@tatwil %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \else \ifx #1F\gim@test #4% \put@tatwil %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \else \put@tatwil %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \fi\fi\fi \fi \fi } %%%%%%%%%%%%%%%%%%%%%%% alif %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \def \alif@lig #1*#2#3*#4{% alif, prfen auf Ligatur % m * c m * c \global\@highfalse \ifx #2l\def \next {\lam@alif #1*#3*#4}\else \gim@kaf@test #2#4% % \ifligs % \ifx #2m\test@end@char #4% -mim-alif ? % \ifend@char % \else \act@cd = \a@alif@spec@mim \chr@cd = \a@mim@spec@alif % % \fi \fi % \fi \put@end #1*#2#3*#4<% \fi \next } %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \def \lam@alif #1*#2*#3#4*#5{% Ligatur lam-alif % m * m * c m * c \global\@highfalse \a@shift \test@chr #3\chr@fam #3% \if@con \act@cd = \a@lam@alif@end \def \next {\aw@mid #3#4*#5}% \else \act@cd = \a@lam@alif@iso \def \next {\aw@end #3#4*#5}% \fi \gim@kaf@test #3#5% \a@lig #1*#2*% \next } %%%%%%%%%%%%%%%%%%%%%%% bah %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \def \bah@end #1{% Skelett % c1 \ifnum \act@cls = 1 % YntCbyp \act@cd = \a@bah@s \else \act@cd = \a@bah@p \fi \put@tatwil %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \set@mod@chr \global\@hightrue } %%%%%%%%%%%%%%%%%%%%%%% gim %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \def \gim@lig #1#2#3{% gim, hhah, khah, tchah % c1 c2 c3 \ifx #1c\set@mod@chr \else \ifx #1\a@c \set@mod@chr \else \ifx #1\a@C \set@mod@chr \else \ifx #1\a@G \set@mod@chr \else \fi\fi\fi\fi \test@end@char #3% \ifend@char \gim@one #1#2#3\else \gim@more #1#2#3% \fi } \def \gim@lig #1#2#3{% gim, hhah, khah, tchah % c1 c2 c3 \test@in@list #1c\a@c \a@C \a@G >% \ifin@list \set@mod@chr \fi \test@end@char #3% \ifend@char \gim@one #1#2#3\else \gim@more #1#2#3% \fi } %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \def \gim@one #1#2#3{% gim, hhah, khah, tchah % and one char % c1 c2 c3 \ifligs \ifcase \chr@cls % 0 l \act@gim #1\chr@tie = \a@lam@on@gim \chr@cd = \a@space@spec \or % 1 YntCbyp \act@gim #1\chr@tie = \a@g@to@bb \chr@cd = \a@space@spec \or % 2 sxSD \act@gim #1\chr@tie = \a@g@to@s \chr@sin #2% \@raisetietrue \or % 3 GHXJ \act@gim #1% \or % 4 cR \act@gim #1% \or % 5 kgM \act@gim #1% \or % 6 fqv \act@gim #1% \else \ifx #2m\act@gim #1\chr@cd = \a@mim@spec \else \put@tatwil %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \fi \fi \fi } %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \def \gim@more #1#2#3{% gim, hhah, khah, tchah % and more than one char % c1 c2 c3 \ifligs \ifcase \chr@cls % 0 l \act@gim #1\chr@cd = \a@lam@spec@yah \or % 1 YntCbyp \act@gim #1\chr@tie = \a@g@to@mb \chr@cd = \a@bah@spec@yah \or % 2 sxSD \act@gim #1\chr@tie = \a@g@to@s \chr@sin #2% \@raisetietrue \or % 3 GHXJ \act@gim #1% \or % 4 cR % \act@gim #1% \or % 5 kgM \act@gim #1% \or % 6 fqv % \act@gim #1% \or % 7 VZ % \act@gim #1% %\or % 8 rzj \else % \ifx #2h\act@gim #1% % \chr@cd = \a@hah@spec@lam % \fi % \ifx #2m\act@gim #1% % \ifx #3l\chr@cd = \a@mim@lam@gim % \else \chr@cd = \a@mim@spec@high % \fi\fi \ifx #2m\ifx #3l\act@gim #1\chr@cd = \a@mim@lam@gim \fi\fi \fi \fi } %%%%%%%%%%%%%%%%%%%%%% sin %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \def \sin@lig #1#2{% sin, shin, ssad, ddad, ttah, tthah, \a@s % c1 c3 \put@tatwil %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \ifx #1\a@S \set@mod@chr \else \ifx #1\a@Z \set@mod@chr \else \fi\fi \ifnum \chr@cls = 1 % YntCbyp \test@end@char #2% \ifend@char \chr@cd = \a@bah@high \else \ifx #1s\chr@cd = \a@bah@high \else \ifx #1x\chr@cd = \a@bah@high \else \fi\fi\fi \fi } %%%%%%%%%%%%%%%%%%%%%% rah %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \def \rah@end #1#2#3{% r, z, j am Ende % c1 c2 c3 \set@mod@chr \ifcase \chr@cls % 0 l \put@tatwil %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \or % 1 YntCbyp \test@end@char #3% \ifend@char \else \chr@cd = \a@bah@spec \set@high@chr \fi \or % 2 sxSD \chr@tie = \a@er@to@s \chr@sin #2% \or % 3 GHXJ \put@tatwil %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \or % 4 cR \put@tatwil %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \or % 5 kgM \ifligs \chr@kaf #2% \else \put@tatwil %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \fi \else \put@tatwil %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \fi } %%%%%%%%%%%%%%%%%%%%%% fah %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \def \fah@end {% fah family \ifmagh@ \set@mod@chr \fi \global\@highfalse } \def \fah@end #1{% fah family % c1 \ifx #1\a@F \set@mod@chr \else \ifx #1\a@Q \set@mod@chr \else \ifx #1\a@V \set@mod@chr \else \fi\fi\fi \global\@highfalse } %%%%%%%%%%%%%%%%%%%%%% kaf %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \def \kaf@end #1#2{% kaf-family % c2 c3 \ifnum \act@cd = \a@kaf \gim@kaf@test #1#2% \fi \set@mod@chr } %%%%%%%%%%%%%%%%%%%%%% lam %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \def \lam@lig #1#2{% lam family % c2 c3 \set@mod@chr \gim@kaf@test #1#2% \ifnum \act@cd = \a@lam@spec@yah \@raisetrue \fi } %%%%%%%%%%%%%%%%%%%%%% mim %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \def \mim@end #1#2{% mim am Ende % c2 c3 \ifligs \ifcase \chr@cls % 0 l \act@cd = \a@mim@spec \test@end@char #2% \ifend@char \else \chr@cd = \a@lam@spec@mim \fi \or % 1 YntCbyp \act@cd = \a@mim@spec \test@end@char #2% \ifend@char \chr@cd = \a@space@spec \chr@tie = \a@em@to@bb \else \chr@cd = \a@bah@end@mim \fi \or % 2 sxSD \act@cd = \a@mim@spec \chr@tie = \a@em@to@s \chr@sin #1% \or % 3 GHXJ \act@cd = \a@mim@spec \or % 4 cR \act@cd = \a@mim@spec \or % 5 kgM \act@cd = \a@mim@spec \chr@kaf #1% \or % 6 fqv \act@cd = \a@mim@spec \else \ifx #1h\test@end@char #2% \ifend@char \act@cd = \a@mim@spec \else \put@tatwil %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \fi \else \ifx #1m\act@cd = \a@mim@spec \test@end@char #2% \ifend@char \chr@cd = \a@mim@spec \else \chr@cd = \a@mim@spec@high \fi \else \put@tatwil %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \fi\fi \fi \fi } %%%%%%%%%%%%%%%%%%%%%% nun %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \def \nun@end #1#2#3{% n am Ende % c1 c2 c3 \global\@highfalse \ifx #1\a@n \else \set@mod@chr \ifx #1\a@N \else \set@mod@chr \fi\fi \ifnum \chr@cls = 1 \test@end@char #3% \ifend@char \else \chr@cd = \a@bah@spec \set@high@chr \fi \else \put@tatwil %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \fi } %%%%%%%%%%%%%%%%%%%%%% hah %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \def \hah@end #1#2+#3*#4{% hah, prfen auf Ligatur % c2 m21 + m22 * c3 \set@mod@chr \ifnum \chr@cls = 1 % YntCbyp \chr@cd = \a@bah \fi \global\@highfalse \ifurd@ \act@cd = \a@hah@urd \test@end@char #1% \ifend@char \else \@raisetrue \fi \else \ifnum \chr@cls = 3 % GHX \ifnum #3 = \c@fatha \chr@tie = \a@tatwil \else \ifnum #3 = \c@fathatan \chr@tie = \a@tatwil \else \ifnum #2 = \c@shadda \chr@tie = \a@tatwil \else \fi\fi\fi \put@tatwil %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \else \ifx #1l% \ifnum #2 = \c@shadda \chr@cd = \a@lam@spec@low % special short form of lam \else \put@tatwil %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \fi % for the Name of God \else \gim@test #4\put@tatwil %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \fi\fi\fi } %%%%%%%%%%%%%%%%%%%%%% wavy hah %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \def \hah@urd #1{% wavy hah % c2 \test@end@char #1% \ifend@char \act@cd = \a@hah \fi \ifnum \chr@cls = 1 % YntCbyp \chr@cd = \a@bah \fi } %%%%%%%%%%%%%%%%%%%%%% yah %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \def \yah@end #1#2#3{% yah or alif maqsoura % y/Y/L c2 c3 \ifx #1y\ifyahd@ts \set@mod@chr \fi %\else \ifx #1\a@e \act@mod = 12 \fi \else \ifx #1\a@Ee \act@mod = 12 \fi \set@mod@chr \fi \global\@highfalse \test@end@char #3% \ifend@char \yah@one #2\else \yah@more #2% \fi } %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \def \yah@one #1{% yah or alif maqsoura % and one char % c2 \ifcase \chr@cls % 0 l \act@yah \chr@cd = \a@lam@long % \or % 1 YntCbyp \ifh@mza \act@yah \chr@cd = \a@bah@spec@yah \else \ifk@fs \act@yah \chr@cd = \a@bah@spec@yah \else % ++++ \ifx #1y\else \ifx #1Y\else \act@yah \chr@cd = \a@bah@spec@yah \fi % ++++ \fi\fi\fi \or % 2 sxSD \act@yah \chr@tie = \a@em@to@s \chr@sin #1% \or % 3 GHXJ \act@yah \or % 4 cR \act@yah \or % 5 kgM \act@yah \chr@kaf #1% \or % 6 fqv \act@yah \else % \ifx #1h\act@yah \else \ifx #1m\act@yah \chr@cd = \a@mim@spec \else \put@tatwil %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \fi % \fi \fi } %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \def \yah@more #1{% yah or alif maqsoura % and more than one char % c2 \ifcase \chr@cls % 0 l \act@yah \chr@cd = \a@lam@spec@yah \or % 1 YntCbyp %\ifligs \ifiz@fet \ifx #1y\else \ifx #1Y\else \act@yah \chr@cd = \a@bah@end@mim \fi\fi \else \act@yah \chr@cd = \a@bah@end@mim \fi %\fi \or % 2 sxSD \act@yah \chr@tie = \a@em@to@s \chr@sin #1% \or % 3 GHXJ \act@yah \or % 4 cR \put@tatwil %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \or % 5 kgM \act@yah \chr@kaf #1% \else \put@tatwil %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \fi } %%%%%%%%%%%%%%%%%%%%%% long yah %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \def \yah@p@end #1#2{% long yah % c2 c3 \global\@highfalse \test@end@char #2% \ifend@char \yah@p@one #1\else \yah@p@more #1% \fi } %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \def \yah@p@one #1{% yah or alif maqsoura % and one char % c2 \ifcase \chr@cls % 0 l \chr@cd = \a@lam@long % \or % 1 YntCbyp \chr@cd = \a@bah@spec@yah \or % 2 sxSD \chr@tie = \a@g@to@s \chr@sin #1\@raisetietrue \else \ifx #1m\chr@cd = \a@mim@spec \else \put@tatwil %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \fi \fi } %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \def \yah@p@more #1{% yah or alif maqsoura % and more than one char c2 X % c2 \ifcase \chr@cls % 0 l \chr@cd = \a@lam@spec@yah \or % 1 YntCbyp \chr@cd = \a@bah@spec@gim \or % 2 sxSD \chr@tie = \a@g@to@s \chr@sin #1\@raisetietrue \else \ifx #1m\chr@cd = \a@mim@spec@high \else \ifx #1h\chr@cd = \a@hah@spec@lam \else \put@tatwil %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \fi\fi \fi } %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \def \aw@midligs #1#2*#3#4{% pruefe auf Ligaturen im Wort % c1 m1 * c2 c3 \ifcase \act@cls \lam@lig #3#4% % 0 l \or \bah@mid #2*#3#4% % 1 YntCbyp \or \sin@lig #1#4% % 2 sxSD \or \gim@lig #1#3#4% % 3 GHXJ \or \global\@highfalse% % 4 cR \put@tatwil %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \or \global\@highfalse% % 5 kgM \put@tatwil %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \or \global\@highfalse% % 6 fqv \put@tatwil %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \or \sin@lig #1#4% % 7 VZ \else \global\@highfalse \ifx #1m\mim@mid #2*#3#4\else \ifx #1h\hah@mid #1#3#4\else \ifx #1\a@h\hah@mid #1#3#4\else \put@tatwil %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \fi\fi\fi \fi } %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \def \chr@fam #1{% put family % c2 \if@con \@modtrue \ifcase \chr@cls % 0 l \or \chr@cd = \a@bah@s % 1 YntCbyp \or \ifx #1\a@s \chr@cd = \a@sin % 2 sxSD \fi \or \ifnum \chr@cd = \a@hhah % 3 GHXJ \else \@modfalse \fi \or \chr@cd = \a@ain % 4 cR \or % 5 kgM \ifx #1g\ifpasht@ \chr@cd = \a@kaf@p@s \else \chr@cd = \a@gaf@s \fi \else \chr@cd = \a@kaf@s \fi \or \chr@cd = \a@fah@s % 6 fqv \or % 7 VZ \or % 8 rzj \or \chr@cd = \a@bah@p % 9 \a@t \a@n \else \fi\fi } %%%%%%%%%%%%%%%%%%%%%%% bah %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \def \bah@mid #1+#2*#3#4{% long form of bah etc. % m11 + m12 * c2 c3 \put@tatwil %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \ifnum \act@cd = \a@bah@s % normal form \set@mod@chr \if@high \ifnum #1 > 9 \act@cd = \a@bah@high \global\@highfalse \fi \else \global\@hightrue \fi \else \ifnum \act@cd = \a@bah@high % high form \global\@highfalse \else \ifnum \act@cd = \a@bah@spec@gim % before mid gim \@raisetrue \global\@highfalse \else \ifnum \act@cd = \a@bah@spec@yah % before end yah \@raisetrue \global\@highfalse \else \ifnum \act@cd = \a@bah@mid@mim % before mid mim \@raisetrue \global\@highfalse \else \ifnum \act@cd = \a@bah@spec % before rah \gim@test #4% closed gim ? \global\@highfalse \else \fi\fi\fi\fi\fi\fi } %%%%%%%%%%%%%%%%%%%%%% mim %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \def \mim@mid #1+#2*#3#4{% medial mIm % m11 + m12 * c2 c3 \ifligs \ifnum \act@cd = \a@mim@spec@alif % s-m-a \ifnum \chr@cls = 2 \chr@sin #3% \fi \else \ifcase \chr@cls % 0 l \test@end@char #4% \ifnum \act@cd = \a@mim@lam@gim \@raisetrue % l-m-^g \ifend@char \chr@cd = \a@lam@spec@hah \else \chr@cd = \a@lam@spec@yah \fi \else \ifend@char \act@mim@spec #1#2*\chr@cd = \a@lam@spec@mim \fi \fi \or % 1 YntCbyp \act@mim@spec #1#2*\chr@cd = \a@bah@mid@mim \or % 2 sxSD \act@mim@spec #1#2*\chr@tie = \a@bah@mid@mim \@raisetietrue \chr@sin #3% \or % 3 GHXJ %\ifspread \put@tatwil %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %\else \act@cd = \a@mim@spec@high \gim@test #4% %\fi \or % 4 cR \act@cd = \a@mim@spec@high \or % 5 kgM \act@cd = \a@mim@spec@high \or % 6 fqv \act@cd = \a@mim@spec@high \or % 7 VZ \act@cd = \a@mim@spec@high \or % 8 rzj \else \ifx #3m\test@end@char #4% \ifend@char \act@mim@spec #1#2*\chr@cd = \a@mim@spec@mim \fi \fi \fi \fi \else \put@tatwil %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \fi % ifligs \ifnum \act@cd = \a@mim@spec \@raisetrue \else \ifnum \act@cd = \a@mim@spec@long \@raisetrue \else \ifnum \act@cd = \a@mim@spec@high \@raisetrue \else \ifnum \act@cd = \a@mim@lam@gim \@raisetrue \else \fi\fi\fi\fi } %%%%%%%%%%%%%%%%%%%%%% hah %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \def \hah@mid #1#2#3{% hah in der Mitte % c1 c2 c3 \ifligs \ifnum \chr@cls = 0 % l \act@cd = \a@hah@spec@lam \test@end@char #3% \ifend@char \chr@cd = \a@lam@spec@hah \else \chr@cd = \a@lam@spec@mim \fi \else \ifcase \chr@cls % 0 l \or % 1 YntCbyp \act@hah \chr@cd = \a@bah@end@hah \or % 2 sxSD \act@hah \chr@tie = \a@mh@to@s \chr@sin #2% \else \ifnum \chr@cls = 9 % \a@t \a@n \act@hah \chr@cd = \a@bah@end@hah \else \put@tatwil %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \fi \fi\fi \fi % ifligs \ifnum \act@cd = \a@hah@spec@lam \@raisetrue \fi } %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \def \gim@kaf@test #1#2{% lam,alif,kaf etc. % c2 c3 \gim@test #2\kaf@test #1% kaf-lam ? } %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \def \gim@test #1{% closed gim ? % c3 \ifnum \chr@cls = \gim@cls % GHXJ \test@end@char #1% \ifend@char \chr@cd = \a@gim@close \@modtrue \global\@highfalse \fi\fi } %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \def \kaf@test #1{% short kaf ? \ifnum \chr@cls = \kaf@cls % k g M \a@kp \chr@kaf #1\global\@highfalse \else \put@tatwil \fi } %%%%%%%%%%%%%%%%%%%%%% change chr@cd %%%%%%%%%%%%%%%%%%%%%%%%%%%%% \def \chr@sin #1{% Form ohne Zahn setzen % c \ifx #1x\chr@cd = \a@shin@spec \else \ifx #1S\chr@cd = \a@sad@spec \else \ifx #1D\chr@cd = \a@dad@spec \else \chr@cd = \a@sin@spec \fi\fi\fi } \def \chr@kaf #1{% Ligatur setzen % c \ifx #1g\ifpasht@\chr@cd = \a@kaf@p@spec \else \chr@cd = \a@gaf@spec \fi \else \chr@cd = \a@kaf@spec \@modtrue \fi } %%%%%%%%%%%%%%%%%%%%%% change act@cd %%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \def \act@yah {% short yah \ifnum \act@cd = \a@yah \act@cd = \a@yah@spec \else \ifnum \act@cd = \a@yah@h \act@cd = \a@yah@h@spec \fi\fi } \def \act@hah {% short hah \ifurd@ \else \ifnum \act@cd = \a@hah \act@cd = \a@hah@spec \fi\fi } \def \act@gim #1{% Ligatur setzen % c \act@cd = \a@hhah@spec \@raisetrue \ifx #1c\set@mod@chr \else \ifx #1\a@c\set@mod@chr \else \act@mod = 0 \ifx #1G\act@cd = \a@gim@spec \else \ifx #1H\act@cd = \a@hhah@spec \else \ifx #1X\act@cd = \a@khah@spec \else \ifx #1J\act@cd = \a@tsah@spec \else \fi\fi\fi\fi \fi\fi } \def \act@mim@spec #1#2*{% lam-mim etc. \ifnum #1#2 = 0 \act@cd = \a@mim@spec % no diacritic \else \act@cd = \a@mim@spec@long \fi } %%%%%%%%%%%%%%%%%%%%%%%%%%%%%% keshide %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \def \put@tatwil {% keshide setzen \ifspread \if@con \@tattrue \fi\fi } \endinput %%%%%%%%%%%%%%%%%%%%%%%%%%%%%% EOF %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%