diff options
Diffstat (limited to 'language/casyl/casyltex.sty')
-rw-r--r-- | language/casyl/casyltex.sty | 132 |
1 files changed, 132 insertions, 0 deletions
diff --git a/language/casyl/casyltex.sty b/language/casyl/casyltex.sty new file mode 100644 index 0000000000..eabe6ce08f --- /dev/null +++ b/language/casyl/casyltex.sty @@ -0,0 +1,132 @@ +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% casyltex.sty (CASylTeX: Macros for Cree/Inuktitut) +% 15 September 2007 +% Version 2.00 +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% Ivan A Derzhanski +% Department of Mathematical Linguistics +% Institute for Mathematics and Computer Science +% Bulgarian Academy of Sciences +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +\def \CASylTeX {C{\sc a}Syl\TeX } + +\font \syll@fount=casyll10 + +\newcount \s@ll +\newcount \w@ll +\newcount \z@ll +\newcount \r@lett +\newcount \T@lett +\def \Rone {\r@lett=114} \Rone +\def \Rtwo {\r@lett=123} +\def \Tone {\T@lett=117} \Tone +\def \Ttwo {\T@lett=120} +\def \Zone {\z@ll=0} \Zone +\def \Ztwo {\z@ll=32} +\newif \ifwfront \wfrontfalse +\chardef \cree@h="08 + +\def \syll@write {\relax + \ifnum \s@ll=96% + \ifnum \w@ll=1w\fi + \else \ifnum 128>\s@ll \advance \s@ll by-\z@ll \fi + \ifnum \w@ll=1% + \ifwfront W\symbol {\s@ll }% + \else \symbol {\s@ll }W% + \fi + \else \symbol {\s@ll }% + \fi + \fi + \s@ll=96\w@ll=0} + +\def \syll@long {% + \ifnum \w@ll=1% + \ifwfront W\symbol {\s@ll}\llap'% + \else \symbol {\s@ll}\llap'W% + \fi + \else \symbol {\s@ll}\llap'% + \fi +% \symbol {\s@ll}\llap'% +% \ifnum \w@ll=1W\fi + \s@ll=96\w@ll=0} + +\expandafter \def \csname syll@'\endcsname {% + \ifnum \s@ll=96% + \ifnum \w@ll=1w\w@ll=0\fi + \else \syll@long + \fi } + +\def \if@syll@write {\ifnum 127<\s@ll \syll@write \fi} + +\def \syll@A {\if@syll@write \advance \s@ll by128\syll@long } +\def \syll@E {\if@syll@write \advance \s@ll by32\syll@long } +\def \syll@I {\if@syll@write \advance \s@ll by64\syll@long } +\def \syll@O {\if@syll@write \advance \s@ll by96\syll@long } +\def \syll@U {\if@syll@write \advance \s@ll by96\syll@long } + +\def \syll@a {\if@syll@write \advance \s@ll by128} +\def \syll@e {\if@syll@write \advance \s@ll by32} +\def \syll@i {\if@syll@write \advance \s@ll by64} +\def \syll@o {\if@syll@write \advance \s@ll by96} +\def \syll@u {\if@syll@write \advance \s@ll by96} + +\def \syll@@ {\syll@write \s@ll=96} +\def \syll@c {\syll@write \s@ll=99} +\def \syll@f {\syll@write \s@ll=113} +\def \syll@g {\syll@write \s@ll=99} +\def \syll@h {\syll@write \cree@h} +\def \syll@j {\syll@write \s@ll=121} +\def \syll@k {\syll@write \s@ll=107} +\def \syll@K {\syll@write \s@ll=11} +\def \syll@l {\syll@write \s@ll=108} +\def \syll@L {\syll@write \s@ll=100} +\def \syll@m {\syll@write \s@ll=109} +\def \syll@M {\syll@write \s@ll=13} +\def \syll@n {\syll@write \s@ll=110} +\def \syll@p {\syll@write \s@ll=112} +\def \syll@q {% + \syll@write + \s@ll=114\advance \s@ll by-\z@ll + \symbol {\s@ll}\s@ll=107} +\def \syll@r {\syll@write \s@ll=\r@lett } +\def \syll@R {\syll@write \ifnum \r@lett=114\s@ll=123\else \s@ll=114\fi } +\def \syll@s {\syll@write \s@ll=115} +\def \syll@S {\syll@write \s@ll=102} +\def \syll@t {\syll@write \s@ll=116} +\def \syll@T {\syll@write \s@ll=\T@lett } +\def \syll@v {\syll@write \s@ll=113} +\def \syll@x {\syll@write \s@ll=24} +\def \syll@y {\syll@write \s@ll=121} + +\def \syll@N {\syll@write + \s@ll=110\advance \s@ll by-\z@ll \raise .24ex\hbox {\symbol {\s@ll}}% +\kern-.15em% + \s@ll=99 \advance \s@ll by-\z@ll \lower .24ex\hbox {\symbol {\s@ll}}% + \s@ll=96} + +\def \syll@w {% + \ifnum 127<\s@ll \syll@write \fi + \w@ll=1} + +\long \def \@syll #1{% + \ifx #1\end \syll@write \let \next \end + \else \ifcat \noexpand #1\par + \syll@write #1\def \next {\futurelet \n@xt \@syll }% + \else \ifx \@sptoken \n@xt + \syll@write \relax \space \s@ll=96\w@ll=0% + \else \ifx .\n@xt + \syll@write \relax .\s@ll=96\w@ll=0\fi\fi + \csname syll@#1\endcsname + \def \next {\futurelet \n@xt \@syll }% + \fi\fi \next } + +\def \syllab {% Cree/Inuktitut environment + \syll@fount + \s@ll=96% + \w@ll=0% + \@syll } + +\def \endsyllab {} + +\def \sylla #1{\begin{syllab}#1\end{syllab}} |