Commit graph

75 commits

Author SHA1 Message Date
dchandler
db2ef438d4 Andres requested customization like this. You can now override any property in build.xml using a file 'build.properties'. 2004-03-06 23:17:43 +00:00
dchandler
6fdb2a26bb Added a Unicode->ASCII dump for debugging *->Unicode conversions. To use it, use 'java -cp Jskad.jar org.thdl.util.VerboseUnicodeDump'. 2004-01-17 16:52:38 +00:00
dchandler
8411ebe932 You couldn't build from the src-dist. I think you can now; it's more
inclusive.
2003-12-13 21:46:09 +00:00
dchandler
31b3020d07 Added a test case that runs almost all the tsheg bars from all
non-reference, publicly available ACIP files (hundreds of megabytes of
them) through the converter.  The frequencies of these tsheg bars in
in the file, too.
2003-10-26 06:02:48 +00:00
dchandler
1afb3a0fdd ACIP->Unicode, without going through TMW, is now possible, so long as
\, the Sanskrit virama, is not used.  Of the 1370-odd ACIP texts I've
got here, about 57% make it through the gauntlet (fewer if you demand
a vowel or disambiguator on every stack of a non-Tibetan tsheg bar).
2003-08-18 02:38:54 +00:00
dchandler
e21d3774a9 Added an unfinished ACIP->Tibetan converter. Once it works properly
for ACIP, it'll easily be made to work as a perfect EWTS
Wylie->Tibetan converter.  It has an extensive suite of tests for the
existing functionality.
2003-08-10 19:30:07 +00:00
dchandler
45ded5f4de The translation tool (two of four builds of it) now includes keyboard
documentation to go along with its new multi-keyboard support.
2003-08-09 16:20:18 +00:00
dchandler
1c29566aee I'm now using the Unix diff built in to Apache Jakarta Commons JRCS
(which I found on suigeneris.org, not apache.org) in order to bulletproof the
Tibetan Converter tests.  They used to fail due to nondeterminism in the
Java RTF writer; they should no longer fail.

I've also changed it so that the Tibetan Converter tests run in headless
mode, which means that they'll run on the nightly builds server.
2003-07-14 12:26:26 +00:00
dchandler
086f4bb6ec Renamed the Info menu Help.
Now using CalHTMLPane to surf the offline and the online help.
2003-07-05 22:25:21 +00:00
dchandler
a463b686b3 Jskad now ships with both TibetanMachine and TibetanMachineWeb fonts
by default, not just TMW.  Thus users need not install these fonts on their
systems.
2003-07-05 18:00:29 +00:00
dchandler
689c1910aa To deal with java.swing.text.rtf bugs regarding hexadecimal escape
sequences, I've created RTFFixerInputStream.  It turns illegal hexadecimal
escapes into Unicode escapes.
2003-06-29 02:30:08 +00:00
dchandler
f547734043 Added Than's converter GUI code; adapted it to work with Jskad's
converters.

TMW->Unicode now uses Ximalaya by default.
2003-06-24 03:02:29 +00:00
dchandler
0f77b32add It's not in use, but there's code to make Jskad a TM carrier just as
it is a TMW carrier.
2003-06-22 22:11:40 +00:00
dchandler
149eecc4fb Added a thdl-nightly-build target for nightly builds on
iris.lib.virginia.edu.  This will need to be edited to use the real
path on iris.
2003-06-19 01:58:59 +00:00
dchandler
1ae7948fed Nightly builds are now done using pserver CVS updates. The
'dc-nightly-build' target no longer does a cvs update, because that's
not always going to work.
2003-06-19 01:11:33 +00:00
dchandler
ced830a7d3 Renamed TMW_RTF_TO_THDL_WYLIE TibetanConverter. 2003-06-15 19:19:23 +00:00
dchandler
56d5ac7210 TM->TMW and TMW->TM conversion in RTF is now supported. I've
noticed that formatting is mostly OK but sometimes gets bungled slightly.
I tried everything I could think of, and now I'm passing the buck to Java's
RTF support.

TMW_RTF_TO_THDL_WYLIE (now misnamed) support TMW->TM
conversion (but not TM->TMW).  There is an automated test case for a
TMW->TM conversion.

I have full confidence in this conversion.  Even the smallest glitch in the core
functionality (not formatting) would surprise me.
2003-05-31 23:18:17 +00:00
dchandler
ec7fec695f Added some automated JUnit tests for TMW_RTF_TO_THDL_WYLIE. 2003-05-18 17:17:52 +00:00
dchandler
e2a9720d9b I've added a command-line converter,
org.thdl.tib.input.TMW_RTF_TO_THDL_WYLIE.  It converts RTF files
consisting of TMW characters to the corresponding THDL Extended Wylie.

