diff options
Diffstat (limited to 'language/arabic/arabtex/texinput/heparse.sty')
-rw-r--r-- | language/arabic/arabtex/texinput/heparse.sty | 582 |
1 files changed, 291 insertions, 291 deletions
diff --git a/language/arabic/arabtex/texinput/heparse.sty b/language/arabic/arabtex/texinput/heparse.sty index 650a617cb1..dc128188ec 100644 --- a/language/arabic/arabtex/texinput/heparse.sty +++ b/language/arabic/arabtex/texinput/heparse.sty @@ -1,291 +1,291 @@ -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% heparse.sty
-% ArabTeX
-% Modifications for Hebrew mode
-% 27.04.2003
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% (c) Klaus Lagally
-% Institut fuer Formale Methoden der Informatik
-% Universitaet Stuttgart
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-
-\a@ident {heparse.sty} {3.11 Hebrew parser routines} {27.04.2003}
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% dynamic definitions for Hebrew
-{\catcode `\^ 7 \catcode `\ =9 \catcode `\^^M=9 \catcode `\^^I=9
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\gdef \def@hebvoc {% define vowel parsing routines for Hebrew
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-%%%%%%%%%%%%%%%%%%%%%%%%%% short vowels
-
-\def \sv@a {\sv@patach } % a: patach
-\def \sv@e {\sv@segol } % e: segol
-\def \sv@i {\sv@chireq } % i: chireq breve
-\def \sv@o {\sv@qamesqatuf } % o: qames-chatuph
-\def \sv@u {\sv@qibbus } % u: qibbus
-
-%%%%%%%%%%%%%%%%%%%%%%%%%% long vowels
-
-\def \sv@A {\sv@qames } % A: qames
-\def \sv@E {\sv@serelongum } % E: sere yod
-\def \sv@I {\sv@chireqlongum } % I: chireq yod
-\def \sv@O {\sv@cholemlongum } % O: cholem waw
-\def \sv@U {\sv@shureq } % U: shureq
-\def \sv@Y {\sv@qameslongum } % _A: qames aleph
-
-%%%%%%%%%%%%%%%%%%%%%%%%%% long vowels, defective
-
-\sv@def \a@a {\sv@qames } % _a: qames aleph ?
-\sv@def \a@e {\sv@shewa } % .i: shewa
-\sv@def \a@i {\sv@chireq } % _i: chireq yod ?
-\sv@def \a@o {\sv@cholem } % _o: cholem breve
-\sv@def \a@u {\sv@shureq } % _u: shureq ?
-
-%%%%%%%%%%%%%%%%%%%%%%%%%% special vowels
-
-\sv@def \a@A {\sv@chatef@patach } % .a:
-\sv@def \a@E {\sv@sere } % _e: sere breve
-\sv@def \a@I {\sv@chatef@segol } % .e:
-\sv@def \a@O {\sv@chatef@qames } % .o:
-\sv@def \a@U {\put@syl \syl@con } % .u: no vowel mark
-
-%%%%%%%%%%%%%%%%%%%%%%%%%% extra marks
-
-\sv@def \a@Za {\sv@sindot } % sin dot
-\sv@def \a@Ze {\sv@shindot } % shin dot
-\sv@def \a@Zi {\sv@rdot } % center dot
-\sv@def \a@Zo {\sv@raphe } % raphe
-\sv@def \a@Zu {\sv@dagesh } % dagesh
-
-\sv@def \a@ZA {\sv@ay } % Yiddish ay
-\sv@def \a@ZE {\sv@ey } % Yiddish ey
-\sv@def \a@ZI {\syl@voctest } % free
-\sv@def \a@ZO {\sv@oy } % Yiddish oy
-\sv@def \a@ZU {\syl@voctest } % free
-
-%%%%%%%%%%%%%%%%%%%%%%%%%% hamza handling
-
-\def \syl@hamza {% non-initial hamza, context #1'
-\put@con a\syl@voctest }
-
-\let \syl@hamzabeg \syl@hamza
-
-\def \syl@test@voc {% vowel or shewa ?
-\h@test@voc }
-
-\def \check@high ##1{\relax }
-}
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-}% end of dynamic definitions for Hebrew
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% static definitions for Hebrew
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-
-\newif \ifp@tach \newif \ifch@lem
-
-\def \h@test@voc #1{% vowel or shewa ?
-\ifch@lem \ch@lemfalse \add@rdot \fi % rdot
-\if\is@vowel #1\def \next {\syl@voc #1}\else % test for vowel
-\ifx #1|\add@madda \def \next {\syl@shewa }% % meteg
-\else \def \next {\syl@shewa #1}% non-vowel follows
-\fi\fi \next }
-
-\def \syl@shewa #1{% put shewa if appropriate
-\ifp@tach \add@patachf \p@tachfalse \else
-\xpa\ifx \the\last@con B\else
-\ifx #1<\add@@shewa \else
-\ifcat \nxp #1\nxp <\add@@shewa \else
- \add@sukun % shewa
-\fi\fi\fi\fi \put@syl \syl@con #1}
-
-\def \add@@shewa {% put shewa on final kaf
-\xpa\case \the\last@con \of
-{ k R {\add@shewa }}
-\endcase }
-
-\def \syl@meteg #1#2{% test for meteg and patach furtivum
-\ifx #2|\add@madda \def \next {#1}\else
-\ifx #2\a@A\p@tachtrue \def \next {#1}\else
- \def \next {#1#2}%
-\fi\fi \put@syl \next }
-
-\gdef \test@cont #1{% vowel contact? put dummy if not cholem male
-\ifx #1O\def \next {\syl@con #1}\else
-\ifx #1U\def \next {\syl@con #1}\else
-\if\is@vowel #1\def \next {\syl@con N#1}\else
-\def \next {\syl@con #1}\fi\fi\fi \next }
-
-\def \test@patf #1{% vowel contact? put dummy, test for guttural: 05.10.01
-\ifx #1O\def \next {\test@p@tf #1}\else
-\ifx #1U\def \next {\test@p@tf #1}\else
-\if\is@vowel #1\def \next {\syl@con N#1}\else
-\def \next {\test@p@tf #1}\fi\fi\fi \next }
-
-\def \test@p@tf #1#2#3{% guttural at end: prepare patach furtivum
-\ifx #1h\ifx #2\a@Zu \p@tachtrue
- \fi\fi
-\ifx #2a\ifx #3<\if\is@in@list #1PX>\p@tachtrue
- \fi\fi\fi
-\syl@con #1#2#3}
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-
-\def \sv@patach {% a: put patach, test meteg
-\ifp@tach \add@patachf \p@tachfalse \else \add@fatha
-\fi \syl@meteg \test@cont }
-
-\def \sv@segol {% e: put segol, test meteg
-\add@zwarakay \syl@meteg \test@cont }
-
-\def \sv@qamesqatuf {% o: put qames qatuf, test meteg
-\add@ammad \syl@meteg \test@cont }
-
-\def \sv@qibbus {% u: put qibbus, test meteg
-\add@damma \syl@meteg \test@cont }
-
-%%%%%%%%%%%%%%%%
-
-\def \sv@qames {% long a: put qames, test meteg
-\add@fathaspec \syl@meteg \test@cont }
-
-\def \sv@qamesaleph {% long a: put qames, test meteg
-\add@fathaspec \syl@meteg \sv@qames@aleph }
-
-\def \sv@qames@aleph {% long a: put aleph
-\put@con a\put@syl \test@cont }
-
-%%%%%%%%%%%%%%%%
-
-\def \sv@sere {% long e: put sere breve, test meteg
-\add@kasraspec \syl@meteg \sv@s@re }
-
-\def \sv@s@re #1{% test for ey = E
-\ifx #1y\def \next {\sv@sere@longum }%
-\else \def \next {\test@patf #1}%
-\fi \next }
-
-\def \sv@serelongum {% long e: put sere, test meteg
-\add@kasraspec \syl@meteg \sv@sere@longum }
-
-\def \sv@sere@longum {% long e: put yod ?
-\test@yod }
-
-\def \test@yod #1{% vowel or consonant
-\if\is@vowel #1\def \next {\syl@con y#1}\else
-\put@con y\put@syl \def \next {\test@patf #1}%
-\fi \next }
-
-%%%%%%%%%%%%%%%%
-
-\def \sv@chireq {% i: put chireq, test meteg
-\add@kasra \syl@meteg \sv@ch@req }
-
-\def \sv@ch@req #1{% test for iy = I
-\ifx #1y\def \next {\sv@chireq@longum }%
-\else \def \next {\test@cont #1}%
-\fi \next }
-
-\def \sv@chireqlongum {% long i: put chireq, test meteg
-\add@kasra \syl@meteg \sv@chireq@longum }
-
-\def \sv@chireq@longum {% long i: put yod ?
-\test@yod }
-
-%%%%%%%%%%%%%%%%
-
-\def \sv@shureq {% long u: test meteg
-\syl@meteg \sv@sh@req }
-
-\def \sv@sh@req {% long u: put waw with shureq
-\put@con w\add@shadda \put@syl \test@patf }
-
-%%%%%%%%%%%%%%%%
-
-\def \sv@cholem #1{% short o: test meteg
-\ifx #1|\add@madda \def \next {\sv@ch@lem }%
-\else \def \next {\sv@ch@lem #1}%
-\fi \next }
-
-\def \sv@ch@lem #1{% short o: put cholem breve
-\xpa\ifx \the\last@con \a@s % omit cholem on sin
-\else \case #1\of
-{ a A Q w{\ch@lemtrue } % shift cholem
- \default {\add@cholem } % deposit cholem
-} \endcase
-\fi \put@syl \sv@ch@lemwaw #1}
-
-\def \sv@ch@lemwaw #1{% test for ow = O
-\ifx #1w\def \next {\sv@cholem@longum }%
-\else \def \next {\test@cont #1}%
-\fi \next }
-
-\def \sv@cholemlongum {% long o: test meteg
-\syl@meteg \sv@cholem@longum }
-
-\def \sv@cholem@longum {% long o: put waw with cholem
-\put@con w\add@rdot \ch@lemfalse \put@syl \test@patf }
-
-%%%%%%%%%%%%%%%%
-
-\def \sv@chatef@patach {% put chatef patach, test meteg
-\add@fathatan \syl@meteg \test@cont }
-
-\def \sv@chatef@segol {% put chatef segol, test meteg
-\add@kasratan \syl@meteg \test@cont }
-
-\def \sv@chatef@qames {% put chatef qames, test meteg
-\add@dammatan \syl@meteg \test@cont }
-
-%%%%%%%%%%%%%%%%
-
-\def \sv@shewa {% put shewa unconditionally
-\add@shewa \put@syl \syl@con }
-
-\def \sv@sindot {% sin dot
-\voc@suk \advance \last@mod 10 \syl@voctest }
-
-\def \sv@shindot {% shin dot
-\voc@suk \advance \last@mod 20 \syl@voctest }
-
-\def \sv@rdot {% center dot
-\voc@suk \advance \last@mod 30 \syl@voctest }
-
-\def \sv@raphe {% raphe
-\voc@suk \advance \last@mod 40 \syl@voctest }
-
-\def \sv@dagesh {% dagesh, ww -> U, shureq?
-\add@shadda
-\xpa\ifx \the\last@con w\put@syl \def \next {\test@patf }%
-%\else \def \next {\syl@test@voc }%
-%\else \def \next {\syl@voctest }%
-\else \voc@suk \def \next {\syl@voctest }%
-\fi \next }
-
-\def \sv@dagesh {% dagesh, ww -> U, shureq?
-\add@shadda \voc@suk \syl@voctest }
-
-%%%%%%%%%%%%%%%%
-
-\def \sv@ay {% Yiddish ay
-\put@syl \put@con \a@i \v@ctrue \add@fatha \put@syl \test@patf }
-
-\def \sv@ey {% Yiddish ey
-\put@syl \put@con \a@i \put@syl \test@patf }
-
-\def \sv@oy {% Yiddish oy
-\put@syl \put@con \a@o \put@syl \test@patf }
-
-%%%%%%%%%%%%%%%%
-
-\def \add@rdot {\advance \last@mod \c@hamza }
-
-\def \add@cholem {\ifv@c \last@voc \c@wasla \fi }
-
-\def \add@patachf {\ifv@c \last@voc 13 \fi }
-
-\def \add@shewa {% put shewa unconditionally
-\ifv@c \last@voc \c@sukun \fi }
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\endinput
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% heparse.sty +% ArabTeX +% Modifications for Hebrew mode +% 27.04.2003 +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% (c) Klaus Lagally +% Institut fuer Formale Methoden der Informatik +% Universitaet Stuttgart +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +\a@ident {heparse.sty} {3.11 Hebrew parser routines} {27.04.2003} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% dynamic definitions for Hebrew +{\catcode `\^ 7 \catcode `\ =9 \catcode `\^^M=9 \catcode `\^^I=9 +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\gdef \def@hebvoc {% define vowel parsing routines for Hebrew +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%%%%%%%%%%%%%%%%%%%%%%%%%% short vowels + +\def \sv@a {\sv@patach } % a: patach +\def \sv@e {\sv@segol } % e: segol +\def \sv@i {\sv@chireq } % i: chireq breve +\def \sv@o {\sv@qamesqatuf } % o: qames-chatuph +\def \sv@u {\sv@qibbus } % u: qibbus + +%%%%%%%%%%%%%%%%%%%%%%%%%% long vowels + +\def \sv@A {\sv@qames } % A: qames +\def \sv@E {\sv@serelongum } % E: sere yod +\def \sv@I {\sv@chireqlongum } % I: chireq yod +\def \sv@O {\sv@cholemlongum } % O: cholem waw +\def \sv@U {\sv@shureq } % U: shureq +\def \sv@Y {\sv@qameslongum } % _A: qames aleph + +%%%%%%%%%%%%%%%%%%%%%%%%%% long vowels, defective + +\sv@def \a@a {\sv@qames } % _a: qames aleph ? +\sv@def \a@e {\sv@shewa } % .i: shewa +\sv@def \a@i {\sv@chireq } % _i: chireq yod ? +\sv@def \a@o {\sv@cholem } % _o: cholem breve +\sv@def \a@u {\sv@shureq } % _u: shureq ? + +%%%%%%%%%%%%%%%%%%%%%%%%%% special vowels + +\sv@def \a@A {\sv@chatef@patach } % .a: +\sv@def \a@E {\sv@sere } % _e: sere breve +\sv@def \a@I {\sv@chatef@segol } % .e: +\sv@def \a@O {\sv@chatef@qames } % .o: +\sv@def \a@U {\put@syl \syl@con } % .u: no vowel mark + +%%%%%%%%%%%%%%%%%%%%%%%%%% extra marks + +\sv@def \a@Za {\sv@sindot } % sin dot +\sv@def \a@Ze {\sv@shindot } % shin dot +\sv@def \a@Zi {\sv@rdot } % center dot +\sv@def \a@Zo {\sv@raphe } % raphe +\sv@def \a@Zu {\sv@dagesh } % dagesh + +\sv@def \a@ZA {\sv@ay } % Yiddish ay +\sv@def \a@ZE {\sv@ey } % Yiddish ey +\sv@def \a@ZI {\syl@voctest } % free +\sv@def \a@ZO {\sv@oy } % Yiddish oy +\sv@def \a@ZU {\syl@voctest } % free + +%%%%%%%%%%%%%%%%%%%%%%%%%% hamza handling + +\def \syl@hamza {% non-initial hamza, context #1' +\put@con a\syl@voctest } + +\let \syl@hamzabeg \syl@hamza + +\def \syl@test@voc {% vowel or shewa ? +\h@test@voc } + +\def \check@high ##1{\relax } +} +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +}% end of dynamic definitions for Hebrew +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% static definitions for Hebrew +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +\newif \ifp@tach \newif \ifch@lem + +\def \h@test@voc #1{% vowel or shewa ? +\ifch@lem \ch@lemfalse \add@rdot \fi % rdot +\if\is@vowel #1\def \next {\syl@voc #1}\else % test for vowel +\ifx #1|\add@madda \def \next {\syl@shewa }% % meteg +\else \def \next {\syl@shewa #1}% non-vowel follows +\fi\fi \next } + +\def \syl@shewa #1{% put shewa if appropriate +\ifp@tach \add@patachf \p@tachfalse \else +\xpa\ifx \the\last@con B\else +\ifx #1<\add@@shewa \else +\ifcat \nxp #1\nxp <\add@@shewa \else + \add@sukun % shewa +\fi\fi\fi\fi \put@syl \syl@con #1} + +\def \add@@shewa {% put shewa on final kaf +\xpa\case \the\last@con \of +{ k R {\add@shewa }} +\endcase } + +\def \syl@meteg #1#2{% test for meteg and patach furtivum +\ifx #2|\add@madda \def \next {#1}\else +\ifx #2\a@A\p@tachtrue \def \next {#1}\else + \def \next {#1#2}% +\fi\fi \put@syl \next } + +\gdef \test@cont #1{% vowel contact? put dummy if not cholem male +\ifx #1O\def \next {\syl@con #1}\else +\ifx #1U\def \next {\syl@con #1}\else +\if\is@vowel #1\def \next {\syl@con N#1}\else +\def \next {\syl@con #1}\fi\fi\fi \next } + +\def \test@patf #1{% vowel contact? put dummy, test for guttural: 05.10.01 +\ifx #1O\def \next {\test@p@tf #1}\else +\ifx #1U\def \next {\test@p@tf #1}\else +\if\is@vowel #1\def \next {\syl@con N#1}\else +\def \next {\test@p@tf #1}\fi\fi\fi \next } + +\def \test@p@tf #1#2#3{% guttural at end: prepare patach furtivum +\ifx #1h\ifx #2\a@Zu \p@tachtrue + \fi\fi +\ifx #2a\ifx #3<\if\is@in@list #1PX>\p@tachtrue + \fi\fi\fi +\syl@con #1#2#3} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +\def \sv@patach {% a: put patach, test meteg +\ifp@tach \add@patachf \p@tachfalse \else \add@fatha +\fi \syl@meteg \test@cont } + +\def \sv@segol {% e: put segol, test meteg +\add@zwarakay \syl@meteg \test@cont } + +\def \sv@qamesqatuf {% o: put qames qatuf, test meteg +\add@ammad \syl@meteg \test@cont } + +\def \sv@qibbus {% u: put qibbus, test meteg +\add@damma \syl@meteg \test@cont } + +%%%%%%%%%%%%%%%% + +\def \sv@qames {% long a: put qames, test meteg +\add@fathaspec \syl@meteg \test@cont } + +\def \sv@qamesaleph {% long a: put qames, test meteg +\add@fathaspec \syl@meteg \sv@qames@aleph } + +\def \sv@qames@aleph {% long a: put aleph +\put@con a\put@syl \test@cont } + +%%%%%%%%%%%%%%%% + +\def \sv@sere {% long e: put sere breve, test meteg +\add@kasraspec \syl@meteg \sv@s@re } + +\def \sv@s@re #1{% test for ey = E +\ifx #1y\def \next {\sv@sere@longum }% +\else \def \next {\test@patf #1}% +\fi \next } + +\def \sv@serelongum {% long e: put sere, test meteg +\add@kasraspec \syl@meteg \sv@sere@longum } + +\def \sv@sere@longum {% long e: put yod ? +\test@yod } + +\def \test@yod #1{% vowel or consonant +\if\is@vowel #1\def \next {\syl@con y#1}\else +\put@con y\put@syl \def \next {\test@patf #1}% +\fi \next } + +%%%%%%%%%%%%%%%% + +\def \sv@chireq {% i: put chireq, test meteg +\add@kasra \syl@meteg \sv@ch@req } + +\def \sv@ch@req #1{% test for iy = I +\ifx #1y\def \next {\sv@chireq@longum }% +\else \def \next {\test@cont #1}% +\fi \next } + +\def \sv@chireqlongum {% long i: put chireq, test meteg +\add@kasra \syl@meteg \sv@chireq@longum } + +\def \sv@chireq@longum {% long i: put yod ? +\test@yod } + +%%%%%%%%%%%%%%%% + +\def \sv@shureq {% long u: test meteg +\syl@meteg \sv@sh@req } + +\def \sv@sh@req {% long u: put waw with shureq +\put@con w\add@shadda \put@syl \test@patf } + +%%%%%%%%%%%%%%%% + +\def \sv@cholem #1{% short o: test meteg +\ifx #1|\add@madda \def \next {\sv@ch@lem }% +\else \def \next {\sv@ch@lem #1}% +\fi \next } + +\def \sv@ch@lem #1{% short o: put cholem breve +\xpa\ifx \the\last@con \a@s % omit cholem on sin +\else \case #1\of +{ a A Q w{\ch@lemtrue } % shift cholem + \default {\add@cholem } % deposit cholem +} \endcase +\fi \put@syl \sv@ch@lemwaw #1} + +\def \sv@ch@lemwaw #1{% test for ow = O +\ifx #1w\def \next {\sv@cholem@longum }% +\else \def \next {\test@cont #1}% +\fi \next } + +\def \sv@cholemlongum {% long o: test meteg +\syl@meteg \sv@cholem@longum } + +\def \sv@cholem@longum {% long o: put waw with cholem +\put@con w\add@rdot \ch@lemfalse \put@syl \test@patf } + +%%%%%%%%%%%%%%%% + +\def \sv@chatef@patach {% put chatef patach, test meteg +\add@fathatan \syl@meteg \test@cont } + +\def \sv@chatef@segol {% put chatef segol, test meteg +\add@kasratan \syl@meteg \test@cont } + +\def \sv@chatef@qames {% put chatef qames, test meteg +\add@dammatan \syl@meteg \test@cont } + +%%%%%%%%%%%%%%%% + +\def \sv@shewa {% put shewa unconditionally +\add@shewa \put@syl \syl@con } + +\def \sv@sindot {% sin dot +\voc@suk \advance \last@mod 10 \syl@voctest } + +\def \sv@shindot {% shin dot +\voc@suk \advance \last@mod 20 \syl@voctest } + +\def \sv@rdot {% center dot +\voc@suk \advance \last@mod 30 \syl@voctest } + +\def \sv@raphe {% raphe +\voc@suk \advance \last@mod 40 \syl@voctest } + +\def \sv@dagesh {% dagesh, ww -> U, shureq? +\add@shadda +\xpa\ifx \the\last@con w\put@syl \def \next {\test@patf }% +%\else \def \next {\syl@test@voc }% +%\else \def \next {\syl@voctest }% +\else \voc@suk \def \next {\syl@voctest }% +\fi \next } + +\def \sv@dagesh {% dagesh, ww -> U, shureq? +\add@shadda \voc@suk \syl@voctest } + +%%%%%%%%%%%%%%%% + +\def \sv@ay {% Yiddish ay +\put@syl \put@con \a@i \v@ctrue \add@fatha \put@syl \test@patf } + +\def \sv@ey {% Yiddish ey +\put@syl \put@con \a@i \put@syl \test@patf } + +\def \sv@oy {% Yiddish oy +\put@syl \put@con \a@o \put@syl \test@patf } + +%%%%%%%%%%%%%%%% + +\def \add@rdot {\advance \last@mod \c@hamza } + +\def \add@cholem {\ifv@c \last@voc \c@wasla \fi } + +\def \add@patachf {\ifv@c \last@voc 13 \fi } + +\def \add@shewa {% put shewa unconditionally +\ifv@c \last@voc \c@sukun \fi } + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\endinput |