If it helps I have Mounce's words occurring 10 times and up on my website, and a Hebrew vocab list with 800 items. Both are in unicode txt files.
in Christ anthony http://www.jesuscentral.net/jc_resources.html On Wed, 15 Sep 2004 02:31 pm, Troy A. Griffitts wrote: > Hey DM, > Thanks so much for your work. You're not a good example for me. I > find the more I procrastinate, the more work gets done! The web > installer has been a great benefit! > > Just started third semester Greek, and first semester Hebrew. The > flashcards app is really a blessing to me. I have a bunch of vocab > words for Hebrew that I need to try to convert for use with flashcards. > They are in some strange font (maybe BHebrew encoding), that I need to > try to convert. > > If anyone is up for an attempt, the files are at: > > http://crosswire.org/~scribe/hebvocab.tar.gz > > Any other flash lessons, like Mounce's Greek textbook would also be > very useful for other students, I'm sure! > > You guys all rock! Thank you for contributing your time to the Kingdom! > > -Troy. > > DM Smith wrote: > > Troy, I added 4 new classes that may prove useful: > > FlashCard.java - The individual test. > > Lesson.java - A named set of FlashCards > > LessonSet.java - A named set of Lessons. > > LessonManager.java - a manager of LessonSets. > > > > These are not hooked into anything. > > > > They are thrown together fairly quickly, and may have bugs, but I have > > done some of testing. > > > > How it works: > > Create a LessonMgr and then call load() to get all the lessons into > > core. Call store() and it will write all modified lessons to a home > > account. > > > > Thebasic idea is to create a LessonMgr in Quiz.java and in Editor.java > > and pass it to MainFrame.java and to EditorFrame.java. When > > MainFrame.java creates an EditorFrame, it will pass its LessonMgr to it. > > > > I have also added a copyright notice to the top of every file. I used > > the copyright from JSword and changed JSword to FlashCards. If this is > > not correct, it can be changed. > > > > DM Smith wrote: > >> Sorry for the delay in answering. Just got back from a weekend holiday. > >> > >> Troy, I am going to be fairly complete. Probably much of this you have > >> figured out by now or already knew. My goal in doing this is that > >> FlashCards is your baby and I want you to have full knowledge of what > >> I have done. So that you will feel fairly comfortable with the changes. > >> > >> The CWClassLoader finds resources using a fairly sophisticated lookup > >> mechanism so that you will not have to create your own. > >> > >> Here is the basic history, design and implementation of CWClassLoader > >> and ResourceUtil: (This should help to answer your question) > >> Java's basis mechanism for lookup is either explicit (i.e. I know > >> where the file is so I construct a path name from what is known.) or > >> implicit (i.e. use the class path to look for the file.) The latter > >> mechanism was that if you called classObj.getResource(xyz), it had one > >> of two behaviors. If the name began with a '/' the resource would be > >> sought for along the classpath. If it did not it was looked for in the > >> same directory as the definition of the class object. > >> > >> Since the program could be installed anywhere, we initially supplied a > >> shell script (bat file) that would start up the program. Relative to > >> that directory, we had a resource directory where all resources were > >> kept. The path of the resource directory was passed into the program > >> and it was put on the classpath. With this we could either use > >> explicit lookup or call getResource using '/'. > >> > >> For JSword, the resources were initially being kept in files that had > >> dotted names like files in packages: > >> E.g. org.crosswire.jsword.book.BibleInfo.properties > >> The purpose of this was to allow a developer to easily change the > >> properties. It was also the place where the program maintained > >> persistent performance data that was used for the progress meters. > >> > >> When we went to WebStart, a couple of things happened. First, we could > >> not write to the resource directory. So we had to have a different > >> location. Second, since webstart requires all resources to be held in > >> signed jars, the developer could not modify the resources. Third, we > >> had no idea where WebStart would store the program, so we could not > >> pass in the installation location. Fourth, we no longer had control > >> over the classpath that was created and could not add an arbitrary > >> directory location. > >> > >> We had worked out a way that we could use getResource to find a > >> resource, but now needed to also explicitly look for it in the file > >> system as well. So we wrote code that first looked in ~/.jsword and > >> then in the jars. This was all well and good, but when we went to > >> internationalize the program, we had to treat the property files as > >> ResourceBundles. And ResourceBundles always use a class loader to find > >> resources. So we had to migrate the lookup to a ClassLoader and use it. > >> > >> So, in a nutshell here is how it works. Lets say that you have a > >> resource called lessonA.flash that is used by > >> org.crosswire.flashcards.Reader. If CWClassLoader is used to find > >> lessons/black/lessonA.flash via ResourceUtil.getResource(). It will > >> look for the file in the following places with the following names: > >> First look for it relative to the package: > >> 1) org.crosswire.flashcards.lessons.black.lessonA.flash in ~/.flashcards > >> 2) org.crosswire.flashcards.lessons.black.lessonA.flash in a jar > >> Then look for it relative to the root of the classpath: > >> 3) lessons.black.lessonA.flash in ~/.flashcards > >> 4) lessons.black.lessonsA.flash in the a jar > >> Finally look for it as a file: > >> 5) lessons/black/lessonA.flash in ~/.flashcards > >> 6) lessons/black/lessonA.flash in the jar > >> > >> That is, it manages the lookup for you. > >> > >> To have it look in ~/.flashcards the program needs to do the > >> following: (Assume DIR_PROJECT is .flashcards) > >> String path = System.getProperty("user.home") + > >> File.separator + DIR_PROJECT; //$NON-NLS-1$ > >> URL home = new URL(FILE_PROTOCOL, null, path); > >> CWClassLoader.setHome(home); > >> > >> If two different programs (Quiz and Editor) work on the same location, > >> then both programs need to have these three lines. > >> > >> The twist that FlashCards has that is not present in JSword, it that > >> JSword merely looks up a known resource, but FlashCards discovers what > >> resources it has available. FlashCards then has the additional step of > >> creating a map of discovered resources. When it discovers the resource > >> it does not remember whether it was found in the filesystem or in the > >> jar. It lets the ResourceUtil.getResource figure that out at that time. > >> > >> So in looking at the code you will find that it looks for lessons thusly > >> It first digs into the jar to get lessons with getJarLessons. Since > >> these are not located in org.crosswire.flashcards, a '/' is prefixed. > >> Then it looks in the file system with getHomeLessons. > >> > >> As it gets the lessons, they are stored by their path. Then by their > >> URL with the widget. > >> > >> Now if one of these lessons is loaded into the Editor, it may have > >> come from the jar or it may have come from the filesystem. It really > >> does not matter. ResourceUtil.getResource will sort it out. When the > >> file is written out, it will need to be saved in the filesystem. Any > >> URLs that are remembered for the resource will have to be updated. > >> (Right now each checkbox remembers the URL. If this were to change to > >> being the path, then no place would need to be adjusted.) > >> > >> So here are the changes I see that the program needs to have done to > >> make it work with what it has: > >> 1) Add CWClassLoader.setHome to EditorFrame so it will work in stand > >> alone mode. > >> 2) change the JFileChoosers to look in CWClassLoader.getHome() (i.e. > >> line 213 in MainFrame, 45 and 62 in EditorFrame) > >> 3) Store the path on the widget (i.e. a String and not an URL) and do > >> the lookup for the URL when the lesson is loaded. > >> > >> At this time, the program assumes that the lessons are in a > >> subdirectory of a "lessons" directory. So some thought may want to be > >> put into whether this is a good restriction or not. If so, the user > >> really does not need to open a JFileChooser, they could either pick an > >> existing lesson to edit or create one from scratch by naming the > >> lesson set (e.g. black) and the lesson (e.g. lesson01vocab). The > >> program would be responsible for converting this to a path and writing > >> it to the file system. > >> > >> If the user can write to any location then CWClassLoader would need to > >> change setHome to setHomePath and each location would need to be > >> stored in a persistent location so it could be remembered the next run. > >> > >> I would also suggest a change to the setup screen, where the name of > >> the lesson set is pickable (JComboBox or JList would do). When it is > >> picked, then a list of lessons is populated. I suggest having a > >> scrollable JList of the checkboxes. > >> > >> The trick would be to have the JComboBox listen for the creation of > >> new lesson sets and the lesson listing to update when they are added, > >> deleted or renamed or reordered. I suggest the Observer pattern using > >> a LessonEditEvent and a LessonEditEventListener. > >> > >> As I "broke" the editing function, I would be willing to help in > >> whatever way you wish. > >> > >> Hope this helps, > >> DM > >> > >> Troy A. Griffitts wrote: > >>> Hey DM, > >>> Been working on re-adding support for editing files into > >>> flashcards and am trying to understand how things work. Help me > >>> learn about the need for the classloader extension. > >>> > >>> Here is what I think the path might be for loading the lesson > >>> groups. > >>> > >>> 1. look on the resource path (basically, the flashcards.jar file) > >>> for "lessons/<lesson_group>/*.flash > >>> 2. CWD "file:lessons/<lesson_group>/*.flash > >>> 3. CWD "jar:file:lessons/*.jar!/lessons/<lesson_group>/*.flash > >>> 4. HOME "file:${user.home}/.flashcards/lessons/ > >>> <lesson_group>/*.flash > >>> 5. HOME "jar:file:${user.home}/.flashcards/lessons/ > >>> *.jar!/lessons/<lesson_group>/*.flash > >>> > >>> I was going to attempt to write this today with 2 functions which > >>> could be called from the quizzer and the editor could use at least > >>> the first when the path is chosen: > >>> > >>> // called for each <lesson_group> found > >>> public static void addLessonGroup(Map lessonGroups, URL url); > >>> > >>> // called 5 times with above logic > >>> public static Vector discoverLessonGroups(URL lessonsPath); > >>> > >>> > >>> ...but thought it best to ask you for direction, as I still don't > >>> understand the function of the class loader. > >>> > >>> Thanks for your efforts and in advance for your guidance! > >>> > >>> -Troy. > >>> > >>> DM Smith wrote: > >>>> For those that were following this thread. Troy, John and I took it > >>>> the conversation offline to figure out the problem. > >>>> We have fixed the problem (which was that the jar did not have the > >>>> image files needed for the editor). > >>>> > >>>> The program is available via webstart at www.crosswire.org/flashcards. > >>>> > >>>> John's addition to the program is the ability to run the editor from > >>>> inside of the quizzer. > >>>> > >>>> Troy A. Griffitts wrote: > >>>>> OK John, > >>>>> Here's my latest discoveries. > >>>>> > >>>>> If I build on the server with ant and jdk 1.5.0, I have the > >>>>> null editor window, running on XP jdk 1.4.1. > >>>>> If I build on the server with ant and jdk 1.4.2, I have the > >>>>> null editor window, running on XP jdk 1.4.1. > >>>>> If I build on the server with your build script and jdk 1.5.0, > >>>>> I get 1.5.0 compile errors which have been fixed and committed, and > >>>>> then I get: > >>>>> > >>>>> Exception in thread "main" java.lang.UnsupportedClassVersionError: > >>>>> org/crosswire /flashcards/Quiz (Unsupported major.minor version 49.0) > >>>>> > >>>>> which is probably expected from XP and jdk 1.4.1 > >>>>> > >>>>> If I build on the server with your build script and jdk 1.4.2 > >>>>> everything works on XP jdk 1.4.1. > >>>>> > >>>>> Hope we can track this down. > >>>>> > >>>>> -Troy. > >>>>> > >>>>> get On Thu, 9 Sep 2004, John Jacques wrote: > >>>>>> Troy, > >>>>>> > >>>>>> I don't get anything when I try to run the editor from the MainMenu > >>>>>> using webstart (Quiz does work). All works well when I run from the > >>>>>> command line (on Linux): > >>>>>> > >>>>>> $ java -jar flashcards.jar > >>>>>> > >>>>>> The Editor is the correct size etc. > >>>>>> > >>>>>> I almost have my local web server set up to allow me to use > >>>>>> webstart. The last remaining obsticle is signing the jar file! I am > >>>>>> trying as recommended > >>>>>> (http://java.sun.com/j2se/1.4.2/docs/guide/jws/developersguide/devel > >>>>>>opment.html#signing) but haven't been able to obtain 'unrestricted > >>>>>> access'... > >>>>>> > >>>>>> On Thu, 2004-09-09 at 12:20, Troy A. Griffitts wrote: > >>>>>>> John, > >>>>>>> We could try setting a size. It's not necessarily a webstart > >>>>>>> issue. I got that error I reported to you by running the > >>>>>>> produced jar > >>>>>>> file on an XP box. If you click on the webstart link from this > >>>>>>> page: > >>>>>>> > >>>>>>> http://crosswire.org/flashcards/ > >>>>>>> > >>>>>>> does the edit choice work for you? > >>>>>>> > >>>>>>> I can grab the corner of the very small editor window and resize it > >>>>>>> larger, but there is nothing on the client area. > >>>>>>> > >>>>>>> If you'd really like the breathing marks to be entered before the > >>>>>>> letters, > >>>>>>> the IM mechanism supports multiple keystroke for character > >>>>>>> entry. This is > >>>>>>> used in the Michigan Claremont Hebrew keymap, if you'd like to > >>>>>>> see how it > >>>>>>> works. Actually, just reviewed HebrewMCIM.java and it looks really > >>>>>>> convoluted. Sorry about that. > >>>>>>> > >>>>>>> Thanks for your work! > >>>>>>> > >>>>>>> -Troy. > >>>>>>> > >>>>>>> On Wed, 8 Sep 2004, John Jacques wrote: > >>>>>>>> Troy, > >>>>>>>> > >>>>>>>> The main difference I see is that MainFrame.java doesn't use > >>>>>>>> java.awt.Toolkit to determine the screen size as in > >>>>>>>> Editor.java. It > >>>>>>>> might be worth setting a screen size there... > >>>>>>>> > >>>>>>>> I'm glad my other changes didn't break anything! > >>>>>>>> > >>>>>>>> I'll try to set up webstart on a local webserver. Looks like I > >>>>>>>> would > >>>>>>>> just have to edit Flashcards.jnlp. Is it that simple? > >>>>>>>> > >>>>>>>> On Wed, 2004-09-08 at 16:49, Troy A. Griffitts wrote: > >>>>>>>>> John, > >>>>>>>>> Thank you for your recent submissions. I have updated the > >>>>>>>>> webstart installer to the latest code and the editor doesn't > >>>>>>>>> seem to > >>>>>>>>> launch for me. I get an error: > >>>>>>>>> ERROR : > >>>>>>>>> org.crosswire.flashcards.EditorFrame[frame0,0,0,0x0,invalid,hidde > >>>>>>>>>n,layo > >>>>>>>>> > >>>>>>>>> ut=java.awt.BorderLayout,title=,resizable,normal,defaultCloseOper > >>>>>>>>>ation=HIDE_ON_C > >>>>>>>>> > >>>>>>>>> LOSE,rootPane=javax.swing.JRootPane[,0,0,0x0,invalid,layout=javax > >>>>>>>>>.swing.JRootPan > >>>>>>>>> > >>>>>>>>> e$RootLayout,alignmentX=null,alignmentY=null,border=,flags=385,ma > >>>>>>>>>ximumSize=,mini > >>>>>>>>> > >>>>>>>>> mumSize=,preferredSize=],rootPaneCheckingEnabled=true] : > >>>>>>>>> Thread[main,5,main] > >>>>>>>>> null > >>>>>>>>> > >>>>>>>>> and a very small windows (actually just the titlebar). > >>>>>>>>> > >>>>>>>>> Let me know if you have an idea what it might be. Thank you. > >>>>>>>>> > >>>>>>>>> -Troy. > >>>>>>>>> > >>>>>>>>> On Wed, 18 Aug 2004, John Jacques wrote: > >>>>>>>>>> Troy, > >>>>>>>>>> > >>>>>>>>>> I'm going to check in my changes to flashcards. So far there > >>>>>>>>>> are no > >>>>>>>>>> major changes, just minor fixes. > >>>>>>>>>> > >>>>>>>>>> If I want to make larger changes, should we branch? Does the > >>>>>>>>>> revision > >>>>>>>>>> (4 in this case) match up with other CrossWire software such > >>>>>>>>>> as modedit > >>>>>>>>>> (which I believe is used elsewhere)? > >>>>>>>>>> > >>>>>>>>>> One last question, is there a mailing list, or any other > >>>>>>>>>> forum, where > >>>>>>>>>> new ideas should be discussed before they are implemented? > >>>>>>>>>> > >>>>>>>>>> On Sun, 2004-08-15 at 03:23, Troy A. Griffitts wrote: > >>>>>>>>>>> John, > >>>>>>>>>>> We've recently changed servers and it has been keeping me > >>>>>>>>>>> busy for the > >>>>>>>>>>> past few weeks. We just put a new live SVN repository online > >>>>>>>>>>> at: > >>>>>>>>>>> > >>>>>>>>>>> https://crosswire.org/svn/flashcards/ > >>>>>>>>>>> > >>>>>>>>>>> The repository permission is currently WORLD READ/WRITE. If > >>>>>>>>>>> you would > >>>>>>>>>>> like to commit your changes to the repository, you are > >>>>>>>>>>> welcome to do so. > >>>>>>>>>>> Not sure if you've had subversion experience. If now, you > >>>>>>>>>>> can find > >>>>>>>>>>> info and software at: > >>>>>>>>>>> > >>>>>>>>>>> http://subversion.tigris.org > >>>>>>>>>>> > >>>>>>>>>>> Thanks again for your willingness to help. > >>>>>>>>>>> > >>>>>>>>>>> -Troy. > >>>>>>>>>>> > >>>>>>>>>>> John Jacques wrote: > >>>>>>>>>>>> Troy, > >>>>>>>>>>>> > >>>>>>>>>>>> I made the following changes. Let me know if you keep any > >>>>>>>>>>>> of them! > >>>>>>>>>>>> There are files named "Changes.eruditelite" in any directory > >>>>>>>>>>>> I made > >>>>>>>>>>>> changes in that describe each change and the modified > >>>>>>>>>>>> files. I have > >>>>>>>>>>>> also included the change files in this messages (see below). > >>>>>>>>>>>> > >>>>>>>>>>>> Are you using a revision control system? > >>>>>>>>>>>> > >>>>>>>>>>>> Also, what do you think of the following proposals: > >>>>>>>>>>>> > >>>>>>>>>>>> 1) Add a Quiz mode in which the user is presented with the > >>>>>>>>>>>> vocabulary word only (not multiple choice) and then the > >>>>>>>>>>>> answer (either time delayed or by pressing a > >>>>>>>>>>>> button). The > >>>>>>>>>>>> user then indicates whether they knew the word or > >>>>>>>>>>>> not. The > >>>>>>>>>>>> current mode (multiple choice) would still be > >>>>>>>>>>>> available. > >>>>>>>>>>>> > >>>>>>>>>>>> 2) Cleanup ".flash" files when saving (eliminate unused > >>>>>>>>>>>> entries, renumber etc.) > >>>>>>>>>>>> > >>>>>>>>>>>> ========== In the top directory: > >>>>>>>>>>>> > >>>>>>>>>>>> 1) Added GNUmakefile to speedup working from emacs/command > >>>>>>>>>>>> line. > >>>>>>>>>>>> 2) Updated to the latest (on the website 22 July 2004) > >>>>>>>>>>>> modedit. This > >>>>>>>>>>>> allowed me to enter text (classical greek) in Mandrake > >>>>>>>>>>>> 10.0. 3) Added MounceBasicsChapter04.flash (Vocabulary from > >>>>>>>>>>>> Chapter 4 of > >>>>>>>>>>>> Mounce's Basics of Biblical Greek). > >>>>>>>>>>>> > >>>>>>>>>>>> ========== In src/flash: > >>>>>>>>>>>> > >>>>>>>>>>>> 1) Changed tool tip for "Save" from "Help" to "Save" > >>>>>>>>>>>> (EditorFrame.java:102) > >>>>>>>>>>>> 2) Stopped displaying exception on startup when > >>>>>>>>>>>> "NewLesson.flash" > >>>>>>>>>>>> didn't exist. (EidtorFrame.java:247) > >>>>>>>>>>>> > >>>>>>>>>>>> On Sat, 2004-07-17 at 16:37, Troy A. Griffitts wrote: > >>>>>>>>>>>>> John, > >>>>>>>>>>>>> Thanks for the offer. We'd love any help you'd be > >>>>>>>>>>>>> willing to > >>>>>>>>>>>>> volunteer. That's how our open projects improve! You'll > >>>>>>>>>>>>> find the source > >>>>>>>>>>>>> in the same directory pointed to by the download link. I > >>>>>>>>>>>>> don't think we > >>>>>>>>>>>>> have an actual link to it yet. > >>>>>>>>>>>>> > >>>>>>>>>>>>> We do have some c++/linux/handheld apps: > >>>>>>>>>>>>> http://crosswire.org/qpsword/ > >>>>>>>>>>>>> > >>>>>>>>>>>>> And we'd love to see flashcards run on the Zaurus! :) > >>>>>>>>>>>>> Or at least > >>>>>>>>>>>>> a client that reads the same lesson formats. > >>>>>>>>>>>>> > >>>>>>>>>>>>> Thanks you again for your persistence to get our app to > >>>>>>>>>>>>> work and > >>>>>>>>>>>>> willingness to help! > >>>>>>>>>>>>> > >>>>>>>>>>>>> -Troy A. Griffitts > >>>>>>>>>>>>> > >>>>>>>>>>>>> On Sat, 17 Jul 2004, John Jacques wrote: > >>>>>>>>>>>>>> Troy, > >>>>>>>>>>>>>> > >>>>>>>>>>>>>> Thanks for the response! The final sigma is " (double > >>>>>>>>>>>>>> quote) and my > >>>>>>>>>>>>>> confusion about saving a new list was the pop-up hint for > >>>>>>>>>>>>>> the save > >>>>>>>>>>>>>> button (which says "Help"). It all works now... > >>>>>>>>>>>>>> > >>>>>>>>>>>>>> If you are interested in programming help, let me know. I > >>>>>>>>>>>>>> am a > >>>>>>>>>>>>>> programmer (embedded Linux/Real Time) so most of my > >>>>>>>>>>>>>> experience is OS > >>>>>>>>>>>>>> porting and device drivers but I have written a fair > >>>>>>>>>>>>>> amount of Java > >>>>>>>>>>>>>> (~7,000 lines) including a Swing GUI. > >>>>>>>>>>>>>> > >>>>>>>>>>>>>> On Sat, 2004-07-17 at 07:02, Troy A. Griffitts wrote: > >>>>>>>>>>>>>>> John, I believe that final sigma is the ' key. Did you > >>>>>>>>>>>>>>> type a filename > >>>>>>>>>>>>>>> in the filename box before you hit save? I realize this > >>>>>>>>>>>>>>> isn't an > >>>>>>>>>>>>>>> orthodox method for saving a new file, but it's a first > >>>>>>>>>>>>>>> rev of the > >>>>>>>>>>>>>>> software. Please let me know if this information hasn't > >>>>>>>>>>>>>>> helped get you > >>>>>>>>>>>>>>> going. > >>>>>>>>>>>>>>> > >>>>>>>>>>>>>>> -Troy A. Griffitts. > >>>>>>>>>>>>>>> > >>>>>>>>>>>>>>> John Jacques wrote: > >>>>>>>>>>>>>>>> First of all, thank you for a wonderful program! > >>>>>>>>>>>>>>>> However, I can't seem > >>>>>>>>>>>>>>>> to get FlashEditor.jar to save any of the changes I make > >>>>>>>>>>>>>>>> or let me enter > >>>>>>>>>>>>>>>> a sigma (the end of word sigma that is)... > >>>>>>>>>>>>>>>> > >>>>>>>>>>>>>>>> _______________________________________________ > >>>>>>>>>>>>>>>> sword-support mailing list > >>>>>>>>>>>>>>>> [EMAIL PROTECTED] > >>>>> > >>>>> _______________________________________________ > >>>>> jsword-devel mailing list > >>>>> [EMAIL PROTECTED] > >>>>> http://www.crosswire.org/mailman/listinfo/jsword-devel > >>>> > >>>> _______________________________________________ > >>>> jsword-devel mailing list > >>>> [EMAIL PROTECTED] > >>>> http://www.crosswire.org/mailman/listinfo/jsword-devel > >>> > >>> _______________________________________________ > >>> jsword-devel mailing list > >>> [EMAIL PROTECTED] > >>> http://www.crosswire.org/mailman/listinfo/jsword-devel > >> > >> _______________________________________________ > >> jsword-devel mailing list > >> [EMAIL PROTECTED] > >> http://www.crosswire.org/mailman/listinfo/jsword-devel > > > > _______________________________________________ > > jsword-devel mailing list > > [EMAIL PROTECTED] > > http://www.crosswire.org/mailman/listinfo/jsword-devel > > _______________________________________________ > sword-devel mailing list > [EMAIL PROTECTED] > http://www.crosswire.org/mailman/listinfo/sword-devel _______________________________________________ sword-devel mailing list [EMAIL PROTECTED] http://www.crosswire.org/mailman/listinfo/sword-devel