[sword-devel] Pathway, SIL, GoBible and CrossWire

Greg Hellings greg.hellings at gmail.com
Wed Oct 19 19:05:06 MST 2011

On Wed, Oct 19, 2011 at 4:48 PM, Matthew Talbert <ransom1982 at gmail.com> wrote:
>> 3) Help with the C# bindings for SWORD. I know some people have talked
>> about them in the past, but I don't know what state they might be in.
>> Since Pathway is written in C#, it would be a great help to anyone
>> writing a SWORD export path if they could access the engine bindings
>> directly through C# rather than having to dump to a file and somehow
>> invoke a copy of the utilities.  The people who are interested in
>> using Pathway are incredibly illiterate when it comes to technology -
>> most of them weren't even able to identify the differences between a
>> smart phone and a "feature phone". So any export would need to write
>> out an entire module, ready to be uploaded directly to a hosting
>> location (or possibly a single ZIP archive which could be emailed to a
>> technical member of SIL by the translator for hosting). Our SWIG
>> bindings are OK and already in use for Python and Perl, and SWIG
>> supports C#, so hopefully getting them working would not be a huge
>> burden for someone. As the current pumpkin holder for SWIG I am
>> willing to work with anyone who wants to tackle adding C# to the set.
>> I don't work in C# at all, so I can't touch that myself.
> SWIG and C# are not fun....Python is the most well-supported language,
> there are quite a few things used in SWORD that are not currently
> supported with SWIG and C# (multimaps, for example). The other option
> is to write a wrapper in managed C++, which I think would probably be
> better (though I know little about it myself). Work has already been
> done on that, though not by the most popular person around.... After
> looking, it looks like very little has actually been done, but still
> it's a proof of concept:
> http://bibleworkplace.sourceforge.net/sword2netdoc/sword2net_8cpp_source.html

I believe Python is the only language that has a SWIG implementation
of std_multimap. In order to get the Perl bindings up and running
again I had to find a std_multimap.i file which is included in the
source of SWORD now.  Getting C# working would probably require a
similar feat along with writing up any build/install scripts to
actually create a DLL (or whatever the library style required for .NET


More information about the sword-devel mailing list