THDL Tools Developers' Site
This page is a technical page for software developers, which presents details concerning the internal mechanics of the THDL tools. This page covers both low-level (e.g., which API?) and high-level (e.g., which user interface?) issues. Related projects are also discussed.
The only thing we personally have got up on the web that's any use thus far are
- the nightly builds. Get the latest, bleeding-edge version and try it out for yourself. The latest API docs (i.e., Javadocs) are also available.
-
the documentation for the
tibwn.ini
file format. - errata for the Tibetan! 5.1 for Word documentation, mainly concerning the Tibetan Machine and Tibetan Machine Web fonts.
- a document describing the Tibetan converters (ACIP to TMW, TMW to Unicode, TMW to EWTS, etc.) we've developed.
- our Javadoc API docs [grab the whole zip file] (see also these API docs [grab the whole zip file] that contain private class members).
- a description of our build systems that tells you how to compile, run, and cut releases for our tools.
- a design document concerning the Tibetan Format Converter.
Here are some links to tools of interest:
- Jskad uses an Ant build system. See Apache Ant or jump right to the documentation for the tasks of which we make use.
- Our unit tests use the JUnit framework. Javadocs are here (or jump directly here for TestCase's docs).
-
In our Java(TM) code, we load some classes at run-time. To
understand the mechanisms behind
this--
Class.forName(String)
and thread context class loaders, etc.--read this JavaGeeks white paper. - Our Java code uses XML. We use JDOM, Xalan (XSLT), and Xerces.
- We use the Ant Task Suite provided by Venus Application Publisher (Vamp) to make putting releases up via Java Web Start less painful. See VampHQ.
Related Projects
Below are links to some (mainly Java) text editors or word processors that we might learn from or integrate with. This list is by no means comprehensive. I started my search from SF.net's software map, by the way (and see this corner of the map, too), and haven't yet done anything more.
- The X-licensed ICU provides Unicode support for Java and C++. See our RFEs for ideas about how we should integrate with this. (Spoiler: The answer is "tightly"!)
- The non-open-source BabelPad allows you to create Unicode documents using a THDL Extended Wylie keyboard.
- The GPL'ed VietPad, written in Java, (for entering Vietnamese language in Unicode-8 or -16) may teach us something, though integration doesn't seem useful (because it is primitive) and would require changing our license to the GPL.
- The GPL'ed JEdit bills itself as a "programmer's text editor", but it supports Unicode, is 100% Java, is very popular, and is extremely extensible, making integration while keeping our non-GPL-compatible license a possibility. Definitely worth a second look.
- The GPL'ed Yudit is an X11 application that supports Unicode in a big way. Their website has many links of interest to us as we ponder Unicode compatibility.
- The GPL'ed/LGPL'ed Syggrafeus/Rosetta Stone Library is a Java library for Unicode multi-lingual something-or-other.
- The GPL'ed STED is a Java transliterator for many languages.
- The GPL'ed Words of Magic is a very simple word processor for English and Dutch.
- The GPL'ed JGloss says this about itself: "JGloss lets you import Japanese text documents and add reading and translation annotations for words, both automatically during import, and manually. It is written in Java."
- Potala Software's UDP is freeware that integrates with Jskad's ACIP converters.
Finally, the EpiDoc project (hosted by SourceForge) does not yet have any tools up, but the project's goals are similar in many ways to the THDL's, and they list their programming language as Java. The blurb of interest: "The EpiDoc Collaborative is developing a software and hardware-independent digital publication and interchange specification for scholarly and educational editions of inscribed and incised texts in Greek, Latin and other ancient languages".
Please e-mail us your comments about this page.
The THDL Tools project is generously hosted by: