1%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 2% atrans.sty 3% transcription module for ArabTeX 4% ZDMG Transcription 5% Encyclopedia of Islam Transcription 6% Modern Turkish Transcription 7% Urdu Transcription 8% Uighuric Transcription 9% 14.06.2003 10%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 11% (c) Klaus Lagally 12% Institut fuer Formale Methoden der Informatik 13% Universitaet Stuttgart 14%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15% Additional Transcription Modes for Farsi: 16% Encyclopedia Iranica [Standard Farsi] 17% Farsi [Modified Encyclopedia Iranica] 18% Lazard [Philological: Gilbert Lazard, etc.] 19% (c) Adrian Rezus [adriaan@{sci,cs}.kun.nl]: Nijmegen, Nederland 20% 21.12.95 21%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 22 23\ifx \transatcode \undefined 24\chardef \transatcode = \catcode`\@ \catcode`\@ = 11 25\a@ident {atrans.sty} {3.11 generate the transliteration } {14.06.2003} 26\else \xpa \endinput 27\fi 28 29%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 30 31\let \a@hyp \- \let \a@macron \= 32\let \a@acute \' \let \a@grave \` 33 34\gdef \a@trans #1>{% transcribe word 35\iftest@trans \tracingmacros=1 36\iftest@scan \else \a@verb (#1)>\fi\fi 37{\if@was \@vocaltrue \else \@vocalfalse \fi 38\let \- \a@hyp \let \= \a@macron 39\let \' \a@acute \let \` \a@grave \def \tr@act {-}% 40\tr@aword #1|||>>% 41\if@vocal \global \@wastrue \else \global \@wasfalse \fi }% 42\iftest@trans \tracingmacros=0 \fi } 43 44%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 45 46\newif \if@vocal \newif \ifc@p 47 48\gdef \tr@@aword #1{% transcribe rest of word 49\let \tr@old \tr@act \def \tr@act {#1}% 50\case #1\of 51{ >{\@gobble } 52 \cap {\c@ptrue \tr@aword } 53% |"^\a@e{\tr@aword } 54 |"^{\tr@aword } 55 -{-\tr@aword } 56 XlEeQ{\csname tr@@\string #1\endcsname } 57 \a@a NUW{\setc@p #1\kill@alif } 58 P{\tr@P \tr@aword } 59 aiu{\tr@wasla #1} 60 \a@Ze{\xpa\tr@aword \tr@old } 61\default {\@vocalfalse 62 \ifcat \nxp #1-#1\else \setc@p #1% 63 \fi \tr@aword } 64}\endcase } 65 66\def \setc@p #1{% capitalize if needed 67\xpa\ifx \xpa\relax \csname tr@\string #1\endcsname \tr@@ \else 68\ifc@p \xxxpa\uppercase \xxpa{\csname tr@\string #1\endcsname }\c@pfalse 69\else \csname tr@\string #1\endcsname 70\fi\fi } 71 72\def \@gobble #1{} 73 74%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 75 76\gdef \kill@alif #1{% delete alif or waw after N, U, W, _a 77\case #1\of 78{ aAIYU{\tr@aword } 79\default {\tr@aword #1} 80}\endcase } 81 82\gdef \tr@wasla #1{% initial vowel, Arabic 83\ifiz@fet \@vocalfalse \fi 84\ifu@gh \@vocalfalse \fi 85\ifh@mza \if@vocal '\else \setc@p #1\fi 86\else \setc@p #1\fi 87\@vocaltrue \tr@aword } 88 89\gdef \tr@vowel #1{% vowel 90\setc@p #1\@vocaltrue \tr@aword } 91 92%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 93 94\gdef \sp@cw@w #1#2{% handle w after _h (Persian) specially 95\def \next {\tr@aword #2}\@vocalfalse 96\ifiz@fet \ifx #2w#1\let\next\tr@aword 97\fi\fi \next } 98 99\gdef \putw@w {\sp@cw@w w } % w after _h (Persian): normal 100 101\gdef \killw@w {\sp@cw@w {}} % w after _h (Persian): delete 102 103\gdef \superv@w {\sp@cw@w {$^v\!$}}% w after _h (Persian): super v 104 105\gdef \superw@w {\sp@cw@w {$^w\!$}}% w after _h (Persian): super w 106 107%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 108 109\gdef \tr@@l #1{% test assimilation after l 110\ifx #1-\def \next {\tr@@la }\else 111 \setc@p l\def \next {\tr@aword #1}% 112\fi \@vocalfalse \next } 113 114\gdef \tr@@la #1#2{% test assimilation after l- 115\case #1\of 116{ Q{\setc@p l-\tr@Q \tr@aword } % l - Q x -> l - ' 117 #2{\tr@aword #1-#2} % l - x x -> x - x 118 \cap {\tr@@lb #2} % l - \cap x 119\default {\setc@p l-\tr@aword #1#2} 120}\endcase } 121 122\gdef \tr@@lb #1#2{% test assimilation after l-\cap 123\case #1\of 124{ #2{\tr@aword #1-\cap #2} % l - \cap x x -> x - \cap x 125\default {\setc@p l-\tr@aword \cap #1#2} 126}\endcase } 127 128%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 129 130\gdef \x@s #1{\oalign{#1\crcr\hidewidth \sh@ft{34}% accent for _h 131 \vbox to -.2ex {\hbox{\char'25}\vss}\hidewidth}} 132 133\gdef \x@x #1{\oalign{#1\crcr\hidewidth \sh@ft{29}% accent for .s in Urdu 134 \vbox to.2ex{\hbox{\char'177}\vss}\hidewidth}} 135 136\def \ish@ft #1{\dimen\z@.00#1ex\multiply\dimen\z@\fontdimen1\font 137 \kern.0156\dimen\z@} % positive kern for slant 138 139\def \rsh@ft #1#2{\ish@ft{#1}#2\sh@ft{#1}} 140 141%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 142 143\def \tr@def #1#2{% define \tr@#1 as {#2} 144\xpa \gdef \csname tr@\string #1\endcsname {#2}} 145 146\def \tr@cap #1{\ifc@p \uppercase {#1}\else #1\fi } 147 148\def \tr@ng {\tr@cap ng} \def \tr@ny {\tr@cap ny} 149\def \tr@kh {\tr@cap kh} \def \tr@th {\tr@cap th} 150\def \tr@dh {\tr@cap dh} \def \tr@bh {\tr@cap bh} 151\def \tr@ph {\tr@cap ph} \def \tr@zh {\tr@cap zh} 152\def \tr@sh {\tr@cap sh} \def \tr@ch {\tr@cap ch} 153\def \tr@gh {\tr@cap gh} \def \tr@af {\tr@cap {\'d}h} 154\def \tr@ag {\tr@cap {\'t}h} \def \tr@aj {\tr@cap {\v{c}}h} 155 156%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 157{\catcode `\^ 7 \catcode `\ =9 \catcode `\^^M=9 \catcode `\^^I=9 158\gdef \tr@zdmg {% define character macros for transliteration 159%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 160\let \specw@w \killw@w % special handling of w after .h in Farsi 161\gdef \tr@@e ##1{% test for ee -> ey 162 \ifx ##1e\def \next {\setc@p e\tr@aword y}\else 163 \def \next {\setc@p e\tr@aword ##1}\fi \next} 164\gdef \tr@@E ##1{% test for Ee -> ey 165 \ifx ##1e\def \next {\setc@p e\tr@aword y}\else 166 \def \next {\setc@p E\tr@aword ##1}\fi \next} 167\gdef \tr@@Q ##1{\tr@Q \def \next {\tr@aword ##1}% 168 \ifh@mza \let \next \tr@aword \fi \next } 169\gdef \tr@@X {\setc@p X\specw@w } 170\gdef \tr@@ {{$\bullet $}}% substitute for illegal characters 171\gdef \tr@a {a\@vocaltrue } 172\gdef \tr@b {b} \gdef \tr@c {c} \gdef \tr@d {d} 173\gdef \tr@e {e\@vocaltrue } 174\gdef \tr@f {f} \gdef \tr@g {g} \gdef \tr@h {h} 175\gdef \tr@i {i\@vocaltrue } 176\gdef \tr@j {\v{z}} \gdef \tr@k {k} \gdef \tr@l {l} 177\gdef \tr@m {m} \gdef \tr@n {n} 178\gdef \tr@o {o\@vocaltrue } 179\gdef \tr@p {p} \gdef \tr@q {q} \gdef \tr@r {r} 180\gdef \tr@s {s} \gdef \tr@t {t} 181\gdef \tr@u {u\@vocaltrue } 182\gdef \tr@v {v} \gdef \tr@w {w} \gdef \tr@x {\v{s}} 183\gdef \tr@y {y} \gdef \tr@z {z} 184\gdef \tr@A {\=a\-\@vocaltrue } \gdef \tr@B {} 185\gdef \tr@C {\b{t}} \gdef \tr@D {\d{d}} 186\gdef \tr@E {\=e\-\@vocaltrue } 187\gdef \tr@F {\b{d}} \gdef \tr@G {\v{g}} 188\gdef \tr@H {\d{h}} \gdef \tr@I {\ifc@p\=I\else\=\i\fi\-\@vocaltrue } 189\gdef \tr@J {\v{c}} \gdef \tr@K {\~n} 190\gdef \tr@L {y} \gdef \tr@M {\tr@ny} 191\gdef \tr@N {n\@vocalfalse } 192\gdef \tr@O {\=o\-\@vocaltrue } 193\gdef \tr@P {\rsh@ft{07}{\ifc@p \raise .2ex \hbox {$\lhook $}\kern-.1em 194 \else \kern-.05em$\lhook$\kern-.05em\fi }\@vocalfalse } 195\gdef \tr@Q {\rsh@ft{07}{\ifc@p \raise .2ex \hbox {$\rhook $}\kern-.1em 196 \else \kern-.05em$\rhook$\kern-.05em\fi }\@vocalfalse } 197\gdef \tr@R {\.g} 198\gdef \tr@S {\d{s}} \gdef \tr@T {t} 199\gdef \tr@U {\=u\-\@vocaltrue } 200\gdef \tr@V {\d{t}} 201\gdef \tr@W {w\@vocalfalse } 202\gdef \tr@X {\x@s{h}} 203\gdef \tr@Y {\=a\-\@vocaltrue } 204\gdef \tr@Z {\d{z}} 205\tr@def \a@a {\=a\-\@vocaltrue } 206\tr@def \a@b {\d{b}} \tr@def \a@c {\'c} \tr@def \a@d {\'d} 207\tr@def \a@e {\'d} \tr@def \a@f {\d{f}} \tr@def \a@g {g} 208\tr@def \a@h {h} \tr@def \a@i {\ifc@p\=I\else\=\i\fi\-\@vocaltrue } 209\tr@def \a@j {\ifc@p\"I\else\"\i\fi\@vocaltrue } 210\tr@def \a@k {\ifs@nd \tr@kh\else k\fi } 211\tr@def \a@l {\~l} \tr@def \a@m {k} \tr@def \a@n {\d{n}} 212\tr@def \a@o {u\@vocaltrue } \tr@def \a@p {\tr@ng} 213\tr@def \a@q {\'r} \tr@def \a@r {\'r} \tr@def \a@s {\'s} 214\tr@def \a@t {\'t} \tr@def \a@u {\=u\-\@vocaltrue } 215\tr@def \a@v {\'t} \tr@def \a@w {{u}\@vocaltrue } 216\tr@def \a@x {v} \tr@def \a@y {y} \tr@def \a@z {\'z} 217\tr@def \a@A {e\@vocaltrue } 218\tr@def \a@B {\tr@@ } \tr@def \a@C {\'c} \tr@def \a@D {\'{d}} 219\tr@def \a@E {\ifk@rd\v{e}\else\={e}\fi\@vocaltrue } 220\tr@def \a@F {f} \tr@def \a@G {\'c} \tr@def \a@H {h} 221\tr@def \a@I {\ifc@p\"J\else\"\j\fi } \tr@def \a@J {\.g} 222\tr@def \a@K {\d{k}} \tr@def \a@L {k} \tr@def \a@M {k} 223\tr@def \a@N {\d{n}} 224\tr@def \a@O {o\@vocaltrue } 225\tr@def \a@P {\={u}\@vocaltrue } \tr@def \a@Q {q} 226\tr@def \a@R {\.r} \tr@def \a@S {\'s} \tr@def \a@T {\tr@ag} 227\tr@def \a@U {u\@vocaltrue } 228\tr@def \a@V {v} \tr@def \a@W {o} 229\tr@def \a@X {w} \tr@def \a@Y {\=e\-} \tr@def \a@Z {\'s} 230\tr@def \a@aa {a\@vocaltrue } % Uighuric alif 231\tr@def \a@ab {\x@x{b}} \tr@def \a@ac {\tr@th} \tr@def \a@ad {\tr@dh} 232\tr@def \a@ae {\x@x{d}} \tr@def \a@af {\tr@af} \tr@def \a@ag {\~{n}} 233\tr@def \a@ah {\"{\j}} \tr@def \a@aj {\v{c}h} \tr@def \a@ak {\x@x{g}} 234\tr@def \a@al {\x@x{n}} \tr@def \a@an {\'{n}} \tr@def \a@ap {\tr@bh} 235\tr@def \a@aq {\tr@ph} \tr@def \a@ar {\'{r}} \tr@def \a@at {\'{t}} 236\tr@def \a@au {w} % Uighuric waw with roof 237\tr@def \a@ax {k} 238\tr@def \a@aA {\'{d}} 239\tr@def \a@aJ {s} % sin with 3 dots below 240\tr@def \a@Zz {\d{\b{d}}} % .z, Palestinian, coded .Z 241\tr@def \a@aO {\d{\b{d}}} % .z, Palestinian, coded .Z, (for test only) 242\gdef \tr@aword {\tr@@aword }\global \tr@nstrue }% end \tr@zdmg 243}% catcodes 244 245%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 246{\catcode `\^ 7 \catcode `\ =9 \catcode `\^^M=9 \catcode `\^^I=9 247\catcode `\~=10 248\gdef \tr@encislam {% define Enc. of Islam transliteration 249%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 250\tr@zdmg \let \@ub \underbar 251\let \specw@w \killw@w % special handling of w after .h in Farsi 252\def \tr@j {\@ub{\tr@zh}} \def \tr@x {\@ub{\tr@sh}} 253\def \tr@C {\@ub{\tr@th}} \def \tr@F {\@ub{\tr@dh}} 254\def \tr@G {j} \def \tr@J {\@ub{\tr@ch}} 255\def \tr@R {\@ub{\tr@gh}} \def \tr@X {\@ub{\tr@kh}} 256%\def \tr@q {\d{k}} % variant qaf; uncomment if required 257%\def \tr@P {$^c$} % variant `ain; uncomment if required 258\a@message {Encyclopedia~of~Islam~transliteration.}}} 259 260%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 261{\catcode `\^ 7 \catcode `\ =9 \catcode `\^^M=9 \catcode `\^^I=9 262\catcode `\~=10 263\gdef \tr@turk {% define character macros for modern Turkish 264%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 265\tr@zdmg 266\let \specw@w \putw@w % no special handling of w after .h in Farsi 267\gdef \tr@e {e\@vocaltrue } \gdef \tr@q {k} 268\gdef \tr@w {v} \gdef \tr@x {\c{s}} 269\gdef \tr@A {\^a\@vocaltrue } \gdef \tr@E {\^e\@vocaltrue } 270\gdef \tr@G {c} \gdef \tr@H {h} 271\gdef \tr@I {\^{\i}\@vocaltrue} \gdef \tr@J {\c{c}} 272\gdef \tr@K {n} \gdef \tr@O {\^o\@vocaltrue } 273\gdef \tr@P {\-} \gdef \tr@R {g} 274\gdef \tr@S {s} \gdef \tr@T {t} 275\gdef \tr@U {\^u\@vocaltrue \kill@alif } 276\gdef \tr@V {t} \gdef \tr@Z {z} 277\tr@def \a@j {\i\@vocaltrue } 278\tr@def \a@m {\u{g}} \tr@def \a@w {{\"u}\@vocaltrue } 279\tr@def \a@A {\"a\@vocaltrue } \tr@def \a@H {} 280\tr@def \a@I {{\i}\@vocaltrue } \tr@def \a@J {\u{g}} 281\tr@def \a@L {g} \tr@def \a@M {n} 282\tr@def \a@O {\"o\@vocaltrue } 283\tr@def \a@P {\"o\@vocaltrue } \tr@def \a@Q {q} 284\tr@def \a@U {\"u\@vocaltrue } \tr@def \a@V {v} 285\catcode `\ =10 286\a@message {modern~Turkish~transliteration.}}} 287 288%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 289% Specific definitions for Persian: 290%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 291{\catcode `\^ 7 \catcode `\ =9 \catcode `\^^M=9 \catcode `\^^I=9 292\catcode `\~=10 293\gdef \tr@enciran {% Encyclopaedia Iranica transliteration 294%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 295\tr@zdmg % start with default and modify 296\let \specw@w \superv@w % special handling of w after .h in Farsi 297\gdef\tr@w{v\@vocalfalse} % EIran = Lazard <> ZDMG 298\gdef\tr@W{v\@vocalfalse} % EIran = Lazard <> ZDMG 299\gdef\tr@G{\v{\j}\@vocalfalse} % EIran = Lazard <> ZDMG 300\gdef\tr@D{\.{z}\@vocalfalse} % EIran = Lazard <> ZDMG 301\gdef\tr@C{\b{s}\@vocalfalse} % EIran <> Lazard <> ZDMG 302\gdef\tr@F{\b{z}\@vocalfalse} % EIran <> Lazard <> ZDMG 303\gdef\tr@R{\={g}\@vocalfalse} % EIran <> Lazard <> ZDMG 304\gdef\tr@X{\b{k}} % EIran <> Lazard <> ZDMG 305\tr@def\a@H{} % EIran = Lazard <> ZDMG 306\a@message {Encyclopaedia~Iranica~transliteration.}}} 307 308%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 309{\catcode `\^ 7 \catcode `\ =9 \catcode `\^^M=9 \catcode `\^^I=9 310\catcode `\~=10 311\gdef \tr@farsi {% Modified Encyclopaedia Iranica transliteration 312%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 313\tr@enciran % start with default and modify 314\let \specw@w \superv@w % special handling of w after .h in Farsi 315\gdef\tr@R{\.{g}\@vocalfalse} % ZDMG = Persian 316\gdef\tr@X{x} % Lazard = Persian 317\tr@def\a@H{$\hbar\!$} % Persian <> EIran = nil 318\a@message {Modified~Encyclopaedia~Iranica~transliteration.}}} 319 320%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 321{\catcode `\^ 7 \catcode `\ =9 \catcode `\^^M=9 \catcode `\^^I=9 322\gdef \tr@lazard {% Philological Farsi transliteration; cf., e.g., 323 % Gilbert Lazard 324 % "La langue des plus anciens documents de la prose persane" 325 % (Paris: Cl. Klincksieck 1963). 326%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 327\tr@enciran % start with default and modify 328\let \specw@w \superv@w % special handling of w after .h in Farsi 329\gdef\tr@C{\b{s}\@vocalfalse} % Lazard <> EIran 330\gdef\tr@C{$\theta\!$\@vocalfalse} % Lazard <> EIran 331\gdef\tr@F{$\delta\!$\@vocalfalse} % Lazard <> EIran <> ZDMG 332\gdef\tr@R{$\gamma\!$\@vocalfalse} % Lazard <> EIran <> ZDMG 333\gdef\tr@X{x} % Lazard <> EIran <> ZDMG 334\a@message {Philological~Farsi~transliteration.}}} 335 336%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 337{\catcode `\^ 7 \catcode `\ =9 \catcode `\^^M=9 \catcode `\^^I=9 338\catcode `\~=10 339\gdef \tr@urdu {% define Urdu transliteration 340%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 341\tr@zdmg 342\let \specw@w \killw@w % special handling of w after .h in Farsi 343\gdef \tr@j {\.{z}} \gdef \tr@x {\'{s}} \gdef \tr@C {\x@x{s}} 344\gdef \tr@D {\b{z}} \gdef \tr@F {\d{z}} \gdef \tr@G {j} 345\gdef \tr@H {\b{h}} \gdef \tr@J {c} \gdef \tr@O {o\-\@vocaltrue} 346\gdef \tr@S {\b{s}} \gdef \tr@T {t} \gdef \tr@V {\x@x{t}} 347\gdef \tr@X {x} \gdef \tr@Z {\x@x{z}} \tr@def \a@d {\d{d}} 348\tr@def \a@r {\d{r}} \tr@def \a@t {\d{t}} \tr@def \a@H {} 349\a@message {Urdu~transliteration.}}} 350 351%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 352{\catcode `\^ 7 \catcode `\ =9 \catcode `\^^M=9 \catcode `\^^I=9 353\catcode `\~=10 354\gdef \tr@kash {% define Kashmiri transliteration 355%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 356\tr@zdmg \let \@ub \underbar 357\let \specw@w \putw@w % no special handling of w after .h 358\gdef \tr@j {ts} \gdef \tr@x {\'{s}} \gdef \tr@C {\b{s}} 359\gdef \tr@D {\x@x{z}} \gdef \tr@F {\b{z}} \gdef \tr@G {j} 360\gdef \tr@H {\d{h}} \gdef \tr@J {c} \gdef \tr@R {\@ub{\tr@gh}} 361\gdef \tr@S {\d{s}} \gdef \tr@T {t} \gdef \tr@V {\b{t}} 362\gdef \tr@X {\@ub{\tr@kh}} \gdef \tr@Z {\d{z}} 363\tr@def \a@d {\d{d}} \tr@def \a@r {\d{r}} \tr@def \a@t {\d{t}} 364\tr@def \a@Za {\d{a}} \tr@def \a@ZA {\d{\=a}} 365\tr@def \a@Zo {\d{o}} \tr@def \a@ZO {\d{\=o}} 366\tr@def \a@Zu {u'} \tr@def \a@ZU {\=u'} \tr@def \a@ZI {\.y} 367\a@message {Kashmiri~transliteration.}}} 368 369%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 370{\catcode `\^ 7 \catcode `\ =9 \catcode `\^^M=9 \catcode `\^^I=9 371\catcode `\~=10 372\gdef \tr@uigh {% define Uighuric transliteration 373%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 374\tr@zdmg 375\gdef \tr@a {a} \gdef \tr@e {e} 376\gdef \tr@i {i} \gdef \tr@j {j} 377\gdef \tr@o {o} \gdef \tr@u {u} 378\gdef \tr@G {\v{g}} \gdef \tr@X {x} 379\gdef \tr@Y {} 380\tr@def \a@A {\"a} \tr@def \a@O {\"o} 381\tr@def \a@U {\"u} \tr@def \a@X {v} 382\a@message {Uyghuric~transliteration.}}} 383 384%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 385{\catcode `\^ 7 \catcode `\ =9 \catcode `\^^M=9 \catcode `\^^I=9 386\catcode `\~=10 387\gdef \tr@uighe {% define Uighuric English transliteration 388%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 389\tr@zdmg \let \@ub \underbar 390\gdef \tr@a {a} \gdef \tr@e {e} 391\gdef \tr@i {i} \gdef \tr@j {\@ub{\tr@zh}} 392\gdef \tr@o {o} \gdef \tr@u {u} 393\gdef \tr@x {\@ub{\tr@sh}} \gdef \tr@G {j} 394\gdef \tr@J {\@ub{\tr@ch}} \gdef \tr@K {\@ub{\tr@ng}} 395\gdef \tr@R {\@ub{\tr@gh}} \gdef \tr@X {\@ub{\tr@kh}} 396\gdef \tr@Y {} 397\tr@def \a@A {\"a} \tr@def \a@O {\"o} 398\tr@def \a@U {\"u} \tr@def \a@X {v} 399\a@message {Uyghuric~English~transliteration.}}} 400 401%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 402 403\def \settrans #1{% switch the transliteration 404\lowercase {\def \tr@code {#1}\begingroup 405\def \tr@lookup ##1#1##2##3\@@ {\endgroup ##2}% 406\xpa \tr@lookup \tr@table #1\tr@default \@@ }% 407\let \tr@oldcode \tr@code } 408 409\def \tr@table {% table of transliterations 410standard\tr@standard zdmg\tr@standard english\tr@encislam 411turk\tr@turk urdu\tr@urdu iranica\tr@enciran 412farsi\tr@farsi lazard\tr@lazard kashmiri\tr@kash 413uighur\tr@uigh uighure\tr@uighe } 414 415\def \tr@standard {% standard transliteration 416\ifx \tr@code \tr@oldcode \else \tr@zdmg 417\a@message {ZDMG transliteration.}\fi } 418 419\def \tr@default {% unknown transliteration 420\tr@zdmg \message {unknown transliteration `\tr@code'}% 421\a@message {ZDMG transliteration is assumed.}} 422 423%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 424 425\let \tr@oldcode \tr@code \settrans {zdmg} % default 426 427%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 428 429\catcode`\@ = \transatcode 430 431\endinput 432%%%%%%%%%%%%%%%%%%%%%%%%% EOF %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 433