Delimit rules with ';'

X-SVN-Rev: 446
This commit is contained in:
Alan Liu 1999-12-20 19:13:41 +00:00
parent 9becd90a06
commit e5a684eb67
10 changed files with 2064 additions and 2064 deletions

View File

@ -6,8 +6,8 @@ import java.util.Vector;
/**
* A transliterator that reads a set of rules in order to determine how to
* perform translations. Rules are stored in resource bundles indexed by name.
* Rules are separated by newline characters ('\n'); to include a literal
* newline, prefix it with a backslash ('\\\n'). Whitespace is significant. If
* Rules are separated by semicolons (';'). To include a literal
* semicolon, prefix it with a backslash ('\\;'). Whitespace is significant. If
* the first character on a line is '#', the entire line is ignored as a
* comment.
*
@ -181,7 +181,7 @@ import java.util.Vector;
* <p>Copyright &copy; IBM Corporation 1999. All rights reserved.
*
* @author Alan Liu
* @version $RCSfile: RuleBasedTransliterator.java,v $ $Revision: 1.1 $ $Date: 1999/12/20 18:29:21 $
* @version $RCSfile: RuleBasedTransliterator.java,v $ $Revision: 1.2 $ $Date: 1999/12/20 19:13:41 $
*/
public class RuleBasedTransliterator extends Transliterator {
/**
@ -205,7 +205,7 @@ public class RuleBasedTransliterator extends Transliterator {
/**
* Constructs a new transliterator from the given rules.
* @param rules rules, separated by '\n'
* @param rules rules, separated by ';'
* @param direction either FORWARD or REVERSE.
* @exception IllegalArgumentException if rules are malformed
* or direction is invalid.
@ -222,7 +222,7 @@ public class RuleBasedTransliterator extends Transliterator {
/**
* Constructs a new transliterator from the given rules in the
* <code>FORWARD</code> direction.
* @param rules rules, separated by '\n'
* @param rules rules, separated by ';'
* @exception IllegalArgumentException if rules are malformed
* or direction is invalid.
*/
@ -578,8 +578,8 @@ public class RuleBasedTransliterator extends Transliterator {
}
/**
* Parse the given string as a sequence of rules, separated by newline
* characters ('\n'), and cause this object to implement those rules. Any
* Parse the given string as a sequence of rules, separated by semicolon
* characters (';'), and cause this object to implement those rules. Any
* previous rules are discarded. Typically this method is called exactly
* once, during construction.
* @exception IllegalArgumentException if there is a syntax error in the
@ -591,11 +591,11 @@ public class RuleBasedTransliterator extends Transliterator {
int n = rules.length();
int i = 0;
while (i<n) {
int limit = rules.indexOf('\n', i);
int limit = rules.indexOf(';', i);
// Recognize "\\\n" as an escaped "\n"
// Recognize "\\;" as an escaped ";"
while (limit>0 && rules.charAt(limit-1) == '\\') {
limit = rules.indexOf('\n', limit+1);
limit = rules.indexOf(';', limit+1);
}
if (limit == -1) {

View File

@ -6,8 +6,8 @@ import java.util.Vector;
/**
* A transliterator that reads a set of rules in order to determine how to
* perform translations. Rules are stored in resource bundles indexed by name.
* Rules are separated by newline characters ('\n'); to include a literal
* newline, prefix it with a backslash ('\\\n'). Whitespace is significant. If
* Rules are separated by semicolons (';'). To include a literal
* semicolon, prefix it with a backslash ('\\;'). Whitespace is significant. If
* the first character on a line is '#', the entire line is ignored as a
* comment.
*
@ -181,7 +181,7 @@ import java.util.Vector;
* <p>Copyright &copy; IBM Corporation 1999. All rights reserved.
*
* @author Alan Liu
* @version $RCSfile: RuleBasedTransliterator.java,v $ $Revision: 1.1 $ $Date: 1999/12/20 18:29:21 $
* @version $RCSfile: RuleBasedTransliterator.java,v $ $Revision: 1.2 $ $Date: 1999/12/20 19:13:41 $
*/
public class RuleBasedTransliterator extends Transliterator {
/**
@ -205,7 +205,7 @@ public class RuleBasedTransliterator extends Transliterator {
/**
* Constructs a new transliterator from the given rules.
* @param rules rules, separated by '\n'
* @param rules rules, separated by ';'
* @param direction either FORWARD or REVERSE.
* @exception IllegalArgumentException if rules are malformed
* or direction is invalid.
@ -222,7 +222,7 @@ public class RuleBasedTransliterator extends Transliterator {
/**
* Constructs a new transliterator from the given rules in the
* <code>FORWARD</code> direction.
* @param rules rules, separated by '\n'
* @param rules rules, separated by ';'
* @exception IllegalArgumentException if rules are malformed
* or direction is invalid.
*/
@ -578,8 +578,8 @@ public class RuleBasedTransliterator extends Transliterator {
}
/**
* Parse the given string as a sequence of rules, separated by newline
* characters ('\n'), and cause this object to implement those rules. Any
* Parse the given string as a sequence of rules, separated by semicolon
* characters (';'), and cause this object to implement those rules. Any
* previous rules are discarded. Typically this method is called exactly
* once, during construction.
* @exception IllegalArgumentException if there is a syntax error in the
@ -591,11 +591,11 @@ public class RuleBasedTransliterator extends Transliterator {
int n = rules.length();
int i = 0;
while (i<n) {
int limit = rules.indexOf('\n', i);
int limit = rules.indexOf(';', i);
// Recognize "\\\n" as an escaped "\n"
// Recognize "\\;" as an escaped ";"
while (limit>0 && rules.charAt(limit-1) == '\\') {
limit = rules.indexOf('\n', limit+1);
limit = rules.indexOf(';', limit+1);
}
if (limit == -1) {

View File

@ -12,120 +12,120 @@ public class TransliterationRule$KeyboardEscape$Latin1 extends ListResourceBundl
"Keyboard transliterator for Latin-1 block" },
{ "Rule",
"esc=''\n"
+ "grave=`\n"
+ "acute=''\n"
+ "hat=^\n"
+ "tilde=~\n"
+ "umlaut=:\n"
+ "ring=.\n"
+ "cedilla=,\n"
+ "slash=/\n"
+ "super=^\n"
"esc='';"
+ "grave=`;"
+ "acute='';"
+ "hat=^;"
+ "tilde=~;"
+ "umlaut=:;"
+ "ring=.;"
+ "cedilla=,;"
+ "slash=/;"
+ "super=^;"
// Make keyboard entry of {esc} possible
// and of backslash
+ "'\\'{esc}>{esc}\n"
+ "'\\\\'>'\\'\n"
+ "'\\'{esc}>{esc};"
+ "'\\\\'>'\\';"
// Long keys
+ "cur{esc}>\u00A4\n"
+ "sec{esc}>\u00A7\n"
+ "not{esc}>\u00AC\n"
+ "mul{esc}>\u00D7\n"
+ "div{esc}>\u00F7\n"
+ "cur{esc}>\u00A4;"
+ "sec{esc}>\u00A7;"
+ "not{esc}>\u00AC;"
+ "mul{esc}>\u00D7;"
+ "div{esc}>\u00F7;"
+ " {esc}>\u00A0\n" // non-breaking space
+ "!{esc}>\u00A1\n" // inverted exclamation
+ "c/{esc}>\u00A2\n" // cent sign
+ "lb{esc}>\u00A3\n" // pound sign
+ "'|'{esc}>\u00A6\n" // broken vertical bar
+ ":{esc}>\u00A8\n" // umlaut
+ "{super}a{esc}>\u00AA\n" // feminine ordinal
+ "'<<'{esc}>\u00AB\n"
+ "r{esc}>\u00AE\n"
+ "--{esc}>\u00AF\n"
+ "-{esc}>\u00AD\n"
+ "+-{esc}>\u00B1\n"
+ "{super}2{esc}>\u00B2\n"
+ "{super}3{esc}>\u00B3\n"
+ "{acute}{esc}>\u00B4\n"
+ "m{esc}>\u00B5\n"
+ "para{esc}>\u00B6\n"
+ "dot{esc}>\u00B7\n"
+ "{cedilla}{esc}>\u00B8\n"
+ "{super}1{esc}>\u00B9\n"
+ "{super}o{esc}>\u00BA\n" // masculine ordinal
+ "'>>'{esc}>\u00BB\n"
+ "1/4{esc}>\u00BC\n"
+ "1/2{esc}>\u00BD\n"
+ "3/4{esc}>\u00BE\n"
+ "?{esc}>\u00BF\n"
+ "A{grave}{esc}>\u00C0\n"
+ "A{acute}{esc}>\u00C1\n"
+ "A{hat}{esc}>\u00C2\n"
+ "A{tilde}{esc}>\u00C3\n"
+ "A{umlaut}{esc}>\u00C4\n"
+ "A{ring}{esc}>\u00C5\n"
+ "AE{esc}>\u00C6\n"
+ "C{cedilla}{esc}>\u00C7\n"
+ "E{grave}{esc}>\u00C8\n"
+ "E{acute}{esc}>\u00C9\n"
+ "E{hat}{esc}>\u00CA\n"
+ "E{umlaut}{esc}>\u00CB\n"
+ "I{grave}{esc}>\u00CC\n"
+ "I{acute}{esc}>\u00CD\n"
+ "I{hat}{esc}>\u00CE\n"
+ "I{umlaut}{esc}>\u00CF\n"
+ "D-{esc}>\u00D0\n"
+ "N{tilde}{esc}>\u00D1\n"
+ "O{grave}{esc}>\u00D2\n"
+ "O{acute}{esc}>\u00D3\n"
+ "O{hat}{esc}>\u00D4\n"
+ "O{tilde}{esc}>\u00D5\n"
+ "O{umlaut}{esc}>\u00D6\n"
+ "O{slash}{esc}>\u00D8\n"
+ "U{grave}{esc}>\u00D9\n"
+ "U{acute}{esc}>\u00DA\n"
+ "U{hat}{esc}>\u00DB\n"
+ "U{umlaut}{esc}>\u00DC\n"
+ "Y{acute}{esc}>\u00DD\n"
+ "TH{esc}>\u00DE\n"
+ "ss{esc}>\u00DF\n"
+ "a{grave}{esc}>\u00E0\n"
+ "a{acute}{esc}>\u00E1\n"
+ "a{hat}{esc}>\u00E2\n"
+ "a{tilde}{esc}>\u00E3\n"
+ "a{umlaut}{esc}>\u00E4\n"
+ "a{ring}{esc}>\u00E5\n"
+ "ae{esc}>\u00E6\n"
+ "c{cedilla}{esc}>\u00E7\n"
+ "c{esc}>\u00A9\n" // copyright - after c{cedilla}
+ "e{grave}{esc}>\u00E8\n"
+ "e{acute}{esc}>\u00E9\n"
+ "e{hat}{esc}>\u00EA\n"
+ "e{umlaut}{esc}>\u00EB\n"
+ "i{grave}{esc}>\u00EC\n"
+ "i{acute}{esc}>\u00ED\n"
+ "i{hat}{esc}>\u00EE\n"
+ "i{umlaut}{esc}>\u00EF\n"
+ "d-{esc}>\u00F0\n"
+ "n{tilde}{esc}>\u00F1\n"
+ "o{grave}{esc}>\u00F2\n"
+ "o{acute}{esc}>\u00F3\n"
+ "o{hat}{esc}>\u00F4\n"
+ "o{tilde}{esc}>\u00F5\n"
+ "o{umlaut}{esc}>\u00F6\n"
+ "o{slash}{esc}>\u00F8\n"
+ "o{esc}>\u00B0\n"
+ "u{grave}{esc}>\u00F9\n"
+ "u{acute}{esc}>\u00FA\n"
+ "u{hat}{esc}>\u00FB\n"
+ "u{umlaut}{esc}>\u00FC\n"
+ "y{acute}{esc}>\u00FD\n"
+ "y{esc}>\u00A5\n" // yen sign
+ "th{esc}>\u00FE\n"
+ "ss{esc}>\u00FF\n"
+ " {esc}>\u00A0;" // non-breaking space
+ "!{esc}>\u00A1;" // inverted exclamation
+ "c/{esc}>\u00A2;" // cent sign
+ "lb{esc}>\u00A3;" // pound sign
+ "'|'{esc}>\u00A6;" // broken vertical bar
+ ":{esc}>\u00A8;" // umlaut
+ "{super}a{esc}>\u00AA;" // feminine ordinal
+ "'<<'{esc}>\u00AB;"
+ "r{esc}>\u00AE;"
+ "--{esc}>\u00AF;"
+ "-{esc}>\u00AD;"
+ "+-{esc}>\u00B1;"
+ "{super}2{esc}>\u00B2;"
+ "{super}3{esc}>\u00B3;"
+ "{acute}{esc}>\u00B4;"
+ "m{esc}>\u00B5;"
+ "para{esc}>\u00B6;"
+ "dot{esc}>\u00B7;"
+ "{cedilla}{esc}>\u00B8;"
+ "{super}1{esc}>\u00B9;"
+ "{super}o{esc}>\u00BA;" // masculine ordinal
+ "'>>'{esc}>\u00BB;"
+ "1/4{esc}>\u00BC;"
+ "1/2{esc}>\u00BD;"
+ "3/4{esc}>\u00BE;"
+ "?{esc}>\u00BF;"
+ "A{grave}{esc}>\u00C0;"
+ "A{acute}{esc}>\u00C1;"
+ "A{hat}{esc}>\u00C2;"
+ "A{tilde}{esc}>\u00C3;"
+ "A{umlaut}{esc}>\u00C4;"
+ "A{ring}{esc}>\u00C5;"
+ "AE{esc}>\u00C6;"
+ "C{cedilla}{esc}>\u00C7;"
+ "E{grave}{esc}>\u00C8;"
+ "E{acute}{esc}>\u00C9;"
+ "E{hat}{esc}>\u00CA;"
+ "E{umlaut}{esc}>\u00CB;"
+ "I{grave}{esc}>\u00CC;"
+ "I{acute}{esc}>\u00CD;"
+ "I{hat}{esc}>\u00CE;"
+ "I{umlaut}{esc}>\u00CF;"
+ "D-{esc}>\u00D0;"
+ "N{tilde}{esc}>\u00D1;"
+ "O{grave}{esc}>\u00D2;"
+ "O{acute}{esc}>\u00D3;"
+ "O{hat}{esc}>\u00D4;"
+ "O{tilde}{esc}>\u00D5;"
+ "O{umlaut}{esc}>\u00D6;"
+ "O{slash}{esc}>\u00D8;"
+ "U{grave}{esc}>\u00D9;"
+ "U{acute}{esc}>\u00DA;"
+ "U{hat}{esc}>\u00DB;"
+ "U{umlaut}{esc}>\u00DC;"
+ "Y{acute}{esc}>\u00DD;"
+ "TH{esc}>\u00DE;"
+ "ss{esc}>\u00DF;"
+ "a{grave}{esc}>\u00E0;"
+ "a{acute}{esc}>\u00E1;"
+ "a{hat}{esc}>\u00E2;"
+ "a{tilde}{esc}>\u00E3;"
+ "a{umlaut}{esc}>\u00E4;"
+ "a{ring}{esc}>\u00E5;"
+ "ae{esc}>\u00E6;"
+ "c{cedilla}{esc}>\u00E7;"
+ "c{esc}>\u00A9;" // copyright - after c{cedilla}
+ "e{grave}{esc}>\u00E8;"
+ "e{acute}{esc}>\u00E9;"
+ "e{hat}{esc}>\u00EA;"
+ "e{umlaut}{esc}>\u00EB;"
+ "i{grave}{esc}>\u00EC;"
+ "i{acute}{esc}>\u00ED;"
+ "i{hat}{esc}>\u00EE;"
+ "i{umlaut}{esc}>\u00EF;"
+ "d-{esc}>\u00F0;"
+ "n{tilde}{esc}>\u00F1;"
+ "o{grave}{esc}>\u00F2;"
+ "o{acute}{esc}>\u00F3;"
+ "o{hat}{esc}>\u00F4;"
+ "o{tilde}{esc}>\u00F5;"
+ "o{umlaut}{esc}>\u00F6;"
+ "o{slash}{esc}>\u00F8;"
+ "o{esc}>\u00B0;"
+ "u{grave}{esc}>\u00F9;"
+ "u{acute}{esc}>\u00FA;"
+ "u{hat}{esc}>\u00FB;"
+ "u{umlaut}{esc}>\u00FC;"
+ "y{acute}{esc}>\u00FD;"
+ "y{esc}>\u00A5;" // yen sign
+ "th{esc}>\u00FE;"
+ "ss{esc}>\u00FF;"
}
};
}

View File

@ -13,52 +13,52 @@ public class TransliterationRule$Latin$Arabic extends ListResourceBundle {
{ "Rule",
// To Do: finish adding shadda, add sokoon
"alefmadda=\u0622\n"+
"alefuhamza=\u0623\n"+
"wauuhamza=\u0624\n"+
"alefhamza=\u0625\n"+
"yehuhamza=\u0626\n"+
"alef=\u0627\n"+
"beh=\u0628\n"+
"tehmarbuta=\u0629\n"+
"teh=\u062A\n"+
"theh=\u062B\n"+
"geem=\u062C\n"+
"hah=\u062D\n"+
"kha=\u062E\n"+
"dal=\u062F\n"+
"dhal=\u0630\n"+
"reh=\u0631\n"+
"zain=\u0632\n"+
"seen=\u0633\n"+
"sheen=\u0634\n"+
"sad=\u0635\n"+
"dad=\u0636\n"+
"tah=\u0637\n"+
"zah=\u0638\n"+
"ein=\u0639\n"+
"ghein=\u063A\n"+
"feh=\u0641\n"+
"qaaf=\u0642\n"+
"kaf=\u0643\n"+
"lam=\u0644\n"+
"meem=\u0645\n"+
"noon=\u0646\n"+
"heh=\u0647\n"+
"wau=\u0648\n"+
"yehmaqsura=\u0649\n"+
"yeh=\u064A\n"+
"peh=\u06A4\n"+
"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\n"+
"fathatein=\u064B\n"+
"dammatein=\u064C\n"+
"kasratein=\u064D\n"+
"fatha=\u064E\n"+
"damma=\u064F\n"+
"kasra=\u0650\n"+
"shadda=\u0651\n"+
"sokoon=\u0652\n"+
"hamza=\u0621;"+
"fathatein=\u064B;"+
"dammatein=\u064C;"+
"kasratein=\u064D;"+
"fatha=\u064E;"+
"damma=\u064F;"+
"kasra=\u0650;"+
"shadda=\u0651;"+
"sokoon=\u0652;"+
// convert English to Arabic
"Arabic>"+
@ -67,176 +67,176 @@ public class TransliterationRule$Latin$Arabic extends ListResourceBundle {
"\u0627\u0644\u0639\u0631\u0628\u0628\u064a\u0629\u0020"+
"\u0628\u0628\u0646\u0638\u0645\u0020"+
"\u0643\u062a\u0627\u0628\u0628\u064a\u0629\u0020"+
"\u062c\u0645\u064a\u0644\u0629\n"+
"\u062c\u0645\u064a\u0644\u0629;"+
"ai>{alefmadda}\n"+
"ae>{alefuhamza}\n"+
"ao>{alefhamza}\n"+
"aa>{alef}\n"+
"an>{fathatein}\n"+
"a>{fatha}\n"+
"b>{beh}\n"+
"c>{kaf}\n"+
"{dhal}]dh>{shadda}\n"+
"dh>{dhal}\n"+
"{dad}]dd>{shadda}\n"+
"dd>{dad}\n"+
"{dal}]d>{shadda}\n"+
"d>{dal}\n"+
"e>{ein}\n"+
"f>{feh}\n"+
"gh>{ghein}\n"+
"g>{geem}\n"+
"hh>{hah}\n"+
"h>{heh}\n"+
"ii>{kasratein}\n"+
"i>{kasra}\n"+
"j>{geem}\n"+
"kh>{kha}\n"+
"k>{kaf}\n"+
"l>{lam}\n"+
"m>{meem}\n"+
"n>{noon}\n"+
"o>{hamza}\n"+
"p>{peh}\n"+
"q>{qaaf}\n"+
"r>{reh}\n"+
"sh>{sheen}\n"+
"ss>{sad}\n"+
"s>{seen}\n"+
"th>{theh}\n"+
"tm>{tehmarbuta}\n"+
"tt>{tah}\n"+
"t>{teh}\n"+
"uu>{dammatein}\n"+
"u>{damma}\n"+
"v>{beh}\n"+
"we>{wauuhamza}\n"+
"w>{wau}\n"+
"x>{kaf}{shadda}{seen}\n"+
"ye>{yehuhamza}\n"+
"ym>{yehmaqsura}\n"+
"y>{yeh}\n"+
"zz>{zah}\n"+
"z>{zain}\n"+
"ai>{alefmadda};"+
"ae>{alefuhamza};"+
"ao>{alefhamza};"+
"aa>{alef};"+
"an>{fathatein};"+
"a>{fatha};"+
"b>{beh};"+
"c>{kaf};"+
"{dhal}]dh>{shadda};"+
"dh>{dhal};"+
"{dad}]dd>{shadda};"+
"dd>{dad};"+
"{dal}]d>{shadda};"+
"d>{dal};"+
"e>{ein};"+
"f>{feh};"+
"gh>{ghein};"+
"g>{geem};"+
"hh>{hah};"+
"h>{heh};"+
"ii>{kasratein};"+
"i>{kasra};"+
"j>{geem};"+
"kh>{kha};"+
"k>{kaf};"+
"l>{lam};"+
"m>{meem};"+
"n>{noon};"+
"o>{hamza};"+
"p>{peh};"+
"q>{qaaf};"+
"r>{reh};"+
"sh>{sheen};"+
"ss>{sad};"+
"s>{seen};"+
"th>{theh};"+
"tm>{tehmarbuta};"+
"tt>{tah};"+
"t>{teh};"+
"uu>{dammatein};"+
"u>{damma};"+
"v>{beh};"+
"we>{wauuhamza};"+
"w>{wau};"+
"x>{kaf}{shadda}{seen};"+
"ye>{yehuhamza};"+
"ym>{yehmaqsura};"+
"y>{yeh};"+
"zz>{zah};"+
"z>{zain};"+
"0>\u0660\n"+ // Arabic digit 0
"1>\u0661\n"+ // Arabic digit 1
"2>\u0662\n"+ // Arabic digit 2
"3>\u0663\n"+ // Arabic digit 3
"4>\u0664\n"+ // Arabic digit 4
"5>\u0665\n"+ // Arabic digit 5
"6>\u0666\n"+ // Arabic digit 6
"7>\u0667\n"+ // Arabic digit 7
"8>\u0668\n"+ // Arabic digit 8
"9>\u0669\n"+ // Arabic digit 9
"%>\u066A\n"+ // Arabic %
".>\u066B\n"+ // Arabic decimal separator
",>\u066C\n"+ // Arabic thousands separator
"*>\u066D\n"+ // Arabic five-pointed star
"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
"`0>0\n"+ // Escaped forms of the above
"`1>1\n"+
"`2>2\n"+
"`3>3\n"+
"`4>4\n"+
"`5>5\n"+
"`6>6\n"+
"`7>7\n"+
"`8>8\n"+
"`9>9\n"+
"`%>%\n"+
"`.>.\n"+
"`,>,\n"+
"`*>*\n"+
"``>`\n"+
"`0>0;"+ // Escaped forms of the above
"`1>1;"+
"`2>2;"+
"`3>3;"+
"`4>4;"+
"`5>5;"+
"`6>6;"+
"`7>7;"+
"`8>8;"+
"`9>9;"+
"`%>%;"+
"`.>.;"+
"`,>,;"+
"`*>*;"+
"``>`;"+
"''>\n"+
"''>;"+
// now Arabic to English
"''ai<a]{alefmadda}\n"+
"ai<{alefmadda}\n"+
"''ae<a]{alefuhamza}\n"+
"ae<{alefuhamza}\n"+
"''ao<a]{alefhamza}\n"+
"ao<{alefhamza}\n"+
"''aa<a]{alef}\n"+
"aa<{alef}\n"+
"''an<a]{fathatein}\n"+
"an<{fathatein}\n"+
"''a<a]{fatha}\n"+
"a<{fatha}\n"+
"b<{beh}\n"+
"''dh<d]{dhal}\n"+
"dh<{dhal}\n"+
"''dd<d]{dad}\n"+
"dd<{dad}\n"+
"''d<d]{dal}\n"+
"d<{dal}\n"+
"''e<a]{ein}\n"+
"''e<w]{ein}\n"+
"''e<y]{ein}\n"+
"e<{ein}\n"+
"f<{feh}\n"+
"gh<{ghein}\n"+
"''hh<d]{hah}\n"+
"''hh<t]{hah}\n"+
"''hh<k]{hah}\n"+
"''hh<s]{hah}\n"+
"hh<{hah}\n"+
"''h<d]{heh}\n"+
"''h<t]{heh}\n"+
"''h<k]{heh}\n"+
"''h<s]{heh}\n"+
"h<{heh}\n"+
"''ii<i]{kasratein}\n"+
"ii<{kasratein}\n"+
"''i<i]{kasra}\n"+
"i<{kasra}\n"+
"j<{geem}\n"+
"kh<{kha}\n"+
"x<{kaf}{shadda}{seen}\n"+
"k<{kaf}\n"+
"l<{lam}\n"+
"''m<y]{meem}\n"+
"''m<t]{meem}\n"+
"m<{meem}\n"+
"n<{noon}\n"+
"''o<a]{hamza}\n"+
"o<{hamza}\n"+
"p<{peh}\n"+
"q<{qaaf}\n"+
"r<{reh}\n"+
"sh<{sheen}\n"+
"''ss<s]{sad}\n"+
"ss<{sad}\n"+
"''s<s]{seen}\n"+
"s<{seen}\n"+
"th<{theh}\n"+
"tm<{tehmarbuta}\n"+
"''tt<t]{tah}\n"+
"tt<{tah}\n"+
"''t<t]{teh}\n"+
"t<{teh}\n"+
"''uu<u]{dammatein}\n"+
"uu<{dammatein}\n"+
"''u<u]{damma}\n"+
"u<{damma}\n"+
"we<{wauuhamza}\n"+
"w<{wau}\n"+
"ye<{yehuhamza}\n"+
"ym<{yehmaqsura}\n"+
"''y<y]{yeh}\n"+
"y<{yeh}\n"+
"''zz<z]{zah}\n"+
"zz<{zah}\n"+
"''z<z]{zain}\n"+
"z<{zain}\n"+
"''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};"+
"x<{kaf}{shadda}{seen};"+
"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};"+
"dh<dh]{shadda}\n"+
"dd<dd]{shadda}\n"+
"''d<d]{shadda}\n"
"dh<dh]{shadda};"+
"dd<dd]{shadda};"+
"''d<d]{shadda};"
}
};
}

View File

@ -14,352 +14,352 @@ public class TransliterationRule$Latin$Russian extends ListResourceBundle {
{ "Rule",
// Russian Letters
"cyA=\u0410\n" +
"cyBe=\u0411\n" +
"cyVe=\u0412\n" +
"cyGe=\u0413\n" +
"cyDe=\u0414\n" +
"cyYe=\u0415\n" +
"cyYo=\u0416\n" +
"cyZhe=\u0417\n" +
"cyZe=\u0418\n" +
"cyYi=\u0419\n" +
"cyY=\u0419\n" +
"cyKe=\u041a\n" +
"cyLe=\u041b\n" +
"cyMe=\u041c\n" +
"cyNe=\u041d\n" +
"cyO=\u041e\n" +
"cyPe=\u041f\n" +
"cyA=\u0410;" +
"cyBe=\u0411;" +
"cyVe=\u0412;" +
"cyGe=\u0413;" +
"cyDe=\u0414;" +
"cyYe=\u0415;" +
"cyYo=\u0416;" +
"cyZhe=\u0417;" +
"cyZe=\u0418;" +
"cyYi=\u0419;" +
"cyY=\u0419;" +
"cyKe=\u041a;" +
"cyLe=\u041b;" +
"cyMe=\u041c;" +
"cyNe=\u041d;" +
"cyO=\u041e;" +
"cyPe=\u041f;" +
"cyRe=\u0420\n" +
"cySe=\u0421\n" +
"cyTe=\u0422\n" +
"cyU=\u0423\n" +
"cyFe=\u0424\n" +
"cyKhe=\u0425\n" +
"cyTse=\u0426\n" +
"cyChe=\u0427\n" +
"cyShe=\u0428\n" +
"cyShche=\u0429\n" +
"cyHard=\u042a\n" +
"cyI=\u042b\n" +
"cySoft=\u042c\n" +
"cyE=\u042d\n" +
"cyYu=\u042e\n" +
"cyYa=\u042f\n" +
"cyRe=\u0420;" +
"cySe=\u0421;" +
"cyTe=\u0422;" +
"cyU=\u0423;" +
"cyFe=\u0424;" +
"cyKhe=\u0425;" +
"cyTse=\u0426;" +
"cyChe=\u0427;" +
"cyShe=\u0428;" +
"cyShche=\u0429;" +
"cyHard=\u042a;" +
"cyI=\u042b;" +
"cySoft=\u042c;" +
"cyE=\u042d;" +
"cyYu=\u042e;" +
"cyYa=\u042f;" +
"cya=\u0430\n" +
"cybe=\u0431\n" +
"cyve=\u0432\n" +
"cyge=\u0433\n" +
"cyde=\u0434\n" +
"cyye=\u0435\n" +
"cyzhe=\u0436\n" +
"cyze=\u0437\n" +
"cyyi=\u0438\n" +
"cyy=\u0439\n" +
"cyke=\u043a\n" +
"cyle=\u043b\n" +
"cyme=\u043c\n" +
"cyne=\u043d\n" +
"cyo=\u043e\n" +
"cype=\u043f\n" +
"cya=\u0430;" +
"cybe=\u0431;" +
"cyve=\u0432;" +
"cyge=\u0433;" +
"cyde=\u0434;" +
"cyye=\u0435;" +
"cyzhe=\u0436;" +
"cyze=\u0437;" +
"cyyi=\u0438;" +
"cyy=\u0439;" +
"cyke=\u043a;" +
"cyle=\u043b;" +
"cyme=\u043c;" +
"cyne=\u043d;" +
"cyo=\u043e;" +
"cype=\u043f;" +
"cyre=\u0440\n" +
"cyse=\u0441\n" +
"cyte=\u0442\n" +
"cyu=\u0443\n" +
"cyfe=\u0444\n" +
"cykhe=\u0445\n" +
"cytse=\u0446\n" +
"cyche=\u0447\n" +
"cyshe=\u0448\n" +
"cyshche=\u0449\n" +
"cyhard=\u044a\n" +
"cyi=\u044b\n" +
"cysoft=\u044c\n" +
"cye=\u044d\n" +
"cyyu=\u044e\n" +
"cyya=\u044f\n" +
"cyre=\u0440;" +
"cyse=\u0441;" +
"cyte=\u0442;" +
"cyu=\u0443;" +
"cyfe=\u0444;" +
"cykhe=\u0445;" +
"cytse=\u0446;" +
"cyche=\u0447;" +
"cyshe=\u0448;" +
"cyshche=\u0449;" +
"cyhard=\u044a;" +
"cyi=\u044b;" +
"cysoft=\u044c;" +
"cye=\u044d;" +
"cyyu=\u044e;" +
"cyya=\u044f;" +
"cyyo=\u0451\n" +
"cyyo=\u0451;" +
"a=[aA]\n" +
"c=[cC]\n" +
"e=[eE]\n" +
"h=[hH]\n" +
"i=[iI]\n" +
"o=[oO]\n" +
"s=[sS]\n" +
"t=[tT]\n" +
"u=[uU]\n" +
"iey=[ieyIEY]\n" +
"lower=[:Lu:]\n" +
"a=[aA];" +
"c=[cC];" +
"e=[eE];" +
"h=[hH];" +
"i=[iI];" +
"o=[oO];" +
"s=[sS];" +
"t=[tT];" +
"u=[uU];" +
"iey=[ieyIEY];" +
"lower=[:Lu:];" +
// convert English to Russian
"Russian>\u041f\u0420\u0410\u0412\u0414\u0410\u00D1\u0020\u0411\u044d\u043b\u0430\u0440\u0443\u0441\u043a\u0430\u044f\u002c\u0020\u043a\u044b\u0440\u0433\u044b\u0437\u002c\u0020\u041c\u043e\u043b\u0434\u043e\u0432\u044d\u043d\u044f\u0441\u043a\u044d\u002e\n" +
"Russian>\u041f\u0420\u0410\u0412\u0414\u0410\u00D1\u0020\u0411\u044d\u043b\u0430\u0440\u0443\u0441\u043a\u0430\u044f\u002c\u0020\u043a\u044b\u0440\u0433\u044b\u0437\u002c\u0020\u041c\u043e\u043b\u0434\u043e\u0432\u044d\u043d\u044f\u0441\u043a\u044d\u002e;" +
//special equivs for ay, oy, ...
"Y{a}{i}>{cyYa}{cyY}\n" +
"Y{e}{i}>{cyYe}{cyY}\n" +
"Y{i}{i}>{cyYi}{cyY}\n" +
"Y{o}{i}>{cyYo}{cyY}\n" +
"Y{u}{i}>{cyYu}{cyY}\n" +
"A{i}>{cyA}{cyY}\n" +
"E{i}>{cyE}{cyY}\n" +
"Y{a}{i}>{cyYa}{cyY};" +
"Y{e}{i}>{cyYe}{cyY};" +
"Y{i}{i}>{cyYi}{cyY};" +
"Y{o}{i}>{cyYo}{cyY};" +
"Y{u}{i}>{cyYu}{cyY};" +
"A{i}>{cyA}{cyY};" +
"E{i}>{cyE}{cyY};" +
//skip II, since it is the soft sign
"O{i}>{cyO}{cyY}\n" +
"U{i}>{cyU}{cyY}\n" +
"O{i}>{cyO}{cyY};" +
"U{i}>{cyU}{cyY};" +
"A>{cyA}\n" +
"B>{cyBe}\n" +
"C{h}>{cyChe}\n" +
"C[{iey}>{cySe}\n" +
"C>{cyKe}\n" +
"D>{cyDe}\n" +
"E>{cyE}\n" +
"F>{cyFe}\n" +
"G>{cyGe}\n" +
"H>{cyHard}\n" +
"I{i}>{cySoft}\n" +
"I>{cyI}\n" +
"J>{cyDe}{cyZhe}\n" +
"K{h}>{cyKhe}\n" +
"K>{cyKe}\n" +
"L>{cyLe}\n" +
"M>{cyMe}\n" +
"N>{cyNe}\n" +
"O>{cyO}\n" +
"P>{cyPe}\n" +
"Q{u}>{cyKe}{cyVe}\n" +
"R>{cyRe}\n" +
"S{h}{t}{c}{h}>{cyShche}\n" +
"S{h}{c}{h}>{cyShche}\n" +
"S{h}>{cyShe}\n" +
"S>{cySe}\n" +
"T{c}{h}>{cyChe}\n" +
"T{h}>{cyZe}\n" +
"T{s}>{cyTse}\n" +
"T>{cyTe}\n" +
"U>{cyU}\n" +
"V>{cyVe}\n" +
"W{h}>{cyVe}\n" +
"W>{cyVe}\n" +
"X>{cyKe}{cySe}\n" +
"Y{e}>{cyYe}\n" +
"Y{o}>{cyYo}\n" +
"Y{u}>{cyYu}\n" +
"Y{a}>{cyYa}\n" +
"Y{i}>{cyYi}\n" +
"Y>{cyY}\n" +
"Z{h}>{cyZhe}\n" +
"Z>{cyZe}\n" +
"X>{cyKe}{cySe}\n" +
"A>{cyA};" +
"B>{cyBe};" +
"C{h}>{cyChe};" +
"C[{iey}>{cySe};" +
"C>{cyKe};" +
"D>{cyDe};" +
"E>{cyE};" +
"F>{cyFe};" +
"G>{cyGe};" +
"H>{cyHard};" +
"I{i}>{cySoft};" +
"I>{cyI};" +
"J>{cyDe}{cyZhe};" +
"K{h}>{cyKhe};" +
"K>{cyKe};" +
"L>{cyLe};" +
"M>{cyMe};" +
"N>{cyNe};" +
"O>{cyO};" +
"P>{cyPe};" +
"Q{u}>{cyKe}{cyVe};" +
"R>{cyRe};" +
"S{h}{t}{c}{h}>{cyShche};" +
"S{h}{c}{h}>{cyShche};" +
"S{h}>{cyShe};" +
"S>{cySe};" +
"T{c}{h}>{cyChe};" +
"T{h}>{cyZe};" +
"T{s}>{cyTse};" +
"T>{cyTe};" +
"U>{cyU};" +
"V>{cyVe};" +
"W{h}>{cyVe};" +
"W>{cyVe};" +
"X>{cyKe}{cySe};" +
"Y{e}>{cyYe};" +
"Y{o}>{cyYo};" +
"Y{u}>{cyYu};" +
"Y{a}>{cyYa};" +
"Y{i}>{cyYi};" +
"Y>{cyY};" +
"Z{h}>{cyZhe};" +
"Z>{cyZe};" +
"X>{cyKe}{cySe};" +
//lower case: doesn''t solve join bug
"y{a}{i}>{cyya}{cyy}\n" +
"y{e}{i}>{cyye}{cyy}\n" +
"y{i}{i}>{cyyi}{cyy}\n" +
"y{o}{i}>{cyyo}{cyy}\n" +
"y{u}{i}>{cyyu}{cyy}\n" +
"a{i}>{cya}{cyy}\n" +
"e{i}>{cye}{cyy}\n" +
"y{a}{i}>{cyya}{cyy};" +
"y{e}{i}>{cyye}{cyy};" +
"y{i}{i}>{cyyi}{cyy};" +
"y{o}{i}>{cyyo}{cyy};" +
"y{u}{i}>{cyyu}{cyy};" +
"a{i}>{cya}{cyy};" +
"e{i}>{cye}{cyy};" +
//skip ii, since it is the soft sign
"o{i}>{cyo}{cyy}\n" +
"u{i}>{cyu}{cyy}\n" +
"o{i}>{cyo}{cyy};" +
"u{i}>{cyu}{cyy};" +
"a>{cya}\n" +
"b>{cybe}\n" +
"c{h}>{cyche}\n" +
"c[{iey}>{cyse}\n" +
"c>{cyke}\n" +
"d>{cyde}\n" +
"e>{cye}\n" +
"f>{cyfe}\n" +
"g>{cyge}\n" +
"h>{cyhard}\n" +
"i{i}>{cysoft}\n" +
"i>{cyi}\n" +
"j>{cyde}{cyzhe}\n" +
"k{h}>{cykhe}\n" +
"k>{cyke}\n" +
"l>{cyle}\n" +
"m>{cyme}\n" +
"n>{cyne}\n" +
"o>{cyo}\n" +
"p>{cype}\n" +
"q{u}>{cyke}{cyve}\n" +
"r>{cyre}\n" +
"s{h}{t}{c}{h}>{cyshche}\n" +
"s{h}{c}{h}>{cyshche}\n" +
"s{h}>{cyshe}\n" +
"s>{cyse}\n" +
"t{c}{h}>{cyche}\n" +
"t{h}>{cyze}\n" +
"t{s}>{cytse}\n" +
"t>{cyte}\n" +
"u>{cyu}\n" +
"v>{cyve}\n" +
"w{h}>{cyve}\n" +
"w>{cyve}\n" +
"x>{cyke}{cyse}\n" +
"y{e}>{cyye}\n" +
"y{o}>{cyyo}\n" +
"y{u}>{cyyu}\n" +
"y{a}>{cyya}\n" +
"y{i}>{cyyi}\n" +
"y>{cyy}\n" +
"z{h}>{cyzhe}\n" +
"z>{cyze}\n" +
"x>{cyke}{cyse}\n" +
"a>{cya};" +
"b>{cybe};" +
"c{h}>{cyche};" +
"c[{iey}>{cyse};" +
"c>{cyke};" +
"d>{cyde};" +
"e>{cye};" +
"f>{cyfe};" +
"g>{cyge};" +
"h>{cyhard};" +
"i{i}>{cysoft};" +
"i>{cyi};" +
"j>{cyde}{cyzhe};" +
"k{h}>{cykhe};" +
"k>{cyke};" +
"l>{cyle};" +
"m>{cyme};" +
"n>{cyne};" +
"o>{cyo};" +
"p>{cype};" +
"q{u}>{cyke}{cyve};" +
"r>{cyre};" +
"s{h}{t}{c}{h}>{cyshche};" +
"s{h}{c}{h}>{cyshche};" +
"s{h}>{cyshe};" +
"s>{cyse};" +
"t{c}{h}>{cyche};" +
"t{h}>{cyze};" +
"t{s}>{cytse};" +
"t>{cyte};" +
"u>{cyu};" +
"v>{cyve};" +
"w{h}>{cyve};" +
"w>{cyve};" +
"x>{cyke}{cyse};" +
"y{e}>{cyye};" +
"y{o}>{cyyo};" +
"y{u}>{cyyu};" +
"y{a}>{cyya};" +
"y{i}>{cyyi};" +
"y>{cyy};" +
"z{h}>{cyzhe};" +
"z>{cyze};" +
"x>{cyke}{cyse};" +
//generally the last rule
"''>\n" +
"''>;" +
//now Russian to English
"Y''<{cyY}[{cyA}\n" +
"Y''<{cyY}[{cyE}\n" +
"Y''<{cyY}[{cyI}\n" +
"Y''<{cyY}[{cyO}\n" +
"Y''<{cyY}[{cyU}\n" +
"Y''<{cyY}[{cya}\n" +
"Y''<{cyY}[{cye}\n" +
"Y''<{cyY}[{cyi}\n" +
"Y''<{cyY}[{cyo}\n" +
"Y''<{cyY}[{cyu}\n" +
"A<{cyA}\n" +
"B<{cyBe}\n" +
"J<{cyDe}{cyZhe}\n" +
"J<{cyDe}{cyzhe}\n" +
"D<{cyDe}\n" +
"V<{cyVe}\n" +
"G<{cyGe}\n" +
"Zh<{cyZhe}[{lower}\n" +
"ZH<{cyZhe}\n" +
"Z''<{cyZe}[{cyHard}\n" +
"Z''<{cyZe}[{cyhard}\n" +
"Z<{cyZe}\n" +
"Ye<{cyYe}[{lower}\n" +
"YE<{cyYe}\n" +
"Yo<{cyYo}[{lower}\n" +
"YO<{cyYo}\n" +
"Yu<{cyYu}[{lower}\n" +
"YU<{cyYu}\n" +
"Ya<{cyYa}[{lower}\n" +
"YA<{cyYa}\n" +
"Yi<{cyYi}[{lower}\n" +
"YI<{cyYi}\n" +
"Y<{cyY}\n" +
"Kh<{cyKhe}[{lower}\n" +
"KH<{cyKhe}\n" +
"K''<{cyKe}[{cyHard}\n" +
"K''<{cyKe}[{cyhard}\n" +
"X<{cyKe}{cySe}\n" +
"X<{cyKe}{cyse}\n" +
"K<{cyKe}\n" +
"L<{cyLe}\n" +
"M<{cyMe}\n" +
"N<{cyNe}\n" +
"O<{cyO}\n" +
"P<{cyPe}\n" +
"Y''<{cyY}[{cyA};" +
"Y''<{cyY}[{cyE};" +
"Y''<{cyY}[{cyI};" +
"Y''<{cyY}[{cyO};" +
"Y''<{cyY}[{cyU};" +
"Y''<{cyY}[{cya};" +
"Y''<{cyY}[{cye};" +
"Y''<{cyY}[{cyi};" +
"Y''<{cyY}[{cyo};" +
"Y''<{cyY}[{cyu};" +
"A<{cyA};" +
"B<{cyBe};" +
"J<{cyDe}{cyZhe};" +
"J<{cyDe}{cyzhe};" +
"D<{cyDe};" +
"V<{cyVe};" +
"G<{cyGe};" +
"Zh<{cyZhe}[{lower};" +
"ZH<{cyZhe};" +
"Z''<{cyZe}[{cyHard};" +
"Z''<{cyZe}[{cyhard};" +
"Z<{cyZe};" +
"Ye<{cyYe}[{lower};" +
"YE<{cyYe};" +
"Yo<{cyYo}[{lower};" +
"YO<{cyYo};" +
"Yu<{cyYu}[{lower};" +
"YU<{cyYu};" +
"Ya<{cyYa}[{lower};" +
"YA<{cyYa};" +
"Yi<{cyYi}[{lower};" +
"YI<{cyYi};" +
"Y<{cyY};" +
"Kh<{cyKhe}[{lower};" +
"KH<{cyKhe};" +
"K''<{cyKe}[{cyHard};" +
"K''<{cyKe}[{cyhard};" +
"X<{cyKe}{cySe};" +
"X<{cyKe}{cyse};" +
"K<{cyKe};" +
"L<{cyLe};" +
"M<{cyMe};" +
"N<{cyNe};" +
"O<{cyO};" +
"P<{cyPe};" +
"R<{cyRe}\n" +
"Shch<{cyShche}[{lower}\n" +
"SHCH<{cyShche}\n" +
"Sh''<{cyShe}[{cyche}\n" +
"SH''<{cyShe}[{cyChe}\n" +
"Sh<{cyShe}[{lower}\n" +
"SH<{cyShe}\n" +
"S''<{cySe}[{cyHard}\n" +
"S''<{cySe}[{cyhard}\n" +
"S<{cySe}\n" +
"Ts<{cyTse}[{lower}\n" +
"TS<{cyTse}\n" +
"T''<{cyTe}[{cySe}\n" +
"T''<{cyTe}[{cyse}\n" +
"T''<{cyTe}[{cyHard}\n" +
"T''<{cyTe}[{cyhard}\n" +
"T<{cyTe}\n" +
"U<{cyU}\n" +
"F<{cyFe}\n" +
"Ch<{cyChe}[{lower}\n" +
"CH<{cyChe}\n" +
"H<{cyHard}\n" +
"I''<{cyI}[{cyI}\n" +
"I''<{cyI}[{cyi}\n" +
"I<{cyI}\n" +
"Ii<{cySoft}[{lower}\n" +
"II<{cySoft}\n" +
"E<{cyE}\n" +
"R<{cyRe};" +
"Shch<{cyShche}[{lower};" +
"SHCH<{cyShche};" +
"Sh''<{cyShe}[{cyche};" +
"SH''<{cyShe}[{cyChe};" +
"Sh<{cyShe}[{lower};" +
"SH<{cyShe};" +
"S''<{cySe}[{cyHard};" +
"S''<{cySe}[{cyhard};" +
"S<{cySe};" +
"Ts<{cyTse}[{lower};" +
"TS<{cyTse};" +
"T''<{cyTe}[{cySe};" +
"T''<{cyTe}[{cyse};" +
"T''<{cyTe}[{cyHard};" +
"T''<{cyTe}[{cyhard};" +
"T<{cyTe};" +
"U<{cyU};" +
"F<{cyFe};" +
"Ch<{cyChe}[{lower};" +
"CH<{cyChe};" +
"H<{cyHard};" +
"I''<{cyI}[{cyI};" +
"I''<{cyI}[{cyi};" +
"I<{cyI};" +
"Ii<{cySoft}[{lower};" +
"II<{cySoft};" +
"E<{cyE};" +
//lowercase
"y''<{cyy}[{cya}\n" +
"y''<{cyy}[{cye}\n" +
"y''<{cyy}[{cyi}\n" +
"y''<{cyy}[{cyo}\n" +
"y''<{cyy}[{cyu}\n" +
"y''<{cyy}[{cyA}\n" +
"y''<{cyy}[{cyE}\n" +
"y''<{cyy}[{cyI}\n" +
"y''<{cyy}[{cyO}\n" +
"y''<{cyy}[{cyU}\n" +
"a<{cya}\n" +
"b<{cybe}\n" +
"j<{cyde}{cyzhe}\n" +
"j<{cyde}{cyZhe}\n" +
"d<{cyde}\n" +
"v<{cyve}\n" +
"g<{cyge}\n" +
"zh<{cyzhe}\n" +
"z''<{cyze}[{cyhard}\n" +
"z''<{cyze}[{cyHard}\n" +
"z<{cyze}\n" +
"ye<{cyye}\n" +
"yo<{cyyo}\n" +
"yu<{cyyu}\n" +
"ya<{cyya}\n" +
"yi<{cyyi}\n" +
"y<{cyy}\n" +
"kh<{cykhe}\n" +
"k''<{cyke}[{cyhard}\n" +
"k''<{cyke}[{cyHard}\n" +
"x<{cyke}{cyse}\n" +
"x<{cyke}{cySe}\n" +
"k<{cyke}\n" +
"l<{cyle}\n" +
"m<{cyme}\n" +
"n<{cyne}\n" +
"o<{cyo}\n" +
"p<{cype}\n" +
"y''<{cyy}[{cya};" +
"y''<{cyy}[{cye};" +
"y''<{cyy}[{cyi};" +
"y''<{cyy}[{cyo};" +
"y''<{cyy}[{cyu};" +
"y''<{cyy}[{cyA};" +
"y''<{cyy}[{cyE};" +
"y''<{cyy}[{cyI};" +
"y''<{cyy}[{cyO};" +
"y''<{cyy}[{cyU};" +
"a<{cya};" +
"b<{cybe};" +
"j<{cyde}{cyzhe};" +
"j<{cyde}{cyZhe};" +
"d<{cyde};" +
"v<{cyve};" +
"g<{cyge};" +
"zh<{cyzhe};" +
"z''<{cyze}[{cyhard};" +
"z''<{cyze}[{cyHard};" +
"z<{cyze};" +
"ye<{cyye};" +
"yo<{cyyo};" +
"yu<{cyyu};" +
"ya<{cyya};" +
"yi<{cyyi};" +
"y<{cyy};" +
"kh<{cykhe};" +
"k''<{cyke}[{cyhard};" +
"k''<{cyke}[{cyHard};" +
"x<{cyke}{cyse};" +
"x<{cyke}{cySe};" +
"k<{cyke};" +
"l<{cyle};" +
"m<{cyme};" +
"n<{cyne};" +
"o<{cyo};" +
"p<{cype};" +
"r<{cyre}\n" +
"shch<{cyshche}\n" +
"sh''<{cyshe}[{cyche}\n" +
"sh''<{cyshe}[{cyChe}\n" +
"sh<{cyshe}\n" +
"s''<{cyse}[{cyhard}\n" +
"s''<{cyse}[{cyHard}\n" +
"s<{cyse}\n" +
"ts<{cytse}\n" +
"t''<{cyte}[{cyse}\n" +
"t''<{cyte}[{cySe}\n" +
"t''<{cyte}[{cyhard}\n" +
"t''<{cyte}[{cyHard}\n" +
"t<{cyte}\n" +
"u<{cyu}\n" +
"f<{cyfe}\n" +
"ch<{cyche}\n" +
"h<{cyhard}\n" +
"i''<{cyi}[{cyI}\n" +
"i''<{cyi}[{cyi}\n" +
"i<{cyi}\n" +
"ii<{cysoft}\n" +
"e<{cye}\n" +
"r<{cyre};" +
"shch<{cyshche};" +
"sh''<{cyshe}[{cyche};" +
"sh''<{cyshe}[{cyChe};" +
"sh<{cyshe};" +
"s''<{cyse}[{cyhard};" +
"s''<{cyse}[{cyHard};" +
"s<{cyse};" +
"ts<{cytse};" +
"t''<{cyte}[{cyse};" +
"t''<{cyte}[{cySe};" +
"t''<{cyte}[{cyhard};" +
"t''<{cyte}[{cyHard};" +
"t<{cyte};" +
"u<{cyu};" +
"f<{cyfe};" +
"ch<{cyche};" +
"h<{cyhard};" +
"i''<{cyi}[{cyI};" +
"i''<{cyi}[{cyi};" +
"i<{cyi};" +
"ii<{cysoft};" +
"e<{cye};" +
//generally the last rule
"''>\n"
"''>;"
//the end
}
};

View File

@ -45,91 +45,91 @@ public class TransliterationRule$Latin$Devanagari extends ListResourceBundle {
//#####################################################################
//consonants
"candrabindu=\u0901\n"
+ "bindu=\u0902\n"
+ "visarga=\u0903\n"
"candrabindu=\u0901;"
+ "bindu=\u0902;"
+ "visarga=\u0903;"
// w<vowel> represents the stand-alone form
+ "wa=\u0905\n"
+ "waa=\u0906\n"
+ "wi=\u0907\n"
+ "wii=\u0908\n"
+ "wu=\u0909\n"
+ "wuu=\u090A\n"
+ "wr=\u090B\n"
+ "wl=\u090C\n"
+ "we=\u090F\n"
+ "wai=\u0910\n"
+ "wo=\u0913\n"
+ "wau=\u0914\n"
+ "wa=\u0905;"
+ "waa=\u0906;"
+ "wi=\u0907;"
+ "wii=\u0908;"
+ "wu=\u0909;"
+ "wuu=\u090A;"
+ "wr=\u090B;"
+ "wl=\u090C;"
+ "we=\u090F;"
+ "wai=\u0910;"
+ "wo=\u0913;"
+ "wau=\u0914;"
+ "ka=\u0915\n"
+ "kha=\u0916\n"
+ "ga=\u0917\n"
+ "gha=\u0918\n"
+ "nga=\u0919\n"
+ "ka=\u0915;"
+ "kha=\u0916;"
+ "ga=\u0917;"
+ "gha=\u0918;"
+ "nga=\u0919;"
+ "ca=\u091A\n"
+ "cha=\u091B\n"
+ "ja=\u091C\n"
+ "jha=\u091D\n"
+ "nya=\u091E\n"
+ "ca=\u091A;"
+ "cha=\u091B;"
+ "ja=\u091C;"
+ "jha=\u091D;"
+ "nya=\u091E;"
+ "tta=\u091F\n"
+ "ttha=\u0920\n"
+ "dda=\u0921\n"
+ "ddha=\u0922\n"
+ "nna=\u0923\n"
+ "tta=\u091F;"
+ "ttha=\u0920;"
+ "dda=\u0921;"
+ "ddha=\u0922;"
+ "nna=\u0923;"
+ "ta=\u0924\n"
+ "tha=\u0925\n"
+ "da=\u0926\n"
+ "dha=\u0927\n"
+ "na=\u0928\n"
+ "ta=\u0924;"
+ "tha=\u0925;"
+ "da=\u0926;"
+ "dha=\u0927;"
+ "na=\u0928;"
+ "pa=\u092A\n"
+ "pha=\u092B\n"
+ "ba=\u092C\n"
+ "bha=\u092D\n"
+ "ma=\u092E\n"
+ "pa=\u092A;"
+ "pha=\u092B;"
+ "ba=\u092C;"
+ "bha=\u092D;"
+ "ma=\u092E;"
+ "ya=\u092F\n"
+ "ra=\u0930\n"
+ "rra=\u0931\n"
+ "la=\u0933\n"
+ "va=\u0935\n"
+ "ya=\u092F;"
+ "ra=\u0930;"
+ "rra=\u0931;"
+ "la=\u0933;"
+ "va=\u0935;"
+ "sha=\u0936\n"
+ "ssa=\u0937\n"
+ "sa=\u0938\n"
+ "ha=\u0939\n"
+ "sha=\u0936;"
+ "ssa=\u0937;"
+ "sa=\u0938;"
+ "ha=\u0939;"
// <vowel> represents the dependent form
+ "aa=\u093E\n"
+ "i=\u093F\n"
+ "ii=\u0940\n"
+ "u=\u0941\n"
+ "uu=\u0942\n"
+ "rh=\u0943\n"
+ "lh=\u0944\n"
+ "e=\u0947\n"
+ "ai=\u0948\n"
+ "o=\u094B\n"
+ "au=\u094C\n"
+ "aa=\u093E;"
+ "i=\u093F;"
+ "ii=\u0940;"
+ "u=\u0941;"
+ "uu=\u0942;"
+ "rh=\u0943;"
+ "lh=\u0944;"
+ "e=\u0947;"
+ "ai=\u0948;"
+ "o=\u094B;"
+ "au=\u094C;"
+ "virama=\u094D\n"
+ "virama=\u094D;"
+ "wrr=\u0960\n"
+ "rrh=\u0962\n"
+ "wrr=\u0960;"
+ "rrh=\u0962;"
+ "danda=\u0964\n"
+ "doubleDanda=\u0965\n"
+ "depVowelAbove=[\u093E-\u0940\u0945-\u094C]\n"
+ "depVowelBelow=[\u0941-\u0944]\n"
+ "endThing=[{danda}{doubleDanda}\u0000-\u08FF\u0980-\uFFFF]\n"
+ "danda=\u0964;"
+ "doubleDanda=\u0965;"
+ "depVowelAbove=[\u093E-\u0940\u0945-\u094C];"
+ "depVowelBelow=[\u0941-\u0944];"
+ "endThing=[{danda}{doubleDanda}\u0000-\u08FF\u0980-\uFFFF];"
+ "&=[{virama}{aa}{ai}{au}{ii}{i}{uu}{u}{rrh}{rh}{lh}{e}{o}]\n"
+ "%=[bcdfghjklmnpqrstvwxyz]\n"
+ "&=[{virama}{aa}{ai}{au}{ii}{i}{uu}{u}{rrh}{rh}{lh}{e}{o}];"
+ "%=[bcdfghjklmnpqrstvwxyz];"
//#####################################################################
// convert from Latin letters to Native letters
@ -138,110 +138,110 @@ public class TransliterationRule$Latin$Devanagari extends ListResourceBundle {
// special forms with no good conversion
+ "mm>{bindu}\n"
+ "x>{visarga}\n"
+ "mm>{bindu};"
+ "x>{visarga};"
// convert to independent forms at start of word or syllable:
// e.g. keai -> {ka}{e}{wai}; k'ai -> {ka}{wai}; (ai) -> ({wai})
// Moved up [LIU]
+ "aa>{waa}\n"
+ "ai>{wai}\n"
+ "au>{wau}\n"
+ "ii>{wii}\n"
+ "i>{wi}\n"
+ "uu>{wuu}\n"
+ "u>{wu}\n"
+ "rrh>{wrr}\n"
+ "rh>{wr}\n"
+ "lh>{wl}\n"
+ "e>{we}\n"
+ "o>{wo}\n"
+ "a>{wa}\n"
+ "aa>{waa};"
+ "ai>{wai};"
+ "au>{wau};"
+ "ii>{wii};"
+ "i>{wi};"
+ "uu>{wuu};"
+ "u>{wu};"
+ "rrh>{wrr};"
+ "rh>{wr};"
+ "lh>{wl};"
+ "e>{we};"
+ "o>{wo};"
+ "a>{wa};"
// normal consonants
+ "kh>{kha}|{virama}\n"
+ "k>{ka}|{virama}\n"
+ "q>{ka}|{virama}\n"
+ "gh>{gha}|{virama}\n"
+ "g>{ga}|{virama}\n"
+ "ng>{nga}|{virama}\n"
+ "ch>{cha}|{virama}\n"
+ "c>{ca}|{virama}\n"
+ "jh>{jha}|{virama}\n"
+ "j>{ja}|{virama}\n"
+ "ny>{nya}|{virama}\n"
+ "tth>{ttha}|{virama}\n"
+ "tt>{tta}|{virama}\n"
+ "ddh>{ddha}|{virama}\n"
+ "dd>{dda}|{virama}\n"
+ "nn>{nna}|{virama}\n"
+ "th>{tha}|{virama}\n"
+ "t>{ta}|{virama}\n"
+ "dh>{dha}|{virama}\n"
+ "d>{da}|{virama}\n"
+ "n>{na}|{virama}\n"
+ "ph>{pha}|{virama}\n"
+ "p>{pa}|{virama}\n"
+ "bh>{bha}|{virama}\n"
+ "b>{ba}|{virama}\n"
+ "m>{ma}|{virama}\n"
+ "y>{ya}|{virama}\n"
+ "r>{ra}|{virama}\n"
+ "l>{la}|{virama}\n"
+ "v>{va}|{virama}\n"
+ "f>{va}|{virama}\n"
+ "w>{va}|{virama}\n"
+ "sh>{sha}|{virama}\n"
+ "ss>{ssa}|{virama}\n"
+ "s>{sa}|{virama}\n"
+ "z>{sa}|{virama}\n"
+ "h>{ha}|{virama}\n"
+ "kh>{kha}|{virama};"
+ "k>{ka}|{virama};"
+ "q>{ka}|{virama};"
+ "gh>{gha}|{virama};"
+ "g>{ga}|{virama};"
+ "ng>{nga}|{virama};"
+ "ch>{cha}|{virama};"
+ "c>{ca}|{virama};"
+ "jh>{jha}|{virama};"
+ "j>{ja}|{virama};"
+ "ny>{nya}|{virama};"
+ "tth>{ttha}|{virama};"
+ "tt>{tta}|{virama};"
+ "ddh>{ddha}|{virama};"
+ "dd>{dda}|{virama};"
+ "nn>{nna}|{virama};"
+ "th>{tha}|{virama};"
+ "t>{ta}|{virama};"
+ "dh>{dha}|{virama};"
+ "d>{da}|{virama};"
+ "n>{na}|{virama};"
+ "ph>{pha}|{virama};"
+ "p>{pa}|{virama};"
+ "bh>{bha}|{virama};"
+ "b>{ba}|{virama};"
+ "m>{ma}|{virama};"
+ "y>{ya}|{virama};"
+ "r>{ra}|{virama};"
+ "l>{la}|{virama};"
+ "v>{va}|{virama};"
+ "f>{va}|{virama};"
+ "w>{va}|{virama};"
+ "sh>{sha}|{virama};"
+ "ss>{ssa}|{virama};"
+ "s>{sa}|{virama};"
+ "z>{sa}|{virama};"
+ "h>{ha}|{virama};"
+ ".>{danda}\n"
+ "{danda}.>{doubleDanda}\n"
+ "{depVowelAbove}]~>{bindu}\n"
+ "{depVowelBelow}]~>{candrabindu}\n"
+ ".>{danda};"
+ "{danda}.>{doubleDanda};"
+ "{depVowelAbove}]~>{bindu};"
+ "{depVowelBelow}]~>{candrabindu};"
// convert to dependent forms after consonant with no vowel:
// e.g. kai -> {ka}{virama}ai -> {ka}{ai}
+ "{virama}aa>{aa}\n"
+ "{virama}ai>{ai}\n"
+ "{virama}au>{au}\n"
+ "{virama}ii>{ii}\n"
+ "{virama}i>{i}\n"
+ "{virama}uu>{uu}\n"
+ "{virama}u>{u}\n"
+ "{virama}rrh>{rrh}\n"
+ "{virama}rh>{rh}\n"
+ "{virama}lh>{lh}\n"
+ "{virama}e>{e}\n"
+ "{virama}o>{o}\n"
+ "{virama}a>\n"
+ "{virama}aa>{aa};"
+ "{virama}ai>{ai};"
+ "{virama}au>{au};"
+ "{virama}ii>{ii};"
+ "{virama}i>{i};"
+ "{virama}uu>{uu};"
+ "{virama}u>{u};"
+ "{virama}rrh>{rrh};"
+ "{virama}rh>{rh};"
+ "{virama}lh>{lh};"
+ "{virama}e>{e};"
+ "{virama}o>{o};"
+ "{virama}a>;"
// otherwise convert independent forms when separated by ': k'ai -> {ka}{virama}{wai}
+ "{virama}''aa>{waa}\n"
+ "{virama}''ai>{wai}\n"
+ "{virama}''au>{wau}\n"
+ "{virama}''ii>{wii}\n"
+ "{virama}''i>{wi}\n"
+ "{virama}''uu>{wuu}\n"
+ "{virama}''u>{wu}\n"
+ "{virama}''rrh>{wrr}\n"
+ "{virama}''rh>{wr}\n"
+ "{virama}''lh>{wl}\n"
+ "{virama}''e>{we}\n"
+ "{virama}''o>{wo}\n"
+ "{virama}''a>{wa}\n"
+ "{virama}''aa>{waa};"
+ "{virama}''ai>{wai};"
+ "{virama}''au>{wau};"
+ "{virama}''ii>{wii};"
+ "{virama}''i>{wi};"
+ "{virama}''uu>{wuu};"
+ "{virama}''u>{wu};"
+ "{virama}''rrh>{wrr};"
+ "{virama}''rh>{wr};"
+ "{virama}''lh>{wl};"
+ "{virama}''e>{we};"
+ "{virama}''o>{wo};"
+ "{virama}''a>{wa};"
+ "{virama}[{endThing}>\n"
+ "{virama}[{endThing}>;"
// convert any left-over apostrophes used for separation
+ "''>\n"
+ "''>;"
//#####################################################################
// convert from Native letters to Latin letters
@ -249,163 +249,163 @@ public class TransliterationRule$Latin$Devanagari extends ListResourceBundle {
// special forms with no good conversion
+ "mm<{bindu}\n"
+ "x<{visarga}\n"
+ "mm<{bindu};"
+ "x<{visarga};"
// normal consonants
+ "kh<{kha}[&\n"
+ "kha<{kha}\n"
+ "k''<{ka}{virama}[{ha}\n"
+ "k<{ka}[&\n"
+ "ka<{ka}\n"
+ "gh<{gha}[&\n"
+ "gha<{gha}\n"
+ "g''<{ga}{virama}[{ha}\n"
+ "g<{ga}[&\n"
+ "ga<{ga}\n"
+ "ng<{nga}[&\n"
+ "nga<{nga}\n"
+ "ch<{cha}[&\n"
+ "cha<{cha}\n"
+ "c''<{ca}{virama}[{ha}\n"
+ "c<{ca}[&\n"
+ "ca<{ca}\n"
+ "jh<{jha}[&\n"
+ "jha<{jha}\n"
+ "j''<{ja}{virama}[{ha}\n"
+ "j<{ja}[&\n"
+ "ja<{ja}\n"
+ "ny<{nya}[&\n"
+ "nya<{nya}\n"
+ "tth<{ttha}[&\n"
+ "ttha<{ttha}\n"
+ "tt''<{tta}{virama}[{ha}\n"
+ "tt<{tta}[&\n"
+ "tta<{tta}\n"
+ "ddh<{ddha}[&\n"
+ "ddha<{ddha}\n"
+ "dd''<{dda}[&{ha}\n"
+ "dd<{dda}[&\n"
+ "dda<{dda}\n"
+ "dh<{dha}[&\n"
+ "dha<{dha}\n"
+ "d''<{da}{virama}[{ha}\n"
+ "d''<{da}{virama}[{ddha}\n"
+ "d''<{da}{virama}[{dda}\n"
+ "d''<{da}{virama}[{dha}\n"
+ "d''<{da}{virama}[{da}\n"
+ "d<{da}[&\n"
+ "da<{da}\n"
+ "th<{tha}[&\n"
+ "tha<{tha}\n"
+ "t''<{ta}{virama}[{ha}\n"
+ "t''<{ta}{virama}[{ttha}\n"
+ "t''<{ta}{virama}[{tta}\n"
+ "t''<{ta}{virama}[{tha}\n"
+ "t''<{ta}{virama}[{ta}\n"
+ "t<{ta}[&\n"
+ "ta<{ta}\n"
+ "n''<{na}{virama}[{ga}\n"
+ "n''<{na}{virama}[{ya}\n"
+ "n<{na}[&\n"
+ "na<{na}\n"
+ "ph<{pha}[&\n"
+ "pha<{pha}\n"
+ "p''<{pa}{virama}[{ha}\n"
+ "p<{pa}[&\n"
+ "pa<{pa}\n"
+ "bh<{bha}[&\n"
+ "bha<{bha}\n"
+ "b''<{ba}{virama}[{ha}\n"
+ "b<{ba}[&\n"
+ "ba<{ba}\n"
+ "m''<{ma}{virama}[{ma}\n"
+ "m''<{ma}{virama}[{bindu}\n"
+ "m<{ma}[&\n"
+ "ma<{ma}\n"
+ "y<{ya}[&\n"
+ "ya<{ya}\n"
+ "r''<{ra}{virama}[{ha}\n"
+ "r<{ra}[&\n"
+ "ra<{ra}\n"
+ "l''<{la}{virama}[{ha}\n"
+ "l<{la}[&\n"
+ "la<{la}\n"
+ "v<{va}[&\n"
+ "va<{va}\n"
+ "sh<{sha}[&\n"
+ "sha<{sha}\n"
+ "ss<{ssa}[&\n"
+ "ssa<{ssa}\n"
+ "s''<{sa}{virama}[{ha}\n"
+ "s''<{sa}{virama}[{sha}\n"
+ "s''<{sa}{virama}[{ssa}\n"
+ "s''<{sa}{virama}[{sa}\n"
+ "s<{sa}[&\n"
+ "sa<{sa}\n"
+ "h<{ha}[&\n"
+ "ha<{ha}\n"
+ "kh<{kha}[&;"
+ "kha<{kha};"
+ "k''<{ka}{virama}[{ha};"
+ "k<{ka}[&;"
+ "ka<{ka};"
+ "gh<{gha}[&;"
+ "gha<{gha};"
+ "g''<{ga}{virama}[{ha};"
+ "g<{ga}[&;"
+ "ga<{ga};"
+ "ng<{nga}[&;"
+ "nga<{nga};"
+ "ch<{cha}[&;"
+ "cha<{cha};"
+ "c''<{ca}{virama}[{ha};"
+ "c<{ca}[&;"
+ "ca<{ca};"
+ "jh<{jha}[&;"
+ "jha<{jha};"
+ "j''<{ja}{virama}[{ha};"
+ "j<{ja}[&;"
+ "ja<{ja};"
+ "ny<{nya}[&;"
+ "nya<{nya};"
+ "tth<{ttha}[&;"
+ "ttha<{ttha};"
+ "tt''<{tta}{virama}[{ha};"
+ "tt<{tta}[&;"
+ "tta<{tta};"
+ "ddh<{ddha}[&;"
+ "ddha<{ddha};"
+ "dd''<{dda}[&{ha};"
+ "dd<{dda}[&;"
+ "dda<{dda};"
+ "dh<{dha}[&;"
+ "dha<{dha};"
+ "d''<{da}{virama}[{ha};"
+ "d''<{da}{virama}[{ddha};"
+ "d''<{da}{virama}[{dda};"
+ "d''<{da}{virama}[{dha};"
+ "d''<{da}{virama}[{da};"
+ "d<{da}[&;"
+ "da<{da};"
+ "th<{tha}[&;"
+ "tha<{tha};"
+ "t''<{ta}{virama}[{ha};"
+ "t''<{ta}{virama}[{ttha};"
+ "t''<{ta}{virama}[{tta};"
+ "t''<{ta}{virama}[{tha};"
+ "t''<{ta}{virama}[{ta};"
+ "t<{ta}[&;"
+ "ta<{ta};"
+ "n''<{na}{virama}[{ga};"
+ "n''<{na}{virama}[{ya};"
+ "n<{na}[&;"
+ "na<{na};"
+ "ph<{pha}[&;"
+ "pha<{pha};"
+ "p''<{pa}{virama}[{ha};"
+ "p<{pa}[&;"
+ "pa<{pa};"
+ "bh<{bha}[&;"
+ "bha<{bha};"
+ "b''<{ba}{virama}[{ha};"
+ "b<{ba}[&;"
+ "ba<{ba};"
+ "m''<{ma}{virama}[{ma};"
+ "m''<{ma}{virama}[{bindu};"
+ "m<{ma}[&;"
+ "ma<{ma};"
+ "y<{ya}[&;"
+ "ya<{ya};"
+ "r''<{ra}{virama}[{ha};"
+ "r<{ra}[&;"
+ "ra<{ra};"
+ "l''<{la}{virama}[{ha};"
+ "l<{la}[&;"
+ "la<{la};"
+ "v<{va}[&;"
+ "va<{va};"
+ "sh<{sha}[&;"
+ "sha<{sha};"
+ "ss<{ssa}[&;"
+ "ssa<{ssa};"
+ "s''<{sa}{virama}[{ha};"
+ "s''<{sa}{virama}[{sha};"
+ "s''<{sa}{virama}[{ssa};"
+ "s''<{sa}{virama}[{sa};"
+ "s<{sa}[&;"
+ "sa<{sa};"
+ "h<{ha}[&;"
+ "ha<{ha};"
// dependent vowels (should never occur except following consonants)
+ "aa<{aa}\n"
+ "ai<{ai}\n"
+ "au<{au}\n"
+ "ii<{ii}\n"
+ "i<{i}\n"
+ "uu<{uu}\n"
+ "u<{u}\n"
+ "rrh<{rrh}\n"
+ "rh<{rh}\n"
+ "lh<{lh}\n"
+ "e<{e}\n"
+ "o<{o}\n"
+ "aa<{aa};"
+ "ai<{ai};"
+ "au<{au};"
+ "ii<{ii};"
+ "i<{i};"
+ "uu<{uu};"
+ "u<{u};"
+ "rrh<{rrh};"
+ "rh<{rh};"
+ "lh<{lh};"
+ "e<{e};"
+ "o<{o};"
// independent vowels (when following consonants)
+ "''aa<a]{waa}\n"
+ "''aa<%]{waa}\n"
+ "''ai<a]{wai}\n"
+ "''ai<%]{wai}\n"
+ "''au<a]{wau}\n"
+ "''au<%]{wau}\n"
+ "''ii<a]{wii}\n"
+ "''ii<%]{wii}\n"
+ "''i<a]{wi}\n"
+ "''i<%]{wi}\n"
+ "''uu<a]{wuu}\n"
+ "''uu<%]{wuu}\n"
+ "''u<a]{wu}\n"
+ "''u<%]{wu}\n"
+ "''rrh<%]{wrr}\n"
+ "''rh<%]{wr}\n"
+ "''lh<%]{wl}\n"
+ "''e<%]{we}\n"
+ "''o<%]{wo}\n"
+ "''a<a]{wa}\n"
+ "''a<%]{wa}\n"
+ "''aa<a]{waa};"
+ "''aa<%]{waa};"
+ "''ai<a]{wai};"
+ "''ai<%]{wai};"
+ "''au<a]{wau};"
+ "''au<%]{wau};"
+ "''ii<a]{wii};"
+ "''ii<%]{wii};"
+ "''i<a]{wi};"
+ "''i<%]{wi};"
+ "''uu<a]{wuu};"
+ "''uu<%]{wuu};"
+ "''u<a]{wu};"
+ "''u<%]{wu};"
+ "''rrh<%]{wrr};"
+ "''rh<%]{wr};"
+ "''lh<%]{wl};"
+ "''e<%]{we};"
+ "''o<%]{wo};"
+ "''a<a]{wa};"
+ "''a<%]{wa};"
// independent vowels (otherwise)
+ "aa<{waa}\n"
+ "ai<{wai}\n"
+ "au<{wau}\n"
+ "ii<{wii}\n"
+ "i<{wi}\n"
+ "uu<{wuu}\n"
+ "u<{wu}\n"
+ "rrh<{wrr}\n"
+ "rh<{wr}\n"
+ "lh<{wl}\n"
+ "e<{we}\n"
+ "o<{wo}\n"
+ "a<{wa}\n"
+ "aa<{waa};"
+ "ai<{wai};"
+ "au<{wau};"
+ "ii<{wii};"
+ "i<{wi};"
+ "uu<{wuu};"
+ "u<{wu};"
+ "rrh<{wrr};"
+ "rh<{wr};"
+ "lh<{wl};"
+ "e<{we};"
+ "o<{wo};"
+ "a<{wa};"
// blow away any remaining viramas
+ "<{virama}\n"
+ "<{virama};"
}
};
}

View File

@ -14,366 +14,366 @@ public class TransliterationRule$Latin$Greek extends ListResourceBundle {
{ "Rule",
// Greek Letters
"grAl=\u0391\n"
+ "grBe=\u0392\n"
+ "grGa=\u0393\n"
+ "grDe=\u0394\n"
+ "grEp=\u0395\n"
+ "grZe=\u0396\n"
+ "grEt=\u0397\n"
+ "grTh=\u0398\n"
+ "grIo=\u0399\n"
+ "grKa=\u039A\n"
+ "grLa=\u039B\n"
+ "grMu=\u039C\n"
+ "grNu=\u039D\n"
+ "grKs=\u039E\n"
+ "grOm=\u039F\n"
+ "grPi=\u03A0\n"
+ "grRh=\u03A1\n"
+ "grSi=\u03A3\n"
+ "grTa=\u03A4\n"
+ "grUp=\u03A5\n"
+ "grPh=\u03A6\n"
+ "grKh=\u03A7\n"
+ "grPs=\u03A8\n"
+ "grOme=\u03A9\n"
"grAl=\u0391;"
+ "grBe=\u0392;"
+ "grGa=\u0393;"
+ "grDe=\u0394;"
+ "grEp=\u0395;"
+ "grZe=\u0396;"
+ "grEt=\u0397;"
+ "grTh=\u0398;"
+ "grIo=\u0399;"
+ "grKa=\u039A;"
+ "grLa=\u039B;"
+ "grMu=\u039C;"
+ "grNu=\u039D;"
+ "grKs=\u039E;"
+ "grOm=\u039F;"
+ "grPi=\u03A0;"
+ "grRh=\u03A1;"
+ "grSi=\u03A3;"
+ "grTa=\u03A4;"
+ "grUp=\u03A5;"
+ "grPh=\u03A6;"
+ "grKh=\u03A7;"
+ "grPs=\u03A8;"
+ "grOme=\u03A9;"
+ "gral=\u03B1\n"
+ "grbe=\u03B2\n"
+ "grga=\u03B3\n"
+ "grde=\u03B4\n"
+ "grep=\u03B5\n"
+ "grze=\u03B6\n"
+ "gret=\u03B7\n"
+ "grth=\u03B8\n"
+ "grio=\u03B9\n"
+ "grka=\u03BA\n"
+ "grla=\u03BB\n"
+ "grmu=\u03BC\n"
+ "grnu=\u03BD\n"
+ "grks=\u03BE\n"
+ "grom=\u03BF\n"
+ "grpi=\u03C0\n"
+ "grrh=\u03C1\n"
+ "grsi=\u03C3\n"
+ "grta=\u03C4\n"
+ "grup=\u03C5\n"
+ "grph=\u03C6\n"
+ "grkh=\u03C7\n"
+ "grps=\u03C8\n"
+ "grome=\u03C9\n"
+ "gral=\u03B1;"
+ "grbe=\u03B2;"
+ "grga=\u03B3;"
+ "grde=\u03B4;"
+ "grep=\u03B5;"
+ "grze=\u03B6;"
+ "gret=\u03B7;"
+ "grth=\u03B8;"
+ "grio=\u03B9;"
+ "grka=\u03BA;"
+ "grla=\u03BB;"
+ "grmu=\u03BC;"
+ "grnu=\u03BD;"
+ "grks=\u03BE;"
+ "grom=\u03BF;"
+ "grpi=\u03C0;"
+ "grrh=\u03C1;"
+ "grsi=\u03C3;"
+ "grta=\u03C4;"
+ "grup=\u03C5;"
+ "grph=\u03C6;"
+ "grkh=\u03C7;"
+ "grps=\u03C8;"
+ "grome=\u03C9;"
//forms
+ "grfinal=\u03C2\n"
+ "grfinal=\u03C2;"
+ "grAcAl=\u0386\n"
+ "grAcEp=\u0388\n"
+ "grAcEt=\u0389\n"
+ "grAcIo=\u038A\n"
+ "grAcOm=\u038C\n"
+ "grAcUp=\u038E\n"
+ "grAcOme=\u038F\n"
+ "grDiIo=\u03AA\n"
+ "grDiUp=\u03AB\n"
+ "grAcAl=\u0386;"
+ "grAcEp=\u0388;"
+ "grAcEt=\u0389;"
+ "grAcIo=\u038A;"
+ "grAcOm=\u038C;"
+ "grAcUp=\u038E;"
+ "grAcOme=\u038F;"
+ "grDiIo=\u03AA;"
+ "grDiUp=\u03AB;"
+ "gracal=\u03AC\n"
+ "gracep=\u03AD\n"
+ "gracet=\u03AE\n"
+ "gracio=\u03AF\n"
+ "gracom=\u03CC\n"
+ "gracup=\u03CD\n"
+ "gracome=\u03CE\n"
+ "grdiio=\u03CA\n"
+ "grdiup=\u03CB\n"
+ "gracal=\u03AC;"
+ "gracep=\u03AD;"
+ "gracet=\u03AE;"
+ "gracio=\u03AF;"
+ "gracom=\u03CC;"
+ "gracup=\u03CD;"
+ "gracome=\u03CE;"
+ "grdiio=\u03CA;"
+ "grdiup=\u03CB;"
//gracdiio=\u00FD
//gracdiup=\u00FE
+ "letter=[[:Lu:][:Ll:]]\n"
+ "letter=[[:Lu:][:Ll:]];"
// convert Roman to Native
+ "Greek>\u039c\u0397\u039d\u0399\u039d\u0020\u0391\u0395\u0399\u0394\u0395\u002c\u0020\u0398\u0395\u0391\u002c\u0020--\u0397\u039b\u0397\u0399\u0391\u0394\u0395\u03a9\u0020\u0391\u03a7\u0399\u039b\u0397\u039f\u03a3\n"
+ "Greek>\u039c\u0397\u039d\u0399\u039d\u0020\u0391\u0395\u0399\u0394\u0395\u002c\u0020\u0398\u0395\u0391\u002c\u0020--\u0397\u039b\u0397\u0399\u0391\u0394\u0395\u03a9\u0020\u0391\u03a7\u0399\u039b\u0397\u039f\u03a3;"
+ "AV`>{grAl}{grAcUp}\n"
+ "EV`>{grEp}{grAcUp}\n"
+ "AV>{grAl}{grUp}\n"
+ "EV>{grEp}{grUp}\n"
+ "NG>{grGa}{grGa}\n"
+ "NK>{grGa}{grKa}\n"
+ "NX>{grGa}{grKs}\n"
+ "NCH>{grGa}{grKh}\n"
+ "AV`>{grAl}{grAcUp};"
+ "EV`>{grEp}{grAcUp};"
+ "AV>{grAl}{grUp};"
+ "EV>{grEp}{grUp};"
+ "NG>{grGa}{grGa};"
+ "NK>{grGa}{grKa};"
+ "NX>{grGa}{grKs};"
+ "NCH>{grGa}{grKh};"
//+ "final = [ .;]\n" // Syntax error, unused anyway - Liu
//+ "final = [ .;];" // Syntax error, unused anyway - Liu
+ "A`>{grAcAl}\n"
+ "EE`>{grAcEt}\n"
+ "E`>{grAcEp}\n"
+ "I`>{grAcIo}\n"
+ "U`>{grAcUp}\n"
+ "OO`>{grAcOme}\n"
+ "O`>{grAcOm}\n"
+ "''I>{grDiIo}\n"
+ "''U>{grDiUp}\n"
+ "A>{grAl}\n"
+ "B>{grBe}\n"
+ "C[I>{grSi}\n"
+ "C[E>{grSi}\n"
+ "C[Y>{grSi}\n"
+ "CH>{grKh}\n"
+ "C>{grKa}\n"
+ "D>{grDe}\n"
+ "EE>{grEt}\n"
+ "E>{grEp}\n"
+ "F>{grPh}\n"
+ "G>{grGa}\n"
+ "H>{grKh}\n"
+ "I>{grIo}\n"
+ "J>{grIo}\n"
+ "KS>{grKs}\n"
+ "KH>{grKh}\n"
+ "K>{grKa}\n"
+ "L>{grLa}\n"
+ "M>{grMu}\n"
+ "N>{grNu}\n"
+ "OO>{grOme}\n"
+ "O>{grOm}\n"
+ "PS>{grPs}\n"
+ "PH>{grPh}\n"
+ "P>{grPi}\n"
+ "Q>{grKa}\n"
+ "R>{grRh}\n"
+ "S>{grSi}\n"
+ "TH>{grTh}\n"
+ "T>{grTa}\n"
+ "W>{grUp}{grUp}\n"
+ "U>{grUp}\n"
+ "V>{grUp}\n"
+ "X>{grKs}\n"
+ "Y>{grUp}\n"
+ "Z>{grZe}\n"
+ "A`>{grAcAl};"
+ "EE`>{grAcEt};"
+ "E`>{grAcEp};"
+ "I`>{grAcIo};"
+ "U`>{grAcUp};"
+ "OO`>{grAcOme};"
+ "O`>{grAcOm};"
+ "''I>{grDiIo};"
+ "''U>{grDiUp};"
+ "A>{grAl};"
+ "B>{grBe};"
+ "C[I>{grSi};"
+ "C[E>{grSi};"
+ "C[Y>{grSi};"
+ "CH>{grKh};"
+ "C>{grKa};"
+ "D>{grDe};"
+ "EE>{grEt};"
+ "E>{grEp};"
+ "F>{grPh};"
+ "G>{grGa};"
+ "H>{grKh};"
+ "I>{grIo};"
+ "J>{grIo};"
+ "KS>{grKs};"
+ "KH>{grKh};"
+ "K>{grKa};"
+ "L>{grLa};"
+ "M>{grMu};"
+ "N>{grNu};"
+ "OO>{grOme};"
+ "O>{grOm};"
+ "PS>{grPs};"
+ "PH>{grPh};"
+ "P>{grPi};"
+ "Q>{grKa};"
+ "R>{grRh};"
+ "S>{grSi};"
+ "TH>{grTh};"
+ "T>{grTa};"
+ "W>{grUp}{grUp};"
+ "U>{grUp};"
+ "V>{grUp};"
+ "X>{grKs};"
+ "Y>{grUp};"
+ "Z>{grZe};"
//now Native to Roman
+ "AV<{grAl}{grUp}\n"
+ "EV<{grEp}{grUp}\n"
+ "AV`<{grAl}{grAcUp}\n"
+ "EV`<{grEp}{grAcUp}\n"
+ "N''<{grNu}[{grGa}\n"
+ "NG<{grGa}{grGa}\n"
+ "N''<{grNu}[{grKa}\n"
+ "NK<{grGa}{grKa}\n"
+ "N''<{grNu}[{grKs}\n"
+ "NX<{grGa}{grKs}\n"
+ "N''<{grNu}[{grKh}\n"
+ "NCH<{grGa}{grKh}\n"
+ "AV<{grAl}{grUp};"
+ "EV<{grEp}{grUp};"
+ "AV`<{grAl}{grAcUp};"
+ "EV`<{grEp}{grAcUp};"
+ "N''<{grNu}[{grGa};"
+ "NG<{grGa}{grGa};"
+ "N''<{grNu}[{grKa};"
+ "NK<{grGa}{grKa};"
+ "N''<{grNu}[{grKs};"
+ "NX<{grGa}{grKs};"
+ "N''<{grNu}[{grKh};"
+ "NCH<{grGa}{grKh};"
+ "A<{grAl}\n"
+ "B<{grBe}\n"
+ "G<{grGa}\n"
+ "D<{grDe}\n"
+ "E''<{grEp}[{grEp}\n"
+ "E''<{grEp}[{grEt}\n"
+ "E''<{grEp}[{grAcEp}\n"
+ "E''<{grEp}[{grAcEt}\n"
+ "E<{grEp}\n"
+ "Z<{grZe}\n"
+ "EE<{grEt}\n"
+ "TH<{grTh}\n"
+ "I<{grIo}\n"
+ "K<{grKa}\n"
+ "L<{grLa}\n"
+ "M<{grMu}\n"
+ "N<{grNu}\n"
+ "X<{grKs}\n"
+ "O''<{grOm}[{grOm}\n"
+ "O''<{grOm}[{grOme}\n"
+ "O''<{grOm}[{grAcOm}\n"
+ "O''<{grOm}[{grAcOme}\n"
+ "O<{grOm}\n"
+ "P''<{grPi}[{grSi}\n"
+ "P''<{grPi}[{grfinal}\n"
+ "P<{grPi}\n"
+ "R<{grRh}\n"
+ "S<{grSi}\n"
+ "T<{grTa}\n"
+ "W<{grUp}{grUp}\n"
+ "A<{grAl};"
+ "B<{grBe};"
+ "G<{grGa};"
+ "D<{grDe};"
+ "E''<{grEp}[{grEp};"
+ "E''<{grEp}[{grEt};"
+ "E''<{grEp}[{grAcEp};"
+ "E''<{grEp}[{grAcEt};"
+ "E<{grEp};"
+ "Z<{grZe};"
+ "EE<{grEt};"
+ "TH<{grTh};"
+ "I<{grIo};"
+ "K<{grKa};"
+ "L<{grLa};"
+ "M<{grMu};"
+ "N<{grNu};"
+ "X<{grKs};"
+ "O''<{grOm}[{grOm};"
+ "O''<{grOm}[{grOme};"
+ "O''<{grOm}[{grAcOm};"
+ "O''<{grOm}[{grAcOme};"
+ "O<{grOm};"
+ "P''<{grPi}[{grSi};"
+ "P''<{grPi}[{grfinal};"
+ "P<{grPi};"
+ "R<{grRh};"
+ "S<{grSi};"
+ "T<{grTa};"
+ "W<{grUp}{grUp};"
+ "V<{grUp}[{grAcAl}\n"
+ "V<{grUp}[{grAcEp}\n"
+ "V<{grUp}[{grAcEt}\n"
+ "V<{grUp}[{grAcIo}\n"
+ "V<{grUp}[{grAcOm}\n"
+ "V<{grUp}[{grAcUp}\n"
+ "V<{grUp}[{grAcOme}\n"
+ "V<{grUp}[{grAcAl};"
+ "V<{grUp}[{grAcEp};"
+ "V<{grUp}[{grAcEt};"
+ "V<{grUp}[{grAcIo};"
+ "V<{grUp}[{grAcOm};"
+ "V<{grUp}[{grAcUp};"
+ "V<{grUp}[{grAcOme};"
+ "V<{grUp}[{grAl}\n"
+ "V<{grUp}[{grEp}\n"
+ "V<{grUp}[{grEt}\n"
+ "V<{grUp}[{grIo}\n"
+ "V<{grUp}[{grOm}\n"
+ "V<{grUp}[{grAl};"
+ "V<{grUp}[{grEp};"
+ "V<{grUp}[{grEt};"
+ "V<{grUp}[{grIo};"
+ "V<{grUp}[{grOm};"
//{grUp}[{grUp}<V
+ "V<{grUp}[{grOme}\n"
+ "V<{grUp}[{grOme};"
+ "U<{grUp}\n"
+ "PH<{grPh}\n"
+ "CH<{grKh}\n"
+ "PS<{grPs}\n"
+ "OO<{grOme}\n"
+ "U<{grUp};"
+ "PH<{grPh};"
+ "CH<{grKh};"
+ "PS<{grPs};"
+ "OO<{grOme};"
//forms
+ "A`<{grAcAl}\n"
+ "E`<{grAcEp}\n"
+ "EE`<{grAcEt}\n"
+ "I`<{grAcIo}\n"
+ "O`<{grAcOm}\n"
+ "U`<{grAcUp}\n"
+ "OO`<{grAcOme}\n"
+ "''I<{grDiIo}\n"
+ "''U<{grDiUp}\n"
+ "A`<{grAcAl};"
+ "E`<{grAcEp};"
+ "EE`<{grAcEt};"
+ "I`<{grAcIo};"
+ "O`<{grAcOm};"
+ "U`<{grAcUp};"
+ "OO`<{grAcOme};"
+ "''I<{grDiIo};"
+ "''U<{grDiUp};"
//{gracdiio}<XX
//{gracdiup}<XX
//{grfinal}<XX
+ "av`>{gral}{gracup}\n"
+ "ev`>{grep}{gracup}\n"
+ "av>{gral}{grup}\n"
+ "ev>{grep}{grup}\n"
+ "ng>{grga}{grga}\n"
+ "nk>{grga}{grka}\n"
+ "nx>{grga}{grks}\n"
+ "nch>{grga}{grkh}\n"
+ "av`>{gral}{gracup};"
+ "ev`>{grep}{gracup};"
+ "av>{gral}{grup};"
+ "ev>{grep}{grup};"
+ "ng>{grga}{grga};"
+ "nk>{grga}{grka};"
+ "nx>{grga}{grks};"
+ "nch>{grga}{grkh};"
+ "a`>{gracal}\n"
+ "ee`>{gracet}\n"
+ "e`>{gracep}\n"
+ "i`>{gracio}\n"
+ "u`>{gracup}\n"
+ "oo`>{gracome}\n"
+ "o`>{gracom}\n"
+ "''i>{grdiio}\n"
+ "''u>{grdiup}\n"
+ "a>{gral}\n"
+ "b>{grbe}\n"
+ "c[i>{grsi}\n"
+ "c[e>{grsi}\n"
+ "c[y>{grsi}\n"
+ "ch>{grkh}\n"
+ "c>{grka}\n"
+ "d>{grde}\n"
+ "ee>{gret}\n"
+ "e>{grep}\n"
+ "f>{grph}\n"
+ "g>{grga}\n"
+ "h>{grkh}\n"
+ "i>{grio}\n"
+ "j>{grio}\n"
+ "ks>{grks}\n"
+ "kh>{grkh}\n"
+ "k>{grka}\n"
+ "l>{grla}\n"
+ "m>{grmu}\n"
+ "n>{grnu}\n"
+ "oo>{grome}\n"
+ "o>{grom}\n"
+ "ps>{grps}\n"
+ "ph>{grph}\n"
+ "p>{grpi}\n"
+ "q>{grka}\n"
+ "r>{grrh}\n"
+ "s>|{grfinal}\n"
+ "{grfinal}[{letter}>{grsi}\n"
+ "th>{grth}\n"
+ "t>{grta}\n"
+ "w>{grup}{grup}\n"
+ "u>{grup}\n"
+ "v>{grup}\n"
+ "x>{grks}\n"
+ "y>{grup}\n"
+ "z>{grze}\n"
+ "a`>{gracal};"
+ "ee`>{gracet};"
+ "e`>{gracep};"
+ "i`>{gracio};"
+ "u`>{gracup};"
+ "oo`>{gracome};"
+ "o`>{gracom};"
+ "''i>{grdiio};"
+ "''u>{grdiup};"
+ "a>{gral};"
+ "b>{grbe};"
+ "c[i>{grsi};"
+ "c[e>{grsi};"
+ "c[y>{grsi};"
+ "ch>{grkh};"
+ "c>{grka};"
+ "d>{grde};"
+ "ee>{gret};"
+ "e>{grep};"
+ "f>{grph};"
+ "g>{grga};"
+ "h>{grkh};"
+ "i>{grio};"
+ "j>{grio};"
+ "ks>{grks};"
+ "kh>{grkh};"
+ "k>{grka};"
+ "l>{grla};"
+ "m>{grmu};"
+ "n>{grnu};"
+ "oo>{grome};"
+ "o>{grom};"
+ "ps>{grps};"
+ "ph>{grph};"
+ "p>{grpi};"
+ "q>{grka};"
+ "r>{grrh};"
+ "s>|{grfinal};"
+ "{grfinal}[{letter}>{grsi};"
+ "th>{grth};"
+ "t>{grta};"
+ "w>{grup}{grup};"
+ "u>{grup};"
+ "v>{grup};"
+ "x>{grks};"
+ "y>{grup};"
+ "z>{grze};"
//forms
+ "''>\n"
+ "''>;"
//now native to roman
+ "av<{gral}{grup}\n"
+ "ev<{grep}{grup}\n"
+ "av`<{gral}{gracup}\n"
+ "ev`<{grep}{gracup}\n"
+ "n''<{grnu}[{grga}\n"
+ "ng<{grga}{grga}\n"
+ "n''<{grnu}[{grka}\n"
+ "nk<{grga}{grka}\n"
+ "n''<{grnu}[{grks}\n"
+ "nx<{grga}{grks}\n"
+ "n''<{grnu}[{grkh}\n"
+ "nch<{grga}{grkh}\n"
+ "av<{gral}{grup};"
+ "ev<{grep}{grup};"
+ "av`<{gral}{gracup};"
+ "ev`<{grep}{gracup};"
+ "n''<{grnu}[{grga};"
+ "ng<{grga}{grga};"
+ "n''<{grnu}[{grka};"
+ "nk<{grga}{grka};"
+ "n''<{grnu}[{grks};"
+ "nx<{grga}{grks};"
+ "n''<{grnu}[{grkh};"
+ "nch<{grga}{grkh};"
+ "a<{gral}\n"
+ "b<{grbe}\n"
+ "g<{grga}\n"
+ "d<{grde}\n"
+ "e''<{grep}[{grep}\n"
+ "e''<{grep}[{gret}\n"
+ "e''<{grep}[{gracep}\n"
+ "e''<{grep}[{gracet}\n"
+ "e<{grep}\n"
+ "z<{grze}\n"
+ "ee<{gret}\n"
+ "th<{grth}\n"
+ "i<{grio}\n"
+ "k<{grka}\n"
+ "l<{grla}\n"
+ "m<{grmu}\n"
+ "n<{grnu}\n"
+ "x<{grks}\n"
+ "o''<{grom}[{grom}\n"
+ "o''<{grom}[{grome}\n"
+ "o''<{grom}[{gracom}\n"
+ "o''<{grom}[{gracome}\n"
+ "o<{grom}\n"
+ "p''<{grpi}[{grsi}\n"
+ "p''<{grpi}[{grfinal}\n"
+ "p<{grpi}\n"
+ "r<{grrh}\n"
+ "s<{grsi}\n"
+ "s<{grfinal}\n"
+ "t<{grta}\n"
+ "w<{grup}{grup}\n"
+ "a<{gral};"
+ "b<{grbe};"
+ "g<{grga};"
+ "d<{grde};"
+ "e''<{grep}[{grep};"
+ "e''<{grep}[{gret};"
+ "e''<{grep}[{gracep};"
+ "e''<{grep}[{gracet};"
+ "e<{grep};"
+ "z<{grze};"
+ "ee<{gret};"
+ "th<{grth};"
+ "i<{grio};"
+ "k<{grka};"
+ "l<{grla};"
+ "m<{grmu};"
+ "n<{grnu};"
+ "x<{grks};"
+ "o''<{grom}[{grom};"
+ "o''<{grom}[{grome};"
+ "o''<{grom}[{gracom};"
+ "o''<{grom}[{gracome};"
+ "o<{grom};"
+ "p''<{grpi}[{grsi};"
+ "p''<{grpi}[{grfinal};"
+ "p<{grpi};"
+ "r<{grrh};"
+ "s<{grsi};"
+ "s<{grfinal};"
+ "t<{grta};"
+ "w<{grup}{grup};"
+ "v<{grup}[{gracal}\n"
+ "v<{grup}[{gracep}\n"
+ "v<{grup}[{gracet}\n"
+ "v<{grup}[{gracio}\n"
+ "v<{grup}[{gracom}\n"
+ "v<{grup}[{gracup}\n"
+ "v<{grup}[{gracome}\n"
+ "v<{grup}[{gracal};"
+ "v<{grup}[{gracep};"
+ "v<{grup}[{gracet};"
+ "v<{grup}[{gracio};"
+ "v<{grup}[{gracom};"
+ "v<{grup}[{gracup};"
+ "v<{grup}[{gracome};"
+ "v<{grup}[{gral}\n"
+ "v<{grup}[{grep}\n"
+ "v<{grup}[{gret}\n"
+ "v<{grup}[{grio}\n"
+ "v<{grup}[{grom}\n"
+ "v<{grup}[{gral};"
+ "v<{grup}[{grep};"
+ "v<{grup}[{gret};"
+ "v<{grup}[{grio};"
+ "v<{grup}[{grom};"
//{grup}[{grup}<v
+ "v<{grup}[{grome}\n"
+ "v<{grup}[{grome};"
+ "u<{grup}\n"
+ "ph<{grph}\n"
+ "ch<{grkh}\n"
+ "ps<{grps}\n"
+ "oo<{grome}\n"
+ "u<{grup};"
+ "ph<{grph};"
+ "ch<{grkh};"
+ "ps<{grps};"
+ "oo<{grome};"
//forms
+ "a`<{gracal}\n"
+ "e`<{gracep}\n"
+ "ee`<{gracet}\n"
+ "i`<{gracio}\n"
+ "o`<{gracom}\n"
+ "u`<{gracup}\n"
+ "oo`<{gracome}\n"
+ "''i<{grdiio}\n"
+ "''u<{grdiup}\n"
+ "<''\n"
+ "a`<{gracal};"
+ "e`<{gracep};"
+ "ee`<{gracet};"
+ "i`<{gracio};"
+ "o`<{gracom};"
+ "u`<{gracup};"
+ "oo`<{gracome};"
+ "''i<{grdiio};"
+ "''u<{grdiup};"
+ "<'';"
//{gracdiio}<xx
//{gracdiup}<xx

View File

@ -14,66 +14,66 @@ public class TransliterationRule$Latin$Hebrew extends ListResourceBundle {
{ "Rule",
//variable names, derived from the Unicode names.
"POINT_SHEVA=\u05B0\n"
+ "POINT_HATAF_SEGOL=\u05B1\n"
+ "POINT_HATAF_PATAH=\u05B2\n"
+ "POINT_HATAF_QAMATS=\u05B3\n"
+ "POINT_HIRIQ=\u05B4\n"
+ "POINT_TSERE=\u05B5\n"
+ "POINT_SEGOL=\u05B6\n"
+ "POINT_PATAH=\u05B7\n"
+ "POINT_QAMATS=\u05B8\n"
+ "POINT_HOLAM=\u05B9\n"
+ "POINT_QUBUTS=\u05BB\n"
+ "POINT_DAGESH_OR_MAPIQ=\u05BC\n"
+ "POINT_METEG=\u05BD\n"
+ "PUNCTUATION_MAQAF=\u05BE\n"
+ "POINT_RAFE=\u05BF\n"
+ "PUNCTUATION_PASEQ=\u05C0\n"
+ "POINT_SHIN_DOT=\u05C1\n"
+ "POINT_SIN_DOT=\u05C2\n"
+ "PUNCTUATION_SOF_PASUQ=\u05C3\n"
+ "ALEF=\u05D0\n"
+ "BET=\u05D1\n"
+ "GIMEL=\u05D2\n"
+ "DALET=\u05D3\n"
+ "HE=\u05D4\n"
+ "VAV=\u05D5\n"
+ "ZAYIN=\u05D6\n"
+ "HET=\u05D7\n"
+ "TET=\u05D8\n"
+ "YOD=\u05D9\n"
+ "FINAL_KAF=\u05DA\n"
+ "KAF=\u05DB\n"
+ "LAMED=\u05DC\n"
+ "FINAL_MEM=\u05DD\n"
+ "MEM=\u05DE\n"
+ "FINAL_NUN=\u05DF\n"
+ "NUN=\u05E0\n"
+ "SAMEKH=\u05E1\n"
+ "AYIN=\u05E2\n"
+ "FINAL_PE=\u05E3\n"
+ "PE=\u05E4\n"
+ "FINAL_TSADI=\u05E5\n"
+ "TSADI=\u05E6\n"
+ "QOF=\u05E7\n"
+ "RESH=\u05E8\n"
+ "SHIN=\u05E9\n"
+ "TAV=\u05EA\n"
+ "YIDDISH_DOUBLE_VAV=\u05F0\n"
+ "YIDDISH_VAV_YOD=\u05F1\n"
+ "YIDDISH_DOUBLE_YOD=\u05F2\n"
+ "PUNCTUATION_GERESH=\u05F3\n"
+ "PUNCTUATION_GERSHAYIM=\u05F4\n"
"POINT_SHEVA=\u05B0;"
+ "POINT_HATAF_SEGOL=\u05B1;"
+ "POINT_HATAF_PATAH=\u05B2;"
+ "POINT_HATAF_QAMATS=\u05B3;"
+ "POINT_HIRIQ=\u05B4;"
+ "POINT_TSERE=\u05B5;"
+ "POINT_SEGOL=\u05B6;"
+ "POINT_PATAH=\u05B7;"
+ "POINT_QAMATS=\u05B8;"
+ "POINT_HOLAM=\u05B9;"
+ "POINT_QUBUTS=\u05BB;"
+ "POINT_DAGESH_OR_MAPIQ=\u05BC;"
+ "POINT_METEG=\u05BD;"
+ "PUNCTUATION_MAQAF=\u05BE;"
+ "POINT_RAFE=\u05BF;"
+ "PUNCTUATION_PASEQ=\u05C0;"
+ "POINT_SHIN_DOT=\u05C1;"
+ "POINT_SIN_DOT=\u05C2;"
+ "PUNCTUATION_SOF_PASUQ=\u05C3;"
+ "ALEF=\u05D0;"
+ "BET=\u05D1;"
+ "GIMEL=\u05D2;"
+ "DALET=\u05D3;"
+ "HE=\u05D4;"
+ "VAV=\u05D5;"
+ "ZAYIN=\u05D6;"
+ "HET=\u05D7;"
+ "TET=\u05D8;"
+ "YOD=\u05D9;"
+ "FINAL_KAF=\u05DA;"
+ "KAF=\u05DB;"
+ "LAMED=\u05DC;"
+ "FINAL_MEM=\u05DD;"
+ "MEM=\u05DE;"
+ "FINAL_NUN=\u05DF;"
+ "NUN=\u05E0;"
+ "SAMEKH=\u05E1;"
+ "AYIN=\u05E2;"
+ "FINAL_PE=\u05E3;"
+ "PE=\u05E4;"
+ "FINAL_TSADI=\u05E5;"
+ "TSADI=\u05E6;"
+ "QOF=\u05E7;"
+ "RESH=\u05E8;"
+ "SHIN=\u05E9;"
+ "TAV=\u05EA;"
+ "YIDDISH_DOUBLE_VAV=\u05F0;"
+ "YIDDISH_VAV_YOD=\u05F1;"
+ "YIDDISH_DOUBLE_YOD=\u05F2;"
+ "PUNCTUATION_GERESH=\u05F3;"
+ "PUNCTUATION_GERSHAYIM=\u05F4;"
//wildcards
//The values can be anything we don't use in this file: start at E000.
+ "letter=[abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ]\n"
+ "letter=[abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ];"
+ "softvowel=[eiyEIY]\n"
+ "softvowel=[eiyEIY];"
+ "vowellike=[{ALEF}{AYIN}{YOD}{VAV}]\n"
+ "vowellike=[{ALEF}{AYIN}{YOD}{VAV}];"
//?>{POINT_SHEVA}
//?>{POINT_HATAF_SEGOL}
@ -95,117 +95,117 @@ public class TransliterationRule$Latin$Hebrew extends ListResourceBundle {
//?>{POINT_SIN_DOT}
//?>{PUNCTUATION_SOF_PASUQ}
+ "a>{ALEF}\n"
+ "A>{ALEF}\n"
+ "a>{ALEF};"
+ "A>{ALEF};"
+ "b>{BET}\n"
+ "B>{BET}\n"
+ "b>{BET};"
+ "B>{BET};"
+ "c[{softvowel}>{SAMEKH}\n"
+ "C[{softvowel}>{SAMEKH}\n"
+ "c[{letter}>{KAF}\n"
+ "C[{letter}>{KAF}\n"
+ "c>{FINAL_KAF}\n"
+ "C>{FINAL_KAF}\n"
+ "c[{softvowel}>{SAMEKH};"
+ "C[{softvowel}>{SAMEKH};"
+ "c[{letter}>{KAF};"
+ "C[{letter}>{KAF};"
+ "c>{FINAL_KAF};"
+ "C>{FINAL_KAF};"
+ "d>{DALET}\n"
+ "D>{DALET}\n"
+ "d>{DALET};"
+ "D>{DALET};"
+ "e>{AYIN}\n"
+ "E>{AYIN}\n"
+ "e>{AYIN};"
+ "E>{AYIN};"
+ "f[{letter}>{PE}\n"
+ "f>{FINAL_PE}\n"
+ "F[{letter}>{PE}\n"
+ "F>{FINAL_PE}\n"
+ "f[{letter}>{PE};"
+ "f>{FINAL_PE};"
+ "F[{letter}>{PE};"
+ "F>{FINAL_PE};"
+ "g>{GIMEL}\n"
+ "G>{GIMEL}\n"
+ "g>{GIMEL};"
+ "G>{GIMEL};"
+ "h>{HE}\n"
+ "H>{HE}\n"
+ "h>{HE};"
+ "H>{HE};"
+ "i>{YOD}\n"
+ "I>{YOD}\n"
+ "i>{YOD};"
+ "I>{YOD};"
+ "j>{DALET}{SHIN}\n"
+ "J>{DALET}{SHIN}\n"
+ "j>{DALET}{SHIN};"
+ "J>{DALET}{SHIN};"
+ "kH>{HET}\n"
+ "kh>{HET}\n"
+ "KH>{HET}\n"
+ "Kh>{HET}\n"
+ "k[{letter}>{KAF}\n"
+ "K[{letter}>{KAF}\n"
+ "k>{FINAL_KAF}\n"
+ "K>{FINAL_KAF}\n"
+ "kH>{HET};"
+ "kh>{HET};"
+ "KH>{HET};"
+ "Kh>{HET};"
+ "k[{letter}>{KAF};"
+ "K[{letter}>{KAF};"
+ "k>{FINAL_KAF};"
+ "K>{FINAL_KAF};"
+ "l>{LAMED}\n"
+ "L>{LAMED}\n"
+ "l>{LAMED};"
+ "L>{LAMED};"
+ "m[{letter}>{MEM}\n"
+ "m>{FINAL_MEM}\n"
+ "M[{letter}>{MEM}\n"
+ "M>{FINAL_MEM}\n"
+ "m[{letter}>{MEM};"
+ "m>{FINAL_MEM};"
+ "M[{letter}>{MEM};"
+ "M>{FINAL_MEM};"
+ "n[{letter}>{NUN}\n"
+ "n>{FINAL_NUN}\n"
+ "N[{letter}>{NUN}\n"
+ "N>{FINAL_NUN}\n"
+ "n[{letter}>{NUN};"
+ "n>{FINAL_NUN};"
+ "N[{letter}>{NUN};"
+ "N>{FINAL_NUN};"
+ "o>{VAV}\n"
+ "O>{VAV}\n"
+ "o>{VAV};"
+ "O>{VAV};"
+ "p[{letter}>{PE}\n"
+ "p>{FINAL_PE}\n"
+ "P[{letter}>{PE}\n"
+ "P>{FINAL_PE}\n"
+ "p[{letter}>{PE};"
+ "p>{FINAL_PE};"
+ "P[{letter}>{PE};"
+ "P>{FINAL_PE};"
+ "q>{QOF}\n"
+ "Q>{QOF}\n"
+ "q>{QOF};"
+ "Q>{QOF};"
+ "r>{RESH}\n"
+ "R>{RESH}\n"
+ "r>{RESH};"
+ "R>{RESH};"
+ "sH>{SHIN}\n"
+ "sh>{SHIN}\n"
+ "SH>{SHIN}\n"
+ "Sh>{SHIN}\n"
+ "s>{SAMEKH}\n"
+ "S>{SAMEKH}\n"
+ "sH>{SHIN};"
+ "sh>{SHIN};"
+ "SH>{SHIN};"
+ "Sh>{SHIN};"
+ "s>{SAMEKH};"
+ "S>{SAMEKH};"
+ "th>{TAV}\n"
+ "tH>{TAV}\n"
+ "TH>{TAV}\n"
+ "Th>{TAV}\n"
+ "tS[{letter}>{TSADI}\n"
+ "ts[{letter}>{TSADI}\n"
+ "Ts[{letter}>{TSADI}\n"
+ "TS[{letter}>{TSADI}\n"
+ "tS>{FINAL_TSADI}\n"
+ "ts>{FINAL_TSADI}\n"
+ "Ts>{FINAL_TSADI}\n"
+ "TS>{FINAL_TSADI}\n"
+ "t>{TET}\n"
+ "T>{TET}\n"
+ "th>{TAV};"
+ "tH>{TAV};"
+ "TH>{TAV};"
+ "Th>{TAV};"
+ "tS[{letter}>{TSADI};"
+ "ts[{letter}>{TSADI};"
+ "Ts[{letter}>{TSADI};"
+ "TS[{letter}>{TSADI};"
+ "tS>{FINAL_TSADI};"
+ "ts>{FINAL_TSADI};"
+ "Ts>{FINAL_TSADI};"
+ "TS>{FINAL_TSADI};"
+ "t>{TET};"
+ "T>{TET};"
+ "u>{VAV}\n"
+ "U>{VAV}\n"
+ "u>{VAV};"
+ "U>{VAV};"
+ "v>{VAV}\n"
+ "V>{VAV}\n"
+ "v>{VAV};"
+ "V>{VAV};"
+ "w>{VAV}\n"
+ "W>{VAV}\n"
+ "w>{VAV};"
+ "W>{VAV};"
+ "x>{KAF}{SAMEKH}\n"
+ "X>{KAF}{SAMEKH}\n"
+ "x>{KAF}{SAMEKH};"
+ "X>{KAF}{SAMEKH};"
+ "y>{YOD}\n"
+ "Y>{YOD}\n"
+ "y>{YOD};"
+ "Y>{YOD};"
+ "z>{ZAYIN}\n"
+ "Z>{ZAYIN}\n"
+ "z>{ZAYIN};"
+ "Z>{ZAYIN};"
//#?>{YIDDISH_DOUBLE_VAV}
//?>{YIDDISH_VAV_YOD}
@ -213,7 +213,7 @@ public class TransliterationRule$Latin$Hebrew extends ListResourceBundle {
//?>{PUNCTUATION_GERESH}
//?>{PUNCTUATION_GERSHAYIM}
+ "''>\n"
+ "''>;"
//{POINT_SHEVA}>@
//{POINT_HATAF_SEGOL}>@
@ -235,40 +235,40 @@ public class TransliterationRule$Latin$Hebrew extends ListResourceBundle {
//{POINT_SIN_DOT}>@
//{PUNCTUATION_SOF_PASUQ}>@
+ "a<{ALEF}\n"
+ "e<{AYIN}\n"
+ "b<{BET}\n"
+ "d<{DALET}\n"
+ "k<{FINAL_KAF}\n"
+ "m<{FINAL_MEM}\n"
+ "n<{FINAL_NUN}\n"
+ "p<{FINAL_PE}\n"
+ "ts<{FINAL_TSADI}\n"
+ "g<{GIMEL}\n"
+ "kh<{HET}\n"
+ "h<{HE}\n"
+ "k''<{KAF}[{HE}\n"
+ "k<{KAF}\n"
+ "l<{LAMED}\n"
+ "m<{MEM}\n"
+ "n<{NUN}\n"
+ "p<{PE}\n"
+ "q<{QOF}\n"
+ "r<{RESH}\n"
+ "s''<{SAMEKH}[{HE}\n"
+ "s<{SAMEKH}\n"
+ "sh<{SHIN}\n"
+ "th<{TAV}\n"
+ "t''<{TET}[{HE}\n"
+ "t''<{TET}[{HE}\n"
+ "t''<{TET}[{SAMEKH}\n"
+ "t''<{TET}[{SHIN}\n"
+ "t<{TET}\n"
+ "ts<{TSADI}\n"
+ "v<{VAV}[{vowellike}\n"
+ "u<{VAV}\n"
+ "y<{YOD}\n"
+ "z<{ZAYIN}\n"
+ "a<{ALEF};"
+ "e<{AYIN};"
+ "b<{BET};"
+ "d<{DALET};"
+ "k<{FINAL_KAF};"
+ "m<{FINAL_MEM};"
+ "n<{FINAL_NUN};"
+ "p<{FINAL_PE};"
+ "ts<{FINAL_TSADI};"
+ "g<{GIMEL};"
+ "kh<{HET};"
+ "h<{HE};"
+ "k''<{KAF}[{HE};"
+ "k<{KAF};"
+ "l<{LAMED};"
+ "m<{MEM};"
+ "n<{NUN};"
+ "p<{PE};"
+ "q<{QOF};"
+ "r<{RESH};"
+ "s''<{SAMEKH}[{HE};"
+ "s<{SAMEKH};"
+ "sh<{SHIN};"
+ "th<{TAV};"
+ "t''<{TET}[{HE};"
+ "t''<{TET}[{HE};"
+ "t''<{TET}[{SAMEKH};"
+ "t''<{TET}[{SHIN};"
+ "t<{TET};"
+ "ts<{TSADI};"
+ "v<{VAV}[{vowellike};"
+ "u<{VAV};"
+ "y<{YOD};"
+ "z<{ZAYIN};"
//{YIDDISH_DOUBLE_VAV}>@
//{YIDDISH_VAV_YOD}>@
@ -276,7 +276,7 @@ public class TransliterationRule$Latin$Hebrew extends ListResourceBundle {
//{PUNCTUATION_GERESH}>@
//{PUNCTUATION_GERSHAYIM}>@
+ "<''\n"
+ "<'';"
}
};
}

View File

@ -13,74 +13,74 @@ public class TransliterationRule$StraightQuotes$CurlyQuotes extends ListResource
{ "Rule",
// Rewritten using character codes [LIU]
"white=[[:Zs:][:Zl:][:Zp:]]\n"
+ "black=[^[:Zs:][:Zl:][:Zp:]]\n"
+ "open=[[:Ps:]]\n"
+ "dquote=\"\n"
"white=[[:Zs:][:Zl:][:Zp:]];"
+ "black=[^[:Zs:][:Zl:][:Zp:]];"
+ "open=[[:Ps:]];"
+ "dquote=\";"
+ "lAng=\u3008\n"
+ "ldAng=\u300A\n"
+ "lBrk='['\n"
+ "lBrc='{'\n"
+ "lAng=\u3008;"
+ "ldAng=\u300A;"
+ "lBrk='[';"
+ "lBrc='{';"
+ "lquote=\u2018\n"
+ "rquote=\u2019\n"
+ "ldquote=\u201C\n"
+ "rdquote=\u201D\n"
+ "lquote=\u2018;"
+ "rquote=\u2019;"
+ "ldquote=\u201C;"
+ "rdquote=\u201D;"
+ "ldguill=\u00AB\n"
+ "rdguill=\u00BB\n"
+ "lguill=\u2039\n"
+ "rguill=\u203A\n"
+ "ldguill=\u00AB;"
+ "rdguill=\u00BB;"
+ "lguill=\u2039;"
+ "rguill=\u203A;"
+ "mdash=\u2014\n"
+ "mdash=\u2014;"
//#######################################
// Conversions from input
//#######################################
// join single quotes
+ "{lquote}''>{ldquote}\n"
+ "{lquote}{lquote}>{ldquote}\n"
+ "{rquote}''>{rdquote}\n"
+ "{rquote}{rquote}>{rdquote}\n"
+ "{lquote}''>{ldquote};"
+ "{lquote}{lquote}>{ldquote};"
+ "{rquote}''>{rdquote};"
+ "{rquote}{rquote}>{rdquote};"
//smart single quotes
+ "{white}]''>{lquote}\n"
+ "{open}]''>{lquote}\n"
+ "{black}]''>{rquote}\n"
+ "''>{lquote}\n"
+ "{white}]''>{lquote};"
+ "{open}]''>{lquote};"
+ "{black}]''>{rquote};"
+ "''>{lquote};"
//smart doubles
+ "{white}]{dquote}>{ldquote}\n"
+ "{open}]{dquote}>{ldquote}\n"
+ "{black}]{dquote}>{rdquote}\n"
+ "{dquote}>{ldquote}\n"
+ "{white}]{dquote}>{ldquote};"
+ "{open}]{dquote}>{ldquote};"
+ "{black}]{dquote}>{rdquote};"
+ "{dquote}>{ldquote};"
// join single guillemets
+ "{rguill}{rguill}>{rdguill}\n"
+ "'>>'>{rdguill}\n"
+ "{lguill}{lguill}>{ldguill}\n"
+ "'<<'>{ldguill}\n"
+ "{rguill}{rguill}>{rdguill};"
+ "'>>'>{rdguill};"
+ "{lguill}{lguill}>{ldguill};"
+ "'<<'>{ldguill};"
// prevent double spaces
+ " ] >\n"
+ " ] >;"
// join hyphens into dash
+ "-->{mdash}\n"
+ "-->{mdash};"
//#######################################
// Conversions back to input
//#######################################
//smart quotes
+ "''<{lquote}\n"
+ "''<{rquote}\n"
+ "{dquote}<{ldquote}\n"
+ "{dquote}<{rdquote}\n"
+ "''<{lquote};"
+ "''<{rquote};"
+ "{dquote}<{ldquote};"
+ "{dquote}<{rdquote};"
//hyphens
+ "--<{mdash}\n"
+ "--<{mdash};"
}
};
}