www/htdocs/THDLTools_Developers.html
2003-06-28 02:00:21 +00:00

463 lines
14 KiB
HTML

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<!-- @author David Chandler -->
<!-- @date September 7, 2002 -->
<!-- @editor Emacs, baby! -->
<!--
==============
INSERT KEYWORDS AND DESCRIPTION HERE
==============
-->
<meta name="keywords" content="tibetan fonts, tibetan software, digital ethnography">
<meta name="description" content="This presents intellectual and electronic tools for using Tibetan language in a digital medium and for viewing the THDL site.">
<!--
==============
INSERT PAGE TITLE HERE
==============
In order to facilitate the use of the unicode character set the charset declaration will be set equal to utf-8
Always incorporate Tibetan and Himalayan
-->
<title>THDL Tools Developers' Site</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-utf-8">
<!--
==============
THIS IS THE STYLE FOR THE BODY; IT'S WHAT CALLS ON THE BANNER AS A BACKGROUND IMAGE AND SETS UP THE BACKGROUND COLOR. MAKE SURE TO LINK TO THE BANNER HERE.
==============
-->
<style type="text/css">
<!--
body {background-attachment: scroll; background-image: url(http://iris.lib.virginia.edu/tibet/images/bannerTools.gif); background-repeat: no-repeat; background-position: left top; backgroud-color: white}
-->
</style>
<!--
==============
THE STYLE FOR THE TEXT, ETC. IT GOES TO THE TOP-LEVEL STYLE PAGE. IS THERE A NEED FOR EACH COLLECTION TO HAVE INDIVIDUAL STYLE PAGES?
==============
-->
<link rel="stylesheet" href="http://iris.lib.virginia.edu/tibet/style/tools.css">
<!--
==============
MAKES NETSCAPE RELOAD IF THE WINDOW IS RESIZED
==============
-->
<script language="JavaScript">
<!--
function MM_reloadPage(init) { //reloads the window if Nav4 resized
if (init==true) with (navigator) {if ((appName=="Netscape")&&(parseInt(appVersion)==4)) {
document.MM_pgW=innerWidth; document.MM_pgH=innerHeight; onresize=MM_reloadPage; }}
else if (innerWidth!=document.MM_pgW || innerHeight!=document.MM_pgH) location.reload();
}
MM_reloadPage(true);
// -->
</script>
</head>
<!--
==============
SETS THE PAGE MARGINS TO "0" SO THE MENU DOESN'T GET SCREWED UP
==============
-->
<body topmargin="0" leftmargin="0" marginwidth="0" marginheight="0">
<!--
==============
THE JAVASCRIPT MENUS
==============
-->
<script type='text/javascript'>
//HV Menu v5- by Ger Versluis (http://www.burmees.nl/)
//Submitted to Dynamic Drive (http://www.dynamicdrive.com)
//Visit http://www.dynamicdrive.com for this script and more
function Go(){return}
//==============
// --CALL UP THE MENU. THE 1ST OF THE CHOICES HAS THE VARIABLES
// AND NEEDS TO BE UPDATED FOR EACH SECTION.
// MENU_LOADER.JS WILL ALWAYS BE THE SAME.
//==============
</script>
<script type='text/javascript' src='http://iris.lib.virginia.edu/tibet/scripts/menu_tools.js'></script>
<script type='text/javascript' src='http://iris.lib.virginia.edu//tibet/scripts/menu_loader.js'></script>
<script type="text/javascript" src="http://iris.lib.virginia.edu//tibet/scripts/thdl_scripts.js"></script>
<noscript> Your browser does not support Javascript menus. Please utilize the
Site Map for navigation.</noscript>
<div align="left" style="position:absolute; left:0px; top:0px; width:100px; height:50px; z-index:7">
<a href="http://iris.lib.virginia.edu/tibet/index.html">
<img src="http://iris.lib.virginia.edu/tibet/images/spacer.gif" style="border-width:0" width="100" height="50">
</a>
</div>
<div id="Layer1" style="position:absolute; left:100px; top:28px; width:708px; height:20px; z-index:1">
<!--
==============
INSERT THE BREADCRUMBS
==============
A HREF tags should not be applied to current page, e.g. THDL and Collections get link, Literature and Home do not. If you were on a subpage of Literature, then Literature would link to the Literature home page.
-->
<div align="right"><font color="#000000"><A HREF="http://iris.lib.virginia.edu/tibet/index.html">THDL</A> : <A HREF="http://iris.lib.virginia.edu/tibet/tools/index.html">Tools</A> : <a href="http://iris.lib.virginia.edu/tibet/tools/software.html">Software</a> : Developers Site</a></font>
</div>
</div>
<!--
==============
INSERT THE MENU
==============
-->
<div id='MenuPos' style="text-size:9px; layer-background-color:#CCCCCC; background-color: #CCCCCC; position:absolute; left:0px; top:50px; width:808px"><table width="808" cellpadding="0" cellspacing="0" height="19"><tr><td><p style="font-size:9px">Menu loading...</p></td></tr></table></div>
<!--
==============
MAKE THE LAYER THAT WILL HOLD THE CONTENT OF THE PAGE - THE TEXT, IMAGES, WHATEVER. THIS LAYER WILL BE CLOSED AT THE END OF THIS HTML DOCUMENT
==============
Maximum table width not to exceed 750
All images must have borders of 1 pixel
No image will exceed 325 X 325 height and width measurements
Position attribute on layer3 may need to be changed to absolute to accomodate Netscape
-->
<div id="Layer3" style="position:relative; left:7px; top:80px; width:801px; height:396px; z-index:1; overflow: visible; background-color: #FFFFFF; layer-background-color: #FFFFFF; border: 1px none #000000" >
<table width="750" border="0" cellspacing="0" cellpadding="10">
<tr>
<td valign="top" align="left">
<!--
=============
FOR EVERY "ADMINISTRATIVELY DISTINCT" PROJECT, THERE SHOULD BE A CREDIT FOR THE PROVIDER OF THE INFO
=============
-->
<script langauge="JavaScript">
function openWin(url, name) { popupWin = window.open(url, name,"resizable=1,scrollbars=1,toolbar=0,width=400 ,height=450")
}
</script>
<!--
============
THIS LINK WILL OPEN A SEPARATE WINDOW THAT WILL PROVIDE INFORMATION REGARDING THE ADVISORY BOARD MEMBERS. ALSO PROVIDED IN THE PAGE WILL BE PARTICIPATION AND DONATION INFORMATION.
============
-->
<!--
==============
SETS THE BODY TEXT TO JUSTIFIED
==============
-->
<div align=justify>
<!--
=============
INSERT LINK TO GUIDED TOUR HERE -uncomment when ready.
=============
-->
<!--
==============
INSERT BODY TEXT HERE
The first section of text is the short "introduction" about the Theme and the various discplines that have a vested interest in them.
Design principle: Bold the first few words of this text section.
==============
-->
<h2>THDL Tools Developers' Site</h2>
<p>
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.
<a href="#related">
Related projects</a>
are also discussed.
</p>
<p>
The only thing we personally have got up on the web that's any use
thus far are
</p>
<ul>
<li>
the <a
href="http://iris.lib.virginia.edu/tibet/tools/nightly/builds/NightlyBuilds.html">
nightly builds</a>.&nbsp; Get the latest, bleeding-edge version
and try it out for yourself.&nbsp; The latest API docs (i.e.,
Javadocs) are also available.
</li>
<li>
a <a href="TMW_RTF_TO_THDL_WYLIE.html"> document</a> describing
a Tibetan Machine Web to {THDL Extended Wylie, Tibetan Machine}
converter that works for Rich Text Format files and solves the
&quot;curly-brace problem&quot;.
</li>
<li>
our Javadoc <a href="pubapi/">API docs</a> [grab the whole <a
href="public-javadocs.zip">zip file</a>] (see also these <a
href="privateapi/">API docs</a> [grab the whole <a
href="private-javadocs.zip">zip file</a>] that contain private
class members).
</li>
<li>
a description of our <a href="BuildSystems.html"> build
systems</a> that tells you how to compile, run, and cut releases
for our tools.
</li>
<li>
a <a href="TibetanFormatConverterDesign.html">design
document</a> concerning the Tibetan Format Converter.
</li>
</ul>
<p>
Here are some links to tools of interest:
</p>
<ul>
<li>
Jskad uses an Ant build system.&nbsp; See
<a href="http://jakarta.apache.org/ant/">
Apache Ant</a>
or jump right to the
<a href="http://jakarta.apache.org/ant/manual/coretasklist.html">
documentation</a>
for the tasks of which we make use.
</li>
<li>
Our unit tests use the
<a href="http://junit.org/">
JUnit</a>
framework.&nbsp; Javadocs are <a
href="http://www.junit.org/junit/javadoc/3.8.1/index.htm">here</a>
(or jump directly <a
href="http://www.junit.org/junit/javadoc/3.8.1/index.htm/allclasses-frame.html/junit/framework/TestCase.html">here</a>
for TestCase's docs).
</li>
<li>
In our Java(TM) code, we load some classes at run-time.&nbsp; To
understand the mechanisms behind
this--<code>Class.forName(String)</code> and thread context
class loaders, etc.--read
<a href="http://www.javageeks.com/Papers/ClassForName/">
this JavaGeeks white paper</a>.
</li>
<li>
Our Java code uses XML. We use
<a href="http://jdom.org/">
JDOM</a>,
<a href="http://xml.apache.org/xalan-j/">
Xalan</a> (XSLT),
and
<a href="http://xml.apache.org/xerces2-j/index.html">
Xerces</a>.
</li>
<li>
We use the Ant Task Suite provided by Venus Application
Publisher (Vamp) to make putting releases up via Java Web Start
less painful. See
<a href="http://www.vamphq.com/ant.html">
VampHQ</a>.
</li>
</ul>
<h3>Related Projects<a name="related"></a></h3>
<p>
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
<a href="http://sourceforge.net/softwaremap/trove_list.php?form_cat=63&amp;discrim=198">
SF.net's software map</a>,
by the way (and see
<a href="http://sourceforge.net/softwaremap/trove_list.php?form_cat=70&amp;discrim=198">
this corner of the map</a>,
too), and haven't yet done anything more.
</p>
<p>
<ul>
<li>
The non-open-source
<a href="http://uk.geocities.com/babelstone1357/Software/BabelPad.html">
BabelPad</a> allows you to create Unicode documents using a
THDL Extended Wylie keyboard.
</li>
<li>
The GPL'ed
<a href="http://vietpad.sourceforge.net/">
VietPad</a>,
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.
</li>
<li>
The GPL'ed
<a href="http://jedit.sourceforge.net/">
JEdit</a>
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.
</li>
<li>
The GPL'ed
<a href="http://yudit.org/">
Yudit</a>
is an X11 application that supports Unicode in a big way. Their
<a href="http://yudit.org/">
website</a>
has many links of interest to us as we ponder Unicode
compatibility.
</li>
<li>
The GPL'ed/LGPL'ed
<a href="http://www.prometheas.com/projects/_syggrafeus/index.html">
Syggrafeus/Rosetta Stone Library</a>
is a Java library for Unicode multi-lingual something-or-other.
</li>
<li>
The GPL'ed
<a href="http://sted.sourceforge.net/">
STED</a>
is a Java transliterator for many languages.
</li>
<li>
The GPL'ed
<a href="http://sourceforge.net/projects/words-of-magic/">
Words of Magic</a>
is a very simple word processor for English and Dutch.
</li>
<li>
The GPL'ed
<a href="http://sourceforge.net/projects/jgloss/">
JGloss</a>
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."
</li>
</ul>
</p>
<p>
Finally, the
<a href="http://epidoc.sourceforge.net/">
EpiDoc</a>
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".
</p>
<p>
Please
<a href="mailto:thdltools-devel@lists.sourceforge.net">
e-mail us</a>
your comments about this page.
</p>
<p>
The
<a target="_blank" href="http://www.sourceforge.net/projects/thdltools">
THDL Tools</a>
project is generously hosted by:
<!--
DO NOT DELETE THE SF.NET LOGO.
We have a choice of colors and sizes for this logo (see
"https://sourceforge.net/docman/display_doc.php?docid=790&group_id=1"),
but we do not have the option of removing it. SourceForge requests
that we put it on each web page for our project, and to give us
incentive to do so, they will not track the number of hits for our
project web pages unless we put this link in. To track hits, see
"http://sourceforge.net/project/stats/index.php?report=months&group_id=61934".
-->
<a target="_blank" href="http://sourceforge.net/">
<img src="http://sourceforge.net/sflogo.php?group_id=61934&amp;type=1"
width="88" height="31" border="0" alt="SourceForge Logo">
</a>
<!-- AGAIN, DO NOT DELETE THE SF.NET LOGO. -->
</p>
</div>
</td>
</tr>
</table>
</div>
</body>
</html>