It supports --find-some-non-tmw mode, which allows you to ensure that no
unusual characters will spoil the conversion.  The converter has built-in
intelligence that allows it to handle Tahoma '{', '}', and '\\' characters
properly.

The converter works on mixed Roman/TMW also, but --find-some-non-tmw
and --find-all-non-tmw modes are not as useful.

Invoke org.thdl.tib.input.TMW_RTF_TO_THDL_WYLIE, which resides in
Jskad's jar, with no command-line options to see usage information.
2003-05-18 14:14:47 +00:00
dchandler
5e55d05cfe To make it easier to add a keyboard for third parties, all .rtf files
in Jskad/source now go into the Jskad jar.
2003-05-15 00:57:34 +00:00
dchandler
78dc46a979 Jskad keyboards are now configured via keyboards.ini, a file that has
comments that explain its function.  It's quite simple.  This is in
response to Jeff C. H. Wu's request.
2003-05-14 03:25:36 +00:00
dchandler
59175ccfd6 Added a few tests for the ACIP keyboard, which I've improved a bit.
Noted some failures.  "Fixed" the code to do what I want it to do for
the (no sanskrit stacking, tibetan stacking) case [which is exercised
by this keyboard only].
2003-04-14 23:55:00 +00:00
dchandler
efa8fc1f25 DuffPane now has the start of a unit test suite. Invoke it via 'ant
clean check'.  Right now there are tests to ensure that typing certain
sequences of keys in the Extended Wylie keyboard gives the expected
Extended Wylie back when "Tools/Convert Tibetan to Wylie" is invoked.

