blob: 63af43f7be106efc2ec04f49ceb4f366aedc6c94 [file] [log] [blame]
//--------------------------------------------------------------------
// Copyright (c) 1999-2000, International Business Machines
// Corporation and others. All Rights Reserved.
//--------------------------------------------------------------------
// THIS IS A MACHINE-GENERATED FILE
// Tool: src\com\ibm\tools\translit\dumpICUrules.bat
// Source: src\com\ibm\text\resources/TransliterationRule_Latin_Arabic.java
// Date: Wed Jul 5 16:11:18 2000
//--------------------------------------------------------------------
// Latin-Arabic
larabic {
Rule {
// To Do: finish adding shadda, add sokoon
// [Is this done? Can someone finish this?]
"$alefmadda=\u0622;"
"$alefuhamza=\u0623;"
"$wauuhamza=\u0624;"
"$alefhamza=\u0625;"
"$yehuhamza=\u0626;"
"$alef=\u0627;"
"$beh=\u0628;"
"$tehmarbuta=\u0629;"
"$teh=\u062A;"
"$theh=\u062B;"
"$geem=\u062C;"
"$hah=\u062D;"
"$kha=\u062E;"
"$dal=\u062F;"
"$dhal=\u0630;"
"$reh=\u0631;"
"$zain=\u0632;"
"$seen=\u0633;"
"$sheen=\u0634;"
"$sad=\u0635;"
"$dad=\u0636;"
"$tah=\u0637;"
"$zah=\u0638;"
"$ein=\u0639;"
"$ghein=\u063A;"
"$feh=\u0641;"
"$qaaf=\u0642;"
"$kaf=\u0643;"
"$lam=\u0644;"
"$meem=\u0645;"
"$noon=\u0646;"
"$heh=\u0647;"
"$wau=\u0648;"
"$yehmaqsura=\u0649;"
"$yeh=\u064A;"
"$peh=\u06A4;"
"$hamza=\u0621;"
"$fathatein=\u064B;"
"$dammatein=\u064C;"
"$kasratein=\u064D;"
"$fatha=\u064E;"
"$damma=\u064F;"
"$kasra=\u0650;"
"$shadda=\u0651;"
"$sokoon=\u0652;"
// Doubles - liu
"t'' < {$teh} [$teh$theh$tehmarbuta$tah];"
"h'' < {$heh} [$heh$hah];"
"s'' < {$seen} $sheen;"
// A few pathological special cases to make round
// trip work. - liu
"d'~'d <> $dal $dal;"
"dh'~'dh <> $dhal $dhal;"
"dd'~'dd <> $dad $dad;"
// Shadda: Map x $shadda to x x, where x is dh, dd, or
// d (that is, $dhal, $dad, or $dal). If x is d, d'd is
// output. Net effect is to map s.th. like $dad $shadda
// to dd'dd. - liu
"$dhal {dh} <> dh {$shadda};"
"$dad {dd} <> dd {$shadda};"
"$dal {''d} [^dh] <> d {$shadda};" // Avoid d'dd or d'dh
// [This should be removed, but it's good for demos]
"Arabic>"
"\u062a\u062a\u0645\u062a\u0639' '"
"\u0627\u0644\u0644\u063a\u0629' '"
"\u0627\u0644\u0639\u0631\u0628\u0628\u064a\u0629' '"
"\u0628\u0628\u0646\u0638\u0645' '"
"\u0643\u062a\u0627\u0628\u0628\u064a\u0629' '"
"\u062c\u0645\u064a\u0644\u0629;"
// Main rules
"''ai<a{$alefmadda;"
"ai<>$alefmadda;"
"''ae<a{$alefuhamza;"
"ae<>$alefuhamza;"
"''ao<a{$alefhamza;"
"ao<>$alefhamza;"
"''aa<a{$alef;"
"aa<>$alef;"
"''an<a{$fathatein;"
"an<>$fathatein;"
"''a<a{$fatha;"
"a<>$fatha;"
"b<>$beh;"
"''dh<d{$dhal;"
"dh<>$dhal;"
"''dd<d{$dad;"
"dd<>$dad;"
"''d<d{$dal;"
"d<>$dal;"
"''e<a{$ein;"
"''e<w{$ein;"
"''e<y{$ein;"
"e<>$ein;"
"f<>$feh;"
"gh<>$ghein;"
"''hh<d{$hah;"
"''hh<t{$hah;"
"''hh<k{$hah;"
"''hh<s{$hah;"
"hh<>$hah;"
"''h<d{$heh;"
"''h<t{$heh;"
"''h<k{$heh;"
"''h<s{$heh;"
"h<>$heh;"
"''ii<i{$kasratein;"
"ii<>$kasratein;"
"''i<i{$kasra;"
"i<>$kasra;"
"j<>$geem;"
"kh<>$kha;"
"k<>$kaf;"
"l<>$lam;"
"''m<y{$meem;"
"''m<t{$meem;"
"m<>$meem;"
"n<>$noon;"
"''o<a{$hamza;"
"o<>$hamza;"
"p<>$peh;"
"q<>$qaaf;"
"r<>$reh;"
"sh<>$sheen;"
"''ss<s{$sad;"
"ss<>$sad;"
"''s<s{$seen;"
"s<>$seen;"
"th<>$theh;"
"tm<>$tehmarbuta;"
"''tt<t{$tah;"
"tt<>$tah;"
"''t<t{$teh;"
"t<>$teh;"
"''uu<u{$dammatein;"
"uu<>$dammatein;"
"''u<u{$damma;"
"u<>$damma;"
"we<>$wauuhamza;"
"w<>$wau;"
"ye<>$yehuhamza;"
"ym<>$yehmaqsura;"
"''y<y{$yeh;"
"y<>$yeh;"
"''zz<z{$zah;"
"zz<>$zah;"
"''z<z{$zain;"
"z<>$zain;"
// One-way Latin-Arabic compatability rules
"c>$kaf;"
"g>$geem;"
"x>$kaf$shadda$seen;"
"v>$beh;"
// Digits
"0<>\u0660;" // Arabic digit 0
"1<>\u0661;" // Arabic digit 1
"2<>\u0662;" // Arabic digit 2
"3<>\u0663;" // Arabic digit 3
"4<>\u0664;" // Arabic digit 4
"5<>\u0665;" // Arabic digit 5
"6<>\u0666;" // Arabic digit 6
"7<>\u0667;" // Arabic digit 7
"8<>\u0668;" // Arabic digit 8
"9<>\u0669;" // Arabic digit 9
"'%'<>\u066A;" // Arabic %
"'.'<>\u066B;" // Arabic decimal separator
"','<>\u066C;" // Arabic thousands separator
"'*'<>\u066D;" // Arabic five-pointed star
"''>;"
}
}