summaryrefslogtreecommitdiff
path: root/utilities
diff options
context:
space:
mode:
authorRoberto C. Sanchez <roberto@connexer.com>2014-03-29 10:53:49 -0400
committerRoberto C. Sanchez <roberto@connexer.com>2014-03-29 10:53:49 -0400
commit8c8aa6b07e595cfac56838b5964ab3e96051f1b2 (patch)
treeda38e2c1979148dbd3b0c7b87f930746f5ba7f44 /utilities
parent8d3fc864d094eeadc721f8e93436b37a5fab173e (diff)
Imported Upstream version 1.5.7
Diffstat (limited to 'utilities')
-rw-r--r--utilities/Makefile.am48
-rw-r--r--utilities/Makefile.in740
-rw-r--r--utilities/addcomment.cpp6
-rw-r--r--utilities/addgb.cpp303
-rw-r--r--utilities/addld.cpp33
-rw-r--r--utilities/addvs.cpp32
-rw-r--r--utilities/bcppmake/cipherraw.bpf9
-rw-r--r--utilities/bcppmake/cipherraw.bpr123
-rw-r--r--utilities/bcppmake/diatheke.bpf10
-rw-r--r--utilities/bcppmake/diatheke.bpr40
-rw-r--r--utilities/bcppmake/imp2gbs.bpf5
-rw-r--r--utilities/bcppmake/imp2gbs.bpr27
-rw-r--r--utilities/bcppmake/imp2ld.bpf5
-rw-r--r--utilities/bcppmake/imp2ld.bpr27
-rw-r--r--utilities/bcppmake/imp2vs.bpf5
-rw-r--r--utilities/bcppmake/imp2vs.bpr27
-rw-r--r--utilities/bcppmake/libsword.bpf9
-rw-r--r--utilities/bcppmake/libsword.bpr37
-rw-r--r--utilities/bcppmake/mkfastmod.bpf5
-rw-r--r--utilities/bcppmake/mkfastmod.bpr37
-rw-r--r--utilities/bcppmake/mod2imp.bpf9
-rw-r--r--utilities/bcppmake/mod2imp.bpr122
-rw-r--r--utilities/bcppmake/mod2osis.bpf9
-rw-r--r--utilities/bcppmake/mod2osis.bpr121
-rw-r--r--utilities/bcppmake/mod2vpl.bpf5
-rw-r--r--utilities/bcppmake/mod2vpl.bpr39
-rw-r--r--utilities/bcppmake/mod2zmod.bpf5
-rw-r--r--utilities/bcppmake/mod2zmod.bpr41
-rw-r--r--utilities/bcppmake/osis2mod.bpf9
-rw-r--r--utilities/bcppmake/osis2mod.bpr122
-rw-r--r--utilities/bcppmake/step2vpl.bpf9
-rw-r--r--utilities/bcppmake/step2vpl.bpr122
-rw-r--r--utilities/bcppmake/stepdump.bpf9
-rw-r--r--utilities/bcppmake/stepdump.bpr122
-rw-r--r--utilities/bcppmake/thml2gbs.bpf5
-rw-r--r--utilities/bcppmake/thml2gbs.bpr42
-rw-r--r--utilities/bcppmake/utilities.bpg56
-rw-r--r--utilities/bcppmake/vpl2mod.bpf5
-rw-r--r--utilities/bcppmake/vpl2mod.bpr37
-rw-r--r--utilities/bcppmake/vs2osisref.bpf9
-rw-r--r--utilities/bcppmake/vs2osisref.bpr121
-rw-r--r--utilities/bcppmake/xml2gbs.bpf9
-rw-r--r--utilities/bcppmake/xml2gbs.bpr123
-rw-r--r--utilities/cipherraw.cpp22
-rw-r--r--utilities/ciphertest.cpp16
-rw-r--r--utilities/ciphertest2.cpp5
-rw-r--r--utilities/diatheke/Makefile.am23
-rw-r--r--utilities/diatheke/Makefile.in519
-rw-r--r--utilities/diatheke/README76
-rw-r--r--utilities/diatheke/cgi/Makefile.am6
-rwxr-xr-xutilities/diatheke/cgi/dia-def.pl41
-rwxr-xr-xutilities/diatheke/cgi/diatheke.pl491
-rw-r--r--utilities/diatheke/cgi/index-private.html1264
-rw-r--r--utilities/diatheke/cgi/index-public.html883
-rw-r--r--utilities/diatheke/corediatheke.cpp449
-rw-r--r--utilities/diatheke/corediatheke.h42
-rw-r--r--utilities/diatheke/diafiltmgr.cpp227
-rw-r--r--utilities/diatheke/diafiltmgr.h47
-rw-r--r--utilities/diatheke/diatheke.cpp222
-rw-r--r--utilities/diatheke/diatheke.dsp204
-rw-r--r--utilities/diatheke/diatheke.dsw44
-rw-r--r--utilities/diatheke/diathekemgr.cpp107
-rw-r--r--utilities/diatheke/diathekemgr.h35
-rw-r--r--utilities/diatheke/gbfcgi.cpp138
-rw-r--r--utilities/diatheke/gbfcgi.h36
-rw-r--r--utilities/diatheke/osiscgi.cpp323
-rw-r--r--utilities/diatheke/osiscgi.h48
-rw-r--r--utilities/diatheke/pqa/Diatheke.pqabin0 -> 662 bytes
-rw-r--r--utilities/diatheke/pqa/src/README1
-rw-r--r--utilities/diatheke/pqa/src/all.html170
-rw-r--r--utilities/diatheke/pqa/src/ancient.html32
-rw-r--r--utilities/diatheke/pqa/src/dict.html32
-rw-r--r--utilities/diatheke/pqa/src/english.html68
-rw-r--r--utilities/diatheke/pqa/src/french.html26
-rw-r--r--utilities/diatheke/pqa/src/german.html35
-rw-r--r--utilities/diatheke/pqa/src/index.html43
-rw-r--r--utilities/diatheke/pqa/src/lex.html29
-rw-r--r--utilities/diatheke/pqa/src/other.html57
-rw-r--r--utilities/diatheke/pqa/src/spanish.html29
-rwxr-xr-xutilities/diatheke/soap/sapouni.cgi97
-rwxr-xr-xutilities/diatheke/soap/soapatheke.pl16
-rw-r--r--utilities/diatheke/tcl/biblebot-diatheke.tcl2131
-rw-r--r--utilities/diatheke/thmlcgi.cpp192
-rw-r--r--utilities/diatheke/thmlcgi.h36
-rw-r--r--utilities/emptyvss.cpp13
-rw-r--r--utilities/gbfidx.cpp295
-rw-r--r--utilities/imp2gbs.cpp331
-rw-r--r--utilities/imp2ld.cpp361
-rw-r--r--utilities/imp2vs.cpp366
-rw-r--r--utilities/installmgr.cpp248
-rw-r--r--utilities/kylixmake/libsword.bpf8
-rw-r--r--utilities/kylixmake/libsword.bpr240
-rw-r--r--utilities/kylixmake/mod2zmod.bpf5
-rw-r--r--utilities/kylixmake/mod2zmod.bpr84
-rw-r--r--utilities/kylixmake/mod2zmod.resbin0 -> 32 bytes
-rw-r--r--utilities/kylixmake/utilities.bpg24
-rw-r--r--utilities/mkfastmod.cpp7
-rw-r--r--utilities/mod2imp.cpp75
-rw-r--r--utilities/mod2osis.cpp211
-rw-r--r--utilities/mod2vpl.cpp16
-rw-r--r--utilities/mod2zmod.cpp57
-rw-r--r--utilities/modwrite.cpp12
-rw-r--r--utilities/normcode.cpp96
-rw-r--r--utilities/osis2mod.cpp345
-rw-r--r--utilities/step2vpl.cpp22
-rw-r--r--utilities/stepdump.cpp16
-rw-r--r--utilities/thml2gbs.cpp38
-rw-r--r--utilities/txt2sword.cpp11
-rw-r--r--utilities/vpl2mod.cpp35
-rw-r--r--utilities/vs2osisref.cpp108
-rw-r--r--utilities/xml2gbs.cpp484
111 files changed, 13262 insertions, 1187 deletions
diff --git a/utilities/Makefile.am b/utilities/Makefile.am
index 4e4cd30..e516df0 100644
--- a/utilities/Makefile.am
+++ b/utilities/Makefile.am
@@ -1,22 +1,38 @@
-AUTOMAKE_OPTIONS = 1.5
+AUTOMAKE_OPTIONS = 1.6
+SUBDIRS = diatheke
INCLUDES = -I $(top_srcdir)/include
-LDADD = -L$(top_builddir)/lib -lsword
+LDADD = $(top_builddir)/lib/libsword.la
noinst_PROGRAMS = cipherraw ciphertest ciphertest2 lexdump mkfastmod \
-mod2vpl vpl2mod stepdump step2vpl mod2zmod modwrite addvs addld emptyvss \
-txt2sword addgb imp2gbs imp2ld imp2vs thml2gbs
+stepdump step2vpl gbfidx modwrite addvs emptyvss \
+txt2sword addgb imp2gbs mod2imp thml2gbs xml2gbs
+
+bin_PROGRAMS = mod2imp mod2osis osis2mod vs2osisref mod2vpl \
+ vpl2mod imp2vs installmgr
+
+if INSTALLMGR
+IMGRPROG =
+else
+IMGRPROG =
+endif
+
if ICU
-ICUPROG = normcode
+ICUPROG =
else
ICUPROG =
endif
+if ZLIB
+ZLIBPROG = mod2zmod addld imp2ld
+else
+ZLIBPROG =
+endif
+
noinst_PROGRAMS += $(ICUPROG)
+bin_PROGRAMS += $(ZLIBPROG) $(IMGRPROG)
if ICU
-normcode_SOURCES = normcode.cpp
-normcode_LDADD = -licui18n -licuuc
endif
cipherraw_SOURCES = cipherraw.cpp
@@ -29,14 +45,26 @@ mod2vpl_SOURCES = mod2vpl.cpp
vpl2mod_SOURCES = vpl2mod.cpp
stepdump_SOURCES = stepdump.cpp
step2vpl_SOURCES = step2vpl.cpp
-mod2zmod_SOURCES = mod2zmod.cpp
+gbfidx_SOURCES = gbfidx.cpp
modwrite_SOURCES = modwrite.cpp
addvs_SOURCES = addvs.cpp
-addld_SOURCES = addld.cpp
emptyvss_SOURCES = emptyvss.cpp
txt2sword_SOURCES = txt2sword.cpp
addgb_SOURCES = addgb.cpp
imp2gbs_SOURCES = imp2gbs.cpp
-imp2ld_SOURCES = imp2ld.cpp
imp2vs_SOURCES = imp2vs.cpp
+mod2imp_SOURCES = mod2imp.cpp
thml2gbs_SOURCES = thml2gbs.cpp
+mod2osis_SOURCES = mod2osis.cpp
+xml2gbs_SOURCES = xml2gbs.cpp
+osis2mod_SOURCES = osis2mod.cpp
+vs2osisref_SOURCES = vs2osisref.cpp
+
+installmgr_SOURCES = installmgr.cpp
+#installmgr_LDADD = -lcurl $(CURL_LIBS) $(LDADD)
+
+if ZLIB
+mod2zmod_SOURCES = mod2zmod.cpp
+addld_SOURCES = addld.cpp
+imp2ld_SOURCES = imp2ld.cpp
+endif
diff --git a/utilities/Makefile.in b/utilities/Makefile.in
index 30aba5d..77c1fc6 100644
--- a/utilities/Makefile.in
+++ b/utilities/Makefile.in
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.6 from Makefile.am.
+# Makefile.in generated by automake 1.7.4 from Makefile.am.
# @configure_input@
-# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002
+# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003
# Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
@@ -13,81 +13,160 @@
# PARTICULAR PURPOSE.
@SET_MAKE@
-SHELL = @SHELL@
srcdir = @srcdir@
top_srcdir = @top_srcdir@
VPATH = @srcdir@
-prefix = @prefix@
-exec_prefix = @exec_prefix@
-
-bindir = @bindir@
-sbindir = @sbindir@
-libexecdir = @libexecdir@
-datadir = @datadir@
-sysconfdir = @sysconfdir@
-sharedstatedir = @sharedstatedir@
-localstatedir = @localstatedir@
-libdir = @libdir@
-infodir = @infodir@
-mandir = @mandir@
-includedir = @includedir@
-oldincludedir = /usr/include
pkgdatadir = $(datadir)/@PACKAGE@
pkglibdir = $(libdir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@
top_builddir = ..
-ACLOCAL = @ACLOCAL@
-AUTOCONF = @AUTOCONF@
-AUTOMAKE = @AUTOMAKE@
-AUTOHEADER = @AUTOHEADER@
-
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
INSTALL = @INSTALL@
-INSTALL_PROGRAM = @INSTALL_PROGRAM@
-INSTALL_DATA = @INSTALL_DATA@
install_sh_DATA = $(install_sh) -c -m 644
install_sh_PROGRAM = $(install_sh) -c
-INSTALL_SCRIPT = @INSTALL_SCRIPT@
+install_sh_SCRIPT = $(install_sh) -c
INSTALL_HEADER = $(INSTALL_DATA)
-transform = @program_transform_name@
+transform = $(program_transform_name)
NORMAL_INSTALL = :
PRE_INSTALL = :
POST_INSTALL = :
NORMAL_UNINSTALL = :
PRE_UNINSTALL = :
POST_UNINSTALL = :
-host_alias = @host_alias@
host_triplet = @host@
-
-EXEEXT = @EXEEXT@
-OBJEXT = @OBJEXT@
-PATH_SEPARATOR = @PATH_SEPARATOR@
+ACLOCAL = @ACLOCAL@
+AMDEP_FALSE = @AMDEP_FALSE@
+AMDEP_TRUE = @AMDEP_TRUE@
AMTAR = @AMTAR@
-AS = @AS@
+AUTOCONF = @AUTOCONF@
+AUTOHEADER = @AUTOHEADER@
+AUTOMAKE = @AUTOMAKE@
AWK = @AWK@
+BUILDEXAMPLES_FALSE = @BUILDEXAMPLES_FALSE@
+BUILDEXAMPLES_TRUE = @BUILDEXAMPLES_TRUE@
+BUILDTESTS_FALSE = @BUILDTESTS_FALSE@
+BUILDTESTS_TRUE = @BUILDTESTS_TRUE@
+BUILDUTILS_FALSE = @BUILDUTILS_FALSE@
+BUILDUTILS_TRUE = @BUILDUTILS_TRUE@
CC = @CC@
+CCDEPMODE = @CCDEPMODE@
+CFLAGS = @CFLAGS@
+CONFDEF_FALSE = @CONFDEF_FALSE@
+CONFDEF_TRUE = @CONFDEF_TRUE@
+CPPFLAGS = @CPPFLAGS@
+CURL_CFLAGS = @CURL_CFLAGS@
+CURL_CONFIG = @CURL_CONFIG@
+CURL_LIBS = @CURL_LIBS@
CXX = @CXX@
+CXXCPP = @CXXCPP@
+CXXDEPMODE = @CXXDEPMODE@
+CXXFLAGS = @CXXFLAGS@
+CYGPATH_W = @CYGPATH_W@
+DEFS = @DEFS@
DEPDIR = @DEPDIR@
-DLLTOOL = @DLLTOOL@
ECHO = @ECHO@
+ECHO_C = @ECHO_C@
+ECHO_N = @ECHO_N@
+ECHO_T = @ECHO_T@
+EGREP = @EGREP@
+EXEEXT = @EXEEXT@
+GENCCODE = @GENCCODE@
+GENCMN = @GENCMN@
+GENRB = @GENRB@
+ICUSWORD_FALSE = @ICUSWORD_FALSE@
+ICUSWORD_TRUE = @ICUSWORD_TRUE@
+ICU_CONFIG = @ICU_CONFIG@
+ICU_FALSE = @ICU_FALSE@
+ICU_IOLIBS = @ICU_IOLIBS@
+ICU_LIBS = @ICU_LIBS@
+ICU_TRUE = @ICU_TRUE@
+ICU_VER = @ICU_VER@
+INSTALLMGR_FALSE = @INSTALLMGR_FALSE@
+INSTALLMGR_TRUE = @INSTALLMGR_TRUE@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+INSTCONF_FALSE = @INSTCONF_FALSE@
+INSTCONF_TRUE = @INSTCONF_TRUE@
+LDFLAGS = @LDFLAGS@
+LIBOBJS = @LIBOBJS@
+LIBS = @LIBS@
LIBTOOL = @LIBTOOL@
LN_S = @LN_S@
+LTLIBOBJS = @LTLIBOBJS@
+LUCENE_LIBS = @LUCENE_LIBS@
MAINT = @MAINT@
-OBJDUMP = @OBJDUMP@
+MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@
+MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@
+MAKEINFO = @MAKEINFO@
+MINGW_FALSE = @MINGW_FALSE@
+MINGW_TRUE = @MINGW_TRUE@
+OBJEXT = @OBJEXT@
PACKAGE = @PACKAGE@
+PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
+PACKAGE_NAME = @PACKAGE_NAME@
+PACKAGE_STRING = @PACKAGE_STRING@
+PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_VERSION = @PACKAGE_VERSION@
+PATH_SEPARATOR = @PATH_SEPARATOR@
+PKGDATA = @PKGDATA@
+PKG_CONFIG = @PKG_CONFIG@
RANLIB = @RANLIB@
+SET_MAKE = @SET_MAKE@
+SHELL = @SHELL@
STRIP = @STRIP@
+USELUCENE_FALSE = @USELUCENE_FALSE@
+USELUCENE_TRUE = @USELUCENE_TRUE@
+USE_PKGCONF_FALSE = @USE_PKGCONF_FALSE@
+USE_PKGCONF_TRUE = @USE_PKGCONF_TRUE@
VERSION = @VERSION@
+ZLIB_FALSE = @ZLIB_FALSE@
+ZLIB_TRUE = @ZLIB_TRUE@
+ac_ct_CC = @ac_ct_CC@
+ac_ct_CXX = @ac_ct_CXX@
+ac_ct_RANLIB = @ac_ct_RANLIB@
+ac_ct_STRIP = @ac_ct_STRIP@
+am__fastdepCC_FALSE = @am__fastdepCC_FALSE@
+am__fastdepCC_TRUE = @am__fastdepCC_TRUE@
+am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@
+am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@
am__include = @am__include@
+am__leading_dot = @am__leading_dot@
am__quote = @am__quote@
+bindir = @bindir@
+build = @build@
+build_alias = @build_alias@
+build_cpu = @build_cpu@
+build_os = @build_os@
+build_vendor = @build_vendor@
+datadir = @datadir@
dir_confdef = @dir_confdef@
enable_debug = @enable_debug@
enable_profile = @enable_profile@
-enable_vcl = @enable_vcl@
+exec_prefix = @exec_prefix@
+host = @host@
+host_alias = @host_alias@
+host_cpu = @host_cpu@
+host_os = @host_os@
+host_vendor = @host_vendor@
+includedir = @includedir@
+infodir = @infodir@
install_sh = @install_sh@
+libdir = @libdir@
+libexecdir = @libexecdir@
+localstatedir = @localstatedir@
+mandir = @mandir@
+oldincludedir = @oldincludedir@
+prefix = @prefix@
+program_transform_name = @program_transform_name@
+sbindir = @sbindir@
+sharedstatedir = @sharedstatedir@
+sysconfdir = @sysconfdir@
+target = @target@
+target_alias = @target_alias@
target_cpu = @target_cpu@
target_mingw32 = @target_mingw32@
target_os = @target_os@
@@ -96,20 +175,28 @@ target_vendor = @target_vendor@
with_conf = @with_conf@
with_icu = @with_icu@
with_zlib = @with_zlib@
-AUTOMAKE_OPTIONS = 1.5
+AUTOMAKE_OPTIONS = 1.6
+SUBDIRS = diatheke
INCLUDES = -I $(top_srcdir)/include
-LDADD = -L$(top_builddir)/lib -lsword
+LDADD = $(top_builddir)/lib/libsword.la
noinst_PROGRAMS = cipherraw ciphertest ciphertest2 lexdump mkfastmod \
-mod2vpl vpl2mod stepdump step2vpl mod2zmod modwrite addvs addld emptyvss \
-txt2sword addgb imp2gbs imp2ld imp2vs thml2gbs\
+stepdump step2vpl gbfidx modwrite addvs emptyvss \
+txt2sword addgb imp2gbs mod2imp thml2gbs xml2gbs\
$(ICUPROG)
-@ICU_TRUE@ICUPROG = normcode
+bin_PROGRAMS = mod2imp mod2osis osis2mod vs2osisref mod2vpl \
+ vpl2mod imp2vs installmgr\
+$(ZLIBPROG) $(IMGRPROG)
+
+@INSTALLMGR_TRUE@IMGRPROG =
+@INSTALLMGR_FALSE@IMGRPROG =
@ICU_FALSE@ICUPROG =
-@ICU_TRUE@normcode_SOURCES = normcode.cpp
-@ICU_TRUE@normcode_LDADD = -licui18n -licuuc
+@ICU_TRUE@ICUPROG =
+@ZLIB_FALSE@ZLIBPROG =
+
+@ZLIB_TRUE@ZLIBPROG = mod2zmod addld imp2ld
cipherraw_SOURCES = cipherraw.cpp
ciphertest_SOURCES = ciphertest.cpp
@@ -121,89 +208,140 @@ mod2vpl_SOURCES = mod2vpl.cpp
vpl2mod_SOURCES = vpl2mod.cpp
stepdump_SOURCES = stepdump.cpp
step2vpl_SOURCES = step2vpl.cpp
-mod2zmod_SOURCES = mod2zmod.cpp
+gbfidx_SOURCES = gbfidx.cpp
modwrite_SOURCES = modwrite.cpp
addvs_SOURCES = addvs.cpp
-addld_SOURCES = addld.cpp
emptyvss_SOURCES = emptyvss.cpp
txt2sword_SOURCES = txt2sword.cpp
addgb_SOURCES = addgb.cpp
imp2gbs_SOURCES = imp2gbs.cpp
-imp2ld_SOURCES = imp2ld.cpp
imp2vs_SOURCES = imp2vs.cpp
+mod2imp_SOURCES = mod2imp.cpp
thml2gbs_SOURCES = thml2gbs.cpp
+mod2osis_SOURCES = mod2osis.cpp
+xml2gbs_SOURCES = xml2gbs.cpp
+osis2mod_SOURCES = osis2mod.cpp
+vs2osisref_SOURCES = vs2osisref.cpp
+
+installmgr_SOURCES = installmgr.cpp
+
+#installmgr_LDADD = -lcurl $(CURL_LIBS) $(LDADD)
+@ZLIB_TRUE@mod2zmod_SOURCES = mod2zmod.cpp
+@ZLIB_TRUE@addld_SOURCES = addld.cpp
+@ZLIB_TRUE@imp2ld_SOURCES = imp2ld.cpp
subdir = utilities
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
CONFIG_HEADER = $(top_builddir)/config.h
CONFIG_CLEAN_FILES =
+@INSTALLMGR_FALSE@@ZLIB_TRUE@bin_PROGRAMS = mod2imp$(EXEEXT) \
+@INSTALLMGR_FALSE@@ZLIB_TRUE@ mod2osis$(EXEEXT) \
+@INSTALLMGR_FALSE@@ZLIB_TRUE@ osis2mod$(EXEEXT) \
+@INSTALLMGR_FALSE@@ZLIB_TRUE@ vs2osisref$(EXEEXT) \
+@INSTALLMGR_FALSE@@ZLIB_TRUE@ mod2vpl$(EXEEXT) vpl2mod$(EXEEXT) \
+@INSTALLMGR_FALSE@@ZLIB_TRUE@ imp2vs$(EXEEXT) \
+@INSTALLMGR_FALSE@@ZLIB_TRUE@ installmgr$(EXEEXT) \
+@INSTALLMGR_FALSE@@ZLIB_TRUE@ mod2zmod$(EXEEXT) addld$(EXEEXT) \
+@INSTALLMGR_FALSE@@ZLIB_TRUE@ imp2ld$(EXEEXT)
+@INSTALLMGR_FALSE@@ZLIB_FALSE@bin_PROGRAMS = mod2imp$(EXEEXT) \
+@INSTALLMGR_FALSE@@ZLIB_FALSE@ mod2osis$(EXEEXT) \
+@INSTALLMGR_FALSE@@ZLIB_FALSE@ osis2mod$(EXEEXT) \
+@INSTALLMGR_FALSE@@ZLIB_FALSE@ vs2osisref$(EXEEXT) \
+@INSTALLMGR_FALSE@@ZLIB_FALSE@ mod2vpl$(EXEEXT) vpl2mod$(EXEEXT) \
+@INSTALLMGR_FALSE@@ZLIB_FALSE@ imp2vs$(EXEEXT) \
+@INSTALLMGR_FALSE@@ZLIB_FALSE@ installmgr$(EXEEXT)
+@INSTALLMGR_TRUE@@ZLIB_TRUE@bin_PROGRAMS = mod2imp$(EXEEXT) \
+@INSTALLMGR_TRUE@@ZLIB_TRUE@ mod2osis$(EXEEXT) osis2mod$(EXEEXT) \
+@INSTALLMGR_TRUE@@ZLIB_TRUE@ vs2osisref$(EXEEXT) \
+@INSTALLMGR_TRUE@@ZLIB_TRUE@ mod2vpl$(EXEEXT) vpl2mod$(EXEEXT) \
+@INSTALLMGR_TRUE@@ZLIB_TRUE@ imp2vs$(EXEEXT) installmgr$(EXEEXT) \
+@INSTALLMGR_TRUE@@ZLIB_TRUE@ mod2zmod$(EXEEXT) addld$(EXEEXT) \
+@INSTALLMGR_TRUE@@ZLIB_TRUE@ imp2ld$(EXEEXT)
+@INSTALLMGR_TRUE@@ZLIB_FALSE@bin_PROGRAMS = mod2imp$(EXEEXT) \
+@INSTALLMGR_TRUE@@ZLIB_FALSE@ mod2osis$(EXEEXT) \
+@INSTALLMGR_TRUE@@ZLIB_FALSE@ osis2mod$(EXEEXT) \
+@INSTALLMGR_TRUE@@ZLIB_FALSE@ vs2osisref$(EXEEXT) \
+@INSTALLMGR_TRUE@@ZLIB_FALSE@ mod2vpl$(EXEEXT) vpl2mod$(EXEEXT) \
+@INSTALLMGR_TRUE@@ZLIB_FALSE@ imp2vs$(EXEEXT) \
+@INSTALLMGR_TRUE@@ZLIB_FALSE@ installmgr$(EXEEXT)
@ICU_TRUE@noinst_PROGRAMS = cipherraw$(EXEEXT) ciphertest$(EXEEXT) \
@ICU_TRUE@ ciphertest2$(EXEEXT) lexdump$(EXEEXT) \
-@ICU_TRUE@ mkfastmod$(EXEEXT) mod2vpl$(EXEEXT) vpl2mod$(EXEEXT) \
-@ICU_TRUE@ stepdump$(EXEEXT) step2vpl$(EXEEXT) mod2zmod$(EXEEXT) \
-@ICU_TRUE@ modwrite$(EXEEXT) addvs$(EXEEXT) addld$(EXEEXT) \
-@ICU_TRUE@ emptyvss$(EXEEXT) txt2sword$(EXEEXT) addgb$(EXEEXT) \
-@ICU_TRUE@ imp2gbs$(EXEEXT) imp2ld$(EXEEXT) imp2vs$(EXEEXT) \
-@ICU_TRUE@ thml2gbs$(EXEEXT) normcode$(EXEEXT)
+@ICU_TRUE@ mkfastmod$(EXEEXT) stepdump$(EXEEXT) \
+@ICU_TRUE@ step2vpl$(EXEEXT) gbfidx$(EXEEXT) modwrite$(EXEEXT) \
+@ICU_TRUE@ addvs$(EXEEXT) emptyvss$(EXEEXT) txt2sword$(EXEEXT) \
+@ICU_TRUE@ addgb$(EXEEXT) imp2gbs$(EXEEXT) mod2imp$(EXEEXT) \
+@ICU_TRUE@ thml2gbs$(EXEEXT) xml2gbs$(EXEEXT)
@ICU_FALSE@noinst_PROGRAMS = cipherraw$(EXEEXT) ciphertest$(EXEEXT) \
@ICU_FALSE@ ciphertest2$(EXEEXT) lexdump$(EXEEXT) \
-@ICU_FALSE@ mkfastmod$(EXEEXT) mod2vpl$(EXEEXT) vpl2mod$(EXEEXT) \
-@ICU_FALSE@ stepdump$(EXEEXT) step2vpl$(EXEEXT) \
-@ICU_FALSE@ mod2zmod$(EXEEXT) modwrite$(EXEEXT) addvs$(EXEEXT) \
-@ICU_FALSE@ addld$(EXEEXT) emptyvss$(EXEEXT) txt2sword$(EXEEXT) \
-@ICU_FALSE@ addgb$(EXEEXT) imp2gbs$(EXEEXT) imp2ld$(EXEEXT) \
-@ICU_FALSE@ imp2vs$(EXEEXT) thml2gbs$(EXEEXT)
-PROGRAMS = $(noinst_PROGRAMS)
+@ICU_FALSE@ mkfastmod$(EXEEXT) stepdump$(EXEEXT) \
+@ICU_FALSE@ step2vpl$(EXEEXT) gbfidx$(EXEEXT) modwrite$(EXEEXT) \
+@ICU_FALSE@ addvs$(EXEEXT) emptyvss$(EXEEXT) txt2sword$(EXEEXT) \
+@ICU_FALSE@ addgb$(EXEEXT) imp2gbs$(EXEEXT) mod2imp$(EXEEXT) \
+@ICU_FALSE@ thml2gbs$(EXEEXT) xml2gbs$(EXEEXT)
+PROGRAMS = $(bin_PROGRAMS) $(noinst_PROGRAMS)
am_addgb_OBJECTS = addgb.$(OBJEXT)
addgb_OBJECTS = $(am_addgb_OBJECTS)
addgb_LDADD = $(LDADD)
-addgb_DEPENDENCIES =
+addgb_DEPENDENCIES = $(top_builddir)/lib/libsword.la
addgb_LDFLAGS =
-am_addld_OBJECTS = addld.$(OBJEXT)
+am__addld_SOURCES_DIST = addld.cpp
+@ZLIB_TRUE@am_addld_OBJECTS = addld.$(OBJEXT)
addld_OBJECTS = $(am_addld_OBJECTS)
addld_LDADD = $(LDADD)
-addld_DEPENDENCIES =
+addld_DEPENDENCIES = $(top_builddir)/lib/libsword.la
addld_LDFLAGS =
am_addvs_OBJECTS = addvs.$(OBJEXT)
addvs_OBJECTS = $(am_addvs_OBJECTS)
addvs_LDADD = $(LDADD)
-addvs_DEPENDENCIES =
+addvs_DEPENDENCIES = $(top_builddir)/lib/libsword.la
addvs_LDFLAGS =
am_cipherraw_OBJECTS = cipherraw.$(OBJEXT)
cipherraw_OBJECTS = $(am_cipherraw_OBJECTS)
cipherraw_LDADD = $(LDADD)
-cipherraw_DEPENDENCIES =
+cipherraw_DEPENDENCIES = $(top_builddir)/lib/libsword.la
cipherraw_LDFLAGS =
am_ciphertest_OBJECTS = ciphertest.$(OBJEXT)
ciphertest_OBJECTS = $(am_ciphertest_OBJECTS)
ciphertest_LDADD = $(LDADD)
-ciphertest_DEPENDENCIES =
+ciphertest_DEPENDENCIES = $(top_builddir)/lib/libsword.la
ciphertest_LDFLAGS =
am_ciphertest2_OBJECTS = ciphertest2.$(OBJEXT)
ciphertest2_OBJECTS = $(am_ciphertest2_OBJECTS)
ciphertest2_LDADD = $(LDADD)
-ciphertest2_DEPENDENCIES =
+ciphertest2_DEPENDENCIES = $(top_builddir)/lib/libsword.la
ciphertest2_LDFLAGS =
am_emptyvss_OBJECTS = emptyvss.$(OBJEXT)
emptyvss_OBJECTS = $(am_emptyvss_OBJECTS)
emptyvss_LDADD = $(LDADD)
-emptyvss_DEPENDENCIES =
+emptyvss_DEPENDENCIES = $(top_builddir)/lib/libsword.la
emptyvss_LDFLAGS =
+am_gbfidx_OBJECTS = gbfidx.$(OBJEXT)
+gbfidx_OBJECTS = $(am_gbfidx_OBJECTS)
+gbfidx_LDADD = $(LDADD)
+gbfidx_DEPENDENCIES = $(top_builddir)/lib/libsword.la
+gbfidx_LDFLAGS =
am_imp2gbs_OBJECTS = imp2gbs.$(OBJEXT)
imp2gbs_OBJECTS = $(am_imp2gbs_OBJECTS)
imp2gbs_LDADD = $(LDADD)
-imp2gbs_DEPENDENCIES =
+imp2gbs_DEPENDENCIES = $(top_builddir)/lib/libsword.la
imp2gbs_LDFLAGS =
-am_imp2ld_OBJECTS = imp2ld.$(OBJEXT)
+am__imp2ld_SOURCES_DIST = imp2ld.cpp
+@ZLIB_TRUE@am_imp2ld_OBJECTS = imp2ld.$(OBJEXT)
imp2ld_OBJECTS = $(am_imp2ld_OBJECTS)
imp2ld_LDADD = $(LDADD)
-imp2ld_DEPENDENCIES =
+imp2ld_DEPENDENCIES = $(top_builddir)/lib/libsword.la
imp2ld_LDFLAGS =
am_imp2vs_OBJECTS = imp2vs.$(OBJEXT)
imp2vs_OBJECTS = $(am_imp2vs_OBJECTS)
imp2vs_LDADD = $(LDADD)
-imp2vs_DEPENDENCIES =
+imp2vs_DEPENDENCIES = $(top_builddir)/lib/libsword.la
imp2vs_LDFLAGS =
+am_installmgr_OBJECTS = installmgr.$(OBJEXT)
+installmgr_OBJECTS = $(am_installmgr_OBJECTS)
+installmgr_LDADD = $(LDADD)
+installmgr_DEPENDENCIES = $(top_builddir)/lib/libsword.la
+installmgr_LDFLAGS =
am_lexdump_OBJECTS = lexdump.$(OBJEXT)
lexdump_OBJECTS = $(am_lexdump_OBJECTS)
lexdump_DEPENDENCIES =
@@ -211,72 +349,92 @@ lexdump_LDFLAGS =
am_mkfastmod_OBJECTS = mkfastmod.$(OBJEXT)
mkfastmod_OBJECTS = $(am_mkfastmod_OBJECTS)
mkfastmod_LDADD = $(LDADD)
-mkfastmod_DEPENDENCIES =
+mkfastmod_DEPENDENCIES = $(top_builddir)/lib/libsword.la
mkfastmod_LDFLAGS =
+am_mod2imp_OBJECTS = mod2imp.$(OBJEXT)
+mod2imp_OBJECTS = $(am_mod2imp_OBJECTS)
+mod2imp_LDADD = $(LDADD)
+mod2imp_DEPENDENCIES = $(top_builddir)/lib/libsword.la
+mod2imp_LDFLAGS =
+am_mod2osis_OBJECTS = mod2osis.$(OBJEXT)
+mod2osis_OBJECTS = $(am_mod2osis_OBJECTS)
+mod2osis_LDADD = $(LDADD)
+mod2osis_DEPENDENCIES = $(top_builddir)/lib/libsword.la
+mod2osis_LDFLAGS =
am_mod2vpl_OBJECTS = mod2vpl.$(OBJEXT)
mod2vpl_OBJECTS = $(am_mod2vpl_OBJECTS)
mod2vpl_LDADD = $(LDADD)
-mod2vpl_DEPENDENCIES =
+mod2vpl_DEPENDENCIES = $(top_builddir)/lib/libsword.la
mod2vpl_LDFLAGS =
-am_mod2zmod_OBJECTS = mod2zmod.$(OBJEXT)
+am__mod2zmod_SOURCES_DIST = mod2zmod.cpp
+@ZLIB_TRUE@am_mod2zmod_OBJECTS = mod2zmod.$(OBJEXT)
mod2zmod_OBJECTS = $(am_mod2zmod_OBJECTS)
mod2zmod_LDADD = $(LDADD)
-mod2zmod_DEPENDENCIES =
+mod2zmod_DEPENDENCIES = $(top_builddir)/lib/libsword.la
mod2zmod_LDFLAGS =
am_modwrite_OBJECTS = modwrite.$(OBJEXT)
modwrite_OBJECTS = $(am_modwrite_OBJECTS)
modwrite_LDADD = $(LDADD)
-modwrite_DEPENDENCIES =
+modwrite_DEPENDENCIES = $(top_builddir)/lib/libsword.la
modwrite_LDFLAGS =
-@ICU_TRUE@am_normcode_OBJECTS = normcode.$(OBJEXT)
-normcode_OBJECTS = $(am_normcode_OBJECTS)
-@ICU_TRUE@normcode_DEPENDENCIES =
-@ICU_FALSE@normcode_DEPENDENCIES =
-normcode_LDFLAGS =
+am_osis2mod_OBJECTS = osis2mod.$(OBJEXT)
+osis2mod_OBJECTS = $(am_osis2mod_OBJECTS)
+osis2mod_LDADD = $(LDADD)
+osis2mod_DEPENDENCIES = $(top_builddir)/lib/libsword.la
+osis2mod_LDFLAGS =
am_step2vpl_OBJECTS = step2vpl.$(OBJEXT)
step2vpl_OBJECTS = $(am_step2vpl_OBJECTS)
step2vpl_LDADD = $(LDADD)
-step2vpl_DEPENDENCIES =
+step2vpl_DEPENDENCIES = $(top_builddir)/lib/libsword.la
step2vpl_LDFLAGS =
am_stepdump_OBJECTS = stepdump.$(OBJEXT)
stepdump_OBJECTS = $(am_stepdump_OBJECTS)
stepdump_LDADD = $(LDADD)
-stepdump_DEPENDENCIES =
+stepdump_DEPENDENCIES = $(top_builddir)/lib/libsword.la
stepdump_LDFLAGS =
am_thml2gbs_OBJECTS = thml2gbs.$(OBJEXT)
thml2gbs_OBJECTS = $(am_thml2gbs_OBJECTS)
thml2gbs_LDADD = $(LDADD)
-thml2gbs_DEPENDENCIES =
+thml2gbs_DEPENDENCIES = $(top_builddir)/lib/libsword.la
thml2gbs_LDFLAGS =
am_txt2sword_OBJECTS = txt2sword.$(OBJEXT)
txt2sword_OBJECTS = $(am_txt2sword_OBJECTS)
txt2sword_LDADD = $(LDADD)
-txt2sword_DEPENDENCIES =
+txt2sword_DEPENDENCIES = $(top_builddir)/lib/libsword.la
txt2sword_LDFLAGS =
am_vpl2mod_OBJECTS = vpl2mod.$(OBJEXT)
vpl2mod_OBJECTS = $(am_vpl2mod_OBJECTS)
vpl2mod_LDADD = $(LDADD)
-vpl2mod_DEPENDENCIES =
+vpl2mod_DEPENDENCIES = $(top_builddir)/lib/libsword.la
vpl2mod_LDFLAGS =
+am_vs2osisref_OBJECTS = vs2osisref.$(OBJEXT)
+vs2osisref_OBJECTS = $(am_vs2osisref_OBJECTS)
+vs2osisref_LDADD = $(LDADD)
+vs2osisref_DEPENDENCIES = $(top_builddir)/lib/libsword.la
+vs2osisref_LDFLAGS =
+am_xml2gbs_OBJECTS = xml2gbs.$(OBJEXT)
+xml2gbs_OBJECTS = $(am_xml2gbs_OBJECTS)
+xml2gbs_LDADD = $(LDADD)
+xml2gbs_DEPENDENCIES = $(top_builddir)/lib/libsword.la
+xml2gbs_LDFLAGS =
-DEFS = @DEFS@
DEFAULT_INCLUDES = -I. -I$(srcdir) -I$(top_builddir)
-CPPFLAGS = @CPPFLAGS@
-LDFLAGS = @LDFLAGS@
-LIBS = @LIBS@
depcomp = $(SHELL) $(top_srcdir)/depcomp
am__depfiles_maybe = depfiles
@AMDEP_TRUE@DEP_FILES = ./$(DEPDIR)/addgb.Po ./$(DEPDIR)/addld.Po \
@AMDEP_TRUE@ ./$(DEPDIR)/addvs.Po ./$(DEPDIR)/cipherraw.Po \
@AMDEP_TRUE@ ./$(DEPDIR)/ciphertest.Po \
@AMDEP_TRUE@ ./$(DEPDIR)/ciphertest2.Po ./$(DEPDIR)/emptyvss.Po \
-@AMDEP_TRUE@ ./$(DEPDIR)/imp2gbs.Po ./$(DEPDIR)/imp2ld.Po \
-@AMDEP_TRUE@ ./$(DEPDIR)/imp2vs.Po ./$(DEPDIR)/lexdump.Po \
-@AMDEP_TRUE@ ./$(DEPDIR)/mkfastmod.Po ./$(DEPDIR)/mod2vpl.Po \
+@AMDEP_TRUE@ ./$(DEPDIR)/gbfidx.Po ./$(DEPDIR)/imp2gbs.Po \
+@AMDEP_TRUE@ ./$(DEPDIR)/imp2ld.Po ./$(DEPDIR)/imp2vs.Po \
+@AMDEP_TRUE@ ./$(DEPDIR)/installmgr.Po ./$(DEPDIR)/lexdump.Po \
+@AMDEP_TRUE@ ./$(DEPDIR)/mkfastmod.Po ./$(DEPDIR)/mod2imp.Po \
+@AMDEP_TRUE@ ./$(DEPDIR)/mod2osis.Po ./$(DEPDIR)/mod2vpl.Po \
@AMDEP_TRUE@ ./$(DEPDIR)/mod2zmod.Po ./$(DEPDIR)/modwrite.Po \
-@AMDEP_TRUE@ ./$(DEPDIR)/normcode.Po ./$(DEPDIR)/step2vpl.Po \
+@AMDEP_TRUE@ ./$(DEPDIR)/osis2mod.Po ./$(DEPDIR)/step2vpl.Po \
@AMDEP_TRUE@ ./$(DEPDIR)/stepdump.Po ./$(DEPDIR)/thml2gbs.Po \
-@AMDEP_TRUE@ ./$(DEPDIR)/txt2sword.Po ./$(DEPDIR)/vpl2mod.Po
+@AMDEP_TRUE@ ./$(DEPDIR)/txt2sword.Po ./$(DEPDIR)/vpl2mod.Po \
+@AMDEP_TRUE@ ./$(DEPDIR)/vs2osisref.Po ./$(DEPDIR)/xml2gbs.Po
COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
$(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
LTCOMPILE = $(LIBTOOL) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) \
@@ -284,7 +442,6 @@ LTCOMPILE = $(LIBTOOL) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) \
CCLD = $(CC)
LINK = $(LIBTOOL) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
$(AM_LDFLAGS) $(LDFLAGS) -o $@
-CFLAGS = @CFLAGS@
CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
$(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS)
LTCXXCOMPILE = $(LIBTOOL) --mode=compile $(CXX) $(DEFS) \
@@ -293,39 +450,71 @@ LTCXXCOMPILE = $(LIBTOOL) --mode=compile $(CXX) $(DEFS) \
CXXLD = $(CXX)
CXXLINK = $(LIBTOOL) --mode=link $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) \
$(AM_LDFLAGS) $(LDFLAGS) -o $@
-CXXFLAGS = @CXXFLAGS@
-DIST_SOURCES = $(addgb_SOURCES) $(addld_SOURCES) $(addvs_SOURCES) \
- $(cipherraw_SOURCES) $(ciphertest_SOURCES) \
- $(ciphertest2_SOURCES) $(emptyvss_SOURCES) $(imp2gbs_SOURCES) \
- $(imp2ld_SOURCES) $(imp2vs_SOURCES) $(lexdump_SOURCES) \
- $(mkfastmod_SOURCES) $(mod2vpl_SOURCES) $(mod2zmod_SOURCES) \
- $(modwrite_SOURCES) $(normcode_SOURCES) $(step2vpl_SOURCES) \
- $(stepdump_SOURCES) $(thml2gbs_SOURCES) $(txt2sword_SOURCES) \
- $(vpl2mod_SOURCES)
+DIST_SOURCES = $(addgb_SOURCES) $(am__addld_SOURCES_DIST) \
+ $(addvs_SOURCES) $(cipherraw_SOURCES) $(ciphertest_SOURCES) \
+ $(ciphertest2_SOURCES) $(emptyvss_SOURCES) $(gbfidx_SOURCES) \
+ $(imp2gbs_SOURCES) $(am__imp2ld_SOURCES_DIST) $(imp2vs_SOURCES) \
+ $(installmgr_SOURCES) $(lexdump_SOURCES) $(mkfastmod_SOURCES) \
+ $(mod2imp_SOURCES) $(mod2osis_SOURCES) $(mod2vpl_SOURCES) \
+ $(am__mod2zmod_SOURCES_DIST) $(modwrite_SOURCES) \
+ $(osis2mod_SOURCES) $(step2vpl_SOURCES) $(stepdump_SOURCES) \
+ $(thml2gbs_SOURCES) $(txt2sword_SOURCES) $(vpl2mod_SOURCES) \
+ $(vs2osisref_SOURCES) $(xml2gbs_SOURCES)
+
+RECURSIVE_TARGETS = info-recursive dvi-recursive pdf-recursive \
+ ps-recursive install-info-recursive uninstall-info-recursive \
+ all-recursive install-data-recursive install-exec-recursive \
+ installdirs-recursive install-recursive uninstall-recursive \
+ check-recursive installcheck-recursive
DIST_COMMON = Makefile.am Makefile.in
-SOURCES = $(addgb_SOURCES) $(addld_SOURCES) $(addvs_SOURCES) $(cipherraw_SOURCES) $(ciphertest_SOURCES) $(ciphertest2_SOURCES) $(emptyvss_SOURCES) $(imp2gbs_SOURCES) $(imp2ld_SOURCES) $(imp2vs_SOURCES) $(lexdump_SOURCES) $(mkfastmod_SOURCES) $(mod2vpl_SOURCES) $(mod2zmod_SOURCES) $(modwrite_SOURCES) $(normcode_SOURCES) $(step2vpl_SOURCES) $(stepdump_SOURCES) $(thml2gbs_SOURCES) $(txt2sword_SOURCES) $(vpl2mod_SOURCES)
+DIST_SUBDIRS = $(SUBDIRS)
+SOURCES = $(addgb_SOURCES) $(addld_SOURCES) $(addvs_SOURCES) $(cipherraw_SOURCES) $(ciphertest_SOURCES) $(ciphertest2_SOURCES) $(emptyvss_SOURCES) $(gbfidx_SOURCES) $(imp2gbs_SOURCES) $(imp2ld_SOURCES) $(imp2vs_SOURCES) $(installmgr_SOURCES) $(lexdump_SOURCES) $(mkfastmod_SOURCES) $(mod2imp_SOURCES) $(mod2osis_SOURCES) $(mod2vpl_SOURCES) $(mod2zmod_SOURCES) $(modwrite_SOURCES) $(osis2mod_SOURCES) $(step2vpl_SOURCES) $(stepdump_SOURCES) $(thml2gbs_SOURCES) $(txt2sword_SOURCES) $(vpl2mod_SOURCES) $(vs2osisref_SOURCES) $(xml2gbs_SOURCES)
-all: all-am
+all: all-recursive
.SUFFIXES:
.SUFFIXES: .c .cpp .lo .o .obj
-
-mostlyclean-libtool:
- -rm -f *.lo
-
-clean-libtool:
- -rm -rf .libs _libs
-
-distclean-libtool:
- -rm -f libtool
$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ Makefile.am $(top_srcdir)/configure.ac $(ACLOCAL_M4)
cd $(top_srcdir) && \
- $(AUTOMAKE) --gnu utilities/Makefile
+ $(AUTOMAKE) --foreign utilities/Makefile
Makefile: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.in $(top_builddir)/config.status
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)
+binPROGRAMS_INSTALL = $(INSTALL_PROGRAM)
+install-binPROGRAMS: $(bin_PROGRAMS)
+ @$(NORMAL_INSTALL)
+ $(mkinstalldirs) $(DESTDIR)$(bindir)
+ @list='$(bin_PROGRAMS)'; for p in $$list; do \
+ p1=`echo $$p|sed 's/$(EXEEXT)$$//'`; \
+ if test -f $$p \
+ || test -f $$p1 \
+ ; then \
+ f=`echo "$$p1" | sed 's,^.*/,,;$(transform);s/$$/$(EXEEXT)/'`; \
+ echo " $(INSTALL_PROGRAM_ENV) $(LIBTOOL) --mode=install $(binPROGRAMS_INSTALL) $$p $(DESTDIR)$(bindir)/$$f"; \
+ $(INSTALL_PROGRAM_ENV) $(LIBTOOL) --mode=install $(binPROGRAMS_INSTALL) $$p $(DESTDIR)$(bindir)/$$f || exit 1; \
+ else :; fi; \
+ done
+
+uninstall-binPROGRAMS:
+ @$(NORMAL_UNINSTALL)
+ @list='$(bin_PROGRAMS)'; for p in $$list; do \
+ f=`echo "$$p" | sed 's,^.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/'`; \
+ echo " rm -f $(DESTDIR)$(bindir)/$$f"; \
+ rm -f $(DESTDIR)$(bindir)/$$f; \
+ done
+
+clean-binPROGRAMS:
+ @list='$(bin_PROGRAMS)'; for p in $$list; do \
+ f=`echo $$p|sed 's/$(EXEEXT)$$//'`; \
+ echo " rm -f $$p $$f"; \
+ rm -f $$p $$f ; \
+ done
clean-noinstPROGRAMS:
- -test -z "$(noinst_PROGRAMS)" || rm -f $(noinst_PROGRAMS)
+ @list='$(noinst_PROGRAMS)'; for p in $$list; do \
+ f=`echo $$p|sed 's/$(EXEEXT)$$//'`; \
+ echo " rm -f $$p $$f"; \
+ rm -f $$p $$f ; \
+ done
addgb$(EXEEXT): $(addgb_OBJECTS) $(addgb_DEPENDENCIES)
@rm -f addgb$(EXEEXT)
$(CXXLINK) $(addgb_LDFLAGS) $(addgb_OBJECTS) $(addgb_LDADD) $(LIBS)
@@ -347,6 +536,9 @@ ciphertest2$(EXEEXT): $(ciphertest2_OBJECTS) $(ciphertest2_DEPENDENCIES)
emptyvss$(EXEEXT): $(emptyvss_OBJECTS) $(emptyvss_DEPENDENCIES)
@rm -f emptyvss$(EXEEXT)
$(CXXLINK) $(emptyvss_LDFLAGS) $(emptyvss_OBJECTS) $(emptyvss_LDADD) $(LIBS)
+gbfidx$(EXEEXT): $(gbfidx_OBJECTS) $(gbfidx_DEPENDENCIES)
+ @rm -f gbfidx$(EXEEXT)
+ $(CXXLINK) $(gbfidx_LDFLAGS) $(gbfidx_OBJECTS) $(gbfidx_LDADD) $(LIBS)
imp2gbs$(EXEEXT): $(imp2gbs_OBJECTS) $(imp2gbs_DEPENDENCIES)
@rm -f imp2gbs$(EXEEXT)
$(CXXLINK) $(imp2gbs_LDFLAGS) $(imp2gbs_OBJECTS) $(imp2gbs_LDADD) $(LIBS)
@@ -356,12 +548,21 @@ imp2ld$(EXEEXT): $(imp2ld_OBJECTS) $(imp2ld_DEPENDENCIES)
imp2vs$(EXEEXT): $(imp2vs_OBJECTS) $(imp2vs_DEPENDENCIES)
@rm -f imp2vs$(EXEEXT)
$(CXXLINK) $(imp2vs_LDFLAGS) $(imp2vs_OBJECTS) $(imp2vs_LDADD) $(LIBS)
+installmgr$(EXEEXT): $(installmgr_OBJECTS) $(installmgr_DEPENDENCIES)
+ @rm -f installmgr$(EXEEXT)
+ $(CXXLINK) $(installmgr_LDFLAGS) $(installmgr_OBJECTS) $(installmgr_LDADD) $(LIBS)
lexdump$(EXEEXT): $(lexdump_OBJECTS) $(lexdump_DEPENDENCIES)
@rm -f lexdump$(EXEEXT)
$(LINK) $(lexdump_LDFLAGS) $(lexdump_OBJECTS) $(lexdump_LDADD) $(LIBS)
mkfastmod$(EXEEXT): $(mkfastmod_OBJECTS) $(mkfastmod_DEPENDENCIES)
@rm -f mkfastmod$(EXEEXT)
$(CXXLINK) $(mkfastmod_LDFLAGS) $(mkfastmod_OBJECTS) $(mkfastmod_LDADD) $(LIBS)
+mod2imp$(EXEEXT): $(mod2imp_OBJECTS) $(mod2imp_DEPENDENCIES)
+ @rm -f mod2imp$(EXEEXT)
+ $(CXXLINK) $(mod2imp_LDFLAGS) $(mod2imp_OBJECTS) $(mod2imp_LDADD) $(LIBS)
+mod2osis$(EXEEXT): $(mod2osis_OBJECTS) $(mod2osis_DEPENDENCIES)
+ @rm -f mod2osis$(EXEEXT)
+ $(CXXLINK) $(mod2osis_LDFLAGS) $(mod2osis_OBJECTS) $(mod2osis_LDADD) $(LIBS)
mod2vpl$(EXEEXT): $(mod2vpl_OBJECTS) $(mod2vpl_DEPENDENCIES)
@rm -f mod2vpl$(EXEEXT)
$(CXXLINK) $(mod2vpl_LDFLAGS) $(mod2vpl_OBJECTS) $(mod2vpl_LDADD) $(LIBS)
@@ -371,9 +572,9 @@ mod2zmod$(EXEEXT): $(mod2zmod_OBJECTS) $(mod2zmod_DEPENDENCIES)
modwrite$(EXEEXT): $(modwrite_OBJECTS) $(modwrite_DEPENDENCIES)
@rm -f modwrite$(EXEEXT)
$(CXXLINK) $(modwrite_LDFLAGS) $(modwrite_OBJECTS) $(modwrite_LDADD) $(LIBS)
-normcode$(EXEEXT): $(normcode_OBJECTS) $(normcode_DEPENDENCIES)
- @rm -f normcode$(EXEEXT)
- $(CXXLINK) $(normcode_LDFLAGS) $(normcode_OBJECTS) $(normcode_LDADD) $(LIBS)
+osis2mod$(EXEEXT): $(osis2mod_OBJECTS) $(osis2mod_DEPENDENCIES)
+ @rm -f osis2mod$(EXEEXT)
+ $(CXXLINK) $(osis2mod_LDFLAGS) $(osis2mod_OBJECTS) $(osis2mod_LDADD) $(LIBS)
step2vpl$(EXEEXT): $(step2vpl_OBJECTS) $(step2vpl_DEPENDENCIES)
@rm -f step2vpl$(EXEEXT)
$(CXXLINK) $(step2vpl_LDFLAGS) $(step2vpl_OBJECTS) $(step2vpl_LDADD) $(LIBS)
@@ -389,6 +590,12 @@ txt2sword$(EXEEXT): $(txt2sword_OBJECTS) $(txt2sword_DEPENDENCIES)
vpl2mod$(EXEEXT): $(vpl2mod_OBJECTS) $(vpl2mod_DEPENDENCIES)
@rm -f vpl2mod$(EXEEXT)
$(CXXLINK) $(vpl2mod_LDFLAGS) $(vpl2mod_OBJECTS) $(vpl2mod_LDADD) $(LIBS)
+vs2osisref$(EXEEXT): $(vs2osisref_OBJECTS) $(vs2osisref_DEPENDENCIES)
+ @rm -f vs2osisref$(EXEEXT)
+ $(CXXLINK) $(vs2osisref_LDFLAGS) $(vs2osisref_OBJECTS) $(vs2osisref_LDADD) $(LIBS)
+xml2gbs$(EXEEXT): $(xml2gbs_OBJECTS) $(xml2gbs_DEPENDENCIES)
+ @rm -f xml2gbs$(EXEEXT)
+ $(CXXLINK) $(xml2gbs_LDFLAGS) $(xml2gbs_OBJECTS) $(xml2gbs_LDADD) $(LIBS)
mostlyclean-compile:
-rm -f *.$(OBJEXT) core *.core
@@ -403,66 +610,171 @@ distclean-compile:
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ciphertest.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ciphertest2.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/emptyvss.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gbfidx.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/imp2gbs.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/imp2ld.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/imp2vs.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/installmgr.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lexdump.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mkfastmod.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mod2imp.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mod2osis.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mod2vpl.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mod2zmod.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/modwrite.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/normcode.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/osis2mod.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/step2vpl.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/stepdump.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/thml2gbs.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/txt2sword.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/vpl2mod.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/vs2osisref.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xml2gbs.Po@am__quote@
distclean-depend:
-rm -rf ./$(DEPDIR)
.c.o:
-@AMDEP_TRUE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@ depfile='$(DEPDIR)/$*.Po' tmpdepfile='$(DEPDIR)/$*.TPo' @AMDEPBACKSLASH@
-@AMDEP_TRUE@ $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- $(COMPILE) -c `test -f $< || echo '$(srcdir)/'`$<
+@am__fastdepCC_TRUE@ if $(COMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" \
+@am__fastdepCC_TRUE@ -c -o $@ `test -f '$<' || echo '$(srcdir)/'`$<; \
+@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; \
+@am__fastdepCC_TRUE@ else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; \
+@am__fastdepCC_TRUE@ fi
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ depfile='$(DEPDIR)/$*.Po' tmpdepfile='$(DEPDIR)/$*.TPo' @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(COMPILE) -c `test -f '$<' || echo '$(srcdir)/'`$<
.c.obj:
-@AMDEP_TRUE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@ depfile='$(DEPDIR)/$*.Po' tmpdepfile='$(DEPDIR)/$*.TPo' @AMDEPBACKSLASH@
-@AMDEP_TRUE@ $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- $(COMPILE) -c `cygpath -w $<`
+@am__fastdepCC_TRUE@ if $(COMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" \
+@am__fastdepCC_TRUE@ -c -o $@ `if test -f '$<'; then $(CYGPATH_W) '$<'; else $(CYGPATH_W) '$(srcdir)/$<'; fi`; \
+@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; \
+@am__fastdepCC_TRUE@ else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; \
+@am__fastdepCC_TRUE@ fi
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ depfile='$(DEPDIR)/$*.Po' tmpdepfile='$(DEPDIR)/$*.TPo' @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(COMPILE) -c `if test -f '$<'; then $(CYGPATH_W) '$<'; else $(CYGPATH_W) '$(srcdir)/$<'; fi`
.c.lo:
-@AMDEP_TRUE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
-@AMDEP_TRUE@ depfile='$(DEPDIR)/$*.Plo' tmpdepfile='$(DEPDIR)/$*.TPlo' @AMDEPBACKSLASH@
-@AMDEP_TRUE@ $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- $(LTCOMPILE) -c -o $@ `test -f $< || echo '$(srcdir)/'`$<
-CCDEPMODE = @CCDEPMODE@
+@am__fastdepCC_TRUE@ if $(LTCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" \
+@am__fastdepCC_TRUE@ -c -o $@ `test -f '$<' || echo '$(srcdir)/'`$<; \
+@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Plo"; \
+@am__fastdepCC_TRUE@ else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; \
+@am__fastdepCC_TRUE@ fi
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ depfile='$(DEPDIR)/$*.Plo' tmpdepfile='$(DEPDIR)/$*.TPlo' @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(LTCOMPILE) -c -o $@ `test -f '$<' || echo '$(srcdir)/'`$<
.cpp.o:
-@AMDEP_TRUE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@ depfile='$(DEPDIR)/$*.Po' tmpdepfile='$(DEPDIR)/$*.TPo' @AMDEPBACKSLASH@
-@AMDEP_TRUE@ $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- $(CXXCOMPILE) -c -o $@ `test -f $< || echo '$(srcdir)/'`$<
+@am__fastdepCXX_TRUE@ if $(CXXCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" \
+@am__fastdepCXX_TRUE@ -c -o $@ `test -f '$<' || echo '$(srcdir)/'`$<; \
+@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; \
+@am__fastdepCXX_TRUE@ else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; \
+@am__fastdepCXX_TRUE@ fi
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ depfile='$(DEPDIR)/$*.Po' tmpdepfile='$(DEPDIR)/$*.TPo' @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCXX_FALSE@ $(CXXCOMPILE) -c -o $@ `test -f '$<' || echo '$(srcdir)/'`$<
.cpp.obj:
-@AMDEP_TRUE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@ depfile='$(DEPDIR)/$*.Po' tmpdepfile='$(DEPDIR)/$*.TPo' @AMDEPBACKSLASH@
-@AMDEP_TRUE@ $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- $(CXXCOMPILE) -c -o $@ `cygpath -w $<`
+@am__fastdepCXX_TRUE@ if $(CXXCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" \
+@am__fastdepCXX_TRUE@ -c -o $@ `if test -f '$<'; then $(CYGPATH_W) '$<'; else $(CYGPATH_W) '$(srcdir)/$<'; fi`; \
+@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; \
+@am__fastdepCXX_TRUE@ else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; \
+@am__fastdepCXX_TRUE@ fi
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ depfile='$(DEPDIR)/$*.Po' tmpdepfile='$(DEPDIR)/$*.TPo' @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCXX_FALSE@ $(CXXCOMPILE) -c -o $@ `if test -f '$<'; then $(CYGPATH_W) '$<'; else $(CYGPATH_W) '$(srcdir)/$<'; fi`
.cpp.lo:
-@AMDEP_TRUE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
-@AMDEP_TRUE@ depfile='$(DEPDIR)/$*.Plo' tmpdepfile='$(DEPDIR)/$*.TPlo' @AMDEPBACKSLASH@
-@AMDEP_TRUE@ $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- $(LTCXXCOMPILE) -c -o $@ `test -f $< || echo '$(srcdir)/'`$<
-CXXDEPMODE = @CXXDEPMODE@
+@am__fastdepCXX_TRUE@ if $(LTCXXCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" \
+@am__fastdepCXX_TRUE@ -c -o $@ `test -f '$<' || echo '$(srcdir)/'`$<; \
+@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Plo"; \
+@am__fastdepCXX_TRUE@ else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; \
+@am__fastdepCXX_TRUE@ fi
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ depfile='$(DEPDIR)/$*.Plo' tmpdepfile='$(DEPDIR)/$*.TPlo' @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCXX_FALSE@ $(LTCXXCOMPILE) -c -o $@ `test -f '$<' || echo '$(srcdir)/'`$<
+
+mostlyclean-libtool:
+ -rm -f *.lo
+
+clean-libtool:
+ -rm -rf .libs _libs
+
+distclean-libtool:
+ -rm -f libtool
uninstall-info-am:
+# This directory's subdirectories are mostly independent; you can cd
+# into them and run `make' without going through this Makefile.
+# To change the values of `make' variables: instead of editing Makefiles,
+# (1) if the variable is set in `config.status', edit `config.status'
+# (which will cause the Makefiles to be regenerated when you run `make');
+# (2) otherwise, pass the desired values on the `make' command line.
+$(RECURSIVE_TARGETS):
+ @set fnord $$MAKEFLAGS; amf=$$2; \
+ dot_seen=no; \
+ target=`echo $@ | sed s/-recursive//`; \
+ list='$(SUBDIRS)'; for subdir in $$list; do \
+ echo "Making $$target in $$subdir"; \
+ if test "$$subdir" = "."; then \
+ dot_seen=yes; \
+ local_target="$$target-am"; \
+ else \
+ local_target="$$target"; \
+ fi; \
+ (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
+ || case "$$amf" in *=*) exit 1;; *k*) fail=yes;; *) exit 1;; esac; \
+ done; \
+ if test "$$dot_seen" = "no"; then \
+ $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \
+ fi; test -z "$$fail"
+
+mostlyclean-recursive clean-recursive distclean-recursive \
+maintainer-clean-recursive:
+ @set fnord $$MAKEFLAGS; amf=$$2; \
+ dot_seen=no; \
+ case "$@" in \
+ distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \
+ *) list='$(SUBDIRS)' ;; \
+ esac; \
+ rev=''; for subdir in $$list; do \
+ if test "$$subdir" = "."; then :; else \
+ rev="$$subdir $$rev"; \
+ fi; \
+ done; \
+ rev="$$rev ."; \
+ target=`echo $@ | sed s/-recursive//`; \
+ for subdir in $$rev; do \
+ echo "Making $$target in $$subdir"; \
+ if test "$$subdir" = "."; then \
+ local_target="$$target-am"; \
+ else \
+ local_target="$$target"; \
+ fi; \
+ (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
+ || case "$$amf" in *=*) exit 1;; *k*) fail=yes;; *) exit 1;; esac; \
+ done && test -z "$$fail"
+tags-recursive:
+ list='$(SUBDIRS)'; for subdir in $$list; do \
+ test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \
+ done
+ctags-recursive:
+ list='$(SUBDIRS)'; for subdir in $$list; do \
+ test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \
+ done
+
ETAGS = etags
ETAGSFLAGS =
+CTAGS = ctags
+CTAGSFLAGS =
+
tags: TAGS
ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
@@ -474,10 +786,21 @@ ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
END { for (i in files) print i; }'`; \
mkid -fID $$unique
-TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
+TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
$(TAGS_FILES) $(LISP)
tags=; \
here=`pwd`; \
+ if (etags --etags-include --version) >/dev/null 2>&1; then \
+ include_option=--etags-include; \
+ else \
+ include_option=--include; \
+ fi; \
+ list='$(SUBDIRS)'; for subdir in $$list; do \
+ if test "$$subdir" = .; then :; else \
+ test -f $$subdir/TAGS && \
+ tags="$$tags $$include_option=$$here/$$subdir/TAGS"; \
+ fi; \
+ done; \
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
@@ -488,20 +811,41 @@ TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
|| $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
$$tags $$unique
+ctags: CTAGS
+CTAGS: ctags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
+ $(TAGS_FILES) $(LISP)
+ tags=; \
+ here=`pwd`; \
+ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
+ unique=`for i in $$list; do \
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+ done | \
+ $(AWK) ' { files[$$0] = 1; } \
+ END { for (i in files) print i; }'`; \
+ test -z "$(CTAGS_ARGS)$$tags$$unique" \
+ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
+ $$tags $$unique
+
GTAGS:
here=`$(am__cd) $(top_builddir) && pwd` \
&& cd $(top_srcdir) \
&& gtags -i $(GTAGS_ARGS) $$here
distclean-tags:
- -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH
+ -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
top_distdir = ..
distdir = $(top_distdir)/$(PACKAGE)-$(VERSION)
distdir: $(DISTFILES)
- @for file in $(DISTFILES); do \
+ @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
+ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
+ list='$(DISTFILES)'; for file in $$list; do \
+ case $$file in \
+ $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
+ $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \
+ esac; \
if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
if test "$$dir" != "$$file" && test "$$dir" != "."; then \
@@ -511,29 +855,45 @@ distdir: $(DISTFILES)
dir=''; \
fi; \
if test -d $$d/$$file; then \
- cp -pR $$d/$$file $(distdir)$$dir \
- || exit 1; \
+ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+ fi; \
+ cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
else \
test -f $(distdir)/$$file \
|| cp -p $$d/$$file $(distdir)/$$file \
|| exit 1; \
fi; \
done
+ list='$(SUBDIRS)'; for subdir in $$list; do \
+ if test "$$subdir" = .; then :; else \
+ test -d $(distdir)/$$subdir \
+ || mkdir $(distdir)/$$subdir \
+ || exit 1; \
+ (cd $$subdir && \
+ $(MAKE) $(AM_MAKEFLAGS) \
+ top_distdir="$(top_distdir)" \
+ distdir=../$(distdir)/$$subdir \
+ distdir) \
+ || exit 1; \
+ fi; \
+ done
check-am: all-am
-check: check-am
+check: check-recursive
all-am: Makefile $(PROGRAMS)
+installdirs: installdirs-recursive
+installdirs-am:
+ $(mkinstalldirs) $(DESTDIR)$(bindir)
-installdirs:
-
-install: install-am
-install-exec: install-exec-am
-install-data: install-data-am
-uninstall: uninstall-am
+install: install-recursive
+install-exec: install-exec-recursive
+install-data: install-data-recursive
+uninstall: uninstall-recursive
install-am: all-am
@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
-installcheck: installcheck-am
+installcheck: installcheck-recursive
install-strip:
$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
INSTALL_STRIP_FLAG=-s \
@@ -544,60 +904,78 @@ mostlyclean-generic:
clean-generic:
distclean-generic:
- -rm -f Makefile $(CONFIG_CLEAN_FILES) stamp-h stamp-h[0-9]*
+ -rm -f Makefile $(CONFIG_CLEAN_FILES)
maintainer-clean-generic:
@echo "This command is intended for maintainers to use"
@echo "it deletes files that may require special tools to rebuild."
-clean: clean-am
+clean: clean-recursive
-clean-am: clean-generic clean-libtool clean-noinstPROGRAMS \
- mostlyclean-am
+clean-am: clean-binPROGRAMS clean-generic clean-libtool \
+ clean-noinstPROGRAMS mostlyclean-am
-distclean: distclean-am
+distclean: distclean-recursive
distclean-am: clean-am distclean-compile distclean-depend \
distclean-generic distclean-libtool distclean-tags
-dvi: dvi-am
+dvi: dvi-recursive
dvi-am:
-info: info-am
+info: info-recursive
info-am:
install-data-am:
-install-exec-am:
+install-exec-am: install-binPROGRAMS
-install-info: install-info-am
+install-info: install-info-recursive
install-man:
installcheck-am:
-maintainer-clean: maintainer-clean-am
+maintainer-clean: maintainer-clean-recursive
maintainer-clean-am: distclean-am maintainer-clean-generic
-mostlyclean: mostlyclean-am
+mostlyclean: mostlyclean-recursive
mostlyclean-am: mostlyclean-compile mostlyclean-generic \
mostlyclean-libtool
-uninstall-am: uninstall-info-am
+pdf: pdf-recursive
+
+pdf-am:
+
+ps: ps-recursive
+
+ps-am:
+
+uninstall-am: uninstall-binPROGRAMS uninstall-info-am
+
+uninstall-info: uninstall-info-recursive
-.PHONY: GTAGS all all-am check check-am clean clean-generic \
- clean-libtool clean-noinstPROGRAMS distclean distclean-compile \
- distclean-depend distclean-generic distclean-libtool \
- distclean-tags distdir dvi dvi-am info info-am install \
- install-am install-data install-data-am install-exec \
- install-exec-am install-info install-info-am install-man \
+.PHONY: $(RECURSIVE_TARGETS) CTAGS GTAGS all all-am check check-am clean \
+ clean-binPROGRAMS clean-generic clean-libtool \
+ clean-noinstPROGRAMS clean-recursive ctags ctags-recursive \
+ distclean distclean-compile distclean-depend distclean-generic \
+ distclean-libtool distclean-recursive distclean-tags distdir \
+ dvi dvi-am dvi-recursive info info-am info-recursive install \
+ install-am install-binPROGRAMS install-data install-data-am \
+ install-data-recursive install-exec install-exec-am \
+ install-exec-recursive install-info install-info-am \
+ install-info-recursive install-man install-recursive \
install-strip installcheck installcheck-am installdirs \
- maintainer-clean maintainer-clean-generic mostlyclean \
+ installdirs-am installdirs-recursive maintainer-clean \
+ maintainer-clean-generic maintainer-clean-recursive mostlyclean \
mostlyclean-compile mostlyclean-generic mostlyclean-libtool \
- tags uninstall uninstall-am uninstall-info-am
+ mostlyclean-recursive pdf pdf-am pdf-recursive ps ps-am \
+ ps-recursive tags tags-recursive uninstall uninstall-am \
+ uninstall-binPROGRAMS uninstall-info-am \
+ uninstall-info-recursive uninstall-recursive
# Tell versions [3.59,3.63) of GNU make to not export all variables.
# Otherwise a system limit (for SysV at least) may be exceeded.
diff --git a/utilities/addcomment.cpp b/utilities/addcomment.cpp
index 00aa6a8..11efe8a 100644
--- a/utilities/addcomment.cpp
+++ b/utilities/addcomment.cpp
@@ -1,5 +1,5 @@
#include <stdio.h>
-#include <iostream.h>
+#include <iostream>
#include <versekey.h>
#include <rawtext.h>
#include <zcom.h>
@@ -27,7 +27,7 @@ int main(int argc, char **argv)
mykey = argv[2];
mykey.Persist(1);
- personal.SetKey(mykey);
+ personal.setKey(mykey);
max = (argc < 4) ? 1 : atoi(argv[3]);
@@ -35,6 +35,6 @@ int main(int argc, char **argv)
personal << argv[1];
mykey++;
}
- cout << "Added Comment\n";
+ std::cout << "Added Comment" << std::endl;
return 0;
}
diff --git a/utilities/addgb.cpp b/utilities/addgb.cpp
index 5925ae0..034dc5e 100644
--- a/utilities/addgb.cpp
+++ b/utilities/addgb.cpp
@@ -1,148 +1,155 @@
-#include <ctype.h>
-#include <stdio.h>
-#include <fcntl.h>
-#include <errno.h>
-#include <stdlib.h>
-
-#ifndef __GNUC__
-#include <io.h>
-#else
-#include <unistd.h>
-#endif
-
-#include <entriesblk.h>
-#include <iostream.h>
-#include <string>
-#include <stdio.h>
-#include <treekeyidx.h>
-#include <rawgenbook.h>
-
-#ifndef O_BINARY
-#define O_BINARY 0
-#endif
-
-void printTree(TreeKeyIdx treeKey, TreeKeyIdx *target = 0, int level = 1) {
- if (!target)
- target = &treeKey;
-
- unsigned long currentOffset = target->getOffset();
- cout << ((currentOffset == treeKey.getOffset()) ? "==>" : "");
- for (int i = 0; i < level; i++) cout << "\t";
- cout << treeKey.getLocalName() << "/\n";
- if (treeKey.firstChild()) {
- printTree(treeKey, target, level+1);
- treeKey.parent();
- }
- if (treeKey.nextSibling())
- printTree(treeKey, target, level);
-
-}
-
-
-int main(int argc, char **argv) {
-
- const char * helptext ="addgb 1.0 General Book module creation tool for the SWORD Project\nUse -a to add a new leaf entry from standard input or a file\n usage:\n %s -a <filename> <key> [</path/to/file/with/entry>]\n";
-
- // const char * helptext ="addgb 1.0 General Book module creation tool for the SWORD Project\nUse -a to add a new leaf entry from standard input or a file, -d to delete an\nentry, -l to link two leaf entries.\n usage:\n %s -a <filename> <key> [</path/to/file/with/entry>]\n %s -d <filename> <key>\n %s -l <filename> <first key (already assigned)> <second key>\n";
-
- char mode;
- unsigned long entrysize;
-
- if (argc < 3) {
- fprintf(stderr, helptext, argv[0]);
- exit(-1);
- }
-
- mode = argv[1][1];
-
- // Do some initialization stuff
- TreeKeyIdx *treeKey = new TreeKeyIdx(argv[2]);
- if (treeKey->Error()) {
- treeKey->create(argv[2]);
- delete treeKey;
- treeKey = new TreeKeyIdx(argv[2]);
- RawGenBook::createModule(argv[2]);
- }
- delete treeKey;
- RawGenBook *book = new RawGenBook(argv[2]);
- TreeKeyIdx root = *((TreeKeyIdx *)((SWKey *)(*book)));
- treeKey = (TreeKeyIdx *)(SWKey *)(*book);
-
- if ((mode == 'a') && (argc == 4 || argc == 5)) {
- char buffer[1048576]; //this is the max size of any entry
-
- char* tok = strtok(argv[3], "/");
- while (tok) {
- bool foundkey = false;
- if (treeKey->hasChildren()) {
- treeKey->firstChild();
- if (!strcmp(treeKey->getLocalName(), tok)) {
- foundkey = true;
- } else {
- while (treeKey->nextSibling()) {
- if (treeKey->getLocalName()) {
- if (!strcmp(treeKey->getLocalName(), tok)) {
- foundkey = true;
- }
- }
- }
- }
- if (!foundkey) {
- treeKey->append();
- treeKey->setLocalName(tok);
- treeKey->save();
- }
- }
- else {
- treeKey->appendChild();
- treeKey->setLocalName(tok);
- treeKey->save();
- }
-
- //DEBUG cout << treeKey->getLocalName() << " : " << tok << endl;
-
- tok = strtok(NULL, "/");
-
- }
-
- FILE *infile;
- // case: add from text file
- //Open our data file and read its contents into the buffer
- if (argc == 5) infile = fopen(argv[4], "r");
- // case: add from stdin
- else infile = stdin;
-
- entrysize = fread(buffer, sizeof(char), sizeof(buffer), infile);
- book->setentry(buffer, entrysize); // save text to module at current position
- }
-
- /*
- // let's pretend these don't exist for the time being
-
- // Link 2 verses
- else if ((mode == 'l') && argc == 5) {
- *key = argv[3];
- mod.SetKey(*key);
-
- SWKey tmpkey = argv[4];
- mod << &(tmpkey);
- }
-
- // Delete an entry
- else if ((mode == 'd') && argc == 4) {
- mod.SetKey(argv[3]);
- mod.deleteEntry();
- }
- */
- // Bad arguments, print usage
- else {
- fprintf(stderr, helptext, argv[0]);
- exit(-1);
- }
-
- //DEBUG printTree(root, treeKey);
-
- delete treeKey;
- delete book;
- return 0;
-}
+#include <ctype.h>
+#include <stdio.h>
+#include <fcntl.h>
+#include <errno.h>
+#include <stdlib.h>
+
+#ifndef __GNUC__
+#include <io.h>
+#else
+#include <unistd.h>
+#endif
+
+#include <entriesblk.h>
+#include <iostream>
+#include <string>
+#include <stdio.h>
+#include <treekeyidx.h>
+#include <rawgenbook.h>
+
+#ifndef O_BINARY
+#define O_BINARY 0
+#endif
+
+#ifndef NO_SWORD_NAMESPACE
+using sword::TreeKeyIdx;
+using sword::RawGenBook;
+using sword::SWKey;
+#endif
+
+
+void printTree(TreeKeyIdx treeKey, TreeKeyIdx *target = 0, int level = 1) {
+ if (!target)
+ target = &treeKey;
+
+ unsigned long currentOffset = target->getOffset();
+ std::cout << ((currentOffset == treeKey.getOffset()) ? "==>" : "");
+ for (int i = 0; i < level; i++) std::cout << "\t";
+ std::cout << treeKey.getLocalName() << "/\n";
+ if (treeKey.firstChild()) {
+ printTree(treeKey, target, level+1);
+ treeKey.parent();
+ }
+ if (treeKey.nextSibling())
+ printTree(treeKey, target, level);
+
+}
+
+
+int main(int argc, char **argv) {
+
+ const char * helptext ="addgb 1.0 General Book module creation tool for the SWORD Project\nUse -a to add a new leaf entry from standard input or a file\n usage:\n %s -a <filename> <key> [</path/to/file/with/entry>]\n";
+
+ // const char * helptext ="addgb 1.0 General Book module creation tool for the SWORD Project\nUse -a to add a new leaf entry from standard input or a file, -d to delete an\nentry, -l to link two leaf entries.\n usage:\n %s -a <filename> <key> [</path/to/file/with/entry>]\n %s -d <filename> <key>\n %s -l <filename> <first key (already assigned)> <second key>\n";
+
+ char mode;
+ unsigned long entrysize;
+
+ if (argc < 3) {
+ fprintf(stderr, helptext, argv[0]);
+ exit(-1);
+ }
+
+ mode = argv[1][1];
+
+ // Do some initialization stuff
+ TreeKeyIdx *treeKey = new TreeKeyIdx(argv[2]);
+ if (treeKey->Error()) {
+ treeKey->create(argv[2]);
+ delete treeKey;
+ treeKey = new TreeKeyIdx(argv[2]);
+ RawGenBook::createModule(argv[2]);
+ }
+ delete treeKey;
+ RawGenBook *book = new RawGenBook(argv[2]);
+ TreeKeyIdx root = *((TreeKeyIdx *)((SWKey *)(*book)));
+ treeKey = (TreeKeyIdx *)(SWKey *)(*book);
+
+ if ((mode == 'a') && (argc == 4 || argc == 5)) {
+ char buffer[1048576]; //this is the max size of any entry
+
+ char* tok = strtok(argv[3], "/");
+ while (tok) {
+ bool foundkey = false;
+ if (treeKey->hasChildren()) {
+ treeKey->firstChild();
+ if (!strcmp(treeKey->getLocalName(), tok)) {
+ foundkey = true;
+ } else {
+ while (treeKey->nextSibling()) {
+ if (treeKey->getLocalName()) {
+ if (!strcmp(treeKey->getLocalName(), tok)) {
+ foundkey = true;
+ }
+ }
+ }
+ }
+ if (!foundkey) {
+ treeKey->append();
+ treeKey->setLocalName(tok);
+ treeKey->save();
+ }
+ }
+ else {
+ treeKey->appendChild();
+ treeKey->setLocalName(tok);
+ treeKey->save();
+ }
+
+ //DEBUG std::cout << treeKey->getLocalName() << " : " << tok << endl;
+
+ tok = strtok(NULL, "/");
+
+ }
+
+ FILE *infile;
+ // case: add from text file
+ //Open our data file and read its contents into the buffer
+ if (argc == 5) infile = fopen(argv[4], "r");
+ // case: add from stdin
+ else infile = stdin;
+
+ entrysize = fread(buffer, sizeof(char), sizeof(buffer), infile);
+ book->setEntry(buffer, entrysize); // save text to module at current position
+ }
+
+ /*
+ // let's pretend these don't exist for the time being
+
+ // Link 2 verses
+ else if ((mode == 'l') && argc == 5) {
+ *key = argv[3];
+ mod.setKey(*key);
+
+ SWKey tmpkey = argv[4];
+ mod << &(tmpkey);
+ }
+
+ // Delete an entry
+ else if ((mode == 'd') && argc == 4) {
+ mod.setKey(argv[3]);
+ mod.deleteEntry();
+ }
+ */
+ // Bad arguments, print usage
+ else {
+ fprintf(stderr, helptext, argv[0]);
+ exit(-1);
+ }
+
+ //DEBUG printTree(root, treeKey);
+
+ delete treeKey;
+ delete book;
+ return 0;
+}
diff --git a/utilities/addld.cpp b/utilities/addld.cpp
index 0c38296..0171445 100644
--- a/utilities/addld.cpp
+++ b/utilities/addld.cpp
@@ -15,8 +15,15 @@
#include <rawld4.h>
#include <zld.h>
#include <zipcomprs.h>
-#include <iostream.h>
+#ifndef NO_SWORD_NAMESPACE
+using sword::SWMgr;
+using sword::ZipCompress;
+using sword::RawLD4;
+using sword::SWKey;
+using sword::zLD;
+using sword::RawLD;
+#endif
#ifndef O_BINARY
#define O_BINARY 0
@@ -59,7 +66,7 @@ int main(int argc, char **argv) {
// Set our VerseKey
*key = argv[3];
- mod.SetKey(*key);
+ mod.setKey(*key);
FILE *infile;
// case: add from text file
//Open our data file and read its contents into the buffer
@@ -68,7 +75,7 @@ int main(int argc, char **argv) {
else infile = stdin;
entrysize = fread(buffer, sizeof(char), sizeof(buffer), infile);
- mod.setentry(buffer, entrysize); // save text to module at current position
+ mod.setEntry(buffer, entrysize); // save text to module at current position
}
else if (compress) {
char buffer[1048576]; //this is the max size of any entry
@@ -78,7 +85,7 @@ int main(int argc, char **argv) {
// Set our VerseKey
*key = argv[3];
- mod.SetKey(*key);
+ mod.setKey(*key);
FILE *infile;
// case: add from text file
//Open our data file and read its contents into the buffer
@@ -87,7 +94,7 @@ int main(int argc, char **argv) {
else infile = stdin;
entrysize = fread(buffer, sizeof(char), sizeof(buffer), infile);
- mod.setentry(buffer, entrysize); // save text to module at current position
+ mod.setEntry(buffer, entrysize); // save text to module at current position
}
else {
char buffer[65536]; //this is the max size of any entry
@@ -97,7 +104,7 @@ int main(int argc, char **argv) {
// Set our VerseKey
*key = argv[3];
- mod.SetKey(*key);
+ mod.setKey(*key);
FILE *infile;
// case: add from text file
//Open our data file and read its contents into the buffer
@@ -106,7 +113,7 @@ int main(int argc, char **argv) {
else infile = stdin;
entrysize = fread(buffer, sizeof(char), sizeof(buffer), infile);
- mod.setentry(buffer, entrysize); // save text to module at current position
+ mod.setEntry(buffer, entrysize); // save text to module at current position
}
}
@@ -119,7 +126,7 @@ int main(int argc, char **argv) {
key->Persist(1); // the magical setting
*key = argv[3];
- mod.SetKey(*key);
+ mod.setKey(*key);
SWKey tmpkey = argv[4];
mod << &(tmpkey);
}
@@ -129,7 +136,7 @@ int main(int argc, char **argv) {
key->Persist(1); // the magical setting
*key = argv[3];
- mod.SetKey(*key);
+ mod.setKey(*key);
SWKey tmpkey = argv[4];
mod << &(tmpkey);
@@ -140,7 +147,7 @@ int main(int argc, char **argv) {
key->Persist(1); // the magical setting
*key = argv[3];
- mod.SetKey(*key);
+ mod.setKey(*key);
SWKey tmpkey = argv[4];
mod << &(tmpkey);
@@ -149,17 +156,17 @@ int main(int argc, char **argv) {
else if ((mode == 'd') && argc == 4) {
if (fourbyte) {
RawLD4 mod(argv[2]); // open our datapath with our RawText driver.
- mod.SetKey(argv[3]);
+ mod.setKey(argv[3]);
mod.deleteEntry();
}
if (compress) {
zLD mod(argv[2]); // open our datapath with our RawText driver.
- mod.SetKey(argv[3]);
+ mod.setKey(argv[3]);
mod.deleteEntry();
}
else {
RawLD mod(argv[2]); // open our datapath with our RawText driver.
- mod.SetKey(argv[3]);
+ mod.setKey(argv[3]);
mod.deleteEntry();
}
diff --git a/utilities/addvs.cpp b/utilities/addvs.cpp
index b8c8cc2..b736c00 100644
--- a/utilities/addvs.cpp
+++ b/utilities/addvs.cpp
@@ -12,8 +12,16 @@
#include <swmgr.h>
#include <rawtext.h>
-#include <iostream.h>
+#include <iostream>
+#ifndef NO_SWORD_NAMESPACE
+using sword::SWMgr;
+using sword::RawText;
+using sword::SWKey;
+using sword::VerseKey;
+using sword::ListKey;
+using sword::SWModule;
+#endif
#ifndef O_BINARY
#define O_BINARY 0
@@ -39,7 +47,7 @@ int main(int argc, char **argv) {
vkey->Persist(1); // the magical setting
*vkey = argv[3];
// Set our VerseKey
- mod->SetKey(*vkey);
+ mod->setKey(*vkey);
if (!vkey->Chapter()) {
// bad hack >>
// 0:0 is Book intro
@@ -61,7 +69,7 @@ int main(int argc, char **argv) {
entrysize = fread(buffer, sizeof(char), sizeof(buffer), infile);
- mod->setentry(buffer, entrysize); // save text to module at current position
+ mod->setEntry(buffer, entrysize); // save text to module at current position
}
else {
ListKey listkey = vkey->ParseVerseList(argv[3], "Gen1:1", true);
@@ -73,7 +81,7 @@ int main(int argc, char **argv) {
if (element) {
mod->Key(element->LowerBound());
VerseKey finalkey = element->UpperBound();
- cout << (const char*)mod->Key() << "-" << (const char*)finalkey << endl;
+ std::cout << (const char*)mod->Key() << "-" << (const char*)finalkey << std::endl;
if (!havefirst) {
havefirst = true;
firstverse = mod->Key();
@@ -86,12 +94,12 @@ int main(int argc, char **argv) {
entrysize = fread(buffer, sizeof(char), sizeof(buffer), infile);
- ((SWModule*)mod)->setentry(buffer, entrysize); // save text to module at current position
- cout << "f" << (const char*)firstverse << endl;
+ mod->setEntry(buffer, entrysize); // save text to module at current position
+ std::cout << "f" << (const char*)firstverse << std::endl;
(*mod)++;
}
while (mod->Key() <= finalkey) {
- cout << (const char*)mod->Key() << endl;
+ std::cout << (const char*)mod->Key() << std::endl;
*(SWModule*)mod << &firstverse;
(*mod)++;
}
@@ -100,7 +108,7 @@ int main(int argc, char **argv) {
if (havefirst) {
mod->Key(*listkey.GetElement(i));
*(SWModule*)mod << &firstverse;
- cout << (const char*)mod->Key() << endl;
+ std::cout << (const char*)mod->Key() << std::endl;
}
else {
mod->Key(*listkey.GetElement(i));
@@ -115,8 +123,8 @@ int main(int argc, char **argv) {
entrysize = fread(buffer, sizeof(char), sizeof(buffer), infile);
- ((SWModule*)mod)->setentry(buffer, entrysize); // save text to module at current position
- cout << "f" << (const char*)firstverse << endl;
+ mod->setEntry(buffer, entrysize); // save text to module at current position
+ std::cout << "f" << (const char*)firstverse << std::endl;
}
}
}
@@ -128,7 +136,7 @@ int main(int argc, char **argv) {
// Do some initialization stuff
RawText *mod = new RawText(argv[2]); // open our datapath with our RawText driver.
- mod->SetKey(argv[4]); // set key from argument
+ mod->setKey(argv[4]); // set key from argument
SWKey tmpkey = (SWKey) argv[3];
*(SWModule*)mod << &(tmpkey);
delete mod;
@@ -142,7 +150,7 @@ int main(int argc, char **argv) {
vkey->Persist(1); // the magical setting
// Set our VerseKey
- mod.SetKey(*vkey);
+ mod.setKey(*vkey);
*vkey = argv[3];
if (!vkey->Chapter())
diff --git a/utilities/bcppmake/cipherraw.bpf b/utilities/bcppmake/cipherraw.bpf
new file mode 100644
index 0000000..867cb31
--- /dev/null
+++ b/utilities/bcppmake/cipherraw.bpf
@@ -0,0 +1,9 @@
+USEUNIT("..\cipherraw.cpp");
+USELIB("..\..\..\icu-sword\as_is\borland\icuin.lib");
+USELIB("..\..\..\icu-sword\as_is\borland\icudatab.lib");
+USELIB("..\..\..\icu-sword\as_is\borland\icuuc.lib");
+USELIB("..\..\lib\libsword.lib");
+//---------------------------------------------------------------------------
+This file is used by the project manager only and should be treated like the project file
+
+ main \ No newline at end of file
diff --git a/utilities/bcppmake/cipherraw.bpr b/utilities/bcppmake/cipherraw.bpr
new file mode 100644
index 0000000..03d9b88
--- /dev/null
+++ b/utilities/bcppmake/cipherraw.bpr
@@ -0,0 +1,123 @@
+<?xml version='1.0' encoding='utf-8' ?>
+<!-- C++Builder XML Project -->
+<PROJECT>
+ <MACROS>
+ <VERSION value="BCB.05.03"/>
+ <PROJECT value="cipherraw.exe"/>
+ <OBJFILES value="..\cipherraw.obj"/>
+ <RESFILES value=""/>
+ <IDLFILES value=""/>
+ <IDLGENFILES value=""/>
+ <DEFFILE value=""/>
+ <RESDEPEN value="$(RESFILES)"/>
+ <LIBFILES value="..\..\..\icu-sword\as_is\borland\icuin.lib
+ ..\..\..\icu-sword\as_is\borland\icudatab.lib
+ ..\..\..\icu-sword\as_is\borland\icuuc.lib ..\..\lib\libsword.lib"/>
+ <LIBRARIES value=""/>
+ <SPARELIBS value=""/>
+ <PACKAGES value="VCL50.bpi VCLX50.bpi bcbsmp50.bpi QRPT50.bpi VCLDB50.bpi VCLBDE50.bpi
+ ibsmp50.bpi VCLDBX50.bpi TEEUI50.bpi TEEDB50.bpi TEE50.bpi TEEQR50.bpi
+ VCLIB50.bpi bcbie50.bpi VCLIE50.bpi INETDB50.bpi INET50.bpi NMFAST50.bpi
+ dclocx50.bpi bcb2kaxserver50.bpi"/>
+ <PATHCPP value=".;.."/>
+ <PATHPAS value=".;"/>
+ <PATHRC value=".;"/>
+ <PATHASM value=".;"/>
+ <DEBUGLIBPATH value="$(BCB)\lib\debug"/>
+ <RELEASELIBPATH value="$(BCB)\lib\release"/>
+ <LINKER value="tlink32"/>
+ <USERDEFINES value="_ICU_;_ICUSWORD_;USBINARY"/>
+ <SYSDEFINES value="NO_STRICT;_NO_VCL"/>
+ <MAINSOURCE value="cipherraw.bpf"/>
+ <INCLUDEPATH value="..\;..;..\..\include;$(BCB)\include;$(BCB)\include\vcl"/>
+ <LIBPATH value="..\;..;..\..\lib;$(BCB)\lib\obj;$(BCB)\lib"/>
+ <WARNINGS value="-w-par"/>
+ </MACROS>
+ <OPTIONS>
+ <IDLCFLAGS value="-I..\. -I.. -I..\..\include -I$(BCB)\include -I$(BCB)\include\vcl
+ -src_suffix cpp -D_ICU_ -D_ICUSWORD_ -DUSBINARY -boa"/>
+ <CFLAG1 value="-O2 -H=$(BCB)\lib\vcl50.csm -Hc -Vx -Ve -X- -a8 -b- -k- -vi -tWC -tWM -c"/>
+ <PFLAGS value="-$Y- -$L- -$D- -v -JPHNE -M"/>
+ <RFLAGS value=""/>
+ <AFLAGS value="/mx /w2 /zn"/>
+ <LFLAGS value="-D&quot;&quot; -S:0x300000 -Sc:0x20000 -ap -Tpe -x -Gn"/>
+ </OPTIONS>
+ <LINKER>
+ <ALLOBJ value="c0x32.obj $(OBJFILES)"/>
+ <ALLRES value="$(RESFILES)"/>
+ <ALLLIB value="$(LIBFILES) $(LIBRARIES) import32.lib cw32mt.lib"/>
+ </LINKER>
+ <IDEOPTIONS>
+[Version Info]
+IncludeVerInfo=0
+AutoIncBuild=0
+MajorVer=1
+MinorVer=0
+Release=0
+Build=0
+Debug=0
+PreRelease=0
+Special=0
+Private=0
+DLL=0
+Locale=1033
+CodePage=1252
+
+[Version Info Keys]
+CompanyName=
+FileDescription=
+FileVersion=1.0.0.0
+InternalName=
+LegalCopyright=
+LegalTrademarks=
+OriginalFilename=
+ProductName=
+ProductVersion=1.0.0.0
+Comments=
+
+[HistoryLists\hlIncludePath]
+Count=4
+Item0=..\;..;..\..\include;$(BCB)\include;$(BCB)\include\vcl
+Item1=..\;..\..\utilities;..\..\include;$(BCB)\include;$(BCB)\include\vcl
+Item2=..;..\..\include;$(BCB)\include;$(BCB)\include\vcl
+Item3=..\..\utilities;$(BCB)\include;$(BCB)\include\vcl
+
+[HistoryLists\hlLibraryPath]
+Count=5
+Item0=..\;..;..\..\lib;$(BCB)\lib\obj;$(BCB)\lib
+Item1=..;..\..\lib;$(BCB)\lib\obj;$(BCB)\lib
+Item2=..\;..;$(BCB)\lib\obj;$(BCB)\lib
+Item3=..\;..\..\utilities;$(BCB)\lib\obj;$(BCB)\lib
+Item4=..\..\utilities;$(BCB)\lib\obj;$(BCB)\lib
+
+[HistoryLists\hlDebugSourcePath]
+Count=1
+Item0=$(BCB)\source\vcl
+
+[HistoryLists\hlConditionals]
+Count=3
+Item0=_ICU_;_ICUSWORD_;USBINARY
+Item1=_ICU_;_ICUSWORD_
+Item2=_DEBUG
+
+[Debugging]
+DebugSourceDirs=$(BCB)\source\vcl
+
+[Parameters]
+RunParams=
+HostApplication=
+RemoteHost=
+RemotePath=
+RemoteDebug=0
+
+[Compiler]
+ShowInfoMsgs=0
+LinkDebugVcl=0
+LinkCGLIB=0
+
+[Language]
+ActiveLang=
+ProjectLang=
+RootDir=
+ </IDEOPTIONS>
+</PROJECT> \ No newline at end of file
diff --git a/utilities/bcppmake/diatheke.bpf b/utilities/bcppmake/diatheke.bpf
index d80339c..8d4f0ae 100644
--- a/utilities/bcppmake/diatheke.bpf
+++ b/utilities/bcppmake/diatheke.bpf
@@ -1,5 +1,13 @@
USEUNIT("..\..\apps\console\diatheke\diatheke.cpp");
-USELIB("libsword.lib");
+USEUNIT("..\..\apps\console\diatheke\thmlcgi.cpp");
+USEUNIT("..\..\apps\console\diatheke\corediatheke.cpp");
+USEUNIT("..\..\apps\console\diatheke\diafiltmgr.cpp");
+USEUNIT("..\..\apps\console\diatheke\diathekemgr.cpp");
+USEUNIT("..\..\apps\console\diatheke\gbfcgi.cpp");
+USELIB("..\..\lib\libsword.lib");
+USELIB("..\..\..\icu-sword\as_is\borland\icuin.lib");
+USELIB("..\..\..\icu-sword\as_is\borland\icuuc.lib");
+USELIB("..\..\..\icu-sword\as_is\borland\icudatab.lib");
//---------------------------------------------------------------------------
This file is used by the project manager only and should be treated like the project file
diff --git a/utilities/bcppmake/diatheke.bpr b/utilities/bcppmake/diatheke.bpr
index 0096a79..e13aa86 100644
--- a/utilities/bcppmake/diatheke.bpr
+++ b/utilities/bcppmake/diatheke.bpr
@@ -4,11 +4,20 @@
<MACROS>
<VERSION value="BCB.05.03"/>
<PROJECT value="diatheke.exe"/>
- <OBJFILES value="..\..\apps\console\diatheke\diatheke.obj"/>
+ <OBJFILES value="..\..\apps\console\diatheke\diatheke.obj
+ ..\..\apps\console\diatheke\thmlcgi.obj
+ ..\..\apps\console\diatheke\corediatheke.obj
+ ..\..\apps\console\diatheke\diafiltmgr.obj
+ ..\..\apps\console\diatheke\diathekemgr.obj
+ ..\..\apps\console\diatheke\gbfcgi.obj"/>
<RESFILES value=""/>
+ <IDLFILES value=""/>
+ <IDLGENFILES value=""/>
<DEFFILE value=""/>
<RESDEPEN value="$(RESFILES)"/>
- <LIBFILES value="libsword.lib"/>
+ <LIBFILES value="..\..\lib\libsword.lib ..\..\..\icu-sword\as_is\borland\icuin.lib
+ ..\..\..\icu-sword\as_is\borland\icuuc.lib
+ ..\..\..\icu-sword\as_is\borland\icudatab.lib"/>
<LIBRARIES value=""/>
<SPARELIBS value=""/>
<PACKAGES value="VCL50.bpi VCLX50.bpi bcbsmp50.bpi QRPT50.bpi VCLDB50.bpi VCLBDE50.bpi
@@ -22,20 +31,21 @@
<DEBUGLIBPATH value="$(BCB)\lib\debug"/>
<RELEASELIBPATH value="$(BCB)\lib\release"/>
<LINKER value="tlink32"/>
- <USERDEFINES value="_DEBUG"/>
+ <USERDEFINES value=""/>
<SYSDEFINES value="NO_STRICT;_NO_VCL;_RTLDLL;USEPACKAGES"/>
<MAINSOURCE value="diatheke.bpf"/>
<INCLUDEPATH value="..\..\apps\console\diatheke;$(BCB)\include;$(BCB)\include\vcl;..\..\include"/>
- <LIBPATH value="..\..\apps\console\diatheke;$(BCB)\lib\obj;$(BCB)\lib"/>
+ <LIBPATH value="..\..\apps\console\diatheke;..\..\lib;$(BCB)\lib\obj;$(BCB)\lib"/>
<WARNINGS value="-w-par"/>
</MACROS>
<OPTIONS>
- <CFLAG1 value="-Od -H=$(BCB)\lib\vcl50.csm -Hc -Vx -Ve -X- -r- -a8 -b- -k -y -v -vi- -tWC
- -tWM -c"/>
- <PFLAGS value="-$YD -$W -$O- -v -JPHNE -M"/>
+ <IDLCFLAGS value="-I..\..\apps\console\diatheke -I$(BCB)\include -I$(BCB)\include\vcl
+ -I..\..\include -src_suffix cpp -D_DEBUG -boa"/>
+ <CFLAG1 value="-O2 -H=$(BCB)\lib\vcl50.csm -Hc -Vx -Ve -X- -a8 -b- -k- -vi -tWC -tWM -c"/>
+ <PFLAGS value="-$Y- -$L- -$D- -v -JPHNE -M"/>
<RFLAGS value=""/>
- <AFLAGS value="/mx /w2 /zd"/>
- <LFLAGS value="-D&quot;&quot; -ap -Tpe -x -Gn -v"/>
+ <AFLAGS value="/mx /w2 /zn"/>
+ <LFLAGS value="-D&quot;&quot; -ap -Tpe -x -Gn"/>
</OPTIONS>
<LINKER>
<ALLOBJ value="c0x32.obj $(PACKAGES) $(OBJFILES)"/>
@@ -71,13 +81,15 @@ ProductVersion=1.0.0.0
Comments=
[HistoryLists\hlIncludePath]
-Count=2
-Item0=..\..\apps\console\diatheke;$(BCB)\include;$(BCB)\include\vcl;..\..\include\
-Item1=..\..\apps\console\diatheke;$(BCB)\include;$(BCB)\include\vcl
+Count=3
+Item0=..\..\apps\console\diatheke;$(BCB)\include;$(BCB)\include\vcl;..\..\include
+Item1=..\..\apps\console\diatheke;$(BCB)\include;$(BCB)\include\vcl;..\..\include\
+Item2=..\..\apps\console\diatheke;$(BCB)\include;$(BCB)\include\vcl
[HistoryLists\hlLibraryPath]
-Count=1
-Item0=..\..\apps\console\diatheke;$(BCB)\lib\obj;$(BCB)\lib
+Count=2
+Item0=..\..\apps\console\diatheke;..\..\lib;$(BCB)\lib\obj;$(BCB)\lib
+Item1=..\..\apps\console\diatheke;$(BCB)\lib\obj;$(BCB)\lib
[HistoryLists\hlDebugSourcePath]
Count=1
diff --git a/utilities/bcppmake/imp2gbs.bpf b/utilities/bcppmake/imp2gbs.bpf
index 6c7f388..b5b32d8 100644
--- a/utilities/bcppmake/imp2gbs.bpf
+++ b/utilities/bcppmake/imp2gbs.bpf
@@ -1,5 +1,8 @@
USEUNIT("..\imp2gbs.cpp");
-USELIB("libsword.lib");
+USELIB("..\..\..\icu-sword\as_is\borland\icuin.lib");
+USELIB("..\..\..\icu-sword\as_is\borland\icudatab.lib");
+USELIB("..\..\..\icu-sword\as_is\borland\icuuc.lib");
+USELIB("..\..\lib\libsword.lib");
//---------------------------------------------------------------------------
This file is used by the project manager only and should be treated like the project file
diff --git a/utilities/bcppmake/imp2gbs.bpr b/utilities/bcppmake/imp2gbs.bpr
index e6de082..2a2c9f4 100644
--- a/utilities/bcppmake/imp2gbs.bpr
+++ b/utilities/bcppmake/imp2gbs.bpr
@@ -6,9 +6,13 @@
<PROJECT value="imp2gbs.exe"/>
<OBJFILES value="..\imp2gbs.obj"/>
<RESFILES value=""/>
+ <IDLFILES value=""/>
+ <IDLGENFILES value=""/>
<DEFFILE value=""/>
<RESDEPEN value="$(RESFILES)"/>
- <LIBFILES value="libsword.lib"/>
+ <LIBFILES value="..\..\..\icu-sword\as_is\borland\icuin.lib
+ ..\..\..\icu-sword\as_is\borland\icudatab.lib
+ ..\..\..\icu-sword\as_is\borland\icuuc.lib ..\..\lib\libsword.lib"/>
<LIBRARIES value=""/>
<SPARELIBS value=""/>
<PACKAGES value="VCL50.bpi VCLX50.bpi bcbsmp50.bpi QRPT50.bpi VCLDB50.bpi VCLBDE50.bpi
@@ -22,14 +26,16 @@
<DEBUGLIBPATH value="$(BCB)\lib\debug"/>
<RELEASELIBPATH value="$(BCB)\lib\release"/>
<LINKER value="tlink32"/>
- <USERDEFINES value=""/>
+ <USERDEFINES value="_ICU_;_ICUSWORD_"/>
<SYSDEFINES value="NO_STRICT;_NO_VCL"/>
<MAINSOURCE value="imp2gbs.bpf"/>
<INCLUDEPATH value="..\;..;..\..\include;$(BCB)\include;$(BCB)\include\vcl"/>
- <LIBPATH value="..\;..;$(BCB)\lib\obj;$(BCB)\lib"/>
+ <LIBPATH value="..\;..;..\..\lib;$(BCB)\lib\obj;$(BCB)\lib"/>
<WARNINGS value="-w-par"/>
</MACROS>
<OPTIONS>
+ <IDLCFLAGS value="-I..\. -I.. -I..\..\include -I$(BCB)\include -I$(BCB)\include\vcl
+ -src_suffix cpp -D_ICU_ -D_ICUSWORD_ -boa"/>
<CFLAG1 value="-O2 -H=$(BCB)\lib\vcl50.csm -Hc -Vx -Ve -X- -a8 -b- -k- -vi -tWC -tWM -c"/>
<PFLAGS value="-$Y- -$L- -$D- -v -JPHNE -M"/>
<RFLAGS value=""/>
@@ -77,18 +83,21 @@ Item2=..;..\..\include;$(BCB)\include;$(BCB)\include\vcl
Item3=..\..\utilities;$(BCB)\include;$(BCB)\include\vcl
[HistoryLists\hlLibraryPath]
-Count=3
-Item0=..\;..;$(BCB)\lib\obj;$(BCB)\lib
-Item1=..\;..\..\utilities;$(BCB)\lib\obj;$(BCB)\lib
-Item2=..\..\utilities;$(BCB)\lib\obj;$(BCB)\lib
+Count=5
+Item0=..\;..;..\..\lib;$(BCB)\lib\obj;$(BCB)\lib
+Item1=..;..\..\lib;$(BCB)\lib\obj;$(BCB)\lib
+Item2=..\;..;$(BCB)\lib\obj;$(BCB)\lib
+Item3=..\;..\..\utilities;$(BCB)\lib\obj;$(BCB)\lib
+Item4=..\..\utilities;$(BCB)\lib\obj;$(BCB)\lib
[HistoryLists\hlDebugSourcePath]
Count=1
Item0=$(BCB)\source\vcl
[HistoryLists\hlConditionals]
-Count=1
-Item0=_DEBUG
+Count=2
+Item0=_ICU_;_ICUSWORD_
+Item1=_DEBUG
[Debugging]
DebugSourceDirs=$(BCB)\source\vcl
diff --git a/utilities/bcppmake/imp2ld.bpf b/utilities/bcppmake/imp2ld.bpf
index 6d5b1ad..3f3f463 100644
--- a/utilities/bcppmake/imp2ld.bpf
+++ b/utilities/bcppmake/imp2ld.bpf
@@ -1,5 +1,8 @@
USEUNIT("..\imp2ld.cpp");
-USELIB("libsword.lib");
+USELIB("..\..\..\icu-sword\as_is\borland\icuin.lib");
+USELIB("..\..\..\icu-sword\as_is\borland\icudatab.lib");
+USELIB("..\..\..\icu-sword\as_is\borland\icuuc.lib");
+USELIB("..\..\lib\libsword.lib");
//---------------------------------------------------------------------------
This file is used by the project manager only and should be treated like the project file
diff --git a/utilities/bcppmake/imp2ld.bpr b/utilities/bcppmake/imp2ld.bpr
index 408f516..5b8f2c8 100644
--- a/utilities/bcppmake/imp2ld.bpr
+++ b/utilities/bcppmake/imp2ld.bpr
@@ -6,9 +6,13 @@
<PROJECT value="imp2ld.exe"/>
<OBJFILES value="..\imp2ld.obj"/>
<RESFILES value=""/>
+ <IDLFILES value=""/>
+ <IDLGENFILES value=""/>
<DEFFILE value=""/>
<RESDEPEN value="$(RESFILES)"/>
- <LIBFILES value="libsword.lib"/>
+ <LIBFILES value="..\..\..\icu-sword\as_is\borland\icuin.lib
+ ..\..\..\icu-sword\as_is\borland\icudatab.lib
+ ..\..\..\icu-sword\as_is\borland\icuuc.lib ..\..\lib\libsword.lib"/>
<LIBRARIES value=""/>
<SPARELIBS value=""/>
<PACKAGES value="VCL50.bpi VCLX50.bpi bcbsmp50.bpi QRPT50.bpi VCLDB50.bpi VCLBDE50.bpi
@@ -22,14 +26,16 @@
<DEBUGLIBPATH value="$(BCB)\lib\debug"/>
<RELEASELIBPATH value="$(BCB)\lib\release"/>
<LINKER value="tlink32"/>
- <USERDEFINES value=""/>
+ <USERDEFINES value="_ICU_;_ICUSWORD_"/>
<SYSDEFINES value="NO_STRICT;_NO_VCL"/>
<MAINSOURCE value="imp2ld.bpf"/>
<INCLUDEPATH value="..\;..;..\..\include;$(BCB)\include;$(BCB)\include\vcl"/>
- <LIBPATH value="..\;..;$(BCB)\lib\obj;$(BCB)\lib"/>
+ <LIBPATH value="..\;..;..\..\lib;$(BCB)\lib\obj;$(BCB)\lib"/>
<WARNINGS value="-w-par"/>
</MACROS>
<OPTIONS>
+ <IDLCFLAGS value="-I..\. -I.. -I..\..\include -I$(BCB)\include -I$(BCB)\include\vcl
+ -src_suffix cpp -D_ICU_ -D_ICUSWORD_ -boa"/>
<CFLAG1 value="-O2 -H=$(BCB)\lib\vcl50.csm -Hc -Vx -Ve -X- -a8 -b- -k- -vi -tWC -tWM -c"/>
<PFLAGS value="-$Y- -$L- -$D- -v -JPHNE -M"/>
<RFLAGS value=""/>
@@ -77,18 +83,21 @@ Item2=..;..\..\include;$(BCB)\include;$(BCB)\include\vcl
Item3=..\..\utilities;$(BCB)\include;$(BCB)\include\vcl
[HistoryLists\hlLibraryPath]
-Count=3
-Item0=..\;..;$(BCB)\lib\obj;$(BCB)\lib
-Item1=..\;..\..\utilities;$(BCB)\lib\obj;$(BCB)\lib
-Item2=..\..\utilities;$(BCB)\lib\obj;$(BCB)\lib
+Count=5
+Item0=..\;..;..\..\lib;$(BCB)\lib\obj;$(BCB)\lib
+Item1=..;..\..\lib;$(BCB)\lib\obj;$(BCB)\lib
+Item2=..\;..;$(BCB)\lib\obj;$(BCB)\lib
+Item3=..\;..\..\utilities;$(BCB)\lib\obj;$(BCB)\lib
+Item4=..\..\utilities;$(BCB)\lib\obj;$(BCB)\lib
[HistoryLists\hlDebugSourcePath]
Count=1
Item0=$(BCB)\source\vcl
[HistoryLists\hlConditionals]
-Count=1
-Item0=_DEBUG
+Count=2
+Item0=_ICU_;_ICUSWORD_
+Item1=_DEBUG
[Debugging]
DebugSourceDirs=$(BCB)\source\vcl
diff --git a/utilities/bcppmake/imp2vs.bpf b/utilities/bcppmake/imp2vs.bpf
index ab348be..55582f0 100644
--- a/utilities/bcppmake/imp2vs.bpf
+++ b/utilities/bcppmake/imp2vs.bpf
@@ -1,5 +1,8 @@
USEUNIT("..\imp2vs.cpp");
-USELIB("libsword.lib");
+USELIB("..\..\..\icu-sword\as_is\borland\icuin.lib");
+USELIB("..\..\..\icu-sword\as_is\borland\icudatab.lib");
+USELIB("..\..\..\icu-sword\as_is\borland\icuuc.lib");
+USELIB("..\..\lib\libsword.lib");
//---------------------------------------------------------------------------
This file is used by the project manager only and should be treated like the project file
diff --git a/utilities/bcppmake/imp2vs.bpr b/utilities/bcppmake/imp2vs.bpr
index ab1ae50..1186687 100644
--- a/utilities/bcppmake/imp2vs.bpr
+++ b/utilities/bcppmake/imp2vs.bpr
@@ -6,9 +6,13 @@
<PROJECT value="imp2vs.exe"/>
<OBJFILES value="..\imp2vs.obj"/>
<RESFILES value=""/>
+ <IDLFILES value=""/>
+ <IDLGENFILES value=""/>
<DEFFILE value=""/>
<RESDEPEN value="$(RESFILES)"/>
- <LIBFILES value="libsword.lib"/>
+ <LIBFILES value="..\..\..\icu-sword\as_is\borland\icuin.lib
+ ..\..\..\icu-sword\as_is\borland\icudatab.lib
+ ..\..\..\icu-sword\as_is\borland\icuuc.lib ..\..\lib\libsword.lib"/>
<LIBRARIES value=""/>
<SPARELIBS value=""/>
<PACKAGES value="VCL50.bpi VCLX50.bpi bcbsmp50.bpi QRPT50.bpi VCLDB50.bpi VCLBDE50.bpi
@@ -22,14 +26,16 @@
<DEBUGLIBPATH value="$(BCB)\lib\debug"/>
<RELEASELIBPATH value="$(BCB)\lib\release"/>
<LINKER value="tlink32"/>
- <USERDEFINES value=""/>
+ <USERDEFINES value="_ICU_;_ICUSWORD_"/>
<SYSDEFINES value="NO_STRICT;_NO_VCL"/>
<MAINSOURCE value="imp2vs.bpf"/>
<INCLUDEPATH value="..\;..;..\..\include;$(BCB)\include;$(BCB)\include\vcl"/>
- <LIBPATH value="..\;..;$(BCB)\lib\obj;$(BCB)\lib"/>
+ <LIBPATH value="..\;..;..\..\lib;$(BCB)\lib\obj;$(BCB)\lib"/>
<WARNINGS value="-w-par"/>
</MACROS>
<OPTIONS>
+ <IDLCFLAGS value="-I..\. -I.. -I..\..\include -I$(BCB)\include -I$(BCB)\include\vcl
+ -src_suffix cpp -D_ICU_ -D_ICUSWORD_ -boa"/>
<CFLAG1 value="-O2 -H=$(BCB)\lib\vcl50.csm -Hc -Vx -Ve -X- -a8 -b- -k- -vi -tWC -tWM -c"/>
<PFLAGS value="-$Y- -$L- -$D- -v -JPHNE -M"/>
<RFLAGS value=""/>
@@ -77,18 +83,21 @@ Item2=..;..\..\include;$(BCB)\include;$(BCB)\include\vcl
Item3=..\..\utilities;$(BCB)\include;$(BCB)\include\vcl
[HistoryLists\hlLibraryPath]
-Count=3
-Item0=..\;..;$(BCB)\lib\obj;$(BCB)\lib
-Item1=..\;..\..\utilities;$(BCB)\lib\obj;$(BCB)\lib
-Item2=..\..\utilities;$(BCB)\lib\obj;$(BCB)\lib
+Count=5
+Item0=..\;..;..\..\lib;$(BCB)\lib\obj;$(BCB)\lib
+Item1=..;..\..\lib;$(BCB)\lib\obj;$(BCB)\lib
+Item2=..\;..;$(BCB)\lib\obj;$(BCB)\lib
+Item3=..\;..\..\utilities;$(BCB)\lib\obj;$(BCB)\lib
+Item4=..\..\utilities;$(BCB)\lib\obj;$(BCB)\lib
[HistoryLists\hlDebugSourcePath]
Count=1
Item0=$(BCB)\source\vcl
[HistoryLists\hlConditionals]
-Count=1
-Item0=_DEBUG
+Count=2
+Item0=_ICU_;_ICUSWORD_
+Item1=_DEBUG
[Debugging]
DebugSourceDirs=$(BCB)\source\vcl
diff --git a/utilities/bcppmake/libsword.bpf b/utilities/bcppmake/libsword.bpf
index 04f25c3..e4c4667 100644
--- a/utilities/bcppmake/libsword.bpf
+++ b/utilities/bcppmake/libsword.bpf
@@ -69,7 +69,6 @@ USEUNIT("..\..\src\modules\filters\thmlheadings.cpp");
USEUNIT("..\..\src\modules\filters\thmlhtmlhref.cpp");
USEUNIT("..\..\src\modules\filters\thmllemma.cpp");
USEUNIT("..\..\src\modules\filters\thmlmorph.cpp");
-USEUNIT("..\..\src\modules\filters\thmlolb.cpp");
USEUNIT("..\..\src\modules\filters\thmlscripref.cpp");
USEUNIT("..\..\src\modules\filters\thmlstrongs.cpp");
USEUNIT("..\..\src\modules\filters\thmlvariants.cpp");
@@ -85,7 +84,6 @@ USEUNIT("..\..\src\modules\filters\utf8latin1.cpp");
USEUNIT("..\..\src\modules\filters\utf8nfc.cpp");
USEUNIT("..\..\src\modules\filters\utf8nfkd.cpp");
USEUNIT("..\..\src\modules\filters\utf8transliterator.cpp");
-USEUNIT("..\..\src\utilfuns\roman.c");
USEUNIT("..\..\src\modules\comments\zcom\zcom.cpp");
USEUNIT("..\..\src\modules\lexdict\rawld4\rawld4.cpp");
USEUNIT("..\..\src\modules\common\zipcomprs.cpp");
@@ -106,6 +104,13 @@ USEUNIT("..\..\src\utilfuns\zlib\trees.c");
USEUNIT("..\..\src\utilfuns\zlib\uncompr.c");
USEUNIT("..\..\src\utilfuns\zlib\untgz.c");
USEUNIT("..\..\src\utilfuns\zlib\adler32.c");
+USEUNIT("..\..\src\modules\filters\greeklexattribs.cpp");
+USEUNIT("..\..\src\mgr\swcacher.cpp");
+USEUNIT("..\..\src\modules\filters\gbfosis.cpp");
+USEUNIT("..\..\src\modules\filters\thmlosis.cpp");
+USEUNIT("..\..\src\mgr\encfiltmgr.cpp");
+USEUNIT("..\..\src\mgr\markupfiltmgr.cpp");
+USEUNIT("..\..\src\utilfuns\roman.cpp");
//---------------------------------------------------------------------------
#define Library
diff --git a/utilities/bcppmake/libsword.bpr b/utilities/bcppmake/libsword.bpr
index 90220e0..8706c7a 100644
--- a/utilities/bcppmake/libsword.bpr
+++ b/utilities/bcppmake/libsword.bpr
@@ -54,7 +54,6 @@
..\..\src\modules\filters\thmlhtmlhref.obj
..\..\src\modules\filters\thmllemma.obj
..\..\src\modules\filters\thmlmorph.obj
- ..\..\src\modules\filters\thmlolb.obj
..\..\src\modules\filters\thmlscripref.obj
..\..\src\modules\filters\thmlstrongs.obj
..\..\src\modules\filters\thmlvariants.obj
@@ -70,7 +69,7 @@
..\..\src\modules\filters\utf8nfc.obj
..\..\src\modules\filters\utf8nfkd.obj
..\..\src\modules\filters\utf8transliterator.obj
- ..\..\src\utilfuns\roman.obj ..\..\src\modules\comments\zcom\zcom.obj
+ ..\..\src\modules\comments\zcom\zcom.obj
..\..\src\modules\lexdict\rawld4\rawld4.obj
..\..\src\modules\common\zipcomprs.obj
..\..\src\modules\lexdict\zld\zld.obj
@@ -81,8 +80,14 @@
..\..\src\utilfuns\zlib\inffast.obj ..\..\src\utilfuns\zlib\inflate.obj
..\..\src\utilfuns\zlib\inftrees.obj ..\..\src\utilfuns\zlib\infutil.obj
..\..\src\utilfuns\zlib\trees.obj ..\..\src\utilfuns\zlib\uncompr.obj
- ..\..\src\utilfuns\zlib\untgz.obj ..\..\src\utilfuns\zlib\adler32.obj"/>
+ ..\..\src\utilfuns\zlib\untgz.obj ..\..\src\utilfuns\zlib\adler32.obj
+ ..\..\src\modules\filters\greeklexattribs.obj ..\..\src\mgr\swcacher.obj
+ ..\..\src\modules\filters\gbfosis.obj
+ ..\..\src\modules\filters\thmlosis.obj ..\..\src\mgr\encfiltmgr.obj
+ ..\..\src\mgr\markupfiltmgr.obj ..\..\src\utilfuns\roman.obj"/>
<RESFILES value=""/>
+ <IDLFILES value=""/>
+ <IDLGENFILES value=""/>
<DEFFILE value=""/>
<RESDEPEN value="$(RESFILES)"/>
<LIBFILES value=""/>
@@ -93,10 +98,10 @@
<PATHRC value=".;"/>
<PATHASM value=".;"/>
<LINKER value="TLib"/>
- <USERDEFINES value=""/>
+ <USERDEFINES value="_ICU_;_ICUSWORD_;USBINARY"/>
<SYSDEFINES value="NO_STRICT"/>
<MAINSOURCE value="libsword.bpf"/>
- <INCLUDEPATH value="..\..\src\utilfuns\zlib;..\..\src\modules\lexdict\zld;..\..\src\modules\lexdict\rawld4;..\..\src\modules\comments\zcom;..\..\src\modules\genbook\rawgenbook;..\..\src\modules\genbook;..\..\src\modules\texts\ztext;..\..\src\modules\texts\rawtext;..\..\src\modules\texts;..\..\src\modules\lexdict\rawld;..\..\src\modules\lexdict;..\..\src\modules\filters;..\..\src\modules\common;..\..\src\modules\comments\rawfiles;..\..\src\modules\comments\rawcom;..\..\src\modules\comments\hrefcom;..\..\src\modules\comments;..\..\src\modules;..\..\src\frontend;..\..\src\utilfuns;..\..\src\mgr;..\..\src\keys;..\..\include;$(BCB)\include;$(BCB)\include\vcl"/>
+ <INCLUDEPATH value="..\..\src\utilfuns\zlib;..\..\src\modules\lexdict\zld;..\..\src\modules\lexdict\rawld4;..\..\src\modules\comments\zcom;..\..\src\modules\genbook\rawgenbook;..\..\src\modules\genbook;..\..\src\modules\texts\ztext;..\..\src\modules\texts\rawtext;..\..\src\modules\texts;..\..\src\modules\lexdict\rawld;..\..\src\modules\lexdict;..\..\src\modules\filters;..\..\src\modules\common;..\..\src\modules\comments\rawfiles;..\..\src\modules\comments\rawcom;..\..\src\modules\comments\hrefcom;..\..\src\modules\comments;..\..\src\modules;..\..\src\frontend;..\..\src\utilfuns;..\..\src\mgr;..\..\src\keys;..\..\include;$(BCB)\include;$(BCB)\include\vcl;..\..\..\icu-sword\source\common;..\..\..\icu-sword\source\i18n"/>
<LIBPATH value="..\..\src\utilfuns\zlib;..\..\src\modules\lexdict\zld;..\..\src\modules\lexdict\rawld4;..\..\src\modules\comments\zcom;..\..\src\modules\genbook\rawgenbook;..\..\src\modules\genbook;..\..\src\modules\texts\ztext;..\..\src\modules\texts\rawtext;..\..\src\modules\texts;..\..\src\modules\lexdict\rawld;..\..\src\modules\lexdict;..\..\src\modules\filters;..\..\src\modules\common;..\..\src\modules\comments\rawfiles;..\..\src\modules\comments\rawcom;..\..\src\modules\comments\hrefcom;..\..\src\modules\comments;..\..\src\modules;..\..\src\frontend;..\..\src\utilfuns;..\..\src\mgr;..\..\src\keys;$(BCB)\lib\obj;$(BCB)\lib"/>
<WARNINGS value="-w-par"/>
<LISTFILE value=""/>
@@ -140,12 +145,14 @@ ProductVersion=1.0.0.0
Comments=
[HistoryLists\hlIncludePath]
-Count=5
-Item0=..\..\src\utilfuns\zlib;..\..\src\modules\lexdict\zld;..\..\src\modules\lexdict\rawld4;..\..\src\modules\comments\zcom;..\..\src\modules\genbook\rawgenbook;..\..\src\modules\genbook;..\..\src\modules\texts\ztext;..\..\src\modules\texts\rawtext;..\..\src\modules\texts;..\..\src\modules\lexdict\rawld;..\..\src\modules\lexdict;..\..\src\modules\filters;..\..\src\modules\common;..\..\src\modules\comments\rawfiles;..\..\src\modules\comments\rawcom;..\..\src\modules\comments\hrefcom;..\..\src\modules\comments;..\..\src\modules;..\..\src\frontend;..\..\src\utilfuns;..\..\src\mgr;..\..\src\keys;..\..\include;$(BCB)\include;$(BCB)\include\vcl
-Item1=..\..\src\modules\texts\ztext;..\..\src\modules\texts\rawtext;..\..\src\modules\texts;..\..\src\modules\lexdict\rawld;..\..\src\modules\lexdict;..\..\src\modules\filters;..\..\src\modules\common;..\..\src\modules\comments\rawfiles;..\..\src\modules\comments\rawcom;..\..\src\modules\comments\hrefcom;..\..\src\modules\comments;..\..\src\modules;..\..\src\frontend;..\..\src\utilfuns;..\..\src\mgr;..\..\src\keys;..\..\include;$(BCB)\include;$(BCB)\include\vcl
-Item2=..\..\src\modules\texts\rawtext;..\..\src\modules\texts;..\..\src\modules\lexdict\rawld;..\..\src\modules\lexdict;..\..\src\modules\filters;..\..\src\modules\common;..\..\src\modules\comments\rawfiles;..\..\src\modules\comments\rawcom;..\..\src\modules\comments\hrefcom;..\..\src\modules\comments;..\..\src\modules;..\..\src\frontend;..\..\src\utilfuns;..\..\src\mgr;..\..\src\keys;..\..\include;$(BCB)\include;$(BCB)\include\vcl
-Item3=..\include;$(BCB)\include;$(BCB)\include\vcl
-Item4=..\src\modules\texts\rawtext;..\src\modules\texts;..\src\modules\lexdict\rawld;..\src\modules\lexdict;..\src\modules\filters;..\src\modules\common;..\src\modules\comments\rawfiles;..\src\modules\comments\rawcom;..\src\modules\comments\hrefcom;..\src\modules\comments;..\src\modules;..\src\frontend;..\src\utilfuns;..\src\mgr;..\src\keys;$(BCB)\include;$(BCB)\include\vcl
+Count=7
+Item0=..\..\src\utilfuns\zlib;..\..\src\modules\lexdict\zld;..\..\src\modules\lexdict\rawld4;..\..\src\modules\comments\zcom;..\..\src\modules\genbook\rawgenbook;..\..\src\modules\genbook;..\..\src\modules\texts\ztext;..\..\src\modules\texts\rawtext;..\..\src\modules\texts;..\..\src\modules\lexdict\rawld;..\..\src\modules\lexdict;..\..\src\modules\filters;..\..\src\modules\common;..\..\src\modules\comments\rawfiles;..\..\src\modules\comments\rawcom;..\..\src\modules\comments\hrefcom;..\..\src\modules\comments;..\..\src\modules;..\..\src\frontend;..\..\src\utilfuns;..\..\src\mgr;..\..\src\keys;..\..\include;$(BCB)\include;$(BCB)\include\vcl;..\..\..\icu-sword\source\common;..\..\..\icu-sword\source\i18n
+Item1=..\..\src\utilfuns\zlib;..\..\src\modules\lexdict\zld;..\..\src\modules\lexdict\rawld4;..\..\src\modules\comments\zcom;..\..\src\modules\genbook\rawgenbook;..\..\src\modules\genbook;..\..\src\modules\texts\ztext;..\..\src\modules\texts\rawtext;..\..\src\modules\texts;..\..\src\modules\lexdict\rawld;..\..\src\modules\lexdict;..\..\src\modules\filters;..\..\src\modules\common;..\..\src\modules\comments\rawfiles;..\..\src\modules\comments\rawcom;..\..\src\modules\comments\hrefcom;..\..\src\modules\comments;..\..\src\modules;..\..\src\frontend;..\..\src\utilfuns;..\..\src\mgr;..\..\src\keys;..\..\include;$(BCB)\include;$(BCB)\include\vcl;..\..\..\icu-sword\source\common
+Item2=..\..\src\utilfuns\zlib;..\..\src\modules\lexdict\zld;..\..\src\modules\lexdict\rawld4;..\..\src\modules\comments\zcom;..\..\src\modules\genbook\rawgenbook;..\..\src\modules\genbook;..\..\src\modules\texts\ztext;..\..\src\modules\texts\rawtext;..\..\src\modules\texts;..\..\src\modules\lexdict\rawld;..\..\src\modules\lexdict;..\..\src\modules\filters;..\..\src\modules\common;..\..\src\modules\comments\rawfiles;..\..\src\modules\comments\rawcom;..\..\src\modules\comments\hrefcom;..\..\src\modules\comments;..\..\src\modules;..\..\src\frontend;..\..\src\utilfuns;..\..\src\mgr;..\..\src\keys;..\..\include;$(BCB)\include;$(BCB)\include\vcl
+Item3=..\..\src\modules\texts\ztext;..\..\src\modules\texts\rawtext;..\..\src\modules\texts;..\..\src\modules\lexdict\rawld;..\..\src\modules\lexdict;..\..\src\modules\filters;..\..\src\modules\common;..\..\src\modules\comments\rawfiles;..\..\src\modules\comments\rawcom;..\..\src\modules\comments\hrefcom;..\..\src\modules\comments;..\..\src\modules;..\..\src\frontend;..\..\src\utilfuns;..\..\src\mgr;..\..\src\keys;..\..\include;$(BCB)\include;$(BCB)\include\vcl
+Item4=..\..\src\modules\texts\rawtext;..\..\src\modules\texts;..\..\src\modules\lexdict\rawld;..\..\src\modules\lexdict;..\..\src\modules\filters;..\..\src\modules\common;..\..\src\modules\comments\rawfiles;..\..\src\modules\comments\rawcom;..\..\src\modules\comments\hrefcom;..\..\src\modules\comments;..\..\src\modules;..\..\src\frontend;..\..\src\utilfuns;..\..\src\mgr;..\..\src\keys;..\..\include;$(BCB)\include;$(BCB)\include\vcl
+Item5=..\include;$(BCB)\include;$(BCB)\include\vcl
+Item6=..\src\modules\texts\rawtext;..\src\modules\texts;..\src\modules\lexdict\rawld;..\src\modules\lexdict;..\src\modules\filters;..\src\modules\common;..\src\modules\comments\rawfiles;..\src\modules\comments\rawcom;..\src\modules\comments\hrefcom;..\src\modules\comments;..\src\modules;..\src\frontend;..\src\utilfuns;..\src\mgr;..\src\keys;$(BCB)\include;$(BCB)\include\vcl
[HistoryLists\hlLibraryPath]
Count=4
@@ -159,8 +166,12 @@ Count=1
Item0=$(BCB)\source\vcl
[HistoryLists\hlConditionals]
-Count=1
-Item0=_DEBUG
+Count=5
+Item0=_ICU_;_ICUSWORD_;USBINARY
+Item1=_ICU_;_ICUSWORD_;USBINARY;_DEBUG
+Item2=_ICU_;_ICUSWORD_
+Item3=_ICU_;_ICUSWORD_;_DEBUG
+Item4=_DEBUG
[HistoryLists\hlTlibPageSize]
Count=5
diff --git a/utilities/bcppmake/mkfastmod.bpf b/utilities/bcppmake/mkfastmod.bpf
index f1ad852..6a9aa50 100644
--- a/utilities/bcppmake/mkfastmod.bpf
+++ b/utilities/bcppmake/mkfastmod.bpf
@@ -1,5 +1,8 @@
USEUNIT("..\mkfastmod.cpp");
-USELIB("libsword.lib");
+USELIB("..\..\..\icu-sword\as_is\borland\icuin.lib");
+USELIB("..\..\..\icu-sword\as_is\borland\icudatab.lib");
+USELIB("..\..\..\icu-sword\as_is\borland\icuuc.lib");
+USELIB("..\..\lib\libsword.lib");
//---------------------------------------------------------------------------
This file is used by the project manager only and should be treated like the project file
diff --git a/utilities/bcppmake/mkfastmod.bpr b/utilities/bcppmake/mkfastmod.bpr
index 1312ede..e590218 100644
--- a/utilities/bcppmake/mkfastmod.bpr
+++ b/utilities/bcppmake/mkfastmod.bpr
@@ -6,9 +6,13 @@
<PROJECT value="mkfastmod.exe"/>
<OBJFILES value="..\mkfastmod.obj"/>
<RESFILES value=""/>
+ <IDLFILES value=""/>
+ <IDLGENFILES value=""/>
<DEFFILE value=""/>
<RESDEPEN value="$(RESFILES)"/>
- <LIBFILES value="libsword.lib"/>
+ <LIBFILES value="..\..\..\icu-sword\as_is\borland\icuin.lib
+ ..\..\..\icu-sword\as_is\borland\icudatab.lib
+ ..\..\..\icu-sword\as_is\borland\icuuc.lib ..\..\lib\libsword.lib"/>
<LIBRARIES value=""/>
<SPARELIBS value=""/>
<PACKAGES value="VCL50.bpi VCLX50.bpi bcbsmp50.bpi QRPT50.bpi VCLDB50.bpi VCLBDE50.bpi
@@ -22,14 +26,16 @@
<DEBUGLIBPATH value="$(BCB)\lib\debug"/>
<RELEASELIBPATH value="$(BCB)\lib\release"/>
<LINKER value="tlink32"/>
- <USERDEFINES value=""/>
+ <USERDEFINES value="_ICU_;_ICUSWORD_"/>
<SYSDEFINES value="NO_STRICT;_NO_VCL"/>
<MAINSOURCE value="mkfastmod.bpf"/>
- <INCLUDEPATH value="..\;..\..\utilities;..\..\include;$(BCB)\include;$(BCB)\include\vcl"/>
- <LIBPATH value="..\;..\..\utilities;$(BCB)\lib\obj;$(BCB)\lib"/>
+ <INCLUDEPATH value="..\;..;..\..\include;$(BCB)\include;$(BCB)\include\vcl"/>
+ <LIBPATH value="..\;..;..\..\lib;$(BCB)\lib\obj;$(BCB)\lib"/>
<WARNINGS value="-w-par"/>
</MACROS>
<OPTIONS>
+ <IDLCFLAGS value="-I..\. -I.. -I..\..\include -I$(BCB)\include -I$(BCB)\include\vcl
+ -src_suffix cpp -D_ICU_ -D_ICUSWORD_ -boa"/>
<CFLAG1 value="-O2 -H=$(BCB)\lib\vcl50.csm -Hc -Vx -Ve -X- -a8 -b- -k- -vi -tWC -tWM -c"/>
<PFLAGS value="-$Y- -$L- -$D- -v -JPHNE -M"/>
<RFLAGS value=""/>
@@ -70,23 +76,28 @@ ProductVersion=1.0.0.0
Comments=
[HistoryLists\hlIncludePath]
-Count=3
-Item0=..\;..\..\utilities;..\..\include;$(BCB)\include;$(BCB)\include\vcl
-Item1=..;..\..\include;$(BCB)\include;$(BCB)\include\vcl
-Item2=..;$(BCB)\include;$(BCB)\include\vcl
+Count=4
+Item0=..\;..;..\..\include;$(BCB)\include;$(BCB)\include\vcl
+Item1=..\;..\..\utilities;..\..\include;$(BCB)\include;$(BCB)\include\vcl
+Item2=..;..\..\include;$(BCB)\include;$(BCB)\include\vcl
+Item3=..;$(BCB)\include;$(BCB)\include\vcl
[HistoryLists\hlLibraryPath]
-Count=2
-Item0=..\;..\..\utilities;$(BCB)\lib\obj;$(BCB)\lib
-Item1=..;$(BCB)\lib\obj;$(BCB)\lib
+Count=5
+Item0=..\;..;..\..\lib;$(BCB)\lib\obj;$(BCB)\lib
+Item1=..;..\..\lib;$(BCB)\lib\obj;$(BCB)\lib
+Item2=..\;..;$(BCB)\lib\obj;$(BCB)\lib
+Item3=..\;..\..\utilities;$(BCB)\lib\obj;$(BCB)\lib
+Item4=..;$(BCB)\lib\obj;$(BCB)\lib
[HistoryLists\hlDebugSourcePath]
Count=1
Item0=$(BCB)\source\vcl
[HistoryLists\hlConditionals]
-Count=1
-Item0=_DEBUG
+Count=2
+Item0=_ICU_;_ICUSWORD_
+Item1=_DEBUG
[Debugging]
DebugSourceDirs=$(BCB)\source\vcl
diff --git a/utilities/bcppmake/mod2imp.bpf b/utilities/bcppmake/mod2imp.bpf
new file mode 100644
index 0000000..66cdb62
--- /dev/null
+++ b/utilities/bcppmake/mod2imp.bpf
@@ -0,0 +1,9 @@
+USEUNIT("..\mod2imp.cpp");
+USELIB("..\..\..\icu-sword\as_is\borland\icuin.lib");
+USELIB("..\..\..\icu-sword\as_is\borland\icudatab.lib");
+USELIB("..\..\..\icu-sword\as_is\borland\icuuc.lib");
+USELIB("..\..\lib\libsword.lib");
+//---------------------------------------------------------------------------
+This file is used by the project manager only and should be treated like the project file
+
+ main \ No newline at end of file
diff --git a/utilities/bcppmake/mod2imp.bpr b/utilities/bcppmake/mod2imp.bpr
new file mode 100644
index 0000000..237b29b
--- /dev/null
+++ b/utilities/bcppmake/mod2imp.bpr
@@ -0,0 +1,122 @@
+<?xml version='1.0' encoding='utf-8' ?>
+<!-- C++Builder XML Project -->
+<PROJECT>
+ <MACROS>
+ <VERSION value="BCB.05.03"/>
+ <PROJECT value="mod2imp.exe"/>
+ <OBJFILES value="..\mod2imp.obj"/>
+ <RESFILES value=""/>
+ <IDLFILES value=""/>
+ <IDLGENFILES value=""/>
+ <DEFFILE value=""/>
+ <RESDEPEN value="$(RESFILES)"/>
+ <LIBFILES value="..\..\..\icu-sword\as_is\borland\icuin.lib
+ ..\..\..\icu-sword\as_is\borland\icudatab.lib
+ ..\..\..\icu-sword\as_is\borland\icuuc.lib ..\..\lib\libsword.lib"/>
+ <LIBRARIES value=""/>
+ <SPARELIBS value=""/>
+ <PACKAGES value="VCL50.bpi VCLX50.bpi bcbsmp50.bpi QRPT50.bpi VCLDB50.bpi VCLBDE50.bpi
+ ibsmp50.bpi VCLDBX50.bpi TEEUI50.bpi TEEDB50.bpi TEE50.bpi TEEQR50.bpi
+ VCLIB50.bpi bcbie50.bpi VCLIE50.bpi INETDB50.bpi INET50.bpi NMFAST50.bpi
+ dclocx50.bpi bcb2kaxserver50.bpi"/>
+ <PATHCPP value=".;.."/>
+ <PATHPAS value=".;"/>
+ <PATHRC value=".;"/>
+ <PATHASM value=".;"/>
+ <DEBUGLIBPATH value="$(BCB)\lib\debug"/>
+ <RELEASELIBPATH value="$(BCB)\lib\release"/>
+ <LINKER value="tlink32"/>
+ <USERDEFINES value="_ICU_;_ICUSWORD_"/>
+ <SYSDEFINES value="NO_STRICT;_NO_VCL"/>
+ <MAINSOURCE value="mod2imp.bpf"/>
+ <INCLUDEPATH value="..\;..;..\..\include;$(BCB)\include;$(BCB)\include\vcl"/>
+ <LIBPATH value="..\;..;..\..\lib;$(BCB)\lib\obj;$(BCB)\lib"/>
+ <WARNINGS value="-w-par"/>
+ </MACROS>
+ <OPTIONS>
+ <IDLCFLAGS value="-I..\. -I.. -I..\..\include -I$(BCB)\include -I$(BCB)\include\vcl
+ -src_suffix cpp -D_ICU_ -D_ICUSWORD_ -boa"/>
+ <CFLAG1 value="-O2 -H=$(BCB)\lib\vcl50.csm -Hc -Vx -Ve -X- -a8 -b- -k- -vi -tWC -tWM -c"/>
+ <PFLAGS value="-$Y- -$L- -$D- -v -JPHNE -M"/>
+ <RFLAGS value=""/>
+ <AFLAGS value="/mx /w2 /zn"/>
+ <LFLAGS value="-D&quot;&quot; -ap -Tpe -x -Gn"/>
+ </OPTIONS>
+ <LINKER>
+ <ALLOBJ value="c0x32.obj $(OBJFILES)"/>
+ <ALLRES value="$(RESFILES)"/>
+ <ALLLIB value="$(LIBFILES) $(LIBRARIES) import32.lib cw32mt.lib"/>
+ </LINKER>
+ <IDEOPTIONS>
+[Version Info]
+IncludeVerInfo=0
+AutoIncBuild=0
+MajorVer=1
+MinorVer=0
+Release=0
+Build=0
+Debug=0
+PreRelease=0
+Special=0
+Private=0
+DLL=0
+Locale=1033
+CodePage=1252
+
+[Version Info Keys]
+CompanyName=
+FileDescription=
+FileVersion=1.0.0.0
+InternalName=
+LegalCopyright=
+LegalTrademarks=
+OriginalFilename=
+ProductName=
+ProductVersion=1.0.0.0
+Comments=
+
+[HistoryLists\hlIncludePath]
+Count=4
+Item0=..\;..;..\..\include;$(BCB)\include;$(BCB)\include\vcl
+Item1=..\;..\..\utilities;..\..\include;$(BCB)\include;$(BCB)\include\vcl
+Item2=..;..\..\include;$(BCB)\include;$(BCB)\include\vcl
+Item3=..\..\utilities;$(BCB)\include;$(BCB)\include\vcl
+
+[HistoryLists\hlLibraryPath]
+Count=5
+Item0=..\;..;..\..\lib;$(BCB)\lib\obj;$(BCB)\lib
+Item1=..;..\..\lib;$(BCB)\lib\obj;$(BCB)\lib
+Item2=..\;..;$(BCB)\lib\obj;$(BCB)\lib
+Item3=..\;..\..\utilities;$(BCB)\lib\obj;$(BCB)\lib
+Item4=..\..\utilities;$(BCB)\lib\obj;$(BCB)\lib
+
+[HistoryLists\hlDebugSourcePath]
+Count=1
+Item0=$(BCB)\source\vcl
+
+[HistoryLists\hlConditionals]
+Count=2
+Item0=_ICU_;_ICUSWORD_
+Item1=_DEBUG
+
+[Debugging]
+DebugSourceDirs=$(BCB)\source\vcl
+
+[Parameters]
+RunParams=
+HostApplication=
+RemoteHost=
+RemotePath=
+RemoteDebug=0
+
+[Compiler]
+ShowInfoMsgs=0
+LinkDebugVcl=0
+LinkCGLIB=0
+
+[Language]
+ActiveLang=
+ProjectLang=
+RootDir=
+ </IDEOPTIONS>
+</PROJECT> \ No newline at end of file
diff --git a/utilities/bcppmake/mod2osis.bpf b/utilities/bcppmake/mod2osis.bpf
new file mode 100644
index 0000000..e04af66
--- /dev/null
+++ b/utilities/bcppmake/mod2osis.bpf
@@ -0,0 +1,9 @@
+USEUNIT("..\mod2osis.cpp");
+USELIB("..\..\..\icu-sword\as_is\borland\icuin.lib");
+USELIB("..\..\..\icu-sword\as_is\borland\icudatab.lib");
+USELIB("..\..\..\icu-sword\as_is\borland\icuuc.lib");
+USELIB("..\..\lib\libsword.lib");
+//---------------------------------------------------------------------------
+This file is used by the project manager only and should be treated like the project file
+
+ main \ No newline at end of file
diff --git a/utilities/bcppmake/mod2osis.bpr b/utilities/bcppmake/mod2osis.bpr
new file mode 100644
index 0000000..65ac86e
--- /dev/null
+++ b/utilities/bcppmake/mod2osis.bpr
@@ -0,0 +1,121 @@
+<?xml version='1.0' encoding='utf-8' ?>
+<!-- C++Builder XML Project -->
+<PROJECT>
+ <MACROS>
+ <VERSION value="BCB.05.03"/>
+ <PROJECT value="mod2osis.exe"/>
+ <OBJFILES value="..\mod2osis.obj"/>
+ <RESFILES value=""/>
+ <IDLFILES value=""/>
+ <IDLGENFILES value=""/>
+ <DEFFILE value=""/>
+ <RESDEPEN value="$(RESFILES)"/>
+ <LIBFILES value="..\..\..\icu-sword\as_is\borland\icuin.lib
+ ..\..\..\icu-sword\as_is\borland\icudatab.lib
+ ..\..\..\icu-sword\as_is\borland\icuuc.lib ..\..\lib\libsword.lib"/>
+ <LIBRARIES value=""/>
+ <SPARELIBS value=""/>
+ <PACKAGES value="VCL50.bpi VCLX50.bpi bcbsmp50.bpi QRPT50.bpi VCLDB50.bpi VCLBDE50.bpi
+ ibsmp50.bpi VCLDBX50.bpi TEEUI50.bpi TEEDB50.bpi TEE50.bpi TEEQR50.bpi
+ VCLIB50.bpi bcbie50.bpi VCLIE50.bpi INETDB50.bpi INET50.bpi NMFAST50.bpi
+ dclocx50.bpi bcb2kaxserver50.bpi"/>
+ <PATHCPP value=".;.."/>
+ <PATHPAS value=".;"/>
+ <PATHRC value=".;"/>
+ <PATHASM value=".;"/>
+ <DEBUGLIBPATH value="$(BCB)\lib\debug"/>
+ <RELEASELIBPATH value="$(BCB)\lib\release"/>
+ <LINKER value="tlink32"/>
+ <USERDEFINES value=""/>
+ <SYSDEFINES value="NO_STRICT;_NO_VCL"/>
+ <MAINSOURCE value="mod2osis.bpf"/>
+ <INCLUDEPATH value="..\;..;..\..\include;$(BCB)\include;$(BCB)\include\vcl"/>
+ <LIBPATH value="..\;..;..\..\lib;$(BCB)\lib\obj;$(BCB)\lib"/>
+ <WARNINGS value="-w-par"/>
+ </MACROS>
+ <OPTIONS>
+ <IDLCFLAGS value="-I..\. -I.. -I..\..\include -I$(BCB)\include -I$(BCB)\include\vcl
+ -src_suffix cpp -boa"/>
+ <CFLAG1 value="-O2 -H=$(BCB)\lib\vcl50.csm -Hc -Vx -Ve -X- -a8 -b- -k- -vi -tWC -tWM -c"/>
+ <PFLAGS value="-$Y- -$L- -$D- -v -JPHNE -M"/>
+ <RFLAGS value=""/>
+ <AFLAGS value="/mx /w2 /zn"/>
+ <LFLAGS value="-D&quot;&quot; -ap -Tpe -x -Gn"/>
+ </OPTIONS>
+ <LINKER>
+ <ALLOBJ value="c0x32.obj $(OBJFILES)"/>
+ <ALLRES value="$(RESFILES)"/>
+ <ALLLIB value="$(LIBFILES) $(LIBRARIES) import32.lib cw32mt.lib"/>
+ </LINKER>
+ <IDEOPTIONS>
+[Version Info]
+IncludeVerInfo=0
+AutoIncBuild=0
+MajorVer=1
+MinorVer=0
+Release=0
+Build=0
+Debug=0
+PreRelease=0
+Special=0
+Private=0
+DLL=0
+Locale=1033
+CodePage=1252
+
+[Version Info Keys]
+CompanyName=
+FileDescription=
+FileVersion=1.0.0.0
+InternalName=
+LegalCopyright=
+LegalTrademarks=
+OriginalFilename=
+ProductName=
+ProductVersion=1.0.0.0
+Comments=
+
+[HistoryLists\hlIncludePath]
+Count=4
+Item0=..\;..;..\..\include;$(BCB)\include;$(BCB)\include\vcl
+Item1=..\;..\..\utilities;..\..\include;$(BCB)\include;$(BCB)\include\vcl
+Item2=..;..\..\include;$(BCB)\include;$(BCB)\include\vcl
+Item3=..\..\utilities;$(BCB)\include;$(BCB)\include\vcl
+
+[HistoryLists\hlLibraryPath]
+Count=5
+Item0=..\;..;..\..\lib;$(BCB)\lib\obj;$(BCB)\lib
+Item1=..;..\..\lib;$(BCB)\lib\obj;$(BCB)\lib
+Item2=..\;..;$(BCB)\lib\obj;$(BCB)\lib
+Item3=..\;..\..\utilities;$(BCB)\lib\obj;$(BCB)\lib
+Item4=..\..\utilities;$(BCB)\lib\obj;$(BCB)\lib
+
+[HistoryLists\hlDebugSourcePath]
+Count=1
+Item0=$(BCB)\source\vcl
+
+[HistoryLists\hlConditionals]
+Count=1
+Item0=_DEBUG
+
+[Debugging]
+DebugSourceDirs=$(BCB)\source\vcl
+
+[Parameters]
+RunParams=KJV
+HostApplication=
+RemoteHost=
+RemotePath=
+RemoteDebug=0
+
+[Compiler]
+ShowInfoMsgs=0
+LinkDebugVcl=0
+LinkCGLIB=0
+
+[Language]
+ActiveLang=
+ProjectLang=
+RootDir=
+ </IDEOPTIONS>
+</PROJECT> \ No newline at end of file
diff --git a/utilities/bcppmake/mod2vpl.bpf b/utilities/bcppmake/mod2vpl.bpf
index 869327c..f68b3fb 100644
--- a/utilities/bcppmake/mod2vpl.bpf
+++ b/utilities/bcppmake/mod2vpl.bpf
@@ -1,5 +1,8 @@
USEUNIT("..\mod2vpl.cpp");
-USELIB("libsword.lib");
+USELIB("..\..\..\icu-sword\as_is\borland\icuin.lib");
+USELIB("..\..\..\icu-sword\as_is\borland\icudatab.lib");
+USELIB("..\..\..\icu-sword\as_is\borland\icuuc.lib");
+USELIB("..\..\lib\libsword.lib");
//---------------------------------------------------------------------------
This file is used by the project manager only and should be treated like the project file
diff --git a/utilities/bcppmake/mod2vpl.bpr b/utilities/bcppmake/mod2vpl.bpr
index 80f3e60..5f162fa 100644
--- a/utilities/bcppmake/mod2vpl.bpr
+++ b/utilities/bcppmake/mod2vpl.bpr
@@ -6,9 +6,13 @@
<PROJECT value="mod2vpl.exe"/>
<OBJFILES value="..\mod2vpl.obj"/>
<RESFILES value=""/>
+ <IDLFILES value=""/>
+ <IDLGENFILES value=""/>
<DEFFILE value=""/>
<RESDEPEN value="$(RESFILES)"/>
- <LIBFILES value="libsword.lib"/>
+ <LIBFILES value="..\..\..\icu-sword\as_is\borland\icuin.lib
+ ..\..\..\icu-sword\as_is\borland\icudatab.lib
+ ..\..\..\icu-sword\as_is\borland\icuuc.lib ..\..\lib\libsword.lib"/>
<LIBRARIES value=""/>
<SPARELIBS value=""/>
<PACKAGES value="VCL50.bpi VCLX50.bpi bcbsmp50.bpi QRPT50.bpi VCLDB50.bpi VCLBDE50.bpi
@@ -22,14 +26,16 @@
<DEBUGLIBPATH value="$(BCB)\lib\debug"/>
<RELEASELIBPATH value="$(BCB)\lib\release"/>
<LINKER value="tlink32"/>
- <USERDEFINES value=""/>
+ <USERDEFINES value="_ICU_;_ICUSWORD_"/>
<SYSDEFINES value="NO_STRICT;_NO_VCL"/>
<MAINSOURCE value="mod2vpl.bpf"/>
- <INCLUDEPATH value="..\;..\..\utilities;..\..\include;$(BCB)\include;$(BCB)\include\vcl"/>
- <LIBPATH value="..\;..\..\utilities;$(BCB)\lib\obj;$(BCB)\lib"/>
+ <INCLUDEPATH value="..\;..;..\..\include;$(BCB)\include;$(BCB)\include\vcl"/>
+ <LIBPATH value="..\;..;..\..\lib;$(BCB)\lib\obj;$(BCB)\lib"/>
<WARNINGS value="-w-par"/>
</MACROS>
<OPTIONS>
+ <IDLCFLAGS value="-I..\. -I.. -I..\..\include -I$(BCB)\include -I$(BCB)\include\vcl
+ -src_suffix cpp -D_ICU_ -D_ICUSWORD_ -boa"/>
<CFLAG1 value="-O2 -H=$(BCB)\lib\vcl50.csm -Hc -Vx -Ve -X- -a8 -b- -k- -vi -tWC -tWM -c"/>
<PFLAGS value="-$Y- -$L- -$D- -v -JPHNE -M"/>
<RFLAGS value=""/>
@@ -70,29 +76,34 @@ ProductVersion=1.0.0.0
Comments=
[HistoryLists\hlIncludePath]
-Count=3
-Item0=..\;..\..\utilities;..\..\include;$(BCB)\include;$(BCB)\include\vcl
-Item1=..;..\..\include;$(BCB)\include;$(BCB)\include\vcl
-Item2=..;$(BCB)\include;$(BCB)\include\vcl
+Count=4
+Item0=..\;..;..\..\include;$(BCB)\include;$(BCB)\include\vcl
+Item1=..\;..\..\utilities;..\..\include;$(BCB)\include;$(BCB)\include\vcl
+Item2=..;..\..\include;$(BCB)\include;$(BCB)\include\vcl
+Item3=..;$(BCB)\include;$(BCB)\include\vcl
[HistoryLists\hlLibraryPath]
-Count=2
-Item0=..\;..\..\utilities;$(BCB)\lib\obj;$(BCB)\lib
-Item1=..;$(BCB)\lib\obj;$(BCB)\lib
+Count=5
+Item0=..\;..;..\..\lib;$(BCB)\lib\obj;$(BCB)\lib
+Item1=..;..\..\lib;$(BCB)\lib\obj;$(BCB)\lib
+Item2=..\;..;$(BCB)\lib\obj;$(BCB)\lib
+Item3=..\;..\..\utilities;$(BCB)\lib\obj;$(BCB)\lib
+Item4=..;$(BCB)\lib\obj;$(BCB)\lib
[HistoryLists\hlDebugSourcePath]
Count=1
Item0=$(BCB)\source\vcl
[HistoryLists\hlConditionals]
-Count=1
-Item0=_DEBUG
+Count=2
+Item0=_ICU_;_ICUSWORD_
+Item1=_DEBUG
[Debugging]
DebugSourceDirs=$(BCB)\source\vcl
[Parameters]
-RunParams=
+RunParams=RWP ./ 3 2 abc
HostApplication=
RemoteHost=
RemotePath=
diff --git a/utilities/bcppmake/mod2zmod.bpf b/utilities/bcppmake/mod2zmod.bpf
index e9b585e..432c0ed 100644
--- a/utilities/bcppmake/mod2zmod.bpf
+++ b/utilities/bcppmake/mod2zmod.bpf
@@ -1,5 +1,8 @@
USEUNIT("..\mod2zmod.cpp");
-USELIB("libsword.lib");
+USELIB("..\..\..\icu-sword\as_is\borland\icuin.lib");
+USELIB("..\..\..\icu-sword\as_is\borland\icudatab.lib");
+USELIB("..\..\..\icu-sword\as_is\borland\icuuc.lib");
+USELIB("..\..\lib\libsword.lib");
//---------------------------------------------------------------------------
This file is used by the project manager only and should be treated like the project file
diff --git a/utilities/bcppmake/mod2zmod.bpr b/utilities/bcppmake/mod2zmod.bpr
index 44dc7cc..0b1cd26 100644
--- a/utilities/bcppmake/mod2zmod.bpr
+++ b/utilities/bcppmake/mod2zmod.bpr
@@ -6,9 +6,13 @@
<PROJECT value="mod2zmod.exe"/>
<OBJFILES value="..\mod2zmod.obj"/>
<RESFILES value=""/>
+ <IDLFILES value=""/>
+ <IDLGENFILES value=""/>
<DEFFILE value=""/>
<RESDEPEN value="$(RESFILES)"/>
- <LIBFILES value="libsword.lib"/>
+ <LIBFILES value="..\..\..\icu-sword\as_is\borland\icuin.lib
+ ..\..\..\icu-sword\as_is\borland\icudatab.lib
+ ..\..\..\icu-sword\as_is\borland\icuuc.lib ..\..\lib\libsword.lib"/>
<LIBRARIES value=""/>
<SPARELIBS value=""/>
<PACKAGES value="VCL50.bpi VCLX50.bpi bcbsmp50.bpi QRPT50.bpi VCLDB50.bpi VCLBDE50.bpi
@@ -22,14 +26,16 @@
<DEBUGLIBPATH value="$(BCB)\lib\debug"/>
<RELEASELIBPATH value="$(BCB)\lib\release"/>
<LINKER value="tlink32"/>
- <USERDEFINES value=""/>
+ <USERDEFINES value="_ICU_;_ICUSWORD_;USBINARY"/>
<SYSDEFINES value="NO_STRICT;_NO_VCL"/>
<MAINSOURCE value="mod2zmod.bpf"/>
<INCLUDEPATH value="..\;..;..\..\include;$(BCB)\include;$(BCB)\include\vcl"/>
- <LIBPATH value="..\;..;$(BCB)\lib\obj;$(BCB)\lib"/>
+ <LIBPATH value="..\;..;..\..\lib;$(BCB)\lib\obj;$(BCB)\lib"/>
<WARNINGS value="-w-par"/>
</MACROS>
<OPTIONS>
+ <IDLCFLAGS value="-I..\. -I.. -I..\..\include -I$(BCB)\include -I$(BCB)\include\vcl
+ -src_suffix cpp -D_ICU_ -D_ICUSWORD_ -DUSBINARY -boa"/>
<CFLAG1 value="-O2 -H=$(BCB)\lib\vcl50.csm -Hc -Vx -Ve -X- -a8 -b- -k- -vi -tWC -tWM -c"/>
<PFLAGS value="-$Y- -$L- -$D- -v -JPHNE -M"/>
<RFLAGS value=""/>
@@ -70,30 +76,37 @@ ProductVersion=1.0.0.0
Comments=
[HistoryLists\hlIncludePath]
-Count=3
-Item0=..\;..\..\utilities;..\..\include;$(BCB)\include;$(BCB)\include\vcl
-Item1=..;..\..\include;$(BCB)\include;$(BCB)\include\vcl
-Item2=..\..\utilities;$(BCB)\include;$(BCB)\include\vcl
+Count=4
+Item0=..\;..;..\..\include;$(BCB)\include;$(BCB)\include\vcl
+Item1=..\;..\..\utilities;..\..\include;$(BCB)\include;$(BCB)\include\vcl
+Item2=..;..\..\include;$(BCB)\include;$(BCB)\include\vcl
+Item3=..\..\utilities;$(BCB)\include;$(BCB)\include\vcl
[HistoryLists\hlLibraryPath]
-Count=3
-Item0=..\;..\..\utilities;$(BCB)\lib\obj;$(BCB)\lib
-Item1=..\;..;$(BCB)\lib\obj;$(BCB)\lib
-Item2=..\..\utilities;$(BCB)\lib\obj;$(BCB)\lib
+Count=5
+Item0=..\;..;..\..\lib;$(BCB)\lib\obj;$(BCB)\lib
+Item1=..;..\..\lib;$(BCB)\lib\obj;$(BCB)\lib
+Item2=..\;..;$(BCB)\lib\obj;$(BCB)\lib
+Item3=..\;..\..\utilities;$(BCB)\lib\obj;$(BCB)\lib
+Item4=..\..\utilities;$(BCB)\lib\obj;$(BCB)\lib
[HistoryLists\hlDebugSourcePath]
Count=1
Item0=$(BCB)\source\vcl
[HistoryLists\hlConditionals]
-Count=1
-Item0=_DEBUG
+Count=5
+Item0=_ICU_;_ICUSWORD_;USBINARY
+Item1=_ICU_;_ICUSWORD_;USBINARY;_DEBUG
+Item2=_ICU_;_ICUSWORD_
+Item3=_ICU_;_ICUSWORD_;_DEBUG
+Item4=_DEBUG
[Debugging]
DebugSourceDirs=$(BCB)\source\vcl
[Parameters]
-RunParams=
+RunParams=KJV ./ 3 2 abc
HostApplication=
RemoteHost=
RemotePath=
diff --git a/utilities/bcppmake/osis2mod.bpf b/utilities/bcppmake/osis2mod.bpf
new file mode 100644
index 0000000..5d993be
--- /dev/null
+++ b/utilities/bcppmake/osis2mod.bpf
@@ -0,0 +1,9 @@
+USEUNIT("..\osis2mod.cpp");
+USELIB("..\..\..\icu-sword\as_is\borland\icuin.lib");
+USELIB("..\..\..\icu-sword\as_is\borland\icudatab.lib");
+USELIB("..\..\..\icu-sword\as_is\borland\icuuc.lib");
+USELIB("..\..\lib\libsword.lib");
+//---------------------------------------------------------------------------
+This file is used by the project manager only and should be treated like the project file
+
+ main \ No newline at end of file
diff --git a/utilities/bcppmake/osis2mod.bpr b/utilities/bcppmake/osis2mod.bpr
new file mode 100644
index 0000000..8536a21
--- /dev/null
+++ b/utilities/bcppmake/osis2mod.bpr
@@ -0,0 +1,122 @@
+<?xml version='1.0' encoding='utf-8' ?>
+<!-- C++Builder XML Project -->
+<PROJECT>
+ <MACROS>
+ <VERSION value="BCB.05.03"/>
+ <PROJECT value="osis2mod.exe"/>
+ <OBJFILES value="..\osis2mod.obj"/>
+ <RESFILES value=""/>
+ <IDLFILES value=""/>
+ <IDLGENFILES value=""/>
+ <DEFFILE value=""/>
+ <RESDEPEN value="$(RESFILES)"/>
+ <LIBFILES value="..\..\..\icu-sword\as_is\borland\icuin.lib
+ ..\..\..\icu-sword\as_is\borland\icudatab.lib
+ ..\..\..\icu-sword\as_is\borland\icuuc.lib ..\..\lib\libsword.lib"/>
+ <LIBRARIES value=""/>
+ <SPARELIBS value=""/>
+ <PACKAGES value="VCL50.bpi VCLX50.bpi bcbsmp50.bpi QRPT50.bpi VCLDB50.bpi VCLBDE50.bpi
+ ibsmp50.bpi VCLDBX50.bpi TEEUI50.bpi TEEDB50.bpi TEE50.bpi TEEQR50.bpi
+ VCLIB50.bpi bcbie50.bpi VCLIE50.bpi INETDB50.bpi INET50.bpi NMFAST50.bpi
+ dclocx50.bpi bcb2kaxserver50.bpi"/>
+ <PATHCPP value=".;.."/>
+ <PATHPAS value=".;"/>
+ <PATHRC value=".;"/>
+ <PATHASM value=".;"/>
+ <DEBUGLIBPATH value="$(BCB)\lib\debug"/>
+ <RELEASELIBPATH value="$(BCB)\lib\release"/>
+ <LINKER value="tlink32"/>
+ <USERDEFINES value="_DEBUG"/>
+ <SYSDEFINES value="NO_STRICT;_NO_VCL"/>
+ <MAINSOURCE value="osis2mod.bpf"/>
+ <INCLUDEPATH value="..\;..;..\..\include;$(BCB)\include;$(BCB)\include\vcl"/>
+ <LIBPATH value="..\;..;..\..\lib;$(BCB)\lib\obj;$(BCB)\lib"/>
+ <WARNINGS value="-w-par"/>
+ </MACROS>
+ <OPTIONS>
+ <IDLCFLAGS value="-I..\. -I.. -I..\..\include -I$(BCB)\include -I$(BCB)\include\vcl
+ -src_suffix cpp -boa"/>
+ <CFLAG1 value="-vGc -vGt -vGd -Od -H=$(BCB)\lib\vcl50.csm -Hc -Vx -Ve -X- -r- -a8 -b- -k
+ -y -v -vi- -tWC -tWM -c"/>
+ <PFLAGS value="-$Y+ -$W -$O- -v -JPHNE -M"/>
+ <RFLAGS value=""/>
+ <AFLAGS value="/mx /w2 /zi"/>
+ <LFLAGS value="-D&quot;&quot; -ap -Tpe -x -Gn -v"/>
+ </OPTIONS>
+ <LINKER>
+ <ALLOBJ value="c0x32.obj $(OBJFILES)"/>
+ <ALLRES value="$(RESFILES)"/>
+ <ALLLIB value="cg32.lib $(LIBFILES) $(LIBRARIES) import32.lib cw32mt.lib"/>
+ </LINKER>
+ <IDEOPTIONS>
+[Version Info]
+IncludeVerInfo=0
+AutoIncBuild=0
+MajorVer=1
+MinorVer=0
+Release=0
+Build=0
+Debug=0
+PreRelease=0
+Special=0
+Private=0
+DLL=0
+Locale=1033
+CodePage=1252
+
+[Version Info Keys]
+CompanyName=
+FileDescription=
+FileVersion=1.0.0.0
+InternalName=
+LegalCopyright=
+LegalTrademarks=
+OriginalFilename=
+ProductName=
+ProductVersion=1.0.0.0
+Comments=
+
+[HistoryLists\hlIncludePath]
+Count=4
+Item0=..\;..;..\..\include;$(BCB)\include;$(BCB)\include\vcl
+Item1=..\;..\..\utilities;..\..\include;$(BCB)\include;$(BCB)\include\vcl
+Item2=..;..\..\include;$(BCB)\include;$(BCB)\include\vcl
+Item3=..\..\utilities;$(BCB)\include;$(BCB)\include\vcl
+
+[HistoryLists\hlLibraryPath]
+Count=5
+Item0=..\;..;..\..\lib;$(BCB)\lib\obj;$(BCB)\lib
+Item1=..;..\..\lib;$(BCB)\lib\obj;$(BCB)\lib
+Item2=..\;..;$(BCB)\lib\obj;$(BCB)\lib
+Item3=..\;..\..\utilities;$(BCB)\lib\obj;$(BCB)\lib
+Item4=..\..\utilities;$(BCB)\lib\obj;$(BCB)\lib
+
+[HistoryLists\hlDebugSourcePath]
+Count=1
+Item0=$(BCB)\source\vcl
+
+[HistoryLists\hlConditionals]
+Count=1
+Item0=_DEBUG
+
+[Debugging]
+DebugSourceDirs=$(BCB)\source\vcl
+
+[Parameters]
+RunParams=./nasb nasb.xml
+HostApplication=
+RemoteHost=
+RemotePath=
+RemoteDebug=0
+
+[Compiler]
+ShowInfoMsgs=0
+LinkDebugVcl=0
+LinkCGLIB=1
+
+[Language]
+ActiveLang=
+ProjectLang=
+RootDir=
+ </IDEOPTIONS>
+</PROJECT> \ No newline at end of file
diff --git a/utilities/bcppmake/step2vpl.bpf b/utilities/bcppmake/step2vpl.bpf
new file mode 100644
index 0000000..2e5e4c6
--- /dev/null
+++ b/utilities/bcppmake/step2vpl.bpf
@@ -0,0 +1,9 @@
+USEUNIT("..\step2vpl.cpp");
+USELIB("..\..\..\icu-sword\as_is\borland\icuin.lib");
+USELIB("..\..\..\icu-sword\as_is\borland\icudatab.lib");
+USELIB("..\..\..\icu-sword\as_is\borland\icuuc.lib");
+USELIB("..\..\lib\libsword.lib");
+//---------------------------------------------------------------------------
+This file is used by the project manager only and should be treated like the project file
+
+ main \ No newline at end of file
diff --git a/utilities/bcppmake/step2vpl.bpr b/utilities/bcppmake/step2vpl.bpr
new file mode 100644
index 0000000..e51479b
--- /dev/null
+++ b/utilities/bcppmake/step2vpl.bpr
@@ -0,0 +1,122 @@
+<?xml version='1.0' encoding='utf-8' ?>
+<!-- C++Builder XML Project -->
+<PROJECT>
+ <MACROS>
+ <VERSION value="BCB.05.03"/>
+ <PROJECT value="step2vpl.exe"/>
+ <OBJFILES value="..\step2vpl.obj"/>
+ <RESFILES value=""/>
+ <IDLFILES value=""/>
+ <IDLGENFILES value=""/>
+ <DEFFILE value=""/>
+ <RESDEPEN value="$(RESFILES)"/>
+ <LIBFILES value="..\..\..\icu-sword\as_is\borland\icuin.lib
+ ..\..\..\icu-sword\as_is\borland\icudatab.lib
+ ..\..\..\icu-sword\as_is\borland\icuuc.lib ..\..\lib\libsword.lib"/>
+ <LIBRARIES value=""/>
+ <SPARELIBS value=""/>
+ <PACKAGES value="VCL50.bpi VCLX50.bpi bcbsmp50.bpi QRPT50.bpi VCLDB50.bpi VCLBDE50.bpi
+ ibsmp50.bpi VCLDBX50.bpi TEEUI50.bpi TEEDB50.bpi TEE50.bpi TEEQR50.bpi
+ VCLIB50.bpi bcbie50.bpi VCLIE50.bpi INETDB50.bpi INET50.bpi NMFAST50.bpi
+ dclocx50.bpi bcb2kaxserver50.bpi"/>
+ <PATHCPP value=".;.."/>
+ <PATHPAS value=".;"/>
+ <PATHRC value=".;"/>
+ <PATHASM value=".;"/>
+ <DEBUGLIBPATH value="$(BCB)\lib\debug"/>
+ <RELEASELIBPATH value="$(BCB)\lib\release"/>
+ <LINKER value="tlink32"/>
+ <USERDEFINES value="_ICU_;_ICUSWORD_"/>
+ <SYSDEFINES value="NO_STRICT;_NO_VCL"/>
+ <MAINSOURCE value="step2vpl.bpf"/>
+ <INCLUDEPATH value="..\;..;..\..\include;$(BCB)\include;$(BCB)\include\vcl"/>
+ <LIBPATH value="..\;..;..\..\lib;$(BCB)\lib\obj;$(BCB)\lib"/>
+ <WARNINGS value="-w-par"/>
+ </MACROS>
+ <OPTIONS>
+ <IDLCFLAGS value="-I..\. -I.. -I..\..\include -I$(BCB)\include -I$(BCB)\include\vcl
+ -src_suffix cpp -D_ICU_ -D_ICUSWORD_ -boa"/>
+ <CFLAG1 value="-O2 -H=$(BCB)\lib\vcl50.csm -Hc -Vx -Ve -X- -a8 -b- -k- -vi -tWC -tWM -c"/>
+ <PFLAGS value="-$Y- -$L- -$D- -v -JPHNE -M"/>
+ <RFLAGS value=""/>
+ <AFLAGS value="/mx /w2 /zn"/>
+ <LFLAGS value="-D&quot;&quot; -ap -Tpe -x -Gn"/>
+ </OPTIONS>
+ <LINKER>
+ <ALLOBJ value="c0x32.obj $(OBJFILES)"/>
+ <ALLRES value="$(RESFILES)"/>
+ <ALLLIB value="$(LIBFILES) $(LIBRARIES) import32.lib cw32mt.lib"/>
+ </LINKER>
+ <IDEOPTIONS>
+[Version Info]
+IncludeVerInfo=0
+AutoIncBuild=0
+MajorVer=1
+MinorVer=0
+Release=0
+Build=0
+Debug=0
+PreRelease=0
+Special=0
+Private=0
+DLL=0
+Locale=1033
+CodePage=1252
+
+[Version Info Keys]
+CompanyName=
+FileDescription=
+FileVersion=1.0.0.0
+InternalName=
+LegalCopyright=
+LegalTrademarks=
+OriginalFilename=
+ProductName=
+ProductVersion=1.0.0.0
+Comments=
+
+[HistoryLists\hlIncludePath]
+Count=4
+Item0=..\;..;..\..\include;$(BCB)\include;$(BCB)\include\vcl
+Item1=..\;..\..\utilities;..\..\include;$(BCB)\include;$(BCB)\include\vcl
+Item2=..;..\..\include;$(BCB)\include;$(BCB)\include\vcl
+Item3=..\..\utilities;$(BCB)\include;$(BCB)\include\vcl
+
+[HistoryLists\hlLibraryPath]
+Count=5
+Item0=..\;..;..\..\lib;$(BCB)\lib\obj;$(BCB)\lib
+Item1=..;..\..\lib;$(BCB)\lib\obj;$(BCB)\lib
+Item2=..\;..;$(BCB)\lib\obj;$(BCB)\lib
+Item3=..\;..\..\utilities;$(BCB)\lib\obj;$(BCB)\lib
+Item4=..\..\utilities;$(BCB)\lib\obj;$(BCB)\lib
+
+[HistoryLists\hlDebugSourcePath]
+Count=1
+Item0=$(BCB)\source\vcl
+
+[HistoryLists\hlConditionals]
+Count=2
+Item0=_ICU_;_ICUSWORD_
+Item1=_DEBUG
+
+[Debugging]
+DebugSourceDirs=$(BCB)\source\vcl
+
+[Parameters]
+RunParams=
+HostApplication=
+RemoteHost=
+RemotePath=
+RemoteDebug=0
+
+[Compiler]
+ShowInfoMsgs=0
+LinkDebugVcl=0
+LinkCGLIB=0
+
+[Language]
+ActiveLang=
+ProjectLang=
+RootDir=
+ </IDEOPTIONS>
+</PROJECT> \ No newline at end of file
diff --git a/utilities/bcppmake/stepdump.bpf b/utilities/bcppmake/stepdump.bpf
new file mode 100644
index 0000000..7eab3c0
--- /dev/null
+++ b/utilities/bcppmake/stepdump.bpf
@@ -0,0 +1,9 @@
+USEUNIT("..\stepdump.cpp");
+USELIB("..\..\..\icu-sword\as_is\borland\icuin.lib");
+USELIB("..\..\..\icu-sword\as_is\borland\icudatab.lib");
+USELIB("..\..\..\icu-sword\as_is\borland\icuuc.lib");
+USELIB("..\..\lib\libsword.lib");
+//---------------------------------------------------------------------------
+This file is used by the project manager only and should be treated like the project file
+
+ main \ No newline at end of file
diff --git a/utilities/bcppmake/stepdump.bpr b/utilities/bcppmake/stepdump.bpr
new file mode 100644
index 0000000..ebe8877
--- /dev/null
+++ b/utilities/bcppmake/stepdump.bpr
@@ -0,0 +1,122 @@
+<?xml version='1.0' encoding='utf-8' ?>
+<!-- C++Builder XML Project -->
+<PROJECT>
+ <MACROS>
+ <VERSION value="BCB.05.03"/>
+ <PROJECT value="stepdump.exe"/>
+ <OBJFILES value="..\stepdump.obj"/>
+ <RESFILES value=""/>
+ <IDLFILES value=""/>
+ <IDLGENFILES value=""/>
+ <DEFFILE value=""/>
+ <RESDEPEN value="$(RESFILES)"/>
+ <LIBFILES value="..\..\..\icu-sword\as_is\borland\icuin.lib
+ ..\..\..\icu-sword\as_is\borland\icudatab.lib
+ ..\..\..\icu-sword\as_is\borland\icuuc.lib ..\..\lib\libsword.lib"/>
+ <LIBRARIES value=""/>
+ <SPARELIBS value=""/>
+ <PACKAGES value="VCL50.bpi VCLX50.bpi bcbsmp50.bpi QRPT50.bpi VCLDB50.bpi VCLBDE50.bpi
+ ibsmp50.bpi VCLDBX50.bpi TEEUI50.bpi TEEDB50.bpi TEE50.bpi TEEQR50.bpi
+ VCLIB50.bpi bcbie50.bpi VCLIE50.bpi INETDB50.bpi INET50.bpi NMFAST50.bpi
+ dclocx50.bpi bcb2kaxserver50.bpi"/>
+ <PATHCPP value=".;.."/>
+ <PATHPAS value=".;"/>
+ <PATHRC value=".;"/>
+ <PATHASM value=".;"/>
+ <DEBUGLIBPATH value="$(BCB)\lib\debug"/>
+ <RELEASELIBPATH value="$(BCB)\lib\release"/>
+ <LINKER value="tlink32"/>
+ <USERDEFINES value="_ICU_;_ICUSWORD_"/>
+ <SYSDEFINES value="NO_STRICT;_NO_VCL"/>
+ <MAINSOURCE value="stepdump.bpf"/>
+ <INCLUDEPATH value="..\;..;..\..\include;$(BCB)\include;$(BCB)\include\vcl"/>
+ <LIBPATH value="..\;..;..\..\lib;$(BCB)\lib\obj;$(BCB)\lib"/>
+ <WARNINGS value="-w-par"/>
+ </MACROS>
+ <OPTIONS>
+ <IDLCFLAGS value="-I..\. -I.. -I..\..\include -I$(BCB)\include -I$(BCB)\include\vcl
+ -src_suffix cpp -D_ICU_ -D_ICUSWORD_ -boa"/>
+ <CFLAG1 value="-O2 -H=$(BCB)\lib\vcl50.csm -Hc -Vx -Ve -X- -a8 -b- -k- -vi -tWC -tWM -c"/>
+ <PFLAGS value="-$Y- -$L- -$D- -v -JPHNE -M"/>
+ <RFLAGS value=""/>
+ <AFLAGS value="/mx /w2 /zn"/>
+ <LFLAGS value="-D&quot;&quot; -ap -Tpe -x -Gn"/>
+ </OPTIONS>
+ <LINKER>
+ <ALLOBJ value="c0x32.obj $(OBJFILES)"/>
+ <ALLRES value="$(RESFILES)"/>
+ <ALLLIB value="$(LIBFILES) $(LIBRARIES) import32.lib cw32mt.lib"/>
+ </LINKER>
+ <IDEOPTIONS>
+[Version Info]
+IncludeVerInfo=0
+AutoIncBuild=0
+MajorVer=1
+MinorVer=0
+Release=0
+Build=0
+Debug=0
+PreRelease=0
+Special=0
+Private=0
+DLL=0
+Locale=1033
+CodePage=1252
+
+[Version Info Keys]
+CompanyName=
+FileDescription=
+FileVersion=1.0.0.0
+InternalName=
+LegalCopyright=
+LegalTrademarks=
+OriginalFilename=
+ProductName=
+ProductVersion=1.0.0.0
+Comments=
+
+[HistoryLists\hlIncludePath]
+Count=4
+Item0=..\;..;..\..\include;$(BCB)\include;$(BCB)\include\vcl
+Item1=..\;..\..\utilities;..\..\include;$(BCB)\include;$(BCB)\include\vcl
+Item2=..;..\..\include;$(BCB)\include;$(BCB)\include\vcl
+Item3=..\..\utilities;$(BCB)\include;$(BCB)\include\vcl
+
+[HistoryLists\hlLibraryPath]
+Count=5
+Item0=..\;..;..\..\lib;$(BCB)\lib\obj;$(BCB)\lib
+Item1=..;..\..\lib;$(BCB)\lib\obj;$(BCB)\lib
+Item2=..\;..;$(BCB)\lib\obj;$(BCB)\lib
+Item3=..\;..\..\utilities;$(BCB)\lib\obj;$(BCB)\lib
+Item4=..\..\utilities;$(BCB)\lib\obj;$(BCB)\lib
+
+[HistoryLists\hlDebugSourcePath]
+Count=1
+Item0=$(BCB)\source\vcl
+
+[HistoryLists\hlConditionals]
+Count=2
+Item0=_ICU_;_ICUSWORD_
+Item1=_DEBUG
+
+[Debugging]
+DebugSourceDirs=$(BCB)\source\vcl
+
+[Parameters]
+RunParams=
+HostApplication=
+RemoteHost=
+RemotePath=
+RemoteDebug=0
+
+[Compiler]
+ShowInfoMsgs=0
+LinkDebugVcl=0
+LinkCGLIB=0
+
+[Language]
+ActiveLang=
+ProjectLang=
+RootDir=
+ </IDEOPTIONS>
+</PROJECT> \ No newline at end of file
diff --git a/utilities/bcppmake/thml2gbs.bpf b/utilities/bcppmake/thml2gbs.bpf
index 0c5e1bc..02043e2 100644
--- a/utilities/bcppmake/thml2gbs.bpf
+++ b/utilities/bcppmake/thml2gbs.bpf
@@ -1,5 +1,8 @@
USEUNIT("..\thml2gbs.cpp");
-USELIB("libsword.lib");
+USELIB("..\..\..\icu-sword\as_is\borland\icuin.lib");
+USELIB("..\..\..\icu-sword\as_is\borland\icudatab.lib");
+USELIB("..\..\..\icu-sword\as_is\borland\icuuc.lib");
+USELIB("..\..\lib\libsword.lib");
//---------------------------------------------------------------------------
This file is used by the project manager only and should be treated like the project file
diff --git a/utilities/bcppmake/thml2gbs.bpr b/utilities/bcppmake/thml2gbs.bpr
index 3efe248..5229e27 100644
--- a/utilities/bcppmake/thml2gbs.bpr
+++ b/utilities/bcppmake/thml2gbs.bpr
@@ -6,9 +6,13 @@
<PROJECT value="thml2gbs.exe"/>
<OBJFILES value="..\thml2gbs.obj"/>
<RESFILES value=""/>
+ <IDLFILES value=""/>
+ <IDLGENFILES value=""/>
<DEFFILE value=""/>
<RESDEPEN value="$(RESFILES)"/>
- <LIBFILES value="libsword.lib"/>
+ <LIBFILES value="..\..\..\icu-sword\as_is\borland\icuin.lib
+ ..\..\..\icu-sword\as_is\borland\icudatab.lib
+ ..\..\..\icu-sword\as_is\borland\icuuc.lib ..\..\lib\libsword.lib"/>
<LIBRARIES value=""/>
<SPARELIBS value=""/>
<PACKAGES value="Vcl50.bpi Vclx50.bpi bcbsmp50.bpi Qrpt50.bpi Vcldb50.bpi Vclbde50.bpi
@@ -22,23 +26,24 @@
<DEBUGLIBPATH value="$(BCB)\lib\debug"/>
<RELEASELIBPATH value="$(BCB)\lib\release"/>
<LINKER value="tlink32"/>
- <USERDEFINES value="_DEBUG"/>
- <SYSDEFINES value="NO_STRICT;_NO_VCL;USEPACKAGES"/>
+ <USERDEFINES value="_ICU_;_ICUSWORD_"/>
+ <SYSDEFINES value="NO_STRICT;_NO_VCL"/>
<MAINSOURCE value="thml2gbs.bpf"/>
<INCLUDEPATH value="..\;..;..\..\include;$(BCB)\include;$(BCB)\include\vcl"/>
- <LIBPATH value="..\;..;C:\INDY\C5\;$(BCB)\lib\obj;$(BCB)\lib"/>
+ <LIBPATH value="..\;..;..\..\lib;$(BCB)\lib\obj;$(BCB)\lib"/>
<WARNINGS value="-w-par"/>
</MACROS>
<OPTIONS>
- <CFLAG1 value="-Od -H=$(BCB)\lib\vcl50.csm -Hc -Vx -Ve -X- -r- -a8 -b- -k -y -v -vi- -tWC
- -tWM- -c"/>
- <PFLAGS value="-$YD -$W -$O- -v -JPHNE -M"/>
+ <IDLCFLAGS value="-I..\. -I.. -I..\..\include -I$(BCB)\include -I$(BCB)\include\vcl
+ -src_suffix cpp -D_ICU_ -D_ICUSWORD_ -boa"/>
+ <CFLAG1 value="-O2 -H=$(BCB)\lib\vcl50.csm -Hc -Vx -Ve -X- -a8 -b- -k- -vi -tWC -tWM- -c"/>
+ <PFLAGS value="-$Y- -$L- -$D- -v -JPHNE -M"/>
<RFLAGS value=""/>
- <AFLAGS value="/mx /w2 /zd"/>
- <LFLAGS value="-D&quot;&quot; -S:0x200000 -Sc:0x20000 -ap -Tpe -x -Gn -v"/>
+ <AFLAGS value="/mx /w2 /zn"/>
+ <LFLAGS value="-D&quot;&quot; -S:0x200000 -Sc:0x20000 -ap -Tpe -x -Gn"/>
</OPTIONS>
<LINKER>
- <ALLOBJ value="c0x32.obj $(PACKAGES) $(OBJFILES)"/>
+ <ALLOBJ value="c0x32.obj $(OBJFILES)"/>
<ALLRES value="$(RESFILES)"/>
<ALLLIB value="$(LIBFILES) $(LIBRARIES) import32.lib cw32.lib"/>
</LINKER>
@@ -78,18 +83,23 @@ Item2=../../include;$(BCB)\include;$(BCB)\include\vcl
Item3=..\;$(BCB)\include;$(BCB)\include\vcl
[HistoryLists\hlLibraryPath]
-Count=3
-Item0=..\;C:\INDY\C5\;..;$(BCB)\lib\obj;$(BCB)\lib
-Item1=C:\INDY\C5;..\;..;$(BCB)\lib\obj;$(BCB)\lib
-Item2=..\;$(BCB)\lib\obj;$(BCB)\lib
+Count=6
+Item0=..\;..;..\..\lib;$(BCB)\lib\obj;$(BCB)\lib
+Item1=..;..\..\lib;$(BCB)\lib\obj;$(BCB)\lib
+Item2=..\;..;C:\INDY\C5\;$(BCB)\lib\obj;$(BCB)\lib
+Item3=..\;C:\INDY\C5\;..;$(BCB)\lib\obj;$(BCB)\lib
+Item4=C:\INDY\C5;..\;..;$(BCB)\lib\obj;$(BCB)\lib
+Item5=..\;$(BCB)\lib\obj;$(BCB)\lib
[HistoryLists\hlDebugSourcePath]
Count=1
Item0=$(BCB)\source\vcl
[HistoryLists\hlConditionals]
-Count=1
-Item0=_DEBUG
+Count=3
+Item0=_ICU_;_ICUSWORD_
+Item1=_ICU_;_ICUSWORD_;_DEBUG
+Item2=_DEBUG
[Debugging]
DebugSourceDirs=$(BCB)\source\vcl
diff --git a/utilities/bcppmake/utilities.bpg b/utilities/bcppmake/utilities.bpg
index 9a54bf0..a3397d7 100644
--- a/utilities/bcppmake/utilities.bpg
+++ b/utilities/bcppmake/utilities.bpg
@@ -9,16 +9,14 @@ MAKE = $(ROOT)\bin\make.exe -$(MAKEFLAGS) -f$**
DCC = $(ROOT)\bin\dcc32.exe $**
BRCC = $(ROOT)\bin\brcc32.exe $**
#------------------------------------------------------------------------------
-PROJECTS = libsword.lib mod2vpl.exe vpl2mod.exe mkfastmod.exe diatheke.exe \
- imp2gbs.exe imp2ld.exe imp2vs.exe thml2gbs.exe mod2zmod.exe
+PROJECTS = icuuc.lib icuin.lib libsword.lib osis2mod.exe mod2zmod.exe \
+ mod2vpl.exe mkfastmod.exe imp2gbs.exe vpl2mod.exe imp2ld.exe imp2vs.exe \
+ thml2gbs.exe mod2imp.exe cipherraw.exe step2vpl.exe stepdump.exe mod2osis.exe \
+ vs2osisref.exe diatheke.exe xml2gbs.exe
#------------------------------------------------------------------------------
default: $(PROJECTS)
#------------------------------------------------------------------------------
-libsword.lib: libsword.bpr
- $(ROOT)\bin\bpr2mak -t$(ROOT)\bin\deflib.bmk $**
- $(ROOT)\bin\make -$(MAKEFLAGS) -f$*.mak
-
mod2vpl.exe: mod2vpl.bpr
$(ROOT)\bin\bpr2mak $**
$(ROOT)\bin\make -$(MAKEFLAGS) -f$*.mak
@@ -31,7 +29,7 @@ mkfastmod.exe: mkfastmod.bpr
$(ROOT)\bin\bpr2mak $**
$(ROOT)\bin\make -$(MAKEFLAGS) -f$*.mak
-diatheke.exe: diatheke.bpr
+cipherraw.exe: cipherraw.bpr
$(ROOT)\bin\bpr2mak $**
$(ROOT)\bin\make -$(MAKEFLAGS) -f$*.mak
@@ -55,4 +53,48 @@ mod2zmod.exe: mod2zmod.bpr
$(ROOT)\bin\bpr2mak $**
$(ROOT)\bin\make -$(MAKEFLAGS) -f$*.mak
+mod2imp.exe: mod2imp.bpr
+ $(ROOT)\bin\bpr2mak $**
+ $(ROOT)\bin\make -$(MAKEFLAGS) -f$*.mak
+
+stepdump.exe: stepdump.bpr
+ $(ROOT)\bin\bpr2mak $**
+ $(ROOT)\bin\make -$(MAKEFLAGS) -f$*.mak
+
+step2vpl.exe: step2vpl.bpr
+ $(ROOT)\bin\bpr2mak $**
+ $(ROOT)\bin\make -$(MAKEFLAGS) -f$*.mak
+
+mod2osis.exe: mod2osis.bpr
+ $(ROOT)\bin\bpr2mak $**
+ $(ROOT)\bin\make -$(MAKEFLAGS) -f$*.mak
+
+vs2osisref.exe: vs2osisref.bpr
+ $(ROOT)\bin\bpr2mak $**
+ $(ROOT)\bin\make -$(MAKEFLAGS) -f$*.mak
+
+libsword.lib: ..\..\lib\bcppmake\libsword.bpr
+ $(ROOT)\bin\bpr2mak -t$(ROOT)\bin\deflib.bmk $**
+ $(ROOT)\bin\make -$(MAKEFLAGS) -f$*.mak
+
+diatheke.exe: diatheke.bpr
+ $(ROOT)\bin\bpr2mak $**
+ $(ROOT)\bin\make -$(MAKEFLAGS) -f$*.mak
+
+icuuc.lib: ..\..\..\icu-sword\as_is\borland\icuuc.bpr
+ $(ROOT)\bin\bpr2mak -t$(ROOT)\bin\deflib.bmk $**
+ $(ROOT)\bin\make -$(MAKEFLAGS) -f$*.mak
+
+icuin.lib: ..\..\..\icu-sword\as_is\borland\icuin.bpr
+ $(ROOT)\bin\bpr2mak -t$(ROOT)\bin\deflib.bmk $**
+ $(ROOT)\bin\make -$(MAKEFLAGS) -f$*.mak
+
+xml2gbs.exe: xml2gbs.bpr
+ $(ROOT)\bin\bpr2mak $**
+ $(ROOT)\bin\make -$(MAKEFLAGS) -f$*.mak
+
+osis2mod.exe: osis2mod.bpr
+ $(ROOT)\bin\bpr2mak $**
+ $(ROOT)\bin\make -$(MAKEFLAGS) -f$*.mak
+
diff --git a/utilities/bcppmake/vpl2mod.bpf b/utilities/bcppmake/vpl2mod.bpf
index 9dff153..353cb31 100644
--- a/utilities/bcppmake/vpl2mod.bpf
+++ b/utilities/bcppmake/vpl2mod.bpf
@@ -1,5 +1,8 @@
USEUNIT("..\vpl2mod.cpp");
-USELIB("libsword.lib");
+USELIB("..\..\..\icu-sword\as_is\borland\icuin.lib");
+USELIB("..\..\..\icu-sword\as_is\borland\icudatab.lib");
+USELIB("..\..\..\icu-sword\as_is\borland\icuuc.lib");
+USELIB("..\..\lib\libsword.lib");
//---------------------------------------------------------------------------
This file is used by the project manager only and should be treated like the project file
diff --git a/utilities/bcppmake/vpl2mod.bpr b/utilities/bcppmake/vpl2mod.bpr
index 8c9ccca..cea0f7a 100644
--- a/utilities/bcppmake/vpl2mod.bpr
+++ b/utilities/bcppmake/vpl2mod.bpr
@@ -6,9 +6,13 @@
<PROJECT value="vpl2mod.exe"/>
<OBJFILES value="..\vpl2mod.obj"/>
<RESFILES value=""/>
+ <IDLFILES value=""/>
+ <IDLGENFILES value=""/>
<DEFFILE value=""/>
<RESDEPEN value="$(RESFILES)"/>
- <LIBFILES value="libsword.lib"/>
+ <LIBFILES value="..\..\..\icu-sword\as_is\borland\icuin.lib
+ ..\..\..\icu-sword\as_is\borland\icudatab.lib
+ ..\..\..\icu-sword\as_is\borland\icuuc.lib ..\..\lib\libsword.lib"/>
<LIBRARIES value=""/>
<SPARELIBS value=""/>
<PACKAGES value="VCL50.bpi VCLX50.bpi bcbsmp50.bpi QRPT50.bpi VCLDB50.bpi VCLBDE50.bpi
@@ -22,14 +26,16 @@
<DEBUGLIBPATH value="$(BCB)\lib\debug"/>
<RELEASELIBPATH value="$(BCB)\lib\release"/>
<LINKER value="tlink32"/>
- <USERDEFINES value=""/>
+ <USERDEFINES value="_ICU_;_ICUSWORD_"/>
<SYSDEFINES value="NO_STRICT;_NO_VCL"/>
<MAINSOURCE value="vpl2mod.bpf"/>
- <INCLUDEPATH value="..\;..\..\utilities;..\..\include;$(BCB)\include;$(BCB)\include\vcl"/>
- <LIBPATH value="..\;..\..\utilities;$(BCB)\lib\obj;$(BCB)\lib"/>
+ <INCLUDEPATH value="..\;..;..\..\include;$(BCB)\include;$(BCB)\include\vcl"/>
+ <LIBPATH value="..\;..;..\..\lib;$(BCB)\lib\obj;$(BCB)\lib"/>
<WARNINGS value="-w-par"/>
</MACROS>
<OPTIONS>
+ <IDLCFLAGS value="-I..\. -I.. -I..\..\include -I$(BCB)\include -I$(BCB)\include\vcl
+ -src_suffix cpp -D_ICU_ -D_ICUSWORD_ -boa"/>
<CFLAG1 value="-O2 -H=$(BCB)\lib\vcl50.csm -Hc -Vx -Ve -X- -a8 -b- -k- -vi -tWC -tWM -c"/>
<PFLAGS value="-$Y- -$L- -$D- -v -JPHNE -M"/>
<RFLAGS value=""/>
@@ -70,23 +76,28 @@ ProductVersion=1.0.0.0
Comments=
[HistoryLists\hlIncludePath]
-Count=3
-Item0=..\;..\..\utilities;..\..\include;$(BCB)\include;$(BCB)\include\vcl
-Item1=..;..\..\include;$(BCB)\include;$(BCB)\include\vcl
-Item2=..\..\utilities;$(BCB)\include;$(BCB)\include\vcl
+Count=4
+Item0=..\;..;..\..\include;$(BCB)\include;$(BCB)\include\vcl
+Item1=..\;..\..\utilities;..\..\include;$(BCB)\include;$(BCB)\include\vcl
+Item2=..;..\..\include;$(BCB)\include;$(BCB)\include\vcl
+Item3=..\..\utilities;$(BCB)\include;$(BCB)\include\vcl
[HistoryLists\hlLibraryPath]
-Count=2
-Item0=..\;..;$(BCB)\lib\obj;$(BCB)\lib
-Item1=..\..\utilities;$(BCB)\lib\obj;$(BCB)\lib
+Count=5
+Item0=..\;..;..\..\lib;$(BCB)\lib\obj;$(BCB)\lib
+Item1=..;..\..\lib;$(BCB)\lib\obj;$(BCB)\lib
+Item2=..\;..;$(BCB)\lib\obj;$(BCB)\lib
+Item3=..\;..\..\utilities;$(BCB)\lib\obj;$(BCB)\lib
+Item4=..\..\utilities;$(BCB)\lib\obj;$(BCB)\lib
[HistoryLists\hlDebugSourcePath]
Count=1
Item0=$(BCB)\source\vcl
[HistoryLists\hlConditionals]
-Count=1
-Item0=_DEBUG
+Count=2
+Item0=_ICU_;_ICUSWORD_
+Item1=_DEBUG
[Debugging]
DebugSourceDirs=$(BCB)\source\vcl
diff --git a/utilities/bcppmake/vs2osisref.bpf b/utilities/bcppmake/vs2osisref.bpf
new file mode 100644
index 0000000..35cb06a
--- /dev/null
+++ b/utilities/bcppmake/vs2osisref.bpf
@@ -0,0 +1,9 @@
+USEUNIT("..\vs2osisref.cpp");
+USELIB("..\..\..\icu-sword\as_is\borland\icuin.lib");
+USELIB("..\..\..\icu-sword\as_is\borland\icudatab.lib");
+USELIB("..\..\..\icu-sword\as_is\borland\icuuc.lib");
+USELIB("..\..\lib\libsword.lib");
+//---------------------------------------------------------------------------
+This file is used by the project manager only and should be treated like the project file
+
+ main \ No newline at end of file
diff --git a/utilities/bcppmake/vs2osisref.bpr b/utilities/bcppmake/vs2osisref.bpr
new file mode 100644
index 0000000..ea85a2d
--- /dev/null
+++ b/utilities/bcppmake/vs2osisref.bpr
@@ -0,0 +1,121 @@
+<?xml version='1.0' encoding='utf-8' ?>
+<!-- C++Builder XML Project -->
+<PROJECT>
+ <MACROS>
+ <VERSION value="BCB.05.03"/>
+ <PROJECT value="vs2osisref.exe"/>
+ <OBJFILES value="..\vs2osisref.obj"/>
+ <RESFILES value=""/>
+ <IDLFILES value=""/>
+ <IDLGENFILES value=""/>
+ <DEFFILE value=""/>
+ <RESDEPEN value="$(RESFILES)"/>
+ <LIBFILES value="..\..\..\icu-sword\as_is\borland\icuin.lib
+ ..\..\..\icu-sword\as_is\borland\icudatab.lib
+ ..\..\..\icu-sword\as_is\borland\icuuc.lib ..\..\lib\libsword.lib"/>
+ <LIBRARIES value=""/>
+ <SPARELIBS value=""/>
+ <PACKAGES value="VCL50.bpi VCLX50.bpi bcbsmp50.bpi QRPT50.bpi VCLDB50.bpi VCLBDE50.bpi
+ ibsmp50.bpi VCLDBX50.bpi TEEUI50.bpi TEEDB50.bpi TEE50.bpi TEEQR50.bpi
+ VCLIB50.bpi bcbie50.bpi VCLIE50.bpi INETDB50.bpi INET50.bpi NMFAST50.bpi
+ dclocx50.bpi bcb2kaxserver50.bpi"/>
+ <PATHCPP value=".;.."/>
+ <PATHPAS value=".;"/>
+ <PATHRC value=".;"/>
+ <PATHASM value=".;"/>
+ <DEBUGLIBPATH value="$(BCB)\lib\debug"/>
+ <RELEASELIBPATH value="$(BCB)\lib\release"/>
+ <LINKER value="tlink32"/>
+ <USERDEFINES value=""/>
+ <SYSDEFINES value="NO_STRICT;_NO_VCL"/>
+ <MAINSOURCE value="vs2osisref.bpf"/>
+ <INCLUDEPATH value="..\;..;..\..\include;$(BCB)\include;$(BCB)\include\vcl"/>
+ <LIBPATH value="..\;..;..\..\lib;$(BCB)\lib\obj;$(BCB)\lib"/>
+ <WARNINGS value="-w-par"/>
+ </MACROS>
+ <OPTIONS>
+ <IDLCFLAGS value="-I..\. -I.. -I..\..\include -I$(BCB)\include -I$(BCB)\include\vcl
+ -src_suffix cpp -boa"/>
+ <CFLAG1 value="-O2 -H=$(BCB)\lib\vcl50.csm -Hc -Vx -Ve -X- -a8 -b- -k- -vi -tWC -tWM -c"/>
+ <PFLAGS value="-$Y- -$L- -$D- -v -JPHNE -M"/>
+ <RFLAGS value=""/>
+ <AFLAGS value="/mx /w2 /zn"/>
+ <LFLAGS value="-D&quot;&quot; -ap -Tpe -x -Gn"/>
+ </OPTIONS>
+ <LINKER>
+ <ALLOBJ value="c0x32.obj $(OBJFILES)"/>
+ <ALLRES value="$(RESFILES)"/>
+ <ALLLIB value="$(LIBFILES) $(LIBRARIES) import32.lib cw32mt.lib"/>
+ </LINKER>
+ <IDEOPTIONS>
+[Version Info]
+IncludeVerInfo=0
+AutoIncBuild=0
+MajorVer=1
+MinorVer=0
+Release=0
+Build=0
+Debug=0
+PreRelease=0
+Special=0
+Private=0
+DLL=0
+Locale=1033
+CodePage=1252
+
+[Version Info Keys]
+CompanyName=
+FileDescription=
+FileVersion=1.0.0.0
+InternalName=
+LegalCopyright=
+LegalTrademarks=
+OriginalFilename=
+ProductName=
+ProductVersion=1.0.0.0
+Comments=
+
+[HistoryLists\hlIncludePath]
+Count=4
+Item0=..\;..;..\..\include;$(BCB)\include;$(BCB)\include\vcl
+Item1=..\;..\..\utilities;..\..\include;$(BCB)\include;$(BCB)\include\vcl
+Item2=..;..\..\include;$(BCB)\include;$(BCB)\include\vcl
+Item3=..\..\utilities;$(BCB)\include;$(BCB)\include\vcl
+
+[HistoryLists\hlLibraryPath]
+Count=5
+Item0=..\;..;..\..\lib;$(BCB)\lib\obj;$(BCB)\lib
+Item1=..;..\..\lib;$(BCB)\lib\obj;$(BCB)\lib
+Item2=..\;..;$(BCB)\lib\obj;$(BCB)\lib
+Item3=..\;..\..\utilities;$(BCB)\lib\obj;$(BCB)\lib
+Item4=..\..\utilities;$(BCB)\lib\obj;$(BCB)\lib
+
+[HistoryLists\hlDebugSourcePath]
+Count=1
+Item0=$(BCB)\source\vcl
+
+[HistoryLists\hlConditionals]
+Count=1
+Item0=_DEBUG
+
+[Debugging]
+DebugSourceDirs=$(BCB)\source\vcl
+
+[Parameters]
+RunParams=Gen1:1
+HostApplication=
+RemoteHost=
+RemotePath=
+RemoteDebug=0
+
+[Compiler]
+ShowInfoMsgs=0
+LinkDebugVcl=0
+LinkCGLIB=0
+
+[Language]
+ActiveLang=
+ProjectLang=
+RootDir=
+ </IDEOPTIONS>
+</PROJECT> \ No newline at end of file
diff --git a/utilities/bcppmake/xml2gbs.bpf b/utilities/bcppmake/xml2gbs.bpf
new file mode 100644
index 0000000..e7a5249
--- /dev/null
+++ b/utilities/bcppmake/xml2gbs.bpf
@@ -0,0 +1,9 @@
+USEUNIT("..\xml2gbs.cpp");
+USELIB("..\..\..\icu-sword\as_is\borland\icuin.lib");
+USELIB("..\..\..\icu-sword\as_is\borland\icudatab.lib");
+USELIB("..\..\..\icu-sword\as_is\borland\icuuc.lib");
+USELIB("..\..\lib\libsword.lib");
+//---------------------------------------------------------------------------
+This file is used by the project manager only and should be treated like the project file
+
+ main \ No newline at end of file
diff --git a/utilities/bcppmake/xml2gbs.bpr b/utilities/bcppmake/xml2gbs.bpr
new file mode 100644
index 0000000..f76a3cc
--- /dev/null
+++ b/utilities/bcppmake/xml2gbs.bpr
@@ -0,0 +1,123 @@
+<?xml version='1.0' encoding='utf-8' ?>
+<!-- C++Builder XML Project -->
+<PROJECT>
+ <MACROS>
+ <VERSION value="BCB.05.03"/>
+ <PROJECT value="xml2gbs.exe"/>
+ <OBJFILES value="..\xml2gbs.obj"/>
+ <RESFILES value=""/>
+ <IDLFILES value=""/>
+ <IDLGENFILES value=""/>
+ <DEFFILE value=""/>
+ <RESDEPEN value="$(RESFILES)"/>
+ <LIBFILES value="..\..\..\icu-sword\as_is\borland\icuin.lib
+ ..\..\..\icu-sword\as_is\borland\icudatab.lib
+ ..\..\..\icu-sword\as_is\borland\icuuc.lib ..\..\lib\libsword.lib"/>
+ <LIBRARIES value=""/>
+ <SPARELIBS value=""/>
+ <PACKAGES value="VCL50.bpi VCLX50.bpi bcbsmp50.bpi QRPT50.bpi VCLDB50.bpi VCLBDE50.bpi
+ ibsmp50.bpi VCLDBX50.bpi TEEUI50.bpi TEEDB50.bpi TEE50.bpi TEEQR50.bpi
+ VCLIB50.bpi bcbie50.bpi VCLIE50.bpi INETDB50.bpi INET50.bpi NMFAST50.bpi
+ dclocx50.bpi bcb2kaxserver50.bpi"/>
+ <PATHCPP value=".;.."/>
+ <PATHPAS value=".;"/>
+ <PATHRC value=".;"/>
+ <PATHASM value=".;"/>
+ <DEBUGLIBPATH value="$(BCB)\lib\debug"/>
+ <RELEASELIBPATH value="$(BCB)\lib\release"/>
+ <LINKER value="tlink32"/>
+ <USERDEFINES value="_ICU_;_ICUSWORD_"/>
+ <SYSDEFINES value="NO_STRICT;_NO_VCL"/>
+ <MAINSOURCE value="xml2gbs.bpf"/>
+ <INCLUDEPATH value="..\;..;..\..\include;$(BCB)\include;$(BCB)\include\vcl"/>
+ <LIBPATH value="..\;..;..\..\lib;$(BCB)\lib\obj;$(BCB)\lib"/>
+ <WARNINGS value="-w-par"/>
+ </MACROS>
+ <OPTIONS>
+ <IDLCFLAGS value="-I..\. -I.. -I..\..\include -I$(BCB)\include -I$(BCB)\include\vcl
+ -src_suffix cpp -D_ICU_ -D_ICUSWORD_ -D_DEBUG -boa"/>
+ <CFLAG1 value="-O2 -H=$(BCB)\lib\vcl50.csm -Hc -Vx -Ve -X- -a8 -b- -k- -vi -tWC -tWM -c"/>
+ <PFLAGS value="-$Y- -$L- -$D- -v -JPHNE -M"/>
+ <RFLAGS value=""/>
+ <AFLAGS value="/mx /w2 /zn"/>
+ <LFLAGS value="-D&quot;&quot; -S:0x300000 -Sc:0x20000 -ap -Tpe -x -Gn"/>
+ </OPTIONS>
+ <LINKER>
+ <ALLOBJ value="c0x32.obj $(OBJFILES)"/>
+ <ALLRES value="$(RESFILES)"/>
+ <ALLLIB value="$(LIBFILES) $(LIBRARIES) import32.lib cw32mt.lib"/>
+ </LINKER>
+ <IDEOPTIONS>
+[Version Info]
+IncludeVerInfo=0
+AutoIncBuild=0
+MajorVer=1
+MinorVer=0
+Release=0
+Build=0
+Debug=0
+PreRelease=0
+Special=0
+Private=0
+DLL=0
+Locale=1033
+CodePage=1252
+
+[Version Info Keys]
+CompanyName=
+FileDescription=
+FileVersion=1.0.0.0
+InternalName=
+LegalCopyright=
+LegalTrademarks=
+OriginalFilename=
+ProductName=
+ProductVersion=1.0.0.0
+Comments=
+
+[HistoryLists\hlIncludePath]
+Count=4
+Item0=..\;..;..\..\include;$(BCB)\include;$(BCB)\include\vcl
+Item1=..\;..\..\utilities;..\..\include;$(BCB)\include;$(BCB)\include\vcl
+Item2=..;..\..\include;$(BCB)\include;$(BCB)\include\vcl
+Item3=..\..\utilities;$(BCB)\include;$(BCB)\include\vcl
+
+[HistoryLists\hlLibraryPath]
+Count=5
+Item0=..\;..;..\..\lib;$(BCB)\lib\obj;$(BCB)\lib
+Item1=..;..\..\lib;$(BCB)\lib\obj;$(BCB)\lib
+Item2=..\;..;$(BCB)\lib\obj;$(BCB)\lib
+Item3=..\;..\..\utilities;$(BCB)\lib\obj;$(BCB)\lib
+Item4=..\..\utilities;$(BCB)\lib\obj;$(BCB)\lib
+
+[HistoryLists\hlDebugSourcePath]
+Count=1
+Item0=$(BCB)\source\vcl
+
+[HistoryLists\hlConditionals]
+Count=3
+Item0=_ICU_;_ICUSWORD_
+Item1=_ICU_;_ICUSWORD_;_DEBUG
+Item2=_DEBUG
+
+[Debugging]
+DebugSourceDirs=$(BCB)\source\vcl
+
+[Parameters]
+RunParams=summatheologica.xml
+HostApplication=
+RemoteHost=
+RemotePath=
+RemoteDebug=0
+
+[Compiler]
+ShowInfoMsgs=0
+LinkDebugVcl=0
+LinkCGLIB=0
+
+[Language]
+ActiveLang=
+ProjectLang=
+RootDir=
+ </IDEOPTIONS>
+</PROJECT> \ No newline at end of file
diff --git a/utilities/cipherraw.cpp b/utilities/cipherraw.cpp
index 1049689..016512c 100644
--- a/utilities/cipherraw.cpp
+++ b/utilities/cipherraw.cpp
@@ -14,7 +14,10 @@
#include <swcipher.h>
#include <versekey.h>
#include <rawverse.h>
-
+#include <swbuf.h>
+#ifndef NO_SWORD_NAMESPACE
+using namespace sword;
+#endif
int main(int argc, char **argv) {
SWCipher *zobj;
@@ -59,7 +62,7 @@ int main(int argc, char **argv) {
key.AutoNormalize(0);
key.Headings(1);
for (key.Index(0); (!key.Error()); key++) {
- rawdrv->findoffset(key.Testament(), key.Index(), &offset, &size);
+ rawdrv->findOffset(key.Testament(), key.Index(), &offset, &size);
printf("%s: OLD offset: %d; size: %d\n", (const char *)key, offset, size);
if ((offset == loffset) && (size == lsize)) {
@@ -74,18 +77,21 @@ int main(int argc, char **argv) {
loffset = offset;
if (size) {
- tmpbuf = (char *) calloc(size + 2, 1);
- rawdrv->gettext(key.Testament(), offset, size + 2, tmpbuf);
- zobj->Buf(tmpbuf, size);
- zobj->cipherBuf((unsigned int *)&size);
- free(tmpbuf);
+ SWBuf tmpbuf;
+ rawdrv->readText(key.Testament(), offset, size, tmpbuf);
+ zobj->Buf(tmpbuf.c_str(), size);
+ unsigned long ulSize = size;
+ zobj->cipherBuf(&ulSize);
+ size = (unsigned int)ulSize;
}
offset = lseek(ofd[key.Testament() - 1], 0, SEEK_CUR);
tmpoff = lseek(oxfd[key.Testament() - 1], 0, SEEK_CUR);
printf("%s: (%ld) NEW offset: %ld; size: %d\n", (const char *)key, tmpoff, offset, size);
write(oxfd[key.Testament() - 1], &offset, 4);
+ unsigned long ulSize = size;
if (size)
- write(ofd[key.Testament() - 1], zobj->cipherBuf((unsigned int *)&size), size);
+ write(ofd[key.Testament() - 1], zobj->cipherBuf(&ulSize), size);
+ size = (unsigned int)ulSize;
lzoffset = offset;
write(oxfd[key.Testament() - 1], &size, 2);
lzsize = size;
diff --git a/utilities/ciphertest.cpp b/utilities/ciphertest.cpp
index da4c422..5ab1859 100644
--- a/utilities/ciphertest.cpp
+++ b/utilities/ciphertest.cpp
@@ -13,7 +13,10 @@
#include <swcipher.h>
#include <versekey.h>
#include <rawverse.h>
-
+#include <swbuf.h>
+#ifndef NO_SWORD_NAMESPACE
+using namespace sword;
+#endif
int main(int argc, char **argv) {
SWCipher *zobj;
@@ -21,7 +24,7 @@ int main(int argc, char **argv) {
RawVerse *rawdrv;
long offset;
unsigned short size;
- unsigned int len;
+ unsigned long len;
char *tmpbuf;
if (argc != 3) {
@@ -42,13 +45,12 @@ int main(int argc, char **argv) {
key.AutoNormalize(0);
key.Headings(1);
for (key.Index(0); (!key.Error()); key++) {
- rawdrv->findoffset(key.Testament(), key.Index(), &offset, &size);
- tmpbuf = (char *) calloc(size + 2, 1);
- rawdrv->gettext(key.Testament(), offset, size + 2, tmpbuf);
+ rawdrv->findOffset(key.Testament(), key.Index(), &offset, &size);
+ SWBuf tmpbuf;
+ rawdrv->readText(key.Testament(), offset, size, tmpbuf);
len = size;
- zobj->cipherBuf(&len, tmpbuf);
+ zobj->cipherBuf(&len, tmpbuf.c_str());
printf("%s\n", zobj->Buf());
- free(tmpbuf);
}
delete zobj;
return 0;
diff --git a/utilities/ciphertest2.cpp b/utilities/ciphertest2.cpp
index 5c7014e..bac5c0c 100644
--- a/utilities/ciphertest2.cpp
+++ b/utilities/ciphertest2.cpp
@@ -14,6 +14,11 @@
#include <versekey.h>
#include <rawtext.h>
+#ifndef NO_SWORD_NAMESPACE
+using sword::VerseKey;
+using sword::RawText;
+using sword::CipherFilter;
+#endif
int main(int argc, char **argv) {
VerseKey key;
diff --git a/utilities/diatheke/Makefile.am b/utilities/diatheke/Makefile.am
new file mode 100644
index 0000000..58d0cf8
--- /dev/null
+++ b/utilities/diatheke/Makefile.am
@@ -0,0 +1,23 @@
+AUTOMAKE_OPTIONS = 1.6
+
+INCLUDES = -I$(top_srcdir)/include
+
+bin_PROGRAMS = diatheke
+
+diatheke_SOURCES = diatheke.cpp corediatheke.cpp diathekemgr.cpp \
+ diafiltmgr.cpp thmlcgi.cpp gbfcgi.cpp osiscgi.cpp
+
+if ICU
+iculibs = -licui18n -licuuc
+endif
+
+if USELUCENE
+lucenelibs = -lclucene
+endif
+
+diatheke_LDADD = -L$(top_builddir)/lib -lsword $(iculibs) $(lucenelibs)
+
+noinst_HEADERS = corediatheke.h diafiltmgr.h diathekemgr.h gbfcgi.h thmlcgi.h \
+ osiscgi.h
+
+include cgi/Makefile.am
diff --git a/utilities/diatheke/Makefile.in b/utilities/diatheke/Makefile.in
new file mode 100644
index 0000000..9c97cc3
--- /dev/null
+++ b/utilities/diatheke/Makefile.in
@@ -0,0 +1,519 @@
+# Makefile.in generated by automake 1.7.4 from Makefile.am.
+# @configure_input@
+
+# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003
+# Free Software Foundation, Inc.
+# This Makefile.in is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+@SET_MAKE@
+
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH = @srcdir@
+pkgdatadir = $(datadir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkgincludedir = $(includedir)/@PACKAGE@
+top_builddir = ../..
+
+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
+INSTALL = @INSTALL@
+install_sh_DATA = $(install_sh) -c -m 644
+install_sh_PROGRAM = $(install_sh) -c
+install_sh_SCRIPT = $(install_sh) -c
+INSTALL_HEADER = $(INSTALL_DATA)
+transform = $(program_transform_name)
+NORMAL_INSTALL = :
+PRE_INSTALL = :
+POST_INSTALL = :
+NORMAL_UNINSTALL = :
+PRE_UNINSTALL = :
+POST_UNINSTALL = :
+host_triplet = @host@
+ACLOCAL = @ACLOCAL@
+AMDEP_FALSE = @AMDEP_FALSE@
+AMDEP_TRUE = @AMDEP_TRUE@
+AMTAR = @AMTAR@
+AUTOCONF = @AUTOCONF@
+AUTOHEADER = @AUTOHEADER@
+AUTOMAKE = @AUTOMAKE@
+AWK = @AWK@
+BUILDEXAMPLES_FALSE = @BUILDEXAMPLES_FALSE@
+BUILDEXAMPLES_TRUE = @BUILDEXAMPLES_TRUE@
+BUILDTESTS_FALSE = @BUILDTESTS_FALSE@
+BUILDTESTS_TRUE = @BUILDTESTS_TRUE@
+BUILDUTILS_FALSE = @BUILDUTILS_FALSE@
+BUILDUTILS_TRUE = @BUILDUTILS_TRUE@
+CC = @CC@
+CCDEPMODE = @CCDEPMODE@
+CFLAGS = @CFLAGS@
+CONFDEF_FALSE = @CONFDEF_FALSE@
+CONFDEF_TRUE = @CONFDEF_TRUE@
+CPPFLAGS = @CPPFLAGS@
+CURL_CFLAGS = @CURL_CFLAGS@
+CURL_CONFIG = @CURL_CONFIG@
+CURL_LIBS = @CURL_LIBS@
+CXX = @CXX@
+CXXCPP = @CXXCPP@
+CXXDEPMODE = @CXXDEPMODE@
+CXXFLAGS = @CXXFLAGS@
+CYGPATH_W = @CYGPATH_W@
+DEFS = @DEFS@
+DEPDIR = @DEPDIR@
+ECHO = @ECHO@
+ECHO_C = @ECHO_C@
+ECHO_N = @ECHO_N@
+ECHO_T = @ECHO_T@
+EGREP = @EGREP@
+EXEEXT = @EXEEXT@
+GENCCODE = @GENCCODE@
+GENCMN = @GENCMN@
+GENRB = @GENRB@
+ICUSWORD_FALSE = @ICUSWORD_FALSE@
+ICUSWORD_TRUE = @ICUSWORD_TRUE@
+ICU_CONFIG = @ICU_CONFIG@
+ICU_FALSE = @ICU_FALSE@
+ICU_IOLIBS = @ICU_IOLIBS@
+ICU_LIBS = @ICU_LIBS@
+ICU_TRUE = @ICU_TRUE@
+ICU_VER = @ICU_VER@
+INSTALLMGR_FALSE = @INSTALLMGR_FALSE@
+INSTALLMGR_TRUE = @INSTALLMGR_TRUE@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+INSTCONF_FALSE = @INSTCONF_FALSE@
+INSTCONF_TRUE = @INSTCONF_TRUE@
+LDFLAGS = @LDFLAGS@
+LIBOBJS = @LIBOBJS@
+LIBS = @LIBS@
+LIBTOOL = @LIBTOOL@
+LN_S = @LN_S@
+LTLIBOBJS = @LTLIBOBJS@
+LUCENE_LIBS = @LUCENE_LIBS@
+MAINT = @MAINT@
+MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@
+MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@
+MAKEINFO = @MAKEINFO@
+MINGW_FALSE = @MINGW_FALSE@
+MINGW_TRUE = @MINGW_TRUE@
+OBJEXT = @OBJEXT@
+PACKAGE = @PACKAGE@
+PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
+PACKAGE_NAME = @PACKAGE_NAME@
+PACKAGE_STRING = @PACKAGE_STRING@
+PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_VERSION = @PACKAGE_VERSION@
+PATH_SEPARATOR = @PATH_SEPARATOR@
+PKGDATA = @PKGDATA@
+PKG_CONFIG = @PKG_CONFIG@
+RANLIB = @RANLIB@
+SET_MAKE = @SET_MAKE@
+SHELL = @SHELL@
+STRIP = @STRIP@
+USELUCENE_FALSE = @USELUCENE_FALSE@
+USELUCENE_TRUE = @USELUCENE_TRUE@
+USE_PKGCONF_FALSE = @USE_PKGCONF_FALSE@
+USE_PKGCONF_TRUE = @USE_PKGCONF_TRUE@
+VERSION = @VERSION@
+ZLIB_FALSE = @ZLIB_FALSE@
+ZLIB_TRUE = @ZLIB_TRUE@
+ac_ct_CC = @ac_ct_CC@
+ac_ct_CXX = @ac_ct_CXX@
+ac_ct_RANLIB = @ac_ct_RANLIB@
+ac_ct_STRIP = @ac_ct_STRIP@
+am__fastdepCC_FALSE = @am__fastdepCC_FALSE@
+am__fastdepCC_TRUE = @am__fastdepCC_TRUE@
+am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@
+am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@
+am__include = @am__include@
+am__leading_dot = @am__leading_dot@
+am__quote = @am__quote@
+bindir = @bindir@
+build = @build@
+build_alias = @build_alias@
+build_cpu = @build_cpu@
+build_os = @build_os@
+build_vendor = @build_vendor@
+datadir = @datadir@
+dir_confdef = @dir_confdef@
+enable_debug = @enable_debug@
+enable_profile = @enable_profile@
+exec_prefix = @exec_prefix@
+host = @host@
+host_alias = @host_alias@
+host_cpu = @host_cpu@
+host_os = @host_os@
+host_vendor = @host_vendor@
+includedir = @includedir@
+infodir = @infodir@
+install_sh = @install_sh@
+libdir = @libdir@
+libexecdir = @libexecdir@
+localstatedir = @localstatedir@
+mandir = @mandir@
+oldincludedir = @oldincludedir@
+prefix = @prefix@
+program_transform_name = @program_transform_name@
+sbindir = @sbindir@
+sharedstatedir = @sharedstatedir@
+sysconfdir = @sysconfdir@
+target = @target@
+target_alias = @target_alias@
+target_cpu = @target_cpu@
+target_mingw32 = @target_mingw32@
+target_os = @target_os@
+target_system = @target_system@
+target_vendor = @target_vendor@
+with_conf = @with_conf@
+with_icu = @with_icu@
+with_zlib = @with_zlib@
+AUTOMAKE_OPTIONS = 1.6
+
+INCLUDES = -I$(top_srcdir)/include
+
+bin_PROGRAMS = diatheke
+
+diatheke_SOURCES = diatheke.cpp corediatheke.cpp diathekemgr.cpp \
+ diafiltmgr.cpp thmlcgi.cpp gbfcgi.cpp osiscgi.cpp
+
+
+@ICU_TRUE@iculibs = -licui18n -licuuc
+
+@USELUCENE_TRUE@lucenelibs = -lclucene
+
+diatheke_LDADD = -L$(top_builddir)/lib -lsword $(iculibs) $(lucenelibs)
+
+noinst_HEADERS = corediatheke.h diafiltmgr.h diathekemgr.h gbfcgi.h thmlcgi.h \
+ osiscgi.h
+
+swcgidir = $(top_srcdir)/apps/console/diatheke/cgi
+
+EXTRA_DIST = $(swcgidir)/dia-def.pl $(swcgidir)/diatheke.pl $(swcgidir)/index-private.html $(swcgidir)/index-public.html
+subdir = utilities/diatheke
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
+CONFIG_HEADER = $(top_builddir)/config.h
+CONFIG_CLEAN_FILES =
+bin_PROGRAMS = diatheke$(EXEEXT)
+PROGRAMS = $(bin_PROGRAMS)
+
+am_diatheke_OBJECTS = diatheke.$(OBJEXT) corediatheke.$(OBJEXT) \
+ diathekemgr.$(OBJEXT) diafiltmgr.$(OBJEXT) thmlcgi.$(OBJEXT) \
+ gbfcgi.$(OBJEXT) osiscgi.$(OBJEXT)
+diatheke_OBJECTS = $(am_diatheke_OBJECTS)
+@ICU_FALSE@@USELUCENE_TRUE@diatheke_DEPENDENCIES =
+@ICU_FALSE@@USELUCENE_FALSE@diatheke_DEPENDENCIES =
+@ICU_TRUE@@USELUCENE_TRUE@diatheke_DEPENDENCIES =
+@ICU_TRUE@@USELUCENE_FALSE@diatheke_DEPENDENCIES =
+diatheke_LDFLAGS =
+
+DEFAULT_INCLUDES = -I. -I$(srcdir) -I$(top_builddir)
+depcomp = $(SHELL) $(top_srcdir)/depcomp
+am__depfiles_maybe = depfiles
+@AMDEP_TRUE@DEP_FILES = ./$(DEPDIR)/corediatheke.Po \
+@AMDEP_TRUE@ ./$(DEPDIR)/diafiltmgr.Po ./$(DEPDIR)/diatheke.Po \
+@AMDEP_TRUE@ ./$(DEPDIR)/diathekemgr.Po ./$(DEPDIR)/gbfcgi.Po \
+@AMDEP_TRUE@ ./$(DEPDIR)/osiscgi.Po ./$(DEPDIR)/thmlcgi.Po
+CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
+ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS)
+LTCXXCOMPILE = $(LIBTOOL) --mode=compile $(CXX) $(DEFS) \
+ $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
+ $(AM_CXXFLAGS) $(CXXFLAGS)
+CXXLD = $(CXX)
+CXXLINK = $(LIBTOOL) --mode=link $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) \
+ $(AM_LDFLAGS) $(LDFLAGS) -o $@
+DIST_SOURCES = $(diatheke_SOURCES)
+HEADERS = $(noinst_HEADERS)
+
+DIST_COMMON = README $(noinst_HEADERS) $(srcdir)/cgi/Makefile.am \
+ Makefile.am Makefile.in
+SOURCES = $(diatheke_SOURCES)
+
+all: all-am
+
+.SUFFIXES:
+.SUFFIXES: .cpp .lo .o .obj
+$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ Makefile.am $(srcdir)/cgi/Makefile.am $(top_srcdir)/configure.ac $(ACLOCAL_M4)
+ cd $(top_srcdir) && \
+ $(AUTOMAKE) --foreign utilities/diatheke/Makefile
+Makefile: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.in $(top_builddir)/config.status
+ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)
+binPROGRAMS_INSTALL = $(INSTALL_PROGRAM)
+install-binPROGRAMS: $(bin_PROGRAMS)
+ @$(NORMAL_INSTALL)
+ $(mkinstalldirs) $(DESTDIR)$(bindir)
+ @list='$(bin_PROGRAMS)'; for p in $$list; do \
+ p1=`echo $$p|sed 's/$(EXEEXT)$$//'`; \
+ if test -f $$p \
+ || test -f $$p1 \
+ ; then \
+ f=`echo "$$p1" | sed 's,^.*/,,;$(transform);s/$$/$(EXEEXT)/'`; \
+ echo " $(INSTALL_PROGRAM_ENV) $(LIBTOOL) --mode=install $(binPROGRAMS_INSTALL) $$p $(DESTDIR)$(bindir)/$$f"; \
+ $(INSTALL_PROGRAM_ENV) $(LIBTOOL) --mode=install $(binPROGRAMS_INSTALL) $$p $(DESTDIR)$(bindir)/$$f || exit 1; \
+ else :; fi; \
+ done
+
+uninstall-binPROGRAMS:
+ @$(NORMAL_UNINSTALL)
+ @list='$(bin_PROGRAMS)'; for p in $$list; do \
+ f=`echo "$$p" | sed 's,^.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/'`; \
+ echo " rm -f $(DESTDIR)$(bindir)/$$f"; \
+ rm -f $(DESTDIR)$(bindir)/$$f; \
+ done
+
+clean-binPROGRAMS:
+ @list='$(bin_PROGRAMS)'; for p in $$list; do \
+ f=`echo $$p|sed 's/$(EXEEXT)$$//'`; \
+ echo " rm -f $$p $$f"; \
+ rm -f $$p $$f ; \
+ done
+diatheke$(EXEEXT): $(diatheke_OBJECTS) $(diatheke_DEPENDENCIES)
+ @rm -f diatheke$(EXEEXT)
+ $(CXXLINK) $(diatheke_LDFLAGS) $(diatheke_OBJECTS) $(diatheke_LDADD) $(LIBS)
+
+mostlyclean-compile:
+ -rm -f *.$(OBJEXT) core *.core
+
+distclean-compile:
+ -rm -f *.tab.c
+
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/corediatheke.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/diafiltmgr.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/diatheke.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/diathekemgr.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gbfcgi.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/osiscgi.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/thmlcgi.Po@am__quote@
+
+distclean-depend:
+ -rm -rf ./$(DEPDIR)
+
+.cpp.o:
+@am__fastdepCXX_TRUE@ if $(CXXCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" \
+@am__fastdepCXX_TRUE@ -c -o $@ `test -f '$<' || echo '$(srcdir)/'`$<; \
+@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; \
+@am__fastdepCXX_TRUE@ else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; \
+@am__fastdepCXX_TRUE@ fi
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ depfile='$(DEPDIR)/$*.Po' tmpdepfile='$(DEPDIR)/$*.TPo' @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCXX_FALSE@ $(CXXCOMPILE) -c -o $@ `test -f '$<' || echo '$(srcdir)/'`$<
+
+.cpp.obj:
+@am__fastdepCXX_TRUE@ if $(CXXCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" \
+@am__fastdepCXX_TRUE@ -c -o $@ `if test -f '$<'; then $(CYGPATH_W) '$<'; else $(CYGPATH_W) '$(srcdir)/$<'; fi`; \
+@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; \
+@am__fastdepCXX_TRUE@ else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; \
+@am__fastdepCXX_TRUE@ fi
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ depfile='$(DEPDIR)/$*.Po' tmpdepfile='$(DEPDIR)/$*.TPo' @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCXX_FALSE@ $(CXXCOMPILE) -c -o $@ `if test -f '$<'; then $(CYGPATH_W) '$<'; else $(CYGPATH_W) '$(srcdir)/$<'; fi`
+
+.cpp.lo:
+@am__fastdepCXX_TRUE@ if $(LTCXXCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" \
+@am__fastdepCXX_TRUE@ -c -o $@ `test -f '$<' || echo '$(srcdir)/'`$<; \
+@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Plo"; \
+@am__fastdepCXX_TRUE@ else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; \
+@am__fastdepCXX_TRUE@ fi
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ depfile='$(DEPDIR)/$*.Plo' tmpdepfile='$(DEPDIR)/$*.TPlo' @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCXX_FALSE@ $(LTCXXCOMPILE) -c -o $@ `test -f '$<' || echo '$(srcdir)/'`$<
+
+mostlyclean-libtool:
+ -rm -f *.lo
+
+clean-libtool:
+ -rm -rf .libs _libs
+
+distclean-libtool:
+ -rm -f libtool
+uninstall-info-am:
+
+ETAGS = etags
+ETAGSFLAGS =
+
+CTAGS = ctags
+CTAGSFLAGS =
+
+tags: TAGS
+
+ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
+ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
+ unique=`for i in $$list; do \
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+ done | \
+ $(AWK) ' { files[$$0] = 1; } \
+ END { for (i in files) print i; }'`; \
+ mkid -fID $$unique
+
+TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
+ $(TAGS_FILES) $(LISP)
+ tags=; \
+ here=`pwd`; \
+ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
+ unique=`for i in $$list; do \
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+ done | \
+ $(AWK) ' { files[$$0] = 1; } \
+ END { for (i in files) print i; }'`; \
+ test -z "$(ETAGS_ARGS)$$tags$$unique" \
+ || $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ $$tags $$unique
+
+ctags: CTAGS
+CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
+ $(TAGS_FILES) $(LISP)
+ tags=; \
+ here=`pwd`; \
+ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
+ unique=`for i in $$list; do \
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+ done | \
+ $(AWK) ' { files[$$0] = 1; } \
+ END { for (i in files) print i; }'`; \
+ test -z "$(CTAGS_ARGS)$$tags$$unique" \
+ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
+ $$tags $$unique
+
+GTAGS:
+ here=`$(am__cd) $(top_builddir) && pwd` \
+ && cd $(top_srcdir) \
+ && gtags -i $(GTAGS_ARGS) $$here
+
+distclean-tags:
+ -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+
+top_distdir = ../..
+distdir = $(top_distdir)/$(PACKAGE)-$(VERSION)
+
+distdir: $(DISTFILES)
+ $(mkinstalldirs) $(distdir)/$(swcgidir) $(distdir)/./cgi
+ @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
+ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
+ list='$(DISTFILES)'; for file in $$list; do \
+ case $$file in \
+ $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
+ $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \
+ esac; \
+ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
+ dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
+ if test "$$dir" != "$$file" && test "$$dir" != "."; then \
+ dir="/$$dir"; \
+ $(mkinstalldirs) "$(distdir)$$dir"; \
+ else \
+ dir=''; \
+ fi; \
+ if test -d $$d/$$file; then \
+ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+ fi; \
+ cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
+ else \
+ test -f $(distdir)/$$file \
+ || cp -p $$d/$$file $(distdir)/$$file \
+ || exit 1; \
+ fi; \
+ done
+check-am: all-am
+check: check-am
+all-am: Makefile $(PROGRAMS) $(HEADERS)
+
+installdirs:
+ $(mkinstalldirs) $(DESTDIR)$(bindir)
+
+install: install-am
+install-exec: install-exec-am
+install-data: install-data-am
+uninstall: uninstall-am
+
+install-am: all-am
+ @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
+
+installcheck: installcheck-am
+install-strip:
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ INSTALL_STRIP_FLAG=-s \
+ `test -z '$(STRIP)' || \
+ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+mostlyclean-generic:
+
+clean-generic:
+
+distclean-generic:
+ -rm -f Makefile $(CONFIG_CLEAN_FILES)
+
+maintainer-clean-generic:
+ @echo "This command is intended for maintainers to use"
+ @echo "it deletes files that may require special tools to rebuild."
+clean: clean-am
+
+clean-am: clean-binPROGRAMS clean-generic clean-libtool mostlyclean-am
+
+distclean: distclean-am
+
+distclean-am: clean-am distclean-compile distclean-depend \
+ distclean-generic distclean-libtool distclean-tags
+
+dvi: dvi-am
+
+dvi-am:
+
+info: info-am
+
+info-am:
+
+install-data-am:
+
+install-exec-am: install-binPROGRAMS
+
+install-info: install-info-am
+
+install-man:
+
+installcheck-am:
+
+maintainer-clean: maintainer-clean-am
+
+maintainer-clean-am: distclean-am maintainer-clean-generic
+
+mostlyclean: mostlyclean-am
+
+mostlyclean-am: mostlyclean-compile mostlyclean-generic \
+ mostlyclean-libtool
+
+pdf: pdf-am
+
+pdf-am:
+
+ps: ps-am
+
+ps-am:
+
+uninstall-am: uninstall-binPROGRAMS uninstall-info-am
+
+.PHONY: CTAGS GTAGS all all-am check check-am clean clean-binPROGRAMS \
+ clean-generic clean-libtool ctags distclean distclean-compile \
+ distclean-depend distclean-generic distclean-libtool \
+ distclean-tags distdir dvi dvi-am info info-am install \
+ install-am install-binPROGRAMS install-data install-data-am \
+ install-exec install-exec-am install-info install-info-am \
+ install-man install-strip installcheck installcheck-am \
+ installdirs maintainer-clean maintainer-clean-generic \
+ mostlyclean mostlyclean-compile mostlyclean-generic \
+ mostlyclean-libtool pdf pdf-am ps ps-am tags uninstall \
+ uninstall-am uninstall-binPROGRAMS uninstall-info-am
+
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:
diff --git a/utilities/diatheke/README b/utilities/diatheke/README
new file mode 100644
index 0000000..5f1a793
--- /dev/null
+++ b/utilities/diatheke/README
@@ -0,0 +1,76 @@
+Diatheke Suite release 4.0
+by Chris Little <chrislit@crosswire.org>
+
+This suite is intended for use with libraries and modules from
+the SWORD Project, available at http://www.crosswire.org/
+
+The latest versions of this suite and its components are available
+at http://www.crosswire.org/sword/diatheke
+
+Version 4.0 of this suite consists of the following components:
+
+Diatheke 4.0 - a command line utility, good for lots of stuff
+Diatheke/CGI 4.0 - a PERL CGI module interface to Diatheke 4.0
+
+--------------------------------------------------------------------
+INSTALLING Diatheke/CGI
+
+To install Diatheke/CGI, first install PERL and a webserver such as
+Apache that is capable of running PERL CGIs. Installing mod_perl is
+recommended for a speed improvement, but is by no means necessary.
+
+Then copy the two .pl files from the ./cgi directory of this
+distribution into your cgi-bin directory. Modify the top of
+diatheke.pl to reflect the correct location of your your diatheke
+command line utility binary and the default font if necessary. The
+CGI is now installed and ready for access.
+
+diatheke.pl is the main lookup script. dia-def.pl is a supplemental
+script used to set a default Bible translation (saved on the
+user's computer as a cookie).
+
+Two sample HTML files are included as sample interfaces for an
+general Web-Bible gateway. index-public.html includes all currently
+available free texts while index-private.html includes all currently
+available texts, including those which are encrypted because
+of copyright and distribution restrictions. In any case, you should
+only use these as a guide, adding and subtracting modules depending
+on which modules you have installed and have permission to publish
+on the internet or your intranet. The bottom section of each file
+includes an example call to the dia-def.pl script to set a default
+Bible version.
+
+You may also direct users directly to your perl script since it will
+present a page with all of your modules. Or you may wish to use this
+default page to create a custom index.html for your users.
+
+----------------------------------------------------------------------
+VERSION HISTORY
+
+4.0 July 8, 2001.
+ Updated to Sword 1.5.2 with innumerable bug fixes.
+ Now builds properly for Win32 using VC++.
+ Diatheke/Tcl and HANDiatheke were omitted, for the moment
+ from this release, but are still available in the CVS.
+
+3.0 March 31, 2001.
+ Self-generating HTML page for the lazy (Diatheke/CGI).
+ Localization support. (Diatheke and Diatheke/CGI).
+
+2.5 Now supports ThML. Numerous bugfixes. December 10, 2000.
+ Includes Diatheke 3.0, Diatheke/CGI 3.0, Diatheke/Tcl 3.0,
+ and HANDiatheke 3.0 (initial version, but version-synced)
+
+2.0 First public release, including Diatheke 2.0, Diatheke/CGI
+ 2.0, and Diatheke/Tcl 2.5. October 23, 1999.
+
+-----------------------------------------------------------------------
+COPYRIGHT
+
+The Diatheke Suite and its components, Diatheke, Diatheke/CGI, and
+Diatheke/Tcl are Copyright 1999, 2000, 2001 by CrossWire Bible Society.
+HANDiatheke is Copyright 2000, 2001 by CrossWire Bible Society.
+The Diatheke Suite and all of its components are licensed through
+the GNU General Public License and are intended for free distribution.
+See http://www.gnu.org/copyleft/gpl.html for details.
+
diff --git a/utilities/diatheke/cgi/Makefile.am b/utilities/diatheke/cgi/Makefile.am
new file mode 100644
index 0000000..87f60cd
--- /dev/null
+++ b/utilities/diatheke/cgi/Makefile.am
@@ -0,0 +1,6 @@
+swcgidir = $(top_srcdir)/apps/console/diatheke/cgi
+
+EXTRA_DIST = $(swcgidir)/dia-def.pl
+EXTRA_DIST += $(swcgidir)/diatheke.pl
+EXTRA_DIST += $(swcgidir)/index-private.html
+EXTRA_DIST += $(swcgidir)/index-public.html
diff --git a/utilities/diatheke/cgi/dia-def.pl b/utilities/diatheke/cgi/dia-def.pl
new file mode 100755
index 0000000..e2f1d4f
--- /dev/null
+++ b/utilities/diatheke/cgi/dia-def.pl
@@ -0,0 +1,41 @@
+#!/usr/bin/perl
+
+#change this variable to hostname of your server
+@values = split(/\&/,$ENV{'QUERY_STRING'});
+$DOMAIN = $ENV{'REMOTE_ADDR'};
+$EXPIRES = 'Fri Dec 31 23:59:00 GMT 2005';
+
+foreach $i (@values) {
+ ($varname, $mydata) = split(/=/,$i);
+ if ($varname eq "defversion") {
+ $COOKIE = "DEFTRANS=$mydata ; expires=$EXPIRES";
+ }
+ elsif ($varname eq "locale") {
+ $COOKIE = "LOCALE=$mydata ; expires=$EXPIRES";
+ }
+ elsif ($varname eq "settrans") {
+ $COOKIE = "SETTRANS=$mydata ; expires=$EXPIRES";
+ }
+ elsif ($varname eq "setcomm") {
+ $COOKIE = "SETCOMM=$mydata ; expires=$EXPIRES";
+ }
+ elsif ($varname eq "setld") {
+ $COOKIE = "SETLD=$mydata ; expires=$EXPIRES";
+ }
+}
+
+# Set the cookie and send the user the thank you page.
+print "Set-cookie: $COOKIE\n";
+print "Content-type: text/html\n\n"; #Note extra newline to mark
+ #end of header.
+
+print "<html><meta http-equiv=\"refresh\" content=\"0\; URL=$ENV{'HTTP_REFERER'}\"></html>";
+
+
+
+
+
+
+
+
+
diff --git a/utilities/diatheke/cgi/diatheke.pl b/utilities/diatheke/cgi/diatheke.pl
new file mode 100755
index 0000000..3b0351d
--- /dev/null
+++ b/utilities/diatheke/cgi/diatheke.pl
@@ -0,0 +1,491 @@
+#!/usr/bin/perl
+
+# Typical Linux/Unix settings
+$err = "2> /dev/null";
+$sword_path = "/home/sword"; # SWORD_PATH environment variable you want to use
+$diatheke = "nice /usr/bin/diatheke"; # location of diatheke command line program
+
+# Typical Windows settings
+#$err = "";
+#$sword_path = "C:\\Program Files\\CrossWire\\The SWORD Project"; # SWORD_PATH environment variable you want to use
+#$diatheke = "$sword_path\\diatheke.exe"; # location of diatheke command line program
+
+$cgiurl = "http:\/\/www.crosswire.org\/cgi-bin";
+
+$scriptname = "diatheke.pl";
+$defaultfontface = "Times New Roman, Times, Roman, serif"; # default font name
+$maxverses = 50; # maximum number of verses diatheke will return per query (prevents people from asking for Gen1:1-Rev22:21)
+$defaultbook = "KJV"; # book to query when none is selected, but a verse/search is entered
+$deflocale = "abbr"; # this is just the default for cases where user has not selected a locale and his browser does not reveal one -- you can also set locale using locale=<locale> in the GET URL
+
+###############################################################################
+## You should not need to edit anything below this line.
+## Unless you want to modify functionality of course. :)
+###############################################################################
+
+$version = "4.2";
+
+sub plussifyaddress {
+ ($p_ver = @_[0]) =~ tr/ /+/;
+ $p_newline = "<a href=\"$scriptname?verse=$p_ver&@_[1]=on\">";
+ return $p_newline;
+}
+
+sub urlvers {
+ $u_verse = @_[0];
+ $u_version = @_[1];
+ $u_oldverse = $u_verse;
+ $u_verse =~ tr/ /+/;
+ $u_newline = "<a href=\"$scriptname?verse=$u_verse&$u_version=on\">$u_oldverse</a>";
+ return $u_newline;
+}
+
+$ENV{'SWORD_PATH'} = $sword_path;
+
+print "Content-type: text/html\n\n";
+
+
+if ($ENV{'HTTP_COOKIE'}) {
+
+ $cookie = $ENV{'HTTP_COOKIE'};
+ $cookie =~ s/\; /=/g;
+ %cookiedata = split(/=/, $cookie);
+
+ $defversion = $cookiedata{DEFTRANS};
+ $locale = $cookiedata{LOCALE};
+}
+
+if ($defversion eq "") {
+ $defversion = 'KJV';
+}
+if ($locale eq "") {
+ $locale = $ENV{'HTTP_ACCEPT_LANGUAGE'};
+ $locale =~ s/(..).*/$1/;
+ if ($locale eq "") {
+ $locale = $deflocale;
+ }
+ elsif ($locale eq "en") {
+ $locale = "abbr";
+ }
+}
+
+$hostname = $ENV{'REMOTE_ADDR'};
+@values = split(/\&/,$ENV{'QUERY_STRING'});
+$n = 0;
+$palm = 0;
+
+$latinxlit = "";
+
+$optionfilters = "";
+$debug=1;
+foreach $i (@values) {
+ ($varname, $mydata) = split(/=/,$i);
+ if ($varname ne "Submit" && $varname ne "lookup") {
+ if ($varname eq "verse") {
+ $verse = $mydata;
+ $verse =~ tr/+/ /;
+ $verse =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg;
+ }
+ elsif ($varname eq "search" && $mydata ne "" && $mydata ne "off") {
+ $search = "-s $mydata";
+ }
+ elsif ($varname eq "range" && $mydata ne "" && $mydata ne "off") {
+ $range = $mydata;
+ $range =~ tr/+/ /;
+ $range =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg;
+ $range = "-r \"$range\"";
+ }
+
+ elsif ($varname eq "strongs") {
+ $optionfilters .= "n";
+ }
+ elsif ($varname eq "footnotes") {
+ $optionfilters .= "f";
+ }
+ elsif ($varname eq "headings") {
+ $optionfilters .= "h";
+ }
+ elsif ($varname eq "morph") {
+ $optionfilters .= "m";
+ }
+ elsif ($varname eq "hebcant") {
+ $optionfilters .= "c";
+ }
+ elsif ($varname eq "hebvowels") {
+ $optionfilters .= "v";
+ }
+ elsif ($varname eq "grkacc") {
+ $optionfilters .= "a";
+ }
+ elsif ($varname eq "lemmas") {
+ $optionfilters .= "l";
+ }
+ elsif ($varname eq "scriprefs") {
+ $optionfilters .= "s";
+ }
+ elsif ($varname eq "arshape") {
+ $optionfilters .= "r";
+ }
+ elsif ($varname eq "bidi") {
+ $optionfilters .= "b";
+ }
+
+ elsif ($varname eq "latinxlit") {
+ $latinxlit = "-t Latin";
+ }
+
+ elsif ($varname eq "palm") {
+ $palm = 1;
+ }
+ elsif ($varname eq "debug") {
+ $debug = 1;
+ }
+ elsif ($varname eq "locale") {
+ $locale = $mydata;
+ }
+ elsif ($varname eq "maxverses") {
+ $maxverses = $mydata;
+ }
+ elsif ($mydata eq "on" || $mydata eq "ON") {
+ $versions[$n] = $varname;
+ $n++;
+ }
+ }
+}
+if ($optionfilters ne "") {
+ $optionfilters = "-o " . $optionfilters;
+}
+
+
+
+if ($n == 0) {
+ $versions[0] = $defaultbook;
+ $n++;
+}
+
+if ($verse eq "") {
+
+ @versionlist = `$diatheke -b system -k modulelist $err`;
+ @versionlist2 = @versionlist;
+ @localelist = `$diatheke -b system -k localelist $err`;
+
+ print <<DEF1;
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Diatheke Online Bible</title>
+</head>
+
+<body>
+
+<form method="get" action="$scriptname">
+ <p /><input type="radio" name="search" checked value="" /><font face="Arial, Helvetica, sans-serif">Verse/Commentary Lookup&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+ Verse or Search key:</font><input type="text" name="verse" size="20"><input type="submit" name="Submit" value="Submit"><input type="reset" name="Reset" value="Reset"><br />
+ <input type="radio" name="search" value="phrase" /><font face="Arial, Helvetica, sans-serif">Phrase Search</font><br />
+ <input type="radio" name="search" value="multiword" /><font face="Arial, Helvetica, sans-serif">Multiple Word Search</font><br />
+ <input type="radio" name="search" value="regex" /><font face="Arial, Helvetica, sans-serif">Regular Expression Search</font><br />
+<br />
+ <table width="100%" border="0">
+ <tr>
+ <td colspan="2" width="100%">
+
+ <table>
+ <tr>
+ <td>
+ <font size="-1" face="Arial, Helvetica, sans-serif">Custom Range Restriction</font>
+ </td>
+ <td>
+ <input type="text" name="range" size="20">
+ </td>
+ </tr>
+ </table>
+
+ </td>
+ </tr>
+
+ <tr>
+ <td width="50%">
+ <input type="checkbox" name="strongs" value="on" checked>
+ <font size="-1" face="Arial, Helvetica, sans-serif">Show Strong's Numbers</font></td>
+ <td width="50%">
+ <input type="checkbox" name="headings" value="on" checked>
+ <font size="-1" face="Arial, Helvetica, sans-serif">Show Section Headings</font></td>
+ </tr>
+ <tr>
+ <td width="50%">
+ <input type="checkbox" name="footnotes" value="on" checked>
+ <font size="-1" face="Arial, Helvetica, sans-serif">Show Footnotes</font></td>
+ <td width="50%">
+ <input type="checkbox" name="scriprefs" value="on" checked>
+ <font size="-1" face="Arial, Helvetica, sans-serif">Show Scripture Cross-References</font></td>
+ </tr>
+ <tr>
+ <td width="50%">
+ <input type="checkbox" name="morph" value="on" checked>
+ <font size="-1" face="Arial, Helvetica, sans-serif">Show Morphology</font></td>
+ <td width="50%">
+ <input type="checkbox" name="hebvowels" value="on" checked>
+ <font size="-1" face="Arial, Helvetica, sans-serif">Show Hebrew Vowels</font></td>
+ </tr>
+ <tr>
+ <td width="50%">
+ <input type="checkbox" name="lemmas" value="on" checked>
+ <font size="-1" face="Arial, Helvetica, sans-serif">Show Lemmas</font></td>
+ <td width="50%">
+ <input type="checkbox" name="hebcant" value="on">
+ <font size="-1" face="Arial, Helvetica, sans-serif">Show Hebrew Cantillation
+ Marks </font></td>
+ </tr>
+ <tr>
+ <td width="50%">
+ <input type="checkbox" name="latinxlit" value="on">
+ <font face="Arial, Helvetica, sans-serif" size="-1">Latin Transliterate</font>
+ </td>
+ <td width="50%">
+ <input type="checkbox" name="grkacc" value="on" checked>
+ <font size="-1" face="Arial, Helvetica, sans-serif">Show Greek Accents</font>
+ </td>
+ </tr>
+ </table>
+ <br />
+ <table BORDER="0" WIDTH="100%">
+DEF1
+
+ foreach $line (@versionlist) {
+ chomp($line);
+
+ if ($line eq "Biblical Texts:") {
+ print "<tr><td><font face=$defaultfontface><b>Biblical Texts:</b></font><br /></td></tr>";
+ }
+ elsif ($line eq "Commentaries:") {
+ print "<tr><td><font face=$defaultfontface><b>Commentaries:</b></font></td></tr>";
+ }
+ elsif ($line eq "Dictionaries:") {
+ print "<tr><td><font face=$defaultfontface><b>Dictionaries & Lexica:</b></font></td></tr>";
+ }
+ else {
+ $line =~ s/([^:]+) : (.+)/<tr><td><input type=\"checkbox\" name=\"$1\" value=\"on\"><font size=\"-1\" face=$defaultfontface>$2 ($1)<\/font><\/td><\/tr>/;
+ print "$line\n";
+ }
+
+ }
+
+ print <<DEF2;
+ </table>
+</form>
+
+<form method="get" action="dia-def.pl">
+ Select default Bible version for cross-references:&nbsp;<select name="defversion" size="1">
+
+DEF2
+
+ $biblesflag = 1;
+ foreach $line (@versionlist2) {
+ if ($biblesflag == 1) {
+ chomp ($line);
+ if ($line eq "Biblical Texts:") {
+ }
+ elsif ($line eq "Commentaries:") {
+ $biblesflag = 0;
+ }
+ else {
+ $line =~ s/([^:]+) : (.+)/<option value=\"$1\">$2 ($1)<\/option>/;
+ print "$line\n";
+ }
+ }
+ }
+
+ print <<DEF3;
+</select><input type="submit" name="Submit" value="Submit"></form><br/><form method="get" action="dia-def.pl">Select locale:&nbsp;
+<select name="locale" size="1"><option value="">browser default</option>
+<option value="en">en</option>
+DEF3
+ foreach $line (@localelist) {
+ chomp($line);
+ print "<option value=\"$line\">$line<\/option>";
+ }
+print <<DEF4
+</select>
+<input type="submit" name="Submit" value="Submit">
+</form>
+</body>
+</html>
+DEF4
+
+}
+else {
+
+
+
+if ($palm == 0) {
+print <<END;
+
+<html><head>
+<title>Diatheke Interlinear Bible</title>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<meta name="palmcomputingplatform" content="true">
+<meta name="historylisttext" content="Diatheke">
+<style type="text/css">
+#divBottom{position:absolute; visibility:hidden; font-family:arial,helvetica; height:30; width:100; font-size:10pt; font-weight:bold}
+A:link, A:visited, A:active{text-decoration: none}
+</style>
+<script type="text/javascript" language="JavaScript">
+/********************************************************************************
+Copyright (C) 1999 Thomas Brattli
+This script is made by and copyrighted to Thomas Brattli at www.bratta.com
+Visit for more great scripts. This may be used freely as long as this msg is intact!
+I will also appriciate any links you could give me.
+********************************************************************************/
+//Default browsercheck, added to all scripts!
+function checkBrowser(){
+ this.ver=navigator.appVersion;
+ this.dom=document.getElementById?1:0;
+ this.ie5=( (this.ver.indexOf("MSIE 6")>-1 || this.ver.indexOf("MSIE 5")>-1) && this.dom)?1:0;
+ this.ie4=(document.all && !this.dom)?1:0;
+ this.ns5=(this.dom && parseInt(this.ver) >= 5) ?1:0;
+ this.ns4=(document.layers && !this.dom)?1:0;
+ this.bw=(this.ie5 || this.ie4 || this.ns4 || this.ns5);
+ return this;
+}
+bw=new checkBrowser()
+/********************************************************************************
+Remeber to set the look of the divBottom layer in the stylesheet (if you wan't
+another font or something)
+********************************************************************************/
+/*Set these values, gright for how much from the right you wan't the layer to go
+and gbottom for how much from the bottom you want it*/
+var gright=160
+var gbottom=80
+
+
+
+/********************************************************************************
+Constructing the ChangeText object
+********************************************************************************/
+function makeObj(obj,nest){
+ nest=(!nest) ? '':'document.'+nest+'.';
+ this.css=bw.dom? document.getElementById(obj).style:bw.ie4?document.all[obj].style:bw.ns4?eval(nest+"document.layers." +obj):0;
+ this.moveIt=b_moveIt;
+}
+function b_moveIt(x,y){this.x=x; this.y=y; this.css.left=this.x; this.css.top=this.y}
+
+/********************************************************************************
+Initilizing the page, getting height and width to moveto and calls the
+object constructor
+********************************************************************************/
+ function geoInit(){
+ oGeo=new makeObj('divBottom');
+ pageWidth=(bw.ie4 || bw.ie5)?document.body.offsetWidth-4:innerWidth;
+ pageHeight=(bw.ie4 || bw.ie5)?document.body.offsetHeight-2:innerHeight;
+ checkIt();
+ // sets the resize handler.
+ onresize=resized;
+ if(bw.ie4 || bw.ie5) window.onscroll=checkIt;
+ // shows the div
+ oGeo.css.visibility='visible';
+ }
+/********************************************************************************
+This function executes onscroll in ie and every 30 millisecond in ns
+and checks if the user have scrolled, and if it has it moves the layer.
+********************************************************************************/
+function checkIt(){
+ if(bw.ie4 || bw.ie5) oGeo.moveIt(document.body.scrollLeft +pageWidth-gright,document.body.scrollTop+pageHeight-gbottom);
+ else if(bw.ns4){
+ oGeo.moveIt(window.pageXOffset+pageWidth-gright, window.pageYOffset+pageHeight-gbottom);
+ setTimeout('checkIt()',30);
+ }
+}
+
+//Adds a onresize event handler to handle the resizing of the window.
+function resized(){
+ pageWidth=(bw.ie4 || bw.ie5)?document.body.offsetWidth-4:innerWidth;
+ pageHeight=(bw.ie4 || bw.ie5)?document.body.offsetHeight-2:innerHeight;
+ if(bw.ie4 || bw.ie5) checkIt()
+}
+
+
+//Calls the geoInit onload
+if(bw.bw && !bw.ns5) onload=geoInit;
+
+//Here we will write the div out so that lower browser won't see it.'
+if(bw.bw && !bw.ns5) document.write('<div id="divBottom"><table><tr><td align="center">Powered by<br /><img src="http://www.crosswire.org/sword/pbsword.gif"><br /><a href="http://www.crosswire.org/">www.crosswire.org</td></tr></table></div>')
+</script>
+
+</head>
+
+<body bgcolor="#FFFFFF"><font face="$defaultfontface">
+
+END
+}
+else {
+print <<END
+
+<html><head>
+<title>HANDiatheke</title>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<meta name="palmcomputingplatform" content="true">
+<meta name="historylisttext" content="HANDiatheke">
+</head>
+<body bgcolor="#FFFFFF"><font face="$defaultfontface">
+END
+}
+for ($i = 0; $i < $n; $i++) {
+
+ $line = "$diatheke $search $range $optionfilters $latinxlit -l $locale -m $maxverses -f cgi -b $versions[$i] -k \"$verse\" $err";
+
+ if ($debug) {
+ print "<br /><i>command line: $line\n</i><br /><br />";
+ }
+ $line = `$line`;
+
+ chomp($line);
+
+ $line =~ s/!DIATHEKE_URL!/$scriptname\?/g;
+
+# Parse and link to Strong's references if present
+
+ $info = `$diatheke -b info -k $versions[$i] $err`;
+ $info =~ /([^\;]+)\;([^\;]+)/;
+ $format = $1;
+ $type = $2;
+
+ if ($versions[$i] eq "StrongsHebrew") {
+ $line =~ s/(see HEBREW for )([0-9]+)/<a href=\"$scriptname?verse=$2&StrongsHebrew=on\">$1$2\<\/a\>/g;
+ }
+ elsif($versions[$i] eq "StrongsGreek") {
+ $line =~ s/(see GREEK for )([0-9]+)/<a href=\"$scriptname?verse=$2&StrongsGreek=on\">$1$2\<\/a\>/g;
+ }
+ #case for searches
+ elsif($search ne "") {
+ $line =~ s/<entry>([^<]+)<\/entry>/urlvers($1, $versions[$i])/eg;
+ }
+ #case for non-ThML, non-Bible texts
+ elsif($type ne "Biblical Texts") {
+ $book = $verse;
+ $book =~ s/^([A-Za-z0-9]+) [0-9]+:[0-9]+.*/$1/;
+ $chapter = $verse;
+ $chapter =~ s/[A-Za-z0-9]+ ([0-9]+):[0-9]+.*/$1/;
+ $line =~ s/\#*([1-9]*[A-Z][a-z]+\.*) ([0-9]+):([0-9]+-*,*[0-9]*)\|*/<a href=\"$scriptname?verse=$1+$2%3A$3&$defversion=on\">$1 $2:$3\<\/a\>/g;
+ $line =~ s/\#([0-9]+):([0-9]+-*,*[0-9]*)\|*/<a href=\"$scriptname?verse=$book+$1%3A$2&$defversion=on\">$book $1:$2\<\/a\>/g;
+ $line =~ s/\#([0-9]+-*,*[0-9]*)\|*/<a href=\"$scriptname?verse=$book+$chapter%3A$1&$defversion=on\">$book $chapter:$1\<\/a\>/g;
+ }
+
+ if ($locale ne "abbr") {
+ $line =~ s/href=\"$scriptname([^\"]+)\"/href=\"$scriptname$1&locale=$locale\"/g;
+ }
+ if ($palm == 1) {
+ $line =~ s/href=\"$scriptname([^\"]+)\"/href=\"$cgiurl\/$scriptname$1&palm=on\"/g;
+ }
+
+ print "$line <br /><br />\n";
+}
+
+if ($palm == 1) {
+ print "<hr>Powered by Diatheke (http:\/\/www.gotjesus.org\/sword\/diatheke) and the SWORD Project (http:\/\/www.crosswire.org\/sword).";
+}
+
+print "<br /><br /><br /><br /></font></body></html>";
+
+}
+
+
diff --git a/utilities/diatheke/cgi/index-private.html b/utilities/diatheke/cgi/index-private.html
new file mode 100644
index 0000000..6afbc91
--- /dev/null
+++ b/utilities/diatheke/cgi/index-private.html
@@ -0,0 +1,1264 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+<title>Diatheke Online Bible</title>
+</head>
+
+<body>
+
+<form method="get" action="cgi-bin/diatheke.pl">
+ <p /> <font face="Arial, Helvetica, sans-serif">Verse or Search key:</font>
+ <input type="text" name="verse" size="20">
+ <input type="submit" name="Submit" value="Submit">
+ <input type="reset" name="Reset" value="Reset">
+ <br />
+ <br />
+ <input type="radio" name="search" checked value="" />
+ <font face="Arial, Helvetica, sans-serif">Verse/Commentary Lookup</font> <br />
+ <input type="radio" name="search" value="phrase" />
+ <font face="Arial, Helvetica, sans-serif">Phrase Search</font><br />
+ <input type="radio" name="search" value="multiword" />
+ <font face="Arial, Helvetica, sans-serif">Multiple Word Search</font><br />
+ <input type="radio" name="search" value="regex" />
+ <font face="Arial, Helvetica, sans-serif">Regular Expression Search<br>
+ <br>
+ </font>
+ <table width="100%" border="0">
+ <tr>
+ <td width="50%">
+ <input type="checkbox" name="strongs" value="on" checked>
+ <font size="-1" face="Arial, Helvetica, sans-serif">Show Strong's Numbers</font></td>
+ <td width="50%">
+ <input type="checkbox" name="headings" value="on" checked>
+ <font size="-1" face="Arial, Helvetica, sans-serif">Show Section Headings</font></td>
+ </tr>
+ <tr>
+ <td width="50%">
+ <input type="checkbox" name="footnotes" value="on" checked>
+ <font size="-1" face="Arial, Helvetica, sans-serif">Show Footnotes</font></td>
+ <td width="50%">
+ <input type="checkbox" name="scriprefs" value="on" checked>
+ <font size="-1" face="Arial, Helvetica, sans-serif">Show Scripture Cross-References</font></td>
+ </tr>
+ <tr>
+ <td width="50%">
+ <input type="checkbox" name="morph" value="on" checked>
+ <font size="-1" face="Arial, Helvetica, sans-serif">Show Morphology</font></td>
+ <td width="50%">
+ <input type="checkbox" name="hebvowels" value="on" checked>
+ <font size="-1" face="Arial, Helvetica, sans-serif">Show Hebrew Vowels</font></td>
+ </tr>
+ <tr>
+ <td width="50%">
+ <input type="checkbox" name="lemmas" value="on" checked>
+ <font size="-1" face="Arial, Helvetica, sans-serif">Show Lemmas</font></td>
+ <td width="50%">
+ <input type="checkbox" name="hebcant" value="on">
+ <font size="-1" face="Arial, Helvetica, sans-serif">Show Hebrew Cantillation
+ Marks </font></td>
+ </tr>
+ <tr>
+ <td width="50%">
+ <input type="checkbox" name="latinxlit" value="on">
+ <font face="Arial, Helvetica, sans-serif" size="-1">Latin Transliterate</font>
+ </td>
+ <td width="50%">
+ <input type="checkbox" name="grkacc" value="on" checked>
+ <font size="-1" face="Arial, Helvetica, sans-serif">Show Greek Accents</font>
+ </td>
+ </tr>
+ </table>
+ <br>
+ <table BORDER="0" WIDTH="100%">
+ <tr>
+ <td width="50%"><font face=Times New Roman, Times, serif><b>English Biblical
+ Texts:</b></font><br />
+ </td>
+ <td width="50%"><font face=Times New Roman, Times, serif><b>Non-English
+ Biblical Texts:</b></font></td>
+ </tr>
+ <tr>
+ <td width="48%">
+ <input type="checkbox" name="AKJV" value="on">
+ <font size="-1" face=Times New Roman, Times, serif>American King James
+ Version (AKJV)</font></td>
+ <td width="50%">
+ <input type="checkbox" name="ALB" value="on">
+ <font size="-1" face=Times New Roman, Times, serif>Albanian Bible (ALB)</font>
+ </td>
+ </tr>
+ <tr>
+ <td width="48%">
+ <input type="checkbox" name="ALT" value="on">
+ <font size="-1" face=Times New Roman, Times, serif>Analytical-Literal
+ Translation (ALT)</font> </td>
+ <td width="50%">
+ <input type="checkbox" name="Afr1953" value="on">
+ <font size="-1" face=Times New Roman, Times, serif>1953 Afrikaans Bybel
+ (Afr1953)</font></td>
+ </tr>
+ <tr>
+ <td width="48%">
+ <input type="checkbox" name="ASV" value="on">
+ <font size="-1" face=Times New Roman, Times, serif>1901 American Standard
+ Version (ASV)</font> </td>
+ <td width="50%">
+ <input type="checkbox" name="Afr1983" value="on">
+ <font size="-1" face=Times New Roman, Times, serif>1983 Afrikaans Bybel
+ (Afr1983)</font></td>
+ </tr>
+ <tr>
+ <td width="48%">
+ <input type="checkbox" name="BBE" value="on">
+ <font size="-1" face=Times New Roman, Times, serif>1965 Bible in Basic
+ English (BBE)</font> </td>
+ <td width="50%">
+ <input type="checkbox" name="AraSVD" value="on">
+ <font size="-1" face=Times New Roman, Times, serif>Smith & Van Dyke Arabic
+ Bible (AraSVD)</font></td>
+ </tr>
+ <tr>
+ <td width="48%">
+ <input type="checkbox" name="BWE" value="on">
+ <font size="-1" face=Times New Roman, Times, serif>Bible in Worldwide
+ English (BWE)</font> </td>
+ <td width="50%">
+ <input type="checkbox" name="ChiGU" value="on">
+ <font size="-1" face=Times New Roman, Times, serif>Chinese Glory Union
+ Bible (ChiGU)</font></td>
+ </tr>
+ <tr>
+ <td width="48%">
+ <input type="checkbox" name="Brenton" value="on">
+ <font size="-1" face=Times New Roman, Times, serif>Brenton's English Translation
+ of the Septuagint (Brenton)</font> </td>
+ <td width="50%">
+ <input type="checkbox" name="CzeBKR" value="on">
+ <font size="-1" face=Times New Roman, Times, serif>Czech Bible Kralicka
+ (CzeBKR)</font></td>
+ </tr>
+ <tr>
+ <td width="48%">
+ <input type="checkbox" name="Common" value="on">
+ <font size="-1" face=Times New Roman, Times, serif>The Common Edition:
+ New Testament (Common)</font> </td>
+ <td width="50%">
+ <input type="checkbox" name="CzeCEP" value="on">
+ <font size="-1" face=Times New Roman, Times, serif>Czech Ekumenicky Cesky
+ preklad (CzeCEP)</font></td>
+ </tr>
+ <tr>
+ <td width="48%">
+ <input type="checkbox" name="DR" value="on">
+ <font size="-1" face=Times New Roman, Times, serif>Douay-Rheims Bible
+ (DR)</font> </td>
+ <td width="50%">
+ <input type="checkbox" name="CzeKMS" value="on">
+ <font size="-1" face=Times New Roman, Times, serif>Czech Preklad KMS Nova
+ smlouva (CzeKMS)</font></td>
+ </tr>
+ <tr>
+ <td width="48%">
+ <input type="checkbox" name="DRA" value="on">
+ <font size="-1" face=Times New Roman, Times, serif>Douay-Rheims 1899 American
+ Edition (DRA)</font> </td>
+ <td width="50%">
+ <input type="checkbox" name="CzeNKB" value="on">
+ <font size="-1" face=Times New Roman, Times, serif>Czech Nova kralicka
+ Bible (CzeNKB)</font></td>
+ </tr>
+ <tr>
+ <td width="48%">
+ <input type="checkbox" name="Darby" value="on">
+ <font size="-1" face=Times New Roman, Times, serif>1889 Darby Bible (Darby)</font>
+ </td>
+ <td width="50%">
+ <input type="checkbox" name="Dan" value="on">
+ <font size="-1" face=Times New Roman, Times, serif>Danske Bibel (Dan)</font>
+ </td>
+ </tr>
+ <tr>
+ <td width="48%">
+ <input type="checkbox" name="GodsWord" value="on">
+ <font size="-1" face=Times New Roman, Times, serif>GOD'S WORD Translation
+ (GodsWord)</font> </td>
+ <td width="50%">
+ <input type="checkbox" name="DutLEI" value="on">
+ <font size="-1" face=Times New Roman, Times, serif>Dutch Leidse Vertaling
+ (DutLEI)</font></td>
+ </tr>
+ <tr>
+ <td width="48%">
+ <input type="checkbox" name="HNV" value="on">
+ <font size="-1" face=Times New Roman, Times, serif>Hebrew Names Version
+ of the World English Bible (HNV)</font> </td>
+ <td width="50%">
+ <input type="checkbox" name="DutLU" value="on">
+ <font size="-1" face=Times New Roman, Times, serif>Dutch Lutherse Vertaling
+ (DutLU)</font></td>
+ </tr>
+ <tr>
+ <td width="48%">
+ <input type="checkbox" name="IGNT" value="on">
+ <font size="-1" face=Times New Roman, Times, serif>Interlinear Greek New
+ Testament (IGNT)</font> </td>
+ <td width="50%">
+ <input type="checkbox" name="DutNBG" value="on">
+ <font size="-1" face=Times New Roman, Times, serif>Dutch Netherlands Bijbelgenootschap
+ Vertaling 1951 (DutNBG)</font></td>
+ </tr>
+ <tr>
+ <td width="48%">
+ <input type="checkbox" name="ISV" value="on">
+ <font size="-1" face=Times New Roman, Times, serif>International Standard
+ Version (ISV)</font> </td>
+ <td width="50%">
+ <input type="checkbox" name="DutPALM" value="on">
+ <font size="-1" face=Times New Roman, Times, serif>Dutch PALM-editie NT
+ (DutPALM)</font></td>
+ </tr>
+ <tr>
+ <td width="48%">
+ <input type="checkbox" name="JPS" value="on">
+ <font size="-1" face=Times New Roman, Times, serif>Jewish Publication
+ Society Old Testament (JPS)</font> </td>
+ <td width="50%">
+ <input type="checkbox" name="DutSVV" value="on">
+ <font size="-1" face=Times New Roman, Times, serif>Dutch Statenvertaling
+ (DutSVV)</font></td>
+ </tr>
+ <tr>
+ <td width="48%">
+ <input type="checkbox" name="KJ21" value="on">
+ <font size="-1" face=Times New Roman, Times, serif>21st Century King James
+ Version (KJ21)</font></td>
+ <td width="50%">
+ <input type="checkbox" name="EquShr" value="on">
+ <font size="-1" face=Times New Roman, Times, serif>Equadorian Shuar NT
+ (EquShr)</font></td>
+ </tr>
+ <tr>
+ <td width="48%">
+ <input type="checkbox" name="KJV" value="on">
+ <font size="-1" face=Times New Roman, Times, serif>King James Version
+ of 1611 w/ Strongs Numbers (KJV)</font></td>
+ <td width="50%">
+ <input type="checkbox" name="Esperanto" value="on">
+ <font size="-1" face=Times New Roman, Times, serif>Esperanto Bible (Esperanto)</font></td>
+ </tr>
+ <tr>
+ <td width="48%">
+ <input type="checkbox" name="LITV" value="on">
+ <font size="-1" face=Times New Roman, Times, serif>Green's Literal Translation
+ (LITV)</font></td>
+ <td width="50%">
+ <input type="checkbox" name="FinPR" value="on">
+ <font size="-1" face=Times New Roman, Times, serif>Finnish 1938 PhyZ Raamattu
+ (FinPR)</font></td>
+ </tr>
+ <tr>
+ <td width="48%">
+ <input type="checkbox" name="LO" value="on">
+ <font size="-1" face=Times New Roman, Times, serif>The Living Oracles
+ NT (LO)</font></td>
+ <td width="50%">
+ <input type="checkbox" name="FreBFC" value="on">
+ <font size="-1" face=Times New Roman, Times, serif>French Bible en francais
+ courant, edition revisee (FreBFC)</font></td>
+ </tr>
+ <tr>
+ <td width="48%">
+ <input type="checkbox" name="MKJV" value="on">
+ <font size="-1" face=Times New Roman, Times, serif>Green's Modern King
+ James Version (MKJV)</font></td>
+ <td width="50%">
+ <input type="checkbox" name="FreBJ" value="on">
+ <font size="-1" face=Times New Roman, Times, serif>French Bible de Jerusalem
+ (FreBJ)</font></td>
+ </tr>
+ <tr>
+ <td width="48%">
+ <input type="checkbox" name="Montgomery" value="on">
+ <font size="-1" face=Times New Roman, Times, serif>Montgomery New Testament
+ (Montgomery)</font></td>
+ <td width="50%">
+ <input type="checkbox" name="FreCrl" value="on">
+ <font size="-1" face=Times New Roman, Times, serif>French Haitian Creole
+ Version (FreCrl)</font></td>
+ </tr>
+ <tr>
+ <td width="48%">
+ <input type="checkbox" name="Murdock" value="on">
+ <font size="-1" face=Times New Roman, Times, serif>James Murdock's Translation
+ of the Syriac Peshitta (Murdock)</font></td>
+ <td width="50%">
+ <input type="checkbox" name="FreDrb" value="on">
+ <font size="-1" face=Times New Roman, Times, serif>French Darby Version
+ (FreDrb)</font></td>
+ </tr>
+ <tr>
+ <td width="48%">
+ <input type="checkbox" name="NAB" value="on">
+ <font size="-1" face=Times New Roman, Times, serif>New American Bible
+ (NAB)</font></td>
+ <td width="50%">
+ <input type="checkbox" name="FreLSG" value="on">
+ <font size="-1" face=Times New Roman, Times, serif>French 1910 Louis Segond
+ (FreLSG)</font></td>
+ </tr>
+ <tr>
+ <td width="48%">
+ <input type="checkbox" name="NASB" value="on">
+ <font size="-1" face=Times New Roman, Times, serif>New American Standard
+ Bible (NASB)</font></td>
+ <td width="50%">
+ <input type="checkbox" name="FreNEG" value="on">
+ <font size="-1" face=Times New Roman, Times, serif>French Nouvelle Edition
+ de Geneve 1979 (FreNEG)</font></td>
+ </tr>
+ <tr>
+ <td width="48%">
+ <input type="checkbox" name="NASB95" value="on">
+ <font size="-1" face=Times New Roman, Times, serif> New American Standard
+ Bible 1995 Update (NASB95)</font></td>
+ <td width="50%">
+ <input type="checkbox" name="FreTOB" value="on">
+ <font size="-1" face=Times New Roman, Times, serif>French Traduction oecumenique
+ de la Bible (FreTOB)</font></td>
+ </tr>
+ <tr>
+ <td width="48%">
+ <input type="checkbox" name="NCV" value="on">
+ <font size="-1" face=Times New Roman, Times, serif>New Century Version
+ (NCV)</font></td>
+ <td width="50%">
+ <input type="checkbox" name="GerBen" value="on">
+ <font size="-1" face=Times New Roman, Times, serif>German Bengel NT (GerBen)</font></td>
+ </tr>
+ <tr>
+ <td width="48%">
+ <input type="checkbox" name="NIV" value="on">
+ <font size="-1" face=Times New Roman, Times, serif>New International Version
+ (NIV)</font></td>
+ <td width="50%">
+ <input type="checkbox" name="GerEin" value="on">
+ <font size="-1" face=Times New Roman, Times, serif>German Einheitsuebersetzung
+ der Heilegen Schrift (GerEin)</font></td>
+ </tr>
+ <tr>
+ <td width="48%">
+ <input type="checkbox" name="NIVBr" value="on">
+ <font size="-1" face=Times New Roman, Times, serif>New International Version,
+ British Edition (NIVBr)</font></td>
+ <td width="50%">
+ <input type="checkbox" name="GerElb" value="on">
+ <font size="-1" face=Times New Roman, Times, serif>German Darby Unrevidierte
+ Elberfelder 1905 (GerElb)</font></td>
+ </tr>
+ <tr>
+ <td width="48%">
+ <input type="checkbox" name="NJB" value="on">
+ <font size="-1" face=Times New Roman, Times, serif>New Jerusalem Bible
+ (NJB)</font></td>
+ <td width="50%">
+ <input type="checkbox" name="GerLut" value="on">
+ <font size="-1" face=Times New Roman, Times, serif>German 1912 Luther
+ (GerLut)</font></td>
+ </tr>
+ <tr>
+ <td width="48%">
+ <input type="checkbox" name="NKJV" value="on">
+ <font size="-1" face=Times New Roman, Times, serif>New King James Version
+ (NKJV)</font></td>
+ <td width="50%">
+ <input type="checkbox" name="GerLut1545" value="on">
+ <font size="-1" face=Times New Roman, Times, serif>German 1545 Luther
+ (GerLut1545)</font></td>
+ </tr>
+ <tr>
+ <td width="48%">
+ <input type="checkbox" name="NLT" value="on">
+ <font size="-1" face=Times New Roman, Times, serif>New Living Translation
+ (NLT)</font></td>
+ <td width="50%">
+ <input type="checkbox" name="GerRElb" value="on">
+ <font size="-1" face=Times New Roman, Times, serif>German Elberfelder
+ Bibel revidierte Fassung 1993 (GerRElb)</font></td>
+ </tr>
+ <tr>
+ <td width="48%">
+ <input type="checkbox" name="NRSV" value="on">
+ <font size="-1" face=Times New Roman, Times, serif>New Revised Standard
+ Version (NRSV)</font></td>
+ <td width="50%">
+ <input type="checkbox" name="GerRLut" value="on">
+ <font size="-1" face=Times New Roman, Times, serif>German Revised Lutherbibel
+ 1984 (GerRLut)</font></td>
+ </tr>
+ <tr>
+ <td width="48%">
+ <input type="checkbox" name="ORTHJBC" value="on">
+ <font size="-1" face=Times New Roman, Times, serif>The Orthodox Jewish
+ Brit Chadasha (ORTHJBC)</font> </td>
+ <td width="50%">
+ <input type="checkbox" name="GerSch" value="on">
+ <font size="-1" face=Times New Roman, Times, serif>German 1951 Schlachter
+ Bibel (GerSch)</font></td>
+ </tr>
+ <tr>
+ <td width="48%">
+ <input type="checkbox" name="Phillips" value="on">
+ <font size="-1" face=Times New Roman, Times, serif>J B Phillips New Testament
+ (Phillips)</font> </td>
+ <td width="50%">
+ <input type="checkbox" name="GothicA" value="on">
+ <font size="-1" face=Times New Roman, Times, serif>Gothic Codex Ambr.
+ A & Mss. (GothicA)</font></td>
+ </tr>
+ <tr>
+ <td width="48%">
+ <input type="checkbox" name="RNKJV" value="on">
+ <font size="-1" face=Times New Roman, Times, serif>Restored Name King
+ James Version (RNKJV)</font> </td>
+ <td width="50%">
+ <input type="checkbox" name="GothicB" value="on">
+ <font size="-1" face=Times New Roman, Times, serif>Gothic Codex Ambr.
+ B & Car. (GothicB)</font></td>
+ </tr>
+ <tr>
+ <td width="48%">
+ <input type="checkbox" name="RSV" value="on">
+ <font size="-1" face=Times New Roman, Times, serif>Revised Standard Version
+ (RSV)</font> </td>
+ <td width="50%">
+ <input type="checkbox" name="HunKar" value="on">
+ <font size="-1" face=Times New Roman, Times, serif>Hungarian Karoli (HunKar)</font></td>
+ </tr>
+ <tr>
+ <td width="48%">
+ <input type="checkbox" name="RWebster" value="on">
+ <font size="-1" face=Times New Roman, Times, serif>Revised 1833 Webster
+ Version (RWebster)</font></td>
+ <td width="50%">
+ <input type="checkbox" name="Icelandic" value="on">
+ <font size="-1" face=Times New Roman, Times, serif>Icelandic Bible (Icelandic)</font></td>
+ </tr>
+ <tr>
+ <td width="48%">
+ <input type="checkbox" name="Rotherham" value="on">
+ <font size="-1" face=Times New Roman, Times, serif>The Emphasized Bible
+ by J. B. Rotherham (Rotherham)</font> </td>
+ <td width="50%">
+ <input type="checkbox" name="IndBIS" value="on">
+ <font size="-1" face=Times New Roman, Times, serif>Indonesian Bahasa Indonesia
+ Sehari-hari (IndBIS)</font></td>
+ </tr>
+ <tr>
+ <td width="48%">
+ <input type="checkbox" name="TEV" value="on">
+ <font size="-1" face=Times New Roman, Times, serif>Todays English Version
+ (Good News Bible) 1966 and 1976 (TEV)</font></td>
+ <td width="50%">
+ <input type="checkbox" name="IndTB" value="on">
+ <font size="-1" face=Times New Roman, Times, serif>Indonesian Terjemahan
+ Baru (IndTB)</font></td>
+ </tr>
+ <tr>
+ <td width="48%">
+ <input type="checkbox" name="TMB" value="on">
+ <font size="-1" face=Times New Roman, Times, serif>Third Millenium Bible
+ (TMB)</font></td>
+ <td width="50%">
+ <input type="checkbox" name="IndTL" value="on">
+ <font size="-1" face=Times New Roman, Times, serif>Indonesian Terjemahan
+ Baru (IndTL)</font></td>
+ </tr>
+ <tr>
+ <td width="48%">
+ <input type="checkbox" name="Twenty" value="on">
+ <font size="-1" face=Times New Roman, Times, serif>Twentieth Century New
+ Testament (Twenty)</font> </td>
+ <td width="50%">
+ <input type="checkbox" name="ItaIEP" value="on">
+ <font size="-1" face=Times New Roman, Times, serif>Italian NVB Nuovissima
+ Versione della Bibbbia San Paolo Edizione (ItaIEP)</font></td>
+ </tr>
+ <tr>
+ <td width="48%">
+ <input type="checkbox" name="WEB" value="on">
+ <font size="-1" face=Times New Roman, Times, serif>World English Bible
+ (WEB)</font></td>
+ <td width="50%">
+ <input type="checkbox" name="ItaLND" value="on">
+ <font size="-1" face=Times New Roman, Times, serif>Italian 1991 La Nuova
+ Diodati (ItaLND)</font></td>
+ </tr>
+ <tr>
+ <td width="48%">
+ <input type="checkbox" name="Websters" value="on">
+ <font size="-1" face=Times New Roman, Times, serif>Webster Bible (Websters)</font>
+ </td>
+ <td width="50%">
+ <input type="checkbox" name="ItaNRV" value="on">
+ <font size="-1" face=Times New Roman, Times, serif>Italian 1994 La Sacra
+ Bibbia Nuova Riveduta (ItaNRV)</font></td>
+ </tr>
+ <tr>
+ <td width="48%">
+ <input type="checkbox" name="Weymouth" value="on">
+ <font size="-1" face=Times New Roman, Times, serif>1912 Weymouth NT (Weymouth)</font>
+ </td>
+ <td width="50%">
+ <input type="checkbox" name="JapKUG" value="on">
+ <font size="-1" face=Times New Roman, Times, serif>Japanese JKUG Translation
+ (JapKUG)</font> </td>
+ </tr>
+ <tr>
+ <td width="48%">
+ <input type="checkbox" name="YLT" value="on">
+ <font size="-1" face=Times New Roman, Times, serif>1898 Young's Literal
+ Translation (YLT)</font> </td>
+ <td width="50%">
+ <input type="checkbox" name="JapSNKI" value="on">
+ <font size="-1" face=Times New Roman, Times, serif>Japanese JSNKI Translation
+ (JapSNKI)</font></td>
+ </tr>
+ <tr>
+ <td width="48%">&nbsp; </td>
+ <td width="50%">
+ <input type="checkbox" name="Ketchi" value="on">
+ <font size="-1" face=Times New Roman, Times, serif>Ketchi Bible (Ketchi)</font></td>
+ </tr>
+ <tr>
+ <td width="48%"><font face=Times New Roman, Times, serif><b>Unorthodox or
+ Heretical Biblical Texts:</b></font> </td>
+ <td width="50%">
+ <input type="checkbox" name="Korean" value="on">
+ <font size="-1" face=Times New Roman, Times, serif>Korean Bible (Korean)</font></td>
+ </tr>
+ <tr>
+ <td width="48%">
+ <input type="checkbox" name="CLNT" value="on">
+ <font size="-1" face=Times New Roman, Times, serif>Concordant Literal
+ New Testament (CLNT)</font> </td>
+ <td width="50%">
+ <input type="checkbox" name="Latvian" value="on">
+ <font size="-1" face=Times New Roman, Times, serif>Latvian New Testament
+ (Latvian)</font> </td>
+ </tr>
+ <tr>
+ <td width="48%">
+ <input type="checkbox" name="Diaglott" value="on">
+ <font size="-1" face=Times New Roman, Times, serif>The Emphatic Diaglott
+ (Diaglott)</font> </td>
+ <td width="50%">
+ <input type="checkbox" name="ManxGaelic" value="on">
+ <font size="-1" face=Times New Roman, Times, serif>Manx Gaelic Scripture
+ Portions (ManxGaelic)</font></td>
+ </tr>
+ <tr>
+ <td width="48%">
+ <input type="checkbox" name="JST" value="on">
+ <font size="-1" face=Times New Roman, Times, serif>Joseph Smith Translation
+ (JST)</font></td>
+ <td width="50%">
+ <input type="checkbox" name="Maori" value="on">
+ <font size="-1" face=Times New Roman, Times, serif>Maori Bible (Maori)</font></td>
+ </tr>
+ <tr>
+ <td width="48%">
+ <input type="checkbox" name="RVIC" value="on">
+ <font size="-1" face=Times New Roman, Times, serif>Revised Version, Improved
+ and Corrected (RVIC)</font></td>
+ <td width="50%">
+ <input type="checkbox" name="Mel" value="on">
+ <font size="-1" face=Times New Roman, Times, serif>Melanesian Pidgin Bible
+ (Mel)</font></td>
+ </tr>
+ <tr>
+ <td width="48%">&nbsp; </td>
+ <td width="50%">
+ <input type="checkbox" name="NorBok" value="on">
+ <font size="-1" face=Times New Roman, Times, serif>Norwegian 1930 Bokmal
+ (NorBok)</font></td>
+ </tr>
+ <tr>
+ <td width="48%"><font face=Times New Roman, Times, serif><b>Original Language
+ Biblical Texts:</b></font> </td>
+ <td width="50%">
+ <input type="checkbox" name="NorN38" value="on">
+ <font size="-1" face=Times New Roman, Times, serif>Norwegian 1938 Nynorsk
+ (NorN38)</font></td>
+ </tr>
+ <tr>
+ <td width="51%">
+ <input type="checkbox" name="LXX" value="on">
+ <font size="-1" face=Times New Roman, Times, serif>Septuagint (LXX)</font></td>
+ <td width="50%">
+ <input type="checkbox" name="NorNBK" value="on">
+ <font size="-1" face=Times New Roman, Times, serif>Norwegian Bibel Konkordant
+ (NorNBK)</font></td>
+ </tr>
+ <tr>
+ <td width="51%">
+ <input type="checkbox" name="LXXM" value="on">
+ <font size="-1" face=Times New Roman, Times, serif>Septuagint, Morphologically
+ Tagged Rahlfs' (LXXM)</font></td>
+ <td width="50%">
+ <input type="checkbox" name="NorNyn" value="on">
+ <font size="-1" face=Times New Roman, Times, serif>Norwegian 1994 Nynorsk
+ (NorNyn)</font></td>
+ </tr>
+ <tr>
+ <td width="48%">
+ <input type="checkbox" name="N27U4" value="on">
+ <font size="-1" face=Times New Roman, Times, serif>Nestle Aland 27th Ed./
+ UBS 4th Ed. Greek Text (N27U4)</font> </td>
+ <td width="50%">
+ <input type="checkbox" name="Norsk" value="on">
+ <font size="-1" face=Times New Roman, Times, serif>Norsk Bibelen (Norsk)</font></td>
+ </tr>
+ <tr>
+ <td width="51%">
+ <input type="checkbox" name="BHS" value="on">
+ <font size="-1" face=Times New Roman, Times, serif>Biblia Hebraica Stuttgartensia
+ (BHS)</font> </td>
+ <td width="50%">
+ <input type="checkbox" name="PhiCEB" value="on">
+ <font size="-1" face=Times New Roman, Times, serif>Philippine Nga Cebuano
+ (PhiCEB)</font> </td>
+ </tr>
+ <tr>
+ <td width="51%">
+ <input type="checkbox" name="Byz" value="on">
+ <font size="-1" face=Times New Roman, Times, serif>1991 Byzantine/Majority
+ Text (Byz)</font></td>
+ <td width="50%">
+ <input type="checkbox" name="PolBTP" value="on">
+ <font size="-1" face=Times New Roman, Times, serif>Polish Millenium Bible
+ 1984, 4th Ed. (PolBTP)</font></td>
+ </tr>
+ <tr>
+ <td width="48%">
+ <input type="checkbox" name="Scrivner" value="on">
+ <font size="-1" face=Times New Roman, Times, serif>1894 Scrivener Textus
+ Receptus (Scrivner)</font></td>
+ <td width="50%">
+ <input type="checkbox" name="PorAA" value="on">
+ <font size="-1" face=Times New Roman, Times, serif>Portuguese Joao Ferreira
+ de Almeida Atualizada (PorAA)</font></td>
+ </tr>
+ <tr>
+ <td width="48%">
+ <input type="checkbox" name="Stephanus" value="on">
+ <font size="-1" face=Times New Roman, Times, serif>1550 Stephanus Textus
+ Receptus (Stephanus)</font></td>
+ <td width="50%">
+ <input type="checkbox" name="PorACF" value="on">
+ <font size="-1" face=Times New Roman, Times, serif>Brazillian Portuguese
+ Joao Ferreira de Almeida, Corrigada Fiel 1995 (PorACF)</font></td>
+ </tr>
+ <tr>
+ <td width="48%">
+ <input type="checkbox" name="Tisch" value="on">
+ <font size="-1" face=Times New Roman, Times, serif>Tischendorf's Eighth
+ Edition GNT (Tisch)</font> </td>
+ <td width="50%">
+ <input type="checkbox" name="PorBRP" value="on">
+ <font size="-1" face=Times New Roman, Times, serif>Portuguese 1994 Almeida
+ Biblia (PorBRP)</font></td>
+ </tr>
+ <tr>
+ <td width="51%">
+ <input type="checkbox" name="Vulgate" value="on">
+ <font size="-1" face=Times New Roman, Times, serif>Latin Vulgate (Vulgate)</font></td>
+ <td width="50%">
+ <input type="checkbox" name="PorRA" value="on">
+ <font size="-1" face=Times New Roman, Times, serif>Portuguese Almeida
+ Revista e Atualizada (PorRA)</font></td>
+ </tr>
+ <tr>
+ <td width="51%">
+ <input type="checkbox" name="Vulgate_HebPs" value="on">
+ <font size="-1" face=Times New Roman, Times, serif>Latin Vulgate Psalms
+ from Hebrew (Vulgate_HebPs)</font></td>
+ <td width="50%">
+ <input type="checkbox" name="PorRC" value="on">
+ <font size="-1" face=Times New Roman, Times, serif>Portuguese Almeida
+ Revista e Corrigida (PorRC)</font></td>
+ </tr>
+ <tr>
+ <td width="51%">
+ <input type="checkbox" name="WH" value="on">
+ <font size="-1" face=Times New Roman, Times, serif>1881 Westcott-Hort
+ Greek Text (WH)</font></td>
+ <td width="50%">
+ <input type="checkbox" name="RST" value="on">
+ <font size="-1" face=Times New Roman, Times, serif>Russian Synodal Translation
+ (RST)</font></td>
+ </tr>
+ <tr>
+ <td width="48%">
+ <input type="checkbox" name="WHNU" value="on">
+ <font size="-1" face=Times New Roman, Times, serif>Westcott-Hort with
+ NA27U4 variants (WHNU)</font> </td>
+ <td width="50%">
+ <input type="checkbox" name="RomCor" value="on">
+ <font size="-1" face=Times New Roman, Times, serif>Romanian Cornilescu
+ Version (RomCor)</font></td>
+ </tr>
+ <tr>
+ <td width="48%">&nbsp;</td>
+ <td width="50%">
+ <input type="checkbox" name="Romani" value="on">
+ <font size="-1" face=Times New Roman, Times, serif>Romani (Gypsy) New
+ Testament (Romani)</font></td>
+ </tr>
+ <tr>
+ <td width="48%"><font face=Times New Roman, Times, serif><b>Commentaries:</b></font></td>
+ <td width="50%">
+ <input type="checkbox" name="Sango" value="on">
+ <font size="-1" face=Times New Roman, Times, serif>Le Sainte Bible en
+ sango, 1996 (Sango)</font></td>
+ </tr>
+ <tr>
+ <td width="48%">
+ <input type="checkbox" name="AudioKJV" value="on">
+ <font size="-1" face=Times New Roman, Times, serif>KJV Audio Bible read
+ by James Scourby (AudioKJV)</font></td>
+ <td width="50%">
+ <input type="checkbox" name="ScotsGaelic" value="on">
+ <font size="-1" face=Times New Roman, Times, serif>Scots Gaelic Gospel
+ of Mark (ScotsGaelic)</font></td>
+ </tr>
+ <tr>
+ <td width="48%">
+ <input type="checkbox" name="Barnes" value="on">
+ <font size="-1" face=Times New Roman, Times, serif>Barnes' New Testament
+ Notes (Barnes)</font></td>
+ <td width="50%">
+ <input type="checkbox" name="SpaLBA" value="on">
+ <font size="-1" face=Times New Roman, Times, serif>Spanish La Biblia de
+ Las Americas (SpaLBA)</font></td>
+ </tr>
+ <tr>
+ <td width="48%">
+ <input type="checkbox" name="Clarke" value="on">
+ <font size="-1" face=Times New Roman, Times, serif>Adam Clarke's Commentary
+ on the Bible (Clarke)</font></td>
+ <td width="50%">
+ <input type="checkbox" name="SpaRV" value="on">
+ <font size="-1" face=Times New Roman, Times, serif>Spanish Reina-Valera
+ (SpaRV)</font></td>
+ </tr>
+ <tr>
+ <td width="48%">
+ <input type="checkbox" name="DTN" value="on">
+ <font size="-1" face=Times New Roman, Times, serif>Darby Translation Notes
+ (DTN)</font></td>
+ <td width="50%">
+ <input type="checkbox" name="SpaRV60" value="on">
+ <font size="-1" face=Times New Roman, Times, serif>Spanish Reina-Valera
+ Revised 1960 (SpaRV60)</font></td>
+ </tr>
+ <tr>
+ <td width="48%">
+ <input type="checkbox" name="Family" value="on">
+ <font size="-1" face=Times New Roman, Times, serif>Family Bible Notes
+ (Family)</font></td>
+ <td width="50%">
+ <input type="checkbox" name="SpaRV95" value="on">
+ <font size="-1" face=Times New Roman, Times, serif>Spanish Reina-Valera
+ Update 1995 (SpaRV95)</font></td>
+ </tr>
+ <tr>
+ <td width="48%">
+ <input type="checkbox" name="Geneva" value="on">
+ <font size="-1" face=Times New Roman, Times, serif>Geneva Bible Translation
+ Notes (Geneva)</font></td>
+ <td width="50%">
+ <input type="checkbox" name="SpaRVA" value="on">
+ <font size="-1" face=Times New Roman, Times, serif>Spanish Version Reina-Valera
+ Actualizada (SpaRVA)</font></td>
+ </tr>
+ <tr>
+ <td width="48%">
+ <input type="checkbox" name="Gill" value="on">
+ <font size="-1" face=Times New Roman, Times, serif>John Gill's Expositor
+ (Gill)</font></td>
+ <td width="50%">
+ <input type="checkbox" name="SpaSEV" value="on">
+ <font size="-1" face=Times New Roman, Times, serif>Spanish 1569 Sagradas
+ Escrituras Version Antigua (SpaSEV)</font></td>
+ </tr>
+ <tr>
+ <td width="48%">
+ <input type="checkbox" name="JFB" value="on">
+ <font size="-1" face=Times New Roman, Times, serif>Jamieson Fausset Brown
+ Bible Commentary (JFB)</font></td>
+ <td width="50%">
+ <input type="checkbox" name="SpaVNT" value="on">
+ <font size="-1" face=Times New Roman, Times, serif>Spanish 1858 Valera
+ New Testament (SpaVNT)</font></td>
+ </tr>
+ <tr>
+ <td width="48%">
+ <input type="checkbox" name="MAK" value="on">
+ <font size="-1" face=Times New Roman, Times, serif>Matthias Ansorgs Kommentar
+ (MAK)</font></td>
+ <td width="50%">
+ <input type="checkbox" name="Swahili" value="on">
+ <font size="-1" face=Times New Roman, Times, serif>Swahili New Testament
+ (Swahili)</font></td>
+ </tr>
+ <tr>
+ <td width="48%">
+ <input type="checkbox" name="MHC" value="on">
+ <font size="-1" face=Times New Roman, Times, serif>Matthew Henry's Complete
+ Commentary on the Whole Bible (MHC)</font></td>
+ <td width="50%">
+ <input type="checkbox" name="SweSVE" value="on">
+ <font size="-1" face=Times New Roman, Times, serif>Swedish Bible 1917
+ New Testament (SweSVE)</font></td>
+ </tr>
+ <tr>
+ <td width="48%">
+ <input type="checkbox" name="MHCC" value="on">
+ <font size="-1" face=Times New Roman, Times, serif>Matthew Henry's Concise
+ Commentary on the Whole Bible (MHCC)</font></td>
+ <td width="50%">
+ <input type="checkbox" name="Tagalog" value="on">
+ <font size="-1" face=Times New Roman, Times, serif>Tagalog (John & James)
+ (Tagalog)</font> </td>
+ </tr>
+ <tr>
+ <td width="48%">
+ <input type="checkbox" name="PNT" value="on">
+ <font size="-1" face=Times New Roman, Times, serif>The People's New Testament
+ (PNT)</font></td>
+ <td width="50%">
+ <input type="checkbox" name="Tamil" value="on">
+ <font size="-1" face=Times New Roman, Times, serif>Tamil Bible (Tamil)</font>
+ </td>
+ </tr>
+ <tr>
+ <td width="48%">
+ <input type="checkbox" name="Personal" value="on">
+ <font size="-1" face=Times New Roman, Times, serif>Personal Commentary
+ (Personal)</font></td>
+ <td width="50%">
+ <input type="checkbox" name="ThaiKJV" value="on">
+ <font size="-1" face=Times New Roman, Times, serif>Thai KJV (ThaiKJV)</font>
+ </td>
+ </tr>
+ <tr>
+ <td width="48%">
+ <input type="checkbox" name="RWP" value="on">
+ <font size="-1" face=Times New Roman, Times, serif>Robertson's Word Pictures
+ (RWP)</font></td>
+ <td width="50%">
+ <input type="checkbox" name="Turkish" value="on">
+ <font size="-1" face=Times New Roman, Times, serif>Turkish NT (Turkish)</font>
+ </td>
+ </tr>
+ <tr>
+ <td width="48%">
+ <input type="checkbox" name="Rieger" value="on">
+ <font size="-1" face=Times New Roman, Times, serif>Carl Heinrich Riegers
+ Kommentar (Rieger)</font></td>
+ <td width="50%">
+ <input type="checkbox" name="UMGreek" value="on">
+ <font size="-1" face=Times New Roman, Times, serif>Unaccented Modern Greek
+ Text (UMGreek)</font></td>
+ </tr>
+ <tr>
+ <td width="48%">
+ <input type="checkbox" name="TDavid" value="on">
+ <font size="-1" face=Times New Roman, Times, serif>C. H. Spurgeon's Treasury
+ of David (TDavid)</font></td>
+ <td width="50%">
+ <input type="checkbox" name="Ukrainian" value="on">
+ <font size="-1" face=Times New Roman, Times, serif>Ukrainian Bible (Ukrainian)</font></td>
+ </tr>
+ <tr>
+ <td width="48%">
+ <input type="checkbox" name="TFG" value="on">
+ <font size="-1" face=Times New Roman, Times, serif>The Fourfold Gospel
+ and Commentary on Acts of Apostles (TFG)</font></td>
+ <td width="50%">
+ <input type="checkbox" name="Uma" value="on">
+ <font size="-1" face=Times New Roman, Times, serif>Uma New Testament (Uma)</font></td>
+ </tr>
+ <tr>
+ <td width="48%">
+ <input type="checkbox" name="TSK" value="on">
+ <font size="-1" face=Times New Roman, Times, serif>Treasury of Scriptural
+ Knowledge (TSK)</font></td>
+ <td width="50%">
+ <input type="checkbox" name="Viet" value="on">
+ <font size="-1" face=Times New Roman, Times, serif>1934 Vietnamese Bible
+ (Viet)</font></td>
+ </tr>
+ <tr>
+ <td width="48%">
+ <input type="checkbox" name="Wesley" value="on">
+ <font size="-1" face=Times New Roman, Times, serif>John Wesley's Notes
+ on the Bible (Wesley)</font></td>
+ <td width="50%">
+ <input type="checkbox" name="Xhosa" value="on">
+ <font size="-1" face=Times New Roman, Times, serif>Xhosa Bible (Xhosa)</font></td>
+ </tr>
+ <tr>
+ <td width="48%">&nbsp;</td>
+ <td width="50%">&nbsp; </td>
+ </tr>
+ <tr>
+ <td width="48%"><font face=Times New Roman, Times, serif><b>Dictionaries
+ & Lexica:</b></font></td>
+ <td width="50%"><font face=Times New Roman, Times, serif><b>Daily Devotionals:</b></font>
+ </td>
+ </tr>
+ <tr>
+ <td width="48%">
+ <input type="checkbox" name="AmTract" value="on">
+ <font size="-1" face=Times New Roman, Times, serif>American Tract Society
+ Bible Dictionary (AmTract)</font></td>
+ <td width="50%">
+ <input type="checkbox" name="Daily" value="on">
+ <font size="-1" face=Times New Roman, Times, serif>Jonathan Bagster's
+ Daily Light on the Daily Path (Daily)</font> </td>
+ </tr>
+ <tr>
+ <td width="48%">
+ <input type="checkbox" name="BDB" value="on">
+ <font size="-1" face=Times New Roman, Times, serif>Brown-Driver-Briggs
+ Hebrew Lexicon (BDB)</font></td>
+ <td width="50%">
+ <input type="checkbox" name="SME" value="on">
+ <font size="-1" face=Times New Roman, Times, serif>C. H. Spurgeon's Morning
+ and Evening: Daily Readins (SME)</font> </td>
+ </tr>
+ <tr>
+ <td width="48%">
+ <input type="checkbox" name="Eastons" value="on">
+ <font size="-1" face=Times New Roman, Times, serif>Easton's Bible Dictionary
+ (Eastons)</font></td>
+ <td width="50%">
+ <input type="checkbox" name="losung_de_89" value="on">
+ <font size="-1" face=Times New Roman, Times, serif>1989 Losung auf deutsch
+ (losung_de_89)</font></td>
+ </tr>
+ <tr>
+ <td width="48%">
+ <input type="checkbox" name="Hitchcocks" value="on">
+ <font size="-1" face=Times New Roman, Times, serif>Hitchcock's Bible Names
+ (Hitchcocks)</font></td>
+ <td width="50%">
+ <input type="checkbox" name="losung_de_90" value="on">
+ <font size="-1" face=Times New Roman, Times, serif>1990 Losung auf deutsch
+ (losung_de_90)</font></td>
+ </tr>
+ <tr>
+ <td width="48%">
+ <input type="checkbox" name="ISBE" value="on">
+ <font size="-1" face=Times New Roman, Times, serif>International Standard
+ Bible Encyclopedia (ISBE)</font></td>
+ <td width="50%">
+ <input type="checkbox" name="losung_de_91" value="on">
+ <font size="-1" face=Times New Roman, Times, serif>1991 Losung auf deutsch
+ (losung_de_91)</font></td>
+ </tr>
+ <tr>
+ <td width="48%">
+ <input type="checkbox" name="Naves" value="on">
+ <font size="-1" face=Times New Roman, Times, serif>Nave's Topical Bible
+ (Naves)</font></td>
+ <td width="50%">
+ <input type="checkbox" name="losung_de_92" value="on">
+ <font size="-1" face=Times New Roman, Times, serif>1992 Losung auf deutsch
+ (losung_de_92)</font></td>
+ </tr>
+ <tr>
+ <td width="48%">
+ <input type="checkbox" name="Packard" value="on">
+ <font size="-1" face=Times New Roman, Times, serif>Packard's Morphological
+ Analysis Codes (Packard)</font></td>
+ <td width="50%">
+ <input type="checkbox" name="losung_de_93" value="on">
+ <font size="-1" face=Times New Roman, Times, serif>1993 Losung auf deutsch
+ (losung_de_93)</font></td>
+ </tr>
+ <tr>
+ <td width="48%">
+ <input type="checkbox" name="Smiths" value="on">
+ <font size="-1" face=Times New Roman, Times, serif>Smith's Bible Dictionary
+ (Smiths)</font></td>
+ <td width="50%">
+ <input type="checkbox" name="losung_de_94" value="on">
+ <font size="-1" face=Times New Roman, Times, serif>1994 Losung auf deutsch
+ (losung_de_94)</font></td>
+ </tr>
+ <tr>
+ <td width="48%">
+ <input type="checkbox" name="StrongsGreek" value="on">
+ <font size="-1" face=Times New Roman, Times, serif>Strong's Greek Bible
+ Dictionary (StrongsGreek)</font></td>
+ <td width="50%">
+ <input type="checkbox" name="losung_de_95" value="on">
+ <font size="-1" face=Times New Roman, Times, serif>1995 Losung auf deutsch
+ (losung_de_95)</font></td>
+ </tr>
+ <tr>
+ <td width="48%">
+ <input type="checkbox" name="StrongsHebrew" value="on">
+ <font size="-1" face=Times New Roman, Times, serif>Strong's Hebrew Bible
+ Dictionary (StrongsHebrew)</font></td>
+ <td width="50%">
+ <input type="checkbox" name="losung_de_96" value="on">
+ <font size="-1" face=Times New Roman, Times, serif>1996 Losung auf deutsch
+ (losung_de_96)</font></td>
+ </tr>
+ <tr>
+ <td width="48%">
+ <input type="checkbox" name="Thayer" value="on">
+ <font size="-1" face=Times New Roman, Times, serif>Thayer's Greek Lexicon
+ (Thayer)</font></td>
+ <td width="50%">
+ <input type="checkbox" name="losung_de_97" value="on">
+ <font size="-1" face=Times New Roman, Times, serif>1997 Losung auf deutsch
+ (losung_de_97)</font></td>
+ </tr>
+ <tr>
+ <td width="48%">
+ <input type="checkbox" name="Torrey" value="on">
+ <font size="-1" face=Times New Roman, Times, serif>R. A. Torrey's New
+ Topical Textbook (Torrey)</font></td>
+ <td width="50%">
+ <input type="checkbox" name="losung_de_98" value="on">
+ <font size="-1" face=Times New Roman, Times, serif>1998 Losung auf deutsch
+ (losung_de_98)</font></td>
+ </tr>
+ <tr>
+ <td width="48%" height="23">
+ <input type="checkbox" name="Vines" value="on">
+ <font size="-1" face=Times New Roman, Times, serif>Vines Bible Dictionary
+ (Vines)</font></td>
+ <td width="50%">
+ <input type="checkbox" name="losung_de_99" value="on">
+ <font size="-1" face=Times New Roman, Times, serif>1999 Losung auf deutsch
+ (losung_de_99)</font></td>
+ </tr>
+ <tr>
+ <td width="48%">
+ <input type="checkbox" name="WebstersDict" value="on">
+ <font size="-1" face=Times New Roman, Times, serif>Webster's Revised Unabridged
+ Dictionary 1913 (WebstersDict)</font></td>
+ <td width="50%">
+ <input type="checkbox" name="losung_en_96" value="on">
+ <font size="-1" face=Times New Roman, Times, serif>1996 Watchwords (Losung)
+ in English (losung_en_96)</font></td>
+ </tr>
+ <tr>
+ <td width="48%" height="23">&nbsp;</td>
+ <td width="50%" height="23">
+ <input type="checkbox" name="losung_en_97" value="on">
+ <font size="-1" face=Times New Roman, Times, serif>1997 Watchwords (Losung)
+ in English (losung_en_97)</font></td>
+ </tr>
+ <tr>
+ <td width="48%">&nbsp;</td>
+ <td width="50%">
+ <input type="checkbox" name="losung_en_98" value="on">
+ <font size="-1" face=Times New Roman, Times, serif>1998 Watchwords (Losung)
+ in English (losung_en_98)</font></td>
+ </tr>
+ <tr>
+ <td width="48%">&nbsp; </td>
+ <td width="50%">
+ <input type="checkbox" name="losung_en_99" value="on">
+ <font size="-1" face=Times New Roman, Times, serif>1999 Watchwords (Losung)
+ in English (losung_en_99)</font></td>
+ </tr>
+ <tr>
+ <td width="48%">&nbsp; </td>
+ <td width="50%">
+ <input type="checkbox" name="losung_es_99" value="on">
+ <font size="-1" face=Times New Roman, Times, serif>1999 Watchwords (Losung)
+ en Castellano (losung_es_99)</font></td>
+ </tr>
+ <tr>
+ <td width="48%">&nbsp;</td>
+ <td width="50%">
+ <input type="checkbox" name="losung_nl_99" value="on">
+ <font size="-1" face=Times New Roman, Times, serif>1999 Watchwords (Losung)
+ in Dutch (losung_nl_99)</font></td>
+ </tr>
+ </table>
+</form>
+
+<form method="get" action="cgi-bin/dia-def.pl">
+ Select default Bible version for cross-references:&nbsp;<select name="defversion" size="1">
+
+<option value="AKJV">American King James Version (AKJV)</option>
+<option value="ALB">Albanian Bible (ALB)</option>
+<option value="ALT">Analytical-Literal Translation (ALT)</option>
+<option value="ASV">1901 American Standard Version (ASV)</option>
+<option value="Afr1953">1953 Afrikaans Bybel (Afr1953)</option>
+<option value="Afr1983">1983 Afrikaans Bybel (Afr1983)</option>
+<option value="AraSVD">Smith & Van Dyke Arabic Bible (AraSVD)</option>
+<option value="BBE">1965 Bible in Basic English (BBE)</option>
+<option value="BHS">Biblia Hebraica Stuttgartensia (BHS)</option>
+<option value="BWE">Bible in Worldwide English (BWE)</option>
+<option value="Brenton">Brenton's English Translation of the Septuagint (Brenton)</option>
+<option value="Byz">1991 Byzantine/Majority Text (Byz)</option>
+<option value="CLNT">Concordant Literal New Testament (CLNT)</option>
+<option value="ChiGU">Chinese Glory Union Bible (ChiGU)</option>
+<option value="Common">The Common Edition: New Testament (Common)</option>
+<option value="CzeBKR">Czech Bible Kralicka (CzeBKR)</option>
+<option value="CzeCEP">Czech Ekumenicky Cesky preklad (CzeCEP)</option>
+<option value="CzeKMS">Czech Preklad KMS Nova smlouva (CzeKMS)</option>
+<option value="CzeNKB">Czech Nova kralicka Bible (CzeNKB)</option>
+<option value="DR">Douay-Rheims Bible (DR)</option>
+<option value="DRA">Douay-Rheims 1899 American Edition (DRA)</option>
+<option value="Dan">Danske Bibel (Dan)</option>
+<option value="Darby">1889 Darby Bible (Darby)</option>
+<option value="Diaglott">The Emphatic Diaglott (Diaglott)</option>
+<option value="DutLEI">Dutch Leidse Vertaling (DutLEI)</option>
+<option value="DutLU">Dutch Lutherse Vertaling (DutLU)</option>
+<option value="DutNBG">Dutch Netherlands Bijbelgenootschap Vertaling 1951 (DutNBG)</option>
+<option value="DutPALM">Dutch PALM-editie NT (DutPALM)</option>
+<option value="DutSVV">Dutch Statenvertaling (DutSVV)</option>
+<option value="EquShr">Equadorian Shuar NT (EquShr)</option>
+<option value="Esperanto">Esperanto Bible (Esperanto)</option>
+<option value="FinPR">Finnish 1938 PhyZ Raamattu (FinPR)</option>
+<option value="FreBFC">French Bible en francais courant, edition revisee (FreBFC)</option>
+<option value="FreBJ">French Bible de Jerusalem (FreBJ)</option>
+<option value="FreCrl">French Haitian Creole Version (FreCrl)</option>
+<option value="FreDrb">French Darby Version (FreDrb)</option>
+<option value="FreLSG">1910 Louis Segond (FreLSG)</option>
+<option value="FreNEG">French Nouvelle Edition de Geneve 1979 (FreNEG)</option>
+<option value="FreTOB">French Traduction oecumenique de la Bible (FreTOB)</option>
+<option value="GerBen">German Bengel NT (GerBen)</option>
+<option value="GerEin">German Einheitsuebersetzung der Heilegen Schrift (GerEin)</option>
+<option value="GerElb">German Darby Unrevidierte Elberfelder 1905 (GerElb)</option>
+<option value="GerLut">German 1912 Luther (GerLut)</option>
+<option value="GerLut1545">German 1545 Luther (GerLut1545)</option>
+<option value="GerRElb">German Elberfelder Bibel revidierte Fassung 1993 (GerRElb)</option>
+<option value="GerRLut">German Revised Lutherbibel 1984 (GerRLut)</option>
+<option value="GerSch">German 1951 Schlachter Bibel (GerSch)</option>
+<option value="GodsWord">GOD'S WORD Translation (GodsWord)</option>
+<option value="GothicA">Gothic Codex Ambr. A & Mss. (GothicA)</option>
+<option value="GothicB">Gothic Codex Ambr. B & Car. (GothicB)</option>
+<option value="HNV">Hebrew Names Version of the World English Bible (HNV)</option>
+<option value="HunKar">Hungarian Karoli (HunKar)</option>
+<option value="IGNT">Interlinear Greek New Testament (IGNT)</option>
+<option value="ISV">International Standard Version (ISV)</option>
+<option value="Icelandic">Icelandic Bible (Icelandic)</option>
+<option value="IndBIS">Indonesian Bahasa Indonesia Sehari-hari (IndBIS)</option>
+<option value="IndTB">Indonesian Terjemahan Baru (IndTB)</option>
+<option value="IndTL">Indonesian Terjemahan Baru (IndTL)</option>
+<option value="ItaIEP">Italian NVB Nuovissima Versione della Bibbbia San Paolo Edizione (ItaIEP)</option>
+<option value="ItaLND">Italian 1991 La Nuova Diodati (ItaLND)</option>
+<option value="ItaNRV">Italian 1994 La Sacra Bibbia Nuova Riveduta (ItaNRV)</option>
+<option value="JPS">Jewish Publication Society Old Testament (JPS)</option>
+<option value="JST">Joseph Smith Translation (JST)</option>
+<option value="JapKUG">Japanese JKUG Translation (JapKUG)</option>
+<option value="JapSNKI">Japanese JSNKI Translation (JapSNKI)</option>
+<option value="KJ21">21st Century King James Version (KJ21)</option>
+<option value="KJV">King James Version of 1611 w/ Strongs Numbers (KJV)</option>
+<option value="Ketchi">Ketchi Bible (Ketchi)</option>
+<option value="Korean">Korean Bible (Korean)</option>
+<option value="LITV">Green's Literal Translation (LITV)</option>
+<option value="LO">The Living Oracles NT (LO)</option>
+<option value="LXX">Septuagint (LXX)</option>
+<option value="LXXM">Septuagint, Morphologically Tagged Rahlfs' (LXXM)</option>
+<option value="Latvian">Latvian New Testament (Latvian)</option>
+<option value="MKJV">Green's Modern King James Version (MKJV) (MKJV)</option>
+<option value="ManxGaelic">Manx Gaelic Scripture Portions (ManxGaelic)</option>
+<option value="Maori">Maori Bible (Maori)</option>
+<option value="Mel">Melanesian Pidgin Bible (Mel)</option>
+<option value="Montgomery">Montgomery New Testament (Montgomery)</option>
+<option value="Murdock">James Murdock's Translation of the Syriac Peshitta (Murdock)</option>
+<option value="N27U4">Nestle Aland 27th Ed./ UBS 4th Ed. Greek Text (N27U4)</option>
+<option value="NAB">New American Bible (NAB)</option>
+<option value="NASB">The New American Standard Bible (NASB)</option>
+<option value="NASB95">The New American Standard Bible 1995 Update (NASB95)</option>
+<option value="NCV">New Century Version (NCV)</option>
+<option value="NIV">New International Version (NIV)</option>
+<option value="NIVBr">New International Version, British Edition (NIVBr)</option>
+<option value="NJB">New Jerusalem Bible (NJB)</option>
+<option value="NKJV">New King James Version (NKJV)</option>
+<option value="NLT">New Living Translation (NLT)</option>
+<option value="NRSV">New Revised Standard Version (NRSV)</option>
+<option value="NorBok">Norwegian 1930 Bokmal (NorBok)</option>
+<option value="NorN38">Norwegian 1938 Nynorsk (NorN38)</option>
+<option value="NorNBK">Norwegian Bibel Konkordant (NorNBK)</option>
+<option value="NorNyn">Norwegian 1994 Nynorsk (NorNyn)</option>
+<option value="Norsk">Norsk Bibelen (Norsk)</option>
+<option value="ORTHJBC">The Orthodox Jewish Brit Chadasha (ORTHJBC)</option>
+<option value="PhiCEB">Philippine Nga Cebuano (PhiCEB)</option>
+<option value="Phillips">J B Phillips New Testament (Phillips)</option>
+<option value="PolBTP">Polish Millenium Bible 1984, 4th Ed. (PolBTP)</option>
+<option value="PorAA">Portuguese Joao Ferreira de Almeida Atualizada (PorAA)</option>
+<option value="PorACF">Brazillian Portuguese Joao Ferreira de Almeida, Corrigada Fiel 1995 (PorACF)</option>
+<option value="PorBRP">Portuguese 1994 Almeida Biblia (PorBRP)</option>
+<option value="PorRA">Portuguese Almeida Revista e Atualizada (PorRA)</option>
+<option value="PorRC">Portuguese Almeida Revista e Corrigida (PorRC)</option>
+<option value="RNKJV">Restored Name King James Version (RNKJV)</option>
+<option value="RST">Russian Synodal Translation (RST)</option>
+<option value="RSV">Revised Standard Version (RSV)</option>
+<option value="RVIC">Revised Version, Improved and Corrected (RVIC)</option>
+<option value="RWebster">Revised 1833 Webster Version (RWebster)</option>
+<option value="RomCor">Romanian Cornilescu Version (RomCor)</option>
+<option value="Romani">Romani (Gypsy) New Testament (Romani)</option>
+<option value="Rotherham">The Emphasized Bible by J. B. Rotherham (Rotherham)</option>
+<option value="Sango">Le Sainte Bible en sango, 1996 (Sango)</option>
+<option value="ScotsGaelic">Scots Gaelic Gospel of Mark (ScotsGaelic)</option>
+<option value="Scrivner">1894 Scrivener Textus Receptus (Scrivner)</option>
+<option value="SpaLBA">Spanish La Biblia de Las Americas (SpaLBA)</option>
+<option value="SpaRV">Spanish Reina-Valera (SpaRV)</option>
+<option value="SpaRV60">Spanish Reina-Valera Revised 1960 (SpaRV60)</option>
+<option value="SpaRV95">Spanish Reina-Valera Update 1995 (SpaRV95)</option>
+<option value="SpaRVA">Spanish Version Reina-Valera Actualizada (SpaRVA)</option>
+<option value="SpaSEV">Spanish 1569 Sagradas Escrituras Version Antigua (SpaSEV)</option>
+<option value="SpaVNT">Spanish 1858 Valera New Testament (SpaVNT)</option>
+<option value="Stephanus">1550 Stephanus Textus Receptus (Stephanus)</option>
+<option value="Swahili">Swahili New Testament (Swahili)</option>
+<option value="SweSVE">Swedish Bible 1917 New Testament (SweSVE)</option>
+<option value="TEV">Todays English Version (Good News Bible) 1966 and 1976 (TEV)</option>
+<option value="TMB">Third Millenium Bible (TMB)</option>
+<option value="Tagalog">Tagalog (John & James) (Tagalog)</option>
+<option value="Tamil">Tamil Bible (Tamil)</option>
+<option value="ThaiKJV">Thai KJV (ThaiKJV)</option>
+<option value="Tisch">Tischendorf's Eighth Edition GNT (Tisch)</option>
+<option value="Turkish">Turkish NT (Turkish)</option>
+<option value="Twenty">Twentieth Century New Testament (Twenty)</option>
+<option value="UMGreek">Unaccented Modern Greek Text (UMGreek)</option>
+<option value="Ukrainian">Ukrainian Bible (Ukrainian)</option>
+<option value="Uma">Uma New Testament (Uma)</option>
+<option value="Viet">1934 Vietnamese Bible (Viet)</option>
+<option value="Vulgate">Latin Vulgate (Vulgate)</option>
+<option value="Vulgate_HebPs">Latin Vulgate Psalms from Hebrew (Vulgate_HebPs)</option>
+<option value="WEB">World English Bible (WEB)</option>
+<option value="WH">1881 Westcott-Hort Greek Text (WH)</option>
+<option value="WHNU">Westcott-Hort with NA27U4 variants (WHNU)</option>
+<option value="Websters">Webster Bible (Websters)</option>
+<option value="Weymouth">1912 Weymouth NT (Weymouth)</option>
+<option value="Xhosa">Xhosa Bible (Xhosa)</option>
+<option value="YLT">1898 Young's Literal Translation (YLT)</option>
+</select><input type="submit" name="Submit" value="Submit"></form><br/><form method="get" action="cgi-bin/dia-def.pl">Select locale:&nbsp;
+<select name="locale" size="1"><option value="">browser default</option>
+<option value="en">en</option>
+<option value="de">de</option>
+<option value="pt">pt</option>
+<option value="sk">sk</option>
+<option value="cs">cs</option>
+<option value="da">da</option>
+<option value="no">no</option>
+</select>
+<input type="submit" name="Submit" value="Submit">
+</form>
+Many of these modules require a browser with good Unicode support such as Internet
+Explorer 5.0+ and a good Unicode font such as Code 2000 (available at <a href="http://home.att.net/~jameskass/">http://home.att.net/~jameskass/</a>).
+</body>
+</html>
diff --git a/utilities/diatheke/cgi/index-public.html b/utilities/diatheke/cgi/index-public.html
new file mode 100644
index 0000000..8406364
--- /dev/null
+++ b/utilities/diatheke/cgi/index-public.html
@@ -0,0 +1,883 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+<title>Diatheke Online Bible</title>
+</head>
+
+<body>
+
+<form method="get" action="cgi-bin/diatheke.pl">
+ <p /> <font face="Arial, Helvetica, sans-serif">Verse or Search key:</font>
+ <input type="text" name="verse" size="20">
+ <input type="submit" name="Submit" value="Submit">
+ <input type="reset" name="Reset" value="Reset">
+ <br />
+ <br />
+ <input type="radio" name="search" checked value="" />
+ <font face="Arial, Helvetica, sans-serif">Verse/Commentary Lookup</font> <br />
+ <input type="radio" name="search" value="phrase" />
+ <font face="Arial, Helvetica, sans-serif">Phrase Search</font><br />
+ <input type="radio" name="search" value="multiword" />
+ <font face="Arial, Helvetica, sans-serif">Multiple Word Search</font><br />
+ <input type="radio" name="search" value="regex" />
+ <font face="Arial, Helvetica, sans-serif">Regular Expression Search</font>
+ <br>
+ <p />&nbsp;
+ <table width="100%" border="0">
+ <tr>
+ <td width="50%">
+ <input type="checkbox" name="strongs" value="on" checked>
+ <font size="-1" face="Arial, Helvetica, sans-serif">Show Strong's Numbers</font></td>
+ <td width="50%">
+ <input type="checkbox" name="headings" value="on" checked>
+ <font size="-1" face="Arial, Helvetica, sans-serif">Show Section Headings</font></td>
+ </tr>
+ <tr>
+ <td width="50%">
+ <input type="checkbox" name="footnotes" value="on" checked>
+ <font size="-1" face="Arial, Helvetica, sans-serif">Show Footnotes</font></td>
+ <td width="50%">
+ <input type="checkbox" name="scriprefs" value="on" checked>
+ <font size="-1" face="Arial, Helvetica, sans-serif">Show Scripture Cross-References</font></td>
+ </tr>
+ <tr>
+ <td width="50%">
+ <input type="checkbox" name="morph" value="on" checked>
+ <font size="-1" face="Arial, Helvetica, sans-serif">Show Morphology</font></td>
+ <td width="50%">
+ <input type="checkbox" name="hebvowels" value="on" checked>
+ <font size="-1" face="Arial, Helvetica, sans-serif">Show Hebrew Vowels</font></td>
+ </tr>
+ <tr>
+ <td width="50%">
+ <input type="checkbox" name="lemmas" value="on" checked>
+ <font size="-1" face="Arial, Helvetica, sans-serif">Show Lemmas</font></td>
+ <td width="50%">
+ <input type="checkbox" name="hebcant" value="on">
+ <font size="-1" face="Arial, Helvetica, sans-serif">Show Hebrew Cantillation
+ Marks </font></td>
+ </tr>
+ <tr>
+ <td width="50%">
+ <input type="checkbox" name="latinxlit" value="on">
+ <font face="Arial, Helvetica, sans-serif" size="-1">Latin Transliterate</font>
+ </td>
+ <td width="50%">
+ <input type="checkbox" name="grkacc" value="on" checked>
+ <font size="-1" face="Arial, Helvetica, sans-serif">Show Greek Accents</font>
+ </td>
+ </tr>
+ </table>
+ <br>
+ <table BORDER="0" WIDTH="100%">
+ <tr>
+ <td width="48%"><font face=Times New Roman, Times, serif><b>English Biblical
+ Texts:</b></font><br />
+ </td>
+ <td width="51%"><font face=Times New Roman, Times, serif><b>Non-English
+ Biblical Texts:</b></font></td>
+ </tr>
+ <tr>
+ <td width="48%">
+ <input type="checkbox" name="AKJV" value="on">
+ <font size="-1" face=Times New Roman, Times, serif>American King James
+ Version (AKJV)</font></td>
+ <td width="51%">
+ <input type="checkbox" name="ALB" value="on">
+ <font size="-1" face=Times New Roman, Times, serif>Albanian Bible (ALB)</font>
+ </td>
+ </tr>
+ <tr>
+ <td width="48%">
+ <input type="checkbox" name="ASV" value="on">
+ <font size="-1" face=Times New Roman, Times, serif>1901 American Standard
+ Version (ASV)</font> </td>
+ <td width="51%">
+ <input type="checkbox" name="AraSVD" value="on">
+ <font size="-1" face=Times New Roman, Times, serif>Smith & Van Dyke Arabic
+ Bible (AraSVD)</font></td>
+ </tr>
+ <tr>
+ <td width="48%">
+ <input type="checkbox" name="BBE" value="on">
+ <font size="-1" face=Times New Roman, Times, serif>1965 Bible in Basic
+ English (BBE)</font> </td>
+ <td width="51%">
+ <input type="checkbox" name="ChiGU" value="on">
+ <font size="-1" face=Times New Roman, Times, serif>Chinese Glory Union
+ Bible (ChiGU)</font></td>
+ </tr>
+ <tr>
+ <td width="48%">
+ <input type="checkbox" name="Common" value="on">
+ <font size="-1" face=Times New Roman, Times, serif>The Common Edition:
+ New Testament (Common)</font> </td>
+ <td width="51%">
+ <input type="checkbox" name="CzeBKR" value="on">
+ <font size="-1" face=Times New Roman, Times, serif>Czech Bible Kralicka
+ (CzeBKR)</font></td>
+ </tr>
+ <tr>
+ <td width="48%">
+ <input type="checkbox" name="DR" value="on">
+ <font size="-1" face=Times New Roman, Times, serif>Douay-Rheims Bible
+ (DR)</font> </td>
+ <td width="51%">
+ <input type="checkbox" name="CzeCEP" value="on">
+ <font size="-1" face=Times New Roman, Times, serif>Czech Ekumenicky Cesky
+ preklad (CzeCEP)</font></td>
+ </tr>
+ <tr>
+ <td width="48%">
+ <input type="checkbox" name="DRA" value="on">
+ <font size="-1" face=Times New Roman, Times, serif>Douay-Rheims 1899 American
+ Edition (DRA)</font> </td>
+ <td width="51%">
+ <input type="checkbox" name="CzeKMS" value="on">
+ <font size="-1" face=Times New Roman, Times, serif>Czech Preklad KMS Nova
+ smlouva (CzeKMS)</font></td>
+ </tr>
+ <tr>
+ <td width="48%">
+ <input type="checkbox" name="Darby" value="on">
+ <font size="-1" face=Times New Roman, Times, serif>1889 Darby Bible (Darby)</font>
+ </td>
+ <td width="51%">
+ <input type="checkbox" name="CzeNKB" value="on">
+ <font size="-1" face=Times New Roman, Times, serif>Czech Nova kralicka
+ Bible (CzeNKB)</font></td>
+ </tr>
+ <tr>
+ <td width="48%">
+ <input type="checkbox" name="HNV" value="on">
+ <font size="-1" face=Times New Roman, Times, serif>Hebrew Names Version
+ of the World English Bible (HNV)</font> </td>
+ <td width="51%">
+ <input type="checkbox" name="Dan" value="on">
+ <font size="-1" face=Times New Roman, Times, serif>Danske Bibel (Dan)</font>
+ </td>
+ </tr>
+ <tr>
+ <td width="48%">
+ <input type="checkbox" name="IGNT" value="on">
+ <font size="-1" face=Times New Roman, Times, serif>Interlinear Greek New
+ Testament (IGNT)</font> </td>
+ <td width="51%">
+ <input type="checkbox" name="Esperanto" value="on">
+ <font size="-1" face=Times New Roman, Times, serif>Esperanto Bible (Esperanto)</font></td>
+ </tr>
+ <tr>
+ <td width="48%">
+ <input type="checkbox" name="ISV" value="on">
+ <font size="-1" face=Times New Roman, Times, serif>International Standard
+ Version (ISV)</font> </td>
+ <td width="51%">
+ <input type="checkbox" name="FinPR" value="on">
+ <font size="-1" face=Times New Roman, Times, serif>Finnish 1938 PhyZ Raamattu
+ (FinPR)</font></td>
+ </tr>
+ <tr>
+ <td width="48%">
+ <input type="checkbox" name="JPS" value="on">
+ <font size="-1" face=Times New Roman, Times, serif>Jewish Publication
+ Society Old Testament (JPS)</font> </td>
+ <td width="51%">
+ <input type="checkbox" name="FreCrl" value="on">
+ <font size="-1" face=Times New Roman, Times, serif>French Haitian Creole
+ Version (FreCrl)</font></td>
+ </tr>
+ <tr>
+ <td width="48%">
+ <input type="checkbox" name="KJV" value="on">
+ <font size="-1" face=Times New Roman, Times, serif>King James Version
+ of 1611 w/ Strongs Numbers (KJV)</font> </td>
+ <td width="51%">
+ <input type="checkbox" name="FreLSG" value="on">
+ <font size="-1" face=Times New Roman, Times, serif>French 1910 Louis Segond
+ (FreLSG)</font></td>
+ </tr>
+ <tr>
+ <td width="48%">
+ <input type="checkbox" name="LO" value="on">
+ <font size="-1" face=Times New Roman, Times, serif>The Living Oracles
+ NT (LO)</font> </td>
+ <td width="51%">
+ <input type="checkbox" name="GerBen" value="on">
+ <font size="-1" face=Times New Roman, Times, serif>German Bengel NT (GerBen)</font></td>
+ </tr>
+ <tr>
+ <td width="48%">
+ <input type="checkbox" name="Montgomery" value="on">
+ <font size="-1" face=Times New Roman, Times, serif>Montgomery New Testament
+ (Montgomery)</font></td>
+ <td width="51%">
+ <input type="checkbox" name="GerLut" value="on">
+ <font size="-1" face=Times New Roman, Times, serif>German 1912 Luther
+ (GerLut)</font> </td>
+ </tr>
+ <tr>
+ <td width="48%">
+ <input type="checkbox" name="Murdock" value="on">
+ <font size="-1" face=Times New Roman, Times, serif>James Murdock's Translation
+ of the Syriac Peshitta (Murdock)</font></td>
+ <td width="51%">
+ <input type="checkbox" name="GerLut1545" value="on">
+ <font size="-1" face=Times New Roman, Times, serif>German 1545 Luther
+ (GerLut1545)</font></td>
+ </tr>
+ <tr>
+ <td width="48%">
+ <input type="checkbox" name="ORTHJBC" value="on">
+ <font size="-1" face=Times New Roman, Times, serif>The Orthodox Jewish
+ Brit Chadasha (ORTHJBC)</font> </td>
+ <td width="51%">
+ <input type="checkbox" name="GerSch" value="on">
+ <font size="-1" face=Times New Roman, Times, serif>German 1951 Schlachter
+ Bibel (GerSch)</font></td>
+ </tr>
+ <tr>
+ <td width="48%">
+ <input type="checkbox" name="RNKJV" value="on">
+ <font size="-1" face=Times New Roman, Times, serif>Restored Name King
+ James Version (RNKJV)</font> </td>
+ <td width="51%">
+ <input type="checkbox" name="GothicA" value="on">
+ <font size="-1" face=Times New Roman, Times, serif>Gothic Codex Ambr.
+ A & Mss. (GothicA)</font></td>
+ </tr>
+ <tr>
+ <td width="48%">
+ <input type="checkbox" name="RWebster" value="on">
+ <font size="-1" face=Times New Roman, Times, serif>Revised 1833 Webster
+ Version (RWebster)</font></td>
+ <td width="51%">
+ <input type="checkbox" name="GothicB" value="on">
+ <font size="-1" face=Times New Roman, Times, serif>Gothic Codex Ambr.
+ B & Car. (GothicB)</font></td>
+ </tr>
+ <tr>
+ <td width="48%">
+ <input type="checkbox" name="Rotherham" value="on">
+ <font size="-1" face=Times New Roman, Times, serif>The Emphasized Bible
+ by J. B. Rotherham (Rotherham)</font> </td>
+ <td width="51%">
+ <input type="checkbox" name="HunKar" value="on">
+ <font size="-1" face=Times New Roman, Times, serif>Hungarian Karoli (HunKar)</font></td>
+ </tr>
+ <tr>
+ <td width="48%">
+ <input type="checkbox" name="WEB" value="on">
+ <font size="-1" face=Times New Roman, Times, serif>World English Bible
+ (WEB)</font></td>
+ <td width="51%">
+ <input type="checkbox" name="Icelandic" value="on">
+ <font size="-1" face=Times New Roman, Times, serif>Icelandic Bible (Icelandic)</font></td>
+ </tr>
+ <tr>
+ <td width="48%">
+ <input type="checkbox" name="Websters" value="on">
+ <font size="-1" face=Times New Roman, Times, serif>Webster Bible (Websters)</font>
+ </td>
+ <td width="51%">
+ <input type="checkbox" name="IndBIS" value="on">
+ <font size="-1" face=Times New Roman, Times, serif>Indonesian Bahasa Indonesia
+ Sehari-hari (IndBIS)</font></td>
+ </tr>
+ <tr>
+ <td width="48%">
+ <input type="checkbox" name="Weymouth" value="on">
+ <font size="-1" face=Times New Roman, Times, serif>1912 Weymouth NT (Weymouth)</font>
+ </td>
+ <td width="51%">
+ <input type="checkbox" name="IndTB" value="on">
+ <font size="-1" face=Times New Roman, Times, serif>Indonesian Terjemahan
+ Baru (IndTB)</font></td>
+ </tr>
+ <tr>
+ <td width="48%">
+ <input type="checkbox" name="YLT" value="on">
+ <font size="-1" face=Times New Roman, Times, serif>1898 Young's Literal
+ Translation (YLT)</font> </td>
+ <td width="51%">
+ <input type="checkbox" name="IndTL" value="on">
+ <font size="-1" face=Times New Roman, Times, serif>Indonesian Terjemahan
+ Baru (IndTL)</font></td>
+ </tr>
+ <tr>
+ <td width="48%">&nbsp; </td>
+ <td width="51%">
+ <input type="checkbox" name="ItaLND" value="on">
+ <font size="-1" face=Times New Roman, Times, serif>Italian 1991 La Nuova
+ Diodati (ItaLND)</font></td>
+ </tr>
+ <tr>
+ <td width="48%"><font face=Times New Roman, Times, serif><b>Unorthodox or
+ Heretical Biblical Texts:</b></font> </td>
+ <td width="51%">
+ <input type="checkbox" name="ItaNRV" value="on">
+ <font size="-1" face=Times New Roman, Times, serif>Italian 1994 La Sacra
+ Bibbia Nuova Riveduta (ItaNRV)</font></td>
+ </tr>
+ <tr>
+ <td width="48%">
+ <input type="checkbox" name="Diaglott" value="on">
+ <font size="-1" face=Times New Roman, Times, serif>The Emphatic Diaglott
+ (Diaglott)</font> </td>
+ <td width="51%">
+ <input type="checkbox" name="JapKUG" value="on">
+ <font size="-1" face=Times New Roman, Times, serif>Japanese JKUG Translation
+ (JapKUG)</font> </td>
+ </tr>
+ <tr>
+ <td width="48%">
+ <input type="checkbox" name="JST" value="on">
+ <font size="-1" face=Times New Roman, Times, serif>Joseph Smith Translation
+ (JST)</font></td>
+ <td width="51%">
+ <input type="checkbox" name="JapSNKI" value="on">
+ <font size="-1" face=Times New Roman, Times, serif>Japanese JSNKI Translation
+ (JapSNKI)</font></td>
+ </tr>
+ <tr>
+ <td width="48%">&nbsp; </td>
+ <td width="51%">
+ <input type="checkbox" name="Ketchi" value="on">
+ <font size="-1" face=Times New Roman, Times, serif>Ketchi Bible (Ketchi)</font></td>
+ </tr>
+ <tr>
+ <td width="48%"><font face=Times New Roman, Times, serif><b>Original Language
+ Biblical Texts:</b></font> </td>
+ <td width="51%">
+ <input type="checkbox" name="Korean" value="on">
+ <font size="-1" face=Times New Roman, Times, serif>Korean Bible (Korean)</font></td>
+ </tr>
+ <tr>
+ <td width="51%">
+ <input type="checkbox" name="LXX" value="on">
+ <font size="-1" face=Times New Roman, Times, serif>Septuagint (LXX)</font></td>
+ <td width="51%">
+ <input type="checkbox" name="Latvian" value="on">
+ <font size="-1" face=Times New Roman, Times, serif>Latvian New Testament
+ (Latvian)</font> </td>
+ </tr>
+ <tr>
+ <td width="51%">
+ <input type="checkbox" name="LXXM" value="on">
+ <font size="-1" face=Times New Roman, Times, serif>Septuagint, Morphologically
+ Tagged Rahlfs' (LXXM)</font></td>
+ <td width="51%">
+ <input type="checkbox" name="ManxGaelic" value="on">
+ <font size="-1" face=Times New Roman, Times, serif>Manx Gaelic Scripture
+ Portions (ManxGaelic)</font></td>
+ </tr>
+ <tr>
+ <td width="51%">
+ <input type="checkbox" name="BHS" value="on">
+ <font size="-1" face=Times New Roman, Times, serif>Biblia Hebraica Stuttgartensia
+ (BHS)</font> </td>
+ <td width="51%">
+ <input type="checkbox" name="Maori" value="on">
+ <font size="-1" face=Times New Roman, Times, serif>Maori Bible (Maori)</font></td>
+ </tr>
+ <tr>
+ <td width="51%">
+ <input type="checkbox" name="Byz" value="on">
+ <font size="-1" face=Times New Roman, Times, serif>1991 Byzantine/Majority
+ Text (Byz)</font></td>
+ <td width="51%">
+ <input type="checkbox" name="Mel" value="on">
+ <font size="-1" face=Times New Roman, Times, serif>Melanesian Pidgin Bible
+ (Mel)</font></td>
+ </tr>
+ <tr>
+ <td width="48%">
+ <input type="checkbox" name="Scrivner" value="on">
+ <font size="-1" face=Times New Roman, Times, serif>1894 Scrivener Textus
+ Receptus (Scrivner)</font></td>
+ <td width="51%">
+ <input type="checkbox" name="Norsk" value="on">
+ <font size="-1" face=Times New Roman, Times, serif>Norsk Bibelen (Norsk)</font></td>
+ </tr>
+ <tr>
+ <td width="48%">
+ <input type="checkbox" name="Stephanus" value="on">
+ <font size="-1" face=Times New Roman, Times, serif>1550 Stephanus Textus
+ Receptus (Stephanus)</font></td>
+ <td width="51%">
+ <input type="checkbox" name="PorAA" value="on">
+ <font size="-1" face=Times New Roman, Times, serif>Portuguese Joao Ferreira
+ de Almeida Atualizada (PorAA)</font> </td>
+ </tr>
+ <tr>
+ <td width="48%">
+ <input type="checkbox" name="Tisch" value="on">
+ <font size="-1" face=Times New Roman, Times, serif>Tischendorf's Eighth
+ Edition GNT (Tisch)</font> </td>
+ <td width="51%">
+ <input type="checkbox" name="RST" value="on">
+ <font size="-1" face=Times New Roman, Times, serif>Russian Synodal Translation
+ (RST)</font></td>
+ </tr>
+ <tr>
+ <td width="51%">
+ <input type="checkbox" name="Vulgate" value="on">
+ <font size="-1" face=Times New Roman, Times, serif>Latin Vulgate (Vulgate)</font></td>
+ <td width="51%">
+ <input type="checkbox" name="RomCor" value="on">
+ <font size="-1" face=Times New Roman, Times, serif>Romanian Cornilescu
+ Version (RomCor)</font></td>
+ </tr>
+ <tr>
+ <td width="51%">
+ <input type="checkbox" name="Vulgate_HebPs" value="on">
+ <font size="-1" face=Times New Roman, Times, serif>Latin Vulgate Psalms
+ from Hebrew (Vulgate_HebPs)</font></td>
+ <td width="51%">
+ <input type="checkbox" name="ScotsGaelic" value="on">
+ <font size="-1" face=Times New Roman, Times, serif>Scots Gaelic Gospel
+ of Mark (ScotsGaelic)</font></td>
+ </tr>
+ <tr>
+ <td width="51%">
+ <input type="checkbox" name="WH" value="on">
+ <font size="-1" face=Times New Roman, Times, serif>1881 Westcott-Hort
+ Greek Text (WH)</font></td>
+ <td width="51%">
+ <input type="checkbox" name="SpaRV" value="on">
+ <font size="-1" face=Times New Roman, Times, serif>Spanish Reina-Valera
+ (SpaRV)</font></td>
+ </tr>
+ <tr>
+ <td width="48%">
+ <input type="checkbox" name="WHNU" value="on">
+ <font size="-1" face=Times New Roman, Times, serif>Westcott-Hort with
+ NA27U4 variants (WHNU)</font> </td>
+ <td width="51%">
+ <input type="checkbox" name="SpaSEV" value="on">
+ <font size="-1" face=Times New Roman, Times, serif>Spanish 1569 Sagradas
+ Escrituras Version Antigua (SpaSEV)</font></td>
+ </tr>
+ <tr>
+ <td width="48%">&nbsp;</td>
+ <td width="51%">
+ <input type="checkbox" name="SpaVNT" value="on">
+ <font size="-1" face=Times New Roman, Times, serif>Spanish 1858 Valera
+ New Testament (SpaVNT)</font></td>
+ </tr>
+ <tr>
+ <td width="48%"><font face=Times New Roman, Times, serif><b>Commentaries:</b></font></td>
+ <td width="51%">
+ <input type="checkbox" name="Swahili" value="on">
+ <font size="-1" face=Times New Roman, Times, serif>Swahili New Testament
+ (Swahili)</font></td>
+ </tr>
+ <tr>
+ <td width="48%">
+ <input type="checkbox" name="Barnes" value="on">
+ <font size="-1" face=Times New Roman, Times, serif>Barnes' New Testament
+ Notes (Barnes)</font></td>
+ <td width="51%">
+ <input type="checkbox" name="SweSVE" value="on">
+ <font size="-1" face=Times New Roman, Times, serif>Swedish Bible 1917
+ New Testament (SweSVE)</font></td>
+ </tr>
+ <tr>
+ <td width="48%">
+ <input type="checkbox" name="Clarke" value="on">
+ <font size="-1" face=Times New Roman, Times, serif>Adam Clarke's Commentary
+ on the Bible (Clarke)</font></td>
+ <td width="51%">
+ <input type="checkbox" name="Tagalog" value="on">
+ <font size="-1" face=Times New Roman, Times, serif>Tagalog (John & James)
+ (Tagalog)</font> </td>
+ </tr>
+ <tr>
+ <td width="48%">
+ <input type="checkbox" name="DTN" value="on">
+ <font size="-1" face=Times New Roman, Times, serif>Darby Translation Notes
+ (DTN)</font></td>
+ <td width="51%">
+ <input type="checkbox" name="ThaiKJV" value="on">
+ <font size="-1" face=Times New Roman, Times, serif>Thai KJV (ThaiKJV)</font>
+ </td>
+ </tr>
+ <tr>
+ <td width="48%">
+ <input type="checkbox" name="Family" value="on">
+ <font size="-1" face=Times New Roman, Times, serif>Family Bible Notes
+ (Family)</font></td>
+ <td width="51%">
+ <input type="checkbox" name="Turkish" value="on">
+ <font size="-1" face=Times New Roman, Times, serif>Turkish NT (Turkish)</font>
+ </td>
+ </tr>
+ <tr>
+ <td width="48%">
+ <input type="checkbox" name="Geneva" value="on">
+ <font size="-1" face=Times New Roman, Times, serif>Geneva Bible Translation
+ Notes (Geneva)</font></td>
+ <td width="51%">
+ <input type="checkbox" name="UMGreek" value="on">
+ <font size="-1" face=Times New Roman, Times, serif>Unaccented Modern Greek
+ Text (UMGreek)</font></td>
+ </tr>
+ <tr>
+ <td width="48%">
+ <input type="checkbox" name="JFB" value="on">
+ <font size="-1" face=Times New Roman, Times, serif>Jamieson Fausset Brown
+ Bible Commentary (JFB)</font></td>
+ <td width="51%">
+ <input type="checkbox" name="Ukrainian" value="on">
+ <font size="-1" face=Times New Roman, Times, serif>Ukrainian Bible (Ukrainian)</font></td>
+ </tr>
+ <tr>
+ <td width="48%">
+ <input type="checkbox" name="MAK" value="on">
+ <font size="-1" face=Times New Roman, Times, serif>Matthias Ansorgs Kommentar
+ (MAK)</font></td>
+ <td width="51%">
+ <input type="checkbox" name="Uma" value="on">
+ <font size="-1" face=Times New Roman, Times, serif>Uma New Testament (Uma)</font></td>
+ </tr>
+ <tr>
+ <td width="48%">
+ <input type="checkbox" name="MHC" value="on">
+ <font size="-1" face=Times New Roman, Times, serif>Matthew Henry's Complete
+ Commentary on the Whole Bible (MHC)</font></td>
+ <td width="51%">
+ <input type="checkbox" name="Viet" value="on">
+ <font size="-1" face=Times New Roman, Times, serif>1934 Vietnamese Bible
+ (Viet)</font></td>
+ </tr>
+ <tr>
+ <td width="48%">
+ <input type="checkbox" name="MHCC" value="on">
+ <font size="-1" face=Times New Roman, Times, serif>Matthew Henry's Concise
+ Commentary on the Whole Bible (MHCC)</font></td>
+ <td width="51%">
+ <input type="checkbox" name="Xhosa" value="on">
+ <font size="-1" face=Times New Roman, Times, serif>Xhosa Bible (Xhosa)</font></td>
+ </tr>
+ <tr>
+ <td width="48%">
+ <input type="checkbox" name="PNT" value="on">
+ <font size="-1" face=Times New Roman, Times, serif>The People's New Testament
+ (PNT)</font></td>
+ <td width="51%">&nbsp;</td>
+ </tr>
+ <tr>
+ <td width="48%">
+ <input type="checkbox" name="Personal" value="on">
+ <font size="-1" face=Times New Roman, Times, serif>Personal Commentary
+ (Personal)</font></td>
+ <td width="51%"><font face=Times New Roman, Times, serif><b>Daily Devotionals:</b></font>
+ </td>
+ </tr>
+ <tr>
+ <td width="48%">
+ <input type="checkbox" name="RWP" value="on">
+ <font size="-1" face=Times New Roman, Times, serif>Robertson's Word Pictures
+ (RWP)</font></td>
+ <td width="51%">
+ <input type="checkbox" name="Daily" value="on">
+ <font size="-1" face=Times New Roman, Times, serif>Jonathan Bagster's
+ Daily Light on the Daily Path (Daily)</font> </td>
+ </tr>
+ <tr>
+ <td width="48%">
+ <input type="checkbox" name="Rieger" value="on">
+ <font size="-1" face=Times New Roman, Times, serif>Carl Heinrich Riegers
+ Kommentar (Rieger)</font></td>
+ <td width="51%">
+ <input type="checkbox" name="SME" value="on">
+ <font size="-1" face=Times New Roman, Times, serif>C. H. Spurgeon's Morning
+ and Evening: Daily Readins (SME)</font> </td>
+ </tr>
+ <tr>
+ <td width="48%">
+ <input type="checkbox" name="TDavid" value="on">
+ <font size="-1" face=Times New Roman, Times, serif>C. H. Spurgeon's Treasury
+ of David (TDavid)</font></td>
+ <td width="48%">
+ <input type="checkbox" name="losung_de_89" value="on">
+ <font size="-1" face=Times New Roman, Times, serif>1989 Losung auf deutsch
+ (losung_de_89)</font></td>
+ </tr>
+ <tr>
+ <td width="48%">
+ <input type="checkbox" name="TFG" value="on">
+ <font size="-1" face=Times New Roman, Times, serif>The Fourfold Gospel
+ and Commentary on Acts of Apostles (TFG)</font></td>
+ <td width="48%">
+ <input type="checkbox" name="losung_de_90" value="on">
+ <font size="-1" face=Times New Roman, Times, serif>1990 Losung auf deutsch
+ (losung_de_90)</font></td>
+ </tr>
+ <tr>
+ <td width="48%">
+ <input type="checkbox" name="TSK" value="on">
+ <font size="-1" face=Times New Roman, Times, serif>Treasury of Scriptural
+ Knowledge (TSK)</font></td>
+ <td width="48%">
+ <input type="checkbox" name="losung_de_91" value="on">
+ <font size="-1" face=Times New Roman, Times, serif>1991 Losung auf deutsch
+ (losung_de_91)</font></td>
+ </tr>
+ <tr>
+ <td width="48%">
+ <input type="checkbox" name="Wesley" value="on">
+ <font size="-1" face=Times New Roman, Times, serif>John Wesley's Notes
+ on the Bible (Wesley)</font></td>
+ <td width="48%">
+ <input type="checkbox" name="losung_de_92" value="on">
+ <font size="-1" face=Times New Roman, Times, serif>1992 Losung auf deutsch
+ (losung_de_92)</font></td>
+ </tr>
+ <tr>
+ <td width="48%">&nbsp;</td>
+ <td width="48%">
+ <input type="checkbox" name="losung_de_93" value="on">
+ <font size="-1" face=Times New Roman, Times, serif>1993 Losung auf deutsch
+ (losung_de_93)</font></td>
+ </tr>
+ <tr>
+ <td width="48%"><font face=Times New Roman, Times, serif><b>Dictionaries
+ & Lexica:</b></font></td>
+ <td width="48%">
+ <input type="checkbox" name="losung_de_94" value="on">
+ <font size="-1" face=Times New Roman, Times, serif>1994 Losung auf deutsch
+ (losung_de_94)</font></td>
+ </tr>
+ <tr>
+ <td width="48%">
+ <input type="checkbox" name="AmTract" value="on">
+ <font size="-1" face=Times New Roman, Times, serif>American Tract Society
+ Bible Dictionary (AmTract)</font></td>
+ <td width="48%">
+ <input type="checkbox" name="losung_de_95" value="on">
+ <font size="-1" face=Times New Roman, Times, serif>1995 Losung auf deutsch
+ (losung_de_95)</font></td>
+ </tr>
+ <tr>
+ <td width="48%">
+ <input type="checkbox" name="BDB" value="on">
+ <font size="-1" face=Times New Roman, Times, serif>Brown-Driver-Briggs
+ Hebrew Lexicon (BDB)</font></td>
+ <td width="48%">
+ <input type="checkbox" name="losung_de_96" value="on">
+ <font size="-1" face=Times New Roman, Times, serif>1996 Losung auf deutsch
+ (losung_de_96)</font></td>
+ </tr>
+ <tr>
+ <td width="48%">
+ <input type="checkbox" name="Eastons" value="on">
+ <font size="-1" face=Times New Roman, Times, serif>Easton's Bible Dictionary
+ (Eastons)</font></td>
+ <td width="48%">
+ <input type="checkbox" name="losung_de_97" value="on">
+ <font size="-1" face=Times New Roman, Times, serif>1997 Losung auf deutsch
+ (losung_de_97)</font></td>
+ </tr>
+ <tr>
+ <td width="48%">
+ <input type="checkbox" name="Hitchcocks" value="on">
+ <font size="-1" face=Times New Roman, Times, serif>Hitchcock's Bible Names
+ (Hitchcocks)</font></td>
+ <td width="48%">
+ <input type="checkbox" name="losung_de_98" value="on">
+ <font size="-1" face=Times New Roman, Times, serif>1998 Losung auf deutsch
+ (losung_de_98)</font></td>
+ </tr>
+ <tr>
+ <td width="48%">
+ <input type="checkbox" name="ISBE" value="on">
+ <font size="-1" face=Times New Roman, Times, serif>International Standard
+ Bible Encyclopedia (ISBE)</font></td>
+ <td width="48%">
+ <input type="checkbox" name="losung_de_99" value="on">
+ <font size="-1" face=Times New Roman, Times, serif>1999 Losung auf deutsch
+ (losung_de_99)</font></td>
+ </tr>
+ <tr>
+ <td width="48%">
+ <input type="checkbox" name="Naves" value="on">
+ <font size="-1" face=Times New Roman, Times, serif>Nave's Topical Bible
+ (Naves)</font></td>
+ <td width="48%">
+ <input type="checkbox" name="losung_en_96" value="on">
+ <font size="-1" face=Times New Roman, Times, serif>1996 Watchwords (Losung)
+ in English (losung_en_96)</font></td>
+ </tr>
+ <tr>
+ <td width="48%">
+ <input type="checkbox" name="Packard" value="on">
+ <font size="-1" face=Times New Roman, Times, serif>Packard's Morphological
+ Analysis Codes (Packard)</font></td>
+ <td width="48%" height="23">
+ <input type="checkbox" name="losung_en_97" value="on">
+ <font size="-1" face=Times New Roman, Times, serif>1997 Watchwords (Losung)
+ in English (losung_en_97)</font></td>
+ </tr>
+ <tr>
+ <td width="48%">
+ <input type="checkbox" name="Smiths" value="on">
+ <font size="-1" face=Times New Roman, Times, serif>Smith's Bible Dictionary
+ (Smiths)</font></td>
+ <td width="48%">
+ <input type="checkbox" name="losung_en_98" value="on">
+ <font size="-1" face=Times New Roman, Times, serif>1998 Watchwords (Losung)
+ in English (losung_en_98)</font></td>
+ </tr>
+ <tr>
+ <td width="48%">
+ <input type="checkbox" name="StrongsGreek" value="on">
+ <font size="-1" face=Times New Roman, Times, serif>Strong's Greek Bible
+ Dictionary (StrongsGreek)</font></td>
+ <td width="48%">
+ <input type="checkbox" name="losung_en_99" value="on">
+ <font size="-1" face=Times New Roman, Times, serif>1999 Watchwords (Losung)
+ in English (losung_en_99)</font></td>
+ </tr>
+ <tr>
+ <td width="48%">
+ <input type="checkbox" name="StrongsHebrew" value="on">
+ <font size="-1" face=Times New Roman, Times, serif>Strong's Hebrew Bible
+ Dictionary (StrongsHebrew)</font></td>
+ <td width="48%">
+ <input type="checkbox" name="losung_es_99" value="on">
+ <font size="-1" face=Times New Roman, Times, serif>1999 Watchwords (Losung)
+ en Castellano (losung_es_99)</font></td>
+ </tr>
+ <tr>
+ <td width="48%">
+ <input type="checkbox" name="Thayer" value="on">
+ <font size="-1" face=Times New Roman, Times, serif>Thayer's Greek Lexicon
+ (Thayer)</font></td>
+ <td width="48%">
+ <input type="checkbox" name="losung_nl_99" value="on">
+ <font size="-1" face=Times New Roman, Times, serif>1999 Watchwords (Losung)
+ in Dutch (losung_nl_99)</font></td>
+ </tr>
+ <tr>
+ <td width="48%">
+ <input type="checkbox" name="Torrey" value="on">
+ <font size="-1" face=Times New Roman, Times, serif>R. A. Torrey's New
+ Topical Textbook (Torrey)</font></td>
+ <td width="51%">&nbsp;</td>
+ </tr>
+ <tr>
+ <td width="48%" height="23">
+ <input type="checkbox" name="WebstersDict" value="on">
+ <font size="-1" face=Times New Roman, Times, serif>Webster's Revised Unabridged
+ Dictionary 1913 (WebstersDict)</font> </td>
+ <td width="51%">&nbsp;</td>
+ </tr>
+ </table>
+</form>
+
+<form method="get" action="cgi-bin/dia-def.pl">
+ Select default Bible version for cross-references:&nbsp;<select name="defversion" size="1">
+
+<option value="AKJV">American King James Version (AKJV)</option>
+<option value="ASV">1901 American Standard Version (ASV)</option>
+<option value="AraSVD">Smith & Van Dyke Arabic Bible (AraSVD)</option>
+<option value="BBE">1965 Bible in Basic English (BBE)</option>
+<option value="BHS">Biblia Hebraica Stuttgartensia (BHS)</option>
+<option value="Byz">1991 Byzantine/Majority Text (Byz)</option>
+<option value="ChiGU">Chinese Glory Union Bible (ChiGU)</option>
+<option value="Common">The Common Edition: New Testament (Common)</option>
+<option value="CzeBKR">Czech Bible Kralicka (CzeBKR)</option>
+<option value="CzeCEP">Czech Ekumenicky Cesky preklad (CzeCEP)</option>
+<option value="CzeKMS">Czech Preklad KMS Nova smlouva (CzeKMS)</option>
+<option value="CzeNKB">Czech Nova kralicka Bible (CzeNKB)</option>
+<option value="DR">Douay-Rheims Bible (DR)</option>
+<option value="DRA">Douay-Rheims 1899 American Edition (DRA)</option>
+<option value="Dan">Danske Bibel (Dan)</option>
+<option value="Darby">1889 Darby Bible (Darby)</option>
+<option value="Diaglott">The Emphatic Diaglott (Diaglott)</option>
+<option value="Esperanto">Esperanto Bible (Esperanto)</option>
+<option value="FinPR">Finnish 1938 PhyZ Raamattu (FinPR)</option>
+<option value="FreCrl">French Haitian Creole Version (FreCrl)</option>
+<option value="FreLSG">1910 Louis Segond (FreLSG)</option>
+<option value="FreNEG">French Nouvelle Edition de Geneve 1979 (FreNEG)</option>
+<option value="FreTOB">French Traduction oecumenique de la Bible (FreTOB)</option>
+<option value="GerBen">German Bengel NT (GerBen)</option>
+<option value="GerLut">German 1912 Luther (GerLut)</option>
+<option value="GerLut1545">German 1545 Luther (GerLut1545)</option>
+<option value="GerSch">German 1951 Schlachter Bibel (GerSch)</option>
+<option value="GothicA">Gothic Codex Ambr. A & Mss. (GothicA)</option>
+<option value="GothicB">Gothic Codex Ambr. B & Car. (GothicB)</option>
+<option value="HNV">Hebrew Names Version of the World English Bible (HNV)</option>
+<option value="HunKar">Hungarian Karoli (HunKar)</option>
+<option value="IGNT">Interlinear Greek New Testament (IGNT)</option>
+<option value="ISV">International Standard Version (ISV)</option>
+<option value="Icelandic">Icelandic Bible (Icelandic)</option>
+<option value="IndBIS">Indonesian Bahasa Indonesia Sehari-hari (IndBIS)</option>
+<option value="IndTB">Indonesian Terjemahan Baru (IndTB)</option>
+<option value="IndTL">Indonesian Terjemahan Baru (IndTL)</option>
+<option value="ItaLND">Italian 1991 La Nuova Diodati (ItaLND)</option>
+<option value="ItaNRV">Italian 1994 La Sacra Bibbia Nuova Riveduta (ItaNRV)</option>
+<option value="JPS">Jewish Publication Society Old Testament (JPS)</option>
+<option value="JST">Joseph Smith Translation (JST)</option>
+<option value="JapKUG">Japanese JKUG Translation (JapKUG)</option>
+<option value="JapSNKI">Japanese JSNKI Translation (JapSNKI)</option>
+<option value="KJV">King James Version of 1611 w/ Strongs Numbers (KJV)</option>
+<option value="Ketchi">Ketchi Bible (Ketchi)</option>
+<option value="Korean">Korean Bible (Korean)</option>
+<option value="LO">The Living Oracles NT (LO)</option>
+<option value="LXX">Septuagint (LXX)</option>
+<option value="LXXM">Septuagint, Morphologically Tagged Rahlfs' (LXXM)</option>
+<option value="Latvian">Latvian New Testament (Latvian)</option>
+<option value="ManxGaelic">Manx Gaelic Scripture Portions (ManxGaelic)</option>
+<option value="Maori">Maori Bible (Maori)</option>
+<option value="Mel">Melanesian Pidgin Bible (Mel)</option>
+<option value="Montgomery">Montgomery New Testament (Montgomery)</option>
+<option value="Murdock">James Murdock's Translation of the Syriac Peshitta (Murdock)</option>
+<option value="Norsk">Norsk Bibelen (Norsk)</option>
+<option value="ORTHJBC">The Orthodox Jewish Brit Chadasha (ORTHJBC)</option>
+<option value="PorAA">Portuguese Joao Ferreira de Almeida Atualizada (PorAA)</option>
+<option value="RNKJV">Restored Name King James Version (RNKJV)</option>
+<option value="RST">Russian Synodal Translation (RST)</option>
+<option value="RWebster">Revised 1833 Webster Version (RWebster)</option>
+<option value="RomCor">Romanian Cornilescu Version (RomCor)</option>
+<option value="Rotherham">The Emphasized Bible by J. B. Rotherham (Rotherham)</option>
+<option value="ScotsGaelic">Scots Gaelic Gospel of Mark (ScotsGaelic)</option>
+<option value="Scrivner">1894 Scrivener Textus Receptus (Scrivner)</option>
+<option value="SpaRV">Spanish Reina-Valera (SpaRV)</option>
+<option value="SpaSEV">Spanish 1569 Sagradas Escrituras Version Antigua (SpaSEV)</option>
+<option value="SpaVNT">Spanish 1858 Valera New Testament (SpaVNT)</option>
+<option value="Stephanus">1550 Stephanus Textus Receptus (Stephanus)</option>
+<option value="Swahili">Swahili New Testament (Swahili)</option>
+<option value="SweSVE">Swedish Bible 1917 New Testament (SweSVE)</option>
+<option value="Tagalog">Tagalog (John & James) (Tagalog)</option>
+<option value="ThaiKJV">Thai KJV (ThaiKJV)</option>
+<option value="Tisch">Tischendorf's Eighth Edition GNT (Tisch)</option>
+<option value="Turkish">Turkish NT (Turkish)</option>
+<option value="UMGreek">Unaccented Modern Greek Text (UMGreek)</option>
+<option value="Ukrainian">Ukrainian Bible (Ukrainian)</option>
+<option value="Uma">Uma New Testament (Uma)</option>
+<option value="Viet">1934 Vietnamese Bible (Viet)</option>
+<option value="Vulgate">Latin Vulgate (Vulgate)</option>
+<option value="Vulgate_HebPs">Latin Vulgate Psalms from Hebrew (Vulgate_HebPs)</option>
+<option value="WEB">World English Bible (WEB)</option>
+<option value="WH">1881 Westcott-Hort Greek Text (WH)</option>
+<option value="WHNU">Westcott-Hort with NA27U4 variants (WHNU)</option>
+<option value="Websters">Webster Bible (Websters)</option>
+<option value="Weymouth">1912 Weymouth NT (Weymouth)</option>
+<option value="Xhosa">Xhosa Bible (Xhosa)</option>
+<option value="YLT">1898 Young's Literal Translation (YLT)</option>
+</select><input type="submit" name="Submit" value="Submit"></form><br/><form method="get" action="cgi-bin/dia-def.pl">Select locale:&nbsp;
+<select name="locale" size="1"><option value="">browser default</option>
+<option value="en">en</option>
+<option value="de">de</option>
+<option value="pt">pt</option>
+<option value="sk">sk</option>
+<option value="cs">cs</option>
+<option value="da">da</option>
+<option value="no">no</option>
+</select>
+<input type="submit" name="Submit" value="Submit">
+</form>
+<font face="Arial, Helvetica, sans-serif">Many of these modules require a browser with good Unicode support such as Internet Explorer 5.0+ and a good Unicode font such as Code 2000 (available at <a href="http://home.att.net/~jameskass/">http://home.att.net/~jameskass/</a>.)</font>
+</body>
+</html>
diff --git a/utilities/diatheke/corediatheke.cpp b/utilities/diatheke/corediatheke.cpp
new file mode 100644
index 0000000..b27b670
--- /dev/null
+++ b/utilities/diatheke/corediatheke.cpp
@@ -0,0 +1,449 @@
+// Diatheke 4.2 by Chris Little <chrislit@crosswire.org>
+// Copyright 1999-2002 by CrossWire Bible Society
+// http://www.crosswire.org/sword/diatheke
+// Licensed under GNU General Public License (GPL)
+// see accompanying LICENSE file for license details
+
+#include "corediatheke.h"
+#include <regex.h>
+#include <iostream>
+#include <list>
+
+using std::list;
+using std::cout;
+using std::endl;
+using std::ostream;
+
+void systemquery(const char * key, ostream* output){
+ DiathekeMgr manager;
+ ModMap::iterator it;
+
+ SWModule *target;
+
+ bool types = false, descriptions = false, names = false;
+
+ if (!stricmp(key, "localelist")) {
+ LocaleMgr *lm = &LocaleMgr::systemLocaleMgr;
+ list<SWBuf> loclist = lm->getAvailableLocales();
+ list<SWBuf>::iterator li = loclist.begin();
+ for (;li != loclist.end(); li++) {
+ *output << li->c_str() << endl;
+ }
+ }
+ else if (!stricmp(key, "modulelist")) {
+ types = true;
+ descriptions = true;
+ names = true;
+ }
+ else if (!stricmp(key, "modulelistnames")) {
+ names = true;
+ }
+ else if (!stricmp(key, "modulelistdescriptions")) {
+ descriptions = true;
+ }
+
+
+ if (types || descriptions || names) {
+ if (types) *output << "Biblical Texts:\n";
+ for (it = manager.Modules.begin(); it != manager.Modules.end(); it++) {
+ target = it->second;
+ if (!strcmp(target->Type(), "Biblical Texts")) {
+ if (names) *output << target->Name();
+ if (names && descriptions) *output << " : ";
+ if (descriptions) *output << target->Description();
+ *output << endl;
+ }
+ }
+ if (types) *output << "Commentaries:\n";
+ for (it = manager.Modules.begin(); it != manager.Modules.end(); it++) {
+ target = it->second;
+ if (!strcmp(target->Type(), "Commentaries")) {
+ if (names) *output << target->Name();
+ if (names && descriptions) *output << " : ";
+ if (descriptions) *output << target->Description();
+ *output << endl;
+ }
+ }
+ if (types) *output << "Dictionaries:\n";
+ for (it = manager.Modules.begin(); it != manager.Modules.end(); it++) {
+ target = it->second;
+ if (!strcmp(target->Type(), "Lexicons / Dictionaries")) {
+ if (names) *output << target->Name();
+ if (names && descriptions) *output << " : ";
+ if (descriptions) *output << target->Description();
+ *output << endl;
+ }
+ }
+ }
+}
+
+void doquery(unsigned long maxverses = -1, unsigned char outputformat = FMT_PLAIN, unsigned char outputencoding = ENC_UTF8, unsigned long optionfilters = 0, unsigned char searchtype = ST_NONE, const char *range = 0, const char *text = 0, const char *locale = 0, const char *ref = 0, ostream* output = &cout, const char *script = 0, signed short variants = 0) {
+ static DiathekeMgr manager;
+
+ ModMap::iterator it;
+ ListKey listkey;
+ SectionMap::iterator sit;
+ ConfigEntMap::iterator eit;
+
+ SWModule * target;
+ char *font = 0;
+ char inputformat = 0;
+ SWBuf encoding;
+ char querytype = 0;
+
+ if (locale) {
+ LocaleMgr::systemLocaleMgr.setDefaultLocaleName(locale);
+ }
+ VerseKey vk;
+
+ //deal with queries to "system"
+ if (!stricmp(text, "system")) {
+ querytype = QT_SYSTEM;
+ systemquery(ref, output);
+ }
+ if (!strnicmp(text, "info", 4)) {
+ querytype = QT_INFO;
+ text = ref;
+ }
+ //otherwise, we have a real book
+ it = manager.Modules.find(text);
+ if (it == manager.Modules.end()) { //book not found
+ return;
+ }
+ target = (*it).second;
+
+ manager.Markup(outputformat);
+ manager.Encoding(outputencoding);
+ manager.bidi = ((OP_BIDI & optionfilters) == OP_BIDI);
+ manager.shape = ((OP_ARSHAPE & optionfilters) == OP_ARSHAPE);
+
+ if ((sit = manager.config->Sections.find((*it).second->Name())) != manager.config->Sections.end()) {
+ if ((eit = (*sit).second.find("SourceType")) != (*sit).second.end()) {
+ if (!stricmp((char *)(*eit).second.c_str(), "GBF"))
+ inputformat = FMT_GBF;
+ else if (!stricmp((char *)(*eit).second.c_str(), "ThML"))
+ inputformat = FMT_THML;
+ else if (!stricmp((char *)(*eit).second.c_str(), "OSIS"))
+ inputformat = FMT_OSIS;
+ }
+ encoding = ((eit = (*sit).second.find("Encoding")) != (*sit).second.end()) ? (*eit).second : (SWBuf)"";
+ }
+
+
+ if (querytype == QT_INFO) {
+ switch (inputformat) {
+ case FMT_THML :
+ *output << "ThML";
+ break;
+ case FMT_GBF :
+ *output << "GBF";
+ break;
+ case FMT_OSIS :
+ *output << "OSIS";
+ break;
+ default:
+ *output << "Other";
+ }
+ *output << ";";
+ *output << target->Type();
+ *output << ";";
+ return;
+ }
+
+ if (searchtype)
+ querytype = QT_SEARCH;
+ else if (!strcmp(target->Type(), "Biblical Texts"))
+ querytype = QT_BIBLE;
+ else if (!strcmp(target->Type(), "Commentaries"))
+ querytype = QT_COMM;
+ else if (!strcmp(target->Type(), "Lexicons / Dictionaries"))
+ querytype = QT_LD;
+
+ if (optionfilters & OP_FOOTNOTES)
+ manager.setGlobalOption("Footnotes","On");
+ else
+ manager.setGlobalOption("Footnotes","Off");
+ if (optionfilters & OP_HEADINGS)
+ manager.setGlobalOption("Headings","On");
+ else
+ manager.setGlobalOption("Headings","Off");
+ if (optionfilters & OP_STRONGS)
+ manager.setGlobalOption("Strong's Numbers","On");
+ else
+ manager.setGlobalOption("Strong's Numbers","Off");
+ if (optionfilters & OP_MORPH)
+ manager.setGlobalOption("Morphological Tags","On");
+ else
+ manager.setGlobalOption("Morphological Tags","Off");
+ if (optionfilters & OP_CANTILLATION)
+ manager.setGlobalOption("Hebrew Cantillation","On");
+ else
+ manager.setGlobalOption("Hebrew Cantillation","Off");
+ if (optionfilters & OP_HEBREWPOINTS)
+ manager.setGlobalOption("Hebrew Vowel Points","On");
+ else
+ manager.setGlobalOption("Hebrew Vowel Points","Off");
+ if (optionfilters & OP_GREEKACCENTS)
+ manager.setGlobalOption("Greek Accents","On");
+ else
+ manager.setGlobalOption("Greek Accents","Off");
+ if (optionfilters & OP_LEMMAS)
+ manager.setGlobalOption("Lemmas","On");
+ else
+ manager.setGlobalOption("Lemmas","Off");
+ if (optionfilters & OP_SCRIPREF)
+ manager.setGlobalOption("Cross-references","On");
+ else
+ manager.setGlobalOption("Cross-references","Off");
+ if (optionfilters & OP_RED)
+ manager.setGlobalOption("Words of Christ in Red","On");
+ else
+ manager.setGlobalOption("Words of Christ in Red","Off");
+ if (optionfilters & OP_VARIANTS && variants) {
+ if (variants == -1)
+ manager.setGlobalOption("Variants", "All Readings");
+ else if (variants == 1)
+ manager.setGlobalOption("Variants", "Secondary Readings");
+ }
+ else
+ manager.setGlobalOption("Transliteration", "Primary Readings");
+
+#ifdef _ICU_
+ if (optionfilters & OP_TRANSLITERATOR && script)
+ manager.setGlobalOption("Transliteration", script);
+ else
+ manager.setGlobalOption("Transliteration", "Off");
+#endif
+
+ if (querytype == QT_SEARCH) {
+
+ //this test is just to determine if we've got SWKeys or VerseKeys
+ if (!strcmp(target->Type(), "Biblical Texts"))
+ querytype = QT_BIBLE;
+ else if (!strcmp(target->Type(), "Commentaries"))
+ querytype = QT_BIBLE;
+ else if (!strcmp(target->Type(), "Lexicons / Dictionaries"))
+ querytype = QT_LD;
+
+ //do search stuff
+ char st = 1 - searchtype;
+ if (querytype == QT_BIBLE) {
+ *output << "Verses containing \"";
+ }
+ else *output << "Entries containing \"";
+ *output << ref;
+ *output << "\"-- ";
+
+ if (range) {
+ VerseKey parser;
+ ListKey scope = parser.ParseVerseList(range, parser, true);
+ listkey = target->Search(ref, st, REG_ICASE, &scope);
+ }
+ else listkey = target->Search(ref, st, REG_ICASE);
+
+ if (strlen((const char*)listkey)) {
+ if (!listkey.Error()) {
+ if (outputformat == FMT_CGI) *output << "<entry>";
+ if (querytype == QT_BIBLE) {
+ vk = listkey;
+ *output << (const char *)vk;
+ }
+ else *output << (const char *)listkey;
+ if (outputformat == FMT_CGI) *output << "</entry>";
+ }
+ listkey++;
+ while (!listkey.Error()) {
+ *output << " ; ";
+ if (outputformat == FMT_CGI) *output << "<entry>";
+ if (querytype == QT_BIBLE) {
+ vk = listkey;
+ *output << (const char *)vk;
+ }
+ else *output << (const char *)listkey;
+ if (outputformat == FMT_CGI) *output << "</entry>";
+ listkey++;
+ }
+ *output << " -- ";
+
+ char *temp = new char[10];
+ sprintf(temp, "%u", listkey.Count());
+ *output << temp;
+ delete [] temp;
+
+ *output << " matches total (";
+ *output << target->Name();
+ *output << ")\n";
+ }
+ else {
+ *output << "none (";
+ *output << target->Name();
+ *output << ")\n";
+ }
+ }
+
+ else if (querytype == QT_LD) {
+ //do dictionary stuff
+
+ target->setKey(ref);
+
+ const char * text = (const char *) *target;
+
+ if (outputformat == FMT_RTF) {
+ *output << "{\\rtf1\\ansi{\\fonttbl{\\f0\\froman\\fcharset0\\fprq2 Times New Roman;}{\\f1\\fdecor\\fprq2 ";
+ if (font)
+ *output << font;
+ else
+ *output << "Times New Roman";
+ *output << ";}}";
+ }
+ else if (outputformat == FMT_HTML) {
+ *output << "<meta http-equiv=\"content-type\" content=\"text/html; charset=UTF-8\">";
+ }
+
+ if (strlen(text)) {
+ *output << (char*)target->KeyText();
+ if (font && (outputformat == FMT_HTML || outputformat == FMT_THML || outputformat == FMT_CGI)) {
+ *output << ": <font face=\"";
+ *output << font;
+ *output << "\">";
+ }
+ else if (outputformat == FMT_RTF) {
+ *output << ": {\\f1 ";
+ }
+ else {
+ *output << ": ";
+ }
+ *output << text;
+ if (font && (outputformat == FMT_HTML || outputformat == FMT_THML || outputformat == FMT_CGI)) {
+ *output << "</font>";
+ }
+ else if (outputformat == FMT_RTF) {
+ *output << "}";
+ }
+
+ *output << "(";
+ *output << target->Name();
+ *output << ")\n";
+ }
+
+ if (outputformat == FMT_RTF) {
+ *output << "}";
+ }
+
+ }
+
+ else if (querytype == QT_BIBLE || querytype == QT_COMM) {
+ //do commentary/Bible stuff
+
+ if ((sit = manager.config->Sections.find((*it).second->Name())) != manager.config->Sections.end()) {
+ if ((eit = (*sit).second.find("Font")) != (*sit).second.end()) {
+ font = (char *)(*eit).second.c_str();
+ if (strlen(font) == 0) font = 0;
+ }
+ }
+
+ listkey = vk.ParseVerseList(ref, "Gen1:1", true);
+ int i;
+
+ if (outputformat == FMT_RTF) {
+ *output << "{\\rtf1\\ansi{\\fonttbl{\\f0\\froman\\fcharset0\\fprq2 Times New Roman;}{\\f1\\fdecor\\fprq2 ";
+ if (font)
+ *output << font;
+ else
+ *output << "Times New Roman";
+ *output << ";}{\\f7\\froman\\fcharset2\\fprq2 Symbol;}}";
+ }
+ else if (outputformat == FMT_HTML) {
+ *output << "<meta http-equiv=\"content-type\" content=\"text/html; charset=UTF-8\">";
+ }
+
+ for (i = 0; i < listkey.Count() && maxverses; i++) {
+ VerseKey *element = SWDYNAMIC_CAST(VerseKey, listkey.GetElement(i));
+ if (element) {
+ target->Key(element->LowerBound());
+ vk = element->UpperBound();
+ while (maxverses && target->Key() <= vk) {
+ *output << (char*)target->KeyText();
+ if (font && (outputformat == FMT_HTML || outputformat == FMT_THML || outputformat == FMT_CGI)) {
+ *output << ": <font face=\"";
+ *output << font;
+ *output << "\">";
+ }
+ else if (outputformat == FMT_RTF) {
+ *output << ": {\\f1 ";
+ }
+ else {
+ *output << ": ";
+ }
+ *output << (const char*)*target;
+ if (font && (outputformat == FMT_HTML || outputformat == FMT_THML || outputformat == FMT_CGI)) {
+ *output << "</font>";
+ }
+ else if (outputformat == FMT_RTF) {
+ *output << "}";
+ }
+
+ if (inputformat != FMT_THML && (outputformat == FMT_HTML || outputformat == FMT_THML || outputformat == FMT_CGI))
+ *output << "<br />";
+ else if (outputformat == FMT_OSIS)
+ *output << "<milestone type=\"line\"/>";
+ else if (outputformat == FMT_RTF)
+ *output << "\\par ";
+ else if (outputformat == FMT_GBF)
+ *output << "<CM>";
+
+ *output << "\n";
+
+ if (target->Key() == vk)
+ break;
+ maxverses--;
+ (*target)++;
+ }
+ }
+ else {
+ target->Key(*listkey.GetElement(i));
+ *output << (char*)target->KeyText();
+ if (font && (outputformat == FMT_HTML || outputformat == FMT_THML || outputformat == FMT_CGI)) {
+ *output << ": <font face=\"";
+ *output << font;
+ *output << "\">";
+ }
+ else if (outputformat == FMT_RTF) {
+ *output << ": {\\f1 ";
+ }
+ else {
+ *output << ": ";
+ }
+ *output << (const char*)*target;
+ if (font && (outputformat == FMT_HTML || outputformat == FMT_THML || outputformat == FMT_CGI)) {
+ *output << "</font>";
+ }
+ else if (outputformat == FMT_RTF) {
+ *output << "}";
+ }
+
+ if (inputformat != FMT_THML && (outputformat == FMT_HTML || outputformat == FMT_THML || outputformat == FMT_CGI))
+ *output << "<br />";
+ else if (outputformat == FMT_OSIS)
+ *output << "<milestone type=\"line\"/>";
+ else if (outputformat == FMT_RTF)
+ *output << "\\par ";
+ else if (outputformat == FMT_GBF)
+ *output << "<CM>";
+
+ *output << "\n";
+ maxverses--;
+ }
+ }
+
+ *output << "(";
+ *output << target->Name();
+ *output << ")\n";
+
+ if (outputformat == FMT_RTF) {
+ *output << "}";
+ }
+
+ }
+}
+
diff --git a/utilities/diatheke/corediatheke.h b/utilities/diatheke/corediatheke.h
new file mode 100644
index 0000000..6c51c8a
--- /dev/null
+++ b/utilities/diatheke/corediatheke.h
@@ -0,0 +1,42 @@
+// Diatheke 4.2 by Chris Little <chrislit@crosswire.org>
+// Copyright 1999-2002 by CrossWire Bible Society http://www.crosswire.org
+// Licensed under GNU General Public License (GPL)
+// see accompanying LICENSE file for license details
+
+#include <stdio.h>
+
+#include "diathekemgr.h"
+#include <localemgr.h>
+
+#define QT_BIBLE 1
+#define QT_COMM 2
+#define QT_LD 3
+#define QT_SEARCH 4
+#define QT_SYSTEM 5
+#define QT_INFO 6
+
+#define OP_NONE 0
+#define OP_STRONGS 1
+#define OP_FOOTNOTES 2
+#define OP_HEADINGS 4
+#define OP_MORPH 8
+#define OP_CANTILLATION 16
+#define OP_HEBREWPOINTS 32
+#define OP_GREEKACCENTS 64
+#define OP_TRANSLITERATOR 128
+#define OP_LEMMAS 256
+#define OP_SCRIPREF 512
+#define OP_ARSHAPE 1024
+#define OP_BIDI 2048
+#define OP_VARIANTS 4096
+#define OP_RED 8192
+
+#define ST_NONE 0
+#define ST_REGEX 1 //0
+#define ST_PHRASE 2 // -1
+#define ST_MULTIWORD 3 // -2
+
+using namespace std;
+
+int hasalpha (char * string);
+void doquery(unsigned long maxverses, unsigned char outputformat, unsigned char outputencoding, unsigned long optionfilters, unsigned char searchtype, const char *range, const char *text, const char *locale, const char *ref, ostream* output, const char* script, signed short variants);
diff --git a/utilities/diatheke/diafiltmgr.cpp b/utilities/diatheke/diafiltmgr.cpp
new file mode 100644
index 0000000..5f38379
--- /dev/null
+++ b/utilities/diatheke/diafiltmgr.cpp
@@ -0,0 +1,227 @@
+/******************************************************************************
+ * diafiltmgr.cpp
+ *
+ * Copyright 1998 CrossWire Bible Society (http://www.crosswire.org)
+ * CrossWire Bible Society
+ * P. O. Box 2528
+ * Tempe, AZ 85280-2528
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License as published by the
+ * Free Software Foundation version 2.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
+ */
+
+#include <thmlplain.h>
+#include <gbfplain.h>
+#include <thmlgbf.h>
+#include <gbfthml.h>
+#include <thmlhtml.h>
+#include <gbfhtml.h>
+#include <plainhtml.h>
+#include <thmlhtmlhref.h>
+#include <gbfhtmlhref.h>
+#include <thmlrtf.h>
+#include <gbfrtf.h>
+#include <osisrtf.h>
+#include <osishtmlhref.h>
+#include <osisplain.h>
+#include <thmlosis.h>
+#include <gbfosis.h>
+
+#include <swmgr.h>
+
+#include "diafiltmgr.h"
+#include "thmlcgi.h"
+#include "gbfcgi.h"
+#include "osiscgi.h"
+
+DiathekeFilterMgr::DiathekeFilterMgr (char mark, char enc)
+ : EncodingFilterMgr(enc) {
+
+ markup = mark;
+
+ CreateFilters(markup);
+}
+
+DiathekeFilterMgr::~DiathekeFilterMgr() {
+ if (fromthml)
+ delete (fromthml);
+ if (fromgbf)
+ delete (fromgbf);
+ if (fromplain)
+ delete (fromplain);
+ if (fromosis)
+ delete (fromosis);
+}
+
+void DiathekeFilterMgr::AddRenderFilters(SWModule *module, ConfigEntMap &section) {
+ switch (module->Markup()) {
+ case FMT_THML:
+ if (fromthml)
+ module->AddRenderFilter(fromthml);
+ break;
+ case FMT_GBF:
+ if (fromgbf)
+ module->AddRenderFilter(fromgbf);
+ break;
+ case FMT_PLAIN:
+ if (fromplain)
+ module->AddRenderFilter(fromplain);
+ break;
+ case FMT_OSIS:
+ if (fromosis)
+ module->AddRenderFilter(fromosis);
+ break;
+ }
+ EncodingFilterMgr::AddRenderFilters(module, section);
+}
+
+
+char DiathekeFilterMgr::Markup(char mark) {
+ if (mark && mark != markup) {
+ markup = mark;
+ ModMap::const_iterator module;
+
+ SWFilter * oldplain = fromplain;
+ SWFilter * oldthml = fromthml;
+ SWFilter * oldgbf = fromgbf;
+ SWFilter * oldosis = fromosis;
+
+ CreateFilters(markup);
+
+ for (module = getParentMgr()->Modules.begin(); module != getParentMgr()->Modules.end(); module++)
+ switch (module->second->Markup()) {
+ case FMT_THML:
+ if (oldthml != fromthml) {
+ if (oldthml) {
+ if (!fromthml) {
+ module->second->RemoveRenderFilter(oldthml);
+ }
+ else {
+ module->second->ReplaceRenderFilter(oldthml, fromthml);
+ }
+ }
+ else if (fromthml) {
+ module->second->AddRenderFilter(fromthml);
+ }
+ }
+ break;
+ case FMT_GBF:
+ if (oldgbf != fromgbf) {
+ if (oldgbf) {
+ if (!fromgbf) {
+ module->second->RemoveRenderFilter(oldgbf);
+ }
+ else {
+ module->second->ReplaceRenderFilter(oldgbf, fromgbf);
+ }
+ }
+ else if (fromgbf) {
+ module->second->AddRenderFilter(fromgbf);
+ }
+ break;
+ }
+ case FMT_PLAIN:
+ if (oldplain != fromplain) {
+ if (oldplain) {
+ if (!fromplain) {
+ module->second->RemoveRenderFilter(oldplain);
+ }
+ else {
+ module->second->ReplaceRenderFilter(oldplain, fromplain);
+ }
+ }
+ else if (fromplain) {
+ module->second->AddRenderFilter(fromplain);
+ }
+ break;
+ }
+ case FMT_OSIS:
+ if (oldosis != fromosis) {
+ if (oldosis) {
+ if (!fromosis) {
+ module->second->RemoveRenderFilter(oldosis);
+ }
+ else {
+ module->second->ReplaceRenderFilter(oldosis, fromosis);
+ }
+ }
+ else if (fromosis) {
+ module->second->AddRenderFilter(fromosis);
+ }
+ break;
+ }
+ }
+
+ if (oldthml)
+ delete oldthml;
+ if (oldgbf)
+ delete oldgbf;
+ if (oldplain)
+ delete oldplain;
+ if (oldosis)
+ delete oldosis;
+ }
+ return markup;
+}
+
+void DiathekeFilterMgr::CreateFilters(char markup) {
+
+ switch (markup) {
+ case FMT_CGI:
+ fromplain = NULL;
+ fromthml = new ThMLCGI();
+ fromgbf = new GBFCGI();
+ fromosis = new OSISCGI();
+ break;
+ case FMT_PLAIN:
+ fromplain = NULL;
+ fromthml = new ThMLPlain();
+ fromgbf = new GBFPlain();
+ fromosis = new OSISPlain();
+ break;
+ case FMT_THML:
+ fromplain = NULL;
+ fromthml = NULL;
+ fromgbf = new GBFThML();
+ fromosis = NULL;
+ break;
+ case FMT_GBF:
+ fromplain = NULL;
+ fromthml = new ThMLGBF();
+ fromgbf = NULL;
+ fromosis = NULL;
+ break;
+ case FMT_HTML:
+ fromplain = new PLAINHTML();
+ fromthml = new ThMLHTML();
+ fromgbf = new GBFHTML();
+ fromosis = NULL;
+ break;
+ case FMT_HTMLHREF:
+ fromplain = NULL;
+ fromthml = new ThMLHTMLHREF();
+ fromgbf = new GBFHTMLHREF();
+ fromosis = new OSISHTMLHREF();
+ break;
+ case FMT_RTF:
+ fromplain = NULL;
+ fromthml = new ThMLRTF();
+ fromgbf = new GBFRTF();
+ fromosis = new OSISRTF();
+ break;
+ case FMT_OSIS:
+ fromplain = NULL;
+ fromthml = new ThMLOSIS();
+ fromgbf = new GBFOSIS();
+ fromosis = NULL;
+ break;
+ }
+
+}
diff --git a/utilities/diatheke/diafiltmgr.h b/utilities/diatheke/diafiltmgr.h
new file mode 100644
index 0000000..2ca34eb
--- /dev/null
+++ b/utilities/diatheke/diafiltmgr.h
@@ -0,0 +1,47 @@
+/******************************************************************************
+ * diafiltmgr.h
+ *
+ * Copyright 1998 CrossWire Bible Society (http://www.crosswire.org)
+ * CrossWire Bible Society
+ * P. O. Box 2528
+ * Tempe, AZ 85280-2528
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License as published by the
+ * Free Software Foundation version 2.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
+ */
+
+#ifndef DIAFILTMGR_H
+#define DIAFILTMGR_H
+
+#define FMT_CGI 127
+
+#include <encfiltmgr.h>
+#ifndef NO_SWORD_NAMESPACE
+using namespace sword;
+#endif
+
+class SWDLLEXPORT DiathekeFilterMgr : public EncodingFilterMgr {
+protected:
+ SWFilter* fromthml;
+ SWFilter* fromgbf;
+ SWFilter* fromplain;
+ SWFilter* fromosis;
+
+ char markup;
+
+ void CreateFilters(char markup);
+public:
+ DiathekeFilterMgr(char markup = FMT_THML, char encoding = ENC_UTF8);
+ ~DiathekeFilterMgr();
+ char Markup(char m = FMT_UNKNOWN);
+ virtual void AddRenderFilters(SWModule *module, ConfigEntMap &section);
+};
+
+#endif
diff --git a/utilities/diatheke/diatheke.cpp b/utilities/diatheke/diatheke.cpp
new file mode 100644
index 0000000..7dc95b0
--- /dev/null
+++ b/utilities/diatheke/diatheke.cpp
@@ -0,0 +1,222 @@
+// Diatheke 4.2 by Chris Little <chrislit@crosswire.org>
+// Copyright 1999-2002 by CrossWire Bible Society
+// http://www.crosswire.org/sword/diatheke
+// Licensed under GNU General Public License (GPL)
+// see accompanying LICENSE file for license details
+
+
+#include "corediatheke.h"
+#include "diathekemgr.h"
+#include "diafiltmgr.h"
+#include <iostream>
+
+using std::cout;
+
+#define RQ_REF 1
+#define RQ_BOOK 2
+
+void printsyntax() {
+ //if we got this far without exiting, something went wrong, so print syntax
+ fprintf (stderr, "Diatheke command-line SWORD frontend Version 4.2\n");
+ fprintf (stderr, "Copyright 1999-2002 by the CrossWire Bible Society\n");
+ fprintf (stderr, "http://www.crosswire.org/sword/diatheke/\n");
+ fprintf (stderr, "usage: \n ");
+ fprintf (stderr, "diatheke <-b book> [-s search_type] [-r search_range] [-o option_filters]\n");
+ fprintf (stderr, "[-m maximum_verses] [-f output_format] [-l locale]\n");
+ fprintf (stderr, "[-e output_encoding] [-t script] [-v variant#(-1=all|0|1)]\n");
+ fprintf (stderr, "<-k query_key>\n");
+ fprintf (stderr, "\n");
+ fprintf (stderr, "If <book> is \"system\" you may use these system keys: \"modulelist\",\n");
+ fprintf (stderr, "\"modulelistnames\", and \"localelist\".");
+ fprintf (stderr, "\n");
+ fprintf (stderr, "Valid search_type values are: regex, multiword, and phrase(def).\n");
+ fprintf (stderr, "Valid option_filters values are: n (Strong's numbers),\n");
+ fprintf (stderr, " f (Footnotes), m (Morphology), h (Section Headings),\n");
+ fprintf (stderr, " c (Cantillation), v (Hebrew Vowels), a (Greek Accents),\n");
+ fprintf (stderr, " l (Lemmas), s (Scripture Crossrefs), r (Arabic Shaping,\n");
+ fprintf (stderr, " b (Bi-Directional Reordering), x (Red Words of Christ)\n");
+
+ fprintf (stderr, "Maximum verses may be any integer value\n");
+ fprintf (stderr, "Valid output_format values are: GBF, ThML, RTF, HTML, OSIS, CGI, and plain (def)\n");
+ fprintf (stderr, "Valid output_encoding values are: Latin1, UTF8 (def), UTF16, HTML, and RTF\n");
+ fprintf (stderr, "Valid locale values depend on installed locales. en is default.\n");
+ fprintf (stderr, "The query_key must be the last argument because all following\n");
+ fprintf (stderr, " arguments are added to the key.\n");
+}
+
+int main(int argc, char **argv)
+{
+ int maxverses = -1;
+ unsigned char outputformat = FMT_PLAIN, searchtype = ST_NONE, outputencoding = ENC_UTF8;
+ unsigned long optionfilters = OP_NONE;
+ char *text = 0, *locale = 0, *ref = 0, *script = 0, *range = 0;
+ signed short variants = 0;
+
+ char runquery = 0; // used to check that we have enough arguments to perform a legal query
+ // (a querytype & text = 1 and a ref = 2)
+
+ for (int i = 1; i < argc; i++) {
+ if (!stricmp("-b", argv[i])) {
+ if (i+1 <= argc) {
+ text = argv[i+1];
+ i++;
+ runquery |= RQ_BOOK;
+ }
+ }
+ else if (!stricmp("-s", argv[i])) {
+ if (i+1 <= argc) {
+ if (!stricmp("phrase", argv[i+1])) {
+ searchtype = ST_PHRASE;
+ i++;
+ }
+ else if (!stricmp("regex", argv[i+1])) {
+ searchtype = ST_REGEX;
+ i++;
+ }
+ else if (!stricmp("multiword", argv[i+1])) {
+ searchtype = ST_MULTIWORD;
+ i++;
+ }
+ else i++;
+ }
+ }
+ else if (!stricmp("-r", argv[i])) {
+ if (i+1 <= argc) {
+ range = argv[i+1];
+ i++;
+ }
+ }
+ else if (!stricmp("-l", argv[i])) {
+ if (i+1 <= argc) {
+ locale = argv[i+1];
+ i++;
+ }
+ }
+ else if (!stricmp("-m", argv[i])) {
+ if (i+1 <= argc) {
+ maxverses = atoi(argv[i+1]);
+ i++;
+ }
+ }
+ else if (!stricmp("-o", argv[i])) {
+ if (i+1 <= argc) {
+ if (strchr(argv[i+1], 'f'))
+ optionfilters |= OP_FOOTNOTES;
+ if (strchr(argv[i+1], 'n'))
+ optionfilters |= OP_STRONGS;
+ if (strchr(argv[i+1], 'h'))
+ optionfilters |= OP_HEADINGS;
+ if (strchr(argv[i+1], 'm'))
+ optionfilters |= OP_MORPH;
+ if (strchr(argv[i+1], 'c'))
+ optionfilters |= OP_CANTILLATION;
+ if (strchr(argv[i+1], 'v'))
+ optionfilters |= OP_HEBREWPOINTS;
+ if (strchr(argv[i+1], 'a'))
+ optionfilters |= OP_GREEKACCENTS;
+ if (strchr(argv[i+1], 'l'))
+ optionfilters |= OP_LEMMAS;
+ if (strchr(argv[i+1], 's'))
+ optionfilters |= OP_SCRIPREF;
+ if (strchr(argv[i+1], 'r'))
+ optionfilters |= OP_ARSHAPE;
+ if (strchr(argv[i+1], 'b'))
+ optionfilters |= OP_BIDI;
+ if (strchr(argv[i+1], 'x'))
+ optionfilters |= OP_RED;
+ i++;
+ }
+ }
+ else if (!stricmp("-f", argv[i])) {
+ if (i+1 <= argc) {
+ if (!stricmp("thml", argv[i+1])) {
+ outputformat = FMT_THML;
+ i++;
+ }
+ else if (!stricmp("cgi", argv[i+1])) {
+ outputformat = FMT_CGI;
+ i++;
+ }
+ else if (!stricmp("gbf", argv[i+1])) {
+ outputformat = FMT_GBF;
+ i++;
+ }
+ else if (!stricmp("html", argv[i+1])) {
+ outputformat = FMT_HTML;
+ i++;
+ }
+ else if (!stricmp("rtf", argv[i+1])) {
+ outputformat = FMT_RTF;
+ i++;
+ }
+ else if (!stricmp("osis", argv[i+1])) {
+ outputformat = FMT_OSIS;
+ i++;
+ }
+ else i++;
+ }
+ }
+ else if (!stricmp("-e", argv[i])) {
+ if (i+1 <= argc) {
+ if (!stricmp("utf8", argv[i+1])) {
+ outputencoding = ENC_UTF8;
+ i++;
+ }
+ else if (!stricmp("rtf", argv[i+1])) {
+ outputencoding = ENC_RTF;
+ i++;
+ }
+ else if (!stricmp("html", argv[i+1])) {
+ outputencoding = ENC_HTML;
+ i++;
+ }
+ else if (!stricmp("latin1", argv[i+1])) {
+ outputencoding = ENC_LATIN1;
+ i++;
+ }
+ else if (!stricmp("utf16", argv[i+1])) {
+ outputencoding = ENC_UTF16;
+ i++;
+ }
+ else i++;
+ }
+ }
+ else if (!stricmp("-k", argv[i])) {
+ i++;
+ if (i < argc) {
+ SWBuf key = argv[i];
+ i++;
+ for (; i < argc; i++)
+ key = key + " " + argv[i];
+ ref = new char[key.length() + 1];
+ strcpy (ref, key.c_str());
+ if (strlen(ref))
+ runquery |= RQ_REF;
+ }
+ }
+ else if (!stricmp("-v", argv[i])) {
+ if (i+1 <= argc) {
+ variants = atoi(argv[i+1]);
+ optionfilters |= OP_VARIANTS;
+ i++;
+ }
+ }
+#ifdef _ICU_
+ else if (!stricmp("-t", argv[i])) {
+ if (i+1 <= argc) {
+ script = argv[i+1];
+ optionfilters |= OP_TRANSLITERATOR;
+ i++;
+ }
+ }
+#endif
+ }
+
+
+ if (runquery == (RQ_BOOK | RQ_REF)) {
+ doquery(maxverses, outputformat, outputencoding, optionfilters, searchtype, range, text, locale, ref, &cout, script, variants);
+ }
+ else printsyntax();
+
+ return 0;
+}
diff --git a/utilities/diatheke/diatheke.dsp b/utilities/diatheke/diatheke.dsp
new file mode 100644
index 0000000..520b861
--- /dev/null
+++ b/utilities/diatheke/diatheke.dsp
@@ -0,0 +1,204 @@
+# Microsoft Developer Studio Project File - Name="diatheke" - Package Owner=<4>
+# Microsoft Developer Studio Generated Build File, Format Version 6.00
+# ** DO NOT EDIT **
+
+# TARGTYPE "Win32 (x86) Console Application" 0x0103
+
+CFG=diatheke - Win32 Debug with ICU
+!MESSAGE This is not a valid makefile. To build this project using NMAKE,
+!MESSAGE use the Export Makefile command and run
+!MESSAGE
+!MESSAGE NMAKE /f "diatheke.mak".
+!MESSAGE
+!MESSAGE You can specify a configuration when running NMAKE
+!MESSAGE by defining the macro CFG on the command line. For example:
+!MESSAGE
+!MESSAGE NMAKE /f "diatheke.mak" CFG="diatheke - Win32 Debug with ICU"
+!MESSAGE
+!MESSAGE Possible choices for configuration are:
+!MESSAGE
+!MESSAGE "diatheke - Win32 Release" (based on "Win32 (x86) Console Application")
+!MESSAGE "diatheke - Win32 Debug" (based on "Win32 (x86) Console Application")
+!MESSAGE "diatheke - Win32 Debug with ICU" (based on "Win32 (x86) Console Application")
+!MESSAGE "diatheke - Win32 Release with ICU" (based on "Win32 (x86) Console Application")
+!MESSAGE
+
+# Begin Project
+# PROP AllowPerConfigDependencies 0
+# PROP Scc_ProjName ""
+# PROP Scc_LocalPath ""
+CPP=cl.exe
+RSC=rc.exe
+
+!IF "$(CFG)" == "diatheke - Win32 Release"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 0
+# PROP BASE Output_Dir "Release"
+# PROP BASE Intermediate_Dir "Release"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 0
+# PROP Output_Dir "Release"
+# PROP Intermediate_Dir "Release"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
+# ADD CPP /nologo /MD /w /W0 /GX /O2 /I "../../../include" /I "../../../src/utilfuns/win32" /D "NDEBUG" /D "WIN32" /D "_CONSOLE" /D "_MBCS" /FR /YX /FD /c
+# ADD BASE RSC /l 0x409 /d "NDEBUG"
+# ADD RSC /l 0x409 /d "NDEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386
+# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib libswordvc6.lib /nologo /subsystem:console /machine:I386 /libpath:"../../../lib"
+
+!ELSEIF "$(CFG)" == "diatheke - Win32 Debug"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 1
+# PROP BASE Output_Dir "Debug"
+# PROP BASE Intermediate_Dir "Debug"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 1
+# PROP Output_Dir "Debug"
+# PROP Intermediate_Dir "Debug"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c
+# ADD CPP /nologo /MDd /w /W0 /Gm /GX /ZI /Od /I "../../../include" /I "../../../src/utilfuns/win32" /D "_DEBUG" /D "WIN32" /D "_CONSOLE" /D "_MBCS" /FR /YX /FD /GZ /c
+# ADD BASE RSC /l 0x409 /d "_DEBUG"
+# ADD RSC /l 0x409 /d "_DEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
+# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib libswordvc6d.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept /libpath:"../../../lib"
+
+!ELSEIF "$(CFG)" == "diatheke - Win32 Debug with ICU"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 1
+# PROP BASE Output_Dir "diatheke___Win32_Debug_with_ICU"
+# PROP BASE Intermediate_Dir "diatheke___Win32_Debug_with_ICU"
+# PROP BASE Ignore_Export_Lib 0
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 1
+# PROP Output_Dir "ICUDebug"
+# PROP Intermediate_Dir "ICUDebug"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /w /W0 /Gm /GX /ZI /Od /I "../../../include" /I "../../../src/utilfuns/win32" /D "_DEBUG" /D "WIN32" /D "_CONSOLE" /D "_MBCS" /D "__VISUALC__" /FR /YX /FD /GZ /c
+# ADD CPP /nologo /MDd /w /W0 /Gm /GX /ZI /Od /I "../../../include" /I "../../../src/utilfuns/win32" /I "../../../../icu-sword/include" /D "_DEBUG" /D "WIN32" /D "_CONSOLE" /D "_MBCS" /D "_ICU_" /D "_ICUSWORD_" /FR /YX /FD /GZ /c
+# ADD BASE RSC /l 0x409 /d "_DEBUG"
+# ADD RSC /l 0x409 /d "_DEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib libsword.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept /libpath:"../../../lib/vcppmake/vc6/Debug"
+# ADD LINK32 icuin.lib icuuc.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib libswordvc6icud.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept /libpath:"../../../../icu-sword/lib" /libpath:"../../../lib"
+
+!ELSEIF "$(CFG)" == "diatheke - Win32 Release with ICU"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 0
+# PROP BASE Output_Dir "diatheke___Win32_Release_with_ICU"
+# PROP BASE Intermediate_Dir "diatheke___Win32_Release_with_ICU"
+# PROP BASE Ignore_Export_Lib 0
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 0
+# PROP Output_Dir "ICURelease"
+# PROP Intermediate_Dir "ICURelease"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /w /W0 /GX /O2 /I "../../../include" /I "../../../src/utilfuns/win32" /D "NDEBUG" /D "WIN32" /D "_CONSOLE" /D "_MBCS" /D "__VISUALC__" /FR /YX /FD /c
+# ADD CPP /nologo /MD /w /W0 /GX /O2 /I "../../../include" /I "../../../src/utilfuns/win32" /I "../../../../icu-sword/include" /D "NDEBUG" /D "_ICU_" /D "_ICUSWORD_" /D "WIN32" /D "_CONSOLE" /D "_MBCS" /FR /YX /FD /c
+# ADD BASE RSC /l 0x409 /d "NDEBUG"
+# ADD RSC /l 0x409 /d "NDEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib libsword.lib /nologo /subsystem:console /machine:I386 /libpath:"../../../lib/vcppmake/vc6/Release"
+# ADD LINK32 icuin.lib icuuc.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib libswordvc6icu.lib /nologo /subsystem:console /machine:I386 /libpath:"../../../../icu-sword/lib" /libpath:"../../../lib"
+
+!ENDIF
+
+# Begin Target
+
+# Name "diatheke - Win32 Release"
+# Name "diatheke - Win32 Debug"
+# Name "diatheke - Win32 Debug with ICU"
+# Name "diatheke - Win32 Release with ICU"
+# Begin Group "Source Files"
+
+# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
+# Begin Source File
+
+SOURCE=.\corediatheke.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=.\diafiltmgr.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=.\diatheke.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=.\diathekemgr.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=.\gbfcgi.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=.\osiscgi.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=.\thmlcgi.cpp
+# End Source File
+# End Group
+# Begin Group "Header Files"
+
+# PROP Default_Filter "h;hpp;hxx;hm;inl"
+# Begin Source File
+
+SOURCE=.\corediatheke.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\diafiltmgr.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\diathekemgr.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\gbfcgi.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\osiscgi.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\thmlcgi.h
+# End Source File
+# End Group
+# Begin Group "Resource Files"
+
+# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe"
+# End Group
+# End Target
+# End Project
diff --git a/utilities/diatheke/diatheke.dsw b/utilities/diatheke/diatheke.dsw
new file mode 100644
index 0000000..caaf25d
--- /dev/null
+++ b/utilities/diatheke/diatheke.dsw
@@ -0,0 +1,44 @@
+Microsoft Developer Studio Workspace File, Format Version 6.00
+# WARNING: DO NOT EDIT OR DELETE THIS WORKSPACE FILE!
+
+###############################################################################
+
+Project: "diatheke"=.\diatheke.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+ Begin Project Dependency
+ Project_Dep_Name libsword
+ End Project Dependency
+}}}
+
+###############################################################################
+
+Project: "libsword"=..\..\..\lib\vcppmake\vc6\libsword.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+}}}
+
+###############################################################################
+
+Global:
+
+Package=<5>
+{{{
+}}}
+
+Package=<3>
+{{{
+}}}
+
+###############################################################################
+
diff --git a/utilities/diatheke/diathekemgr.cpp b/utilities/diatheke/diathekemgr.cpp
new file mode 100644
index 0000000..9a4bb44
--- /dev/null
+++ b/utilities/diatheke/diathekemgr.cpp
@@ -0,0 +1,107 @@
+//---------------------------------------------------------------------------
+#include <thmlplain.h>
+#include <gbfplain.h>
+#include <thmlgbf.h>
+#include <gbfthml.h>
+#include <thmlhtml.h>
+#include <gbfhtml.h>
+#include <plainhtml.h>
+#include <thmlhtmlhref.h>
+#include <gbfhtmlhref.h>
+#include <thmlrtf.h>
+#include <gbfrtf.h>
+
+#include <swconfig.h>
+#include "diafiltmgr.h"
+
+#ifdef _ICU_
+#include <utf8arshaping.h>
+#include <utf8bidireorder.h>
+#include <utf8transliterator.h>
+#endif
+
+#ifdef WIN32
+#include <windows.h>
+#endif
+
+#include "diathekemgr.h"
+#include "gbfcgi.h"
+#include "thmlcgi.h"
+
+//---------------------------------------------------------------------------
+DiathekeMgr::DiathekeMgr (SWConfig * iconfig, SWConfig * isysconfig, bool autoload, char enc, char mark, bool ibidi, bool ishape)
+ : SWMgr(iconfig, isysconfig, autoload, new DiathekeFilterMgr(mark, enc))
+{
+ bidi = ibidi;
+ shape = ishape;
+
+#ifdef _ICU_
+ arshaping = new UTF8arShaping();
+ bidireorder = new UTF8BiDiReorder();
+ transliterator = new UTF8Transliterator();
+#endif
+ Load();
+
+#ifdef WIN32
+ OSVERSIONINFO osvi;
+ memset (&osvi, 0, sizeof(OSVERSIONINFO));
+ osvi.dwOSVersionInfoSize = sizeof(OSVERSIONINFO);
+ GetVersionEx(&osvi);
+ platformID = osvi.dwPlatformId;
+#endif
+
+}
+
+
+DiathekeMgr::~DiathekeMgr()
+{
+#ifdef _ICU_
+ if (arshaping)
+ delete arshaping;
+ if (bidireorder)
+ delete bidireorder;
+ if (transliterator)
+ delete transliterator;
+#endif
+}
+
+
+void DiathekeMgr::AddRenderFilters(SWModule *module, ConfigEntMap &section)
+{
+ SWBuf lang;
+ bool rtl;
+ ConfigEntMap::iterator entry;
+
+ lang = ((entry = section.find("Lang")) != section.end()) ? (*entry).second : (SWBuf)"en";
+ rtl = ((entry = section.find("Direction")) != section.end()) ? ((*entry).second == "RtoL") : false;
+
+#ifdef _ICU_
+ if (shape && !strnicmp(lang.c_str(), "ar", 2)) {
+ module->AddRenderFilter(arshaping);
+ }
+ if (bidi && rtl) {
+ module->AddRenderFilter(bidireorder);
+ }
+#endif
+ SWMgr::AddRenderFilters(module, section);
+}
+
+signed char DiathekeMgr::Load () {
+ signed char retval = SWMgr::Load();
+#ifdef _ICU_
+ optionFilters.insert(FilterMap::value_type("UTF8Transliterator", transliterator));
+ options.push_back(transliterator->getOptionName());
+#endif
+ return retval;
+};
+
+void DiathekeMgr::AddGlobalOptions (SWModule * module, ConfigEntMap & section,
+ ConfigEntMap::iterator start,
+ ConfigEntMap::iterator end) {
+
+ SWMgr::AddGlobalOptions(module, section, start, end);
+#ifdef _ICU_
+ module->AddOptionFilter(transliterator);
+#endif
+};
+
diff --git a/utilities/diatheke/diathekemgr.h b/utilities/diatheke/diathekemgr.h
new file mode 100644
index 0000000..6101e53
--- /dev/null
+++ b/utilities/diatheke/diathekemgr.h
@@ -0,0 +1,35 @@
+#ifndef DIATHEKEMGR_H
+#define DIATHEKEMGR_H
+
+#include <swmgr.h>
+#include "diafiltmgr.h"
+
+enum PlatformIDs { WIN32S = 0, WIN9X, WINNT, WINCE };
+
+class DiathekeMgr : public SWMgr {
+ SWFilter *arshaping;
+ SWFilter *bidireorder;
+ SWFilter *transliterator;
+
+#ifdef WIN32
+ char platformID;
+#endif
+
+protected:
+ virtual void AddRenderFilters(SWModule *module, ConfigEntMap &section);
+ virtual signed char Load ();
+ virtual void AddGlobalOptions (SWModule * module, ConfigEntMap & section, ConfigEntMap::iterator start, ConfigEntMap::iterator end);
+
+public:
+ bool shape;
+ bool bidi;
+
+ unsigned char Markup(unsigned char m = FMT_UNKNOWN) {return ((DiathekeFilterMgr*)filterMgr)->Markup(m);};
+ unsigned char Encoding(unsigned char e = ENC_UNKNOWN) {return ((EncodingFilterMgr*)filterMgr)->Encoding(e);};
+
+ DiathekeMgr(SWConfig * iconf = NULL, SWConfig * isysconfig = NULL, bool autoload = false, char enc = ENC_UTF8, char mark = FMT_PLAIN, bool bidi = false, bool shape = false);
+ virtual ~DiathekeMgr();
+};
+
+#endif
+
diff --git a/utilities/diatheke/gbfcgi.cpp b/utilities/diatheke/gbfcgi.cpp
new file mode 100644
index 0000000..c581fa1
--- /dev/null
+++ b/utilities/diatheke/gbfcgi.cpp
@@ -0,0 +1,138 @@
+/***************************************************************************
+ gbfcgi.cpp - GBF to Diatheke/CGI format
+ -------------------
+ begin : 2001-11-12
+ copyright : 2001 by CrossWire Bible Society
+ ***************************************************************************/
+
+/***************************************************************************
+ * *
+ * This program is free software; you can redistribute it and/or modify *
+ * it under the terms of the GNU General Public License as published by *
+ * the Free Software Foundation; either version 2 of the License, or *
+ * (at your option) any later version. *
+ * *
+ ***************************************************************************/
+
+#include <stdlib.h>
+#include <string.h>
+#include "gbfcgi.h"
+
+SWORD_NAMESPACE_START
+
+GBFCGI::GBFCGI() {
+ setTokenStart("<");
+ setTokenEnd(">");
+
+ setTokenCaseSensitive(true);
+
+ addTokenSubstitute("Rf", ")</small></font>");
+ addTokenSubstitute("FI", "<i>"); // italics begin
+ addTokenSubstitute("Fi", "</i>");
+ addTokenSubstitute("FB", "<n>"); // bold begin
+ addTokenSubstitute("Fb", "</n>");
+ addTokenSubstitute("FR", "<font color=\"#FF0000\">"); // words of Jesus begin
+ addTokenSubstitute("Fr", "</font>");
+ addTokenSubstitute("FU", "<u>"); // underline begin
+ addTokenSubstitute("Fu", "</u>");
+ addTokenSubstitute("FO", "<cite>"); // Old Testament quote begin
+ addTokenSubstitute("Fo", "</cite>");
+ addTokenSubstitute("FS", "<sup>"); // Superscript begin// Subscript begin
+ addTokenSubstitute("Fs", "</sup>");
+ addTokenSubstitute("FV", "<sub>"); // Subscript begin
+ addTokenSubstitute("Fv", "</sub>");
+ addTokenSubstitute("TT", "<big>"); // Book title begin
+ addTokenSubstitute("Tt", "</big>");
+ addTokenSubstitute("PP", "<cite>"); // poetry begin
+ addTokenSubstitute("Pp", "</cite>");
+ addTokenSubstitute("Fn", "</font>"); // font end
+ addTokenSubstitute("CL", "<br />"); // new line
+ addTokenSubstitute("CM", "<br />"); // paragraph
+ addTokenSubstitute("CG", "&gt;"); // ???
+ addTokenSubstitute("CT", "&lt;"); // ???
+ addTokenSubstitute("JR", "<div align=\"right\">"); // right align begin
+ addTokenSubstitute("JC", "<div align=\"center\">"); // center align begin
+ addTokenSubstitute("JL", "</div>"); // align end
+
+}
+
+
+bool GBFCGI::handleToken(SWBuf &buf, const char *token, DualStringMap &userData) {
+ unsigned long i;
+ if (!substituteToken(buf, token)) {
+ if (!strncmp(token, "WG", 2) || !strncmp(token, "WH", 2)) { // strong's numbers
+ buf += " <small><em>&lt;<a href=\"!DIATHEKE_URL!";
+ if (token[1] == 'H') {
+ buf += "StrongsHebrew";
+ }
+ else if (token[1] == 'G') {
+ buf += "StrongsGreek";
+ }
+ buf += "=on&verse=";
+ for (i = 2; i < strlen(token); i++)
+ buf += token[i];
+ buf += "\">";
+ for (i = 2; i < strlen(token); i++)
+ buf += token[i];
+ buf += "</a>&gt;</em></small>";
+ }
+
+ else if (!strncmp(token, "WTG", 3) || !strncmp(token, "WTH", 3)) { // strong's numbers tense
+ buf += " <small><em>&lt;<a href=\"!DIATHEKE_URL!";
+ if (token[2] == 'H') {
+ buf += "StrongsHebrew";
+ }
+ else if (token[2] == 'G') {
+ buf += "StrongsGreek";
+ }
+ buf += "=on&verse=";
+ for (i = 3; i < strlen(token); i++)
+ buf += token[i];
+ buf += "\">";
+ for (i = 3; i < strlen(token); i++)
+ buf += token[i];
+ buf += "</a>&gt;</em></small>";
+ }
+
+ else if (!strncmp(token, "WT", 2)) { // morph tags
+ buf += " <small><em>(<a href=\"!DIATHEKE_URL!Packard=on&verse=";
+ for (i = 1; i < strlen(token); i++)
+ buf += token[i];
+ buf += "\">";
+ for (i = 1; i < strlen(token); i++)
+ buf += token[i];
+ buf += "</a>)</em></small>";
+ }
+
+ else if (!strncmp(token, "RB", 2)) {
+ buf += "<i>";
+ userData["hasFootnotePreTag"] = "true";
+ }
+
+ else if (!strncmp(token, "RF", 2)) {
+ if(userData["hasFootnotePreTag"] == "true") {
+ userData["hasFootnotePreTag"] = "false";
+ buf += "</i> ";
+ }
+ buf += "<font color=\"#800000\"><small> (";
+ }
+
+ else if (!strncmp(token, "FN", 2)) {
+ buf += "<font face=\"";
+ for (i = 2; i < strlen(token); i++)
+ buf += token[i];
+ buf += "\">";
+ }
+
+ else if (!strncmp(token, "CA", 2)) { // ASCII value
+ buf += (char)atoi(&token[2]);
+ }
+
+ else {
+ return false;
+ }
+ }
+ return true;
+}
+
+SWORD_NAMESPACE_END
diff --git a/utilities/diatheke/gbfcgi.h b/utilities/diatheke/gbfcgi.h
new file mode 100644
index 0000000..8be1efe
--- /dev/null
+++ b/utilities/diatheke/gbfcgi.h
@@ -0,0 +1,36 @@
+/*-*************************************************************************
+ gbfcgi.h - description
+ -------------------
+ begin : 2001-11-12
+ copyright : 2001 by CrossWire Bible Society
+ ***************************************************************************/
+
+/***************************************************************************
+ * *
+ * This program is free software; you can redistribute it and/or modify *
+ * it under the terms of the GNU General Public License as published by *
+ * the Free Software Foundation; either version 2 of the License, or *
+ * (at your option) any later version. *
+ * *
+ ***************************************************************************/
+
+#ifndef GBFCGI_H
+#define GBFCGI_H
+
+#include <swbasicfilter.h>
+#include <swbuf.h>
+#include <defs.h>
+
+SWORD_NAMESPACE_START
+
+/** this filter converts GBF text to Diatheke/CGI format
+ */
+class SWDLLEXPORT GBFCGI : public SWBasicFilter {
+protected:
+ virtual bool handleToken(SWBuf &buf, const char *token, DualStringMap &userData);
+public:
+ GBFCGI ();
+};
+
+SWORD_NAMESPACE_END
+#endif
diff --git a/utilities/diatheke/osiscgi.cpp b/utilities/diatheke/osiscgi.cpp
new file mode 100644
index 0000000..b828149
--- /dev/null
+++ b/utilities/diatheke/osiscgi.cpp
@@ -0,0 +1,323 @@
+/***************************************************************************
+ osiscgi.cpp - OSIS to Diatheke/CGI format
+ -------------------
+ begin : 2003-10-21
+ copyright : 2003 by CrossWire Bible Society
+ ***************************************************************************/
+
+/***************************************************************************
+ * *
+ * This program is free software; you can redistribute it and/or modify *
+ * it under the terms of the GNU General Public License as published by *
+ * the Free Software Foundation; either version 2 of the License, or *
+ * (at your option) any later version. *
+ * *
+ ***************************************************************************/
+
+#include <stdlib.h>
+#include "osiscgi.h"
+#include <utilxml.h>
+#include <versekey.h>
+#include <swmodule.h>
+
+SWORD_NAMESPACE_START
+
+
+OSISCGI::MyUserData::MyUserData(const SWModule *module, const SWKey *key) : BasicFilterUserData(module, key) {
+ osisQToTick = ((!module->getConfigEntry("OSISqToTick")) || (strcmp(module->getConfigEntry("OSISqToTick"), "false")));
+}
+
+
+OSISCGI::OSISCGI() {
+ setTokenStart("<");
+ setTokenEnd(">");
+
+ setEscapeStart("&");
+ setEscapeEnd(";");
+
+ setEscapeStringCaseSensitive(true);
+
+ addEscapeStringSubstitute("amp", "&");
+ addEscapeStringSubstitute("apos", "'");
+ addEscapeStringSubstitute("lt", "<");
+ addEscapeStringSubstitute("gt", ">");
+ addEscapeStringSubstitute("quot", "\"");
+ addTokenSubstitute("lg", "<br />");
+ addTokenSubstitute("/lg", "<br />");
+
+ setTokenCaseSensitive(true);
+}
+
+
+bool OSISCGI::handleToken(SWBuf &buf, const char *token, BasicFilterUserData *userData) {
+ // manually process if it wasn't a simple substitution
+ if (!substituteToken(buf, token)) {
+ MyUserData *u = (MyUserData *)userData;
+ XMLTag tag(token);
+
+ // <w> tag
+ if (!strcmp(tag.getName(), "w")) {
+
+ // start <w> tag
+ if ((!tag.isEmpty()) && (!tag.isEndTag())) {
+ u->w = token;
+ }
+
+ // end or empty <w> tag
+ else {
+ bool endTag = tag.isEndTag();
+ SWBuf lastText;
+ bool show = true; // to handle unplaced article in kjv2003-- temporary till combined
+
+ if (endTag) {
+ tag = u->w.c_str();
+ lastText = u->lastTextNode.c_str();
+ }
+ else lastText = "stuff";
+
+ const char *attrib;
+ const char *val;
+ if (attrib = tag.getAttribute("xlit")) {
+ val = strchr(attrib, ':');
+ val = (val) ? (val + 1) : attrib;
+ buf.appendFormatted(" %s", val);
+ }
+ if (attrib = tag.getAttribute("gloss")) {
+ val = strchr(attrib, ':');
+ val = (val) ? (val + 1) : attrib;
+ buf.appendFormatted(" %s", val);
+ }
+ if (attrib = tag.getAttribute("lemma")) {
+ int count = tag.getAttributePartCount("lemma");
+ int i = (count > 1) ? 0 : -1; // -1 for whole value cuz it's faster, but does the same thing as 0
+ do {
+ attrib = tag.getAttribute("lemma", i);
+ if (i < 0) i = 0; // to handle our -1 condition
+ val = strchr(attrib, ':');
+ val = (val) ? (val + 1) : attrib;
+ const char *val2 = val;
+ if ((strchr("GH", *val)) && (isdigit(val[1])))
+ val2++;
+ if ((!strcmp(val2, "3588")) && (lastText.length() < 1))
+ show = false;
+ else {
+ if (!strchr("G", *val)) {
+ buf.appendFormatted(" <small><em>&lt;<a href=\"!DIATHEKE_URL!StrongsGreek=on&verse=%s\">%s</a>&gt;</em></small> ", val2, val);
+ }
+ else {
+ buf.appendFormatted(" <small><em>&lt;<a href=\"!DIATHEKE_URL!StrongsHebrew=on&verse=%s\">%s</a>&gt;</em></small> ", val2, val);
+ }
+ }
+ } while (++i < count);
+ }
+ if ((attrib = tag.getAttribute("morph")) && (show)) {
+ SWBuf savelemma = tag.getAttribute("savlm");
+ if ((strstr(savelemma.c_str(), "3588")) && (lastText.length() < 1))
+ show = false;
+ if (show) {
+ int count = tag.getAttributePartCount("morph");
+ int i = (count > 1) ? 0 : -1; // -1 for whole value cuz it's faster, but does the same thing as 0
+ do {
+ attrib = tag.getAttribute("morph", i);
+ if (i < 0) i = 0; // to handle our -1 condition
+ val = strchr(attrib, ':');
+ val = (val) ? (val + 1) : attrib;
+ const char *val2 = val;
+ if ((*val == 'T') && (strchr("GH", val[1])) && (isdigit(val[2])))
+ val2+=2;
+ if (!strchr("G", *val)) {
+ buf.appendFormatted(" <small><em>(;<a href=\"!DIATHEKE_URL!StrongsGreek=on&verse=%s\">%s</a>)</em></small> ", val+1, tag.getAttribute("morph"));
+ }
+ else if (!strchr("H", *val)) {
+ buf.appendFormatted(" <small><em>(<a href=\"!DIATHEKE_URL!StrongsHebrew=on&verse=%s\">%s</a>)</em></small> ", val+1, tag.getAttribute("morph"));
+ }
+ else {
+ buf.appendFormatted(" <small><em>(<a href=\"!DIATHEKE_URL!Packard=on&verse=%s\">%s</a>)</em></small> ", val, tag.getAttribute("morph"));
+ }
+ } while (++i < count);
+ }
+ }
+ if (attrib = tag.getAttribute("POS")) {
+ val = strchr(attrib, ':');
+ val = (val) ? (val + 1) : attrib;
+ buf.appendFormatted(" %s", val);
+ }
+
+ /*if (endTag)
+ buf += "}";*/
+ }
+ }
+
+ // <note> tag
+ else if (!strcmp(tag.getName(), "note")) {
+ if (!tag.isEndTag()) {
+ if (!tag.isEmpty()) {
+ SWBuf type = tag.getAttribute("type");
+
+ if (type != "strongsMarkup") { // leave strong's markup notes out, in the future we'll probably have different option filters to turn different note types on or off
+ SWBuf footnoteNumber = tag.getAttribute("swordFootnote");
+ VerseKey *vkey;
+ // see if we have a VerseKey * or descendant
+ try {
+ vkey = SWDYNAMIC_CAST(VerseKey, u->key);
+ }
+ catch ( ... ) { }
+ if (vkey) {
+ char ch = ((tag.getAttribute("type") && (!strcmp(tag.getAttribute("type"), "crossReference"))) ? 'x':'n');
+ buf.appendFormatted("<a href=\"noteID=%s.%c.%s\"><small><sup>*%c</sup></small></a> ", vkey->getText(), ch, footnoteNumber.c_str(), ch);
+ }
+ }
+ u->suspendTextPassThru = true;
+ }
+ }
+ if (tag.isEndTag()) {
+ u->suspendTextPassThru = false;
+ }
+ }
+
+ // <p> paragraph tag
+ else if (!strcmp(tag.getName(), "p")) {
+ if ((!tag.isEndTag()) && (!tag.isEmpty())) { // non-empty start tag
+ buf += "<p><br />";
+ }
+ else if (tag.isEndTag()) { // end tag
+ buf += "</p><br />";
+ userData->supressAdjacentWhitespace = true;
+ }
+ else { // empty paragraph break marker
+ buf += "<p><br />";
+ userData->supressAdjacentWhitespace = true;
+ }
+ }
+
+ // <reference> tag
+ else if (!strcmp(tag.getName(), "reference")) {
+ const char *attrib;
+ const char *val;
+
+ if ((!tag.isEndTag()) && (!tag.isEmpty())) {
+ buf += "<a href=\"!DIATHEKE_URL!verse=";
+ if (attrib = tag.getAttribute("osisRef")) {
+ val = strchr(attrib, ':');
+ val = (val) ? (val + 1) : attrib;
+ buf.appendFormatted("%s", val);
+ }
+ buf += "\">";
+ }
+ else if (tag.isEndTag()) {
+ buf += "</a>";
+ }
+ }
+
+ // <l> poetry, etc
+ else if (!strcmp(tag.getName(), "l")) {
+ if (tag.isEmpty()) {
+ buf += "<br />";
+ }
+ else if (tag.isEndTag()) {
+ buf += "<br />";
+ }
+ else if (tag.getAttribute("sID")) { // empty line marker
+ buf += "<br />";
+ }
+ }
+
+ // <milestone type="line"/>
+ else if ((!strcmp(tag.getName(), "milestone")) && (tag.getAttribute("type")) && (!strcmp(tag.getAttribute("type"), "line"))) {
+ buf += "<br />";
+ userData->supressAdjacentWhitespace = true;
+ }
+
+ // <title>
+ else if (!strcmp(tag.getName(), "title")) {
+ if ((!tag.isEndTag()) && (!tag.isEmpty())) {
+ buf += "<b>";
+ }
+ else if (tag.isEndTag()) {
+ buf += "</b><br />";
+ }
+ }
+
+ // <hi> hi? hi contrast?
+ else if (!strcmp(tag.getName(), "hi")) {
+ SWBuf type = tag.getAttribute("type");
+ if ((!tag.isEndTag()) && (!tag.isEmpty())) {
+ if (type == "bold" || type == "x-b") {
+ buf += "<b> ";
+ u->inBold = true;
+ }
+ else { // all other types
+ buf += "<i> ";
+ u->inBold = false;
+ }
+ }
+ else if (tag.isEndTag()) {
+ if(u->inBold) {
+ buf += "</b>";
+ u->inBold = false;
+ }
+ else
+ buf += "</i>";
+ }
+ else { // empty hi marker
+ // what to do? is this even valid?
+ }
+ }
+
+ // <q> quote
+ else if (!strcmp(tag.getName(), "q")) {
+ SWBuf type = tag.getAttribute("type");
+ SWBuf who = tag.getAttribute("who");
+ const char *lev = tag.getAttribute("level");
+ int level = (lev) ? atoi(lev) : 1;
+
+ if ((!tag.isEndTag()) && (!tag.isEmpty())) {
+ /*buf += "{";*/
+
+ //alternate " and '
+ if (u->osisQToTick)
+ buf += (level % 2) ? '\"' : '\'';
+
+ if (who == "Jesus") {
+ buf += "<font color=\"red\"> ";
+ }
+ }
+ else if (tag.isEndTag()) {
+ //alternate " and '
+ if (u->osisQToTick)
+ buf += (level % 2) ? '\"' : '\'';
+ //buf += "</font>";
+ }
+ else { // empty quote marker
+ //alternate " and '
+ if (u->osisQToTick)
+ buf += (level % 2) ? '\"' : '\'';
+ }
+ }
+
+ // <transChange>
+ else if (!strcmp(tag.getName(), "transChange")) {
+ SWBuf type = tag.getAttribute("type");
+
+ if ((!tag.isEndTag()) && (!tag.isEmpty())) {
+
+// just do all transChange tags this way for now
+// if (type == "supplied")
+ buf += "<i>";
+ }
+ else if (tag.isEndTag()) {
+ buf += "</i>";
+ }
+ else { // empty transChange marker?
+ }
+ }
+
+ else {
+ return false; // we still didn't handle token
+ }
+ }
+ return true;
+}
+
+
+SWORD_NAMESPACE_END
diff --git a/utilities/diatheke/osiscgi.h b/utilities/diatheke/osiscgi.h
new file mode 100644
index 0000000..c6c6411
--- /dev/null
+++ b/utilities/diatheke/osiscgi.h
@@ -0,0 +1,48 @@
+/***************************************************************************
+ osiscgi.h - OSIS to Diatheke/CGI format
+ -------------------
+ begin : 2003-10-21
+ copyright : 2003 by CrossWire Bible Society
+ ***************************************************************************/
+
+/***************************************************************************
+ * *
+ * This program is free software; you can redistribute it and/or modify *
+ * it under the terms of the GNU General Public License as published by *
+ * the Free Software Foundation; either version 2 of the License, or *
+ * (at your option) any later version. *
+ * *
+ ***************************************************************************/
+
+#ifndef OSISCGI_H
+#define OSISCGI_H
+
+#include <swbasicfilter.h>
+
+#include <defs.h>
+
+SWORD_NAMESPACE_START
+
+/** this filter converts OSIS text to Diatheke/CGI format
+ */
+class SWDLLEXPORT OSISCGI : public SWBasicFilter {
+private:
+protected:
+ class MyUserData : public BasicFilterUserData {
+ public:
+ bool osisQToTick;
+ bool inBold;
+ SWBuf w;
+ SWBuf fn;
+ MyUserData(const SWModule *module, const SWKey *key);
+ };
+ virtual BasicFilterUserData *createUserData(const SWModule *module, const SWKey *key) {
+ return new MyUserData(module, key);
+ }
+ virtual bool handleToken(SWBuf &buf, const char *token, BasicFilterUserData *userData);
+public:
+ OSISCGI();
+};
+
+SWORD_NAMESPACE_END
+#endif
diff --git a/utilities/diatheke/pqa/Diatheke.pqa b/utilities/diatheke/pqa/Diatheke.pqa
new file mode 100644
index 0000000..620a5fb
--- /dev/null
+++ b/utilities/diatheke/pqa/Diatheke.pqa
Binary files differ
diff --git a/utilities/diatheke/pqa/src/README b/utilities/diatheke/pqa/src/README
new file mode 100644
index 0000000..277a643
--- /dev/null
+++ b/utilities/diatheke/pqa/src/README
@@ -0,0 +1 @@
+Use Palm's PQA Builder with the contents of this directory (except the README file) to build Diatheke.PQA. \ No newline at end of file
diff --git a/utilities/diatheke/pqa/src/all.html b/utilities/diatheke/pqa/src/all.html
new file mode 100644
index 0000000..0974033
--- /dev/null
+++ b/utilities/diatheke/pqa/src/all.html
@@ -0,0 +1,170 @@
+<html>
+<head>
+<title>HANDiatheke</title>
+<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+</head>
+<form action=http://bible.gotjesus.org/cgi-bin/diatheke.pl method=get>
+ <p align=center>Query:
+ <INPUT name=verse>
+ <INPUT name=Submit type=submit value=Lookup>
+ <input type=hidden name=palm value=on>
+ </p>
+ <font size="-1">
+ <p>
+<input name=strongs type=checkbox value=on>Stong's*| <input name=footnotes type=checkbox value=on>Footnotes| <input name=search type=checkbox value=on>Search</p>
+ <hr>
+ <p> <b>English Bibles</b><br>
+<input name=ALT type=checkbox value=on>Analytical-Literal Trans. (ALT)<br>
+<input name=ASV type=checkbox value=on>American Standard Ver. (ASV)<br>
+<input name=BBE type=checkbox value=on>Bible in Basic English (BBE)<br>
+<input name=Brenton type=checkbox value=on>Brenton's English LXX Trans. [OT]<br>
+<input name=Darby type=checkbox value=on>Darby's Bible<br>
+<input name=DR type=checkbox value=on>Douay-Rheims (DR)<br>
+<input name=DRA type=checkbox value=on>Douay-Rheims 1899 American Ed.<br>
+<input name=HNV type=checkbox value=on>Hebrew Names Ver. (HNV)<br>
+<input name=ISV type=checkbox value=on>International Standard Ver. (ISV) [NT]<br>
+<input name=JPS type=checkbox value=on>JPS 1917 Tanakh [OT]<br>
+<input name=KJ21 type=checkbox value=on>21st Century King James Ver. (KJ21)<br>
+<input name=KJV type=checkbox value=on>King James Ver. (KJV/AV) *<br>
+<input name=LITV type=checkbox value=on>Green's Literal Trans. (LitV)<br>
+<input name=LO type=checkbox value=on>The Living Oracles [NT]<br>
+<input name=MKJV type=checkbox value=on>A Modern King James Ver. (MKJV)<br>
+<input name=NASB type=checkbox value=on>New American Standard (NASB) <br>
+<input name=NASB95 type=checkbox value=on>New American Standard, 95 Update<br>
+<input name=NIV type=checkbox value=on>New International Ver. (NIV)<br>
+<input name=NIVBr type=checkbox value=on>New International Ver., British Ed.<br>
+<input name=NJB type=checkbox value=on>New Jerusalem Bible (NJB)<br>
+<input name=NKJV type=checkbox value=on>New King James Ver. (NKJV)<br>
+<input name=NLT type=checkbox value=on>New Living Trans. (NLT)<br>
+<input name=NRSV type=checkbox value=on>New Revised Standard Ver. (NRSV)<br>
+<input name=ORTHJBC type=checkbox value=on>Orthodox Jewish Brit Chadasha [NT]<br>
+<input name=RSV type=checkbox value=on>Revised Standard Ver. (RSV)<br>
+<input name=RWebster type=checkbox value=on>Revised 1833 Webster's Bible *<br>
+<input name=WEB type=checkbox value=on>World English Bible (WEB)<br>
+<input name=Websters type=checkbox value=on>Webster's Bible<br>
+<input name=Weymouth type=checkbox value=on>Weymouth New Testament [NT]<br>
+<input name=YLT type=checkbox value=on>Young's Literal Trans. (YLT)</p>
+<p><b>Ancient Language Bibles</b><br>
+<input name=BHS type=checkbox value=on>Biblia Hebraica Stuttgartensia (BHS)<br>
+<input name=ByzX type=checkbox value=on>1991 Byzantine/Majority Text<br>
+<input name=LXXX type=checkbox value=on>Septuagint (LXX)<br>
+<input name=NA26X type=checkbox value=on>Nestle-Aland 26th Ed. GNT<br>
+<input name=ScrivnerX type=checkbox value=on>1894 Scrivener Textus Receptus<br>
+<input name=StephanusX type=checkbox value=on>1550 Stephanus Textus Receptus<br>
+<input name=TischX type=checkbox value=on>Tischendorf's Eighth Ed. GNT<br>
+<input name=Vulgate type=checkbox value=on>Latin Vulgate<br>
+<input name=WHX type=checkbox value=on>1881 Westcott-Hort GNT<br>
+<input name=WHNUX type=checkbox value=on>Westcott-Hort with NA27U4 variants<br>
+</p><p>
+<b>French Bibles</b><br>
+<input name=FreCrl type=checkbox value=on>French Haitian Creaole Ver.<br>
+<input name=FreDrb type=checkbox value=on>French Darby Trans.<br>
+<input name=FreLSG type=checkbox value=on>French 1910 Louis Segond (LSG)<br>
+<input name=FreNEG type=checkbox value=on>French Nouvelle Edition de Geneve 1979<br>
+</p>
+<p><b>German Bibles</b><br>
+<input name=GerBen type=checkbox value=on>German Bengel [NT]<br>
+<input name=GerEin type=checkbox value=on>German Einheitsuebersetzung<br>
+<input name=GerElb type=checkbox value=on>German 1905 Darby Unrev. Elberfelder<br>
+<input name=GerLut type=checkbox value=on>German 1912 Luther<br>
+<input name=GerLut1545 type=checkbox value=on>German 1545 Luther<br>
+<input name=GerRElb type=checkbox value=on>German 1993 Elberfelder, rev. Fassung<br>
+<input name=GerRLut type=checkbox value=on>German 1984 Revised Luther<br>
+<input name=GerSch type=checkbox value=on>German 1951 Schlachter Bibel<br>
+</p>
+<p>
+<b>Spanish Bibles</b><br>
+<input name=SpaLBA type=checkbox value=on>Spanish La Biblia de Las Americas (LBA)<br>
+<input name=SpaRV type=checkbox value=on>Spanish Reina-Valera<br>
+<input name=SpaRV60 type=checkbox value=on>Spanish 1960 Reina-Valera Revised<br>
+<input name=SpaRV95 type=checkbox value=on>Spanish 1995 Reina-Valera Update<br>
+<input name=SpaRVA type=checkbox value=on>Spanish Ver. Reina-Valera Actualizada<br>
+<input name=SpaSEV type=checkbox value=on>Spanish 1569 Ver. Antigua<br>
+<input name=SpaVNT type=checkbox value=on>Spanish 1858 Valera[NT]<br>
+</p>
+ <p> <b>Other Bibles</b><br>
+<input name=ALB type=checkbox value=on>Albanian Bible<br>
+<input name=CzeBKR type=checkbox value=on>Czech Bible Kralicka<br>
+<input name=CzeCEP type=checkbox value=on>Czech Ekumenicky Cesky Preklad<br>
+<input name=CzeKMS type=checkbox value=on>Czech Preklad KMS Nova Smlouva<br>
+<input name=CzeNKB type=checkbox value=on>Czech Nova Kralicka Bible<br>
+<input name=Dan type=checkbox value=on>Danish Danske Bibel<br>
+<input name=DutLEI type=checkbox value=on>Dutch Leidse Vertaling<br>
+<input name=DutLU type=checkbox value=on>Dutch Lutherse Vertaling<br>
+<input name=DutNBG type=checkbox value=on>Dutch 1951 Bijbelgenootschap Ver.<br>
+<input name=DutSVV type=checkbox value=on>Dutch Statenvertaling<br>
+<input name=EquShr type=checkbox value=on>Equadoran Shuar [NT]<br>
+<input name=FinPR type=checkbox value=on>Finish 1933 Phy~N Raamattu<br>
+<input name=HunKar type=checkbox value=on>Hungarian Karoli<br>
+<input name=IndBIS type=checkbox value=on>Bahasa Indonesia Sehari-hari (BIS)<br>
+<input name=IndTB type=checkbox value=on>Indonesian Terjemahan Baru (TB)<br>
+<input name=ItaIEP type=checkbox value=on>Italian Nuovissima Ver., San Paolo Ed.<br>
+<input name=ItaLND type=checkbox value=on>Italian 1991 La Nuova Diodati<br>
+<input name=ItaNRV type=checkbox value=on>Italian 1994 La Nuova Riveduta<br>
+<input name=Maori type=checkbox value=on>Maori Bible<br>
+<input name=Mel type=checkbox value=on>Melanesian Pidgin Bible<br>
+<input name=NorBok type=checkbox value=on>Norwegian 1930 Bokmal<br>
+<input name=NorN38 type=checkbox value=on>Norwegian 1938 Bokmal<br>
+<input name=NorNBK type=checkbox value=on>Norwegian Bibel Konkordant<br>
+<input name=NorNyn type=checkbox value=on>Norwegian 1994 Nynorsk<br>
+<input name=Norsk type=checkbox value=on>Norwegian Norsk Bible<br>
+<input name=PhiCEB type=checkbox value=on>Philippine Nga Cebuano<br>
+<input name=PolBTP type=checkbox value=on>Polish 1984 Millenium Bible, 4th Ed.<br>
+<input name=PorACF type=checkbox value=on>Portuguese 1995 Joao Ferreira<br>
+<input name=PorBRP type=checkbox value=on>Portuguese 1994 Almeida Biblia<br>
+<input name=RomCor type=checkbox value=on>Romanian Cornilescu Ver.<br>
+<input name=Swahili type=checkbox value=on>Swahili New Testament [NT]<br>
+<input name=SweSVE type=checkbox value=on>Swedish 1917 New Testament [NT]<br>
+<input name=Turkish type=checkbox value=on>Turkish New Testament [NT]<br>
+<input name=Uma type=checkbox value=on>Uma New Testament [NT]<br>
+<input name=Viet type=checkbox value=on>Vietnamese 1934 Bible<br>
+</p>
+ <p> <b>English Commentaries</b><br>
+<input name=DTN type=checkbox value=on>Darby Translation Notes<br>
+<input name=Family type=checkbox value=on>Family Bible Notes<br>
+<input name=TFG type=checkbox value=on>The Fourfold Gospel<br>
+<input name=Geneva type=checkbox value=on>Geneva Bible Translation Notes<br>
+<input name=Gill type=checkbox value=on>Gill's Expositor<br>
+<input name=MHCC type=checkbox value=on>Matthew Henry's Commentary<br>
+<input name=MHC type=checkbox value=on>Matthew Henry's Concise Commentary<br>
+<input name=PNT type=checkbox value=on>The People's New Testament<br>
+<input name=RWP type=checkbox value=on>Robertson's Word Pictures<br>
+<input name=Scofield type=checkbox value=on>Scofield Reference Notes, 1917 Ed.<br>
+<input name=Wesley type=checkbox value=on>John Wesley's Notes on the Bible<br>
+</p><p>
+<p><b>German Commentaries</b><br>
+<input name=MAK type=checkbox value=on>Matthias Ansorgs Kommentar<br>
+<input name=Rieger type=checkbox value=on>Carl Heinrich Riegers Kommentar<br>
+<input name=GerScof type=checkbox value=on>German Scofield 1917 Ed. (Gen-Eccl)<br>
+</p>
+<p>
+<b>Cross-references</b><br>
+<input name=TSK type=checkbox value=on>Treasury of Scriptural Knowledge<br>
+</p>
+ <p>
+<b>Bible Dictionaries</b><br>
+<input name=Eastons type=checkbox value=on>Easton's Bible Dictionary<br>
+<input name=Hitchcocks type=checkbox value=on>Hitchcock's Bible Names Dictionary<br>
+<input name=ISBE type=checkbox value=on>Int'l Standard Bible Encyclopedia<br>
+<input name=Smiths type=checkbox value=on>Smith's Bible Dictionary<br>
+<input name=Vines type=checkbox value=on>Vine's Bible Dictionary<br>
+</p>
+<p>
+<b>Topical References</b><br>
+<input name=Naves type=checkbox value=on>Naves' Topical Bible<br>
+<input name=Torrey type=checkbox value=on>R. A. Torrey's New Topical Textbook<br>
+</p>
+ <p>
+<b>Greek Lexica</b><br>
+<input name=StrongsGreek type=checkbox value=on>Strong's Greek Lexicon<br>
+<input name=Thayer type=checkbox value=on>Thayer's Greek Lexicon<br>
+</p>
+<p>
+<b>Hebrew Lexica</b><br>
+<input name=StrongsHebrew type=checkbox value=on>Strong's Hebrew Lexicon<br>
+<input name=BDB type=checkbox value=on>Brown-Driver-Briggs Hebrew Lexicon<br>
+</p>
+ </font>
+</form>
+</body>
+</html>
diff --git a/utilities/diatheke/pqa/src/ancient.html b/utilities/diatheke/pqa/src/ancient.html
new file mode 100644
index 0000000..4be0036
--- /dev/null
+++ b/utilities/diatheke/pqa/src/ancient.html
@@ -0,0 +1,32 @@
+<html>
+<head>
+<title>HANDiatheke</title>
+<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+</head>
+<form action=http://bible.gotjesus.org/cgi-bin/diatheke.pl method=get>
+ <p align=center>Query:
+ <INPUT name=verse>
+ <INPUT name=Submit type=submit value=Lookup>
+ <input type=hidden name=palm value=on>
+ </p>
+ <font size="-1">
+ <p>
+<input name=strongs type=checkbox value=on>Stong's*| <input name=footnotes type=checkbox value=on>Footnotes| <input name=search type=checkbox value=on>Search</p>
+ <hr>
+ <p>
+<b>Bibles</b><br>
+<input name=BHS type=checkbox value=on>Biblia Hebraica Stuttgartensia (BHS)<br>
+<input name=ByzX type=checkbox value=on>1991 Byzantine/Majority Text<br>
+<input name=LXXX type=checkbox value=on>Septuagint (LXX)<br>
+<input name=NA26X type=checkbox value=on>Nestle-Aland 26th Ed. GNT<br>
+<input name=ScrivnerX type=checkbox value=on>1894 Scrivener Textus Receptus<br>
+<input name=StephanusX type=checkbox value=on>1550 Stephanus Textus Receptus<br>
+<input name=TischX type=checkbox value=on>Tischendorf's Eighth Ed. GNT<br>
+<input name=Vulgate type=checkbox value=on>Latin Vulgate<br>
+<input name=WHX type=checkbox value=on>1881 Westcott-Hort GNT<br>
+<input name=WHNUX type=checkbox value=on>Westcott-Hort with NA27U4 variants<br>
+</p>
+ </font>
+</form>
+</body>
+</html>
diff --git a/utilities/diatheke/pqa/src/dict.html b/utilities/diatheke/pqa/src/dict.html
new file mode 100644
index 0000000..944bce3
--- /dev/null
+++ b/utilities/diatheke/pqa/src/dict.html
@@ -0,0 +1,32 @@
+<html>
+<head>
+<title>HANDiatheke</title>
+<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+</head>
+<form action=http://bible.gotjesus.org/cgi-bin/diatheke.pl method=get>
+ <p align=center>Query:
+ <INPUT name=verse>
+ <INPUT name=Submit type=submit value=Lookup>
+ <input type=hidden name=palm value=on>
+ </p>
+ <font size="-1">
+ <p>
+<input name=strongs type=checkbox value=on>Stong's*| <input name=footnotes type=checkbox value=on>Footnotes| <input name=search type=checkbox value=on>Search</p>
+ <hr>
+ <p>
+<b>Bible Dictionaries</b><br>
+<input name=Eastons type=checkbox value=on>Easton's Bible Dictionary<br>
+<input name=Hitchcocks type=checkbox value=on>Hitchcock's Bible Names Dictionary<br>
+<input name=ISBE type=checkbox value=on>Int'l Standard Bible Encyclopedia<br>
+<input name=Smiths type=checkbox value=on>Smith's Bible Dictionary<br>
+<input name=Vines type=checkbox value=on>Vine's Bible Dictionary<br>
+</p>
+<p>
+<b>Topical References</b><br>
+<input name=Naves type=checkbox value=on>Naves' Topical Bible<br>
+<input name=Torrey type=checkbox value=on>R. A. Torrey's New Topical Textbook<br>
+</p>
+ </font>
+</form>
+</body>
+</html>
diff --git a/utilities/diatheke/pqa/src/english.html b/utilities/diatheke/pqa/src/english.html
new file mode 100644
index 0000000..774245c
--- /dev/null
+++ b/utilities/diatheke/pqa/src/english.html
@@ -0,0 +1,68 @@
+<html>
+<head>
+<title>HANDiatheke</title>
+<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+</head>
+<form action=http://bible.gotjesus.org/cgi-bin/diatheke.pl method=get>
+ <p align=center>Query:
+ <INPUT name=verse>
+ <INPUT name=Submit type=submit value=Lookup>
+ <input type=hidden name=palm value=on>
+ </p>
+ <font size="-1">
+ <p>
+<input name=strongs type=checkbox value=on>Stong's*| <input name=footnotes type=checkbox value=on>Footnotes| <input name=search type=checkbox value=on>Search</p>
+ <hr>
+ <p>
+<b>Bibles</b><br>
+<input name=ALT type=checkbox value=on>Analytical-Literal Trans. (ALT)<br>
+<input name=ASV type=checkbox value=on>American Standard Ver. (ASV)<br>
+<input name=BBE type=checkbox value=on>Bible in Basic English (BBE)<br>
+<input name=Brenton type=checkbox value=on>Brenton's English LXX Trans. [OT]<br>
+<input name=Darby type=checkbox value=on>Darby's Bible<br>
+<input name=DR type=checkbox value=on>Douay-Rheims (DR)<br>
+<input name=DRA type=checkbox value=on>Douay-Rheims 1899 American Ed.<br>
+<input name=HNV type=checkbox value=on>Hebrew Names Ver. (HNV)<br>
+<input name=ISV type=checkbox value=on>International Standard Ver. (ISV) [NT]<br>
+<input name=JPS type=checkbox value=on>JPS 1917 Tanakh [OT]<br>
+<input name=KJ21 type=checkbox value=on>21st Century King James Ver. (KJ21)<br>
+<input name=KJV type=checkbox value=on>King James Ver. (KJV/AV) *<br>
+<input name=LITV type=checkbox value=on>Green's Literal Trans. (LitV)<br>
+<input name=LO type=checkbox value=on>The Living Oracles [NT]<br>
+<input name=MKJV type=checkbox value=on>A Modern King James Ver. (MKJV)<br>
+<input name=NASB type=checkbox value=on>New American Standard (NASB) <br>
+<input name=NASB95 type=checkbox value=on>New American Standard, 95 Update<br>
+<input name=NIV type=checkbox value=on>New International Ver. (NIV)<br>
+<input name=NIVBr type=checkbox value=on>New International Ver., British Ed.<br>
+<input name=NJB type=checkbox value=on>New Jerusalem Bible (NJB)<br>
+<input name=NKJV type=checkbox value=on>New King James Ver. (NKJV)<br>
+<input name=NLT type=checkbox value=on>New Living Trans. (NLT)<br>
+<input name=NRSV type=checkbox value=on>New Revised Standard Ver. (NRSV)<br>
+<input name=ORTHJBC type=checkbox value=on>Orthodox Jewish Brit Chadasha [NT]<br>
+<input name=RSV type=checkbox value=on>Revised Standard Ver. (RSV)<br>
+<input name=RWebster type=checkbox value=on>Revised 1833 Webster's Bible *<br>
+<input name=WEB type=checkbox value=on>World English Bible (WEB)<br>
+<input name=Websters type=checkbox value=on>Webster's Bible<br>
+<input name=Weymouth type=checkbox value=on>Weymouth New Testament [NT]<br>
+<input name=YLT type=checkbox value=on>Young's Literal Trans. (YLT)</p>
+<p>
+<b>Commentaries</b><br>
+<input name=DTN type=checkbox value=on>Darby Translation Notes<br>
+<input name=Family type=checkbox value=on>Family Bible Notes<br>
+<input name=TFG type=checkbox value=on>The Fourfold Gospel<br>
+<input name=Geneva type=checkbox value=on>Geneva Bible Translation Notes<br>
+<input name=Gill type=checkbox value=on>Gill's Expositor<br>
+<input name=MHCC type=checkbox value=on>Matthew Henry's Commentary<br>
+<input name=MHC type=checkbox value=on>Matthew Henry's Concise Commentary<br>
+<input name=PNT type=checkbox value=on>The People's New Testament<br>
+<input name=RWP type=checkbox value=on>Robertson's Word Pictures<br>
+<input name=Scofield type=checkbox value=on>Scofield Reference Notes, 1917 Ed.<br>
+<input name=Wesley type=checkbox value=on>John Wesley's Notes on the Bible<br>
+</p><p>
+<b>Cross-references</b><br>
+<input name=TSK type=checkbox value=on>Treasury of Scriptural Knowledge<br>
+</p>
+ </font>
+</form>
+</body>
+</html>
diff --git a/utilities/diatheke/pqa/src/french.html b/utilities/diatheke/pqa/src/french.html
new file mode 100644
index 0000000..4aeea79
--- /dev/null
+++ b/utilities/diatheke/pqa/src/french.html
@@ -0,0 +1,26 @@
+<html>
+<head>
+<title>HANDiatheke</title>
+<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+</head>
+<form action=http://bible.gotjesus.org/cgi-bin/diatheke.pl method=get>
+ <p align=center>Query:
+ <INPUT name=verse>
+ <INPUT name=Submit type=submit value=Lookup>
+ <input type=hidden name=palm value=on>
+ </p>
+ <font size="-1">
+ <p>
+<input name=strongs type=checkbox value=on>Stong's*| <input name=footnotes type=checkbox value=on>Footnotes| <input name=search type=checkbox value=on>Search</p>
+ <hr>
+ <p>
+<b>Bibles</b><br>
+<input name=FreCrl type=checkbox value=on>French Haitian Creaole Ver.<br>
+<input name=FreDrb type=checkbox value=on>French Darby Trans.<br>
+<input name=FreLSG type=checkbox value=on>French 1910 Louis Segond (LSG)<br>
+<input name=FreNEG type=checkbox value=on>French Nouvelle Edition de Geneve 1979<br>
+</p>
+ </font>
+</form>
+</body>
+</html>
diff --git a/utilities/diatheke/pqa/src/german.html b/utilities/diatheke/pqa/src/german.html
new file mode 100644
index 0000000..d772a56
--- /dev/null
+++ b/utilities/diatheke/pqa/src/german.html
@@ -0,0 +1,35 @@
+<html>
+<head>
+<title>HANDiatheke</title>
+<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+</head>
+<form action=http://bible.gotjesus.org/cgi-bin/diatheke.pl method=get>
+ <p align=center>Query:
+ <INPUT name=verse>
+ <INPUT name=Submit type=submit value=Lookup>
+ <input type=hidden name=palm value=on>
+ </p>
+ <font size="-1">
+ <p>
+<input name=strongs type=checkbox value=on>Stong's*| <input name=footnotes type=checkbox value=on>Footnotes| <input name=search type=checkbox value=on>Search</p>
+ <hr>
+ <p>
+<b>Bibles</b><br>
+<input name=GerBen type=checkbox value=on>German Bengel [NT]<br>
+<input name=GerEin type=checkbox value=on>German Einheitsuebersetzung<br>
+<input name=GerElb type=checkbox value=on>German 1905 Darby Unrev. Elberfelder<br>
+<input name=GerLut type=checkbox value=on>German 1912 Luther<br>
+<input name=GerLut1545 type=checkbox value=on>German 1545 Luther<br>
+<input name=GerRElb type=checkbox value=on>German 1993 Elberfelder, rev. Fassung<br>
+<input name=GerRLut type=checkbox value=on>German 1984 Revised Luther<br>
+<input name=GerSch type=checkbox value=on>German 1951 Schlachter Bibel<br>
+</p>
+<p><b>Commentaries</b><br>
+<input name=MAK type=checkbox value=on>Matthias Ansorgs Kommentar<br>
+<input name=Rieger type=checkbox value=on>Carl Heinrich Riegers Kommentar<br>
+<input name=GerScof type=checkbox value=on>German Scofield 1917 Ed. (Gen-Eccl)<br>
+</p>
+ </font>
+</form>
+</body>
+</html>
diff --git a/utilities/diatheke/pqa/src/index.html b/utilities/diatheke/pqa/src/index.html
new file mode 100644
index 0000000..ff7a8c4
--- /dev/null
+++ b/utilities/diatheke/pqa/src/index.html
@@ -0,0 +1,43 @@
+<html>
+<head>
+<title>HANDiatheke</title>
+<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+</head>
+
+<body bgcolor="#FFFFFF">
+<center>
+<form action=http://bible.gotjesus.org/cgi-bin/diatheke.pl method=get>
+ Quick lookup in KJV, NIV, NAS, & WEB:<br>
+<INPUT name=verse>
+<INPUT name=Submit type=submit value=Lookup>
+<input type=hidden name=KJV value=on>
+<input type=hidden name=NIV value=on>
+<input type=hidden name=NASB value=on>
+<input type=hidden name=WEB value=on>
+<input type=hidden name=palm value=on>
+</form><hr>
+ <a href="all.html">All Books</a><br>
+ <br><br>
+ <table border=0>
+ <tr>
+ <td width="50%" height="22"> <a href="dict.html">Dictionaries & Topics</a></td>
+ <td width="50%" height="22"> <a href="lex.html">Lexica</a></td>
+ </tr>
+ </table>
+ <br><br>
+ Bibles & Commentaries:<br>
+ <table border=0>
+ <tr>
+ <td width="33%"> <a href="english.html">English</a></td>
+ <td width="34%"> <a href="french.html">French</a></td>
+ <td width="33%"> <a href="german.html">German</a></td>
+ </tr>
+ <tr>
+ <td width="33%"> <a href="ancient.html">Ancient</a></td>
+ <td width="34%"> <a href="spanish.html">Spanish</a></td>
+ <td width="33%"> <a href="other.html">Other</a></td>
+ </tr>
+ </table>
+</center>
+</body>
+</html>
diff --git a/utilities/diatheke/pqa/src/lex.html b/utilities/diatheke/pqa/src/lex.html
new file mode 100644
index 0000000..29fe0f7
--- /dev/null
+++ b/utilities/diatheke/pqa/src/lex.html
@@ -0,0 +1,29 @@
+<html>
+<head>
+<title>HANDiatheke</title>
+<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+</head>
+<form action=http://bible.gotjesus.org/cgi-bin/diatheke.pl method=get>
+ <p align=center>Query:
+ <INPUT name=verse>
+ <INPUT name=Submit type=submit value=Lookup>
+ <input type=hidden name=palm value=on>
+ </p>
+ <font size="-1">
+ <p>
+<input name=strongs type=checkbox value=on>Stong's*| <input name=footnotes type=checkbox value=on>Footnotes| <input name=search type=checkbox value=on>Search</p>
+ <hr>
+ <p>
+<b>Greek Lexica</b><br>
+<input name=StrongsGreek type=checkbox value=on>Strong's Greek Lexicon<br>
+<input name=Thayer type=checkbox value=on>Thayer's Greek Lexicon<br>
+</p>
+<p>
+<b>Hebrew Lexica</b><br>
+<input name=StrongsHebrew type=checkbox value=on>Strong's Hebrew Lexicon<br>
+<input name=BDB type=checkbox value=on>Brown-Driver-Briggs Hebrew Lexicon<br>
+</p>
+ </font>
+</form>
+</body>
+</html>
diff --git a/utilities/diatheke/pqa/src/other.html b/utilities/diatheke/pqa/src/other.html
new file mode 100644
index 0000000..6184f94
--- /dev/null
+++ b/utilities/diatheke/pqa/src/other.html
@@ -0,0 +1,57 @@
+<html>
+<head>
+<title>HANDiatheke</title>
+<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+</head>
+<form action=http://bible.gotjesus.org/cgi-bin/diatheke.pl method=get>
+ <p align=center>Query:
+ <INPUT name=verse>
+ <INPUT name=Submit type=submit value=Lookup>
+ <input type=hidden name=palm value=on>
+ </p>
+ <font size="-1">
+ <p>
+<input name=strongs type=checkbox value=on>Stong's*| <input name=footnotes type=checkbox value=on>Footnotes| <input name=search type=checkbox value=on>Search</p>
+ <hr>
+ <p>
+<b>Bibles</b><br>
+<input name=ALB type=checkbox value=on>Albanian Bible<br>
+<input name=CzeBKR type=checkbox value=on>Czech Bible Kralicka<br>
+<input name=CzeCEP type=checkbox value=on>Czech Ekumenicky Cesky Preklad<br>
+<input name=CzeKMS type=checkbox value=on>Czech Preklad KMS Nova Smlouva<br>
+<input name=CzeNKB type=checkbox value=on>Czech Nova Kralicka Bible<br>
+<input name=Dan type=checkbox value=on>Danish Danske Bibel<br>
+<input name=DutLEI type=checkbox value=on>Dutch Leidse Vertaling<br>
+<input name=DutLU type=checkbox value=on>Dutch Lutherse Vertaling<br>
+<input name=DutNBG type=checkbox value=on>Dutch 1951 Bijbelgenootschap Ver.<br>
+<input name=DutSVV type=checkbox value=on>Dutch Statenvertaling<br>
+<input name=EquShr type=checkbox value=on>Equadoran Shuar [NT]<br>
+<input name=FinPR type=checkbox value=on>Finish 1933 Phy~N Raamattu<br>
+<input name=HunKar type=checkbox value=on>Hungarian Karoli<br>
+<input name=IndBIS type=checkbox value=on>Bahasa Indonesia Sehari-hari (BIS)<br>
+<input name=IndTB type=checkbox value=on>Indonesian Terjemahan Baru (TB)<br>
+<input name=ItaIEP type=checkbox value=on>Italian Nuovissima Ver., San Paolo Ed.<br>
+<input name=ItaLND type=checkbox value=on>Italian 1991 La Nuova Diodati<br>
+<input name=ItaNRV type=checkbox value=on>Italian 1994 La Nuova Riveduta<br>
+<input name=Maori type=checkbox value=on>Maori Bible<br>
+<input name=Mel type=checkbox value=on>Melanesian Pidgin Bible<br>
+<input name=NorBok type=checkbox value=on>Norwegian 1930 Bokmal<br>
+<input name=NorN38 type=checkbox value=on>Norwegian 1938 Bokmal<br>
+<input name=NorNBK type=checkbox value=on>Norwegian Bibel Konkordant<br>
+<input name=NorNyn type=checkbox value=on>Norwegian 1994 Nynorsk<br>
+<input name=Norsk type=checkbox value=on>Norwegian Norsk Bible<br>
+<input name=PhiCEB type=checkbox value=on>Philippine Nga Cebuano<br>
+<input name=PolBTP type=checkbox value=on>Polish 1984 Millenium Bible, 4th Ed.<br>
+<input name=PorACF type=checkbox value=on>Portuguese 1995 Joao Ferreira<br>
+<input name=PorBRP type=checkbox value=on>Portuguese 1994 Almeida Biblia<br>
+<input name=RomCor type=checkbox value=on>Romanian Cornilescu Ver.<br>
+<input name=Swahili type=checkbox value=on>Swahili New Testament [NT]<br>
+<input name=SweSVE type=checkbox value=on>Swedish 1917 New Testament [NT]<br>
+<input name=Turkish type=checkbox value=on>Turkish New Testament [NT]<br>
+<input name=Uma type=checkbox value=on>Uma New Testament [NT]<br>
+<input name=Viet type=checkbox value=on>Vietnamese 1934 Bible<br>
+</p>
+ </font>
+</form>
+</body>
+</html>
diff --git a/utilities/diatheke/pqa/src/spanish.html b/utilities/diatheke/pqa/src/spanish.html
new file mode 100644
index 0000000..e848003
--- /dev/null
+++ b/utilities/diatheke/pqa/src/spanish.html
@@ -0,0 +1,29 @@
+<html>
+<head>
+<title>HANDiatheke</title>
+<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+</head>
+<form action=http://bible.gotjesus.org/cgi-bin/diatheke.pl method=get>
+ <p align=center>Query:
+ <INPUT name=verse>
+ <INPUT name=Submit type=submit value=Lookup>
+ <input type=hidden name=palm value=on>
+ </p>
+ <font size="-1">
+ <p>
+<input name=strongs type=checkbox value=on>Stong's*| <input name=footnotes type=checkbox value=on>Footnotes| <input name=search type=checkbox value=on>Search</p>
+ <hr>
+ <p>
+<b>Bibles</b><br>
+<input name=SpaLBA type=checkbox value=on>Spanish La Biblia de Las Americas (LBA)<br>
+<input name=SpaRV type=checkbox value=on>Spanish Reina-Valera<br>
+<input name=SpaRV60 type=checkbox value=on>Spanish 1960 Reina-Valera Revised<br>
+<input name=SpaRV95 type=checkbox value=on>Spanish 1995 Reina-Valera Update<br>
+<input name=SpaRVA type=checkbox value=on>Spanish Ver. Reina-Valera Actualizada<br>
+<input name=SpaSEV type=checkbox value=on>Spanish 1569 Ver. Antigua<br>
+<input name=SpaVNT type=checkbox value=on>Spanish 1858 Valera[NT]<br>
+</p>
+ </font>
+</form>
+</body>
+</html>
diff --git a/utilities/diatheke/soap/sapouni.cgi b/utilities/diatheke/soap/sapouni.cgi
new file mode 100755
index 0000000..24df769
--- /dev/null
+++ b/utilities/diatheke/soap/sapouni.cgi
@@ -0,0 +1,97 @@
+#!/usr/bin/perl
+
+#version 1.0
+
+package sapouni;
+$sapouni = "nice /usr/bin/diatheke"; # location of diatheke command line program -- if you are using a MS Windows server, you might need to remove the "nice"
+
+$sword_path = "/home/sword"; # SWORD_PATH environment variable you want to use
+$maxverses = 0; # maximum number of verses diatheke will return per query (prevents people from asking for Gen1:1-Rev22:21; 0 for unlim.)
+$defversion = "KJV"; # book to query when none is selected, but a verse/search is entered
+$deflocale = "abbr"; # this is just the default for cases where user has not selected a locale and his browser does not reveal one -- you can also set locale using locael=<locale> in the GET URL
+
+
+###############################################################################
+## You should not need to edit anything below this line.
+## Unless you want to modify functionality of course. :)
+###############################################################################
+
+$ENV{'SWORD_PATH'} = $sword_path;
+
+use SOAP::Transport::HTTP;
+
+SOAP::Transport::HTTP::CGI
+ -> dispatch_to('sapouni')
+ -> handle;
+
+package sapouni;
+
+sub biblequery {
+ my ($class, $books, $key, $options, $encoding, $markup, $searchtype, $locale, $script, $max) = @_;
+
+ if ($key eq "") {
+ $key = "Jn 3:16";
+ }
+
+ @booklist = split ' ', $books;
+
+ $n = scalar(@booklist);
+ if ($n == 0) {
+ @booklist[0] = $defversion;
+ $n++;
+ }
+
+ $query = "";
+
+ if ($options ne "") {
+ $query .= " -o \"$options\"";
+ }
+
+ if ($encoding ne "") {
+ $query .= " -e \"$encoding\"";
+ }
+ else {
+ $query .= " -e UTF8";
+ }
+
+ if ($markup ne "") {
+ $query .= " -f \"$markup\"";
+ }
+ else {
+ $query .= " -f ThML";
+ }
+
+ if ($searchtype ne "") {
+ $query .= " -s \"$searchtype\"";
+ }
+
+ if ($locale ne "") {
+ $query .= " -l \"$locale\"";
+ }
+ else {
+ $query .= " -l $deflocale";
+ }
+
+ if ($script ne "") {
+ $query .= " -t \"$script\"";
+ }
+
+ if ($max ne "" && $max ne 0) {
+ $query .= " -m \"$max\"";
+ }
+
+ $rval = "";
+ for ($i = 0; $i < $n; $i++) {
+ $line = "$sapouni $query -b $booklist[$i] -k \"$key\" 2> /dev/null";
+
+ # uncomment to print the command line send to Diatheke (for debugging)
+ # $rval .= "$line\n";
+
+ $line = `$line`;
+ chomp($line);
+
+ $rval .= "$line\n";
+ }
+
+ return "$rval";
+}
diff --git a/utilities/diatheke/soap/soapatheke.pl b/utilities/diatheke/soap/soapatheke.pl
new file mode 100755
index 0000000..e3f88ed
--- /dev/null
+++ b/utilities/diatheke/soap/soapatheke.pl
@@ -0,0 +1,16 @@
+#!/usr/bin/perl
+
+## This is a test app and has no other purpose.
+
+use SOAP::Lite;
+
+my ($books, $key, $options, $encoding, $markup, $searchtype, $locale, $script, $max) = @ARGV;
+
+# uncomment to see parameters being passed to the SOAP server (for debugging)
+# print "$books\n$key\n$options\n$encoding\n$markup\n$searchtype\n$locale\n$script\n$max\n";
+
+print SOAP::Lite
+ -> uri('http://bible.gotjesus.org/sapouni')
+ -> proxy('http://bible.gotjesus.org/cgi-bin/sapouni.cgi')
+ -> biblequery($books, $key, $options, $encoding, $markup, $searchtype, $locale, $script, $max)
+ -> result;
diff --git a/utilities/diatheke/tcl/biblebot-diatheke.tcl b/utilities/diatheke/tcl/biblebot-diatheke.tcl
new file mode 100644
index 0000000..1fea379
--- /dev/null
+++ b/utilities/diatheke/tcl/biblebot-diatheke.tcl
@@ -0,0 +1,2131 @@
+# Diatheke/Tcl 3.0 by Chris Little <chrislit@gotjesus.org>
+# Based on code schema of <cking@acy.digex.net>
+
+# Copyright 1999 by Chris Little
+# Licensed under GNU General Public License (GPL)
+# see accompanying LICENSE file for license details
+
+# This script is intended for use with libraries and modules from
+# the SWORD Project, available at http://www.crosswire.org/
+#
+# To install Diatheke/Tcl, install an eggdrop IRC bot, copy the
+# Diatheke/Tcl .tcl file to your eggdrop scripts directory, and
+# add a line to the end of your bot startup script to load the
+# Diatheke/Tcl script. This script has been tested with eggdrop 1.3.23
+# but should function fine in later versions.
+#
+# This is script assumes you have every single SWORD module installed
+# that was available at the time of release. Since you probably do not,
+# remove all modules listed in the pub_books function that you do not
+# have installed to hide them from end-users.
+#
+# The !history command only works if you have LOGGING turned on in
+# diatheke (the command line C program). This command is commented out
+# of the help function and must be uncommented to make it show up for
+# end-users.
+#
+# When you get the script loaded, type !biblehelp in a channel where
+# the bot is present and it will give you a full list of commands.
+# More commands will appear to you depending upon which mode the bot is
+# in and whether you are an op on the bot or voiced in the channel.
+
+set diaver 4.0
+
+#modify this to reflect actual location of diatheke and dict binaries
+set diatheke "/usr/bin/diatheke"
+set dict "/usr/bin/dict"
+
+proc publookupverse {vlookup} {
+ global botnick chan bibver diatheke
+
+ set arg "-b"
+ set n [string first "@" $vlookup]
+ if {$n > -1 && $n < 2} {
+ append arg n
+ }
+
+ set n [string first "#" $vlookup]
+ if {$n > -1 && $n < 2} {
+ append arg f
+ }
+ set vlookup [string trimleft $vlookup "#"]
+ set vlookup [string trimleft $vlookup "@"]
+ set vlookup [string trimleft $vlookup "#"]
+
+ catch {exec $diatheke -f plaintext -o $arg -b $bibver -k "$vlookup" >& /tmp/fooout.$botnick}
+ catch {set foofile [open /tmp/fooout.$botnick]}
+ while {[gets $foofile fooverse] >= 0} {
+ set len [string length $fooverse]
+ set i 0
+ set j 255
+ while {$j < $len} {
+ if {[regexp ">" $fooverse]} {
+ while {[string index $fooverse $j] != ">" && [string index $fooverse $j] != "\n"} {set j [expr $j - 1]}
+ } else {
+ while {[string index $fooverse $j] != " " && [string index $fooverse $j] != "\n"} {set j [expr $j - 1]}
+ }
+ set foo2 [string range $fooverse $i $j]
+ set foo2 [string trim $foo2]
+ regsub -all -nocase {(<FI>|<CM>|<FB>)} $foo2 {} foo2
+ regsub -all {<RF>} $foo2 {(footnote: } foo2
+ regsub -all {<Rf>} $foo2 {)} foo2
+ putmsg $chan "$foo2"
+ set i [expr $j + 1]
+ set j [expr $j + 256]
+ if {$j > $len} {set j $len}
+ }
+ set foo2 [string range $fooverse $i end]
+ set foo2 [string trim $foo2]
+ regsub -all -nocase {(<FI>|<CM>|<FB>)} $foo2 {} foo2
+ regsub -all {<RF>} $foo2 {(footnote: } foo2
+ regsub -all {<Rf>} $foo2 {)} foo2
+ putmsg $chan "$foo2"
+ }
+
+ catch {close $foofile}
+ exec rm /tmp/fooout.$botnick
+ return 1
+}
+
+
+proc pub_lookup {nick uhost hand channel arg} {
+ global von chan bibver
+ set chan $channel
+ if {$von==0} {
+ putmsg $nick "Verse display is currently off."
+ return 0
+ }
+ if {($von==2) && (![matchattr $hand 3]) && (![matchattr $hand o])} {
+ putmsg $nick "Only ops can display verses at this time."
+ return 0
+ }
+
+ publookupverse $arg
+
+}
+
+bind pub - !kjv setver_kjv
+bind pub - !english setver_kjv
+
+proc setver_kjv {nick uhost hand channel arg} {
+ global botnick chan bibver
+ set bibver KJV
+ pub_lookup $nick $uhost $hand $channel $arg
+}
+
+
+bind pub - !niv setver_niv
+
+proc setver_niv {nick uhost hand channel arg} {
+ global botnick chan bibver
+ set bibver NIV
+ pub_lookup $nick $uhost $hand $channel $arg
+}
+
+bind pub - !dr setver_dr
+bind pub - !douayrheims setver_dr
+bind pub - !dre setver_dr
+
+proc setver_dr {nick uhost hand channel arg} {
+ global botnick chan bibver
+ set bibver DR
+ pub_lookup $nick $uhost $hand $channel $arg
+}
+
+bind pub - !nas setver_nasb
+bind pub - !nasb setver_nasb
+
+proc setver_nasb {nick uhost hand channel arg} {
+ global botnick chan bibver
+ set bibver NASB
+ pub_lookup $nick $uhost $hand $channel $arg
+}
+
+bind pub - !hnv setver_hnv
+
+proc setver_hnv {nick uhost hand channel arg} {
+ global botnick chan bibver
+ set bibver HNV
+ pub_lookup $nick $uhost $hand $channel $arg
+}
+
+bind pub - !web setver_web
+
+proc setver_web {nick uhost hand channel arg} {
+ global botnick chan bibver
+ set bibver WEB
+ pub_lookup $nick $uhost $hand $channel $arg
+}
+
+bind pub - !akjv setver_akjv
+
+proc setver_akjv {nick uhost hand channel arg} {
+ global botnick chan bibver
+ set bibver AKJV
+ pub_lookup $nick $uhost $hand $channel $arg
+}
+
+bind pub - !bbe setver_bbe
+
+proc setver_bbe {nick uhost hand channel arg} {
+ global botnick chan bibver
+ set bibver BBE
+ pub_lookup $nick $uhost $hand $channel $arg
+}
+
+bind pub - !webster setver_webster
+
+proc setver_webster {nick uhost hand channel arg} {
+ global botnick chan bibver
+ set bibver Websters
+ pub_lookup $nick $uhost $hand $channel $arg
+}
+
+bind pub - !jbc setver_jbc
+
+proc setver_jbc {nick uhost hand channel arg} {
+ global botnick chan bibver
+ set bibver ORTHJBC
+ pub_lookup $nick $uhost $hand $channel $arg
+}
+
+bind pub - !rva setver_rva
+bind pub - !spanish setver_rva
+
+proc setver_rva {nick uhost hand channel arg} {
+ global botnick chan bibver
+ set bibver SpaRVA
+ pub_lookup $nick $uhost $hand $channel $arg
+}
+
+bind pub - !lsg setver_lsg
+bind pub - !french setver_lsg
+
+proc setver_lsg {nick uhost hand channel arg} {
+ global botnick chan bibver
+ set bibver FreLSG
+ pub_lookup $nick $uhost $hand $channel $arg
+}
+
+bind pub - !bis setver_bis
+bind pub - !indonesian setver_bis
+
+proc setver_bis {nick uhost hand channel arg} {
+ global botnick chan bibver
+ set bibver IndBIS
+ pub_lookup $nick $uhost $hand $channel $arg
+}
+
+bind pub - !tb setver_tb
+
+proc setver_tb {nick uhost hand channel arg} {
+ global botnick chan bibver
+ set bibver IndTB
+ pub_lookup $nick $uhost $hand $channel $arg
+}
+
+bind pub - !sve setver_sve
+bind pub - !swedish setver_sve
+
+proc setver_sve {nick uhost hand channel arg} {
+ global botnick chan bibver
+ set bibver SweSve
+ pub_lookup $nick $uhost $hand $channel $arg
+}
+
+bind pub - !vnt setver_vnt
+
+proc setver_vnt {nick uhost hand channel arg} {
+ global botnick chan bibver
+ set bibver SpaVNT
+ pub_lookup $nick $uhost $hand $channel $arg
+}
+
+bind pub - !asv setver_asv
+
+proc setver_asv {nick uhost hand channel arg} {
+ global botnick chan bibver
+ set bibver ASV
+ pub_lookup $nick $uhost $hand $channel $arg
+}
+
+bind pub - !rsv setver_rsv
+
+proc setver_rsv {nick uhost hand channel arg} {
+ global botnick chan bibver
+ set bibver RSV
+ pub_lookup $nick $uhost $hand $channel $arg
+}
+
+bind pub - !alt setver_alt
+
+proc setver_alt {nick uhost hand channel arg} {
+ global botnick chan bibver
+ set bibver ALT
+ pub_lookup $nick $uhost $hand $channel $arg
+}
+
+bind pub - !dby setver_dby
+bind pub - !darby setver_dby
+
+proc setver_dby {nick uhost hand channel arg} {
+ global botnick chan bibver
+ set bibver Darby
+ pub_lookup $nick $uhost $hand $channel $arg
+}
+
+bind pub - !pr setver_pr
+bind pub - !finnish setver_pr
+
+proc setver_pr {nick uhost hand channel arg} {
+ global botnick chan bibver
+ set bibver FinPR
+ pub_lookup $nick $uhost $hand $channel $arg
+}
+
+bind pub - !lsg setver_lsg
+bind pub - !french setver_lsg
+
+proc setver_lsg {nick uhost hand channel arg} {
+ global botnick chan bibver
+ set bibver FreLSG
+ pub_lookup $nick $uhost $hand $channel $arg
+}
+
+bind pub - !lut setver_lut
+bind pub - !luther setver_lut
+bind pub - !german setver_lut
+
+proc setver_lut {nick uhost hand channel arg} {
+ global botnick chan bibver
+ set bibver GerLut
+ pub_lookup $nick $uhost $hand $channel $arg
+}
+
+bind pub - !sch setver_sch
+
+proc setver_sch {nick uhost hand channel arg} {
+ global botnick chan bibver
+ set bibver GerSch
+ pub_lookup $nick $uhost $hand $channel $arg
+}
+
+
+bind pub - !kar setver_kar
+bind pub - !hungarian setver_kar
+
+proc setver_kar {nick uhost hand channel arg} {
+ global botnick chan bibver
+ set bibver HunKar
+ pub_lookup $nick $uhost $hand $channel $arg
+}
+
+bind pub - !nrv setver_nrv
+bind pub - !italian setver_nrv
+
+proc setver_nrv {nick uhost hand channel arg} {
+ global botnick chan bibver
+ set bibver ItaNRV
+ pub_lookup $nick $uhost $hand $channel $arg
+}
+
+bind pub - !jps setver_jps
+
+proc setver_jps {nick uhost hand channel arg} {
+ global botnick chan bibver
+ set bibver JPS
+ pub_lookup $nick $uhost $hand $channel $arg
+}
+
+bind pub - !brp setver_brp
+bind pub - !portuguese setver_brp
+
+proc setver_brp {nick uhost hand channel arg} {
+ global botnick chan bibver
+ set bibver PorBRP
+ pub_lookup $nick $uhost $hand $channel $arg
+}
+
+bind pub - !sev setver_sev
+
+proc setver_sev {nick uhost hand channel arg} {
+ global botnick chan bibver
+ set bibver SpaSEV
+ pub_lookup $nick $uhost $hand $channel $arg
+}
+
+bind pub - !swahili setver_swahili
+
+proc setver_swahili {nick uhost hand channel arg} {
+ global botnick chan bibver
+ set bibver Swahili
+ pub_lookup $nick $uhost $hand $channel $arg
+}
+
+bind pub - !wey setver_wey
+bind pub - !weymouth setver_wey
+
+proc setver_wey {nick uhost hand channel arg} {
+ global botnick chan bibver
+ set bibver Weymouth
+ pub_lookup $nick $uhost $hand $channel $arg
+}
+
+bind pub - !ylt setver_ylt
+
+proc setver_ylt {nick uhost hand channel arg} {
+ global botnick chan bibver
+ set bibver YLT
+ pub_lookup $nick $uhost $hand $channel $arg
+}
+
+bind pub - !alb setver_alb
+bind pub - !albanian setver_alb
+
+proc setver_alb {nick uhost hand channel arg} {
+ global botnick chan bibver
+ set bibver Alb
+ pub_lookup $nick $uhost $hand $channel $arg
+}
+
+bind pub - !gnpu setver_gnpu
+bind pub - !chinese setver_gnpu
+
+proc setver_gnpu {nick uhost hand channel arg} {
+ global botnick chan bibver
+ set bibver ChiGNPU
+ pub_lookup $nick $uhost $hand $channel $arg
+}
+
+bind pub - !dan setver_dan
+bind pub - !danish setver_dan
+
+proc setver_dan {nick uhost hand channel arg} {
+ global botnick chan bibver
+ set bibver Dan
+ pub_lookup $nick $uhost $hand $channel $arg
+}
+
+bind pub - !lei setver_lei
+bind pub - !dutch setver_lei
+
+proc setver_lei {nick uhost hand channel arg} {
+ global botnick chan bibver
+ set bibver DutLEI
+ pub_lookup $nick $uhost $hand $channel $arg
+}
+
+bind pub - !lu setver_lu
+
+proc setver_lu {nick uhost hand channel arg} {
+ global botnick chan bibver
+ set bibver DutLU
+ pub_lookup $nick $uhost $hand $channel $arg
+}
+
+bind pub - !svv setver_svv
+
+proc setver_svv {nick uhost hand channel arg} {
+ global botnick chan bibver
+ set bibver DutSVV
+ pub_lookup $nick $uhost $hand $channel $arg
+}
+
+bind pub - !shr setver_shr
+bind pub - !equadoran setver_shr
+
+proc setver_shr {nick uhost hand channel arg} {
+ global botnick chan bibver
+ set bibver EquShr
+ pub_lookup $nick $uhost $hand $channel $arg
+}
+
+bind pub - !crl setver_crl
+bind pub - !creole setver_crl
+
+proc setver_crl {nick uhost hand channel arg} {
+ global botnick chan bibver
+ set bibver FreCrl
+ pub_lookup $nick $uhost $hand $channel $arg
+}
+
+bind pub - !fredrb setver_fredrb
+
+proc setver_fredrb {nick uhost hand channel arg} {
+ global botnick chan bibver
+ set bibver FreDrb
+ pub_lookup $nick $uhost $hand $channel $arg
+}
+
+bind pub - !ben setver_ben
+
+proc setver_ben {nick uhost hand channel arg} {
+ global botnick chan bibver
+ set bibver GerBen
+ pub_lookup $nick $uhost $hand $channel $arg
+}
+
+bind pub - !elb setver_elb
+
+proc setver_elb {nick uhost hand channel arg} {
+ global botnick chan bibver
+ set bibver GerElb
+ pub_lookup $nick $uhost $hand $channel $arg
+}
+
+bind pub - !kj21 setver_kj21
+
+proc setver_kj21 {nick uhost hand channel arg} {
+ global botnick chan bibver
+ set bibver KJ21
+ pub_lookup $nick $uhost $hand $channel $arg
+}
+
+bind pub - !litv setver_litv
+
+proc setver_litv {nick uhost hand channel arg} {
+ global botnick chan bibver
+ set bibver LITV
+ pub_lookup $nick $uhost $hand $channel $arg
+}
+
+bind pub - !lo setver_lo
+
+proc setver_lo {nick uhost hand channel arg} {
+ global botnick chan bibver
+ set bibver LO
+ pub_lookup $nick $uhost $hand $channel $arg
+}
+
+bind pub - !maori setver_maori
+
+proc setver_maori {nick uhost hand channel arg} {
+ global botnick chan bibver
+ set bibver Maori
+ pub_lookup $nick $uhost $hand $channel $arg
+}
+
+bind pub - !mkjv setver_mkjv
+
+proc setver_mkjv {nick uhost hand channel arg} {
+ global botnick chan bibver
+ set bibver MKJV
+ pub_lookup $nick $uhost $hand $channel $arg
+}
+
+bind pub - !nkj setver_nkjv
+bind pub - !nkjv setver_nkjv
+
+proc setver_nkjv {nick uhost hand channel arg} {
+ global botnick chan bibver
+ set bibver NKJV
+ pub_lookup $nick $uhost $hand $channel $arg
+}
+
+bind pub - !ceb setver_ceb
+bind pub - !filipino setver_ceb
+
+proc setver_ceb {nick uhost hand channel arg} {
+ global botnick chan bibver
+ set bibver PhiCeb
+ pub_lookup $nick $uhost $hand $channel $arg
+}
+
+bind pub - !rwebster setver_rwebster
+
+proc setver_rwebster {nick uhost hand channel arg} {
+ global botnick chan bibver
+ set bibver RWebster
+ pub_lookup $nick $uhost $hand $channel $arg
+}
+
+bind pub - !rv setver_rv
+
+proc setver_rv {nick uhost hand channel arg} {
+ global botnick chan bibver
+ set bibver SpaRV
+ pub_lookup $nick $uhost $hand $channel $arg
+}
+
+bind pub - !turkish setver_turkish
+
+proc setver_turkish {nick uhost hand channel arg} {
+ global botnick chan bibver
+ set bibver Turkish
+ pub_lookup $nick $uhost $hand $channel $arg
+}
+
+bind pub - !uma setver_uma
+
+proc setver_uma {nick uhost hand channel arg} {
+ global botnick chan bibver
+ set bibver Uma
+ pub_lookup $nick $uhost $hand $channel $arg
+}
+
+bind pub - !vulgate setver_vulgate
+bind pub - !vulg setver_vulgate
+bind pub - !latin setver_vulgate
+
+proc setver_vulgate {nick uhost hand channel arg} {
+ global botnick chan bibver
+ set bibver Vulgate
+ pub_lookup $nick $uhost $hand $channel $arg
+}
+
+bind pub - !nasb95 setver_nasb95
+bind pub - !nas95 setver_nasb95
+bind pub - !nau setver_nasb95
+
+proc setver_nasb95 {nick uhost hand channel arg} {
+ global botnick chan bibver
+ set bibver NASB95
+ pub_lookup $nick $uhost $hand $channel $arg
+}
+
+bind pub - !nivbr setver_nivbr
+bind pub - !nib setver_nivbr
+
+proc setver_nivbr {nick uhost hand channel arg} {
+ global botnick chan bibver
+ set bibver NIVBr
+ pub_lookup $nick $uhost $hand $channel $arg
+}
+
+bind pub - !nlt setver_nlt
+
+proc setver_nlt {nick uhost hand channel arg} {
+ global botnick chan bibver
+ set bibver NLT
+ pub_lookup $nick $uhost $hand $channel $arg
+}
+
+bind pub - !nrsv setver_nrsv
+
+proc setver_nrsv {nick uhost hand channel arg} {
+ global botnick chan bibver
+ set bibver NRSV
+ pub_lookup $nick $uhost $hand $channel $arg
+}
+
+bind pub - !neg setver_neg
+
+proc setver_neg {nick uhost hand channel arg} {
+ global botnick chan bibver
+ set bibver FreNEG
+ pub_lookup $nick $uhost $hand $channel $arg
+}
+
+bind pub - !lnd setver_lnd
+
+proc setver_lnd {nick uhost hand channel arg} {
+ global botnick chan bibver
+ set bibver ItaLND
+ pub_lookup $nick $uhost $hand $channel $arg
+}
+
+bind pub - !mel setver_mel
+bind pub - !melanesian setver_mel
+
+proc setver_mel {nick uhost hand channel arg} {
+ global botnick chan bibver
+ set bibver Mel
+ pub_lookup $nick $uhost $hand $channel $arg
+}
+
+bind pub - !norsk setver_norsk
+
+proc setver_norsk {nick uhost hand channel arg} {
+ global botnick chan bibver
+ set bibver Norsk
+ pub_lookup $nick $uhost $hand $channel $arg
+}
+
+bind pub - !cor setver_cor
+
+proc setver_cor {nick uhost hand channel arg} {
+ global botnick chan bibver
+ set bibver RomCor
+ pub_lookup $nick $uhost $hand $channel $arg
+}
+
+bind pub - !lba setver_lba
+
+proc setver_lba {nick uhost hand channel arg} {
+ global botnick chan bibver
+ set bibver SpaLBA
+ pub_lookup $nick $uhost $hand $channel $arg
+}
+
+bind pub - !byz setver_byz
+
+proc setver_byz {nick uhost hand channel arg} {
+ global botnick chan bibver
+ set bibver ByzX
+ pub_lookup $nick $uhost $hand $channel $arg
+}
+
+bind pub - !lxx setver_lxx
+
+proc setver_lxx {nick uhost hand channel arg} {
+ global botnick chan bibver
+ set bibver LXXX
+ pub_lookup $nick $uhost $hand $channel $arg
+}
+
+bind pub - !na26 setver_na26
+bind pub - !greek setver_na26
+
+proc setver_na26 {nick uhost hand channel arg} {
+ global botnick chan bibver
+ set bibver NA26X
+ pub_lookup $nick $uhost $hand $channel $arg
+}
+
+bind pub - !scrivner setver_scrivner
+
+proc setver_scrivner {nick uhost hand channel arg} {
+ global botnick chan bibver
+ set bibver ScrivnerX
+ pub_lookup $nick $uhost $hand $channel $arg
+}
+
+bind pub - !stephanus setver_stephanus
+
+proc setver_stephanus {nick uhost hand channel arg} {
+ global botnick chan bibver
+ set bibver StephanusX
+ pub_lookup $nick $uhost $hand $channel $arg
+}
+
+bind pub - !tischendorf setver_tisch
+bind pub - !tisch setver_tisch
+
+proc setver_tisch {nick uhost hand channel arg} {
+ global botnick chan bibver
+ set bibver TischX
+ pub_lookup $nick $uhost $hand $channel $arg
+}
+
+bind pub - !wh setver_wh
+
+proc setver_wh {nick uhost hand channel arg} {
+ global botnick chan bibver
+ set bibver WHX
+ pub_lookup $nick $uhost $hand $channel $arg
+}
+
+bind pub - !whnu setver_whnu
+
+proc setver_whnu {nick uhost hand channel arg} {
+ global botnick chan bibver
+ set bibver WHNUX
+ pub_lookup $nick $uhost $hand $channel $arg
+}
+
+bind pub - !grkbyz setver_grkbyz
+
+proc setver_grkbyz {nick uhost hand channel arg} {
+ global botnick chan bibver
+ set bibver Byz
+ pub_lookup $nick $uhost $hand $channel $arg
+}
+
+bind pub - !grklxx setver_grklxx
+
+proc setver_grklxx {nick uhost hand channel arg} {
+ global botnick chan bibver
+ set bibver LXX
+ pub_lookup $nick $uhost $hand $channel $arg
+}
+
+bind pub - !grkna26 setver_grkna26
+bind pub - !grkgreek setver_na26
+
+proc setver_grkna26 {nick uhost hand channel arg} {
+ global botnick chan bibver
+ set bibver NA26
+ pub_lookup $nick $uhost $hand $channel $arg
+}
+
+bind pub - !grkscrivner setver_grkscrivner
+
+proc setver_grkscrivner {nick uhost hand channel arg} {
+ global botnick chan bibver
+ set bibver Scrivner
+ pub_lookup $nick $uhost $hand $channel $arg
+}
+
+bind pub - !grkstephanus setver_grkstephanus
+
+proc setver_grkstephanus {nick uhost hand channel arg} {
+ global botnick chan bibver
+ set bibver Stephanus
+ pub_lookup $nick $uhost $hand $channel $arg
+}
+
+bind pub - !grktischendorf setver_grktisch
+bind pub - !grktisch setver_grktisch
+
+proc setver_grktisch {nick uhost hand channel arg} {
+ global botnick chan bibver
+ set bibver Tisch
+ pub_lookup $nick $uhost $hand $channel $arg
+}
+
+bind pub - !grkwh setver_grkwh
+
+proc setver_grkwh {nick uhost hand channel arg} {
+ global botnick chan bibver
+ set bibver WH
+ pub_lookup $nick $uhost $hand $channel $arg
+}
+
+bind pub - !grkwhnu setver_grkwhnu
+
+proc setver_grkwhnu {nick uhost hand channel arg} {
+ global botnick chan bibver
+ set bibver WHNU
+ pub_lookup $nick $uhost $hand $channel $arg
+}
+
+bind pub - !bhs setver_bhs
+bind pub - !hebrew setver_bhs
+
+proc setver_bhs {nick uhost hand channel arg} {
+ global botnick chan bibver
+ set bibver BHS
+ pub_lookup $nick $uhost $hand $channel $arg
+}
+
+bind pub - !rst setver_rst
+
+proc setver_rst {nick uhost hand channel arg} {
+ global botnick chan bibver
+ set bibver RST
+ pub_lookup $nick $uhost $hand $channel $arg
+}
+
+bind pub - !ukrainian setver_ukrainian
+
+proc setver_ukrainian {nick uhost hand channel arg} {
+ global botnick chan bibver
+ set bibver Ukrainian
+ pub_lookup $nick $uhost $hand $channel $arg
+}
+
+bind pub - !arabic setver_arabic
+
+proc setver_arabic {nick uhost hand channel arg} {
+ global botnick chan bibver
+ set bibver Arabic
+ pub_lookup $nick $uhost $hand $channel $arg
+}
+
+bind pub - !n27u4 setver_n27u4
+bind pub - !nu setver_n27u4
+bind pub - !bgreek setver_n27u4
+
+proc setver_n27u4 {nick uhost hand channel arg} {
+ global botnick chan bibver
+ set bibver N27U4
+ pub_lookup $nick $uhost $hand $channel $arg
+}
+
+bind pub - !umgreek setver_ukgreek
+
+proc setver_umgreek {nick uhost hand channel arg} {
+ global botnick chan bibver
+ set bibver UMGreek
+ pub_lookup $nick $uhost $hand $channel $arg
+}
+
+bind pub - !viet setver_viet
+bind pub - !vietnamese setver_viet
+
+proc setver_viet {nick uhost hand channel arg} {
+ global botnick chan bibver
+ set bibver Viet
+ pub_lookup $nick $uhost $hand $channel $arg
+}
+
+
+# ----------------------------------------------------------------------
+
+proc pubsearchword {vlookup} {
+ global botnick chan bibver diatheke
+ catch {exec $diatheke -s $bibver "$vlookup" >& /tmp/fooout.$botnick}
+ catch {set foofile [open /tmp/fooout.$botnick]}
+
+ while {[gets $foofile fooverse] >= 0} {
+ set len [string length $fooverse]
+ set i 0
+ set j 72
+ while {$j < $len} {
+ while {[string index $fooverse $j] != ";" && [string index $fooverse $j] != ")" && [string index $fooverse $j] != "\n"} {set j [expr $j + 1]}
+ set foo2 [string range $fooverse $i $j]
+ set foo2 [string trim $foo2]
+ putmsg $chan "$foo2"
+ set i [expr $j + 1]
+ set j [expr $j + 73]
+ if {$j > $len} {set j $len}
+ }
+ set foo2 [string range $fooverse $i end]
+ set foo2 [string trim $foo2]
+ putmsg $chan "$foo2"
+ }
+ catch {close $foofile}
+
+ putmsg $chan "$fooverse"
+ exec rm /tmp/fooout.$botnick
+ return 1
+}
+
+
+proc pub_lookups {nick uhost hand channel arg} {
+ global von chan bibver
+ set chan $channel
+ if {$von==0} {
+ putmsg $nick "Verse display is currently off."
+ return 0
+ }
+ if {($von==3) && (![matchattr $hand 3]) && (![matchattr $hand o]) && (![isvoice $nick $chan])} {
+ putmsg $nick "Sorry, only ops and voiced users can do searches right now."
+ return 0
+ }
+ if {($von==2) && (![matchattr $hand 3]) && (![matchattr $hand o])} {
+ putmsg $nick "Sorry, only ops can do searches right now."
+ return 0
+ }
+
+ pubsearchword $arg
+}
+
+bind pub - !skjv setver_kjvs
+bind pub - !senglish setver_kjvs
+
+proc setver_kjvs {nick uhost hand channel arg} {
+ global botnick chan bibver
+ set bibver KJV
+ pub_lookups $nick $uhost $hand $channel $arg
+}
+
+
+bind pub - !sniv setver_nivs
+
+proc setver_nivs {nick uhost hand channel arg} {
+ global botnick chan bibver
+ set bibver NIV
+ pub_lookups $nick $uhost $hand $channel $arg
+}
+
+bind pub - !sdr setver_drs
+bind pub - !sdouayrheims setver_drs
+bind pub - !sdre setver_drs
+
+proc setver_drs {nick uhost hand channel arg} {
+ global botnick chan bibver
+ set bibver DR
+ pub_lookups $nick $uhost $hand $channel $arg
+}
+
+bind pub - !snas setver_nasbs
+bind pub - !snasb setver_nasbs
+
+proc setver_nasbs {nick uhost hand channel arg} {
+ global botnick chan bibver
+ set bibver NASB
+ pub_lookups $nick $uhost $hand $channel $arg
+}
+
+bind pub - !shnv setver_hnvs
+
+proc setver_hnvs {nick uhost hand channel arg} {
+ global botnick chan bibver
+ set bibver HNV
+ pub_lookups $nick $uhost $hand $channel $arg
+}
+
+bind pub - !sweb setver_webs
+
+proc setver_webs {nick uhost hand channel arg} {
+ global botnick chan bibver
+ set bibver WEB
+ pub_lookups $nick $uhost $hand $channel $arg
+}
+
+bind pub - !sbbe setver_bbes
+
+proc setver_bbes {nick uhost hand channel arg} {
+ global botnick chan bibver
+ set bibver BBE
+ pub_lookups $nick $uhost $hand $channel $arg
+}
+
+bind pub - !swebster setver_websters
+
+proc setver_websters {nick uhost hand channel arg} {
+ global botnick chan bibver
+ set bibver Websters
+ pub_lookups $nick $uhost $hand $channel $arg
+}
+
+bind pub - !sjbc setver_jbcs
+
+proc setver_jbcs {nick uhost hand channel arg} {
+ global botnick chan bibver
+ set bibver ORTHJBC
+ pub_lookups $nick $uhost $hand $channel $arg
+}
+
+bind pub - !srva setver_rvas
+bind pub - !sspanish setver_rvas
+
+proc setver_rvas {nick uhost hand channel arg} {
+ global botnick chan bibver
+ set bibver SpaRVA
+ pub_lookups $nick $uhost $hand $channel $arg
+}
+
+bind pub - !sbis setver_biss
+bind pub - !sindonesian setver_biss
+
+proc setver_biss {nick uhost hand channel arg} {
+ global botnick chan bibver
+ set bibver IndBIS
+ pub_lookups $nick $uhost $hand $channel $arg
+}
+
+bind pub - !stb setver_tbs
+
+proc setver_tbs {nick uhost hand channel arg} {
+ global botnick chan bibver
+ set bibver IndTB
+ pub_lookups $nick $uhost $hand $channel $arg
+}
+
+bind pub - !ssve setver_sves
+bind pub - !sswedish setver_sves
+
+proc setver_sves {nick uhost hand channel arg} {
+ global botnick chan bibver
+ set bibver SweSve
+ pub_lookups $nick $uhost $hand $channel $arg
+}
+
+bind pub - !svnt setver_vnts
+
+proc setver_vnts {nick uhost hand channel arg} {
+ global botnick chan bibver
+ set bibver SpaVNT
+ pub_lookups $nick $uhost $hand $channel $arg
+}
+
+bind pub - !sasv setver_asvs
+
+proc setver_asvs {nick uhost hand channel arg} {
+ global botnick chan bibver
+ set bibver ASV
+ pub_lookups $nick $uhost $hand $channel $arg
+}
+
+bind pub - !srsv setver_rsvs
+
+proc setver_rsvs {nick uhost hand channel arg} {
+ global botnick chan bibver
+ set bibver RSV
+ pub_lookups $nick $uhost $hand $channel $arg
+}
+
+bind pub - !salt setver_alts
+
+proc setver_alts {nick uhost hand channel arg} {
+ global botnick chan bibver
+ set bibver ALT
+ pub_lookups $nick $uhost $hand $channel $arg
+}
+
+bind pub - !sdby setver_dbys
+bind pub - !sdarby setver_dbys
+
+proc setver_dbys {nick uhost hand channel arg} {
+ global botnick chan bibver
+ set bibver Darby
+ pub_lookups $nick $uhost $hand $channel $arg
+}
+
+bind pub - !spr setver_prs
+bind pub - !sfinnish setver_prs
+
+proc setver_prs {nick uhost hand channel arg} {
+ global botnick chan bibver
+ set bibver FinPR
+ pub_lookups $nick $uhost $hand $channel $arg
+}
+
+bind pub - !slsg setver_lsgs
+bind pub - !sfrench setver_lsgs
+
+proc setver_lsgs {nick uhost hand channel arg} {
+ global botnick chan bibver
+ set bibver FreLSG
+ pub_lookups $nick $uhost $hand $channel $arg
+}
+
+bind pub - !slut setver_luts
+bind pub - !sluther setver_luts
+bind pub - !sgerman setver_luts
+
+proc setver_luts {nick uhost hand channel arg} {
+ global botnick chan bibver
+ set bibver GerLut
+ pub_lookups $nick $uhost $hand $channel $arg
+}
+
+bind pub - !ssch setver_schs
+
+proc setver_schs {nick uhost hand channel arg} {
+ global botnick chan bibver
+ set bibver GerSch
+ pub_lookups $nick $uhost $hand $channel $arg
+}
+
+
+bind pub - !skar setver_kars
+bind pub - !shungarian setver_kars
+
+proc setver_kars {nick uhost hand channel arg} {
+ global botnick chan bibver
+ set bibver HunKar
+ pub_lookups $nick $uhost $hand $channel $arg
+}
+
+bind pub - !snrv setver_nrvs
+bind pub - !sitalian setver_nrvs
+
+proc setver_nrvs {nick uhost hand channel arg} {
+ global botnick chan bibver
+ set bibver ItaNRV
+ pub_lookups $nick $uhost $hand $channel $arg
+}
+
+bind pub - !sjps setver_jpss
+
+proc setver_jpss {nick uhost hand channel arg} {
+ global botnick chan bibver
+ set bibver JPS
+ pub_lookups $nick $uhost $hand $channel $arg
+}
+
+bind pub - !sbrp setver_brps
+bind pub - !sportuguese setver_brps
+
+proc setver_brps {nick uhost hand channel arg} {
+ global botnick chan bibver
+ set bibver PorBRP
+ pub_lookups $nick $uhost $hand $channel $arg
+}
+
+bind pub - !ssev setver_sevs
+
+proc setver_sevs {nick uhost hand channel arg} {
+ global botnick chan bibver
+ set bibver SpaSEV
+ pub_lookups $nick $uhost $hand $channel $arg
+}
+
+bind pub - !sswahili setver_swahilis
+
+proc setver_swahilis {nick uhost hand channel arg} {
+ global botnick chan bibver
+ set bibver Swahili
+ pub_lookups $nick $uhost $hand $channel $arg
+}
+
+bind pub - !swey setver_weys
+bind pub - !sweymouth setver_weys
+
+proc setver_weys {nick uhost hand channel arg} {
+ global botnick chan bibver
+ set bibver Weymouth
+ pub_lookups $nick $uhost $hand $channel $arg
+}
+
+bind pub - !sylt setver_ylts
+
+proc setver_ylts {nick uhost hand channel arg} {
+ global botnick chan bibver
+ set bibver YLT
+ pub_lookups $nick $uhost $hand $channel $arg
+}
+
+bind pub - !salb setver_albs
+bind pub - !salbanian setver_albs
+
+proc setver_albs {nick uhost hand channel arg} {
+ global botnick chan bibver
+ set bibver ALB
+ pub_lookups $nick $uhost $hand $channel $arg
+}
+
+bind pub - !sgnpu setver_gnpus
+bind pub - !schinese setver_gnpus
+
+proc setver_gnpus {nick uhost hand channel arg} {
+ global botnick chan bibver
+ set bibver ChiGNPU
+ pub_lookups $nick $uhost $hand $channel $arg
+}
+
+bind pub - !sdan setver_dans
+bind pub - !sdanish setver_dans
+
+proc setver_dans {nick uhost hand channel arg} {
+ global botnick chan bibver
+ set bibver Dan
+ pub_lookups $nick $uhost $hand $channel $arg
+}
+
+bind pub - !slei setver_leis
+bind pub - !sdutch setver_leis
+
+proc setver_leis {nick uhost hand channel arg} {
+ global botnick chan bibver
+ set bibver DutLEI
+ pub_lookups $nick $uhost $hand $channel $arg
+}
+
+bind pub - !slu setver_lus
+
+proc setver_lus {nick uhost hand channel arg} {
+ global botnick chan bibver
+ set bibver DutLU
+ pub_lookups $nick $uhost $hand $channel $arg
+}
+
+bind pub - !ssvv setver_svvs
+
+proc setver_svvs {nick uhost hand channel arg} {
+ global botnick chan bibver
+ set bibver DutSVV
+ pub_lookups $nick $uhost $hand $channel $arg
+}
+
+bind pub - !sshr setver_shrs
+bind pub - !sequadoran setver_shrs
+
+proc setver_shrs {nick uhost hand channel arg} {
+ global botnick chan bibver
+ set bibver EquShr
+ pub_lookups $nick $uhost $hand $channel $arg
+}
+
+bind pub - !scrl setver_crls
+bind pub - !screole setver_crls
+
+proc setver_crls {nick uhost hand channel arg} {
+ global botnick chan bibver
+ set bibver FreCrl
+ pub_lookups $nick $uhost $hand $channel $arg
+}
+
+bind pub - !sfredrb setver_fredrbs
+
+proc setver_fredrbs {nick uhost hand channel arg} {
+ global botnick chan bibver
+ set bibver FreDrb
+ pub_lookups $nick $uhost $hand $channel $arg
+}
+
+bind pub - !sben setver_bens
+
+proc setver_bens {nick uhost hand channel arg} {
+ global botnick chan bibver
+ set bibver BerBen
+ pub_lookups $nick $uhost $hand $channel $arg
+}
+
+bind pub - !selb setver_elbs
+
+proc setver_elbs {nick uhost hand channel arg} {
+ global botnick chan bibver
+ set bibver GerElb
+ pub_lookups $nick $uhost $hand $channel $arg
+}
+
+bind pub - !skj21 setver_kj21s
+
+proc setver_kj21s {nick uhost hand channel arg} {
+ global botnick chan bibver
+ set bibver KJ21
+ pub_lookups $nick $uhost $hand $channel $arg
+}
+
+bind pub - !slitv setver_litvs
+
+proc setver_litvs {nick uhost hand channel arg} {
+ global botnick chan bibver
+ set bibver LITV
+ pub_lookups $nick $uhost $hand $channel $arg
+}
+
+bind pub - !slo setver_los
+
+proc setver_los {nick uhost hand channel arg} {
+ global botnick chan bibver
+ set bibver LO
+ pub_lookups $nick $uhost $hand $channel $arg
+}
+
+bind pub - !smaori setver_maoris
+
+proc setver_maoris {nick uhost hand channel arg} {
+ global botnick chan bibver
+ set bibver Mao
+ pub_lookups $nick $uhost $hand $channel $arg
+}
+
+bind pub - !smkjv setver_mkjvs
+
+proc setver_mkjvs {nick uhost hand channel arg} {
+ global botnick chan bibver
+ set bibver MKJV
+ pub_lookups $nick $uhost $hand $channel $arg
+}
+
+bind pub - !snkjv setver_nkjvs
+
+proc setver_nkjvs {nick uhost hand channel arg} {
+ global botnick chan bibver
+ set bibver NKJV
+ pub_lookups $nick $uhost $hand $channel $arg
+}
+
+bind pub - !sceb setver_cebs
+bind pub - !sfilipino setver_cebs
+
+proc setver_cebs {nick uhost hand channel arg} {
+ global botnick chan bibver
+ set bibver PhiCeb
+ pub_lookups $nick $uhost $hand $channel $arg
+}
+
+bind pub - !srwebster setver_rwebsters
+
+proc setver_rwebsters {nick uhost hand channel arg} {
+ global botnick chan bibver
+ set bibver RWebster
+ pub_lookups $nick $uhost $hand $channel $arg
+}
+
+bind pub - !srv setver_rvs
+
+proc setver_rvs {nick uhost hand channel arg} {
+ global botnick chan bibver
+ set bibver SpaRV
+ pub_lookups $nick $uhost $hand $channel $arg
+}
+
+bind pub - !sturkish setver_turkishs
+
+proc setver_turkishs {nick uhost hand channel arg} {
+ global botnick chan bibver
+ set bibver Turkish
+ pub_lookups $nick $uhost $hand $channel $arg
+}
+
+bind pub - !suma setver_umas
+
+proc setver_umas {nick uhost hand channel arg} {
+ global botnick chan bibver
+ set bibver Uma
+ pub_lookups $nick $uhost $hand $channel $arg
+}
+
+bind pub - !svulgate setver_vulgates
+bind pub - !svulg setver_vulgates
+bind pub - !slatin setver_vulgates
+
+proc setver_vulgates {nick uhost hand channel arg} {
+ global botnick chan bibver
+ set bibver Vulgate
+ pub_lookups $nick $uhost $hand $channel $arg
+}
+
+bind pub - !snasb95 setver_nasb95s
+bind pub - !snas95 setver_nasb95s
+bind pub - !snau setver_nasb95s
+
+proc setver_nasb95s {nick uhost hand channel arg} {
+ global botnick chan bibver
+ set bibver NASB95
+ pub_lookups $nick $uhost $hand $channel $arg
+}
+
+bind pub - !snivbr setver_nivbrs
+bind pub - !snib setver_nivbrs
+
+proc setver_nivbrs {nick uhost hand channel arg} {
+ global botnick chan bibver
+ set bibver NIVBr
+ pub_lookups $nick $uhost $hand $channel $arg
+}
+
+bind pub - !snlt setver_nlts
+
+proc setver_nlts {nick uhost hand channel arg} {
+ global botnick chan bibver
+ set bibver NLT
+ pub_lookups $nick $uhost $hand $channel $arg
+}
+
+bind pub - !snrsv setver_nrsvs
+
+proc setver_nrsvs {nick uhost hand channel arg} {
+ global botnick chan bibver
+ set bibver NRSV
+ pub_lookups $nick $uhost $hand $channel $arg
+}
+
+bind pub - !sneg setver_negs
+
+proc setver_negs {nick uhost hand channel arg} {
+ global botnick chan bibver
+ set bibver FreNEG
+ pub_lookups $nick $uhost $hand $channel $arg
+}
+
+bind pub - !slnd setver_lnds
+
+proc setver_lnds {nick uhost hand channel arg} {
+ global botnick chan bibver
+ set bibver ItaLND
+ pub_lookups $nick $uhost $hand $channel $arg
+}
+
+bind pub - !smel setver_mels
+bind pub - !smelanesian setver_mels
+
+proc setver_mels {nick uhost hand channel arg} {
+ global botnick chan bibver
+ set bibver Mel
+ pub_lookups $nick $uhost $hand $channel $arg
+}
+
+bind pub - !snorsk setver_norsks
+
+proc setver_norsks {nick uhost hand channel arg} {
+ global botnick chan bibver
+ set bibver Norsk
+ pub_lookups $nick $uhost $hand $channel $arg
+}
+
+bind pub - !scor setver_cors
+
+proc setver_cors {nick uhost hand channel arg} {
+ global botnick chan bibver
+ set bibver RomCor
+ pub_lookups $nick $uhost $hand $channel $arg
+}
+
+bind pub - !slba setver_lbas
+
+proc setver_lbas {nick uhost hand channel arg} {
+ global botnick chan bibver
+ set bibver SpaLBA
+ pub_lookups $nick $uhost $hand $channel $arg
+}
+
+bind pub - !sbyz setver_byzs
+
+proc setver_byzs {nick uhost hand channel arg} {
+ global botnick chan bibver
+ set bibver ByzX
+ pub_lookups $nick $uhost $hand $channel $arg
+}
+
+bind pub - !slxx setver_lxxs
+
+proc setver_lxxs {nick uhost hand channel arg} {
+ global botnick chan bibver
+ set bibver LXXX
+ pub_lookups $nick $uhost $hand $channel $arg
+}
+
+bind pub - !sna26 setver_na26s
+bind pub - !sgreek setver_na26s
+
+proc setver_na26s {nick uhost hand channel arg} {
+ global botnick chan bibver
+ set bibver NA26X
+ pub_lookups $nick $uhost $hand $channel $arg
+}
+
+bind pub - !sscrivner setver_scrivners
+
+proc setver_scrivners {nick uhost hand channel arg} {
+ global botnick chan bibver
+ set bibver ScrivnerX
+ pub_lookups $nick $uhost $hand $channel $arg
+}
+
+bind pub - !sstephanus setver_stephanuss
+
+proc setver_stephanuss {nick uhost hand channel arg} {
+ global botnick chan bibver
+ set bibver StephanusX
+ pub_lookups $nick $uhost $hand $channel $arg
+}
+
+bind pub - !stischendorf setver_tischs
+bind pub - !stisch setver_tischs
+
+proc setver_tischs {nick uhost hand channel arg} {
+ global botnick chan bibver
+ set bibver TischX
+ pub_lookups $nick $uhost $hand $channel $arg
+}
+
+bind pub - !swh setver_whs
+
+proc setver_whs {nick uhost hand channel arg} {
+ global botnick chan bibver
+ set bibver WHX
+ pub_lookups $nick $uhost $hand $channel $arg
+}
+
+bind pub - !swhnu setver_whnus
+
+proc setver_whnus {nick uhost hand channel arg} {
+ global botnick chan bibver
+ set bibver WHNUX
+ pub_lookups $nick $uhost $hand $channel $arg
+}
+
+bind pub - !sgrkbyz setver_grkbyzs
+
+proc setver_grkbyzs {nick uhost hand channel arg} {
+ global botnick chan bibver
+ set bibver Byz
+ pub_lookups $nick $uhost $hand $channel $arg
+}
+
+bind pub - !sgrklxx setver_grklxxs
+
+proc setver_grklxxs {nick uhost hand channel arg} {
+ global botnick chan bibver
+ set bibver LXX
+ pub_lookups $nick $uhost $hand $channel $arg
+}
+
+bind pub - !sgrkna26 setver_grkna26s
+bind pub - !sgrkgreek setver_na26s
+
+proc setver_grkna26s {nick uhost hand channel arg} {
+ global botnick chan bibver
+ set bibver NA26
+ pub_lookups $nick $uhost $hand $channel $arg
+}
+
+bind pub - !sgrkscrivner setver_grkscrivners
+
+proc setver_grkscrivners {nick uhost hand channel arg} {
+ global botnick chan bibver
+ set bibver Scrivner
+ pub_lookups $nick $uhost $hand $channel $arg
+}
+
+bind pub - !sgrkstephanus setver_grkstephanuss
+
+proc setver_grkstephanuss {nick uhost hand channel arg} {
+ global botnick chan bibver
+ set bibver Stephanus
+ pub_lookups $nick $uhost $hand $channel $arg
+}
+
+bind pub - !sgrktischendorf setver_grktischs
+bind pub - !sgrktisch setver_grktischs
+
+proc setver_grktischs {nick uhost hand channel arg} {
+ global botnick chan bibver
+ set bibver Tisch
+ pub_lookups $nick $uhost $hand $channel $arg
+}
+
+bind pub - !sgrkwh setver_grkwhs
+
+proc setver_grkwhs {nick uhost hand channel arg} {
+ global botnick chan bibver
+ set bibver WH
+ pub_lookups $nick $uhost $hand $channel $arg
+}
+
+bind pub - !sgrkwhnu setver_grkwhnus
+
+proc setver_grkwhnus {nick uhost hand channel arg} {
+ global botnick chan bibver
+ set bibver WHNU
+ pub_lookups $nick $uhost $hand $channel $arg
+}
+
+bind pub - !sbhs setver_bhss
+bind pub - !shebrew setver_bhss
+
+proc setver_bhss {nick uhost hand channel arg} {
+ global botnick chan bibver
+ set bibver BHS
+ pub_lookups $nick $uhost $hand $channel $arg
+}
+
+bind pub - !srst setver_rsts
+
+proc setver_rsts {nick uhost hand channel arg} {
+ global botnick chan bibver
+ set bibver RST
+ pub_lookups $nick $uhost $hand $channel $arg
+}
+
+bind pub - !sukrainian setver_ukrainians
+
+proc setver_ukrainians {nick uhost hand channel arg} {
+ global botnick chan bibver
+ set bibver Ukrainian
+ pub_lookups $nick $uhost $hand $channel $arg
+}
+
+bind pub - !sarabic setver_arabics
+
+proc setver_arabics {nick uhost hand channel arg} {
+ global botnick chan bibver
+ set bibver Arabic
+ pub_lookups $nick $uhost $hand $channel $arg
+}
+
+bind pub - !sn27u4 setver_n27u4s
+bind pub - !snu setver_n27u4s
+bind pub - !sbgreek setver_n27u4s
+
+proc setver_n27u4s {nick uhost hand channel arg} {
+ global botnick chan bibver
+ set bibver N27U4
+ pub_lookups $nick $uhost $hand $channel $arg
+}
+
+bind pub - !sumgreek setver_ukgreeks
+
+proc setver_umgreeks {nick uhost hand channel arg} {
+ global botnick chan bibver
+ set bibver UMGreek
+ pub_lookups $nick $uhost $hand $channel $arg
+}
+
+bind pub - !sviet setver_viets
+bind pub - !svietnamese setver_viets
+
+proc setver_viets {nick uhost hand channel arg} {
+ global botnick chan bibver
+ set bibver Viet
+ pub_lookups $nick $uhost $hand $channel $arg
+}
+
+#----------------------------------------------------------------------
+
+
+proc publookupdict {vlookup} {
+ global botnick chan bibver diatheke
+ catch {exec $diatheke -f plaintext -b $bibver -k "$vlookup" >& /tmp/fooout.$botnick}
+ catch {set foofile [open /tmp/fooout.$botnick]}
+
+ while {[gets $foofile fooverse] >= 0} {
+ putmsg $chan "$fooverse"
+ }
+ catch {close $foofile}
+ # exec rm /tmp/fooout.$botnick
+ return 1
+}
+
+
+proc pub_lookupd {nick uhost hand channel arg} {
+ global von chan bibver
+ set chan $channel
+ if {$von==0} {
+ putmsg $nick "Verse display is currently off."
+ return 0
+ }
+ if {($von==3) && (![matchattr $hand 3]) && (![matchattr $hand o]) && (![isvoice $nick $chan])} {
+ putmsg $nick "Sorry, only ops and voiced users can use dictionaries and indices right now."
+ return 0
+ }
+ if {($von==2) && (![matchattr $hand 3]) && (![matchattr $hand o])} {
+ putmsg $nick "Sorry, only ops can use dictionaries and indices right now."
+ return 0
+ }
+
+ publookupdict $arg
+}
+
+bind pub - !losung setver_losung
+
+proc setver_losung {nick uhost hand channel arg} {
+ global botnick chan bibver
+ set bibver losung_en_99
+ set arg [exec date "+%m.%d"]
+ pub_lookupd $nick $uhost $hand $channel $arg
+}
+
+bind pub - !vines setver_vines
+
+proc setver_vines {nick uhost hand channel arg} {
+ global botnick chan bibver
+ set bibver Vines
+ pub_lookupd $nick $uhost $hand $channel $arg
+}
+
+bind pub - !naves setver_naves
+
+proc setver_naves {nick uhost hand channel arg} {
+ global botnick chan bibver
+ set bibver Naves
+ pub_lookupd $nick $uhost $hand $channel $arg
+}
+
+bind pub - !eastons setver_eastons
+
+proc setver_eastons {nick uhost hand channel arg} {
+ global botnick chan bibver
+ set bibver Eastons
+ pub_lookupd $nick $uhost $hand $channel $arg
+}
+
+bind pub - !strheb setver_strheb
+
+proc setver_strheb {nick uhost hand channel arg} {
+ global botnick chan bibver
+ set bibver StrongsHebrew
+ pub_lookupd $nick $uhost $hand $channel $arg
+}
+
+bind pub - !strgrk setver_strgrk
+
+proc setver_strgrk {nick uhost hand channel arg} {
+ global botnick chan bibver
+ set bibver StrongsGreek
+ pub_lookupd $nick $uhost $hand $channel $arg
+}
+
+bind pub - !bdb setver_bdb
+
+proc setver_bdb {nick uhost hand channel arg} {
+ global botnick chan bibver
+ set bibver BDB
+ pub_lookupd $nick $uhost $hand $channel $arg
+}
+
+bind pub - !thayer setver_thayer
+
+proc setver_thayer {nick uhost hand channel arg} {
+ global botnick chan bibver
+ set bibver Thayer
+ pub_lookupd $nick $uhost $hand $channel $arg
+}
+
+bind pub - !hitch setver_hitch
+
+proc setver_hitch {nick uhost hand channel arg} {
+ global botnick chan bibver
+ set bibver Hitch
+ pub_lookupd $nick $uhost $hand $channel $arg
+}
+
+bind pub - !isbe setver_isbe
+
+proc setver_isbe {nick uhost hand channel arg} {
+ global botnick chan bibver
+ set bibver ISBE
+ pub_lookupd $nick $uhost $hand $channel $arg
+}
+
+bind pub - !smiths setver_smiths
+
+proc setver_smiths {nick uhost hand channel arg} {
+ global botnick chan bibver
+ set bibver Smiths
+ pub_lookupd $nick $uhost $hand $channel $arg
+}
+
+bind pub - !torrey setver_torrey
+
+proc setver_torrey {nick uhost hand channel arg} {
+ global botnick chan bibver
+ set bibver Torrey
+ pub_lookupd $nick $uhost $hand $channel $arg
+}
+
+#----------------------------------------------------------------------
+
+proc publookupcomm {vlookup} {
+ global botnick chan bibver diatheke
+ catch {exec $diatheke -c $bibver "$vlookup" >& /tmp/fooout.$botnick}
+ catch {set foofile [open /tmp/fooout.$botnick]}
+ while {[gets $foofile fooverse] >= 0} {
+ set len [string length $fooverse]
+ set i 0
+ set j 72
+ while {$j < $len} {
+ while {[string index $fooverse $j] != " " && [string index $fooverse $j] != "\n"} {set j [expr $j + 1]}
+ set foo2 [string range $fooverse $i $j]
+ set foo2 [string trim $foo2]
+ regsub -all -nocase {(<FI>|<CM>|<FB>)} $foo2 {} foo2
+ regsub -all {<RF>} $foo2 {(footnote: } foo2
+ regsub -all {<Rf>} $foo2 {)} foo2
+ putmsg $chan "$foo2"
+ set i [expr $j + 1]
+ set j [expr $j + 73]
+ if {$j > $len} {set j $len}
+ }
+ set foo2 [string range $fooverse $i end]
+ set foo2 [string trim $foo2]
+ regsub -all -nocase {(<FI>|<CM>|<FB>)} $foo2 {} foo2
+ regsub -all {<RF>} $foo2 {(footnote: } foo2
+ regsub -all {<Rf>} $foo2 {)} foo2
+ putmsg $chan "$foo2"
+ }
+ catch {close $foofile}
+ exec rm /tmp/fooout.$botnick
+ return 1
+}
+
+
+proc pub_lookupc {nick uhost hand channel arg} {
+ global von chan bibver
+ set chan $channel
+ if {$von==0} {
+ putmsg $nick "Verse display is currently off."
+ return 0
+ }
+ if {($von==3) && (![matchattr $hand 3]) && (![matchattr $hand o]) && (![isvoice $nick $chan])} {
+ putmsg $nick "Sorry, only ops and voiced users can use commentaries right now."
+ return 0
+ }
+ if {($von==2) && (![matchattr $hand 3]) && (![matchattr $hand o])} {
+ putmsg $nick "Sorry, only ops can use commentaries right now."
+ return 0
+ }
+
+ publookupcomm $arg
+}
+
+bind pub - !rwp setver_rwp
+
+proc setver_rwp {nick uhost hand channel arg} {
+ global botnick chan bibver
+ set bibver RWP
+ pub_lookupc $nick $uhost $hand $channel $arg
+}
+
+bind pub - !mhc setver_mhc
+
+proc setver_mhc {nick uhost hand channel arg} {
+ global botnick chan bibver
+ set bibver MHC
+ pub_lookupc $nick $uhost $hand $channel $arg
+}
+
+bind pub - !dtn setver_dtn
+
+proc setver_dtn {nick uhost hand channel arg} {
+ global botnick chan bibver
+ set bibver DTN
+ pub_lookupc $nick $uhost $hand $channel $arg
+}
+
+bind pub - !family setver_family
+
+proc setver_family {nick uhost hand channel arg} {
+ global botnick chan bibver
+ set bibver Family
+ pub_lookupc $nick $uhost $hand $channel $arg
+}
+
+bind pub - !geneva setver_geneva
+
+proc setver_geneva {nick uhost hand channel arg} {
+ global botnick chan bibver
+ set bibver Geneva
+ pub_lookupc $nick $uhost $hand $channel $arg
+}
+
+bind pub - !gill setver_gill
+
+proc setver_gill {nick uhost hand channel arg} {
+ global botnick chan bibver
+ set bibver Gill
+ pub_lookupc $nick $uhost $hand $channel $arg
+}
+
+bind pub - !pnt setver_pnt
+
+proc setver_pnt {nick uhost hand channel arg} {
+ global botnick chan bibver
+ set bibver PNT
+ pub_lookupc $nick $uhost $hand $channel $arg
+}
+
+bind pub - !tfg setver_tfg
+
+proc setver_tfg {nick uhost hand channel arg} {
+ global botnick chan bibver
+ set bibver TFG
+ pub_lookupc $nick $uhost $hand $channel $arg
+}
+
+bind pub - !tsk setver_tsk
+
+proc setver_tsk {nick uhost hand channel arg} {
+ global botnick chan bibver
+ set bibver TSK
+ pub_lookupc $nick $uhost $hand $channel $arg
+}
+
+bind pub - !wesley setver_wesley
+
+proc setver_wesley {nick uhost hand channel arg} {
+ global botnick chan bibver
+ set bibver Wesley
+ pub_lookupc $nick $uhost $hand $channel $arg
+}
+
+#----------------------------------------------------------------------
+
+bind pub - !dict dictlookup
+
+proc dictlookup {nick uhost hand channel arg} {
+ global botnick von dict
+
+ if {$von==0} {
+ putmsg $nick "Verse display is currently off."
+ return 0
+ }
+ if {($von==3) && (![matchattr $hand 3]) && (![matchattr $hand o]) && (![isvoice $nick $channel])} {
+ putmsg $nick "Sorry, only ops and voiced users can use dictionaries and indices right now."
+ return 0
+ }
+ if {($von==2) && (![matchattr $hand 3]) && (![matchattr $hand o])} {
+ putmsg $nick "Only ops can use dictionaries and indices right now."
+ return 0
+ }
+
+ catch {exec $dict "$arg" >& /tmp/fooout.$botnick}
+ catch {set foofile [open /tmp/fooout.$botnick]}
+ catch {set fooverse [gets $foofile]}
+ while {[gets $foofile fooverse] >= 0} {
+ set fooverse [string trim $fooverse]
+ putmsg $channel "$fooverse"
+ }
+ catch {close $foofile}
+ exec rm /tmp/fooout.$botnick
+ return 1
+}
+
+#----------------------------------------------------------------------
+
+bind pub - !biblehelp pub_help
+bind msg - biblehelp pub_help
+
+proc pub_help {nick uhost hand channel arg} {
+ global diaver
+ global von
+ putserv "NOTICE $nick :Diatheke/Tcl BibleBot version $diaver"
+
+ if {(($von==0) || ($von==2)) && (![matchattr $hand 3]) && (![matchattr $hand o])} {
+ putserv "NOTICE $nick :BibleBot displays are currently turned off."
+ return 1
+ }
+
+ putserv "NOTICE $nick :Supported commands:"
+ putserv "NOTICE $nick :Help, using \"!biblehelp\""
+ putserv "NOTICE $nick :Book list, using \"!books\" (it's long)"
+# Uncomment the next line if you have turned LOGGING on in diatheke to enable
+# the history function.
+# putserv "NOTICE $nick :See last 5 calls to BibleBot, using \"!history\""
+ putserv "NOTICE $nick :Check display status, using \"!status\""
+ putserv "NOTICE $nick :Bible lookups, using \"!<bible version> <book> <chapter>:<verse>\""
+ putserv "NOTICE $nick :verse ranges can be specified by adding \"-<last verse>\" to this"
+ putserv "NOTICE $nick :To turn Strong's numbers and/or footnotes on, use @ and/or # respectively before the book name. For example \"!kjv @#Gen 1:4\" will retrieve Genesis 1:3 with the Strong's numbers and footnotes associated with it."
+
+ if {($von==3) && (![matchattr $hand 3]) && (![matchattr $hand o]) && (![isvoice $nick $channel])} {
+ return 1
+ }
+
+ putserv "NOTICE $nick :Commentary lookups, using \"!<commentary> <book> <chapter>:<verse>\""
+ putserv "NOTICE $nick :Dictionary/index lookups, using \"!<dictionary> <word or number>\""
+ putserv "NOTICE $nick :Bible searches, using \"!s<bible version> <word>\""
+ putserv "NOTICE $nick :Diatheke/Tcl defaults to PHRASE search mode. To use MULTI-WORD search mode, preface your search with an @. To use REGEX mode, preface your search with a #. For example: \"!skjv @Jesus love\" will print a list of all verses in the KJV containing the words Jesus and love."
+
+ if {(![matchattr $hand 3]) && (![matchattr $hand o])} {
+ return 1
+ }
+
+ putserv "NOTICE $nick :To turn verse display off, use \"!verseoff\""
+ putserv "NOTICE $nick :To turn all displays on for all users, use \"!verseon\""
+ putserv "NOTICE $nick :To turn all displays on for ops only, use \"!verseon o\""
+ putserv "NOTICE $nick :To turn verse diaplays on for regular users and all other displays on for ops and voiced users only, use \"!verseon v\" (default)"
+}
+
+bind pub - !books pub_books
+bind msg - books pub_books
+
+proc pub_books {nick uhost hand channel arg} {
+ global von
+
+ if {(($von==0) || ($von==2)) && (![matchattr $hand 3]) && (![matchattr $hand o])} {
+ putserv "NOTICE $nick :BibleBot displays are currently turned off."
+ return 1
+ }
+
+ putserv "NOTICE $nick :English language Bibles (26):"
+ putserv "NOTICE $nick :Ameican Standard Version (!asv), Analytical Literal Translation (!alt), Bible in Basic English (!bbe), Darby (!dby), Douay-Rheims Bible (!dr), Green's Literal Translation (!litv), Green's Modern King James Version (!mkjv), Hebrew Names Version (!hnv), Jewish Publication Society 1917 (!jps), King James Version (!kjv), The Living Oracles NT (!lo),"
+ putserv "NOTICE $nick :New American Standard Bible (!nasb), New American Standard Bible, 95 Update (!nasb95), New International Version (!niv), New Internation Version, British Edition (!nivbr), New King James Version (!nkjv), New Living Translation (!nlt), New Revised Standard Version (!nrsv), Orthodox Jewish Brit ChadashaNT only (!jbc),"
+ putserv "NOTICE $nick :Revised Standard Version (!rsv), Revised 1833 Webster's (!rwebster), World English Bible (!web), Webster's (!webster), Weymouth NT (!wey), Young's Literal Translation (!ylt), 21st Century King James Version (!kj21)"
+ putserv "NOTICE $nick :Non-English language Bibles (39):"
+ putserv "NOTICE $nick :Albanian Bible (!alb), Chinese GNPU (!gnpu), Danish Bible (!dan), Dutch Leidse Vertaling (!lei), Dutch Lutherse Vertaling (!lu), Dutch Statemvertaling (!svv), Equadoran Shuar NT (!shr), Filipino Nga Cebuano (!ceb), Finnish Pyhz Raamattu (!pr), French Louis Segond Version (!lsg), French Haitian Creole Version (!crl), French Darby's Version (!fredrb),"
+ putserv "NOTICE $nick :French Nouvelle Edition de Geneve (!neg), German Luther Version (!lut), German Schlachter (!sch), German Bengel NT (!ben), German Elberfelder Version (!elb), Hungarian Karoli (!kar), Indonesian Bahasa Indonesia Sehari-hari (!bis), Indonesian Terjemahan Baru (!tb), Italian La Nouva Diodati (!lnd), Italian La Sacra Bibbia Nuova Riveduta (!nrv),"
+ putserv "NOTICE $nick :Maori Bible (!maori), Melanesian Pidgin Bible (!mel), Norsk Bible (!norsk), Portuguese A Biblia Sagrada Traduzida em Portugues (!brp), Spanish La Biblia de Las Americas (!lba), Spanish Reina-Valera Actualizada (!rva), Spanish Reina-Valera (!rv), Spanish Sagradas Escrituras (!sev), Spanish Valera NT only (!vnt), Swahili NT (!swahili),"
+ putserv "NOTICE $nick :Swedish 1917 Bible NT only (!sve), Turkish NT (!turkish), Uma NT (!uma)"
+ putserv "NOTICE $nick :Original Language Bibles (18): (NB, /'s divide transliterated/non-roman versions)"
+ putserv "NOTICE $nick :1991 Byzantine/Majority Text (!byz/!grkbyz), Nestle-Aland 26th/27th Ed. (!na26/!grkna26), 1894 Scrivner Textus Receptus (!scrivner/!grkscrivner), 1550 Stephanus Textus Receptus (!stephanus/!grkstephanus), Tischendorf' 8th Ed. GNT (!tisch/!grktisch), 1881 Westcott-Hort GNT (!wh/!grkwh), 1881 Westcott-Hort with NA26 alternate readings (!whnu/!grkwhnu)"
+ putserv "NOTICE $nick: Nestle-Aland 27th Ed./UBS 4th Ed. (!n27u4), Septuagint/LXX (!lxx/!grklxx), Biblia Hebraica Stuttgartensia in Hebrew font (!bhs), Jerome's Latin Vulgate (!vulg)"
+ putserv "NOTICE $nick :Non-Roman character Bibles (5):"
+ putserv "NOTICE $nick :Arabic Bible (!arabic), Russian Synodal Translation (!rst), Ukrainian Bible (!ukrainian), Unaccented Modern Greek Bible (!umgreek), Vietnamese Bible (!viet)"
+
+ if {($von==3) && (![matchattr $hand 3]) && (![matchattr $hand o]) && (![isvoice $nick $channel])} {
+ return 1
+ }
+
+ putserv "NOTICE $nick :Dictionaries & Indices (12):"
+ putserv "NOTICE $nick :Webster's Dictionary (!dict), Vine's Bible Dictionary(!vines), Easton's Bible Dictionary (!eastons), Nave's Topical Bible (!naves), Smith's Bible Dictionary (!smiths), Hitchcock's Bible Names Dictionary (!hitch), International Standard Bible Dictionary (!isbe), Torrey's New Topical Textbook (!torrey), Strong's Hebrew Bible Dictionary (!strheb), Strong's Greek Bible Dictionary (!strgrk), Brown-Driver-Briggs Hebrew Lexicon (!bdb), Thayer's Greek Lexicon (!thayer)"
+ putserv "NOTICE $nick :Commentaries (10):"
+ putserv "NOTICE $nick :Darby's Translation Notes (!dtn), Family Bible Notes (!family), Geneva Bible Translation Notes (!geneva), John Gill's Expositor (!gill), Matthew Henry's Concise (!mhc), The People's New Testament (!pnt), Robertson's Word Pictures (!rwp), The Fourfold Gospel (!tfg), Treasury of Scriptural Knowledge (!tsk), Wesley's Bible Notes (!wesley)"
+}
+
+#----------------------------------------------------------------------
+
+bind pub - !status pub_status
+bind msg - status pub_status
+
+proc pub_status {nick uhost hand channel arg} {
+ global von
+
+ if {$von==0} {
+ putserv "NOTICE $nick :All BibleBot displays are currently off."
+ } elseif {$von==1} {
+ putserv "NOTICE $nick :All BibleBot displays are currently on."
+ } elseif {$von==2} {
+ putserv "NOTICE $nick :All BibleBot displays are currently on for ops only."
+ } else {
+ putserv "NOTICE $nick :Verse displays are currently on for all users, but other BibleBot displays are currently restricted to ops and voiced users."
+ }
+ return 1
+}
+
+
+bind pub - !history pub_hist
+bind msg - history pub_hist
+
+proc pub_hist {nick uhost hand channel arg} {
+ global botnick
+ catch {exec tail -n 5 /var/log/diatheke.log >& /tmp/fooout.$botnick}
+ catch {set foofile [open /tmp/fooout.$botnick]}
+ catch {set fooverse [gets $foofile]}
+ putserv "NOTICE $nick :Last 5 calls to Diatheke/Tcl BibleBot"
+ putserv "NOTICE $nick :$fooverse"
+ while {[gets $foofile fooverse] >= 0} {
+ putserv "NOTICE $nick :$fooverse"
+ }
+ catch {close $foofile}
+ exec rm /tmp/fooout.$botnick
+ return 1
+}
+
+#---------------------------------------------------------------------
+
+proc pub_verseon {nick uhost hand channel arg} {
+ global von
+ if {![matchattr $hand 3] && ![matchattr $hand o]} {
+ return 0
+ } elseif {$arg=="v"} {
+ set von 3
+# putserv "NOTICE $nick :Long Text Display is now on for voiced only!"
+ } elseif {$arg=="o"} {
+ set von 2
+# putserv "NOTICE $nick :Verse Display is now on for ops only!"
+ } else {
+ set von 1
+# putserv "NOTICE $nick :All Display is now on!"
+ }
+ pub_status $nick $uhost $hand $channel $arg
+ return 1
+}
+bind pub - !verseon pub_verseon
+bind msg - verseon pub_verseon
+
+proc pub_verseoff {nick uhost hand channel arg} {
+ global von
+
+ if {![matchattr $hand 3] && ![matchattr $hand o]} {
+ return 0
+ }
+ set von 0
+# putserv "NOTICE $nick :Verse Display is now off!"
+ pub_status $nick $uhost $hand $channel $arg
+ return 1
+}
+bind pub - !verseoff pub_verseoff
+bind msg - verseoff pub_verseoff
+
+proc dcc_verseoff {hand idx arg} {
+ global von
+ global whovoff
+ if {![matchattr $hand 3] && ![matchattr $hand o]} {
+ return 0
+ }
+ set von 0
+ set whovoff $hand
+ return 1
+}
+bind dcc - verseoff dcc_verseoff
+
+proc dcc_verseon {hand idx arg} {
+ global von
+ if {![matchattr $hand 3] && ![matchattr $hand o]} {
+ return 0
+ }
+ elseif {$arg=="v"} {
+ set von 3
+ }
+ elseif {$arg=="o"} {
+ set von 2
+ } else {
+ set von 1
+ }
+ return 1
+}
+bind dcc - verseon dcc_verseon
+
+#sets default von mode
+set von 1
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/utilities/diatheke/thmlcgi.cpp b/utilities/diatheke/thmlcgi.cpp
new file mode 100644
index 0000000..d24b9f9
--- /dev/null
+++ b/utilities/diatheke/thmlcgi.cpp
@@ -0,0 +1,192 @@
+/***************************************************************************
+ thmlcgi.cpp - ThML to Diatheke/CGI format
+ -------------------
+ begin : 2001-11-12
+ copyright : 2001 by CrossWire Bible Society
+ ***************************************************************************/
+
+/***************************************************************************
+ * *
+ * This program is free software; you can redistribute it and/or modify *
+ * it under the terms of the GNU General Public License as published by *
+ * the Free Software Foundation; either version 2 of the License, or *
+ * (at your option) any later version. *
+ * *
+ ***************************************************************************/
+
+#include <stdlib.h>
+#include <string.h>
+#include "thmlcgi.h"
+
+SWORD_NAMESPACE_START
+
+ThMLCGI::ThMLCGI() {
+ setTokenStart("<");
+ setTokenEnd(">");
+
+ setTokenCaseSensitive(true);
+
+ addTokenSubstitute("note", " <font color=\"#008000\"><small>(");
+ addTokenSubstitute("/note", ")</small></font> ");
+}
+
+
+bool ThMLCGI::handleToken(SWBuf &buf, const char *token, DualStringMap &userData) {
+ unsigned long i;
+ if (!substituteToken(buf, token)) {
+ // manually process if it wasn't a simple substitution
+ if (!strncmp(token, "sync ", 5)) {
+ buf += "<a href=\"!DIATHEKE_URL!";
+ char* pbuf;
+ char typ[32]; typ[0] = 0;
+ char val[32]; val[0] = 0;
+ char cls[32]; cls[0] = 0;
+ for (unsigned int j = 5; j < strlen(token); j++) {
+ if (!strncmp(token+j, "type=\"", 6)) {
+ pbuf = typ;
+ j += 6;
+ for (;token[j] != '\"'; j++)
+ *(pbuf)++ = token[j];
+ *(pbuf) = 0;
+ }
+ else if (!strncmp(token+j, "value=\"", 7)) {
+ pbuf = val;
+ j += 7;
+ for (;token[j] != '\"'; j++)
+ *(pbuf)++ = token[j];
+ *(pbuf) = 0;
+ }
+ else if (!strncmp(token+j, "class=\"", 7)) {
+ pbuf = cls;
+ j += 7;
+ for (;token[j] != '\"'; j++)
+ *(pbuf)++ = token[j];
+ *(pbuf) = 0;
+ }
+ }
+ if (*cls && *val) {
+ buf.appendFormatted("%s=on&verse=%s", cls, val);
+ }
+ else if (*typ && *val) {
+ if (!strnicmp(typ, "Strongs", 7)) {
+ if (*val == 'G') {
+ buf.appendFormatted("StrongsGreek=on&verse=%s", val + 1);
+ }
+ else if (*val == 'H') {
+ buf.appendFormatted("StrongsHebrew=on&verse=%s", val + 1);
+ }
+ }
+
+ else if (!strnicmp(typ, "Morph", 5)) {
+ if (*val == 'G') {
+ buf.appendFormatted("StrongsGreek=on&verse=%s", val + 1);
+ }
+ else if (*val == 'H') {
+ buf.appendFormatted("StrongsHebrew=on&verse=%s", val + 1);
+ }
+ else {
+ buf.appendFormatted("Packard=on&verse=%s", val);
+ }
+ }
+ else {
+ buf.appendFormatted("%s=on&verse=%s", typ, val);
+ }
+ }
+ buf += "\">";
+
+ if (*val) {
+ buf += val;
+ }
+ buf += "</a>";
+ }
+
+ else if (!strncmp(token, "scripRef p", 10) || !strncmp(token, "scripRef v", 10)) {
+ userData["inscriptRef"] = "true";
+ buf += "<a href=\"!DIATHEKE_URL!";
+ for (i = 9; i < strlen(token); i++) {
+ if (!strncmp(token+i, "version=\"", 9)) {
+ i += 9;
+ for (;token[i] != '\"'; i++)
+ buf += token[i];
+ buf += "=on&";
+ }
+ if (!strncmp(token+i, "passage=\"", 9)) {
+ i += 9;
+ buf += "verse=";
+ for (;token[i] != '\"'; i++) {
+ if (token[i] == ' ') buf += '+';
+ else buf += token[i];
+ }
+ buf += '&';
+ }
+ }
+ buf += "\">";
+ }
+
+ // we're starting a scripRef like "<scripRef>John 3:16</scripRef>"
+ else if (!strcmp(token, "scripRef")) {
+ userData["inscriptRef"] = "false";
+ // let's stop text from going to output
+ userData["suspendTextPassThru"] = "true";
+ }
+
+ // we've ended a scripRef
+ else if (!strcmp(token, "/scripRef")) {
+ if (userData["inscriptRef"] == "true") { // like "<scripRef passage="John 3:16">John 3:16</scripRef>"
+ userData["inscriptRef"] = "false";
+ buf += "</a>";
+ }
+
+ else { // like "<scripRef>John 3:16</scripRef>"
+ buf += "<a href=\"!DIATHEKE_URL!verse=";
+
+ char* vref = (char*)userData["lastTextNode"].c_str();
+ while (*vref) {
+ if (*vref == ' ') buf += '+';
+ else buf += *vref;
+ vref++;
+ }
+ buf += "\">";
+ buf += userData["lastTextNode"].c_str();
+ // let's let text resume to output again
+ userData["suspendTextPassThru"] = "false";
+ buf += "</a>";
+ }
+ }
+
+ else if (!strncmp(token, "div class=\"sechead\"", 19)) {
+ userData["SecHead"] = "true";
+ buf += "<br /><b><i>";
+ }
+ else if (!strncmp(token, "div class=\"title\"", 19)) {
+ userData["SecHead"] = "true";
+ buf += "<br /><b><i>";
+ }
+ else if (!strncmp(token, "/div", 4)) {
+ if (userData["SecHead"] == "true") {
+ buf += "</i></b><br />";
+ userData["SecHead"] = "false";
+ }
+ }
+
+ else if(!strncmp(token, "note", 4)) {
+ buf += " <small><font color=\"#008000\">{";
+ }
+
+ else {
+ buf += '<';
+ for (i = 0; i < strlen(token); i++)
+ buf += token[i];
+ buf += '>';
+ //return false; // we still didn't handle token
+ }
+ }
+ return true;
+}
+
+
+
+
+
+
+SWORD_NAMESPACE_END
diff --git a/utilities/diatheke/thmlcgi.h b/utilities/diatheke/thmlcgi.h
new file mode 100644
index 0000000..f41f021
--- /dev/null
+++ b/utilities/diatheke/thmlcgi.h
@@ -0,0 +1,36 @@
+/***************************************************************************
+ thmlcgi.h - OSIS to Diatheke/CGI format
+ -------------------
+ begin : 2001-11-12
+ copyright : 2001 by CrossWire Bible Society
+ ***************************************************************************/
+
+/***************************************************************************
+ * *
+ * This program is free software; you can redistribute it and/or modify *
+ * it under the terms of the GNU General Public License as published by *
+ * the Free Software Foundation; either version 2 of the License, or *
+ * (at your option) any later version. *
+ * *
+ ***************************************************************************/
+
+#ifndef THMLCGI_H
+#define THMLCGI_H
+
+#include <swbasicfilter.h>
+
+#include <defs.h>
+
+SWORD_NAMESPACE_START
+
+/** this filter converts ThML text to Diatheke/CGI format
+ */
+class SWDLLEXPORT ThMLCGI : public SWBasicFilter {
+protected:
+ virtual bool handleToken(SWBuf &buf, const char *token, DualStringMap &userData);
+public:
+ ThMLCGI();
+};
+
+SWORD_NAMESPACE_END
+#endif
diff --git a/utilities/emptyvss.cpp b/utilities/emptyvss.cpp
index 0508eec..10a5b28 100644
--- a/utilities/emptyvss.cpp
+++ b/utilities/emptyvss.cpp
@@ -1,6 +1,15 @@
#include <swmgr.h>
#include <versekey.h>
-#include <iostream.h>
+#include <iostream>
+
+#ifndef NO_SWORD_NAMESPACE
+using sword::SWMgr;
+using sword::VerseKey;
+using sword::ModMap;
+using sword::SWKey;
+using sword::SWModule;
+using sword::SW_POSITION;
+#endif
int main(int argc, char **argv) {
if (argc < 2) {
@@ -38,7 +47,7 @@ int main(int argc, char **argv) {
if (vkey->Verse())
if (!strlen ((const char *)(*mod)))
- cout << *vkey << "\n";
+ std::cout << *vkey << std::endl;
(*mod)++;
}
}
diff --git a/utilities/gbfidx.cpp b/utilities/gbfidx.cpp
new file mode 100644
index 0000000..bc2a1f2
--- /dev/null
+++ b/utilities/gbfidx.cpp
@@ -0,0 +1,295 @@
+/*****************************************************************************
+ *
+ * This code wreaks but works (at least for WEB). Good luck!
+ */
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <ctype.h>
+
+#ifndef __GNUC__
+#include <io.h>
+#else
+#include <unistd.h>
+#endif
+
+#include <fcntl.h>
+#include <versekey.h>
+
+using namespace sword;
+
+void writeidx(VerseKey &key1, VerseKey &key2, VerseKey &key3, long offset, short size);
+char findbreak(int fp, long *offset, int *num1, int *num2, int *rangemax, short *size);
+void openfiles(char *fname);
+void checkparams(int argc, char **argv);
+
+
+VerseKey key1, key2, key3;
+int fp, vfp, cfp, bfp;
+long chapoffset;
+short chapsize;
+char testmnt;
+
+
+main(int argc, char **argv)
+{
+ long pos, offset;
+ int num1, num2, rangemax, curbook = 0, curchap = 0, curverse = 0;
+ char buf[127], startflag = 0;
+ short size, tmp;
+
+ checkparams(argc, argv);
+
+ openfiles(argv[1]);
+
+ testmnt = key1.Testament();
+ num1 = key1.Chapter();
+ num2 = key1.Verse();
+ pos = 0;
+ write(bfp, &pos, 4); /* Book offset for testament intros */
+ pos = 4;
+ write(cfp, &pos, 4); /* Chapter offset for testament intro */
+
+
+/* Right now just zero out intros until parsing correctly */
+ pos = 0;
+ size = 0;
+ write(vfp, &pos, 4); /* Module intro */
+ write(vfp, &size, 2);
+ write(vfp, &pos, 4); /* Testament intro */
+ write(vfp, &size, 2);
+
+ while(!findbreak(fp, &offset, &num1, &num2, &rangemax, &size)) {
+ if (!startflag) {
+ startflag = 1;
+ }
+ else {
+ if (num2 < key2.Verse()) { // new chapter
+ if (num1 <= key2.Chapter()) { // new book
+ key2.Verse(1);
+ key2.Chapter(1);
+ key2.Book(key2.Book()+1);
+ }
+ printf("Found Chapter Break: %d ('%s')\n", num1, (const char *)key2);
+ chapoffset = offset;
+ chapsize = size;
+// continue;
+ }
+ }
+ key2.Verse(1);
+ key2.Chapter(num1);
+ key2.Verse(num2);
+
+ key3 = key2;
+// key3 += (rangemax - key3.Verse());
+
+ writeidx(key1, key2, key3, offset, size);
+ }
+ close(vfp);
+ close(cfp);
+ close(bfp);
+ close(fp);
+}
+
+
+/**************************************************************************
+ * ENT: key1 - current location of index
+ * key2 - minimum keyval for which this offset is valid
+ * key3 - maximum keyval for which this offset is valid
+ */
+
+void writeidx(VerseKey &key1, VerseKey &key2, VerseKey &key3, long offset, short size)
+{
+ long pos;
+ short tmp;
+
+ for (; ((key1 <= key3) && (key1.Error() != KEYERR_OUTOFBOUNDS) && (key1.Testament() == testmnt)); key1+=1) {
+ if (key1.Verse() == 1) { // new chapter
+ if (key1.Chapter() == 1) { // new book
+ pos = lseek(cfp, 0, SEEK_CUR);
+ write(bfp, &pos, 4);
+ pos = lseek(vfp, 0, SEEK_CUR); /* Book intro (cps) */
+ write(cfp, &pos, 4);
+ write(vfp, &chapoffset, 4); /* Book intro (vss) set to same as chap for now(it should be chap 1 which usually contains the book into anyway)*/
+ write(vfp, &chapsize, 2);
+ }
+ pos = lseek(vfp, 0, SEEK_CUR);
+ write(cfp, &pos, 4);
+ write(vfp, &chapoffset, 4); /* Chapter intro */
+ write(vfp, &chapsize, 2);
+ }
+ if (key1 >= key2) {
+ write(vfp, &offset, 4);
+ write(vfp, &size, 2);
+ }
+ else {
+ pos = 0;
+ tmp = 0;
+ write(vfp, &pos, 4);
+ write(vfp, &tmp, 2);
+ }
+ }
+}
+
+
+char startchap(char *buf)
+{
+ char loop;
+
+ if (buf[0] != '<')
+ return 0;
+ if (buf[1] != 'S')
+ return 0;
+ if (buf[2] != 'C')
+ return 0;
+/*
+ if (!isdigit(buf[2]))
+ return 0;
+ for (loop = 3; loop < 7; loop++) {
+ if (buf[loop] == ' ')
+ break;
+ if ((!isdigit(buf[loop])) && (buf[loop] != ',') && (buf[loop] != '-'))
+ return 0;
+ }
+*/
+ return 1;
+}
+
+
+char startentry(char *buf)
+{
+ char loop;
+
+ if (buf[0] != '<')
+ return 0;
+ if (buf[1] != 'S')
+ return 0;
+ if (buf[2] != 'V')
+ return 0;
+/*
+ if (!isdigit(buf[2]))
+ return 0;
+ for (loop = 3; loop < 7; loop++) {
+ if (buf[loop] == ' ')
+ break;
+ if ((!isdigit(buf[loop])) && (buf[loop] != ',') && (buf[loop] != '-'))
+ return 0;
+ }
+*/
+ return 1;
+}
+
+
+char findbreak(int fp, long *offset, int *num1, int *num2, int *rangemax, short *size)
+{
+ char buf[7];
+ char buf2[20];
+ char ch;
+ char loop;
+ long offset2;
+ int ch2, vs2, rm2;
+ bool flag;
+ long chapstart = 0;
+
+ memset(buf, ' ', 7);
+
+ while (1) {
+ if (startchap(buf)) {
+ chapstart = lseek(fp, 0, SEEK_CUR) - 7;
+ memset(buf, ' ', 3);
+ flag = false;
+ for (loop = 3; loop < 6; loop++) {
+ if (isdigit(buf[loop]))
+ flag = true;
+ else {
+ buf[loop] = 0;
+ break;
+ }
+ }
+ if (flag)
+ *num1 = atoi(buf);
+ else (*num1)++;
+ }
+ if (startentry(buf)) {
+ memset(buf, ' ', 3);
+ flag = false;
+ for (loop = 3; loop < 6; loop++) {
+ if (isdigit(buf[loop]))
+ flag = true;
+ else {
+ buf[loop] = 0;
+ break;
+ }
+ if (flag)
+ *num2 = atoi(buf);
+ else (*num2)++;
+ }
+ loop++;
+ if (size)
+ *offset = lseek(fp, 0, SEEK_CUR) - (7 - loop);
+ else *offset = (chapstart) ? chapstart : lseek(fp, 0, SEEK_CUR) - 7;
+ if (size) {
+ ch2 = *num1;
+ vs2 = *num2;
+ if (findbreak(fp, &offset2, &ch2, &vs2, &rm2, 0)) {
+ *size = (short) (lseek(fp, 0, SEEK_END) - (*offset));
+ }
+ else {
+ if (vs2) {
+ *size = (offset2 - (*offset));
+ }
+ }
+ lseek(fp, *offset, SEEK_SET);
+ }
+ return 0;
+ }
+ memmove(buf, &buf[1], 6);
+ if (read(fp, &buf[6], 1) != 1)
+ return 1;
+ }
+}
+
+
+void openfiles(char *fname)
+{
+#ifndef O_BINARY // O_BINARY is needed in Borland C++ 4.53
+#define O_BINARY 0 // If it hasn't been defined than we probably
+#endif // don't need it.
+ char buf[255];
+
+ if ((fp = open(fname, O_RDONLY|O_BINARY)) == -1) {
+ fprintf(stderr, "Couldn't open file: %s\n", fname);
+ exit(1);
+ }
+
+ sprintf(buf, "%s.vss", fname);
+ if ((vfp = open(buf, O_CREAT|O_WRONLY|O_BINARY)) == -1) {
+ fprintf(stderr, "Couldn't open file: %s\n", buf);
+ exit(1);
+ }
+
+ sprintf(buf, "%s.cps", fname);
+ if ((cfp = open(buf, O_CREAT|O_WRONLY|O_BINARY)) == -1) {
+ fprintf(stderr, "Couldn't open file: %s\n", buf);
+ exit(1);
+ }
+
+ sprintf(buf, "%s.bks", fname);
+ if ((bfp = open(buf, O_CREAT|O_WRONLY|O_BINARY)) == -1) {
+ fprintf(stderr, "Couldn't open file: %s\n", buf);
+ exit(1);
+ }
+}
+
+
+void checkparams(int argc, char **argv)
+{
+ if (argc < 2) {
+ fprintf(stderr, "usage: %s <file to process> [nt - for new testmt file]\n", argv[0]);
+ exit(1);
+ }
+ if (argc == 3)
+ key1 = key2 = key3 = "Matthew 1:1";
+ else key1 = key2 = key3 = "Genesis 1:1";
+}
diff --git a/utilities/imp2gbs.cpp b/utilities/imp2gbs.cpp
index 12b3f2f..b693e0f 100644
--- a/utilities/imp2gbs.cpp
+++ b/utilities/imp2gbs.cpp
@@ -1,163 +1,168 @@
-#include <ctype.h>
-#include <stdio.h>
-#include <fcntl.h>
-#include <errno.h>
-#include <stdlib.h>
-
-#ifndef __GNUC__
-#include <io.h>
-#else
-#include <unistd.h>
-#endif
-
-#include <entriesblk.h>
-#include <iostream.h>
-#include <treekeyidx.h>
-#include <rawgenbook.h>
-
-#ifndef O_BINARY
-#define O_BINARY 0
-#endif
-
-void printTree(TreeKeyIdx treeKey, TreeKeyIdx *target = 0, int level = 1) {
- if (!target)
- target = &treeKey;
-
- unsigned long currentOffset = target->getOffset();
- cout << ((currentOffset == treeKey.getOffset()) ? "==>" : "");
- for (int i = 0; i < level; i++) cout << "\t";
- cout << treeKey.getLocalName() << "/\n";
- if (treeKey.firstChild()) {
- printTree(treeKey, target, level+1);
- treeKey.parent();
- }
- if (treeKey.nextSibling())
- printTree(treeKey, target, level);
-}
-
-void setkey (TreeKeyIdx * treeKey, char* keybuffer) {
- char* tok = strtok(keybuffer, "/");
- while (tok) {
- bool foundkey = false;
- if (treeKey->hasChildren()) {
- treeKey->firstChild();
- if (!strcmp(treeKey->getLocalName(), tok)) {
- foundkey = true;
- } else {
- while (treeKey->nextSibling()) {
- if (treeKey->getLocalName()) {
- if (!strcmp(treeKey->getLocalName(), tok)) {
- foundkey = true;
- }
- }
- }
- }
- if (!foundkey) {
- treeKey->append();
- treeKey->setLocalName(tok);
- treeKey->save();
- }
- }
- else {
- treeKey->appendChild();
- treeKey->setLocalName(tok);
- treeKey->save();
- }
-
- //DEBUG cout << treeKey->getLocalName() << " : " << tok << endl;
-
- tok = strtok(NULL, "/");
-
- }
-}
-
-int readline(FILE* infile, char* linebuffer) {
- signed char c;
- char* lbPtr = linebuffer;
- while ((c = fgetc(infile)) != EOF) {
- *lbPtr++ = c;
- if (c == 10) {
- *lbPtr = 0;
- return (strlen(linebuffer));
- }
- }
- return 0;
-}
-
-int main(int argc, char **argv) {
-
- const char * helptext ="imp2gbs 1.0 General Book module creation tool for the SWORD Project\n usage:\n %s <filename> [modname]\n";
-
- signed long i = 0;
- char* keybuffer = new char[2048];
- char* entbuffer = new char[1048576];
- char* linebuffer = new char[1048576];
- char modname[16];
-
- if (argc > 2) {
- strcpy (modname, argv[2]);
- }
- else if (argc > 1) {
- for (i = 0; (i < 16) && (argv[1][i]) && (argv[1][i] != '.'); i++) {
- modname[i] = argv[1][i];
- }
- modname[i] = 0;
- }
- else {
- fprintf(stderr, helptext, argv[0]);
- exit(-1);
- }
-
- FILE *infile;
- infile = fopen(argv[1], "r");
-
- TreeKeyIdx * treeKey;
- RawGenBook *book;
-
- // Do some initialization stuff
- TreeKeyIdx::create(modname);
- treeKey = new TreeKeyIdx(modname);
- RawGenBook::createModule(modname);
- delete treeKey;
- book = new RawGenBook(modname);
- //DEBUG TreeKeyIdx root = *((TreeKeyIdx *)((SWKey *)(*book)));
- treeKey = ((TreeKeyIdx *)((SWKey *)(*book)));
-
- while (readline(infile, linebuffer)) {
- if (!strncmp(linebuffer, "$$$", 3)) {
- if (strlen(keybuffer) && strlen(entbuffer)) {
- cout << keybuffer << endl;
- treeKey->root();
- setkey(treeKey, keybuffer);
- book->setentry(entbuffer, strlen(entbuffer));
- }
- linebuffer[strlen(linebuffer) - 1] = 0;
- strcpy (keybuffer, linebuffer + 3);
- *entbuffer = 0;
- }
- else {
- strcat (entbuffer, linebuffer);
- }
- }
-
- //handle final entry
- if (strlen(keybuffer) && strlen(entbuffer)) {
- cout << keybuffer << endl;
- treeKey->root();
- setkey(treeKey, keybuffer);
- book->setentry(entbuffer, strlen(entbuffer));
- }
-
- //DEBUG printTree(root, treeKey);
-
- delete treeKey;
- delete book;
- delete [] keybuffer;
- delete [] linebuffer;
- delete [] entbuffer;
-
- return 0;
-}
-
-
-
+#include <ctype.h>
+#include <stdio.h>
+#include <fcntl.h>
+#include <errno.h>
+#include <stdlib.h>
+
+#ifndef __GNUC__
+#include <io.h>
+#else
+#include <unistd.h>
+#endif
+
+#include <entriesblk.h>
+#include <iostream>
+#include <treekeyidx.h>
+#include <rawgenbook.h>
+
+#ifndef O_BINARY
+#define O_BINARY 0
+#endif
+
+#ifndef NO_SWORD_NAMESPACE
+using sword::TreeKeyIdx;
+using sword::RawGenBook;
+using sword::SWKey;
+#endif
+
+void printTree(TreeKeyIdx treeKey, TreeKeyIdx *target = 0, int level = 1) {
+ if (!target)
+ target = &treeKey;
+
+ unsigned long currentOffset = target->getOffset();
+ std::cout << ((currentOffset == treeKey.getOffset()) ? "==>" : "");
+ for (int i = 0; i < level; i++) std::cout << "\t";
+ std::cout << treeKey.getLocalName() << "/\n";
+ if (treeKey.firstChild()) {
+ printTree(treeKey, target, level+1);
+ treeKey.parent();
+ }
+ if (treeKey.nextSibling())
+ printTree(treeKey, target, level);
+}
+
+void setkey (TreeKeyIdx * treeKey, char* keybuffer) {
+ char* tok = strtok(keybuffer, "/");
+ while (tok) {
+ bool foundkey = false;
+ if (treeKey->hasChildren()) {
+ treeKey->firstChild();
+ if (!strcmp(treeKey->getLocalName(), tok)) {
+ foundkey = true;
+ } else {
+ while (treeKey->nextSibling()) {
+ if (treeKey->getLocalName()) {
+ if (!strcmp(treeKey->getLocalName(), tok)) {
+ foundkey = true;
+ }
+ }
+ }
+ }
+ if (!foundkey) {
+ treeKey->append();
+ treeKey->setLocalName(tok);
+ treeKey->save();
+ }
+ }
+ else {
+ treeKey->appendChild();
+ treeKey->setLocalName(tok);
+ treeKey->save();
+ }
+
+ //DEBUG std::cout << treeKey->getLocalName() << " : " << tok << std::endl;
+
+ tok = strtok(NULL, "/");
+
+ }
+}
+
+int readline(FILE* infile, char* linebuffer) {
+ signed char c;
+ char* lbPtr = linebuffer;
+ while ((c = fgetc(infile)) != EOF) {
+ *lbPtr++ = c;
+ if (c == 10) {
+ *lbPtr = 0;
+ return (strlen(linebuffer));
+ }
+ }
+ return 0;
+}
+
+int main(int argc, char **argv) {
+
+ const char * helptext ="imp2gbs 1.0 General Book module creation tool for the SWORD Project\n usage:\n %s <filename> [modname]\n";
+
+ signed long i = 0;
+ char* keybuffer = new char[2048];
+ char* entbuffer = new char[1048576];
+ char* linebuffer = new char[1048576];
+ char modname[16];
+
+ if (argc > 2) {
+ strcpy (modname, argv[2]);
+ }
+ else if (argc > 1) {
+ for (i = 0; (i < 16) && (argv[1][i]) && (argv[1][i] != '.'); i++) {
+ modname[i] = argv[1][i];
+ }
+ modname[i] = 0;
+ }
+ else {
+ fprintf(stderr, helptext, argv[0]);
+ exit(-1);
+ }
+
+ FILE *infile;
+ infile = fopen(argv[1], "r");
+
+ TreeKeyIdx * treeKey;
+ RawGenBook *book;
+
+ // Do some initialization stuff
+ TreeKeyIdx::create(modname);
+ treeKey = new TreeKeyIdx(modname);
+ RawGenBook::createModule(modname);
+ delete treeKey;
+ book = new RawGenBook(modname);
+ //DEBUG TreeKeyIdx root = *((TreeKeyIdx *)((SWKey *)(*book)));
+ treeKey = ((TreeKeyIdx *)((SWKey *)(*book)));
+
+ while (readline(infile, linebuffer)) {
+ if (!strncmp(linebuffer, "$$$", 3)) {
+ if (strlen(keybuffer) && strlen(entbuffer)) {
+ std::cout << keybuffer << std::endl;
+ treeKey->root();
+ setkey(treeKey, keybuffer);
+ book->setEntry(entbuffer, strlen(entbuffer));
+ }
+ linebuffer[strlen(linebuffer) - 1] = 0;
+ strcpy (keybuffer, linebuffer + 3);
+ *entbuffer = 0;
+ }
+ else {
+ strcat (entbuffer, linebuffer);
+ }
+ }
+
+ //handle final entry
+ if (strlen(keybuffer) && strlen(entbuffer)) {
+ std::cout << keybuffer << std::endl;
+ treeKey->root();
+ setkey(treeKey, keybuffer);
+ book->setEntry(entbuffer, strlen(entbuffer));
+ }
+
+ //DEBUG printTree(root, treeKey);
+
+ delete book;
+ delete [] keybuffer;
+ delete [] linebuffer;
+ delete [] entbuffer;
+
+ return 0;
+}
+
+
+
diff --git a/utilities/imp2ld.cpp b/utilities/imp2ld.cpp
index a28c95f..ff265a7 100644
--- a/utilities/imp2ld.cpp
+++ b/utilities/imp2ld.cpp
@@ -1,155 +1,206 @@
-#include <ctype.h>
-#include <stdio.h>
-#include <fcntl.h>
-#include <errno.h>
-#include <stdlib.h>
-
-#ifndef __GNUC__
-#include <io.h>
-#else
-#include <unistd.h>
-#endif
-
-#include <iostream.h>
-#include <string>
-#include <rawld.h>
-#include <rawld4.h>
-#include <zld.h>
-#include <zipcomprs.h>
-
-#ifndef O_BINARY
-#define O_BINARY 0
-#endif
-
-int readline(FILE* infile, char* linebuffer) {
- signed char c;
- char* lbPtr = linebuffer;
- while ((c = fgetc(infile)) != EOF) {
- *lbPtr++ = c;
- if (c == 10) {
- *lbPtr = 0;
- return (strlen(linebuffer));
- }
- }
- return 0;
-}
-
-int main(int argc, char **argv) {
-
- const char * helptext ="imp2ld 1.0 Lexicon/Dictionary/Daily Devotional/Glossary module creation tool for the SWORD Project\n usage:\n %s <filename> [modname] [ 4 (default) | 2 | z - module driver]\n";
-
- signed long i = 0;
- char* keybuffer = new char[2048];
- char* entbuffer = new char[1048576];
- char* linebuffer = new char[1048576];
- char modname[16];
-
- if (argc > 2) {
- strcpy (modname, argv[2]);
- }
- else if (argc > 1) {
- for (i = 0; (i < 16) && (argv[1][i]) && (argv[1][i] != '.'); i++) {
- modname[i] = argv[1][i];
- }
- modname[i] = 0;
- }
- else {
- fprintf(stderr, helptext, argv[0]);
- exit(-1);
- }
-
- FILE *infile;
- infile = fopen(argv[1], "r");
-
- char mode = 1;
- if (argc > 3) {
- switch (*argv[3]) {
- case 'z':
- mode = 3;
- break;
- case '2':
- mode = 2;
- break;
- default:
- mode = 1;
- }
- }
-
- zLD* modZ;
- RawLD* mod2;
- RawLD4* mod4;
- SWKey* key;
-
- if (mode == 3) {
- zLD::createModule(modname);
- modZ = new zLD(modname, 0, 0, 30, new ZipCompress());
- key = modZ->CreateKey();
- }
- else if (mode == 2) {
- RawLD::createModule(modname);
- mod2 = new RawLD(modname);
- key = mod2->CreateKey();
- }
- else if (mode == 1) {
- RawLD4::createModule(modname);
- mod4 = new RawLD4(modname);
- key = mod4->CreateKey();
- }
-
- key->Persist(1);
-
- while (readline(infile, linebuffer)) {
- if (!strncmp(linebuffer, "$$$", 3)) {
- if (strlen(keybuffer) && strlen(entbuffer)) {
- cout << keybuffer << endl;
- *key = keybuffer;
-
- if (mode == 3) {
- modZ->SetKey(*key);
- modZ->setentry(entbuffer, strlen(entbuffer));
- }
- else if (mode == 2) {
- mod2->SetKey(*key);
- mod2->setentry(entbuffer, strlen(entbuffer));
- }
- else if (mode == 1) {
- mod4->SetKey(*key);
- mod4->setentry(entbuffer, strlen(entbuffer));
- }
- }
- linebuffer[strlen(linebuffer) - 1] = 0;
- strcpy (keybuffer, linebuffer + 3);
- *entbuffer = 0;
- }
- else {
- strcat (entbuffer, linebuffer);
- }
- }
-
- //handle final entry
- if (strlen(keybuffer) && strlen(entbuffer)) {
- cout << keybuffer << endl;
- *key = keybuffer;
-
- if (mode == 3) {
- modZ->SetKey(*key);
- modZ->setentry(entbuffer, strlen(entbuffer));
- }
- else if (mode == 2) {
- mod2->SetKey(*key);
- mod2->setentry(entbuffer, strlen(entbuffer));
- }
- else if (mode == 1) {
- mod4->SetKey(*key);
- mod4->setentry(entbuffer, strlen(entbuffer));
- }
- }
-
- //DEBUG printTree(root, treeKey);
-
- delete keybuffer;
- delete entbuffer;
- delete linebuffer;
-
- return 0;
-}
+#include <ctype.h>
+#include <stdio.h>
+#include <fcntl.h>
+#include <errno.h>
+#include <stdlib.h>
+
+#ifndef __GNUC__
+#include <io.h>
+#else
+#include <unistd.h>
+#endif
+
+#include <iostream>
+#include <string>
+#include <rawld.h>
+#include <rawld4.h>
+#include <zld.h>
+#include <zipcomprs.h>
+
+#ifndef O_BINARY
+#define O_BINARY 0
+#endif
+
+#ifndef NO_SWORD_NAMESPACE
+using sword::zLD;
+using sword::ZipCompress;
+using sword::RawLD4;
+using sword::RawLD;
+using sword::SWKey;
+#endif
+
+int readline(FILE* infile, char* linebuffer) {
+ signed char c;
+ char* lbPtr = linebuffer;
+ while ((c = fgetc(infile)) != EOF) {
+ *lbPtr++ = c;
+ if (c == 10) {
+ *lbPtr = 0;
+ return (strlen(linebuffer));
+ }
+ }
+ return 0;
+}
+
+int main(int argc, char **argv) {
+
+ const char * helptext ="imp2ld 1.0 Lexicon/Dictionary/Daily Devotional/Glossary module creation tool for the SWORD Project\n usage:\n %s <filename> [modname] [ 4 (default) | 2 | z - module driver]\n";
+
+ signed long i = 0;
+ char* keybuffer = new char[2048];
+ char* entbuffer = new char[1048576];
+ char* linebuffer = new char[1048576];
+ char modname[16];
+ char links = 0;
+ char* linkbuffer[32];
+ while (i < 32) {
+ linkbuffer[i] = new char[256];
+ i++;
+ }
+ if (argc > 2) {
+ strcpy (modname, argv[2]);
+ }
+ else if (argc > 1) {
+ for (i = 0; (i < 16) && (argv[1][i]) && (argv[1][i] != '.'); i++) {
+ modname[i] = argv[1][i];
+ }
+ modname[i] = 0;
+ }
+ else {
+ fprintf(stderr, helptext, argv[0]);
+ exit(-1);
+ }
+
+ FILE *infile;
+ infile = fopen(argv[1], "r");
+
+ char mode = 1;
+ if (argc > 3) {
+ switch (*argv[3]) {
+ case 'z':
+ mode = 3;
+ break;
+ case '2':
+ mode = 2;
+ break;
+ default:
+ mode = 1;
+ }
+ }
+
+ zLD* modZ;
+ RawLD* mod2;
+ RawLD4* mod4;
+ SWKey* key;
+
+ if (mode == 3) {
+ zLD::createModule(modname);
+ modZ = new zLD(modname, 0, 0, 30, new ZipCompress());
+ key = modZ->CreateKey();
+ }
+ else if (mode == 2) {
+ RawLD::createModule(modname);
+ mod2 = new RawLD(modname);
+ key = mod2->CreateKey();
+ }
+ else if (mode == 1) {
+ RawLD4::createModule(modname);
+ mod4 = new RawLD4(modname);
+ key = mod4->CreateKey();
+ }
+
+ key->Persist(1);
+
+ while (readline(infile, linebuffer)) {
+ if (!strncmp(linebuffer, "$$$", 3)) {
+ if (strlen(keybuffer) && strlen(entbuffer)) {
+ std::cout << keybuffer << std::endl;
+ *key = keybuffer;
+
+ if (mode == 3) {
+ modZ->setKey(*key);
+ modZ->setEntry(entbuffer, strlen(entbuffer));
+ for (i = 0; i < links; i++) {
+ SWKey tmpkey = linkbuffer[i];
+ modZ->linkEntry(&tmpkey);
+ std::cout << "Linking: " << linkbuffer[i] << std::endl;
+ }
+ }
+ else if (mode == 2) {
+ mod2->setKey(*key);
+ mod2->setEntry(entbuffer, strlen(entbuffer));
+ for (i = 0; i < links; i++) {
+ SWKey tmpkey = linkbuffer[i];
+ mod2->linkEntry(&tmpkey);
+ std::cout << "Linking: " << linkbuffer[i] << std::endl;
+ }
+ }
+ else if (mode == 1) {
+ mod4->setKey(*key);
+ mod4->setEntry(entbuffer, strlen(entbuffer));
+ for (i = 0; i < links; i++) {
+ SWKey tmpkey = linkbuffer[i];
+ mod4->linkEntry(&tmpkey);
+ std::cout << "Linking: " << linkbuffer[i] << std::endl;
+ }
+ }
+ }
+ linebuffer[strlen(linebuffer) - 1] = 0;
+ strcpy (keybuffer, linebuffer + 3);
+ *entbuffer = 0;
+ links = 0;
+ }
+ else if (!strncmp(linebuffer, "%%%", 3)) {
+ strcpy (linkbuffer[links], linebuffer + 3);
+ linkbuffer[links][strlen(linkbuffer[links]) - 1] = 0;
+ links++;
+ }
+ else {
+ strcat (entbuffer, linebuffer);
+ }
+ }
+
+ //handle final entry
+ if (strlen(keybuffer) && strlen(entbuffer)) {
+ std::cout << keybuffer << std::endl;
+ *key = keybuffer;
+
+ if (mode == 3) {
+ modZ->setKey(*key);
+ modZ->setEntry(entbuffer, strlen(entbuffer));
+ for (i = 0; i < links; i++) {
+ SWKey tmpkey = linkbuffer[i];
+ modZ->linkEntry(&tmpkey);
+ std::cout << "Linking: " << linkbuffer[i] << std::endl;
+ }
+ }
+ else if (mode == 2) {
+ mod2->setKey(*key);
+ mod2->setEntry(entbuffer, strlen(entbuffer));
+ for (i = 0; i < links; i++) {
+ SWKey tmpkey = linkbuffer[i];
+ mod2->linkEntry(&tmpkey);
+ std::cout << "Linking: " << linkbuffer[i] << std::endl;
+ }
+
+ }
+ else if (mode == 1) {
+ mod4->setKey(*key);
+ mod4->setEntry(entbuffer, strlen(entbuffer));
+ for (i = 0; i < links; i++) {
+ SWKey tmpkey = linkbuffer[i];
+ mod4->linkEntry(&tmpkey);
+ std::cout << "Linking: " << linkbuffer[i] << std::endl;
+ }
+
+ }
+ }
+
+ //DEBUG printTree(root, treeKey);
+
+ delete keybuffer;
+ delete entbuffer;
+ delete linebuffer;
+
+ return 0;
+}
diff --git a/utilities/imp2vs.cpp b/utilities/imp2vs.cpp
index 5de22a2..c4365d2 100644
--- a/utilities/imp2vs.cpp
+++ b/utilities/imp2vs.cpp
@@ -1,198 +1,168 @@
-#include <ctype.h>
-#include <stdio.h>
-#include <fcntl.h>
-#include <errno.h>
-#include <stdlib.h>
-
-#ifndef __GNUC__
-#include <io.h>
-#else
-#include <unistd.h>
-#endif
-
-#include <iostream.h>
-#include <string>
-#include <rawtext.h>
-
-#ifndef O_BINARY
-#define O_BINARY 0
-#endif
-
-int readline(FILE* infile, char* linebuffer) {
- signed char c;
- char* lbPtr = linebuffer;
- while ((c = fgetc(infile)) != EOF) {
- *lbPtr++ = c;
- if (c == 10) {
- *lbPtr = 0;
- return (strlen(linebuffer));
- }
- }
- return 0;
-}
-
-int main(int argc, char **argv) {
-
- const char * helptext ="imp2vs 1.0 Bible/Commentary module creation tool for the SWORD Project\n usage:\n %s <filename> [output dir] \n";
-
- signed long i = 0;
- char* keybuffer = new char[2048];
- char* entbuffer = new char[1048576];
- char* linebuffer = new char[1048576];
- char modname[16];
-
- if (argc > 2) {
- strcpy (modname, argv[2]);
- }
- else if (argc > 1) {
- strcpy (modname, "./");
- }
- else {
- fprintf(stderr, helptext, argv[0]);
- exit(-1);
- }
-
- FILE *infile;
- infile = fopen(argv[1], "r");
-
- SWText* mod;
- RawText::createModule(modname);
- RawText modRaw(modname);
- mod = &modRaw;
-
- VerseKey* vkey = new VerseKey;
- vkey->Headings(1);
- vkey->AutoNormalize(0);
- vkey->Persist(1);
-
- while (readline(infile, linebuffer)) {
- if (!strncmp(linebuffer, "$$$", 3)) {
- if (strlen(keybuffer) && strlen(entbuffer)) {
- cout << keybuffer << endl;
- *vkey = keybuffer;
- mod->SetKey(*vkey);
- if (!vkey->Chapter()) {
- // bad hack: 0:0 is Book intro; (chapter):0 is Chapter intro; 0:2 is Module intro; 0:1 is Testament intro
- int backstep = vkey->Verse();
- vkey->Verse(0);
- *mod -= backstep;
-
- mod->setentry(entbuffer, strlen(entbuffer));
- }
- else {
- ListKey listkey = vkey->ParseVerseList(keybuffer, "Gen1:1", true);
- int i;
- bool havefirst = false;
- VerseKey firstverse;
- for (i = 0; i < listkey.Count(); i++) {
- VerseKey *element = SWDYNAMIC_CAST(VerseKey, listkey.GetElement(i));
- if (element) {
- mod->Key(element->LowerBound());
- VerseKey finalkey = element->UpperBound();
- cout << (const char*)mod->Key() << "-" << (const char*)finalkey << endl;
- if (!havefirst) {
- havefirst = true;
- firstverse = mod->Key();
-
- ((SWModule*)mod)->setentry(entbuffer, strlen(entbuffer));
- cout << "f" << (const char*)firstverse << endl;
- (mod->Key())++;
- }
- while (mod->Key() <= finalkey) {
- cout << (const char*)mod->Key() << endl;
- *(SWModule*)mod << &firstverse;
- (mod->Key())++;
- }
- }
- else {
- if (havefirst) {
- mod->Key(*listkey.GetElement(i));
- *(SWModule*)mod << &firstverse;
- cout << (const char*)mod->Key() << endl;
- }
- else {
- mod->Key(*listkey.GetElement(i));
- havefirst = true;
- firstverse = mod->Key();
-
- ((SWModule*)mod)->setentry(entbuffer, strlen(entbuffer));
- cout << "f" << (const char*)firstverse << endl;
- }
- }
- }
- }
- }
- linebuffer[strlen(linebuffer) - 1] = 0;
- strcpy (keybuffer, linebuffer + 3);
- *entbuffer = 0;
- }
- else {
- strcat (entbuffer, linebuffer);
- }
- }
-
- //handle final entry
- if (strlen(keybuffer) && strlen(entbuffer)) {
- cout << keybuffer << endl;
- *vkey = keybuffer;
- mod->SetKey(*vkey);
- if (!vkey->Chapter()) {
- // bad hack: 0:0 is Book intro; (chapter):0 is Chapter intro; 0:2 is Module intro; 0:1 is Testament intro
- int backstep = vkey->Verse();
- vkey->Verse(0);
- *mod -= backstep;
-
- mod->setentry(entbuffer, strlen(entbuffer));
- }
- else {
- ListKey listkey = vkey->ParseVerseList(keybuffer, "Gen1:1", true);
- int i;
- bool havefirst = false;
- VerseKey firstverse;
- for (i = 0; i < listkey.Count(); i++) {
- VerseKey *element = SWDYNAMIC_CAST(VerseKey, listkey.GetElement(i));
- if (element) {
- mod->Key(element->LowerBound());
- VerseKey finalkey = element->UpperBound();
- cout << (const char*)mod->Key() << "-" << (const char*)finalkey << endl;
- if (!havefirst) {
- havefirst = true;
- firstverse = mod->Key();
-
- ((SWModule*)mod)->setentry(entbuffer, strlen(entbuffer));
- cout << "f" << (const char*)firstverse << endl;
- (mod->Key())++;
- }
- while (mod->Key() <= finalkey) {
- cout << (const char*)mod->Key() << endl;
- *(SWModule*)mod << &firstverse;
- (mod->Key())++;
- }
- }
- else {
- if (havefirst) {
- mod->Key(*listkey.GetElement(i));
- *(SWModule*)mod << &firstverse;
- cout << (const char*)mod->Key() << endl;
- }
- else {
- mod->Key(*listkey.GetElement(i));
- havefirst = true;
- firstverse = mod->Key();
-
- ((SWModule*)mod)->setentry(entbuffer, strlen(entbuffer));
- cout << "f" << (const char*)firstverse << endl;
- }
- }
- }
- }
- }
-
- //DEBUG printTree(root, treeKey);
-
- delete entbuffer;
- delete linebuffer;
- delete keybuffer;
-
- return 0;
-}
+#include <ctype.h>
+#include <stdio.h>
+#include <fcntl.h>
+#include <errno.h>
+#include <stdlib.h>
+
+#ifndef __GNUC__
+#include <io.h>
+#else
+#include <unistd.h>
+#endif
+
+#include <iostream>
+#include <string>
+#include <rawtext.h>
+
+#ifndef O_BINARY
+#define O_BINARY 0
+#endif
+
+#ifndef NO_SWORD_NAMESPACE
+using sword::RawText;
+using sword::VerseKey;
+using sword::SWText;
+using sword::ListKey;
+#endif
+
+int readline(FILE* infile, char* linebuffer) {
+ signed char c;
+ char* lbPtr = linebuffer;
+ while ((c = fgetc(infile)) != EOF) {
+ *lbPtr++ = c;
+ if (c == 10) {
+ *lbPtr = 0;
+ return (strlen(linebuffer));
+ }
+ }
+ return 0;
+}
+
+int main(int argc, char **argv) {
+
+ const char * helptext ="imp2vs 1.0 Bible/Commentary module creation tool for the SWORD Project\n usage:\n %s <filename> [output dir] \n";
+
+ signed long i = 0;
+ char* keybuffer = new char[2048];
+ char* entbuffer = new char[1048576];
+ char* linebuffer = new char[1048576];
+ char modname[16];
+
+ if (argc > 2) {
+ strcpy (modname, argv[2]);
+ }
+ else if (argc > 1) {
+ strcpy (modname, "./");
+ }
+ else {
+ fprintf(stderr, helptext, argv[0]);
+ exit(-1);
+ }
+
+ FILE *infile;
+ infile = fopen(argv[1], "r");
+
+ SWText* mod;
+ RawText::createModule(modname);
+ RawText modRaw(modname);
+ mod = &modRaw;
+
+ VerseKey* vkey = new VerseKey;
+ vkey->Headings(1);
+ vkey->AutoNormalize(0);
+ vkey->Persist(1);
+ mod->setKey(*vkey);
+ char final; // 2 == pre-final line; 1 == final line; 0 == EOF
+
+ final = ((bool)(readline(infile, linebuffer)) + 1);
+
+ while (final) {
+ if (!strncmp(linebuffer, "$$$", 3) || final == 1) {
+ if (strlen(keybuffer) && strlen(entbuffer)) {
+ std::cout << "from file: " << keybuffer << std::endl;
+ *vkey = keybuffer;
+ if (!vkey->Chapter()) {
+ // bad hack: 0:0 is Book intro; (chapter):0 is Chapter intro; 0:2 is Module intro; 0:1 is Testament intro
+ int backstep = vkey->Verse();
+ if (backstep) {
+ vkey->Verse(1);
+ vkey->Chapter(1);
+ switch (backstep) {
+ case 2:
+ vkey->Book(1);
+ vkey->Testament(0);
+ case 1:
+ vkey->Book(0);
+ vkey->Chapter(0);
+ }
+ vkey->Verse(0);
+ }
+
+ std::cout << "adding entry: " << *vkey << std::endl;
+ mod->setEntry(entbuffer, strlen(entbuffer));
+ }
+ else {
+ ListKey listkey = vkey->ParseVerseList(keybuffer, "Gen1:1", true);
+ int i;
+ bool havefirst = false;
+ VerseKey firstverse;
+ firstverse.Headings(1);
+ firstverse.AutoNormalize(0);
+ for (i = 0; i < listkey.Count(); i++) {
+ VerseKey *element = SWDYNAMIC_CAST(VerseKey, listkey.GetElement(i));
+ if (element) {
+ *vkey = element->LowerBound();
+ VerseKey finalkey = element->UpperBound();
+ finalkey.Headings(1);
+ finalkey.AutoNormalize(0);
+ if (!havefirst) {
+ havefirst = true;
+ firstverse = *vkey;
+
+ std::cout << "adding entry: " << *vkey << std::endl;
+ mod->setEntry(entbuffer, strlen(entbuffer));
+ (*vkey)++;
+ }
+ while (! (finalkey < (*vkey))) {
+ std::cout << "linking entry: " << *vkey << " to " << firstverse << std::endl;
+ *mod << &firstverse;
+ (*vkey)++;
+ }
+ }
+ else {
+ if (havefirst) {
+ *vkey = (*listkey.GetElement(i));
+ std::cout << "linking entry: " << *vkey << " to " << firstverse << std::endl;
+ *mod << &firstverse;
+ }
+ else {
+ *vkey = (*listkey.GetElement(i));
+ havefirst = true;
+ firstverse = *vkey;
+
+ std::cout << "adding entry: " << *vkey << std::endl;
+ mod->setEntry(entbuffer, strlen(entbuffer));
+ }
+ }
+ }
+ }
+ }
+ linebuffer[strlen(linebuffer) - 1] = 0;
+ strcpy (keybuffer, linebuffer + 3);
+ *entbuffer = 0;
+ }
+ else {
+ strcat (entbuffer, linebuffer);
+ }
+ final--;
+ if (final) {
+ final = ((bool)(readline(infile, linebuffer)) + 1);
+ }
+ }
+
+ delete entbuffer;
+ delete linebuffer;
+ delete keybuffer;
+
+ return 0;
+}
diff --git a/utilities/installmgr.cpp b/utilities/installmgr.cpp
new file mode 100644
index 0000000..ac11c60
--- /dev/null
+++ b/utilities/installmgr.cpp
@@ -0,0 +1,248 @@
+#include <swmgr.h>
+#include <installmgr.h>
+#include <filemgr.h>
+#include <iostream>
+#include <string>
+
+using namespace sword;
+using std::cout;
+using std::cin;
+using std::string;
+
+
+SWMgr *mgr;
+InstallMgr *installMgr;
+
+
+void finish(int status) {
+ delete installMgr;
+ delete mgr;
+ cout << "\n";
+ exit(status);
+}
+
+
+void usage(const char *progName) {
+ fprintf(stderr, "usage: %s <option>\nOptions:\n"
+ "\t-init\t\t\t\tcreate a basic user config file.\n"
+ "\t\t\t\t\t\tWARNING: overwrites existing.\n"
+ "\t-l\t\t\t\tlist installed modules\n"
+ "\t-u <modName>\t\t\tuninstall module\n"
+ "\t-s\t\t\t\tlist remote sources\n"
+ "\t-r <remoteSrcName>\t\trefresh remote source\n"
+ "\t-rl <remoteSrcName>\t\tlist available modules from remote source\n"
+ "\t-ri <remoteSrcName> <modName>\tinstall module from remote source\n"
+ "\t-ll <path>\t\t\tlist available modules at local path\n"
+ "\t-li <path> <modName>\t\tinstall module from local path\n"
+ , progName);
+ finish(-1);
+}
+
+
+void initConfig() {
+ cout << "\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n";
+ cout << " -=+* WARNING *+=- -=+* WARNING *+=-\n\n\n";
+ cout << "Although Install Manager provides a convenient way for installing\n";
+ cout << "and upgrading SWORD components, it also uses a systematic method\n";
+ cout << "for accessing sites which gives packet sniffers a target to lock\n";
+ cout << "into for singling out users. \n\n\n";
+ cout << "IF YOU LIVE IN A PERSECUTED COUNTRY AND DO NOT WISH TO RISK DETECTION,\n";
+ cout << "YOU SHOULD *NOT* USE INSTALL MANAGER'S REMOTE SOURCE FEATURES.\n\n\n";
+ cout << "if you understand this and are willing to enable remote source features\n";
+ cout << "then type yes at the prompt\n\n";
+ cout << "enable? [no] ";
+ char prompt[10];
+ fgets(prompt, 9, stdin);
+ bool enable = (!strcmp(prompt, "yes\n"));
+ char *envhomedir = getenv ("HOME");
+ SWBuf confPath = (envhomedir) ? envhomedir : ".";
+ confPath += "/.sword/InstallMgr/InstallMgr.conf";
+ FileMgr::createParent(confPath.c_str());
+ remove(confPath.c_str());
+
+ InstallSource is("FTP");
+ is.caption = "crosswire";
+ is.source = "ftp.crosswire.org";
+ is.directory = "/pub/sword/raw";
+
+ SWConfig config(confPath.c_str());
+ config["General"]["PassiveFTF"] = "true";
+ if (enable) {
+ config["Sources"]["FTPSource"] = is.getConfEnt();
+ }
+ config.Save();
+ cout << "\n\nInitialized basic config file at [" << confPath << "]\n";
+ cout << "with remote source features " << ((enable) ? "ENABLED" : "DISABLED") << "\n";
+}
+
+
+void listModules(SWMgr *mgr) {
+ cout << "Installed Modules:\n\n";
+ SWModule *module;
+ for (ModMap::iterator it = mgr->Modules.begin(); it != mgr->Modules.end(); it++) {
+ module = it->second;
+ cout << "[" << module->Name() << "] \t- " << module->Description() << "\n";
+ }
+}
+
+
+void uninstallModule(const char *modName) {
+ SWModule *module;
+ ModMap::iterator it = mgr->Modules.find(modName);
+ if (it == mgr->Modules.end()) {
+ fprintf(stderr, "Couldn't find module [%s] to remove\n", modName);
+ finish(-2);
+ }
+ module = it->second;
+ installMgr->removeModule(mgr, module->Name());
+ cout << "Removed module: [" << module->Name() << "]\n";
+}
+
+
+void listRemoteSources() {
+ cout << "Remote Sources:\n\n";
+ for (InstallSourceMap::iterator it = installMgr->sources.begin(); it != installMgr->sources.end(); it++) {
+ cout << "[" << it->second->caption << "]\n";
+ cout << "\tType ; " << it->second->type << "\n";
+ cout << "\tSource ; " << it->second->source << "\n";
+ cout << "\tDirectory; " << it->second->directory << "\n";
+ }
+}
+
+
+void refreshRemoteSource(const char *sourceName) {
+ InstallSourceMap::iterator source = installMgr->sources.find(sourceName);
+ if (source == installMgr->sources.end()) {
+ fprintf(stderr, "Couldn't find remote source [%s]\n", sourceName);
+ finish(-3);
+ }
+ installMgr->refreshRemoteSource(source->second);
+ cout << "Remote Source Refreshed\n";
+}
+
+
+void remoteListModules(const char *sourceName) {
+ cout << "Available Modules:\n(be sure to refresh remote source (-r) first for most current list)\n\n";
+ InstallSourceMap::iterator source = installMgr->sources.find(sourceName);
+ if (source == installMgr->sources.end()) {
+ fprintf(stderr, "Couldn't find remote source [%s]\n", sourceName);
+ finish(-3);
+ }
+ listModules(source->second->getMgr());
+}
+
+
+void localDirListModules(const char *dir) {
+ cout << "Available Modules:\n\n";
+ SWMgr mgr(dir);
+ listModules(&mgr);
+}
+
+
+void remoteInstallModule(const char *sourceName, const char *modName) {
+ InstallSourceMap::iterator source = installMgr->sources.find(sourceName);
+ if (source == installMgr->sources.end()) {
+ fprintf(stderr, "Couldn't find remote source [%s]\n", sourceName);
+ finish(-3);
+ }
+ InstallSource *is = source->second;
+ SWMgr *rmgr = is->getMgr();
+ SWModule *module;
+ ModMap::iterator it = rmgr->Modules.find(modName);
+ if (it == rmgr->Modules.end()) {
+ fprintf(stderr, "Remote source [%s] does not make available module [%s]\n", sourceName, modName);
+ finish(-4);
+ }
+ module = it->second;
+ installMgr->installModule(mgr, 0, module->Name(), is);
+ cout << "Installed module: [" << module->Name() << "]\n";
+}
+
+
+void localDirInstallModule(const char *dir, const char *modName) {
+ SWMgr lmgr(dir);
+ SWModule *module;
+ ModMap::iterator it = lmgr.Modules.find(modName);
+ if (it == lmgr.Modules.end()) {
+ fprintf(stderr, "Module [%s] not available at path [%s]\n", modName, dir);
+ finish(-4);
+ }
+ module = it->second;
+ installMgr->installModule(mgr, dir, module->Name());
+ cout << "Installed module: [" << module->Name() << "]\n";
+}
+
+
+int main(int argc, char **argv) {
+
+ mgr = new SWMgr();
+ char *envhomedir = getenv ("HOME");
+ SWBuf baseDir = (envhomedir) ? envhomedir : ".";
+ baseDir += "/.sword/InstallMgr";
+ installMgr = new InstallMgr(baseDir);
+
+ cout << "\n";
+
+ if (argc < 2)
+ usage(*argv);
+
+ switch (argv[1][1]) {
+ case 'i':
+ if (strcmp(argv[1], "-init"))
+ usage(*argv);
+ initConfig();
+ break;
+ case 'l':
+ switch (argv[1][2]) {
+ case 0: // -l list installed modules
+ listModules(mgr);
+ break;
+ case 'l': // -ll list from local directory
+ if (argc < 3)
+ usage(*argv);
+ localDirListModules(argv[2]);
+ break;
+ case 'i': // -li remote install
+ if (argc < 4)
+ usage(*argv);
+ localDirInstallModule(argv[2], argv[3]);
+ break;
+ default: usage(*argv);
+ }
+ break;
+ case 'u':
+ if (argc < 3)
+ usage(*argv);
+
+ uninstallModule(argv[2]);
+ break;
+ case 's':
+ listRemoteSources();
+ break;
+ case 'r': // remote option
+ switch (argv[1][2]) {
+ case 0: // -r refresh
+ if (argc < 3)
+ usage(*argv);
+ refreshRemoteSource(argv[2]);
+ break;
+ case 'l': // -rl remote list
+ if (argc < 3)
+ usage(*argv);
+ remoteListModules(argv[2]);
+ break;
+ case 'i': // -ri remote install
+ if (argc < 4)
+ usage(*argv);
+ remoteInstallModule(argv[2], argv[3]);
+ break;
+ default: usage(*argv);
+ }
+ break;
+ default: usage(*argv);
+ }
+
+ finish(0);
+
+ return 0;
+}
diff --git a/utilities/kylixmake/libsword.bpf b/utilities/kylixmake/libsword.bpf
new file mode 100644
index 0000000..f881306
--- /dev/null
+++ b/utilities/kylixmake/libsword.bpf
@@ -0,0 +1,8 @@
+//---------------------------------------------------------------------------
+
+
+#define Library
+
+// To add a file to the library use the Project menu 'Add to Project'.
+
+ \ No newline at end of file
diff --git a/utilities/kylixmake/libsword.bpr b/utilities/kylixmake/libsword.bpr
new file mode 100644
index 0000000..631efbb
--- /dev/null
+++ b/utilities/kylixmake/libsword.bpr
@@ -0,0 +1,240 @@
+<?xml version='1.0' encoding='utf-8' ?>
+<!-- C++Builder XML Project -->
+<PROJECT>
+ <MACROS>
+ <VERSION value="BCB.06.10"/>
+ <PROJECT value="libsword.a"/>
+ <OBJFILES value="../../src/utilfuns/Greek2Greek.o ../../src/utilfuns/swunicod.o
+ ../../src/utilfuns/swversion.o ../../src/utilfuns/utilconf.o
+ ../../src/utilfuns/utilstr.o ../../src/keys/listkey.o
+ ../../src/keys/strkey.o ../../src/keys/swkey.o ../../src/keys/treekey.o
+ ../../src/keys/treekeyidx.o ../../src/keys/versekey.o
+ ../../src/mgr/encfiltmgr.o ../../src/mgr/filemgr.o
+ ../../src/mgr/localemgr.o ../../src/mgr/markupfiltmgr.o
+ ../../src/mgr/swcacher.o ../../src/mgr/swconfig.o
+ ../../src/mgr/swfiltermgr.o ../../src/mgr/swlocale.o ../../src/mgr/swmgr.o
+ ../../src/frontend/swdisp.o ../../src/frontend/swlog.o
+ ../../src/modules/swmodule.o ../../src/modules/comments/swcom.o
+ ../../src/modules/comments/hrefcom/hrefcom.o
+ ../../src/modules/comments/rawcom/rawcom.o
+ ../../src/modules/comments/rawfiles/rawfiles.o
+ ../../src/modules/comments/zcom/zcom.o
+ ../../src/modules/common/entriesblk.o
+ ../../src/modules/common/lzsscomprs.o ../../src/modules/common/rawstr4.o
+ ../../src/modules/common/rawstr.o ../../src/modules/common/rawverse.o
+ ../../src/modules/common/sapphire.o ../../src/modules/common/swcipher.o
+ ../../src/modules/common/swcomprs.o ../../src/modules/common/zipcomprs.o
+ ../../src/modules/common/zstr.o ../../src/modules/common/zverse.o
+ ../../src/modules/filters/cipherfil.o
+ ../../src/modules/filters/gbffootnotes.o
+ ../../src/modules/filters/gbfheadings.o
+ ../../src/modules/filters/gbfhtml.o
+ ../../src/modules/filters/gbfhtmlhref.o
+ ../../src/modules/filters/gbfmorph.o ../../src/modules/filters/gbfosis.o
+ ../../src/modules/filters/gbfplain.o ../../src/modules/filters/gbfrtf.o
+ ../../src/modules/filters/gbfstrongs.o ../../src/modules/filters/gbfthml.o
+ ../../src/modules/filters/greeklexattribs.o
+ ../../src/modules/filters/latin1utf16.o
+ ../../src/modules/filters/latin1utf8.o
+ ../../src/modules/filters/plainfootnotes.o
+ ../../src/modules/filters/plainhtml.o ../../src/modules/filters/rtfhtml.o
+ ../../src/modules/filters/rwphtml.o ../../src/modules/filters/rwprtf.o
+ ../../src/modules/filters/scsuutf8.o
+ ../../src/modules/filters/swbasicfilter.o
+ ../../src/modules/filters/thmlfootnotes.o
+ ../../src/modules/filters/thmlgbf.o
+ ../../src/modules/filters/thmlheadings.o
+ ../../src/modules/filters/thmlhtml.o
+ ../../src/modules/filters/thmlhtmlhref.o
+ ../../src/modules/filters/thmllemma.o
+ ../../src/modules/filters/thmlmorph.o
+ ../../src/modules/filters/thmlosis.o ../../src/modules/filters/thmlplain.o
+ ../../src/modules/filters/thmlrtf.o
+ ../../src/modules/filters/thmlscripref.o
+ ../../src/modules/filters/thmlstrongs.o
+ ../../src/modules/filters/thmlvariants.o
+ ../../src/modules/filters/unicodertf.o
+ ../../src/modules/filters/utf16utf8.o
+ ../../src/modules/filters/utf8arshaping.o
+ ../../src/modules/filters/utf8bidireorder.o
+ ../../src/modules/filters/utf8cantillation.o
+ ../../src/modules/filters/utf8greekaccents.o
+ ../../src/modules/filters/utf8hebrewpoints.o
+ ../../src/modules/filters/utf8html.o
+ ../../src/modules/filters/utf8latin1.o ../../src/modules/filters/utf8nfc.o
+ ../../src/modules/filters/utf8nfkd.o
+ ../../src/modules/filters/utf8transliterator.o
+ ../../src/modules/filters/utf8utf16.o
+ ../../src/modules/genbook/swgenbook.o
+ ../../src/modules/genbook/rawgenbook/rawgenbook.o
+ ../../src/modules/lexdict/swld.o ../../src/modules/lexdict/rawld/rawld.o
+ ../../src/modules/lexdict/rawld4/rawld4.o
+ ../../src/modules/lexdict/zld/zld.o ../../src/modules/texts/swtext.o
+ ../../src/modules/texts/rawgbf/rawgbf.o
+ ../../src/modules/texts/rawtext/rawtext.o
+ ../../src/modules/texts/ztext/ztext.o ../../src/utilfuns/roman.o"/>
+ <RESFILES value=""/>
+ <DEFFILE value=""/>
+ <RESDEPEN value="$(RESFILES)"/>
+ <LIBFILES value=""/>
+ <LIBRARIES value=""/>
+ <PACKAGES value="rtl.bpi visualclx.bpi dataclx.bpi visualdbclx.bpi netclx.bpi
+ netdataclx.bpi xmlrtl.bpi indy.bpi webdsnapclx.bpi websnapclx.bpi
+ soaprtl.bpi"/>
+ <PATHCPP value=".;../../src/utilfuns:../../src/keys:../../src/mgr:../../src/frontend:../../src/modules:../../src/modules/comments:../../src/modules/comments/hrefcom:../../src/modules/comments/rawcom:../../src/modules/comments/rawfiles:../../src/modules/comments/zcom:../../src/modules/common:../../src/modules/filters:../../src/modules/genbook:../../src/modules/genbook/rawgenbook:../../src/modules/lexdict:../../src/modules/lexdict/rawld:../../src/modules/lexdict/rawld4:../../src/modules/lexdict/zld:../../src/modules/texts:../../src/modules/texts/rawgbf:../../src/modules/texts/rawtext:../../src/modules/texts/ztext"/>
+ <PATHPAS value=".;"/>
+ <PATHRC value=".;"/>
+ <PATHASM value=".;"/>
+ <LINKER value="ar"/>
+ <USERDEFINES value="_DEBUG"/>
+ <SYSDEFINES value=""/>
+ <MAINSOURCE value="libsword.bpf"/>
+ <INCLUDEPATH value="../../src/modules/texts/ztext:../../src/modules/texts/rawtext:../../src/modules/texts/rawgbf:../../src/modules/texts:../../src/modules/lexdict/zld:../../src/modules/lexdict/rawld4:../../src/modules/lexdict/rawld:../../src/modules/lexdict:../../src/modules/genbook/rawgenbook:../../src/modules/genbook:../../src/modules/filters:../../src/modules/common:../../src/modules/comments/zcom:../../src/modules/comments/rawfiles:../../src/modules/comments/rawcom:../../src/modules/comments/hrefcom:../../src/modules/comments:../../src/modules:../../src/frontend:../../src/mgr:../../src/keys:../../src/utilfuns:../../include:$(BCB)/include/stlport:$(BCB)/include:$(BCB)/include/vcl:/usr/include"/>
+ <LIBPATH value="../../src/modules/texts/ztext:../../src/modules/texts/rawtext:../../src/modules/texts/rawgbf:../../src/modules/texts:../../src/modules/lexdict/zld:../../src/modules/lexdict/rawld4:../../src/modules/lexdict/rawld:../../src/modules/lexdict:../../src/modules/genbook/rawgenbook:../../src/modules/genbook:../../src/modules/filters:../../src/modules/common:../../src/modules/comments/zcom:../../src/modules/comments/rawfiles:../../src/modules/comments/rawcom:../../src/modules/comments/hrefcom:../../src/modules/comments:../../src/modules:../../src/frontend:../../src/mgr:../../src/keys:../../src/utilfuns:$(BCB)/lib/obj:$(BCB)/lib:/usr/lib:/lib:/usr/X11R6/lib:$(BCB)/bin"/>
+ <WARNINGS value="-w-par"/>
+ <LISTFILE value=""/>
+ <OTHERFILES value=""/>
+ </MACROS>
+ <OPTIONS>
+ <CFLAG1 value="-Od -H=$(HOME)/.borland/clx69.csm -Hc -Vx -Ve -X- -r- -a8 -b- -k -y -v
+ -vi- -c -t"/>
+ <PFLAGS value="-$YD -$W -$O- -$A8 -v -JPHNE -M"/>
+ <AFLAGS value="/mx /w2 /zd"/>
+ <LFLAGS value="-rsc"/>
+ </OPTIONS>
+ <LINKER>
+ <ALLOBJ value="$(OBJFILES)"/>
+ <ALLLIB value=""/>
+ </LINKER>
+ <FILELIST>
+ <FILE FILENAME="libsword.bpf" FORMNAME="" UNITNAME="libsword" CONTAINERID="BPF" DESIGNCLASS="" LOCALCOMMAND=""/>
+ <FILE FILENAME="../../src/utilfuns/Greek2Greek.cpp" FORMNAME="" UNITNAME="Greek2Greek.cpp" CONTAINERID="CCompiler" DESIGNCLASS="" LOCALCOMMAND=""/>
+ <FILE FILENAME="../../src/utilfuns/swunicod.cpp" FORMNAME="" UNITNAME="swunicod.cpp" CONTAINERID="CCompiler" DESIGNCLASS="" LOCALCOMMAND=""/>
+ <FILE FILENAME="../../src/utilfuns/swversion.cpp" FORMNAME="" UNITNAME="swversion.cpp" CONTAINERID="CCompiler" DESIGNCLASS="" LOCALCOMMAND=""/>
+ <FILE FILENAME="../../src/utilfuns/utilconf.cpp" FORMNAME="" UNITNAME="utilconf.cpp" CONTAINERID="CCompiler" DESIGNCLASS="" LOCALCOMMAND=""/>
+ <FILE FILENAME="../../src/utilfuns/utilstr.cpp" FORMNAME="" UNITNAME="utilstr.cpp" CONTAINERID="CCompiler" DESIGNCLASS="" LOCALCOMMAND=""/>
+ <FILE FILENAME="../../src/keys/listkey.cpp" FORMNAME="" UNITNAME="listkey.cpp" CONTAINERID="CCompiler" DESIGNCLASS="" LOCALCOMMAND=""/>
+ <FILE FILENAME="../../src/keys/strkey.cpp" FORMNAME="" UNITNAME="strkey.cpp" CONTAINERID="CCompiler" DESIGNCLASS="" LOCALCOMMAND=""/>
+ <FILE FILENAME="../../src/keys/swkey.cpp" FORMNAME="" UNITNAME="swkey.cpp" CONTAINERID="CCompiler" DESIGNCLASS="" LOCALCOMMAND=""/>
+ <FILE FILENAME="../../src/keys/treekey.cpp" FORMNAME="" UNITNAME="treekey.cpp" CONTAINERID="CCompiler" DESIGNCLASS="" LOCALCOMMAND=""/>
+ <FILE FILENAME="../../src/keys/treekeyidx.cpp" FORMNAME="" UNITNAME="treekeyidx.cpp" CONTAINERID="CCompiler" DESIGNCLASS="" LOCALCOMMAND=""/>
+ <FILE FILENAME="../../src/keys/versekey.cpp" FORMNAME="" UNITNAME="versekey.cpp" CONTAINERID="CCompiler" DESIGNCLASS="" LOCALCOMMAND=""/>
+ <FILE FILENAME="../../src/mgr/encfiltmgr.cpp" FORMNAME="" UNITNAME="encfiltmgr.cpp" CONTAINERID="CCompiler" DESIGNCLASS="" LOCALCOMMAND=""/>
+ <FILE FILENAME="../../src/mgr/filemgr.cpp" FORMNAME="" UNITNAME="filemgr.cpp" CONTAINERID="CCompiler" DESIGNCLASS="" LOCALCOMMAND=""/>
+ <FILE FILENAME="../../src/mgr/localemgr.cpp" FORMNAME="" UNITNAME="localemgr.cpp" CONTAINERID="CCompiler" DESIGNCLASS="" LOCALCOMMAND=""/>
+ <FILE FILENAME="../../src/mgr/markupfiltmgr.cpp" FORMNAME="" UNITNAME="markupfiltmgr.cpp" CONTAINERID="CCompiler" DESIGNCLASS="" LOCALCOMMAND=""/>
+ <FILE FILENAME="../../src/mgr/swcacher.cpp" FORMNAME="" UNITNAME="swcacher.cpp" CONTAINERID="CCompiler" DESIGNCLASS="" LOCALCOMMAND=""/>
+ <FILE FILENAME="../../src/mgr/swconfig.cpp" FORMNAME="" UNITNAME="swconfig.cpp" CONTAINERID="CCompiler" DESIGNCLASS="" LOCALCOMMAND=""/>
+ <FILE FILENAME="../../src/mgr/swfiltermgr.cpp" FORMNAME="" UNITNAME="swfiltermgr.cpp" CONTAINERID="CCompiler" DESIGNCLASS="" LOCALCOMMAND=""/>
+ <FILE FILENAME="../../src/mgr/swlocale.cpp" FORMNAME="" UNITNAME="swlocale.cpp" CONTAINERID="CCompiler" DESIGNCLASS="" LOCALCOMMAND=""/>
+ <FILE FILENAME="../../src/mgr/swmgr.cpp" FORMNAME="" UNITNAME="swmgr.cpp" CONTAINERID="CCompiler" DESIGNCLASS="" LOCALCOMMAND=""/>
+ <FILE FILENAME="../../src/frontend/swdisp.cpp" FORMNAME="" UNITNAME="swdisp.cpp" CONTAINERID="CCompiler" DESIGNCLASS="" LOCALCOMMAND=""/>
+ <FILE FILENAME="../../src/frontend/swlog.cpp" FORMNAME="" UNITNAME="swlog.cpp" CONTAINERID="CCompiler" DESIGNCLASS="" LOCALCOMMAND=""/>
+ <FILE FILENAME="../../src/modules/swmodule.cpp" FORMNAME="" UNITNAME="swmodule" CONTAINERID="CCompiler" DESIGNCLASS="" LOCALCOMMAND=""/>
+ <FILE FILENAME="../../src/modules/comments/swcom.cpp" FORMNAME="" UNITNAME="swcom" CONTAINERID="CCompiler" DESIGNCLASS="" LOCALCOMMAND=""/>
+ <FILE FILENAME="../../src/modules/comments/hrefcom/hrefcom.cpp" FORMNAME="" UNITNAME="hrefcom" CONTAINERID="CCompiler" DESIGNCLASS="" LOCALCOMMAND=""/>
+ <FILE FILENAME="../../src/modules/comments/rawcom/rawcom.cpp" FORMNAME="" UNITNAME="rawcom" CONTAINERID="CCompiler" DESIGNCLASS="" LOCALCOMMAND=""/>
+ <FILE FILENAME="../../src/modules/comments/rawfiles/rawfiles.cpp" FORMNAME="" UNITNAME="rawfiles" CONTAINERID="CCompiler" DESIGNCLASS="" LOCALCOMMAND=""/>
+ <FILE FILENAME="../../src/modules/comments/zcom/zcom.cpp" FORMNAME="" UNITNAME="zcom" CONTAINERID="CCompiler" DESIGNCLASS="" LOCALCOMMAND=""/>
+ <FILE FILENAME="../../src/modules/common/entriesblk.cpp" FORMNAME="" UNITNAME="entriesblk.cpp" CONTAINERID="CCompiler" DESIGNCLASS="" LOCALCOMMAND=""/>
+ <FILE FILENAME="../../src/modules/common/lzsscomprs.cpp" FORMNAME="" UNITNAME="lzsscomprs.cpp" CONTAINERID="CCompiler" DESIGNCLASS="" LOCALCOMMAND=""/>
+ <FILE FILENAME="../../src/modules/common/rawstr4.cpp" FORMNAME="" UNITNAME="rawstr4.cpp" CONTAINERID="CCompiler" DESIGNCLASS="" LOCALCOMMAND=""/>
+ <FILE FILENAME="../../src/modules/common/rawstr.cpp" FORMNAME="" UNITNAME="rawstr.cpp" CONTAINERID="CCompiler" DESIGNCLASS="" LOCALCOMMAND=""/>
+ <FILE FILENAME="../../src/modules/common/rawverse.cpp" FORMNAME="" UNITNAME="rawverse.cpp" CONTAINERID="CCompiler" DESIGNCLASS="" LOCALCOMMAND=""/>
+ <FILE FILENAME="../../src/modules/common/sapphire.cpp" FORMNAME="" UNITNAME="sapphire.cpp" CONTAINERID="CCompiler" DESIGNCLASS="" LOCALCOMMAND=""/>
+ <FILE FILENAME="../../src/modules/common/swcipher.cpp" FORMNAME="" UNITNAME="swcipher.cpp" CONTAINERID="CCompiler" DESIGNCLASS="" LOCALCOMMAND=""/>
+ <FILE FILENAME="../../src/modules/common/swcomprs.cpp" FORMNAME="" UNITNAME="swcomprs.cpp" CONTAINERID="CCompiler" DESIGNCLASS="" LOCALCOMMAND=""/>
+ <FILE FILENAME="../../src/modules/common/zipcomprs.cpp" FORMNAME="" UNITNAME="zipcomprs.cpp" CONTAINERID="CCompiler" DESIGNCLASS="" LOCALCOMMAND=""/>
+ <FILE FILENAME="../../src/modules/common/zstr.cpp" FORMNAME="" UNITNAME="zstr.cpp" CONTAINERID="CCompiler" DESIGNCLASS="" LOCALCOMMAND=""/>
+ <FILE FILENAME="../../src/modules/common/zverse.cpp" FORMNAME="" UNITNAME="zverse.cpp" CONTAINERID="CCompiler" DESIGNCLASS="" LOCALCOMMAND=""/>
+ <FILE FILENAME="../../src/modules/filters/cipherfil.cpp" FORMNAME="" UNITNAME="cipherfil.cpp" CONTAINERID="CCompiler" DESIGNCLASS="" LOCALCOMMAND=""/>
+ <FILE FILENAME="../../src/modules/filters/gbffootnotes.cpp" FORMNAME="" UNITNAME="gbffootnotes.cpp" CONTAINERID="CCompiler" DESIGNCLASS="" LOCALCOMMAND=""/>
+ <FILE FILENAME="../../src/modules/filters/gbfheadings.cpp" FORMNAME="" UNITNAME="gbfheadings.cpp" CONTAINERID="CCompiler" DESIGNCLASS="" LOCALCOMMAND=""/>
+ <FILE FILENAME="../../src/modules/filters/gbfhtml.cpp" FORMNAME="" UNITNAME="gbfhtml.cpp" CONTAINERID="CCompiler" DESIGNCLASS="" LOCALCOMMAND=""/>
+ <FILE FILENAME="../../src/modules/filters/gbfhtmlhref.cpp" FORMNAME="" UNITNAME="gbfhtmlhref.cpp" CONTAINERID="CCompiler" DESIGNCLASS="" LOCALCOMMAND=""/>
+ <FILE FILENAME="../../src/modules/filters/gbfmorph.cpp" FORMNAME="" UNITNAME="gbfmorph.cpp" CONTAINERID="CCompiler" DESIGNCLASS="" LOCALCOMMAND=""/>
+ <FILE FILENAME="../../src/modules/filters/gbfosis.cpp" FORMNAME="" UNITNAME="gbfosis.cpp" CONTAINERID="CCompiler" DESIGNCLASS="" LOCALCOMMAND=""/>
+ <FILE FILENAME="../../src/modules/filters/gbfplain.cpp" FORMNAME="" UNITNAME="gbfplain.cpp" CONTAINERID="CCompiler" DESIGNCLASS="" LOCALCOMMAND=""/>
+ <FILE FILENAME="../../src/modules/filters/gbfrtf.cpp" FORMNAME="" UNITNAME="gbfrtf.cpp" CONTAINERID="CCompiler" DESIGNCLASS="" LOCALCOMMAND=""/>
+ <FILE FILENAME="../../src/modules/filters/gbfstrongs.cpp" FORMNAME="" UNITNAME="gbfstrongs.cpp" CONTAINERID="CCompiler" DESIGNCLASS="" LOCALCOMMAND=""/>
+ <FILE FILENAME="../../src/modules/filters/gbfthml.cpp" FORMNAME="" UNITNAME="gbfthml.cpp" CONTAINERID="CCompiler" DESIGNCLASS="" LOCALCOMMAND=""/>
+ <FILE FILENAME="../../src/modules/filters/greeklexattribs.cpp" FORMNAME="" UNITNAME="greeklexattribs.cpp" CONTAINERID="CCompiler" DESIGNCLASS="" LOCALCOMMAND=""/>
+ <FILE FILENAME="../../src/modules/filters/latin1utf16.cpp" FORMNAME="" UNITNAME="latin1utf16.cpp" CONTAINERID="CCompiler" DESIGNCLASS="" LOCALCOMMAND=""/>
+ <FILE FILENAME="../../src/modules/filters/latin1utf8.cpp" FORMNAME="" UNITNAME="latin1utf8.cpp" CONTAINERID="CCompiler" DESIGNCLASS="" LOCALCOMMAND=""/>
+ <FILE FILENAME="../../src/modules/filters/plainfootnotes.cpp" FORMNAME="" UNITNAME="plainfootnotes.cpp" CONTAINERID="CCompiler" DESIGNCLASS="" LOCALCOMMAND=""/>
+ <FILE FILENAME="../../src/modules/filters/plainhtml.cpp" FORMNAME="" UNITNAME="plainhtml.cpp" CONTAINERID="CCompiler" DESIGNCLASS="" LOCALCOMMAND=""/>
+ <FILE FILENAME="../../src/modules/filters/rtfhtml.cpp" FORMNAME="" UNITNAME="rtfhtml.cpp" CONTAINERID="CCompiler" DESIGNCLASS="" LOCALCOMMAND=""/>
+ <FILE FILENAME="../../src/modules/filters/rwphtml.cpp" FORMNAME="" UNITNAME="rwphtml.cpp" CONTAINERID="CCompiler" DESIGNCLASS="" LOCALCOMMAND=""/>
+ <FILE FILENAME="../../src/modules/filters/rwprtf.cpp" FORMNAME="" UNITNAME="rwprtf.cpp" CONTAINERID="CCompiler" DESIGNCLASS="" LOCALCOMMAND=""/>
+ <FILE FILENAME="../../src/modules/filters/scsuutf8.cpp" FORMNAME="" UNITNAME="scsuutf8.cpp" CONTAINERID="CCompiler" DESIGNCLASS="" LOCALCOMMAND=""/>
+ <FILE FILENAME="../../src/modules/filters/swbasicfilter.cpp" FORMNAME="" UNITNAME="swbasicfilter.cpp" CONTAINERID="CCompiler" DESIGNCLASS="" LOCALCOMMAND=""/>
+ <FILE FILENAME="../../src/modules/filters/thmlfootnotes.cpp" FORMNAME="" UNITNAME="thmlfootnotes.cpp" CONTAINERID="CCompiler" DESIGNCLASS="" LOCALCOMMAND=""/>
+ <FILE FILENAME="../../src/modules/filters/thmlgbf.cpp" FORMNAME="" UNITNAME="thmlgbf.cpp" CONTAINERID="CCompiler" DESIGNCLASS="" LOCALCOMMAND=""/>
+ <FILE FILENAME="../../src/modules/filters/thmlheadings.cpp" FORMNAME="" UNITNAME="thmlheadings.cpp" CONTAINERID="CCompiler" DESIGNCLASS="" LOCALCOMMAND=""/>
+ <FILE FILENAME="../../src/modules/filters/thmlhtml.cpp" FORMNAME="" UNITNAME="thmlhtml.cpp" CONTAINERID="CCompiler" DESIGNCLASS="" LOCALCOMMAND=""/>
+ <FILE FILENAME="../../src/modules/filters/thmlhtmlhref.cpp" FORMNAME="" UNITNAME="thmlhtmlhref.cpp" CONTAINERID="CCompiler" DESIGNCLASS="" LOCALCOMMAND=""/>
+ <FILE FILENAME="../../src/modules/filters/thmllemma.cpp" FORMNAME="" UNITNAME="thmllemma.cpp" CONTAINERID="CCompiler" DESIGNCLASS="" LOCALCOMMAND=""/>
+ <FILE FILENAME="../../src/modules/filters/thmlmorph.cpp" FORMNAME="" UNITNAME="thmlmorph.cpp" CONTAINERID="CCompiler" DESIGNCLASS="" LOCALCOMMAND=""/>
+ <FILE FILENAME="../../src/modules/filters/thmlosis.cpp" FORMNAME="" UNITNAME="thmlosis.cpp" CONTAINERID="CCompiler" DESIGNCLASS="" LOCALCOMMAND=""/>
+ <FILE FILENAME="../../src/modules/filters/thmlplain.cpp" FORMNAME="" UNITNAME="thmlplain.cpp" CONTAINERID="CCompiler" DESIGNCLASS="" LOCALCOMMAND=""/>
+ <FILE FILENAME="../../src/modules/filters/thmlrtf.cpp" FORMNAME="" UNITNAME="thmlrtf.cpp" CONTAINERID="CCompiler" DESIGNCLASS="" LOCALCOMMAND=""/>
+ <FILE FILENAME="../../src/modules/filters/thmlscripref.cpp" FORMNAME="" UNITNAME="thmlscripref.cpp" CONTAINERID="CCompiler" DESIGNCLASS="" LOCALCOMMAND=""/>
+ <FILE FILENAME="../../src/modules/filters/thmlstrongs.cpp" FORMNAME="" UNITNAME="thmlstrongs.cpp" CONTAINERID="CCompiler" DESIGNCLASS="" LOCALCOMMAND=""/>
+ <FILE FILENAME="../../src/modules/filters/thmlvariants.cpp" FORMNAME="" UNITNAME="thmlvariants.cpp" CONTAINERID="CCompiler" DESIGNCLASS="" LOCALCOMMAND=""/>
+ <FILE FILENAME="../../src/modules/filters/unicodertf.cpp" FORMNAME="" UNITNAME="unicodertf.cpp" CONTAINERID="CCompiler" DESIGNCLASS="" LOCALCOMMAND=""/>
+ <FILE FILENAME="../../src/modules/filters/utf16utf8.cpp" FORMNAME="" UNITNAME="utf16utf8.cpp" CONTAINERID="CCompiler" DESIGNCLASS="" LOCALCOMMAND=""/>
+ <FILE FILENAME="../../src/modules/filters/utf8arshaping.cpp" FORMNAME="" UNITNAME="utf8arshaping.cpp" CONTAINERID="CCompiler" DESIGNCLASS="" LOCALCOMMAND=""/>
+ <FILE FILENAME="../../src/modules/filters/utf8bidireorder.cpp" FORMNAME="" UNITNAME="utf8bidireorder.cpp" CONTAINERID="CCompiler" DESIGNCLASS="" LOCALCOMMAND=""/>
+ <FILE FILENAME="../../src/modules/filters/utf8cantillation.cpp" FORMNAME="" UNITNAME="utf8cantillation.cpp" CONTAINERID="CCompiler" DESIGNCLASS="" LOCALCOMMAND=""/>
+ <FILE FILENAME="../../src/modules/filters/utf8greekaccents.cpp" FORMNAME="" UNITNAME="utf8greekaccents.cpp" CONTAINERID="CCompiler" DESIGNCLASS="" LOCALCOMMAND=""/>
+ <FILE FILENAME="../../src/modules/filters/utf8hebrewpoints.cpp" FORMNAME="" UNITNAME="utf8hebrewpoints.cpp" CONTAINERID="CCompiler" DESIGNCLASS="" LOCALCOMMAND=""/>
+ <FILE FILENAME="../../src/modules/filters/utf8html.cpp" FORMNAME="" UNITNAME="utf8html.cpp" CONTAINERID="CCompiler" DESIGNCLASS="" LOCALCOMMAND=""/>
+ <FILE FILENAME="../../src/modules/filters/utf8latin1.cpp" FORMNAME="" UNITNAME="utf8latin1.cpp" CONTAINERID="CCompiler" DESIGNCLASS="" LOCALCOMMAND=""/>
+ <FILE FILENAME="../../src/modules/filters/utf8nfc.cpp" FORMNAME="" UNITNAME="utf8nfc.cpp" CONTAINERID="CCompiler" DESIGNCLASS="" LOCALCOMMAND=""/>
+ <FILE FILENAME="../../src/modules/filters/utf8nfkd.cpp" FORMNAME="" UNITNAME="utf8nfkd.cpp" CONTAINERID="CCompiler" DESIGNCLASS="" LOCALCOMMAND=""/>
+ <FILE FILENAME="../../src/modules/filters/utf8transliterator.cpp" FORMNAME="" UNITNAME="utf8transliterator.cpp" CONTAINERID="CCompiler" DESIGNCLASS="" LOCALCOMMAND=""/>
+ <FILE FILENAME="../../src/modules/filters/utf8utf16.cpp" FORMNAME="" UNITNAME="utf8utf16.cpp" CONTAINERID="CCompiler" DESIGNCLASS="" LOCALCOMMAND=""/>
+ <FILE FILENAME="../../src/modules/genbook/swgenbook.cpp" FORMNAME="" UNITNAME="swgenbook" CONTAINERID="CCompiler" DESIGNCLASS="" LOCALCOMMAND=""/>
+ <FILE FILENAME="../../src/modules/genbook/rawgenbook/rawgenbook.cpp" FORMNAME="" UNITNAME="rawgenbook" CONTAINERID="CCompiler" DESIGNCLASS="" LOCALCOMMAND=""/>
+ <FILE FILENAME="../../src/modules/lexdict/swld.cpp" FORMNAME="" UNITNAME="swld" CONTAINERID="CCompiler" DESIGNCLASS="" LOCALCOMMAND=""/>
+ <FILE FILENAME="../../src/modules/lexdict/rawld/rawld.cpp" FORMNAME="" UNITNAME="rawld" CONTAINERID="CCompiler" DESIGNCLASS="" LOCALCOMMAND=""/>
+ <FILE FILENAME="../../src/modules/lexdict/rawld4/rawld4.cpp" FORMNAME="" UNITNAME="rawld4" CONTAINERID="CCompiler" DESIGNCLASS="" LOCALCOMMAND=""/>
+ <FILE FILENAME="../../src/modules/lexdict/zld/zld.cpp" FORMNAME="" UNITNAME="zld" CONTAINERID="CCompiler" DESIGNCLASS="" LOCALCOMMAND=""/>
+ <FILE FILENAME="../../src/modules/texts/swtext.cpp" FORMNAME="" UNITNAME="swtext" CONTAINERID="CCompiler" DESIGNCLASS="" LOCALCOMMAND=""/>
+ <FILE FILENAME="../../src/modules/texts/rawgbf/rawgbf.cpp" FORMNAME="" UNITNAME="rawgbf" CONTAINERID="CCompiler" DESIGNCLASS="" LOCALCOMMAND=""/>
+ <FILE FILENAME="../../src/modules/texts/rawtext/rawtext.cpp" FORMNAME="" UNITNAME="rawtext" CONTAINERID="CCompiler" DESIGNCLASS="" LOCALCOMMAND=""/>
+ <FILE FILENAME="../../src/modules/texts/ztext/ztext.cpp" FORMNAME="" UNITNAME="ztext" CONTAINERID="CCompiler" DESIGNCLASS="" LOCALCOMMAND=""/>
+ <FILE FILENAME="../../src/utilfuns/roman.c" FORMNAME="" UNITNAME="roman" CONTAINERID="CCompiler" DESIGNCLASS="" LOCALCOMMAND=""/>
+ </FILELIST>
+ <BUILDTOOLS>
+ </BUILDTOOLS>
+
+ <IDEOPTIONS>
+[HistoryLists\hlIncludePath]
+Count=2
+Item0=../../include:$(BCB)/include/stlport:$(BCB)/include:$(BCB)/include/vcl:/usr/include
+Item1=../../src/modules/texts/ztext:../../src/modules/texts/rawtext:../../src/modules/texts/rawgbf:../../src/modules/texts:../../src/modules/lexdict/zld:../../src/modules/lexdict/rawld4:../../src/modules/lexdict/rawld:../../src/modules/lexdict:../../src/modules/genbook/rawgenbook:../../src/modules/genbook:../../src/modules/filters:../../src/modules/common:../../src/modules/comments/zcom:../../src/modules/comments/rawfiles:../../src/modules/comments/rawcom:../../src/modules/comments/hrefcom:../../src/modules/comments:../../src/modules:../../src/frontend:../../src/mgr:../../src/keys:../../src/utilfuns:$(BCB)/include/stlport:$(BCB)/include:$(BCB)/include/vcl:/usr/include
+
+[HistoryLists\hlLibraryPath]
+Count=1
+Item0=../../src/modules/texts/ztext:../../src/modules/texts/rawtext:../../src/modules/texts/rawgbf:../../src/modules/texts:../../src/modules/lexdict/zld:../../src/modules/lexdict/rawld4:../../src/modules/lexdict/rawld:../../src/modules/lexdict:../../src/modules/genbook/rawgenbook:../../src/modules/genbook:../../src/modules/filters:../../src/modules/common:../../src/modules/comments/zcom:../../src/modules/comments/rawfiles:../../src/modules/comments/rawcom:../../src/modules/comments/hrefcom:../../src/modules/comments:../../src/modules:../../src/frontend:../../src/mgr:../../src/keys:../../src/utilfuns:$(BCB)/lib/obj:$(BCB)/lib:/usr/lib:/lib:/usr/X11R6/lib:$(BCB)/bin
+
+[HistoryLists\hlConditionals]
+Count=1
+Item0=_DEBUG
+
+[Debugging]
+DebugSourceDirs=
+
+[Parameters]
+RunParams=
+Launcher=/usr/X11R6/bin/xterm -T KylixDebuggerOutput -e bash -i -c %debuggee%
+UseLauncher=0
+DebugCWD=
+HostApplication=
+
+[Compiler]
+ShowInfoMsgs=0
+LinkDebugVcl=0
+ </IDEOPTIONS>
+</PROJECT> \ No newline at end of file
diff --git a/utilities/kylixmake/mod2zmod.bpf b/utilities/kylixmake/mod2zmod.bpf
new file mode 100644
index 0000000..32eb16c
--- /dev/null
+++ b/utilities/kylixmake/mod2zmod.bpf
@@ -0,0 +1,5 @@
+This file is used by the project manager only and should be treated like the project file
+
+To add a file to this project use the Project menu 'Add to Project'
+
+main \ No newline at end of file
diff --git a/utilities/kylixmake/mod2zmod.bpr b/utilities/kylixmake/mod2zmod.bpr
new file mode 100644
index 0000000..dc399a7
--- /dev/null
+++ b/utilities/kylixmake/mod2zmod.bpr
@@ -0,0 +1,84 @@
+<?xml version='1.0' encoding='utf-8' ?>
+<!-- C++Builder XML Project -->
+<PROJECT>
+ <MACROS>
+ <VERSION value="BCB.06.10"/>
+ <PROJECT value="mod2zmod"/>
+ <OBJFILES value="../mod2zmod.o"/>
+ <RESFILES value="mod2zmod.res"/>
+ <DEFFILE value=""/>
+ <RESDEPEN value="$(RESFILES)"/>
+ <LIBFILES value="libsword.a /usr/lib/libz.a"/>
+ <LIBRARIES value=""/>
+ <SPARELIBS value=""/>
+ <PACKAGES value="rtl.bpi visualclx.bpi dataclx.bpi visualdbclx.bpi netclx.bpi
+ netdataclx.bpi xmlrtl.bpi indy.bpi webdsnapclx.bpi websnapclx.bpi
+ soaprtl.bpi"/>
+ <PATHCPP value=".;.."/>
+ <PATHPAS value=".;"/>
+ <PATHRC value=".;"/>
+ <PATHASM value=".;"/>
+ <DEBUGLIBPATH value="$(BCB)/lib/debug"/>
+ <RELEASELIBPATH value="$(BCB)/lib/release"/>
+ <LINKER value="ilink"/>
+ <USERDEFINES value="_DEBUG"/>
+ <SYSDEFINES value="_NO_VCL"/>
+ <MAINSOURCE value="mod2zmod.bpf"/>
+ <INCLUDEPATH value="../:..:../../include:$(BCB)/include/stlport:$(BCB)/include:$(BCB)/include/vcl:/usr/include"/>
+ <LIBPATH value="../:..:src/sword/utilities:$(BCB)/lib/obj:$(BCB)/lib:/usr/lib:/lib:/usr/X11R6/lib:$(BCB)/bin"/>
+ <WARNINGS value="-w-par"/>
+ <OTHERFILES value=""/>
+ </MACROS>
+ <OPTIONS>
+ <CFLAG1 value="-tC -Od -H=$(HOME)/.borland/clx69.csm -Hc -Vx -X- -r- -a8 -b- -k -y -v
+ -vi- -c"/>
+ <PFLAGS value="-$YD -$W -$O- -$A8 -v -JPHNE -M"/>
+ <RFLAGS value=""/>
+ <AFLAGS value="/mx /w2 /zd"/>
+ <LFLAGS value="-D&quot;&quot; -ap -Tpe -x -Gn -v"/>
+ </OPTIONS>
+ <LINKER>
+ <ALLOBJ value="borinit.o crt1.o $(OBJFILES)"/>
+ <ALLRES value="$(RESFILES)"/>
+ <ALLLIB value="$(LIBFILES) $(LIBRARIES) libborcrtl.a libborstl.a libborunwind.a
+ libpthread.so libc.so libm.so libdl.so "/>
+ </LINKER>
+ <FILELIST>
+ <FILE FILENAME="mod2zmod.res" FORMNAME="" UNITNAME="mod2zmod.res" CONTAINERID="ResTool" DESIGNCLASS="" LOCALCOMMAND=""/>
+ <FILE FILENAME="mod2zmod.bpf" FORMNAME="" UNITNAME="mod2zmod" CONTAINERID="BPF" DESIGNCLASS="" LOCALCOMMAND=""/>
+ <FILE FILENAME="../mod2zmod.cpp" FORMNAME="" UNITNAME="mod2zmod" CONTAINERID="CCompiler" DESIGNCLASS="" LOCALCOMMAND=""/>
+ <FILE FILENAME="libsword.a" FORMNAME="" UNITNAME="libsword.a" CONTAINERID="LibTool" DESIGNCLASS="" LOCALCOMMAND=""/>
+ <FILE FILENAME="/usr/lib/libz.a" FORMNAME="" UNITNAME="libz.a" CONTAINERID="LibTool" DESIGNCLASS="" LOCALCOMMAND=""/>
+ </FILELIST>
+ <BUILDTOOLS>
+ </BUILDTOOLS>
+
+ <IDEOPTIONS>
+[HistoryLists\hlIncludePath]
+Count=2
+Item0=../:../../include:$(BCB)/include/stlport:$(BCB)/include:$(BCB)/include/vcl:/usr/include
+Item1=../:src/sword/utilities:$(BCB)/include/stlport:$(BCB)/include:$(BCB)/include/vcl:/usr/include
+
+[HistoryLists\hlLibraryPath]
+Count=1
+Item0=../:src/sword/utilities:$(BCB)/lib/obj:$(BCB)/lib:/usr/lib:/lib:/usr/X11R6/lib:$(BCB)/bin
+
+[HistoryLists\hlConditionals]
+Count=1
+Item0=_DEBUG
+
+[Debugging]
+DebugSourceDirs=
+
+[Parameters]
+RunParams=TEST ~/.sword/ztest/ 3 2
+Launcher=/usr/X11R6/bin/xterm -T KylixDebuggerOutput -e bash -i -c %debuggee%
+UseLauncher=0
+DebugCWD=/space/home/scribe/src/sword/utilities/kylixmake
+HostApplication=
+
+[Compiler]
+ShowInfoMsgs=0
+LinkDebugVcl=0
+ </IDEOPTIONS>
+</PROJECT> \ No newline at end of file
diff --git a/utilities/kylixmake/mod2zmod.res b/utilities/kylixmake/mod2zmod.res
new file mode 100644
index 0000000..36f26e2
--- /dev/null
+++ b/utilities/kylixmake/mod2zmod.res
Binary files differ
diff --git a/utilities/kylixmake/utilities.bpg b/utilities/kylixmake/utilities.bpg
new file mode 100644
index 0000000..4ee3e7e
--- /dev/null
+++ b/utilities/kylixmake/utilities.bpg
@@ -0,0 +1,24 @@
+#------------------------------------------------------------------------------
+VERSION = BWS.02.5
+#------------------------------------------------------------------------------
+ifndef ROOT
+ROOT = /home/scribe/kylix3
+endif
+#------------------------------------------------------------------------------
+MAKE = make -$(MAKEFLAGS) -f$**
+DCC =dcc $<
+#------------------------------------------------------------------------------
+PROJECTS = libsword.a mod2zmod
+#------------------------------------------------------------------------------
+default: $(PROJECTS)
+#------------------------------------------------------------------------------
+
+libsword.a: libsword.bpr
+ $(ROOT)/bin/bpr2mak -t$(ROOT)/bin/deflib.gmk $<
+ make -$(MAKEFLAGS) -f$(basename $<).mak
+
+mod2zmod: mod2zmod.bpr
+ $(ROOT)/bin/bpr2mak $<
+ make -$(MAKEFLAGS) -f$(basename $<).mak
+
+
diff --git a/utilities/mkfastmod.cpp b/utilities/mkfastmod.cpp
index a1664f8..2553af6 100644
--- a/utilities/mkfastmod.cpp
+++ b/utilities/mkfastmod.cpp
@@ -1,6 +1,13 @@
#include <stdio.h>
#include <rawtext.h>
#include <swmgr.h>
+#ifndef NO_SWORD_NAMESPACE
+using sword::SWMgr;
+using sword::SWModule;
+using sword::ListKey;
+using sword::VerseKey;
+using sword::ModMap;
+#endif
int main(int argc, char **argv)
{
diff --git a/utilities/mod2imp.cpp b/utilities/mod2imp.cpp
new file mode 100644
index 0000000..a979407
--- /dev/null
+++ b/utilities/mod2imp.cpp
@@ -0,0 +1,75 @@
+// Compression on variable granularity
+
+#include <fcntl.h>
+#include <iostream>
+#include <fstream>
+#include <string>
+
+#ifndef __GNUC__
+#include <io.h>
+#else
+#include <unistd.h>
+#endif
+
+#include <ztext.h>
+#include <zld.h>
+#include <zcom.h>
+#include <swmgr.h>
+#include <lzsscomprs.h>
+#include <zipcomprs.h>
+#include <versekey.h>
+#include <stdio.h>
+
+#ifndef NO_SWORD_NAMESPACE
+using sword::SWModule;
+using sword::SWMgr;
+using sword::ModMap;
+using sword::SWKey;
+using sword::VerseKey;
+using sword::SW_POSITION;
+#endif
+
+
+void errorOutHelp(char *appName) {
+ std::cerr << appName << " - a tool to output a Sword module in SWORD's 'imp' import format\n";
+ std::cerr << "usage: "<< appName << " <modname> \n";
+ std::cerr << "\n\n";
+ exit(-1);
+}
+
+
+int main(int argc, char **argv)
+{
+ SWModule *inModule = 0;
+
+ if ((argc != 2)) {
+ errorOutHelp(argv[0]);
+ }
+
+ if ((!strcmp(argv[1], "-h")) || (!strcmp(argv[1], "--help")) || (!strcmp(argv[1], "/?")) || (!strcmp(argv[1], "-?")) || (!strcmp(argv[1], "-help"))) {
+ errorOutHelp(argv[0]);
+ }
+
+ SWMgr mgr;
+
+ ModMap::iterator it = mgr.Modules.find(argv[1]);
+ if (it == mgr.Modules.end()) {
+ fprintf(stderr, "error: %s: couldn't find module: %s \n", argv[0], argv[1]);
+ exit(-2);
+ }
+
+ inModule = it->second;
+
+ SWKey *key = (SWKey *)*inModule;
+ VerseKey *vkey = SWDYNAMIC_CAST(VerseKey, key);
+
+ if (vkey)
+ vkey->Headings(1);
+
+ for ((*inModule) = TOP; !inModule->Error(); (*inModule)++) {
+ std::cout << "$$$" << inModule->KeyText() << std::endl;
+ std::cout << inModule->getRawEntry() << std::endl;
+ }
+ return 0;
+}
+
diff --git a/utilities/mod2osis.cpp b/utilities/mod2osis.cpp
new file mode 100644
index 0000000..ae7fc03
--- /dev/null
+++ b/utilities/mod2osis.cpp
@@ -0,0 +1,211 @@
+// Compression on variable granularity
+#include <fcntl.h>
+#include <iostream>
+#include <fstream>
+#include <string>
+
+#ifndef __GNUC__
+#include <io.h>
+#else
+#include <unistd.h>
+#endif
+
+#include <ztext.h>
+#include <zld.h>
+#include <zcom.h>
+#include <swmgr.h>
+#include <lzsscomprs.h>
+#include <zipcomprs.h>
+#include <versekey.h>
+#include <thmlosis.h>
+#include <stdio.h>
+#include <markupfiltmgr.h>
+#include <algorithm>
+
+#ifndef NO_SWORD_NAMESPACE
+using namespace sword;
+#endif
+using std::endl;
+using std::cerr;
+using std::cout;
+
+void errorOutHelp(char *appName) {
+ cerr << appName << " - a tool to output a Sword module in OSIS format\n";
+ cerr << "usage: "<< appName << " <modname> \n";
+ cerr << "\n\n";
+ exit(-1);
+}
+
+
+int main(int argc, char **argv)
+{
+ SWModule *inModule = 0;
+ ThMLOSIS filter;
+
+ if ((argc != 2)) {
+ errorOutHelp(argv[0]);
+ }
+
+ if ((!strcmp(argv[1], "-h")) || (!strcmp(argv[1], "--help")) || (!strcmp(argv[1], "/?")) || (!strcmp(argv[1], "-?")) || (!strcmp(argv[1], "-help"))) {
+ errorOutHelp(argv[0]);
+ }
+
+ SWMgr mgr(new MarkupFilterMgr(FMT_OSIS));
+ StringList options = mgr.getGlobalOptions();
+ for (StringList::iterator it = options.begin(); it != options.end(); it++) {
+ StringList values = mgr.getGlobalOptionValues(it->c_str());
+ if (find(values.begin(), values.end(), "On") != values.end()) {
+ mgr.setGlobalOption(it->c_str(), "On");
+ }
+ }
+
+
+ ModMap::iterator it = mgr.Modules.find(argv[1]);
+ if (it == mgr.Modules.end()) {
+ fprintf(stderr, "error: %s: couldn't find module: %s \n", argv[0], argv[1]);
+ exit(-2);
+ }
+
+ inModule = it->second;
+// inModule->AddRenderFilter(&filter);
+
+ SWKey *key = (SWKey *)*inModule;
+ VerseKey *vkey = SWDYNAMIC_CAST(VerseKey, key);
+
+ char *buf;
+ bool opentest = false;
+ bool openbook = false;
+ bool openchap = false;
+ int lastTest = 5;
+ int lastBook = 9999;
+ int lastChap = 9999;
+ if (!vkey) {
+ cerr << "Currently mod2zmod only works with verse keyed modules\n\n";
+ exit(-1);
+ }
+
+ vkey->Headings(0);
+
+ cout << "<?xml version=\"1.0\" ";
+ if (inModule->getConfigEntry("Encoding")) {
+ if (*(inModule->getConfigEntry("Encoding")))
+ cout << "encoding=\"" << inModule->getConfigEntry("Encoding") << "\" ";
+ else cout << "encoding=\"UTF-8\" ";
+ }
+ else cout << "encoding=\"UTF-8\" ";
+ cout << "?>\n\n";
+
+
+ cout << "<osis";
+ cout << " xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\"";
+ cout << " xsi:noNamespaceSchemaLocation=\"http://www.bibletechnologies.net/osisCore.1.1.1.xsd\">\n\n";
+ cout << "<osisText";
+ cout << " osisIDWork=\"";
+ cout << inModule->Name() << "\"";
+ cout << " osisRefWork=\"defaultReferenceScheme\"";
+ cout << ">\n\n";
+
+ cout << "\t<header>\n";
+ cout << "\t\t<work osisWork=\"";
+ cout << inModule->Name() << "\">\n";
+ cout << "\t\t\t<title>" << inModule->Description() << "</title>\n";
+ cout << "\t\t\t<identifier type=\"OSIS\">Bible." << inModule->Name() << "</identifier>\n";
+ if (inModule->Lang()) {
+ if (strlen(inModule->Lang()))
+ cout << "\t\t\t<language>" << inModule->Lang() << "</language>\n";
+ }
+ cout << "\t\t\t<refSystem>Bible.KJV</refSystem>\n";
+ cout << "\t\t</work>\n";
+ cout << "\t\t<work osisWork=\"defaultReferenceScheme\">\n";
+ cout << "\t\t\t<refSystem>Bible.KJV</refSystem>\n";
+ cout << "\t\t</work>\n";
+ cout << "\t</header>\n\n";
+
+
+ (*inModule) = TOP;
+// for ((*inModule) = TOP; (inModule->Key() < (VerseKey)"Mat 2:1"); (*inModule)++) {
+// for ((*vkey) = "Mark6:29"; !inModule->Error(); (*inModule)++) {
+
+ VerseKey tmpKey;
+ tmpKey.Headings(1);
+ tmpKey.AutoNormalize(0);
+
+ for ((*inModule) = TOP; !inModule->Error(); (*inModule)++) {
+ bool newTest = false;
+ bool newBook = false;
+
+ if (!strlen(inModule->RenderText())) {
+ continue;
+ }
+
+ if ((vkey->Testament() != lastTest)) {
+ if (openchap)
+ cout << "\t</chapter>\n";
+ if (openbook)
+ cout << "\t</div>\n";
+ if (opentest)
+ cout << "\t</div>\n";
+ cout << "\t<div type=\"testament\">\n";
+ opentest = true;
+ newTest = true;
+ }
+ if ((vkey->Book() != lastBook) || newTest) {
+ if (!newTest) {
+ if (openchap)
+ cout << "\t</chapter>\n";
+ if (openbook)
+ cout << "\t</div>\n";
+ }
+ buf = new char [205];
+ *buf = 0;
+ tmpKey = *vkey;
+ tmpKey.Chapter(0);
+ tmpKey.Verse(0);
+ sprintf(buf, "\t<div type=\"book\" osisID=\"%s\">\n", tmpKey.getOSISRef());
+// filter.ProcessText(buf, 200 - 3, &lastHeading, inModule);
+ cout << "" << buf << endl;
+ delete [] buf;
+ openbook = true;
+ newBook = true;
+ }
+ if ((vkey->Chapter() != lastChap) || newBook) {
+ if (!newBook) {
+ if (openchap)
+ cout << "\t</chapter>\n";
+ }
+ buf = new char [205];
+ *buf = 0;
+ tmpKey = *vkey;
+ tmpKey.Verse(0);
+ sprintf(buf, "\t<chapter osisID=\"%s\">\n", tmpKey.getOSISRef());
+// filter.ProcessText(buf, 200 - 3, &lastHeading, inModule);
+ cout << "" << buf;
+ delete [] buf;
+ openchap = true;
+ }
+ /*
+ char *text = inModule->getRawEntry();
+ int len = (inModule->getEntrySize() + 1) * 15;
+ buf = new char [ len ];
+ memset(buf, 0, len);
+ memcpy(buf, inModule->getRawEntry(), inModule->getEntrySize());
+ filter.ProcessText(buf, len - 3, vkey, inModule);
+ cout << buf << endl;
+ */
+ cout << inModule->RenderText() << endl;
+ lastChap = vkey->Chapter();
+ lastBook = vkey->Book();
+ lastTest = vkey->Testament();
+ }
+ if (openchap)
+ cout << "\t</chapter>\n";
+ if (openbook)
+ cout << "\t</div>\n";
+ if (opentest)
+ cout << "\t</div>\n";
+ cout << "\t</osisText>\n";
+ cout << "</osis>\n";
+ return 0;
+}
+
+
diff --git a/utilities/mod2vpl.cpp b/utilities/mod2vpl.cpp
index fb0804a..1cbf398 100644
--- a/utilities/mod2vpl.cpp
+++ b/utilities/mod2vpl.cpp
@@ -1,6 +1,14 @@
#include <swmgr.h>
#include <versekey.h>
-#include <iostream.h>
+#include <iostream>
+#ifndef NO_SWORD_NAMESPACE
+using sword::SWMgr;
+using sword::VerseKey;
+using sword::SWModule;
+using sword::SWKey;
+using sword::SW_POSITION;
+using sword::ModMap;
+#endif
void cleanbuf(char *buf) {
char *from = buf;
@@ -62,11 +70,11 @@ int main(int argc, char **argv) {
cleanbuf(buffer);
if (vref) {
if ((strlen(buffer) > 0) && (vref)) {
- cout << (const char *)(*vkey) << " ";
- cout << buffer << "\n";
+ std::cout << (const char *)(*vkey) << " ";
+ std::cout << buffer << std::endl;
}
}
- else cout << buffer << "\n";
+ else std::cout << buffer << std::endl;
delete [] buffer;
(*mod)++;
diff --git a/utilities/mod2zmod.cpp b/utilities/mod2zmod.cpp
index bfa7305..5d8f357 100644
--- a/utilities/mod2zmod.cpp
+++ b/utilities/mod2zmod.cpp
@@ -19,11 +19,32 @@
#include <zipcomprs.h>
#include <versekey.h>
#include <stdio.h>
+#include <cipherfil.h>
+#ifndef NO_SWORD_NAMESPACE
+using sword::SWCompress;
+using sword::CipherFilter;
+using sword::SWModule;
+using sword::SWMgr;
+using sword::ModMap;
+using sword::zText;
+using sword::zLD;
+using sword::zCom;
+using sword::SWFilter;
+using sword::VerseKey;
+using sword::SWKey;
+using sword::SW_POSITION;
+using sword::ZipCompress;
+using sword::LZSSCompress;
+#endif
+
+using std::cerr;
+using std::string;
+using std::cout;
void errorOutHelp(char *appName) {
cerr << appName << " - a tool to create compressed Sword modules\n";
cerr << "version 0.1\n\n";
- cerr << "usage: "<< appName << " <modname> <datapath> [blockType [compressType]]\n\n";
+ cerr << "usage: "<< appName << " <modname> <datapath> [blockType [compressType [cipherKey]]]\n\n";
cerr << "datapath: the directory in which to write the zModule\n";
cerr << "blockType : (default 4)\n\t2 - verses\n\t3 - chapters\n\t4 - books\n";
cerr << "compressType: (default 1):\n\t1 - LZSS\n\t2 - Zip\n";
@@ -36,12 +57,13 @@ int main(int argc, char **argv)
{
int iType = 4;
int compType = 1;
+ string cipherKey = "";
SWCompress *compressor = 0;
SWModule *inModule = 0;
SWModule *outModule = 0;
- if ((argc < 3) || (argc > 5)) {
+ if ((argc < 3) || (argc > 6)) {
errorOutHelp(argv[0]);
}
@@ -49,6 +71,9 @@ int main(int argc, char **argv)
iType = atoi(argv[3]);
if (argc > 4) {
compType = atoi(argv[4]);
+ if (argc > 5) {
+ cipherKey = argv[5];
+ }
}
}
@@ -115,8 +140,23 @@ int main(int argc, char **argv)
break;
}
+ SWFilter *cipherFilter = 0;
+ if (!cipherKey.empty()) {
+ cipherFilter = new CipherFilter(cipherKey.c_str());
+ outModule->AddRawFilter(cipherFilter);
+ }
+
string lastBuffer = "Something that would never be first module entry";
SWKey bufferKey;
+ SWKey lastBufferKey;
+ SWKey *outModuleKey = outModule->CreateKey();
+ VerseKey *vkey = SWDYNAMIC_CAST(VerseKey, outModuleKey);
+ outModuleKey->Persist(1);
+ if (vkey) {
+ vkey->Headings(1);
+ vkey->AutoNormalize(0);
+ }
+ outModule->setKey(*outModuleKey);
inModule->setSkipConsecutiveLinks(false);
(*inModule) = TOP;
@@ -124,14 +164,18 @@ int main(int argc, char **argv)
bufferKey = *(SWKey *)(*inModule);
// pseudo-check for link. Will get most common links.
if ((lastBuffer == inModule->getRawEntry()) &&(lastBuffer.length() > 0)) {
- (*outModule) << &bufferKey; // link to last key
- cout << "Adding [" << bufferKey << "] link to: \n";
+ *outModuleKey = bufferKey;
+ outModule->linkEntry(&lastBufferKey); // link to last key
+ cout << "Adding [" << bufferKey << "] link to: [" << lastBufferKey << "]\n";
}
else {
lastBuffer = inModule->getRawEntry();
+ lastBufferKey = inModule->KeyText();
if (lastBuffer.length() > 0) {
cout << "Adding [" << bufferKey << "] new text. \n";
- outModule->SetKey(bufferKey);
+ *outModuleKey = bufferKey;
+// outModule->getRawEntry(); // snap
+// outModule->setKey(bufferKey);
(*outModule) << lastBuffer.c_str(); // save new text;
}
else {
@@ -141,5 +185,8 @@ int main(int argc, char **argv)
(*inModule)++;
}
delete outModule;
+ delete outModuleKey;
+ if (cipherFilter)
+ delete cipherFilter;
}
diff --git a/utilities/modwrite.cpp b/utilities/modwrite.cpp
index 33bd20c..32a7759 100644
--- a/utilities/modwrite.cpp
+++ b/utilities/modwrite.cpp
@@ -3,7 +3,7 @@
#include <fcntl.h>
#include <iostream>
#include <fstream>
-#include <string>
+//#include <string>
#ifndef __GNUC__
#include <io.h>
@@ -14,6 +14,14 @@
#include <swmgr.h>
#include <stdio.h>
+#ifndef NO_SWORD_NAMESPACE
+using sword::SWMgr;
+using sword::SWModule;
+using sword::ModMap;
+using sword::SWKey;
+#endif
+
+using std::cerr;
int main(int argc, char **argv)
{
@@ -36,7 +44,7 @@ int main(int argc, char **argv)
}
SWModule *module = it->second;
- module->SetKey(argv[2]);
+ module->setKey(argv[2]);
switch (action) {
case 0:
diff --git a/utilities/normcode.cpp b/utilities/normcode.cpp
deleted file mode 100644
index 4a5bbf6..0000000
--- a/utilities/normcode.cpp
+++ /dev/null
@@ -1,96 +0,0 @@
-/* normcode.cpp
- * Transcodes Latin-1/UTF-8 to canonically normalized UTF-8/SCSU
- */
-
-#include <iostream>
-#include <string>
-#include <fstream>
-
-
-#include "unicode/utypes.h"
-#include "unicode/convert.h"
-#include "unicode/ustring.h"
-#include "unicode/normlzr.h"
-
-#define BUFSIZE 65536
-
-int main (char argc, char** argv) {
-
- if (argc < 5) {
- cout << "usage: " << argv[0] << " -[8|l] <input file> -[8|s] <outputfile> -[c|d]" << endl;
- cout << "The first argument should be -8 if input is UTF-8 or -l if it is Latin-1/Codepage 1252." << endl;
- cout << "The third argument should be -8 for UTF-8 output or -s for SCSU output." << endl;
- cout << "The fifth arg should be -c if you want to pre-compose or -d if you want to decompose (default)." << endl;
- return -1;
- }
-
- fstream inf, outf;
- char* buffer = new char[BUFSIZE];
- UnicodeString source, norm;
- UErrorCode err;
- int32_t buf32;
-
- UnicodeConverter latin("Latin-1", err);
- if (U_FAILURE(err)) cout << "Latin-1 converter error" << endl;
- UnicodeConverter scsu("SCSU", err);
- if (U_FAILURE(err)) cout << "SCSU converter error" << endl;
- UnicodeConverter utf8("UTF-8", err);
- if (U_FAILURE(err)) cout << "UTF-8 converter error" << endl;
-
- inf.open(argv[2], fstream::in);
- outf.open(argv[4], fstream::out);
-
- while (!inf.eof()) {
- inf.getline(buffer, BUFSIZE);
- buf32 = inf.gcount();
- if (buf32 == 0) {
- outf << endl;
- continue;
- }
- buffer[buf32-1] = '\n';
- buffer[buf32] = 0;
-
- if (argv[1][1] == 'l') {
- latin.toUnicodeString(source, buffer, buf32, err);
- if (U_FAILURE(err)) cout << "Latin-1 conversion error" << endl;
- } else {
- utf8.toUnicodeString(source, buffer, buf32, err);
- if (U_FAILURE(err)) cout << "UTF-8 conversion error" << endl;
- }
-
- if (argc > 5) {
- if (argv[5][1] == 'c') {
- Normalizer::normalize(source, UNORM_NFC, 0, norm, err); //canonical composition
- } else {
- Normalizer::normalize(source, UNORM_NFD, 0, norm, err); //canonical decomposition
- }
- } else {
- Normalizer::normalize(source, UNORM_NFD, 0, norm, err); //canonical decomposition
- }
-
- buf32 = BUFSIZE;
- if (argv[3][1] == 's') {
- scsu.fromUnicodeString((char*)buffer, buf32, norm, err);
- if (U_FAILURE(err)) cout << "SCSU conversion error" << endl;
- // scsu.toUnicodeString(norm, buffer, buf32, err);
- // buf32 = BUFSIZE;
- // utf8.fromUnicodeString((char*)buffer, buf32, norm, err);
- } else {
- utf8.fromUnicodeString((char*)buffer, buf32, norm, err);
- if (U_FAILURE(err)) cout << "UTF-8 conversion error" << endl;
- }
-
- if (U_SUCCESS(err) && !inf.eof()) {
- buffer[buf32] = 0;
- }
-
- outf.write(buffer, buf32);
- }
-
- outf.close();
- inf.close();
-
- delete buffer;
-
- return 0;
-}
diff --git a/utilities/osis2mod.cpp b/utilities/osis2mod.cpp
new file mode 100644
index 0000000..241eff5
--- /dev/null
+++ b/utilities/osis2mod.cpp
@@ -0,0 +1,345 @@
+#include <ctype.h>
+#include <stdio.h>
+#include <fcntl.h>
+#include <errno.h>
+#include <stdlib.h>
+
+#ifndef __GNUC__
+#include <io.h>
+#else
+#include <unistd.h>
+#endif
+
+#include <swmgr.h>
+#include <rawtext.h>
+#include <iostream>
+#include <swbuf.h>
+#include <utilxml.h>
+
+#ifndef O_BINARY
+#define O_BINARY 0
+#endif
+
+#ifndef NO_SWORD_NAMESPACE
+using namespace sword;
+#endif
+
+using namespace std;
+
+RawText *module;
+VerseKey *currentVerse = 0;
+
+char readline(int fd, char **buf) {
+ char ch;
+ if (*buf)
+ delete [] *buf;
+ *buf = 0;
+ int len;
+
+
+ long index = lseek(fd, 0, SEEK_CUR);
+ // clean up any preceding white space
+ while ((len = read(fd, &ch, 1)) == 1) {
+ if ((ch != 13) && (ch != ' ') && (ch != '\t'))
+ break;
+ else index++;
+ }
+
+
+ while (ch != 10) {
+ if ((len = read(fd, &ch, 1)) != 1)
+ break;
+ }
+
+ int size = (lseek(fd, 0, SEEK_CUR) - index) - 1;
+
+ *buf = new char [ size + 1 ];
+
+ if (size > 0) {
+ lseek(fd, index, SEEK_SET);
+ read(fd, *buf, size);
+ read(fd, &ch, 1); //pop terminating char
+ (*buf)[size] = 0;
+
+ // clean up any trailing junk on buf
+ for (char *it = *buf+(strlen(*buf)-1); it > *buf; it--) {
+ if ((*it != 10) && (*it != 13) && (*it != ' ') && (*it != '\t'))
+ break;
+ else *it = 0;
+ }
+ }
+ else **buf = 0;
+ return !len;
+}
+
+
+bool isKJVRef(const char *buf) {
+ VerseKey vk, test;
+ vk.AutoNormalize(0);
+ vk.Headings(1); // turn on mod/testmnt/book/chap headings
+ vk.Persist(1);
+ // lets do some tests on the verse --------------
+ vk = buf;
+ test = buf;
+
+ if (vk.Testament() && vk.Book() && vk.Chapter() && vk.Verse()) { // if we're not a heading
+// std::cerr << (const char*)vk << " == " << (const char*)test << std::endl;
+ return (vk == test);
+ }
+ else return true; // no check if we're a heading... Probably bad.
+}
+
+
+void writeEntry(VerseKey &key, SWBuf &text) {
+// cout << "Verse: " << key << "\n";
+// cout << "TEXT: " << text << "\n\n";
+ SWBuf currentText = module->getRawEntry();
+ if (currentText.length())
+ text = currentText + " " + text;
+ module->setEntry(text);
+}
+
+
+bool handleToken(SWBuf &text, XMLTag token) {
+ static bool inHeader = false;
+ static SWBuf headerType = "";
+ static SWBuf header = "";
+ static SWBuf lastTitle = "";
+ static int titleOffset = -1;
+
+ if ((!strcmp(token.getName(), "title")) && (!token.isEndTag())) {
+ titleOffset = text.length();
+ return false;
+ }
+ if ((!strcmp(token.getName(), "title")) && (token.isEndTag())) {
+ lastTitle = (text.c_str() + titleOffset);
+ lastTitle += token;
+ return false;
+ }
+ if (((!strcmp(token.getName(), "div")) && (!token.isEndTag()) && (token.getAttribute("osisID"))) && (!strcmp(token.getAttribute("type"), "book"))) {
+ if (inHeader) { // this one should never happen, but just in case
+// cout << "HEADING ";
+ writeEntry(*currentVerse, text);
+ inHeader = false;
+ }
+ *currentVerse = token.getAttribute("osisID");
+ currentVerse->Chapter(0);
+ currentVerse->Verse(0);
+ inHeader = true;
+ headerType = "book";
+ lastTitle = "";
+ text = "";
+ }
+ else if ((((!strcmp(token.getName(), "div")) && (!token.isEndTag()) && (token.getAttribute("osisID"))) && (!strcmp(token.getAttribute("type"), "chapter"))) || ((!strcmp(token.getName(), "chapter")) && (!token.isEndTag()) && (token.getAttribute("osisID")))) {
+ if (inHeader) {
+// cout << "HEADING ";
+ writeEntry(*currentVerse, text);
+ inHeader = false;
+ }
+
+ *currentVerse = token.getAttribute("osisID");
+ currentVerse->Verse(0);
+ inHeader = true;
+ headerType = "chap";
+ lastTitle = "";
+ text = "";
+ }
+ if ((!strcmp(token.getName(), "verse")) && (!token.isEndTag())) {
+ if (inHeader) {
+// cout << "HEADING ";
+ writeEntry(*currentVerse, text);
+ inHeader = false;
+ }
+
+ *currentVerse = token.getAttribute("osisID");
+ text = "";
+ return true;
+ }
+ if ((!strcmp(token.getName(), "verse")) && (token.isEndTag())) {
+ if (lastTitle.length()) {
+ SWBuf titleHead = lastTitle;
+ char *end = strchr(lastTitle.getRawData(), '>');
+ titleHead.setSize((end - lastTitle.getRawData())+1);
+ XMLTag titleTag(titleHead);
+ titleTag.setAttribute("type", "section");
+ titleTag.setAttribute("subtype", "x-preverse");
+ text = SWBuf(titleTag) + SWBuf(end+1) + text;
+ }
+ writeEntry(*currentVerse, text);
+ lastTitle = "";
+ text = "";
+ return true;
+ }
+ return false;
+}
+
+
+
+
+int main(int argc, char **argv) {
+
+ // Let's test our command line arguments
+ if (argc < 3) {
+ fprintf(stderr, "usage: %s <path/to/mod/files> <osisDoc> [0|1 - create module|augment]\n\n", argv[0]);
+ exit(-1);
+ }
+
+
+ if ((argc<4)||(!strcmp(argv[3], "0"))) { // == 0 then create module
+ // Try to initialize a default set of datafiles and indicies at our
+ // datapath location passed to us from the user.
+ if (RawText::createModule(argv[1])) {
+ fprintf(stderr, "error: %s: couldn't create module at path: %s \n", argv[0], argv[1]);
+ exit(-3);
+ }
+ }
+
+ // Let's see if we can open our input file
+ int fd = open(argv[2], O_RDONLY|O_BINARY);
+ if (fd < 0) {
+ fprintf(stderr, "error: %s: couldn't open input file: %s \n", argv[0], argv[2]);
+ exit(-2);
+ }
+
+ // Do some initialization stuff
+ char *buffer = 0;
+ module = new RawText(argv[1]); // open our datapath with our RawText driver.
+ currentVerse = new VerseKey();
+ currentVerse->AutoNormalize(0);
+ currentVerse->Headings(1); // turn on mod/testmnt/book/chap headings
+ currentVerse->Persist(1);
+
+ module->setKey(*currentVerse);
+
+ (*module) = TOP;
+
+ int successive = 0; //part of hack below
+
+ char *from;
+ SWBuf token;
+ SWBuf text;
+ bool intoken = false;
+
+ while (!readline(fd, &buffer)) {
+ for (from = buffer; *from; from++) {
+ if (*from == '<') {
+ intoken = true;
+ token = "<";
+ continue;
+ }
+
+ if (*from == '>') {
+ intoken = false;
+ token += ">";
+ // take this isalpha if out to check for bugs in text
+ if ((isalpha(token[1])) || (isalpha(token[2]))) {
+ if (!handleToken(text, token.c_str())) {
+ text += token;
+ }
+ }
+ continue;
+ }
+
+ if (intoken)
+ token += *from;
+ else text += *from;
+ }
+ }
+ // clear up our buffer that readline might have allocated
+ if (buffer)
+ delete [] buffer;
+ delete module;
+ delete currentVerse;
+ close(fd);
+}
+
+
+
+
+/*
+ string verseText = "";
+
+ // chapter number
+ if (!strncmp("$$$ ", buffer, 4)) {
+ buffer[7] = 0;
+ chapter = atoi(buffer+4);
+ continue;
+ }
+ // header
+ if (!strncmp("<TD COLSPAN=4 VALIGN=TOP><FONT SIZE=2><B>", buffer, 41)) {
+ char *end = strstr(buffer+41, "</B>");
+ *end = 0;
+ header = buffer+41;
+ continue;
+ }
+ // verse number
+ if (!strncmp("<TD VALIGN=TOP ALIGN=RIGHT WIDTH=12><FONT SIZE=2 COLOR=RED><B><SUP>", buffer, 67)) {
+ char *end = strstr(buffer+67, "</SUP>");
+ *end = 0;
+ verse = atoi(buffer+67);
+ continue;
+ }
+ // Actual verse data
+ if (!strncmp("<TD VALIGN=TOP><FONT SIZE=2>", buffer, 28)) {
+ char *end = strstr(buffer+28, "</FONT>");
+ *end = 0;
+ }
+ // extra
+ else {
+ continue;
+ }
+
+ verseText = buffer + 28;
+
+ if (header.length()) {
+ verseText = "<title type=\"section\" subtype=\"x-preverse\">" + header + "</title>" + verseText;
+ header = "";
+ }
+
+ string vsbuf = argv[3];
+ sprintf(tmpBuf, "%i", chapter);
+ vsbuf += ((string)" ") + tmpBuf;
+ sprintf(tmpBuf, "%i", verse);
+ vsbuf += ((string)":") + tmpBuf;
+ vk = vsbuf.c_str();
+ if (vk.Error()) {
+ std::cerr << "Error parsing key: " << vsbuf << "\n";
+ exit(-5);
+ }
+ string orig = mod.getRawEntry();
+
+ if (!isKJVRef(vsbuf.c_str())) {
+ VerseKey origVK = vk;
+// This block is functioning improperly -- problem with AutoNormalize???
+// do {
+// vk--;
+// }
+// while (!vk.Error() && !isKJVRef(vk));
+
+ //hack to replace above:
+ successive++;
+ vk -= successive;
+ orig = mod.getRawEntry();
+
+ std::cerr << "Not a valid KJV ref: " << origVK << "\n";
+ std::cerr << "appending to ref: " << vk << "\n";
+ orig += " [ (";
+ orig += origVK;
+ orig += ") ";
+ orig += verseText;
+ orig += " ] ";
+ verseText = orig.c_str();
+ }
+ else {
+ successive = 0;
+ }
+
+ if (orig.length() > 1)
+ std::cerr << "Warning, overwriting verse: " << vk << std::endl;
+
+ // ------------- End verse tests -----------------
+ std::cout << "adding "<< vk << "\n";
+ mod << verseText.c_str(); // save text to module at current position
+ }
+
+*/
diff --git a/utilities/step2vpl.cpp b/utilities/step2vpl.cpp
index fa3f84f..06e0aeb 100644
--- a/utilities/step2vpl.cpp
+++ b/utilities/step2vpl.cpp
@@ -1,9 +1,14 @@
-#include <iostream.h>
+#include <iostream>
#include <string>
#include <stdio.h>
#include <fcntl.h>
+
+#ifndef __GNUC__
+#include <io.h>
+#else
#include <unistd.h>
+#endif
#include <lzsscomprs.h>
@@ -12,6 +17,9 @@
#endif
using namespace std;
+#ifndef NO_SWORD_NAMESPACE
+using namespace sword;
+#endif
long SECTIONSLEVELSTART = 38;
long SECTIONSLEVELSIZE = 29;
@@ -211,8 +219,9 @@ void readVersion(int fd, Version *versionRecord) {
int skip = versionRecord->versionRecordSize - 16/*sizeof(struct Version*/;
if (skip) {
- char skipbuf[skip];
+ char *skipbuf = new char[skip];
read(fd, skipbuf, skip);
+ delete [] skipbuf;
}
}
@@ -228,8 +237,9 @@ void readSectionsHeader(int fd, SectionsHeader *sectionsHeaderRecord) {
int skip = sectionsHeaderRecord->sectionsHeaderRecordSize - 16/*sizeof(struct ViewableHeader)*/;
if (skip) {
- char skipbuf[skip];
+ char *skipbuf = new char[skip];
read(fd, skipbuf, skip);
+ delete [] skipbuf;
}
}
@@ -247,8 +257,9 @@ void readViewableHeader(int fd, ViewableHeader *viewableHeaderRecord) {
int skip = viewableHeaderRecord->viewableHeaderRecordSize - 16/*sizeof(struct ViewableHeader)*/;
if (skip) {
- char skipbuf[skip];
+ char *skipbuf = new char[skip];
read(fd, skipbuf, skip);
+ delete [] skipbuf;
}
}
@@ -266,8 +277,9 @@ void readVSyncHeader(int fd, VSyncHeader *vSyncHeaderRecord) {
int skip = vSyncHeaderRecord->vSyncHeaderRecordSize - 16/*sizeof(VSyncHeader)*/;
if (skip) {
- char skipbuf[skip];
+ char *skipbuf = new char[skip];
read(fd, skipbuf, skip);
+ delete [] skipbuf;
}
}
diff --git a/utilities/stepdump.cpp b/utilities/stepdump.cpp
index d52600a..e13a826 100644
--- a/utilities/stepdump.cpp
+++ b/utilities/stepdump.cpp
@@ -1,8 +1,13 @@
-#include <iostream.h>
+#include <iostream>
#include <string>
#include <fcntl.h>
+
+#ifndef __GNUC__
+#include <io.h>
+#else
#include <unistd.h>
+#endif
#include <lzsscomprs.h>
@@ -12,6 +17,9 @@
using namespace std;
+#ifndef NO_SWORD_NAMESPACE
+using namespace sword;
+#endif
typedef struct {
short versionRecordSize;
@@ -163,8 +171,9 @@ void readVersion(int fd, Version *versionRecord) {
if (skip) {
cout << "\nSkipping " << skip << " unknown bytes.\n";
- char skipbuf[skip];
+ char *skipbuf = new char[skip];
read(fd, skipbuf, skip);
+ delete [] skipbuf;
}
}
@@ -196,8 +205,9 @@ void readViewableHeader(int fd, ViewableHeader *viewableHeaderRecord) {
if (skip) {
cout << "\nSkipping " << skip << " unknown bytes.\n";
- char skipbuf[skip];
+ char *skipbuf = new char[skip];
read(fd, skipbuf, skip);
+ delete [] skipbuf;
}
}
diff --git a/utilities/thml2gbs.cpp b/utilities/thml2gbs.cpp
index eb1eadc..ca5b31c 100644
--- a/utilities/thml2gbs.cpp
+++ b/utilities/thml2gbs.cpp
@@ -11,7 +11,7 @@
#endif
#include <entriesblk.h>
-#include <iostream.h>
+#include <iostream>
#include <string>
#include <stdio.h>
#include <treekeyidx.h>
@@ -21,14 +21,20 @@
#define O_BINARY 0
#endif
+#ifndef NO_SWORD_NAMESPACE
+using sword::TreeKeyIdx;
+using sword::RawGenBook;
+using sword::SWKey;
+#endif
+
void printTree(TreeKeyIdx treeKey, TreeKeyIdx *target = 0, int level = 1) {
if (!target)
target = &treeKey;
unsigned long currentOffset = target->getOffset();
- cout << ((currentOffset == treeKey.getOffset()) ? "==>" : "");
- for (int i = 0; i < level; i++) cout << "\t";
- cout << treeKey.getLocalName() << "/\n";
+ std::cout << ((currentOffset == treeKey.getOffset()) ? "==>" : "");
+ for (int i = 0; i < level; i++) std::cout << "\t";
+ std::cout << treeKey.getLocalName() << "/\n";
if (treeKey.firstChild()) {
printTree(treeKey, target, level+1);
treeKey.parent();
@@ -69,7 +75,7 @@ void setkey (TreeKeyIdx * treeKey, char* keybuffer) {
treeKey->save();
}
- //DEBUG cout << treeKey->getLocalName() << " : " << tok << endl;
+ //DEBUG std::cout << treeKey->getLocalName() << " : " << tok << std::endl;
tok = strtok(NULL, "/");
@@ -81,7 +87,7 @@ int main(int argc, char **argv) {
const char * helptext ="thml2gbs 1.0 General Book module creation tool for the SWORD Project\n usage:\n %s <filename> [modname] [0|1 - long names] [0|1 - output in 'import format']\n";
signed long i = 0;
- string divs[6];
+ std::string divs[6];
int level = 0;
char* keybuffer = new char[2048];
char* entbuffer = new char[1048576];
@@ -103,9 +109,8 @@ int main(int argc, char **argv) {
char* n = new char[256];
char* type = new char[256];
char* title= new char[512];
-
- char* strtmp;
+ char* strtmp;
if (argc > 2) {
strcpy (modname, argv[2]);
}
@@ -120,7 +125,6 @@ int main(int argc, char **argv) {
exit(-1);
}
-
FILE *infile;
infile = fopen(argv[1], "r");
FILE *outfile;
@@ -128,7 +132,7 @@ int main(int argc, char **argv) {
strcat (modname, ".imp");
outfile = fopen(modname, "w");
}
-
+
TreeKeyIdx * treeKey;
RawGenBook *book;
@@ -142,7 +146,7 @@ int main(int argc, char **argv) {
//DEBUG TreeKeyIdx root = *((TreeKeyIdx *)((SWKey *)(*book)));
treeKey = ((TreeKeyIdx *)((SWKey *)(*book)));
}
-
+
int c;
while ((c = fgetc(infile)) != EOF) {
if (c == '<') {
@@ -160,14 +164,14 @@ int main(int argc, char **argv) {
}
if (level) {
- cout << keybuffer << endl;
+ printf ("%s\n", keybuffer);
if (exportfile) {
fprintf (outfile, "$$$%s\n%s\n", keybuffer, entbuffer);
}
else {
treeKey->root();
setkey(treeKey, keybuffer);
- book->setentry(entbuffer, entrysize); // save text to module at current position
+ book->setEntry(entbuffer, entrysize); // save text to module at current position
}
}
}
@@ -200,14 +204,14 @@ int main(int argc, char **argv) {
}
if (level) {
- cout << keybuffer << endl;
+ printf ("%s\n", keybuffer);
if (exportfile) {
fprintf (outfile, "$$$%s\n%s\n", keybuffer, entbuffer);
}
else {
treeKey->root();
setkey(treeKey, keybuffer);
- book->setentry(entbuffer, entrysize); // save text to module at current position
+ book->setEntry(entbuffer, entrysize); // save text to module at current position
}
}
}
@@ -227,7 +231,7 @@ int main(int argc, char **argv) {
}
}
keybuffer[keysize] = 0;
-
+
type[0] = 0;
strtmp = strstr(keybuffer, "type=\"");
if (strtmp) {
@@ -303,7 +307,9 @@ int main(int argc, char **argv) {
entbuffer[entrysize] = 0;
}
}
+
//DEBUG printTree(root, treeKey);
+ return 0;
delete treeKey;
delete book;
diff --git a/utilities/txt2sword.cpp b/utilities/txt2sword.cpp
index 5528905..1e37c72 100644
--- a/utilities/txt2sword.cpp
+++ b/utilities/txt2sword.cpp
@@ -5,7 +5,12 @@
#include <ctype.h>
#include <versekey.h>
#include <sys/stat.h>
-#include <iostream.h>
+#include <iostream>
+
+#ifndef NO_SWORD_NAMESPACE
+using sword::VerseKey;
+#endif
+
const long MAXVLEN = 8192;
int fp, vfp, cfp, bfp, dfp;
@@ -146,7 +151,7 @@ char getVerse(int fp, int *verseNum, char *verseBuf, char testament)
else
break;
}
- cout << tvn << " ";
+ std::cout << tvn << " ";
*verseNum = tvn;
while (1) {
@@ -158,7 +163,7 @@ char getVerse(int fp, int *verseNum, char *verseBuf, char testament)
}
strcat (verseBuf, "\n");
- cout << verseBuf;
+ std::cout << verseBuf;
if (retVal)
retVal = 0;
diff --git a/utilities/vpl2mod.cpp b/utilities/vpl2mod.cpp
index 305225f..0b65a87 100644
--- a/utilities/vpl2mod.cpp
+++ b/utilities/vpl2mod.cpp
@@ -12,13 +12,22 @@
#include <swmgr.h>
#include <rawtext.h>
-#include <iostream.h>
+#include <iostream>
#include <string>
#ifndef O_BINARY
#define O_BINARY 0
#endif
+#ifndef NO_SWORD_NAMESPACE
+using sword::SWMgr;
+using sword::RawText;
+using sword::VerseKey;
+using sword::SW_POSITION;
+#endif
+
+using std::string;
+
char readline(int fd, char **buf) {
char ch;
if (*buf)
@@ -84,7 +93,7 @@ char *parseVReg(char *buf) {
if (isdigit(*buf))
stage++;
break;
- case 4:
+ case 4:
if (*buf == ' ') {
*buf = 0;
return ++buf;
@@ -93,7 +102,7 @@ char *parseVReg(char *buf) {
}
buf++;
}
- return (stage == 4) ? buf : 0; // if we got to stage 4 return empty buf, else return error
+ return (stage == 4) ? buf : 0; // if we got to stage 4 return after key buf, else return 0;
}
@@ -107,7 +116,7 @@ bool isKJVRef(const char *buf) {
test = buf;
if (vk.Testament() && vk.Book() && vk.Chapter() && vk.Verse()) { // if we're not a heading
-// cerr << (const char*)vk << " == " << (const char*)test << endl;
+// std::cerr << (const char*)vk << " == " << (const char*)test << std::endl;
return (vk == test);
}
else return true; // no check if we're a heading... Probably bad.
@@ -122,7 +131,7 @@ void fixText(char *text) {
if (!*text)
break;
if (*text != ' ')
- cerr << "problem\n";
+ std::cerr << "problem\n";
else text++;
}
*to = 0;
@@ -185,7 +194,7 @@ int main(int argc, char **argv) {
vk.Headings(1); // turn on mod/testmnt/book/chap headings
vk.Persist(1);
- mod.SetKey(vk);
+ mod.setKey(vk);
// Loop through module from TOP to BOTTOM and set next line from
// input file as text for this entry in the module
@@ -199,11 +208,15 @@ int main(int argc, char **argv) {
if (vref) {
const char *verseText = parseVReg(buffer);
if (!verseText) { // if we didn't find a valid verse ref
- cerr << "No valid verse ref found on line: " << buffer << "\n";
+ std::cerr << "No valid verse ref found on line: " << buffer << "\n";
exit(-4);
}
vk = buffer;
+ if (vk.Error()) {
+ std::cerr << "Error parsing key: " << buffer << "\n";
+ exit(-5);
+ }
string orig = mod.getRawEntry();
if (!isKJVRef(buffer)) {
@@ -218,8 +231,8 @@ int main(int argc, char **argv) {
vk -= successive;
orig = mod.getRawEntry();
- cerr << "Not a valid KJV ref: " << origVK << "\n";
- cerr << "appending to ref: " << vk << "\n";
+ std::cerr << "Not a valid KJV ref: " << origVK << "\n";
+ std::cerr << "appending to ref: " << vk << "\n";
orig += " [ (";
orig += origVK;
orig += ") ";
@@ -232,8 +245,8 @@ int main(int argc, char **argv) {
}
if (orig.length() > 1)
- cerr << "Warning, overwriting verse: " << vk << endl;
-
+ std::cerr << "Warning, overwriting verse: " << vk << std::endl;
+
// ------------- End verse tests -----------------
mod << verseText; // save text to module at current position
}
diff --git a/utilities/vs2osisref.cpp b/utilities/vs2osisref.cpp
new file mode 100644
index 0000000..c0e7e61
--- /dev/null
+++ b/utilities/vs2osisref.cpp
@@ -0,0 +1,108 @@
+// Compression on variable granularity
+#include <fcntl.h>
+#include <iostream>
+#include <fstream>
+
+#ifndef __GNUC__
+#include <io.h>
+#else
+#include <unistd.h>
+#endif
+
+#include <ztext.h>
+#include <zld.h>
+#include <zcom.h>
+#include <swmgr.h>
+#include <lzsscomprs.h>
+#include <zipcomprs.h>
+#include <versekey.h>
+#include <thmlosis.h>
+#include <stdio.h>
+#include <markupfiltmgr.h>
+#include <algorithm>
+
+#ifndef NO_SWORD_NAMESPACE
+using namespace sword;
+#endif
+using std::endl;
+using std::cerr;
+using std::cout;
+
+
+const char *convertToOSIS(const char *inRef, const SWKey *key) {
+ static SWBuf outRef;
+
+ outRef = "";
+
+ VerseKey defLanguage;
+ ListKey verses = defLanguage.ParseVerseList(inRef, (*key), true);
+ const char *startFrag = inRef;
+ for (int i = 0; i < verses.Count(); i++) {
+ VerseKey *element = SWDYNAMIC_CAST(VerseKey, verses.GetElement(i));
+ char buf[5120];
+ char frag[800];
+ char preJunk[800];
+ char postJunk[800];
+ memset(buf, 0, 5120);
+ memset(frag, 0, 800);
+ memset(preJunk, 0, 800);
+ memset(postJunk, 0, 800);
+ while ((*startFrag) && (strchr(" ;,()[].", *startFrag))) {
+ outRef += *startFrag;
+ startFrag++;
+ }
+ if (element) {
+ memmove(frag, startFrag, ((const char *)element->userData - startFrag) + 1);
+ frag[((const char *)element->userData - startFrag) + 1] = 0;
+ int j;
+ for (j = strlen(frag)-1; j && (strchr(" ;,()[].", frag[j])); j--);
+ if (frag[j+1])
+ strcpy(postJunk, frag+j+1);
+ frag[j+1]=0;
+ startFrag += ((const char *)element->userData - startFrag) + 1;
+ sprintf(buf, "<reference osisRef=\"%s-%s\">%s</reference>%s", element->LowerBound().getOSISRef(), element->UpperBound().getOSISRef(), frag, postJunk);
+ }
+ else {
+ memmove(frag, startFrag, ((const char *)verses.GetElement(i)->userData - startFrag) + 1);
+ frag[((const char *)verses.GetElement(i)->userData - startFrag) + 1] = 0;
+ int j;
+ for (j = strlen(frag)-1; j && (strchr(" ;,()[].", frag[j])); j--);
+ if (frag[j+1])
+ strcpy(postJunk, frag+j+1);
+ frag[j+1]=0;
+ startFrag += ((const char *)verses.GetElement(i)->userData - startFrag) + 1;
+ sprintf(buf, "<reference osisRef=\"%s\">%s</reference>%s", VerseKey(*verses.GetElement(i)).getOSISRef(), frag, postJunk);
+ }
+ outRef+=buf;
+ }
+ if (startFrag < (inRef + strlen(inRef)))
+ outRef+=startFrag;
+ return outRef.c_str();
+}
+
+int main(int argc, char **argv)
+{
+ if (argc < 2) {
+ cerr << argv[0] << " - a tool to convert verse references from English to OSIS\n";
+ cerr << "usage: "<< argv[0] << " <verse ref> [verse context]\n";
+ cerr << "\n\n";
+ exit(-1);
+ }
+ VerseKey verseKey;
+ int i = strlen(argv[1]) + 1;
+ char * verseString = new char[i];
+ strcpy (verseString, argv[1]);
+ verseString[i - 1] = 0;
+
+ if (argc > 2) {
+ verseKey = argv[2];
+ }
+ else {
+ verseKey = "Gen 1:1";
+ }
+
+ std::cout << convertToOSIS(verseString, &verseKey) << "\n";
+
+ return 0;
+}
+
diff --git a/utilities/xml2gbs.cpp b/utilities/xml2gbs.cpp
new file mode 100644
index 0000000..2461be1
--- /dev/null
+++ b/utilities/xml2gbs.cpp
@@ -0,0 +1,484 @@
+#include <ctype.h>
+#include <stdio.h>
+#include <fcntl.h>
+#include <errno.h>
+#include <stdlib.h>
+
+#ifndef __GNUC__
+#include <io.h>
+#else
+#include <unistd.h>
+#endif
+
+#include <entriesblk.h>
+//#include <iostream>
+#include <string>
+#include <stdio.h>
+#include <treekeyidx.h>
+#include <rawgenbook.h>
+
+#ifndef O_BINARY
+#define O_BINARY 0
+#endif
+
+#ifndef NO_SWORD_NAMESPACE
+using sword::TreeKeyIdx;
+using sword::RawGenBook;
+using sword::SWKey;
+#endif
+
+#define DEBUG
+
+/*
+void printTree(TreeKeyIdx treeKey, TreeKeyIdx *target = 0, int level = 1) {
+ if (!target)
+ target = &treeKey;
+
+ unsigned long currentOffset = target->getOffset();
+ std::cout << ((currentOffset == treeKey.getOffset()) ? "==>" : "");
+ for (int i = 0; i < level; i++) std::cout << "\t";
+ std::cout << treeKey.getLocalName() << "/\n";
+ if (treeKey.firstChild()) {
+ printTree(treeKey, target, level+1);
+ treeKey.parent();
+ }
+ if (treeKey.nextSibling())
+ printTree(treeKey, target, level);
+}
+*/
+
+
+void setkey (TreeKeyIdx * treeKey, char* keybuffer) {
+ char* tok = strtok(keybuffer, "/");
+ while (tok) {
+ bool foundkey = false;
+ if (treeKey->hasChildren()) {
+ treeKey->firstChild();
+ if (!strcmp(treeKey->getLocalName(), tok)) {
+ foundkey = true;
+ } else {
+ while (treeKey->nextSibling()) {
+ if (treeKey->getLocalName()) {
+ if (!strcmp(treeKey->getLocalName(), tok)) {
+ foundkey = true;
+ }
+ }
+ }
+ }
+ if (!foundkey) {
+ treeKey->append();
+ treeKey->setLocalName(tok);
+ treeKey->save();
+ }
+ }
+ else {
+ treeKey->appendChild();
+ treeKey->setLocalName(tok);
+ treeKey->save();
+ }
+
+#ifdef DEBUG
+// std::cout << treeKey->getLocalName() << " : " << tok << std::endl;
+#endif
+
+ tok = strtok(NULL, "/");
+
+ }
+}
+
+int readline(FILE* infile, char* linebuffer) {
+ signed char c;
+ char* lbPtr = linebuffer;
+ while ((c = fgetc(infile)) != EOF) {
+ *lbPtr++ = c;
+ if (c == 10) {
+ *lbPtr = 0;
+ return (lbPtr-linebuffer);
+ }
+ }
+ return 0;
+}
+
+enum XML_FORMATS { F_AUTODETECT, F_OSIS, F_THML };
+
+#define HELPTEXT "xml2gbs 1.0 OSIS/ThML General Book module creation tool for the SWORD Project\n usage:\n xml2gbs [-l] [-i] [-fT|-fO] <filename> [modname]\n -l uses long div names in ThML files\n -i exports to IMP format instead of creating a module\n -fO and -fT will set the importer to expect OSIS or ThML format respectively\n (otherwise it attempts to autodetect)\n"
+
+unsigned char detectFormat(char* filename, char* entbuffer) {
+
+ unsigned char format = F_AUTODETECT;
+
+ FILE *infile;
+ infile = fopen(filename, "r");
+ if (!infile) {
+ fprintf(stderr, HELPTEXT);
+ fprintf(stderr, "\n\nCould not open file \"%s\"\n", filename);
+ }
+ else {
+ while (readline(infile, entbuffer) && format == F_AUTODETECT) {
+ if (strstr(entbuffer, "<osis")) {
+ format = F_OSIS;
+ }
+ else if (strstr(entbuffer, "<ThML")) {
+ format = F_THML;
+ }
+ }
+ fclose(infile);
+ }
+
+ return format;
+}
+
+int getTag(FILE* file, char* keybuffer) {
+ char c;
+ char* kbPtr = keybuffer;
+ while ((c = fgetc(file)) != '>')
+ *kbPtr++ = c;
+ *kbPtr++ = c;
+ *kbPtr = 0;
+ return (kbPtr-keybuffer);
+}
+
+int processXML(char* filename, char* modname, bool longnames, bool exportfile, unsigned char format, char* entbuffer) {
+ signed long i = 0;
+ char* strtmp;
+
+#ifdef DEBUG
+ printf ("%s :%s :%d :%d :%d\n\n", filename, modname, longnames, exportfile, format);
+#endif
+
+ FILE *infile;
+ infile = fopen(filename, "r");
+ if (!infile) {
+ fprintf(stderr, HELPTEXT);
+ fprintf(stderr, "\n\nCould not open file \"%s\"\n", filename);
+ return -1;
+ }
+ FILE *outfile;
+ if (exportfile) {
+ strcat (modname, ".imp");
+ outfile = fopen(modname, "w");
+ }
+
+ TreeKeyIdx * treeKey;
+ RawGenBook * book;
+
+ std::string divs[32];
+
+ int level = 0;
+ char* keybuffer = new char[2048];
+ char* keybuffer2 = new char[2048];
+ char* n = new char[256];
+ char* type = new char[256];
+ char* title= new char[512];
+ unsigned long entrysize = 0;
+ unsigned long keysize = 0;
+ bool closer = false;
+
+ if (!exportfile) {
+ // Do some initialization stuff
+ TreeKeyIdx::create(modname);
+ treeKey = new TreeKeyIdx(modname);
+ RawGenBook::createModule(modname);
+ delete treeKey;
+ book = new RawGenBook(modname);
+ treeKey = ((TreeKeyIdx *)((SWKey *)(*book)));
+ }
+
+#ifdef DEBUG
+// TreeKeyIdx root = *((TreeKeyIdx *)((SWKey *)(*book)));
+#endif
+
+ int c;
+ while ((c = fgetc(infile)) != EOF) {
+ if (c == '<') {
+ if (getTag(infile, keybuffer)) {
+ if ((format == F_OSIS) && ((!strcmp(keybuffer, "/div>")) || (!strcmp(keybuffer, "/verse>"))) ||
+ ((format == F_THML) && ((!strncmp(keybuffer, "/div", 4)) && (keybuffer[4] > '0' && keybuffer[4] < '7')))) {
+ if (!closer) {
+ keysize = 0;
+ keybuffer2[0] = 0;
+ for (i = 0; i < level; i++) {
+ keybuffer2[keysize] = '/';
+ keysize++;
+ keybuffer2[keysize] = 0;
+ strcat (keybuffer2, divs[i].c_str());
+ keysize += divs[i].length();
+ }
+
+ if (level) {
+ printf ("%s\n", keybuffer2);
+ if (exportfile) {
+ fprintf (outfile, "$$$%s\n%s\n", keybuffer2, entbuffer);
+ }
+ else {
+ treeKey->root();
+ setkey(treeKey, keybuffer2);
+ book->setEntry(entbuffer, entrysize); // save text to module at current position
+ }
+ }
+ }
+ level--;
+ entbuffer[0] = 0;
+ entrysize = 0;
+
+ closer = true;
+ }
+ else if ((format == F_OSIS) && !((!strcmp(keybuffer, "div>") || !strncmp(keybuffer, "div ", 4)) || (!strcmp(keybuffer, "verse>") || !strncmp(keybuffer, "verse ", 6))) ||
+ ((format == F_THML) && !((!strncmp(keybuffer, "div", 3)) && (keybuffer[3] > '0' && keybuffer[3] < '7')))) {
+ entbuffer[entrysize++] = '<';
+ for (i = 0; i <= strlen(keybuffer); i++) {
+ entbuffer[entrysize++] = keybuffer[i];
+ }
+ entrysize--;
+ }
+ else {
+ //we have a divN...
+ if (!closer) {
+ keysize = 0;
+ keybuffer2[0] = 0;
+ for (i = 0; i < level; i++) {
+ keybuffer2[keysize] = '/';
+ keysize++;
+ keybuffer2[keysize] = 0;
+ strcat (keybuffer2, divs[i].c_str());
+ keysize += divs[i].length();
+ }
+
+ if (level) {
+ printf ("%s\n", keybuffer2);
+ if (exportfile) {
+ fprintf (outfile, "$$$%s\n%s\n", keybuffer2, entbuffer);
+ }
+ else {
+ treeKey->root();
+ setkey(treeKey, keybuffer2);
+ book->setEntry(entbuffer, entrysize); // save text to module at current position
+ }
+ }
+ }
+
+ entbuffer[0] = 0;
+ entrysize = 0;
+
+ level++;
+ keysize = strlen(keybuffer)-1;
+/* keysize = 0;
+ while ((c = fgetc(infile)) != EOF) {
+ if (c != '>') {
+ keybuffer[keysize] = c;
+ keysize++;
+ }
+ else {
+ break;
+ }
+ }
+ keybuffer[keysize] = 0;*/
+
+ type[0] = 0;
+ n[0] = 0;
+ title[0] = 0;
+
+ if (format == F_OSIS && longnames == false) {
+ strtmp = strstr(keybuffer, "osisID=\"");
+ if (strtmp) {
+ strtmp += 8;
+ i = 0;
+ for (;*strtmp != '\"'; strtmp++) {
+ if (*strtmp == 10) {
+ title[i] = ' ';
+ i++;
+ }
+ else if (*strtmp == '.') {
+ i = 0;
+ }
+ else if (*strtmp != 13) {
+ title[i] = *strtmp;
+ i++;
+ }
+ }
+ title[i] = 0;
+ }
+ strcpy (keybuffer, title);
+ }
+ else {
+ strtmp = strstr(keybuffer, "type=\"");
+ if (strtmp) {
+ strtmp += 6;
+ i = 0;
+ for (;*strtmp != '\"'; strtmp++) {
+ if (*strtmp == 10) {
+ type[i] = ' ';
+ i++;
+ }
+ else if (*strtmp != 13) {
+ type[i] = *strtmp;
+ i++;
+ }
+ }
+ type[i] = 0;
+ }
+
+ strtmp = strstr(keybuffer, "n=\"");
+ if (strtmp) {
+ strtmp += 3;
+ i = 0;
+ for (;*strtmp != '\"'; strtmp++) {
+ if (*strtmp == 10) {
+ n[i] = ' ';
+ i++;
+ }
+ else if (*strtmp != 13) {
+ n[i] = *strtmp;
+ i++;
+ }
+ }
+ n[i] = 0;
+ }
+
+ if (format == F_OSIS) {
+ strtmp = strstr(keybuffer, "title=\"");
+ if (strtmp) {
+ strtmp += 7;
+ i = 0;
+ for (;*strtmp != '\"'; strtmp++) {
+ if (*strtmp == 10) {
+ title[i] = ' ';
+ i++;
+ }
+ else if (*strtmp != 13) {
+ title[i] = *strtmp;
+ i++;
+ }
+ }
+ title[i] = 0;
+ }
+ }
+ else if (format == F_THML) {
+ strtmp = strstr(keybuffer, "title=\"");
+ if (strtmp) {
+ strtmp += 7;
+ i = 0;
+ for (;*strtmp != '\"'; strtmp++) {
+ if (*strtmp == 10) {
+ title[i] = ' ';
+ i++;
+ }
+ else if (*strtmp != 13) {
+ title[i] = *strtmp;
+ i++;
+ }
+ }
+ title[i] = 0;
+ }
+ }
+
+ strcpy (keybuffer, type);
+ if (strlen(keybuffer) && strlen(n))
+ strcat (keybuffer, " ");
+ strcat (keybuffer, n);
+
+ if (longnames && strlen(keybuffer))
+ strcat (keybuffer, ": ");
+ if (longnames || !strlen(keybuffer))
+ strcat (keybuffer, title);
+ }
+ divs[level-1] = keybuffer;
+
+ closer = false;
+ }
+ }
+ }
+ else if (c != 13) {
+ entbuffer[entrysize] = c;
+ entrysize++;
+ entbuffer[entrysize] = 0;
+ }
+ }
+
+#ifdef DEBUG
+// printTree(root, treeKey);
+#endif
+
+// delete book; //causes nasty-bad errors upon execution
+ delete n;
+ delete type;
+ delete title;
+ delete keybuffer;
+}
+
+int main(int argc, char **argv) {
+ unsigned long i = 0;
+
+ char modname[256];
+ *modname = 0;
+ char filename[256];
+ *filename = 0;
+
+ bool longnames = false;
+ bool exportfile = false;
+ unsigned char format = F_AUTODETECT;
+
+ if (argc > 2) {
+ for (i = 1; i < argc; i++) {
+ if (argv[i][0] == '-') {
+ switch (argv[i][1]) {
+ case 'l':
+ longnames = true;
+ continue;
+ case 'i':
+ exportfile = true;
+ continue;
+ case 'f':
+ if (argv[i][2] == 'O') {
+ format = F_OSIS;
+ }
+ else if (argv[i][2] == 'T') {
+ format = F_OSIS;
+ }
+ else {
+ format = F_AUTODETECT;
+ }
+ continue;
+ }
+ }
+ else if (*filename == 0) {
+ strcpy (filename, argv[i]);
+ }
+ else if (*modname == 0) {
+ strcpy (modname, argv[i]);
+ }
+ }
+ }
+ else if (argc > 1) {
+ strcpy (filename, argv[1]);
+ }
+
+ if (!*filename) {
+ fprintf(stderr, HELPTEXT);
+ return -1;
+ }
+ else {
+ if (!*modname) {
+ for (i = 0; (i < 256) && (filename[i]) && (filename[i] != '.'); i++) {
+ modname[i] = filename[i];
+ }
+ modname[i] = 0;
+ }
+
+ char* entbuffer = new char[1048576];
+ format = (format == F_AUTODETECT) ? detectFormat(filename, entbuffer) : format;
+ if (format == F_AUTODETECT) {
+ fprintf(stderr, HELPTEXT);
+ fprintf(stderr, "\n\nCould not detect file format for file \"%s\", please specify.\n", filename);
+ return -1;
+ }
+
+ int retCode = processXML (filename, modname, longnames, exportfile, format, entbuffer);
+ delete entbuffer;
+
+ return retCode;
+ }
+}
+
+
+