diff --git a/source/org/thdl/tib/input/DuffPaneTest.java b/source/org/thdl/tib/input/DuffPaneTest.java index 1e08373..da8eba1 100644 --- a/source/org/thdl/tib/input/DuffPaneTest.java +++ b/source/org/thdl/tib/input/DuffPaneTest.java @@ -79,7 +79,7 @@ public class DuffPaneTest extends DuffPaneTestBase { // SPECIAL CASE: achen: e("a"); e("i"); e("u"); e("e"); e("o"); e("U"); - e("aM", "M"); // DLC FIXME: which is correct? "M" gives achen plus M or "aM" gives achen plus M. (I bet it's the latter. I bet {M} alone is invalid EWTS.) + e("aM"); e("au"); e("ai"); e("I"); e("-i"); e("rka"); e("rk", "rka"); e("rki"); e("rku"); e("rke"); e("rko"); e("rkU"); e("rkaM"); e("rkau"); e("rkai"); e("rkI"); e("rk-i"); diff --git a/source/org/thdl/tib/text/TGCPair.java b/source/org/thdl/tib/text/TGCPair.java index ddbbe43..1ba11d6 100644 --- a/source/org/thdl/tib/text/TGCPair.java +++ b/source/org/thdl/tib/text/TGCPair.java @@ -89,8 +89,12 @@ public class TGCPair implements THDLWylieConstants { // Unlike ACIP, EWTS uses e for achen with e vowel, not ae. if (null == vowelWylie) return ACHEN; - else - return vowelWylie; + else { + if (TibetanMachineWeb.startsWithWylieVowelSequence(vowelWylie)) + return vowelWylie; + else + return ACHEN + vowelWylie; + } } StringBuffer b = new StringBuffer(); if (consonantWylie != null) { diff --git a/source/org/thdl/tib/text/ttt/PackageTest.java b/source/org/thdl/tib/text/ttt/PackageTest.java index 8100c78..8efedfe 100644 --- a/source/org/thdl/tib/text/ttt/PackageTest.java +++ b/source/org/thdl/tib/text/ttt/PackageTest.java @@ -69,7 +69,6 @@ public class PackageTest extends TestCase { broken EWTS->TMW converter and keyboard) without getting ACIP involved. */ public void testTmw2Ewts() { - assertEquals(ACIP2TMW2EWTS("\\u0F00"), "oM"); assertEquals(ACIP2TMW2EWTS("\\u0F01"), "\\u0F01"); @@ -188,7 +187,7 @@ public class PackageTest extends TestCase { assertEquals(ACIP2TMW2EWTS("\\u0f68"), "a"); assertEquals(ACIP2TMW2EWTS("\\u0f68\\u0f72"), "i"); - assertEquals(ACIP2TMW2EWTS("\\u0f68\\u0f7e"), "M"); // DLC FIXME: should be "aM" + assertEquals(ACIP2TMW2EWTS("\\u0f68\\u0f7e"), "aM"); assertEquals(ACIP2TMW2ACIP("\\u0f68\\u0f7e"), "Am"); assertEquals(ACIP2TMW2ACIP("\\u0f7e"), "m");