[hUM^]) are not yet converting correctly.
I have not yet committed the end-to-end test that I'm manually doing
to find these problems. It will be another document for
TMW_RTF_TO_THDL_WYLIETest.java. Note that thdl.debug=true is
essential to access the GUI for the EWTS->* converters.
debug mode for now.
I tested against a really simple-but-real document, found a bug with '*', tried
to implement TMW vowel code but I don't trust it yet. Differentiated EWTS
code from ACIP where needed.
Several bugs in ewts->tibetan have been exposed; see the TODO
comments.
table exactly and I fear that it makes the ACIP->Tibetan converter code
a lot uglier. The TODO(DLC)[EWTS->Tibetan] comments littered throughout
are part of the ugliness; they point to the ugliness. If each were addressed,
cleanliness could perhaps be achieved.
I've largely forgotten exactly what this change does, but it attempts to
improve EWTS->Tibetan conversion. The lexer is probably really, really
primitive. I concentrate here on converting a single tsheg bar rather than
a whole document.
Eclipse was used during part of my journey here and some imports were
reorganized merely because I could. :)
(Eclipse was needed when the usual ant build failed to run a new test
EWTSTest. And I wanted its debugger.)
Next steps: end-to-end EWTS tests should bring many problems to light. Fix
those. Triage all the TODO comments.
I don't know that I'll ever really trust the implementation. The tests are
valuable, though. A clean implementation of EWTS->Tibetan in Jython
might hold enough interest for me; I'd like to learn Python.
'Tibetan Machine Web (non-Unicode)' rather than 'Tibetan'.
I often use the term 'Tibetan' to mean 'Tibetan (either in Unicode,
TM or TMW in RTF, or any other scheme where it appears as Tibetan
instead of Roman transliteration'. So this is a good change in my opinion,
though 'TMW' or 'Legacy TMW' is shorter.
One, TMW->EWTS gives dbas and dngas instead of dabs and dangs
because Chris Fynn's e-mail from today has dbas and dngas.
Second, Down with ACIPRules. Long live ACIPTraits. EWTS->Tibetan
conversion is closer still.
conversion. The tag 'TODO(DLC)[EWTS->Tibetan]' exists all over the
place. EWTS->Tibetan isn't here yet; lexing isn't here yet; this is
mainly a refactoring so that the ACIP->Tibetan code can be reused to
do EWTS->Tibetan.
I'm committing this because tests pass (it shouldn't be breaking
anything), because I want a checkpoint, and because the laptop this
sandbox was on isn't my preferred development environment.
Fixed part of bug 998476 and part of an undocumented bug. Discovered a
new bug, "aM" should be generated but only "M" is.
The undocumented bug was that laMA was generated when lAM should have been.
The part of bug 998476 that was fixed: laM, laH, etc. are now generated.
This does nothing about paN etc.
Some refactoring here; this is not a minimal diff.
Added tests of TMW->EWTS that use ACIP to get the TMW in place
because EWTS->TMW is a faulty keyboard at present.
I refactored the code trying to fit it onto one screen. So not all of the
changes are material to the bug fix.
About this commit: TMW->Wylie for {b.s.d} now gives bsad instead of bas.d.
This fixes part of bug 998476, and is done because Andres thinks it'll work
most of the time. But don't be surprised if an exception comes up in the
future and we have to trivially change the code to catch it.
well-formed. They still do, but they do it less often.
Chris Fynn wrote this a while back:
By normal Tibetan & Dzongkha spelling, writing, and input rules
Tibetan script stacks should be entered and written: 1 headline
consonant (0F40->0F6A), any subjoined consonant(s) (0F90-> 0F9C),
achung (0F71), shabkyu (0F74), any above headline vowel(s) (0F72
0F7A 0F7B 0F7C 0F7D and 0F80); any ngaro (0F7E, 0F82 and 0F83).
Now efforts are made to ensure that the converters conform to the
above rules.
Fixed crashing bug reported by Teresa Lam. Added tests so that I'm fairly
certain that no more crashing bugs exist. Removed a marker for iffy code
after understanding that code via test cases.
Fixed crashing bug reported by Teresa Lam. Added tests so that I'm fairly
certain that no more crashing bugs exist. Removed a marker for iffy code
after understanding that code via test cases.
that the paste method is over-ridden for "smart-pasting". If pasting TMW paste
as is. If pasting TM, converts to TMW. If neither of these fonts are used,
assumes transliteration and converts to TMW.
as text to be passed through (without the brackets in the case of {}) literally,
which is the case by default because Robert Chilton requested it, or the old,
ad-hoc mechanism which could be useful for finding some ugly input.
Made a couple of error messages a little more verbose now that we have
short-message mode.
warnings in ACIP->Tibetan conversion much more configurable. You can
now choose from short or long error messages, for one thing. You can change
the severity of almost all warnings. Each error and warning has an error code.
Errors and warnings are better tested.
The converter GUI has a new checkbox for short messages; the converter
CLI has a new mandatory option for short messages.
I also fixed a bug whereby certain errors were not being appended to the
'errors' StringBuffer.
dropped the ball on) introduced two lines for 8,95. This is a bad thing, so
I've taken out the second line. I've also introduced a check in
TibetanMachineWeb.java such that we'll know that tibwn.ini has no such
error in the future just by running 'ant clean jskad-run' and making sure that
the GUI is indeed visible.
I also updated the test baselines now that F03A and 0F82 are squared away.
confused; many glyphs that should have yielded errors were not.
I've added a test case that transforms every TMW glyph save the one with
no TM mapping to ACIP. I hand-checked that it was correct.
ACIP->TMW is fixed for # and *. I never noticed it, but each needed an
extra swoosh (U+0F05).
Round-tripping would be good, as would testing real-world use of
TMW->ACIP.
may also require changes to the following, but I'm going to ask if it really
should or not.
// Y+Y~185,3~~6,98~1,109~6,120~1,123~1,125~6,106~6,113~f61,fbb
// Y+r~186,3~~6,99~1,109~6,120~1,123~1,125~6,106~6,113~f61,fb2
// Y+w~187,3~~6,100~1,109~6,120~1,123~1,125~6,106~6,113~f61,fad
// Y+s~188,3~~6,101~1,109~6,120~1,123~1,125~6,106~6,113~f61,fb6
// W+y~69,4~~7,79~1,109~8,121~1,123~1,125~8,107~8,114~f5d,fb1
// W+r~70,4~~7,80~1,109~8,121~1,123~1,125~8,107~8,114~f5d,fb2
// W+n~195,4~~7,81~1,109~8,120~1,123~1,125~8,106~8,113~f5d,fa3
// W+W~194,4~~7,82~1,109~8,120~1,123~1,125~8,106~8,113~f5d,fba