TMW->Unicode conversions have changed; now using U+0F6A for the stacks

whose EWTS transliteration begins with "R+".

ACIP->* conversions and test baselines were updated to deal with the
"r+..."=>"R+..."  change.
This commit is contained in:
dchandler 2004-04-10 16:03:25 +00:00
parent aff34174ab
commit 7eca276a62
4 changed files with 100 additions and 20 deletions

View file

@ -167,10 +167,10 @@ public class ACIPRules {
else {
if ("w".equals(tok)) {
// There are only two stacks in TMW that have
// U+0FBA: r+wa and w+wa. TMW->ACIP fails for
// U+0FBA: R+Wa and w+Wa. TMW->ACIP fails for
// these unless we handle it here. (FIXME:
// add an automated test for this).
if ("r+w".equals(EWTS) || "w+w".equals(EWTS)) {
if ("R+W".equals(EWTS) || "w+W".equals(EWTS)) {
part = "W";
} else {
part = "V";

View file

@ -7387,8 +7387,11 @@ tstHelper("ZUR");
uhelp(acip, null);
}
private static void uhelp(String acip, String expectedUnicode) {
uhelp(acip, expectedUnicode, "Most");
}
private static void uhelp(String acip, String expectedUnicode, String warningLevel) {
StringBuffer errors = new StringBuffer();
String unicode = ACIPConverter.convertToUnicodeText(acip, errors, null, true, "Most");
String unicode = ACIPConverter.convertToUnicodeText(acip, errors, null, true, warningLevel);
if (null == unicode) {
if (null != expectedUnicode && "none" != expectedUnicode) {
System.out.println("No unicode exists for " + acip + " but you expected " + org.thdl.tib.text.tshegbar.UnicodeUtils.unicodeStringToPrettyString(expectedUnicode));
@ -7511,10 +7514,40 @@ M+NA
uhelp("K'EE:", "\u0f40\u0f71\u0f7b\u0f7f");
uhelp("K'A:", "\u0f40\u0f71\u0f7f");
uhelp("RYA", "\u0f6a\u0fbb");
uhelp("R+YA", "\u0f6a\u0fbb");
uhelp("RVA", "\u0f62\u0fad");
uhelp("R+VA", "\u0f62\u0fad");
uhelp("RWA", "\u0f62\u0fba");
uhelp("R+WA", "\u0f62\u0fba");
uhelp("RWA", "\u0f6a\u0fba");
uhelp("R+WA", "\u0f6a\u0fba");
uhelp("RSHA", "\u0f6a\u0fb4", "None");
uhelp("R+SHA", "\u0f6a\u0fb4", "None");
uhelp("RSHYA", "\u0f6a\u0fb4\u0fb1", "None");
uhelp("R+SH+YA", "\u0f6a\u0fb4\u0fb1", "None");
uhelp("Rsh", "\u0f6a\u0fb5", "None");
uhelp("R+sh", "\u0f6a\u0fb5", "None");
uhelp("Rshn", "\u0f6a\u0fb5\u0f9e", "None");
uhelp("R+sh+n", "\u0f6a\u0fb5\u0f9e", "None");
uhelp("RshnY", "\u0f6a\u0fb5\u0f9e\u0fb1", "None");
uhelp("R+sh+n+Y", "\u0f6a\u0fb5\u0f9e\u0fb1", "None");
uhelp("R+shn+Y", "\u0f6a\u0fb5\u0f9e\u0fb1", "None");
uhelp("RshMA", "\u0f6a\u0fb5\u0fa8", "None");
uhelp("R+sh+M", "\u0f6a\u0fb5\u0fa8", "None");
uhelp("RshYA", "\u0f6a\u0fb5\u0fb1", "None");
uhelp("R+sh+Y", "\u0f6a\u0fb5\u0fb1", "None");
uhelp("RS", "\u0f6a\u0fb6", "None");
uhelp("R+S", "\u0f6a\u0fb6", "None");
uhelp("WWA", "\u0f5d\u0fba");
uhelp("W+WA", "\u0f5d\u0fba");
@ -7595,13 +7628,13 @@ M+NA
// Full-form subjoined YA:
uhelp("n+d+Y", "\u0f4e\u0f9c\u0fbb");
uhelp("Y+Y", "\u0f61\u0fbb");
uhelp("R+Y", "\u0f62\u0fbb");
uhelp("R+Y", "\u0f6a\u0fbb");
uhelp("RVA R+VEE RWA R+WEE YYA Y+YEE ndRYA n+d+R+YEE KshR K+sh+REE ndY n+d+YEE,",
"\u0f62\u0fad\u0f0b" // RVA
+ "\u0f62\u0fad\u0f7b\u0f0b" //R+VEE
+ "\u0f62\u0fba\u0f0b" // RWA
+ "\u0f62\u0fba\u0f7b\u0f0b" // R+WEE
+ "\u0f6a\u0fba\u0f0b" // RWA
+ "\u0f6a\u0fba\u0f7b\u0f0b" // R+WEE
+ "\u0f61\u0fbb\u0f0b" // YYA
+ "\u0f61\u0fbb\u0f7b\u0f0b" // Y+YEE
+ "\u0f4e\u0f9c\u0fbc\u0fb1\u0f0b" // ndRYA
@ -9228,3 +9261,7 @@ tstHelper("shKA");
// FIXME : handle ^GONG, and "^ GONG". See Bug #838593
// FIXME: the file ACIP_SHRI should be made into an ACIP->TMW automated test case
// FIXME: test that RY, RW, RSH, RSHY, Rsh, Rshn, RshnY, RshM, RshY,
// and RS have associated TMW glyphs.

View file

@ -634,7 +634,16 @@ class TPairList {
unicodeExceptionsMap.put("\u0f4e\u0f9c\u0fb2\u0fb1", "\u0f4e\u0f9c\u0fbc\u0fb1"); // ndRY
unicodeExceptionsMap.put("\u0f4e\u0f9c\u0fb1", "\u0f4e\u0f9c\u0fbb"); // ndY
unicodeExceptionsMap.put("\u0f61\u0fb1", "\u0f61\u0fbb"); // YY
unicodeExceptionsMap.put("\u0f62\u0fb1", "\u0f62\u0fbb"); // RY
unicodeExceptionsMap.put("\u0f62\u0fb1", "\u0f6a\u0fbb"); // RY
unicodeExceptionsMap.put("\u0f62\u0fba", "\u0f6a\u0fba"); // RW
unicodeExceptionsMap.put("\u0f62\u0fb4", "\u0f6a\u0fb4"); // RSHA
unicodeExceptionsMap.put("\u0f62\u0fb4\u0fb1", "\u0f6a\u0fb4\u0fb1"); // RSHYA
unicodeExceptionsMap.put("\u0f62\u0fb5", "\u0f6a\u0fb5"); // Rsh
unicodeExceptionsMap.put("\u0f62\u0fb5\u0f9e", "\u0f6a\u0fb5\u0f9e"); // Rshn
unicodeExceptionsMap.put("\u0f62\u0fb5\u0f9e\u0fb1", "\u0f6a\u0fb5\u0f9e\u0fb1"); // RshnY
unicodeExceptionsMap.put("\u0f62\u0fb5\u0fa8", "\u0f6a\u0fb5\u0fa8"); // RshM
unicodeExceptionsMap.put("\u0f62\u0fb5\u0fb1", "\u0f6a\u0fb5\u0fb1"); // RshY
unicodeExceptionsMap.put("\u0f62\u0fb6", "\u0f6a\u0fb6"); // RS
}
String mapEntry = (String)unicodeExceptionsMap.get(nonVowelSB.toString());
if (null != mapEntry)
@ -689,7 +698,20 @@ class TPairList {
hashKey = "w+n";
else if ("W+W".equals(hashKey))
hashKey = "w+W";
// We're NOT doing it for r+W etc., on purpose.
if ("r+Y".equals(hashKey)
|| "r+W".equals(hashKey)
|| "r+sh".equals(hashKey)
|| "r+sh+y".equals(hashKey)
|| "r+Sh".equals(hashKey)
|| "r+Sh+N".equals(hashKey)
|| "r+Sh+N+y".equals(hashKey)
|| "r+Sh+m".equals(hashKey)
|| "r+Sh+y".equals(hashKey)
|| "r+s".equals(hashKey)
) {
hashKey = "R" + hashKey.substring(1); // r+Y => R+Y, etc.
}
if (!TibetanMachineWeb.isKnownHashKey(hashKey)) {
hashKey = hashKey.replace('+', '-');