%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % aligs.sty % ArabTeX % Ligatures % called in HMODE % Version 26.05.2003 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % (c) Klaus Lagally % Institut fuer Formale Methoden der Informatik % Universitaet Stuttgart %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \a@ident {aligs.sty} {3.11 compute ligatures} {26.05.2003} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \def \is@end@char #1{00% does not connect to the left ? \a@test {#1}\xxpa \unp@ck@skl \skl@skel \relax \ifnum \skl@con = 0 \else \xpa \setiffalse \fi } %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \def \aw@endligs #1#2*#3#4*#5{% test for final ligatures % c1 m1 * c2 m2 * c3 \ifcase \act@cls \lam@lig #3#5% % 0 l \or % 1 YntCbyp \ifnum \act@cd = \a@yah \yah@end #1#3#5\else \ifnum \act@cd = \a@yah@h \yah@end #1#3#5\else \ifnum \act@cd = \a@yah@p \yah@p@end #1#3#5\else \ifnum \act@cd = \a@yah@p@s \yah@p@end #1#3#5\else \ifnum \act@cd = \a@nun \nun@end #1#3#5\else \bah@end #1% \fi\fi\fi\fi\fi \or \sin@lig #1#5% % 2 sxSD \or \gim@lig #1#3#5% % 3 GHXJ \a@min 0 \or \global\@highfalse \@mod@acttrue \put@tatwil % 4 cR \or \kaf@end #3#5% % 5 kgM \or \fah@end #1% % 6 fqv \or \ttah@lig #1#5% % 7 VZ \or \rah@end #1#2*#3#5% % 8 rzj \a@r \a@R \or % 9 \a@t \a@n \ifnum \act@cd = \a@yah@p@s \yah@p@end #1#3#5\else \ifnum \act@cd = \a@nun@p \nun@end #1#3#5\else \bah@end #1% \fi\fi \else \global\@highfalse \@mod@acttrue % 10 ... \ifnum \act@cd = \a@hah \hah@end #1#2*#3#4*#5\else \ifnum \act@cd = \a@h@s \hah@urd #3\else \ifnum \act@cd = \a@mim \mim@end #2*#3#5\else \put@tatwil \ifnum \act@cd = \a@dal \gim@test #5\else \ifnum \act@cd = \a@dal@p \gim@test #5\else \fi\fi \fi\fi\fi \fi \aw@lower #5} %%%%%%%%%%%%%%%%%%%%%%% bah %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \def \bah@end #1{% bah skeleton % c1 \ifnum \act@cls = 1 \set@act\sk@b % YntCbyp \else \set@act\sk@b@p \fi \put@tatwil \@mod@acttrue \global\@hightrue } %%%%%%%%%%%%%%%%%%%%%%% gim %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \def \gim@lig #1#2#3{% gim, hhah, khah, tchah etc. % c1 c2 c3 \ifnum \act@cd = \a@khah \else \@mod@acttrue \ifnum \act@cd = \a@gim@close \else \set@act\sk@hh \fi \fi \ifs@nd \else \if\is@end@char #3\gim@one #1#2#3\else \gim@more #1#2#3% \fi\fi } %%%%%%%%%%%%%%%%%%%%%%% gim %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \def \gim@one #1#2#3{% gim, hhah, khah, tchah % and one char % c1 c2 c3 %\ifligs \ifcase \chr@cls \act@gim #1\set@chr\sk@l@g@s % 0 l \or \act@gim #1\chr@tie\a@g@to@bb % 1 YntCbyp \set@chr\sk@spc \or \act@gim #1\chr@tie\a@g@to@s \chr@sin % 2 sxSD \or \act@gim #1% % 3 GHXJ \or \put@tatwil % 4 cR \or \act@gim #1% % 5 kgM \or \act@gim #1% % 6 fqv \else \ifx #2m\act@gim #1\set@chr\sk@m@s \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 \act@gim #1\set@chr\sk@l@y % 0 l \or \act@gim #1\chr@tie\a@g@to@mb % 1 YntCbyp \set@chr\sk@b@y \or \act@gim #1\chr@tie\a@g@to@s \chr@sin % 2 sxSD \or \put@tatwil % 3 GHXJ \or \put@tatwil % 4 cR \or \act@gim #1% % 5 kgM \else \ifx #2m\ifx #3l\act@gim #1\set@chr\sk@m@l@g \fi\fi \fi \fi } %%%%%%%%%%%%%%%%%%%%%% sin %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \def \sin@lig #1#2{% sin, shin, ssad, ddad, \a@s % c1 c3 \put@tatwil \@mod@acttrue \ifnum \chr@cls = 1 % YntCbyp \if\is@end@char #2\set@chr\sk@b@h \else \ifx #1s\set@chr\sk@b@h \else \ifx #1x\set@chr\sk@b@h \else \fi\fi\fi \fi } \def \sin@lig #1#2{% sin, shin, ssad, ddad, \a@s % c1 c3 \put@tatwil \@mod@acttrue \ifnum \chr@cls = 1 % YntCbyp \if\is@end@char #2\set@chr\sk@b@h \else \ifnum \act@cd = \a@sin \set@chr\sk@b@h \else \fi\fi \fi } %%%%%%%%%%%%%%%%%%%%%% ttah %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \def \ttah@lig #1#2{% ttah, tthah % c1 c3 \put@tatwil \@mod@acttrue \ifnum \chr@cls = 1 % YntCbyp \if\is@end@char #2\set@chr\sk@b@h \fi \fi } %%%%%%%%%%%%%%%%%%%%%% rah %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \def \rah@end #1#2*#3#4{% final r, z, j % c1 m1 * c2 c3 \@mod@acttrue \ifcase \chr@cls \put@tatwil % 0 l \or \if\is@end@char #4% % 1 YntCbyp \else \set@chr\sk@b@sp \set@high@act \fi \or \chr@tie\a@er@to@s \chr@sin % 2 sxSD \or \put@tatwil % 3 GHXJ \or \put@tatwil % 4 cR \or \ifligs % 5 kgM \ifx #1r\if\is@updia #2*\put@tatwil \else \kaf@lig \fi \else \put@tatwil \fi \else \put@tatwil \fi \else \put@tatwil \fi } %%%%%%%%%%%%%%%%%%%%%% fah %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \def \fah@end #1{% fah family % c1 \ifnum \act@cd = \a@qaf \ifnewfont \set@act\sk@q@s \@mod@acttrue \fi \else \@mod@acttrue \fi \global\@highfalse } %%%%%%%%%%%%%%%%%%%%%% kaf %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \def \kaf@end #1#2{% kaf family % c2 c3 \ifnum \act@cd = \a@kaf \gim@test #2% closed gim? \kaf@test #1% kaf-kaf ? \fi \@mod@acttrue } %%%%%%%%%%%%%%%%%%%%%% lam %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \def \lam@lig #1#2{% lam family % c2 c3 \global\@highfalse \ifnum \act@cd = \a@lam@gim \if\is@end@char #1\chr@tie\a@skip \fi \else \ifnum \act@cd = \a@lam@spec@low \else \@mod@acttrue \gim@test #2% closed gim? \kaf@test #1% kaf-lam ? \fi\fi } %%%%%%%%%%%%%%%%%%%%%% mim %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \def \mim@end #1*#2#3{% final mIm % m1 * c2 c3 \ifs@nd \if\is@lodia #1*% simulate tail \if\is@end@char #2\set@act\sk@m@s \else \set@act\sk@B \chr@tie\a@mim \fi \else \set@act\sk@m@s \fi \else \ifcase \chr@cls \set@act\sk@m@s % 0 l \if\is@end@char #3\else \set@chr\sk@l@m \fi \or \set@act\sk@m@s % 1 YntCbyp \if\is@end@char #3\chr@tie\a@em@to@bb \set@chr\sk@spc \else \set@chr\sk@b@e@m \fi \or \set@act\sk@m@s \chr@tie\a@em@to@s \chr@sin % 2 sxSD \or \put@tatwil % 3 GHXJ \or \put@tatwil % 4 cR \or \if\is@updia #1*\put@tatwil % 5 kgM \else \set@act\sk@m@s %\kaf@lig \fi \or \set@act\sk@m@s % 6 fqv \else \ifx #2m\set@act\sk@m@s \if\is@end@char #3\set@chr\sk@m@s \else \set@chr\sk@m@s@h \fi \else \put@tatwil \fi \fi \fi } %%%%%%%%%%%%%%%%%%%%%% nun %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \def \nun@end #1#2#3{% final nun % c1 c2 c3 \global\@highfalse \@mod@acttrue \ifnum \chr@cls = 1 % YntCbyp \if\is@end@char #3\else \set@chr\sk@b@sp \set@high@act \fi \else \put@tatwil \fi } %%%%%%%%%%%%%%%%%%%%%% hah %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \def \hah@end #1#2*#3#4+#5*#6{% hah, test for ligature % c1 m1 * c2 m21 + m22 * c3 \ifu@gh \ifx #1\a@H \else \set@act \sk@h@u \fi \else \ifurd@ \ifm@lay \else \set@act \sk@h@s \fi % two eyes \ifx #1T\else \ifx #1\a@H \ifx #3l\ifx #6l% % 0 l \ifnum #4 = \c@shadda \set@chr\sk@l@w % special short form of lam for the Name of God \fi\fi \put@tatwil \fi \else \set@act\sk@h@u \if\is@end@char #3% \else \set@loww@act \global\a@min 1 \fi \fi\fi \else \ifx #3l\ifx #6l% % 0 l \ifnum #4 = \c@shadda \set@chr\sk@l@w % special short form of lam for the Name of God \fi\fi \put@tatwil \else \ifnum \chr@cls = 1 \set@chr\sk@b \put@tatwil % 1 YntCbyp \else \ifnum \chr@cls = 3 % 3 GHX % \if\is@updia #4+#5*\chr@tie\a@tatwil \else \put@tatwil % \fi \else \gim@test #6\put@tatwil \fi\fi\fi\fi \fi } %%%%%%%%%%%%%%%%%%%%%% wavy hah %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \def \hah@urd #1{% wavy hah % c2 \if\is@end@char #1\set@act\sk@h % isolated round h \fi \@mod@actfalse % no mark below \ifnum \chr@cls = 1 \set@chr\sk@b % YntCbyp normal height \fi } %%%%%%%%%%%%%%%%%%%%%% yah %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \def \yah@end #1#2#3{% yah or alif maqsoura % y/Y/L c2 c3 \global\@highfalse %\global \a@min 1 \ifx #1y\ifyahd@ts \@mod@acttrue \fi \else \@mod@acttrue \fi \if\is@end@char #3\yah@one #2\else \yah@more #2% \fi } %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \def \yah@one #1{% yah or alif maqsoura % and one char % c2 \ifcase \chr@cls \act@yah \set@chr\sk@l@lng % 0 l \or % 1 YntCbyp \ifh@mza \act@yah \set@chr\sk@b@y \else \ifk@fs \act@yah \set@chr\sk@b@y \else % ++++ \ifx #1y\else \ifx #1Y\else \act@yah \set@chr\sk@b@y \fi\fi\fi\fi % ++++ \or \act@yah \chr@tie\a@em@to@s \chr@sin % 2 sxSD \or \act@yah \ifs@nd \chr@tie\a@em@to@s \fi % 3 GHXJ \or \act@yah % 4 cR \or \act@yah \ifs@nd \chr@tie\a@em@to@s \fi % 5 kgM \or \act@yah % 6 fqv \else \ifx #1m\act@yah \set@chr\sk@m@s \else \put@tatwil \fi \fi } %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \def \yah@more #1{% yah or alif maqsoura % and more than one char % c2 \ifcase \chr@cls % 0 l \act@yah \set@chr\sk@l@y \set@low@act \or \ifiz@fet % 1 YntCbyp \ifx #1y\else \ifx #1Y\else \act@yah \set@chr\sk@b@e@m \fi\fi \else \act@yah \set@chr\sk@b@e@m \fi \or \act@yah \chr@tie\a@em@to@s \chr@sin % 2 sxSD \or \act@yah \ifs@nd \chr@tie\a@em@to@s \fi % 3 GHXJ \or \put@tatwil % 4 cR \or \act@yah \kaf@lig % 5 kgM \ifs@nd \chr@tie\a@em@to@s \fi \or \ifs@nd \act@yah \else \put@tatwil \fi % 6 fqv \else \ifx #1h\act@yah \chr@tie\a@em@to@s \else \put@tatwil \fi \fi } %%%%%%%%%%%%%%%%%%%%%% long yah %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \def \yah@p@end #1#2#3{% long (Urdu) yah bari % c2 c3 \global\@highfalse \global \a@min 2 \ifx #1E\ifyahd@ts \@mod@acttrue \fi \else \@mod@acttrue \fi \if\is@end@char #3\yah@p@one #2\else \yah@p@more #2% \fi } %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \def \yah@p@one #1{% yah bari and one char % c2 \ifcase \chr@cls \relax \set@chr\sk@l@lng % 0 l \or \set@chr\sk@b@g % 1 YntCbyp \or \chr@tie\a@g@to@s \chr@sin % 2 sxSD \else \ifx #1m\set@chr\sk@m@s \else \put@tatwil \fi \fi } %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \def \yah@p@more #1{% yah bari and more than one char c2 X % c2 \ifcase \chr@cls \relax \set@chr\sk@l@y % 0 l \or \set@chr\sk@b@g % 1 YntCbyp \or \chr@tie\a@g@to@s \chr@sin % 2 sxSD \else \ifx #1m\set@chr\sk@m@s@h \else \ifx #1h\set@chr\sk@h@s@l \else \put@tatwil \fi\fi \fi } %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \def \aw@midligs #1#2*#3#4{% check for medial ligatures % 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 \put@tatwil % 4 cR \or \global\@highfalse \put@tatwil % 5 kgM \or \global\@highfalse \put@tatwil % 6 fqv \or \ttah@lig #1#4% % 7 VZ \else \global\@highfalse \ifx #1m\mim@mid #2*#3#4\else \ifx #1h\hah@mid #1#3#4\else % two-eyed hah \ifx #1\a@h\hah@urd@mid #1#3#4\else \put@tatwil \fi\fi\fi \fi } %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \def \chr@fam #1{% put family % c2 \if@con \@mod@chrtrue \ifcase \chr@cls % 0 l \or \set@chr\sk@b % 1 YntCbyp \ifx #1\a@am \chr@mod 6 \fi % Malay \or % 2 sxSD \or \set@chr\sk@hh \@mod@chrtrue % 3 GHXJ \or % 4 cR \or \kaf@fam % 5 kgM \or \set@chr\sk@f@s % 6 fqv \or % 7 VZ \or % 8 rzj \or \set@chr\sk@b@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 shape \@mod@acttrue \if@high \ifnum #1 > 9 \set@act\sk@b@h \global\@highfalse \fi \else \global\@hightrue \fi \else \ifnum \act@cd = \a@bah@high % higher shape \global\@highfalse \else \ifnum \act@cd = \a@bah@spec@gim % before medial gim \global\@highfalse \else \ifnum \act@cd = \a@bah@spec@yah % before final yah \global\@highfalse \else \ifnum \act@cd = \a@bah@mid@mim % before medial mim \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{% medial mIm % m1 * c2 c3 \ifnum \act@cd = \a@mim@spec@alif % s-m-a \ifnum \chr@cls = 2 \chr@sin \fi \else \ifligs \mim@mid@lig #1*#2#3\else \if\is@end@char #3\mim@mid@lig #1*#2#3\else \put@tatwil \fi\fi\fi } \def \mim@mid@lig #1*#2#3{% ligature for medial mIm % m1 * c2 c3 \ifcase \chr@cls % 0 l \ifnum \act@cd = \a@mim@lam@gim % l-m-^g \if\is@end@char #3\set@chr\sk@l@h \else \set@chr\sk@l@y \fi \if\is@updia #1*\set@act\sk@m@s@l \fi \else \if\is@end@char #3\act@mim@spec #1*\set@chr\sk@l@m \fi\fi %\or \set@act\sk@m@s \set@chr\sk@b@m@m % 1 YntCbyp \or \act@mim@spec #1*\set@chr\sk@b@m@m % 1 YntCbyp %\or \act@mim@spec #1*\chr@tie\a@bah@mid@mim % 2 sxSD \or \set@act\sk@m@s \chr@tie\a@bah@mid@mim % 2 sxSD \chr@sin \or \set@act\sk@m@s@h \gim@test #3% % 3 GHXJ \or \set@act\sk@m@s@h % 4 cR \or \put@tatwil % 5 kgM \or \set@act\sk@m@s@h % 6 fqv \else \ifx #2m\if\is@end@char #3% % \act@mim@spec #1*\set@chr\sk@m@s@m \set@act\sk@m@s@l \set@chr\sk@m@s@m \if\is@updia #1*\set@act\sk@m@s@l \fi \else \put@tatwil \fi \else \put@tatwil \fi \fi } %%%%%%%%%%%%%%%%%%%%%% hah %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \def \hah@mid #1#2#3{% medial hah, no ligature in Urdu % c1 c2 c3 \ifurd@ \ifnum \chr@cls = 0 % 0 l \if\is@end@char #3\set@act\sk@h@s@l \set@chr\sk@l@h \else \put@tatwil \fi \else \put@tatwil \fi \else \ifcase \chr@cls % 0 l \ifligs \set@act\sk@h@s@l \if\is@end@char #3\set@chr\sk@l@h \else \set@chr\sk@l@m \fi\fi \or \act@hah \set@chr\sk@b@e@h % 1 YntCbyp \or \act@hah \chr@tie\a@mh@to@s \chr@sin % 2 sxSD \else \ifnum \chr@cls = 9 % \a@t \a@n \act@hah \set@chr\sk@b@e@h \else \put@tatwil \fi \fi \fi } \def \hah@urd@mid #1#2#3{% medial (wavy) hah % c1 c2 c3 \ifcase \chr@cls \set@act\sk@h@s@l % 0 l \if\is@end@char #3\set@chr\sk@l@h \else \set@chr\sk@l@m \fi \or \act@hah \set@chr\sk@b@e@h % 1 YntCbyp \or \act@hah \chr@tie\a@mh@to@s \chr@sin % 2 sxSD \else \ifnum \chr@cls = 9 % \a@t \a@n \act@hah \set@chr\sk@b@e@h \else \put@tatwil \fi \fi } %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \def \gim@test #1{% closed gim ? % c3 \ifnum \chr@cls = \gim@cls % GHXJ \if\is@end@char #1\set@chr\sk@j@cl \@mod@chrtrue \global\@highfalse \fi\fi } %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \def \kaf@test #1{% short kaf ? %\ifx #1\a@ax \put@tatwil % swash kaf \ifnum \chr@cd = \a@kaf@w \put@tatwil % swash kaf \else \ifnum \chr@cls = \kaf@cls \kaf@lig \global\@highfalse \else \put@tatwil \fi\fi } %%%%%%%%%%%%%%%%%%%%%% change chr@cd %%%%%%%%%%%%%%%%%%%%%%%%%%%%% \def \chr@sin {% shape without tooth % c \@mod@chrtrue \ifnum \chr@cd = \a@sin \set@chr\sk@sn@s \else \ifnum \chr@cd = \a@sad \set@chr\sk@sd@s \else \fi\fi } \def \kaf@lig {% put short kaf-alif ligature \@mod@chrtrue \ifnum \chr@cd = \a@kaf \set@chr\sk@k@sh \else \ifnum \chr@cd = \a@kaf@s \set@chr\sk@k@sh \else \ifnum \chr@cd = \a@kaf@p \set@chr\sk@k@sp \else \ifnum \chr@cd = \a@kaf@p@s \set@chr\sk@k@sp \else \ifnum \chr@cd = \a@gaf \set@chr\sk@g@sh \else \ifnum \chr@cd = \a@gaf@s \set@chr\sk@g@sh \else \ifnum \chr@cd = \a@gaf@p@s \set@chr\sk@g@sp \else \fi\fi\fi\fi\fi\fi\fi } \def \kaf@fam {% no mark \ifnum \chr@cd = \a@kaf \set@chr\sk@k@s \else \ifnum \chr@cd = \a@kaf@p \set@chr\sk@k@p \else \ifnum \chr@cd = \a@gaf \set@chr\sk@g@s \else \fi\fi\fi } %%%%%%%%%%%%%%%%%%%%%% change act@cd %%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \def \act@yah {% short yah \global\a@min 1 \ifnum \act@cd = \a@yah \set@act\sk@y@s \else \ifnum \act@cd = \a@yah@h \set@act\sk@y@h@s \fi\fi } \def \act@hah {% short hah \ifurd@ \else \ifnum \act@cd = \a@hah \set@act\sk@h@s \fi\fi } \def \act@gim #1{% deposit ligature \ifnum \act@cd = \a@khah \set@act\sk@kh@s \act@mod = 0 \else \set@act\sk@hh@s \@mod@acttrue \fi \a@min 1 } %\fi } \def \act@mim@spec #1*{% lam-mim etc. \if\is@updia #1*\set@act\sk@m@s@l \else \set@act\sk@m@s \fi } %%%%%%%%%%%%%%%%%%%%%%%%%%%%%% keshide %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \def \put@tatwil {% deposit keshide \ifspread \if@con \@tattrue \fi\fi } \endinput %%%%%%%%%%%%%%%%%%%%%%%%%%%%%% EOF %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%