[jsword-devel] Parallel View with Differences
DM Smith
dmsmith555 at yahoo.com
Fri May 25 11:00:27 MST 2007
Martin,
It is in svn under http://www.crosswire.org/svn/jsword/trunk/common/
src/main/java/org/crosswire/common/diff
Test cases at http://www.crosswire.org/svn/jsword/trunk/common/src/
test/java/org/crosswire/common/diff
(note diff_patch_match.java in test is going away.)
For an example of how I use it see: http://www.crosswire.org/svn/
jsword/trunk/jsword/src/main/java/org/crosswire/jsword/book/
BookData.java
(This code will be moved to a better place. Right now this location
is a hack. So snag a copy soon.)
Wikipedia has lots of C code for the fundamental algorithms. So you
can use those to help you port it to C/C++.
If you do port it and add it to Sword, I'll be glad to maintain my
version and Sword's in parallel.
One of the things I hope to do is change the algorithm to difference
entire words rather than characters.
Also the performance is adequate in both time and space if it is used
a verse at a time and on no more than 50 or so verses.
There is one class in there that is not related to producing/using
diffs and that is Distance. I just added it to allow me to guess at a
module name from malformed input.
I'm probably going to do a bit more cleanup on it. (e.g. parameter
and variable name changes, add documentation, fix documentation, ...)
Enjoy,
DM
On May 25, 2007, at 12:39 PM, Martin Gruner wrote:
> Hi DM,
>
> I'm highly interested in your code for the diff display. If
> possible, I'd like
> to integrate this into BT as well.
>
> mg
>
> Am Donnerstag, 24. Mai 2007 schrieb DM Smith:
>> (cross-posting to sword-devel for their feedback, too)
>>
>> I have just committed a first pass at adding a comparison parallel
>> view
>> to JSword.
>>
>> (I ported JavaScript code from Neil Fraser into Java. It is also
>> available from him in Python. I don't think it would be too hard
>> to port
>> my code to C++, if anyone is interested.)
>>
>> Right now the showing of parallel texts and diffs is hard coded
>> into the
>> code, but will change by release time, giving the user full control.
>>
>> Here is how it works today in BibleDesktop:
>> If you select a Bible that is not your default Bible, you get
>> parallel
>> view. If it is they are also same language, then you will see an
>> additional
>> column between the two, showing the differences.
>>
>> I'd like to get your feedback. Especially on how to allow the user to
>> choose to show the diff column or not.
>>
>> Here is what it looks like: (ESV is my default Bible and I am showing
>> the NASB [which I am working on for Lockman Publishing])
>>
>> A parallel view with differences between versions
>
>
More information about the jsword-devel
mailing list