blob: 5f5c1402ea3dc3f4e5ec53a9b6f53fc21c5f1b4e (
plain) (
tree)
|
|
// Latin-Syriac
translit_Latin_Syriac {
Rule {
":: NFD (NFC) ;"
// Variable names, derived from the Unicode names.
"$ALEF=\u0710;"
"$ALEF_SUPERSCRIPT=\u0711;"
"$BET=\u0712;"
"$GIMEL=\u0713;"
"$GIMEL_GARSHUNI=\u0714;"
"$DALET=\u0715;"
"$DALET_DOTLESS=\u0716;"
"$HE=\u0717;"
"$VAV=\u0718;"
"$ZAYIN=\u0719;"
"$HET=\u071A;"
"$TET=\u071B;"
"$TET_GARSHUNI=\u071C;"
"$YOD=\u071D;"
"$YOD_HE=\u071E;"
"$KAF=\u071F;"
"$LAMED=\u0720;"
"$MEM=\u0721;"
"$NUN=\u0722;"
"$SAMEKH=\u0723;"
"$FINAL_SAMEKH=\u0724;"
"$AYIN=\u0725;"
"$PE=\u0726;"
"$PE_REVERSED=\u0727;"
"$TSADI=\u0728;"
"$QOF=\u0729;"
"$RESH=\u072A;"
"$SHIN=\u072B;"
"$TAV=\u072C;"
"$PARAGRAPH=\u0700;"
"$letter=[a-zA-Z];"
"$softvowel=[eiyEIY];"
"$vowellike=[$ALEF $AYIN $YOD $VAV $ALEF_SUPERSCRIPT];"
// [Why is this a special case? -liu]
"k''h <> $KAF $HE ;"
// Mark non-final forms in final position as x~ -liu
"s < $SAMEKH } [[:SYRIAC:]&[:LETTER:]] ;"
"s'~' <> $SAMEKH ;"
// Mark final forms in non-final position as x^ -liu
"s < $FINAL_SAMEKH;"
// Main rules
"a<>$ALEF;"
"A>$ALEF;"
"a<$ALEF_SUPERSCRIPT;"
"b<>$BET;"
"B>$BET;"
"c}$softvowel>$SAMEKH;"
"C}$softvowel>$SAMEKH;"
"c>$KAF;"
"C>$KAF;"
"d<>$DALET;"
"D>$DALET;"
"d<$DALET_DOTLESS;"
"e<>$AYIN;"
"E>$AYIN;"
"f>$PE;"
"F>$PE;"
"g<>$GIMEL;"
"G>$GIMEL;"
"g<$GIMEL_GARSHUNI;"
"h<>$HE;"
"H>$HE;"
"i>$YOD;"
"I>$YOD;"
"ih<$YOD_HE;"
"j>$DALET$SHIN;"
"J>$DALET$SHIN;"
"kh<>$HET;"
"kH>$HET;"
"Kh>$HET;"
"KH>$HET;"
"k<>$KAF;"
"K>$KAF;"
"l<>$LAMED;"
"L>$LAMED;"
"m<>$MEM;"
"M>$MEM;"
"n<>$NUN;"
"N>$NUN;"
"o>$VAV;"
"O>$VAV;"
"p<>$PE;"
"P>$PE;"
"p<$PE_REVERSED;"
"q<>$QOF;"
"Q>$QOF;"
"r<>$RESH;"
"R>$RESH;"
"sh<>$SHIN;"
"sH>$SHIN;"
"Sh>$SHIN;"
"SH>$SHIN;"
"th<>$TAV;"
"tH>$TAV;"
"Th>$TAV;"
"TH>$TAV;"
"tS>$TSADI;"
"ts<>$TSADI;"
"Ts>$TSADI;"
"TS>$TSADI;"
"t''<$TET}[$HE $SAMEKH $SHIN];"
"t<>$TET;"
"T>$TET;"
"t<$TET_GARSHUNI;"
"s}$letter>$SAMEKH;"
"s>$FINAL_SAMEKH;"
"S}$letter>$SAMEKH;"
"S>$FINAL_SAMEKH;"
"v<$VAV}$vowellike;"
"u<>$VAV;"
"U>$VAV;"
"v>$VAV;"
"V>$VAV;"
"w>$VAV;"
"W>$VAV;"
"x>$KAF$SAMEKH;"
"X>$KAF$SAMEKH;"
"y<>$YOD;"
"Y>$YOD;"
"z<>$ZAYIN;"
"Z>$ZAYIN;"
"\u00B6<>$PARAGRAPH;"
//Delete any Syriac we didn't recognize
"<[:SYRIAC:];"
":: NFC (NFD) ;"
}
}
|