The syntactically illegal d.wa now converts to Tibetan and then back
to d.wa (not dwa, as it did); likewise with the illegal g.wa.  wa
doesn't take any prefixes, but I prefer clean end-to-end
behavior. (jeskd doesn't go end-to-end, though.)

Note that you cannot successfully run the DuffPane tests on a Linux
box unless your DISPLAY variable is set correctly.  Thus, my nightly
builds will fail with an Error (as opposed to a Failure).
2003-04-14 05:22:27 +00:00
dchandler
e95e41aef0 At Andres's request, the handheld version of the translation tool no
longer bothers with the TMW fonts, which don't work anyway on such
devices.
2003-04-02 04:06:30 +00:00
dchandler
08d2a5d702 Added a test for org.thdl.tib.text.tshegbar.UnicodeCodepointToThdlWylie. 2003-03-22 04:55:17 +00:00
dchandler
16cbfb6033 Moved ad-hoc test.java test cases to UnicodeGraphemeClusterTest.java,
a JUnit test which can be run via 'ant check'.  Removed test.java and
its build process.
2003-03-22 03:55:39 +00:00
dchandler
395eca7bb1 Moved ad-hoc test.java test cases to LegalTshegBarTest.java, a JUnit
test which can be run via 'ant check'.
2003-03-22 03:46:32 +00:00
dchandler
879b477902 Made some ad-hoc tests in test.java into JUnit tests, run by 'ant
check'.

NORM_NFD was replaced with NORM_NFKD in three cases in testMostlyNFKD.
2003-03-22 03:24:56 +00:00
dchandler
1205210b36 Removed every last trace of QuillDriver and Savant from this file. 2003-03-22 02:48:21 +00:00
eg3p
744cc70796 I removed all tasks relating to Savant and QuillDriver.
I could have also removed the references to extensions
such as xalan.jar, xercesImpl.jar and so forth, but Iwasn't
sure if Tibbibl needed them or not.
2003-03-14 00:31:45 +00:00
dchandler
b49c441e6e Minor touch-up to my previous commit. I'd left out the invocation of
the JUnit tests and subsequent report generation.
2003-02-10 04:37:04 +00:00
dchandler
bb19c4f6d1 You may no longer put xml-apis.jar, xercesImpl.jar, or xalan.jar in
Jskad/extensions.  If you're lazy, you can move them to
extensions/drop-ins, but the correct thing to do is to move x*.jar to
$ANT_HOME/lib [next to vamp.jar, if you're already set up for Java Web
Start builds].  This is a side effect of improving the nightly builds.

Nightly builds now feature an HTML summary of the JUnit test results,
a datestamp, and full API docs in two flavors.

If you use a patched vamp.jar [e-mail me] that can run when an X11
display is not available (there is not an analogous problem for
Windows servers, I suspect), all you have to do to put up a nightly
builds site is to set up CVS access so that no password is requires
using SSH public-key crypto (sf.net documents how to do so well) and
then use the following daily cron job on your Unix box:

#! /bin/sh
renice +19 -p $$ >/dev/null 2>&1
su -l joe-user /bin/sh -c /var/www/thdl/nightly/doTheBuild.sh

where joe-user is an unprivileged user who has installed Ant properly
(see the updated BuildSystems.html on the developer's site off of
thdltools.sf.net) and set himself up a Jskad sandbox with a Fonts
sandbox underneath it in, e.g., /var/www/thdl/nightly/Jskad.  Here's
doTheBuild.sh:

#! /bin/sh
JSKAD=/var/www/thdl/nightly/Jskad
DEST=/var/www/thdl/nightly/builds
HISTORY=/var/www/thdl/nightly/history
DATE=`date`
if test ! -d $DEST; then \
     echo "$DEST does not exist ($DATE)." >> history; exit 1; fi
(cd $JSKAD && ant dc-nightly-build \
 && rm -fr ${DEST}/* \
 && cp dist/nightlyBuild.zip $DEST \
 && cd $DEST \
     && unzip nightlyBuild.zip)
if test $? != 0; then echo "NIGHTLY BUILDS FAILED on $DATE" >> $HISTORY; exit 2; fi
DDDATE=`date`
echo "Success on start=$DATE end=$DDDATE" >> $HISTORY
exit 0
2003-02-10 04:22:38 +00:00
dchandler
56de29cf4f jskad-all-in-one-dist, and thus jskad-jws, was botched.
nightly-build now cleans only ${bin} so that ${dist}'s files stay
around.

We now unwar all JAR files.
2003-02-03 08:21:37 +00:00
dchandler
69b07cda65 Added some utility targets pour moi.
Better error checking.

There's now a nightly builds HTML page, for use with a script like the
following:

#! /bin/sh
JSKAD=/www/nightly/Jskad
DEST=/www/nightly/builds
HISTORY=/www/nightly/history
DATE=`date`
if test ! -d $DEST; then \
     echo "$DEST does not exist ($DATE)." >> history; exit 1; fi
(rm -fr ${DEST}/* && cd $JSKAD && cvs -f -z3 update -dP && ant dc-nightly-build \
 && cp dist/nightlyBuild.zip $DEST && cd $DEST && unzip nightlyBuild.zip \
 && rm nightlyBuild.zip && \
  (cd docs \
   && mv private-javadocs-*.zip private-javadocs-today.zip \
   && mv public-javadocs-*.zip public-javadocs-today.zip \
   && mkdir public && mkdir private && \
    (cd public \
     && unzip ../public-javadocs-today.zip) && \
    (cd private \
     && unzip ../private-javadocs-today.zip)) \
 && \
  (cd source \
   && mv THDL-Tools-src-*.zip THDL-Tools-src-today.zip))
if test $? != 0; then echo "NIGHTLY BUILD FAILED on $DATE" >> $HISTORY; exit 2; fi
(cd $JSKAD && ant check)
DDATE=`date`
if test $? != 0; then echo "'ant check' FAILED on $DATE" >> $HISTORY; exit 3; fi
DDDATE=`date`
echo "Success on start=$DATE build=$DDATE check=$DDDATE" >> $HISTORY
exit 0
2003-02-03 06:24:52 +00:00
dchandler
72ee4fc7d2 Added the initial version of Tibbibl, which Nathaniel Garson of UVa
e-mailed to me.  Tibbibl is an editor for XML-based bibliographies of
Tibetan texts.  All I did was change the package from org.thdl.xml to
org.thdl.tib.bibl and add boilerplate; no changes to Than's code were
made.

Tibbibl features a diacritic input tool which Jskad might want to
swipe.
2003-02-01 05:08:02 +00:00
dchandler
32a08c06c3 Gives a nice error message now if Fonts/TibetanMachineWeb cannot be found. 2003-01-27 04:27:51 +00:00
dchandler
a31fed2ea7 We're now set up to support automated unit tests. Besides the fact
that I like unit tests, my Unicode conversion work is going to have to
be thorougly tested for reasons I will outline in
http://thdltools.sf.net/BuildSystems.html later today.

Added the freely licensed JUnit 3.8.1 binary to the repository, along
with some README files.  Added a new supporting buildfile,
junitbuild.xml.  'ant clean check' is now good to go (though it uses
the text UI for JUnit, and some developers may want the Swing GUI)

Also, I cleaned up build.xml a bit, including adding all buildfiles
(but not junit.jar and things like that) to the source distribution
('ant src-dist') rather than just build.xml.
2003-01-12 20:24:01 +00:00
dchandler
fdfedb4419 Added some tests for org.thdl.tib.text.tshegbar. These tests are preliminary,
and for this package only.

I'm committing in order to sync with my laptop, really.  This stuff will disappear
and reappear in better form later, after a holiday of coding and eggless,
alcohol-free nog.
2002-12-20 04:34:56 +00:00
dchandler
35425f3753 So that javadoc build works again, this property is now just a string, not a
location.

Andres, this may mean that you need to do something different to build
javadocs with links to local JDOM/Sun javadocs.
2002-12-09 02:18:03 +00:00
dchandler
983a9e2045 ThdlVersion.java is now generated before making Javadocs. 2002-12-09 01:58:17 +00:00
dchandler
53aa2e2309 Added jskad_doc.html (a revision of which is up at
http://iris.lib.virginia.edu/tibet/tools/jskad_doc.html) to the repository.  The
build puts this into Jskad's JARs, but Jskad itself does not allow for viewing
it.  In Java, that's a ten-minute job, but I haven't done it.
2002-12-07 17:53:24 +00:00
dchandler
a3a1923d42 I haven't tested this, but it should make it easier to experiment with the links
from our Javadocs to Sun's Javadocs.
2002-12-01 18:53:09 +00:00
dchandler
efa69fe225 At Andres' request, I added ConsoleScannerFilter to the build of both the
Standalone version and the Handheld version.
2002-11-28 02:51:29 +00:00
dchandler
cfb111eeb1 Added a nightly-build target that creates a zip file
dist/nightlyBuild.zip.  As the suggestive name implies, coupling this
with a shell script like '(cvs -f -q update -dP && ant nightly-build
&& scp dist/nightlyBuild.zip && ssh 'cd wherever/ && unzip foo') ||
email_error_message' would yield a nightly build process for us.
2002-11-18 22:16:07 +00:00
dchandler
0e70c7fb97 No longer including JMF or Savant in the JWS or self-contained JARs. 2002-11-18 17:16:34 +00:00
dchandler
d200b03d66 Updated the build system so that you must do a cvs checkout of the
'Fonts' module inside the 'Jskad' module.  I.e., you must now have the
tree like so:

Jskad/
   source/
   dist/
   Fonts/
       TibetanMachineWeb/
   .
   .
   .

This is because the THDL tools now optionally (and by default) load
the TibetanMachineWeb fonts automatically.

Updated the build system so that the 'web-start-releases' and
'self-contained-dist' targets JAR up optional JARs to create
double-clickable, self-contained joy.  Even the TMW fonts are in the
JARs now.

Changed the strings describing two Jskad keyboards so that "keyboard"
is no longer in the description.  It's in the label next to the combo
box.

Jskad now saves preferences on exit or when the user selects a menu
item (that is there for debugging mainly) to ~/my_thdl_preferences.txt
on *nix or C:\my_thdl_preferences.txt on Win32.  I don't know the
correct Mac location.

There's a new paradigm for telling org.thdl.util.ThdlOptions that a
user preference has been changed.  If, for example, a combo box is
manipulated so that the ACIP keyboard is selected, then you must call
a certain method in ThdlOptions.
2002-11-18 16:12:25 +00:00
dchandler
5ffb813019 Jskad's "About" dialog box now lists the time of compilation. Ant
creates source/org/thdl/util/ThdlVersion.java when you execute the
jskad-compile target.
2002-11-16 19:18:44 +00:00
dchandler
9f232fc5e2 The JARs built no longer have "-JWS" and "-vanilla" suffixes.
Instead, there are dist/lib-jws/ and dist/lib-vanilla/ directories.
2002-11-16 18:04:47 +00:00
dchandler
5d212a0671 Now you can truly compile without either JMF or QT4J in your
extensions/ directory tree.  If and only if they are present,
integration with them is compiled in.

Removed a FIXME that I'd fixed a long time ago.
2002-11-16 16:35:25 +00:00
eg3p
1e6ab8eeec Made sure that MessageBundle files are copied over
to Savant binary directories, now that Savant is using
these internationalization files.
2002-11-02 20:22:42 +00:00