%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % hewrite.sty % ArabTeX % Modifications for Hebrew mode % 21.05.2003 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % (c) Klaus Lagally % Institut fuer Formale Methoden der Informatik % Universitaet Stuttgart %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \a@ident {hewrite.sty} {3.11 for all supported Hebrew fonts} {21.05.2003} \UsePackage {hebsymb} % Hebrew font character definitions \UsePackage {hebchrs} % Hebrew letter token definitions \chardef \sind@t 1 \chardef \shind@t 2 \chardef \rd@t 3 \chardef \r@phe 4 \chardef \illch@r 33 \newcount \heb@dsp \newcount \heb@cd \newcount \heb@voc \newcount \h@modii \newcount \h@modi \newif \if@dagesh \newif \if@final \newif \if@meteg %\newif \ifhv@wel % is obsolete, remove! \newif \ifsp@c \newdimen \h@ht \newdimen \h@p %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \def \heb@write #1>{% Hebrew output routine \iftest@write \tracingmacros = 1 \iftest@parse \else \a@verb (#1)>\fi\fi \a@write@hook \ifa@@write \heb@testfont \heb@beg #1>0+0*>\fi \iftest@write \tracingmacros = 0 \fi } \def \heb@testfont {% diagnose font, look for vowels and ayin \edef \next {\the\font }% \ifx \next \h@font \else \iftest@font \a@message {Hebrew font \next selected.}\fi \global\let \h@font \next \h@testfont \fi } %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \def \isch@r #1{00% code position in font not empty? \setbox0 \hbox {\tracinglostchars 0 \char #1}% \ifdim \wd0 = \z@ \xpa \setiffalse \fi } \def \h@testfont {% diagnose font, look for vowels and ayin \if\isch@r {"80}\global\heb@dsp "20\else \if\isch@r {"E0}\global\heb@dsp "80\else \if\isch@r {"60}\global\heb@dsp 0\else \global\heb@dsp 0\errmessage {no usable Hebrew font found}% \fi\fi\fi \gdef \v@adj {0}\global\h@ht \ht0 \global\h@p .1\h@ht \relax \xdef \a@slant {\xpa\getfactor \the\fontdimen1\font }% \heb@cd \heb@dsp \advance \heb@cd 114 \xdef \hc@Pv {\the\heb@cd }% \if\isch@r {"10}\set@shalom\else \if\isch@r {1}\set@hclassic\else \set@hebstd \fi\fi } \def \set@hclassic {% and dclassic, hcaption, dcaption \global\let \h@kern \relax \global\sp@cfalse \gdef \v@adj {0}\gdef \hc@Pv {123}% \if\isch@r {"30}\global\sp@ctrue \gdef \v@adj {-.2}\gdef \hc@Pv {114}% \fi \set@hcls } \def \set@shalom {% shlm_old, shlm_stk, shlm_scr \gdef \h@kern {\kern.05em }\global\sp@cfalse \set@shlm } \def \set@hebstd {% jerusalem, oldjaffa, telaviv, deadsea, % fr, frbx, frsl, crml, crmlsl \global\let \h@kern \relax \global\sp@ctrue \set@hstd } %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \def \heb@beg #1#2*#3{% start output % c m * c \h@test@chr #1\heb@end #1#2*#3} \def \heb@end #1#2*#3{% final character % c m * c \ifx #1>\let \next \relax \else \def \next {\heb@mid #3}% \ifx #1-\else \ifcat \nxp #1-\h@put@spec #1#2*#3<% \else \h@put@end #1#2*#3<% \fi\fi \h@test@chr #3% \fi \next } \def \heb@mid #1#2*#3{% non-final character % c m * c \ifx #1>\let \next \relax \else \def \next {\heb@mid #3}% \ifcat \nxp #1-\h@put@spec #1#2*#3<% \else \h@put@mid #1#2*#3<% \fi \h@test@chr #3% \fi \next } %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \def \h@put@end {% final position \if@final \advance \act@cd -1 \fi \h@put@mid } \gdef \h@put@mid #1#2+#3*#4<{% deposit character % c m1 + m2 * c < % \def \next {\heb@mid #4}% \ifnum \act@cd = \hc@@ \relax \h@put@ill \else % illegal character \case #1\of { B{\put@maqqef \def \next {\heb@end #4}} K{\put@box {$|$}} M{\put@box {$\Box$}} WN{\put@phantom } y{\h@ylig #4<} w{\h@wlig #4<} \default {\h@putchar } }\endcase \fi \heb@accent #2+#3*\h@kern \ifnum \act@cd = \hc@l \relax \smash {\unhbox \ab@x }% \else \unhbox \ab@x \fi } \def \h@wlig #1<{% waw ligatures \ifx #1w% \fi \h@putchar } \def \h@ylig #1<{% yod ligatures \ifx #1w% \fi \h@putchar } \def \h@put@ill {\put@box {$\bullet$}} \def \put@phantom {% small space \heb@cd \hc@y \advance \heb@cd \heb@dsp \put@box {\hphantom{\char \the\heb@cd }}} {\catcode`\^ 12 \catcode `\_ 12 \catcode `\& 12 \catcode `\A 12 \catcode `\B 12 \catcode `\C 12 \catcode `\D 12 \catcode `\E 12 \catcode `\F 12 \catcode `\G 12 \catcode `\H 12 \catcode `\I 12 \catcode `\J 12 \catcode `\K 12 \catcode `\L 12 \catcode `\M 12 \catcode `\N 12 \catcode `\O 12 \catcode `\P 12 % \gdef \h@put@spec #1#2*#3<{% special character % c m * c < \case #1\of { -|{} % !,.{#1} :{#1\,} \lq {\rm \bf `} `{\rm \bf ``} % A{{\tt "}\def \next {\heb@end #3}} % " A{{\tt "}} % " B{{\rm \bf ,}} % , C{{\tt -}} % - D{{\tt \char`\|}} % | % E{{\tt \char'015}\def \next {\heb@end #3}} % ' E{{\tt \char'015}} % ' F{{\tt \char`\\}} % \ G{{\tt \char`\}}} % { H{{\tt \char`\{}} % } I{{\bf $\cdots$}} % ... J{{\bf $\div$}} % -:- K{{\tt \char`\>}} % < L{{\tt \char`\<}} % > M{{\rm \bf --}} % -- N{{\rm \bf ---}} % --- O{{\rm \bf `}} % ` % P{{\rm \bf '}\def \next {\heb@end #3}} % ' P{{\rm \bf '}} % ' \default {{\ifsp@c \else \rm \bf \fi \ifx #1][\else \ifx #1[]\else #1\fi\fi}} }\endcase \ifx #1A\else \ifx #1E\else \ifx #1'\else \def \next {\heb@end #3}\fi\fi\fi } }% \catcodes 12 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \def \h@test@chr #1{% get character attributes \@dageshfalse \@finalfalse \act@mod 0 \act@cd \hc@@ \def \hc@sk {#1}% \csname tc@\string #1\endcsname } %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \def \heb@accent #1+#2*{% put modifier onto contents of "\ab@x" % m1 + m2 * \red@mod = 0#1 \relax \advance \red@mod 100 \relax \xpa \heb@split \the\red@mod *\h@putaccent #2*} \def \h@putmod #1{% deposit modifier \ifcase #1\relax \or \h@sindot \or \h@shindot \or \h@rdot \or \h@raphe \fi } \def \heb@split 1#1#2*{% separate modifier 1 % 1 m11 m12 * \h@putmod #1\@metegfalse \red@mod = #2\relax \ifnum \red@mod > 3 \advance \red@mod -4 \@metegtrue \fi \ifnum \red@mod > 1 \advance \red@mod -2 \h@cholem \fi \ifnum \red@mod > 0 \advance \red@mod -1 \@dageshtrue \fi } \def \h@putaccent #1*{% deposit vowels \h@putmod \act@mod \ifcase 0#1\relax \put@dummy \or \put@shwa \or \put@patach \or \put@chireq \or \put@qibbus \or \put@chpatach \or \put@chsegol \or \put@chqames \or \put@segol \or \put@cholem \or \put@qames \or \put@sere \or \put@qameschat \or \put@patachf \fi \if@dagesh \put@dagesh \fi } %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \def \h@@putchar {% choose character glyph \ifnum \act@cd = \hc@v \relax \h@putlig \hc@w \hc@w \else \ifnum \act@cd = \hc@oy \relax \h@putlig \hc@y \hc@w \else \ifnum \act@cd = \hc@ey \relax \h@putlig \hc@y \hc@y \else \h@put@char \act@cd \fi\fi\fi }% \def \h@putlig #1#2{% Hebrew ligature \h@put@char #1\setbox4 \box \ab@x \h@put@char #2\setbox6 \box \ab@x \put@box {\unhcopy4 \unhcopy6 }}% \def \h@put@char #1{% choose character glyph \heb@cd #1\advance \heb@cd \heb@dsp \put@b@x {\the\heb@cd }}% \def \h@@putdot #1{% put a dot above a character \dimen@ 1.25\h@ht \dimen2 \a@slant\dimen@ \advance\dimen2 #1\a@wd \global\setbox\ab@x \hbox {\rlap{\kern\dimen2 \raise\dimen@\hbox{\the@dot }}\unhcopy\ab@x}}% \def \h@@raphe {% no dagesh \setbox0 \hbox {\the@raphe }\dimen@ 1.25\h@ht \dimen2 .5\a@wd \advance\dimen2 -.5\wd0 \advance\dimen2 \a@slant\dimen@ \global\setbox\ab@x \hbox {\rlap{\kern\dimen2 \raise\dimen@\box0 }\unhcopy\ab@x }}% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % dynamic definitions for vowel positioning % CAUTION: these routines are called in HMODE %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \gdef \set@hcls{% routines for the HCLASSIC font family \globaldefs = 1\relax %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % \let \h@putchar \h@@putchar % \def \put@maqqef {% deposit maqqef \put@b@x {\the\act@cd }}% % \def \h@vowel {% check for meteg \if@meteg \xpa \h@meteg \else \xpa \h@putvowel \fi }% % \def \h@meteg ##1{% put vowel and meteg \h@putvowel {\char 8 ##1}}% % \def \the@dot {\char 0}% % \def \the@raphe {\vrule width.8\a@wd height.4pt depth0pt }% % \def \put@dummy {\h@vowel {}}% % dummy for meteg, silluq \def \put@patach {\h@vowel {\char 1 }}% % patach \def \put@qames {\h@vowel {\char 2 }}% % qames \def \put@segol {\h@vowel {\char 3 }}% % segol \def \put@qibbus {\h@vowel {\char 4 }}% % qibbus \def \put@chireq {\h@vowel {\char 5 }}% % chireq \def \put@qameschat {\h@vowel {\char 6 }}% % qames chatuph \def \put@shwa {\h@vowel {\char 7 }}% % shwa \def \put@sere {\h@vowel {\char 9 }}% % sere \def \put@chpatach {\h@vowel {\char 1 \char 7 }}% % chateph patach \def \put@chsegol {\h@vowel {\char 3 \char 7 }}% % chateph segol \def \put@chqames {\h@vowel {\char 6 \char 7 }}% % chateph qames \def \put@cholem {\h@vowel {}\h@ldot }% % cholem breve, meteg? \def \put@patachf {\h@vowel {\hphantom {\char 1 }\char 1 }}% % patach furtivum % \def \put@dagesh {\def \vadj {.48}\def \hadj {0}% default \ifnum \act@cd = \hc@j \def \hadj {-.2}\fi % gimel \ifnum \act@cd = \hc@w \def \hadj {-.3}\def \vadj {.55}\fi % waw \ifnum \act@cd = \hc@z \def \hadj {-.4}\fi % zayin \ifnum \act@cd = \hc@tt \def \hadj {.1}\fi % tet \ifnum \act@cd = \hc@y \def \hadj {-.45}\def \vadj {.55}\fi % yod \ifnum \act@cd = \hc@l \def \hadj {-.1}\def \vadj {.3}\fi % lamed \ifnum \act@cd = \hc@n \def \hadj {-.2}\fi % nun \ifnum \act@cd = \hc@nf \def \hadj {-.2}\fi % nun sofit \ifnum \act@cd = \hc@f \def \hadj {.15}\fi % pe \ifnum \act@cd = \hc@ff \def \hadj {.15}\fi % pe sofit \ifnum \act@cd = \hc@ss \def \hadj {.1}\fi % sade \ifnum \act@cd = \hc@sf \def \hadj {.1}\fi % sade sofit \ifnum \act@cd = \hc@si \def \hadj {.07}\fi % shin \ifnum \act@cd = \hc@M \def \vadj {.7}\fi % box \dimen@ \vadj\a@ht \dimen2 \a@slant\dimen@ \advance\dimen2 \hadj\a@wd \advance\dimen2 .5\a@wd \global\setbox\ab@x \hbox %{\rlap{\kern\dimen2 \raise\dimen@\hbox{\char 0 }}\unhcopy\ab@x}}% {\rlap{\kern\dimen2 \raise\dimen@\hbox{\the@dot }}\unhcopy\ab@x}}% % \let \h@put@dot \h@@putdot % \let \h@raphe \h@@raphe % \def \h@shindot {\h@put@dot {.8}}% % right dot for shin % \def \h@sindot {\h@put@dot {.2}}% % left dot for sin % \def \h@rdot {\h@put@dot {.5}}% % right dot for waw, cholem breve % \def \h@ldot {% left dot for cholem breve \ifnum \act@cd = \hc@l \relax \h@put@dot {-.1}% lamed \else \h@put@dot {.1}\fi }% % \def \h@cholem {% depends on carrier \ifnum \act@cd = \hc@w \h@rdot \else \h@shindot \fi }% % \def \h@putvowel ##1{% vowel mark \ifx ##1\relax \relax \else \def \hadj {0}\def \vadj {0}% \ifnum \act@cd = \hc@P \let\vadj \v@adj \put@b@x{\hc@Pv }\else % vowel-ayin \ifnum \act@cd = \hc@kf \def \hadj {-.1}\def \vadj {.85}\else % final kaph \ifnum \act@cd = \hc@r \def \hadj {.35}\else % resh \ifnum \act@cd = \hc@d \def \hadj {.2}\else % daleth \ifnum \act@cd = \hc@q \def \hadj {.1}\else % qoph \ifnum \act@cd = \hc@w \def \hadj {.15}\else % waw \ifnum \act@cd = \hc@si \def \hadj {-.1}\else % sin \fi\fi\fi\fi\fi\fi\fi \setbox0 \hbox to \a@wd {\hss ##1\hss}\dimen@ \vadj\a@ht \dimen2 \a@slant\dimen@ \advance\dimen2 \hadj\a@wd \global\setbox\ab@x \hbox {\rlap {\kern\dimen2 \raise\dimen@\box0 }\unhcopy\ab@x }\fi }% % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \globaldefs = 0 }% end font HCLASSIC %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % \global\let \@set@hcls \set@hcls \gdef \set@hcls{% routines for the HCLASSIC font family %\globaldefs = 1\relax \a@message {patch HCLASSIC}% \@set@hcls \globaldefs = 1\relax \def \the@dot {\vrule width\h@p height0pt depth\h@p }% \def \the@mdot {\vrule width\h@p height-\h@p depth2\h@p }% \def \the@ldot {\vrule width\h@p height-2\h@p depth3\h@p }% \def \the@shwa {\the@dot \kern-\h@p \the@ldot }% \def \the@sere {\the@dot \kern\h@p \the@dot }% \def \the@segol {\the@dot \the@ldot \the@dot }% \def \the@qibbus {\the@dot \the@mdot \the@ldot }% \def \the@meteg {\vrule width\h@p height0pt depth3\h@p }% \def \the@meteg {\vrule width\h@p height-.2\h@p depth3\h@p }% \def \the@patach {\vrule width3\h@p height0pt depth\h@p }% \def \the@qames {\the@patach \kern-2\h@p \the@meteg \kern\h@p }% \def \put@dummy {\h@vowel {}}% \def \put@patach {\h@vowel {\the@patach }}% \def \put@qames {\h@vowel {\the@qames }}% \def \put@segol {\h@vowel {\the@segol }}% \def \put@qibbus {\h@vowel {\the@qibbus }}% \def \put@chireq {\h@vowel {\the@dot }}% \def \put@qameschat {\h@vowel {\the@qames }}% \def \put@shwa {\h@vowel {\the@shwa }}% \def \put@sere {\h@vowel {\the@sere }}% \def \put@chpatach {\h@vowel {\the@patach \kern\h@p \the@shwa }}% \def \put@chsegol {\h@vowel {\the@segol \kern\h@p \the@shwa }}% \def \put@chqames {\h@vowel {\the@qames \kern\h@p \the@shwa }}% \def \put@cholem {\h@vowel {}\h@ldot }% \def \put@patachf {\h@vowel {\kern4\h@p \the@patach }}% % \def \h@vowel {% check for meteg \if@meteg \xpa \h@meteg \else \xpa \h@putvowel \fi }% % \def \h@meteg ##1{% put vowel and meteg \h@putvowel {\the@meteg \kern\h@p ##1}}% % \def \h@vowel ##1{% check for meteg \if@meteg \xpa \h@meteg \else \xpa \h@putvowel \fi {\raise -.2ex\hbox{##1}}}% % \def \h@vowel ##1{% check for meteg \if@meteg \h@meteg {##1}\else \h@putvowel {\raise -.2ex\hbox{##1}}\fi }% % \def \h@vowel ##1{% check for meteg \if@meteg \h@putvowel {\raise -.2ex\hbox{\the@meteg \kern\h@p ##1}}\else \h@putvowel {\raise -.2ex\hbox{##1}}\fi }% % \globaldefs = 0 }% end standard fonts % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \gdef \set@shlm{% routines for the SHALOM fonts \globaldefs = 1\relax %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % \def \h@putchar {% choose character glyph \ifnum \act@cd = \hc@v \put@b@x {18}\else \ifnum \act@cd = \hc@oy \put@b@x {19}\else \ifnum \act@cd = \hc@ey \put@b@x {21}\else \h@put@char \act@cd \fi\fi\fi }% % \def \put@maqqef {% deposit maqqef \put@box {\char 25}}% % \def \isn@rrow {% narrow character (class 2) ? \xpa \is@in@list \hc@sk gdinrwyGDNORUWY>}% % \def \h@vowel ##1{% check class \heb@voc = ##1\relax \if\isn@rrow \advance\heb@voc 17 \put@box {\unhcopy\ab@x \llap{\char\heb@voc \kern -.075em }}% \else \xpa\h@v@wel \xpa{\the\heb@voc }\fi }% % \def \h@v@wel ##1{% add vowel char right \put@box {\unhcopy\ab@x \char ##1}}% % \def \put@dummy {\relax }% % dummy for meteg, silluq (?) \def \put@segol {\h@vowel {50}}% % segol \def \put@qibbus {\h@vowel {52}}% % qibbus \def \put@qameschat {\h@vowel {54}}% % qames chatuph \def \put@sere {\h@vowel {49}}% % sere \def \put@chpatach {\h@vowel {56}}% % chateph patach \def \put@chsegol {\h@vowel {55}}% % chateph segol \def \put@chqames {\h@vowel {57}}% % chateph qames \def \put@patachf {\h@vowel {70}}% % patach furtivum % \def \put@shwa {% shwa on final kaf ? \ifnum\act@cd = \hc@kf \h@v@wel {85}\else \h@vowel {51}\fi }% % \def \put@qames {% qames on alef or final kaf ? \ifnum\act@cd = \hc@a \put@b@x {17}\else \ifnum\act@cd = \hc@kf \h@v@wel {86}\else \h@vowel {54}\fi\fi }% % \def \put@patach {% patach on alef or 2 yod ? \ifnum\act@cd = \hc@ey \put@b@x {22}\else \ifnum\act@cd = \hc@a \put@b@x {16}\else \h@vowel {53}\fi\fi }% % \def \put@chireq {% chireq on yod ? \ifnum\act@cd = \hc@y \put@b@x {20}\else \h@vowel {48}\fi }% % \def \put@cholem {% cholem breve, meteg? \ifnum\act@cd = \hc@l \put@box {\char 61 \unhcopy\ab@x }\else \put@box {\rlap {\kern .1em \char 61 }\unhcopy\ab@x }\fi }% % \def \h@cholem {% depends on carrier \ifnum \act@cd = \hc@w \put@b@x {62}\else \h@shindot \fi }% % \def \h@shindot {% right dot for sin \ifnum \act@cd = \hc@si \put@b@x {23}\else \put@box {\unhcopy\ab@x \llap {\char 61 \kern .1em}}\fi }% % \def \h@sindot {% left dot for sin \ifnum \act@cd = \hc@si \put@b@x {24}\fi }% % \def \h@rdot {\h@v@wel {61}}% right dot for waw, cholem breve % \def \h@raphe {\h@v@wel {26}}% soft consonant % \def \put@dagesh {% test for yod and class2 \ifnum\act@cd = \hc@y \h@v@wel {89}\else \ifnum\act@cd = \hc@w \put@b@x {60}\else \if\isn@rrow \put@box {\unhcopy\ab@x \llap {\char 88 \kern .05em}}% \else \h@v@wel {87}\fi\fi\fi }% % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \globaldefs = 0 }% end font SHALOM %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \gdef \set@hstd{% routines for the standard fonts \globaldefs = 1\relax %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % \let \h@putchar \h@@putchar % \def \put@maqqef {% deposit maqqef \put@box {\kern.05em\raise .6ex \hbox {\char \act@cd }\kern.05em}}% % \let \h@raphe \h@@raphe % \let \h@put@dot \h@@putdot % \def \h@shindot {\h@put@dot {.8}}% % right dot for shin % \def \h@sindot {\h@put@dot {.2}}% % left dot for sin % \def \h@rdot {\h@put@dot {.5}}% % right dot for waw, cholem breve % \def \h@ldot {% left dot for cholem breve %\ifnum \act@cd = \hc@l \relax \h@put@dot {-.1}% lamed \ifnum \act@cd = \hc@l \relax \h@put@dot {-.2}% lamed \else \h@put@dot {.1}\fi }% % \def \h@cholem {% depends on carrier \ifnum \act@cd = \hc@w \h@rdot \else \h@shindot \fi }% % \def \the@raphe {\vrule width8\h@p height\h@p depth0pt }% \def \the@dot {\vrule width\h@p height0pt depth\h@p }% \def \the@mdot {\vrule width\h@p height-\h@p depth2\h@p }% \def \the@ldot {\vrule width\h@p height-2\h@p depth3\h@p }% \def \the@shwa {\the@dot \kern-\h@p \the@ldot }% \def \the@sere {\the@dot \kern\h@p \the@dot }% \def \the@segol {\the@dot \the@ldot \the@dot }% \def \the@qibbus {\the@dot \the@mdot \the@ldot }% \def \the@meteg {\vrule width\h@p height0pt depth3\h@p }% \def \the@patach {\vrule width3\h@p height0pt depth\h@p }% \def \the@qames {\the@patach \kern-2\h@p \the@meteg \kern\h@p }% % \def \put@dummy {\relax}% \def \put@dummy {\h@vowel {}}% \def \put@patach {\h@vowel {\the@patach }}% \def \put@qames {\h@vowel {\the@qames }}% \def \put@segol {\h@vowel {\the@segol }}% \def \put@qibbus {\h@vowel {\the@qibbus }}% \def \put@chireq {\h@vowel {\the@dot }}% \def \put@qameschat {\h@vowel {\the@qames }}% \def \put@shwa {\h@vowel {\the@shwa }}% \def \put@sere {\h@vowel {\the@sere }}% \def \put@chpatach {\h@vowel {\the@patach \kern\h@p \the@shwa }}% \def \put@chsegol {\h@vowel {\the@segol \kern\h@p \the@shwa }}% \def \put@chqames {\h@vowel {\the@qames \kern\h@p \the@shwa }}% \def \put@cholem {\h@vowel {}\h@ldot }% \def \put@patachf {\h@vowel {\kern4\h@p \the@patach }}% % \def \put@dagesh {\def \vadj {.48}\def \hadj {0}% default \ifnum \act@cd = \hc@j \def \hadj {-.2}\fi % gimel \ifnum \act@cd = \hc@w \def \hadj {-.3}\def \vadj {.55}\fi % waw \ifnum \act@cd = \hc@z \def \hadj {-.4}\fi % zayin \ifnum \act@cd = \hc@tt \def \hadj {.1}\fi % tet \ifnum \act@cd = \hc@y \def \hadj {-.45}\def \vadj {.55}\fi % yod \ifnum \act@cd = \hc@l \def \hadj {-.1}\def \vadj {.3}\fi % lamed \ifnum \act@cd = \hc@n \def \hadj {-.2}\fi % nun \ifnum \act@cd = \hc@nf \def \hadj {-.2}\fi % nun sofit \ifnum \act@cd = \hc@f \def \hadj {.05}\fi % pe \ifnum \act@cd = \hc@ff \def \hadj {.15}\fi % pe sofit \ifnum \act@cd = \hc@ss \def \hadj {.1}\fi % sade \ifnum \act@cd = \hc@sf \def \hadj {.1}\fi % sade sofit \ifnum \act@cd = \hc@si \def \hadj {.18}\fi % shin \ifnum \act@cd = \hc@M \def \vadj {.7}\fi % box \dimen@ \vadj\a@ht \dimen2 \a@slant\dimen@ \advance \dimen2 -\h@p \advance\dimen2 \hadj\a@wd \advance\dimen2 .5\a@wd \global\setbox\ab@x \hbox {\rlap{\kern\dimen2 \raise\dimen@\hbox{\the@dot }}\unhcopy\ab@x}}% % \def \h@putvowel ##1{% vowel mark \ifx ##1\relax \relax \else \def \hadj {0}\def \vadj {0}% \ifnum \act@cd = \hc@P \let\vadj \v@adj \put@b@x{\hc@Pv }\else % vowel-ayin \ifnum \act@cd = \hc@kf \def \hadj {-.1}\def \vadj {.85}\else % final kaph \ifnum \act@cd = \hc@r \def \hadj {.35}\else % resh \ifnum \act@cd = \hc@d \def \hadj {.2}\else % daleth \ifnum \act@cd = \hc@q \def \hadj {.1}\else % qoph \ifnum \act@cd = \hc@y \def \hadj {.1}\else % yod \ifnum \act@cd = \hc@w \def \hadj {.15}\else % waw \ifnum \act@cd = \hc@si \def \hadj {-.1}\else % sin \fi\fi\fi\fi\fi\fi\fi\fi \setbox0 \hbox to \a@wd {\hss ##1\hss}\dimen@ \vadj\a@ht \advance \dimen@ -2\h@p \dimen2 \a@slant\dimen@ \advance\dimen2 \hadj\a@wd \global\setbox\ab@x \hbox {\rlap {\kern\dimen2 \raise\dimen@\box0 }\unhcopy\ab@x }\fi }% % \def \h@vowel {% check for meteg \if@meteg \xpa \h@meteg \else \xpa \h@putvowel \fi }% % \def \h@meteg ##1{% put vowel and meteg \h@putvowel {\the@meteg \kern\h@p ##1}}% % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \globaldefs = 0 }% end standard fonts %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %}% end of dynamic definitions %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \endinput %%%%%%%%%%%%%%%%%%%%%%%%%%%%%% EOF %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%