<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
</head>
<body>
<p>Thanks, Troy!</p>
<p>These numbers below look excellent! I will look into using the
VerseKey-based mapping approach for Ezra Project. However, it's
going to be a significant refactoring effort, so I'm probably not
going to get back with implementation-based feedback any time
soon. I just created an <a moz-do-not-send="true"
href="https://github.com/tobias-klein/ezra-project/issues/57">Issue
for Ezra Project</a> and I think this will be part of 0.14.0
(The release after the one I'm working on currently).</p>
<p>Regarding a shared/common bookmarking and tagging concept the
question is whether we only talk about a shared "export / import
format" or whether we talk about a complete persistence backend
that could be shared. Currently I'm storing my user data in a
SQLite database and it works well (including automated migrations
in case of db schema changes that are applied with new versions of
the application). I could imagine that even the discussion about
the storage backend could take a while in terms of alignment. I
realize that developers have quite different taste when it comes
to stuff like this. Also the question would be why this should be
limited to tags. In general it also applies to any other user data
like notes or user markup for the bible text.<br>
</p>
<p>Something more realistic than a shared storage backend would be a
shared export / import format. This I think may be worthwhile to
pursue. We could simply agree on a certain json or xml format for
this.<br>
@all: Who would be interested in this in general? We could start
with tags / topical verse lists.<br>
</p>
<p>The data model in Ezra Project is currently rather simple. It's
just a flat list of tags where each tag can be assigned to any
verse. In my database I currently have three tables to support
this. Tags (the actual list of topics/keywords), VerseTags (the
join/assignment table) and VerseReferences (the
abstract/module-independent objects tags get assigned to).</p>
<p>A tree introduces additional challenges in the user interface.
I've been thinking about introducing a tree structure for the
tags, not anytime soon though ... it's a rather big effort from a
user interface perspective.</p>
<p>I'm certainly curious about further input to this discussion.<br>
</p>
<p>Tobias<br>
</p>
<div class="moz-cite-prefix">On 5/7/20 6:54 PM, Troy A. Griffitts
wrote:<br>
</div>
<blockquote type="cite"
cite="mid:2295ee31-33d2-e782-081d-daec596992e6@crosswire.org">
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<p>Dear Tobias,</p>
<p>I would recommend KJVA, so you can get the Apocrypha. I
believe this is the common base Костя uses to convert between
systems. Костя has done a great job at optimization. I've
updated the verseconvert.cpp example to allow ranges. Here is a
timing for the entire book of Psalms:</p>
<p>[scribe@localhost classes]$ time ./verseconvert Ps Wycliffe
FreGeneve1669 > /dev/null<br>
<br>
real 0m0.195s<br>
user 0m0.162s<br>
sys 0m0.033s<br>
</p>
<p>My guess is that most of that time is simply with SWORD engine
initialization, discovering and opening my library.</p>
<p>Converting all verses in both Old and New Testament:</p>
<p>[scribe@localhost classes]$ time ./verseconvert Gen-Rev
Wycliffe FreGeneve1669 > /dev/null<br>
<br>
real 0m0.645s<br>
user 0m0.601s<br>
sys 0m0.042s<br>
</p>
<p>Hope this is helpful. Looking forward to your work. We've had
discussions over the many years of our project about sharing
bookmarking and similar data between apps, but we all had
different ideas of what we'd like. BibleCS (our Windows classic
app) concentrates on allowing verse groups and trees of groups
so users can create trees of topic. Other apps extend this to
allow comments and notes at each reference, including a specific
module name with the reference. We've all had different data
formats for our bookmarking materials. Since your app centers
on tagging (which I would place in the same category as
bookmarking), I would love to hear what you come up with and if
it encompasses everything which all of our frontends desire to
provide their users. Maybe we can make another go at a shared
"bookmarking" or "tagging" concept and push that concept back
into the engine so all app can share and take advantage of your
functionality, if you'd be willing.</p>
<p>Troy</p>
<p><br>
</p>
<div class="moz-cite-prefix">On 5/7/20 9:07 AM, Tobias Klein
wrote:<br>
</div>
<blockquote type="cite"
cite="mid:BC1096DE-9EA2-447A-96D5-FB4832ED3AA2@tklein.info">
<meta http-equiv="Content-Type" content="text/html;
charset=UTF-8">
Thanks Troy!
<div class=""><br class="">
</div>
<div class="">Besides comparing verses in different translations
my primary use case is the following:</div>
<div class="">Establish „unique verse reference“ objects that I
can use to assign tags independent of the specific
translation.</div>
<div class=""><br class="">
</div>
<div class="">Currently I’m doing this by determining the
„absolute verse number“ for the respective verse I’m tagging.</div>
<div class="">Then at the point when the „verse reference
object“ (a database entry) is created, the absolute verse
number both for English and Hebrew versification are
determined based on my mapping tables.</div>
<div class=""><br class="">
</div>
<div class="">Then, when looking up tags for the currently
selected verses I can map the correct „verse reference object“
to each verse in the currently selected translation (based on
the respective absolute verse number).</div>
<div class=""><br class="">
</div>
<div class="">If I migrate to the Sword VerseKey approach I
would change my concept in the following way:</div>
<div class=""><br class="">
</div>
<div class="">1) Use KJV verse references (chapter + verse) as
unique identifiers for all „abstract verse reference“ objects.
(Does KJV make sense as a „ reference versification“)</div>
<div class="">2) When opening a translation that does not follow
the KJV theme - map all verse references to the KJV variants
and use the KJV verse references (chapter + verse) as a key to
find the correct „verse reference“ objects in my database.</div>
<div class=""><br class="">
</div>
<div class="">What’s the performance of the SWORD VerseKey based
mapping function you described below?</div>
<div class=""><br class="">
</div>
<div class="">How would this work if I need to perform a mapping
operation on all verses of a large book like Psalms? (2461
verses).</div>
<div class="">Would this operation come back in less than a
second?</div>
<div class=""><br class="">
</div>
<div class="">If not I would have to think about some caching
mechanism in my verse reference objects. Currently I’m caching
the absolute verse numbers for English and Hebrew for all
tagged verse references.</div>
<div class="">With the new concept I could cache the actual
chapter/verse references for all known versification systems.</div>
<div class=""><br class="">
</div>
<div class="">Thanks for your help on this!</div>
<div class=""><br class="">
</div>
<div class="">Best regards,</div>
<div class="">Tobias</div>
<div class="">
<div><br class="">
<blockquote type="cite" class="">
<div class="">Am 06.05.2020 um 18:47 schrieb Troy A.
Griffitts <<a href="mailto:scribe@crosswire.org"
class="" moz-do-not-send="true">scribe@crosswire.org</a>>:</div>
<br class="Apple-interchange-newline">
<div class=""><span style="caret-color: rgb(0, 0, 0);
font-family: Helvetica; font-size: 12px; font-style:
normal; font-variant-caps: normal; font-weight:
normal; letter-spacing: normal; text-align: start;
text-indent: 0px; text-transform: none; white-space:
normal; word-spacing: 0px; -webkit-text-stroke-width:
0px; text-decoration: none; float: none; display:
inline !important;" class="">Yes, as Peter has pointed
out, SWORD includes a facility for mapping, graciously
contributed by Костя Маслюк<span
class="Apple-converted-space"> </span></span><a
class="moz-txt-link-rfc2396E"
href="mailto:kostyamaslyuk@gmail.com" style="color:
purple; text-decoration: underline; font-family:
Helvetica; font-size: 12px; font-style: normal;
font-variant-caps: normal; font-weight: normal;
letter-spacing: normal; orphans: auto; text-align:
start; text-indent: 0px; text-transform: none;
white-space: normal; widows: auto; word-spacing: 0px;
-webkit-text-size-adjust: auto;
-webkit-text-stroke-width: 0px;"
moz-do-not-send="true"><kostyamaslyuk@gmail.com></a><span
style="caret-color: rgb(0, 0, 0); font-family:
Helvetica; font-size: 12px; font-style: normal;
font-variant-caps: normal; font-weight: normal;
letter-spacing: normal; text-align: start;
text-indent: 0px; text-transform: none; white-space:
normal; word-spacing: 0px; -webkit-text-stroke-width:
0px; text-decoration: none; float: none; display:
inline !important;" class=""><span
class="Apple-converted-space"> </span>and should
"just work" when setting a key from one module to
another, e.g, kjv->setKey(wycliffe->getKey()).
It's not quite that simple, because there isn't always
a 1:1 mapping, so if you want full support, you'll
have to see if a bound is set on the receiving
module's key.</span><br style="caret-color: rgb(0, 0,
0); font-family: Helvetica; font-size: 12px;
font-style: normal; font-variant-caps: normal;
font-weight: normal; letter-spacing: normal;
text-align: start; text-indent: 0px; text-transform:
none; white-space: normal; word-spacing: 0px;
-webkit-text-stroke-width: 0px; text-decoration:
none;" class="">
<br style="caret-color: rgb(0, 0, 0); font-family:
Helvetica; font-size: 12px; font-style: normal;
font-variant-caps: normal; font-weight: normal;
letter-spacing: normal; text-align: start;
text-indent: 0px; text-transform: none; white-space:
normal; word-spacing: 0px; -webkit-text-stroke-width:
0px; text-decoration: none;" class="">
<span style="caret-color: rgb(0, 0, 0); font-family:
Helvetica; font-size: 12px; font-style: normal;
font-variant-caps: normal; font-weight: normal;
letter-spacing: normal; text-align: start;
text-indent: 0px; text-transform: none; white-space:
normal; word-spacing: 0px; -webkit-text-stroke-width:
0px; text-decoration: none; float: none; display:
inline !important;" class="">The mapping data, as with
everything, is not exhaustive, but we'd certainly like
to extend it to meet cases which you run into which
aren't yet supported.</span><br style="caret-color:
rgb(0, 0, 0); font-family: Helvetica; font-size: 12px;
font-style: normal; font-variant-caps: normal;
font-weight: normal; letter-spacing: normal;
text-align: start; text-indent: 0px; text-transform:
none; white-space: normal; word-spacing: 0px;
-webkit-text-stroke-width: 0px; text-decoration:
none;" class="">
<span style="caret-color: rgb(0, 0, 0); font-family:
Helvetica; font-size: 12px; font-style: normal;
font-variant-caps: normal; font-weight: normal;
letter-spacing: normal; text-align: start;
text-indent: 0px; text-transform: none; white-space:
normal; word-spacing: 0px; -webkit-text-stroke-width:
0px; text-decoration: none; float: none; display:
inline !important;" class="">You can see it taken
advantage of in example
sword/examples/tasks/parallelbibles.cpp, but I've just
added a concise example which shows how to use it:</span><br
style="caret-color: rgb(0, 0, 0); font-family:
Helvetica; font-size: 12px; font-style: normal;
font-variant-caps: normal; font-weight: normal;
letter-spacing: normal; text-align: start;
text-indent: 0px; text-transform: none; white-space:
normal; word-spacing: 0px; -webkit-text-stroke-width:
0px; text-decoration: none;" class="">
<br style="caret-color: rgb(0, 0, 0); font-family:
Helvetica; font-size: 12px; font-style: normal;
font-variant-caps: normal; font-weight: normal;
letter-spacing: normal; text-align: start;
text-indent: 0px; text-transform: none; white-space:
normal; word-spacing: 0px; -webkit-text-stroke-width:
0px; text-decoration: none;" class="">
<a
href="http://crosswire.org/svn/sword/trunk/examples/classes/verseconvert.cpp"
style="color: purple; text-decoration: underline;
font-family: Helvetica; font-size: 12px; font-style:
normal; font-variant-caps: normal; font-weight:
normal; letter-spacing: normal; orphans: auto;
text-align: start; text-indent: 0px; text-transform:
none; white-space: normal; widows: auto; word-spacing:
0px; -webkit-text-size-adjust: auto;
-webkit-text-stroke-width: 0px;" class=""
moz-do-not-send="true">http://crosswire.org/svn/sword/trunk/examples/classes/verseconvert.cpp</a><br
style="caret-color: rgb(0, 0, 0); font-family:
Helvetica; font-size: 12px; font-style: normal;
font-variant-caps: normal; font-weight: normal;
letter-spacing: normal; text-align: start;
text-indent: 0px; text-transform: none; white-space:
normal; word-spacing: 0px; -webkit-text-stroke-width:
0px; text-decoration: none;" class="">
<br style="caret-color: rgb(0, 0, 0); font-family:
Helvetica; font-size: 12px; font-style: normal;
font-variant-caps: normal; font-weight: normal;
letter-spacing: normal; text-align: start;
text-indent: 0px; text-transform: none; white-space:
normal; word-spacing: 0px; -webkit-text-stroke-width:
0px; text-decoration: none;" class="">
<span style="caret-color: rgb(0, 0, 0); font-family:
Helvetica; font-size: 12px; font-style: normal;
font-variant-caps: normal; font-weight: normal;
letter-spacing: normal; text-align: start;
text-indent: 0px; text-transform: none; white-space:
normal; word-spacing: 0px; -webkit-text-stroke-width:
0px; text-decoration: none; float: none; display:
inline !important;" class="">Which outputs, e.g.<span
class="Apple-converted-space"> </span></span><br
style="caret-color: rgb(0, 0, 0); font-family:
Helvetica; font-size: 12px; font-style: normal;
font-variant-caps: normal; font-weight: normal;
letter-spacing: normal; text-align: start;
text-indent: 0px; text-transform: none; white-space:
normal; word-spacing: 0px; -webkit-text-stroke-width:
0px; text-decoration: none;" class="">
<span style="caret-color: rgb(0, 0, 0); font-family:
Helvetica; font-size: 12px; font-style: normal;
font-variant-caps: normal; font-weight: normal;
letter-spacing: normal; text-align: start;
text-indent: 0px; text-transform: none; white-space:
normal; word-spacing: 0px; -webkit-text-stroke-width:
0px; text-decoration: none; float: none; display:
inline !important;" class="">./verseconvert Ps.43.22
Wycliffe FreGeneve1669</span><br style="caret-color:
rgb(0, 0, 0); font-family: Helvetica; font-size: 12px;
font-style: normal; font-variant-caps: normal;
font-weight: normal; letter-spacing: normal;
text-align: start; text-indent: 0px; text-transform:
none; white-space: normal; word-spacing: 0px;
-webkit-text-stroke-width: 0px; text-decoration:
none;" class="">
<br style="caret-color: rgb(0, 0, 0); font-family:
Helvetica; font-size: 12px; font-style: normal;
font-variant-caps: normal; font-weight: normal;
letter-spacing: normal; text-align: start;
text-indent: 0px; text-transform: none; white-space:
normal; word-spacing: 0px; -webkit-text-stroke-width:
0px; text-decoration: none;" class="">
<span style="caret-color: rgb(0, 0, 0); font-family:
Helvetica; font-size: 12px; font-style: normal;
font-variant-caps: normal; font-weight: normal;
letter-spacing: normal; text-align: start;
text-indent: 0px; text-transform: none; white-space:
normal; word-spacing: 0px; -webkit-text-stroke-width:
0px; text-decoration: none; float: none; display:
inline !important;" class="">Psalms 43:22 (Wycliffe)
=> Psalms 44:21-Psalms 44:22 (FreGeneve1669)</span><br
style="caret-color: rgb(0, 0, 0); font-family:
Helvetica; font-size: 12px; font-style: normal;
font-variant-caps: normal; font-weight: normal;
letter-spacing: normal; text-align: start;
text-indent: 0px; text-transform: none; white-space:
normal; word-spacing: 0px; -webkit-text-stroke-width:
0px; text-decoration: none;" class="">
<br style="caret-color: rgb(0, 0, 0); font-family:
Helvetica; font-size: 12px; font-style: normal;
font-variant-caps: normal; font-weight: normal;
letter-spacing: normal; text-align: start;
text-indent: 0px; text-transform: none; white-space:
normal; word-spacing: 0px; -webkit-text-stroke-width:
0px; text-decoration: none;" class="">
<span style="caret-color: rgb(0, 0, 0); font-family:
Helvetica; font-size: 12px; font-style: normal;
font-variant-caps: normal; font-weight: normal;
letter-spacing: normal; text-align: start;
text-indent: 0px; text-transform: none; white-space:
normal; word-spacing: 0px; -webkit-text-stroke-width:
0px; text-decoration: none; float: none; display:
inline !important;" class="">Hope this helps,</span><br
style="caret-color: rgb(0, 0, 0); font-family:
Helvetica; font-size: 12px; font-style: normal;
font-variant-caps: normal; font-weight: normal;
letter-spacing: normal; text-align: start;
text-indent: 0px; text-transform: none; white-space:
normal; word-spacing: 0px; -webkit-text-stroke-width:
0px; text-decoration: none;" class="">
<span style="caret-color: rgb(0, 0, 0); font-family:
Helvetica; font-size: 12px; font-style: normal;
font-variant-caps: normal; font-weight: normal;
letter-spacing: normal; text-align: start;
text-indent: 0px; text-transform: none; white-space:
normal; word-spacing: 0px; -webkit-text-stroke-width:
0px; text-decoration: none; float: none; display:
inline !important;" class="">Troy</span><br
style="caret-color: rgb(0, 0, 0); font-family:
Helvetica; font-size: 12px; font-style: normal;
font-variant-caps: normal; font-weight: normal;
letter-spacing: normal; text-align: start;
text-indent: 0px; text-transform: none; white-space:
normal; word-spacing: 0px; -webkit-text-stroke-width:
0px; text-decoration: none;" class="">
<br style="caret-color: rgb(0, 0, 0); font-family:
Helvetica; font-size: 12px; font-style: normal;
font-variant-caps: normal; font-weight: normal;
letter-spacing: normal; text-align: start;
text-indent: 0px; text-transform: none; white-space:
normal; word-spacing: 0px; -webkit-text-stroke-width:
0px; text-decoration: none;" class="">
<br style="caret-color: rgb(0, 0, 0); font-family:
Helvetica; font-size: 12px; font-style: normal;
font-variant-caps: normal; font-weight: normal;
letter-spacing: normal; text-align: start;
text-indent: 0px; text-transform: none; white-space:
normal; word-spacing: 0px; -webkit-text-stroke-width:
0px; text-decoration: none;" class="">
<br style="caret-color: rgb(0, 0, 0); font-family:
Helvetica; font-size: 12px; font-style: normal;
font-variant-caps: normal; font-weight: normal;
letter-spacing: normal; text-align: start;
text-indent: 0px; text-transform: none; white-space:
normal; word-spacing: 0px; -webkit-text-stroke-width:
0px; text-decoration: none;" class="">
<br style="caret-color: rgb(0, 0, 0); font-family:
Helvetica; font-size: 12px; font-style: normal;
font-variant-caps: normal; font-weight: normal;
letter-spacing: normal; text-align: start;
text-indent: 0px; text-transform: none; white-space:
normal; word-spacing: 0px; -webkit-text-stroke-width:
0px; text-decoration: none;" class="">
<br style="caret-color: rgb(0, 0, 0); font-family:
Helvetica; font-size: 12px; font-style: normal;
font-variant-caps: normal; font-weight: normal;
letter-spacing: normal; text-align: start;
text-indent: 0px; text-transform: none; white-space:
normal; word-spacing: 0px; -webkit-text-stroke-width:
0px; text-decoration: none;" class="">
<div class="moz-cite-prefix" style="caret-color: rgb(0,
0, 0); font-family: Helvetica; font-size: 12px;
font-style: normal; font-variant-caps: normal;
font-weight: normal; letter-spacing: normal;
text-align: start; text-indent: 0px; text-transform:
none; white-space: normal; word-spacing: 0px;
-webkit-text-stroke-width: 0px; text-decoration:
none;">On 5/6/20 7:07 AM,<span
class="Apple-converted-space"> </span><a
class="moz-txt-link-abbreviated"
href="mailto:refdoc@gmx.net" style="color: purple;
text-decoration: underline;" moz-do-not-send="true">refdoc@gmx.net</a><span
class="Apple-converted-space"> </span>wrote:<br
class="">
</div>
<blockquote type="cite"
cite="mid:-h3p992-gkdbam-bjh0wx-95pxwrjy7n3m-sp0nf8nl5z3nk0oq1ufzun0e-13v7av4gayas7d8y8p-ry1jow7t0xm2-tsuf5daihkpb-qncc4ecbtjirm0ghld-58ng9u7bdi7s-oee1qrds3nydhxreri.1588774058910@email.android.com"
style="font-family: Helvetica; font-size: 12px;
font-style: normal; font-variant-caps: normal;
font-weight: normal; letter-spacing: normal; orphans:
auto; text-align: start; text-indent: 0px;
text-transform: none; white-space: normal; widows:
auto; word-spacing: 0px; -webkit-text-size-adjust:
auto; -webkit-text-stroke-width: 0px; text-decoration:
none;" class="">I think transparent mapping has been
for a while now included in the library. I am not sure
how to make it work, but I do think it is there and
functioning.<span class="Apple-converted-space"> </span><br
class="">
<br class="">
Peter<br class="">
<br class="">
Sent from my mobile. Please forgive shortness, typos
and weird autocorrects.
<div class="quote" style="line-height: 1.5;"><br
class="">
<br class="">
-------- Original Message --------<br class="">
Subject: Re: [sword-devel] Versification Mapping<br
class="">
From: Jamie<span class="Apple-converted-space"> </span><araj@critos.co.uk
class=""><br class="">
To: 'SWORD Developers' Collaboration Forum'<span
class="Apple-converted-space"> </span><sword-devel@crosswire.org
class=""><br class="">
CC:<span class="Apple-converted-space"> </span><br
class="">
<br class="">
<br type="attribution" class="">
<blockquote class="quote" style="margin: 0px 0px
0px 0.8ex; border-left-width: 1px;
border-left-style: solid; border-left-color:
rgb(204, 204, 204); padding-left: 1ex;">
<div class="WordSection1" style="page:
WordSection1;">
<div style="margin: 0cm 0cm 0.0001pt;
font-size: 12pt; font-family: "Times
New Roman", serif;" class=""><span
style="font-size: 11pt; font-family:
Calibri, sans-serif; color: rgb(31, 73,
125);" class="">Hi Tobias,<o:p class=""></o:p></span></div>
<div style="margin: 0cm 0cm 0.0001pt;
font-size: 12pt; font-family: "Times
New Roman", serif;" class=""><span
style="font-size: 11pt; font-family:
Calibri, sans-serif; color: rgb(31, 73,
125);" class=""><o:p class=""> </o:p></span></div>
<div style="margin: 0cm 0cm 0.0001pt;
font-size: 12pt; font-family: "Times
New Roman", serif;" class=""><span
style="font-size: 11pt; font-family:
Calibri, sans-serif; color: rgb(31, 73,
125);" class="">Not sure that this
exactly answers your question, but just
in case it’s relevant, Tyndale House
have various public domain information
available, including material on
alternative versification schemes. The
reversification material gives details
of how to map LXX, MT and Vulgate
schemes on to NRSVA (and also addresses
some other schemes which are perhaps
less frequently encountered). It also
caters for common variants which
basically follow one of these schemes,
but which have certain verses split up
into subverses. You can find the data
at :-<o:p class=""></o:p></span></div>
<div style="margin: 0cm 0cm 0.0001pt;
font-size: 12pt; font-family: "Times
New Roman", serif;" class=""><span
style="font-size: 11pt; font-family:
Calibri, sans-serif; color: rgb(31, 73,
125);" class=""><o:p class=""> </o:p></span></div>
<div style="margin: 0cm 0cm 0.0001pt;
font-size: 12pt; font-family: "Times
New Roman", serif;" class=""><a
href="https://github.com/tyndale/STEPBible-Data/blob/master/TVTMS%20-%20Tyndale%20Versification%20Traditions%20with%20Methodology%20for%20Standardisation%20for%20Eng%2BHeb%2BLat%2BGrk%2BOthers%20-%20TyndaleHouse.com%20STEPBible.org%20CC%20BY-NC.txt"
moz-do-not-send="true" style="color:
purple; text-decoration: underline;"
class="">https://github.com/tyndale/STEPBible-Data/blob/master/TVTMS%20-%20Tyndale%20Versification%20Traditions%20with%20Methodology%20for%20Standardisation%20for%20Eng%2BHeb%2BLat%2BGrk%2BOthers%20-%20TyndaleHouse.com%20STEPBible.org%20CC%20BY-NC.txt</a><span
style="font-size: 11pt; font-family:
Calibri, sans-serif; color: rgb(31, 73,
125);" class=""><o:p class=""></o:p></span></div>
<div style="margin: 0cm 0cm 0.0001pt;
font-size: 12pt; font-family: "Times
New Roman", serif;" class=""><span
style="font-size: 11pt; font-family:
Calibri, sans-serif; color: rgb(31, 73,
125);" class=""><o:p class=""> </o:p></span></div>
<div style="margin: 0cm 0cm 0.0001pt;
font-size: 12pt; font-family: "Times
New Roman", serif;" class=""><span
style="font-size: 11pt; font-family:
Calibri, sans-serif; color: rgb(31, 73,
125);" class="">If you do want to make
use of it, I’d be very happy to try to
answer any questions.<o:p class=""></o:p></span></div>
<div style="margin: 0cm 0cm 0.0001pt;
font-size: 12pt; font-family: "Times
New Roman", serif;" class=""><span
style="font-size: 11pt; font-family:
Calibri, sans-serif; color: rgb(31, 73,
125);" class=""><o:p class=""> </o:p></span></div>
<div style="margin: 0cm 0cm 0.0001pt;
font-size: 12pt; font-family: "Times
New Roman", serif;" class=""><span
style="font-size: 11pt; font-family:
Calibri, sans-serif; color: rgb(31, 73,
125);" class="">Regards,<o:p class=""></o:p></span></div>
<div style="margin: 0cm 0cm 0.0001pt;
font-size: 12pt; font-family: "Times
New Roman", serif;" class=""><span
style="font-size: 11pt; font-family:
Calibri, sans-serif; color: rgb(31, 73,
125);" class=""><o:p class=""> </o:p></span></div>
<div style="margin: 0cm 0cm 0.0001pt;
font-size: 12pt; font-family: "Times
New Roman", serif;" class=""><span
style="font-size: 11pt; font-family:
Calibri, sans-serif; color: rgb(31, 73,
125);" class="">ARA “Jamie” Jamieson<o:p
class=""></o:p></span></div>
<div style="margin: 0cm 0cm 0.0001pt;
font-size: 12pt; font-family: "Times
New Roman", serif;" class=""><span
style="font-size: 11pt; font-family:
Calibri, sans-serif; color: rgb(31, 73,
125);" class=""><o:p class=""> </o:p></span></div>
<div style="margin: 0cm 0cm 0.0001pt;
font-size: 12pt; font-family: "Times
New Roman", serif;" class=""><span
style="font-size: 11pt; font-family:
Calibri, sans-serif; color: rgb(31, 73,
125);" class=""><o:p class=""> </o:p></span></div>
<div style="margin: 0cm 0cm 0.0001pt;
font-size: 12pt; font-family: "Times
New Roman", serif;" class=""><span
style="font-size: 11pt; font-family:
Calibri, sans-serif; color: rgb(31, 73,
125);" class=""><o:p class=""> </o:p></span></div>
<div class="">
<div style="border-style: solid none none;
border-top-width: 1pt; border-top-color:
rgb(225, 225, 225); padding: 3pt 0cm
0cm;" class="">
<div style="margin: 0cm 0cm 0.0001pt;
font-size: 12pt; font-family:
"Times New Roman", serif;"
class=""><b class=""><span
style="font-size: 11pt;
font-family: Calibri, sans-serif;"
class="" lang="EN-US">From:</span></b><span
style="font-size: 11pt; font-family:
Calibri, sans-serif;" class=""
lang="EN-US"><span
class="Apple-converted-space"> </span>Tobias
Klein [<a
class="moz-txt-link-freetext"
href="mailto:contact@tklein.info"
style="color: purple;
text-decoration: underline;"
moz-do-not-send="true">mailto:contact@tklein.info</a>]<span
class="Apple-converted-space"> </span><br
class="">
<b class="">Sent:</b><span
class="Apple-converted-space"> </span>05
May 2020 21:19<br class="">
<b class="">To:</b><span
class="Apple-converted-space"> </span>SWORD
Developers' Collaboration Forum<span
class="Apple-converted-space"> </span><a
class="moz-txt-link-rfc2396E"
href="mailto:sword-devel@crosswire.org"
style="color: purple;
text-decoration: underline;"
moz-do-not-send="true"><sword-devel@crosswire.org></a><br
class="">
<b class="">Subject:</b><span
class="Apple-converted-space"> </span>[sword-devel]
Versification Mapping<o:p class=""></o:p></span></div>
</div>
</div>
<div style="margin: 0cm 0cm 0.0001pt;
font-size: 12pt; font-family: "Times
New Roman", serif;" class=""><o:p
class=""> </o:p></div>
<p style="margin-right: 0cm; margin-left:
0cm; font-size: 12pt; font-family:
"Times New Roman", serif;"
class="">Hi,<o:p class=""></o:p></p>
<p style="margin-right: 0cm; margin-left:
0cm; font-size: 12pt; font-family:
"Times New Roman", serif;"
class="">I would like to ask a question
that I was planning to ask for a while
already ...<span
class="Apple-converted-space"> </span><br
class="">
What's the recommended solution of mapping
different versification systems?<o:p
class=""></o:p></p>
<p style="margin-right: 0cm; margin-left:
0cm; font-size: 12pt; font-family:
"Times New Roman", serif;"
class="">And what working implementations
for this are already out there?<br
class="">
<br class="">
I realize that my understanding of
versifications has been a bit limited and
that's visible in Ezra Project's
implementation of the mapping. I am
currently only differentiating between two
versification systems, namely the English
versification (used in most/all (?)
English translations) and the Hebrew
versification (used in most modern German
translations).<o:p class=""></o:p></p>
<p style="margin-right: 0cm; margin-left:
0cm; font-size: 12pt; font-family:
"Times New Roman", serif;"
class="">It's been a few years since I
looked into this and I think this has been
my source (SBL Handbook of Style)<br
class="">
<a
href="https://books.google.de/books?id=M_upBwAAQBAJ&pg=PA265&lpg=PA265&dq=appendix+english/hebrew/greek+versification&source=bl&ots=CXVR0J6YrI&sig=ACfU3U3hEIPgNxmmUQW1kZJaRAtHl78L-g&hl=de&sa=X&ved=2ahUKEwilyoPUwp3pAhUrzqYKHVk4BtIQ6AEwAXoECAYQAQ#v=onepage&q=appendix%20english%2Fhebrew%2Fgreek%20versification&f=false"
moz-do-not-send="true" style="color:
purple; text-decoration: underline;"
class="">https://books.google.de/books?id=M_upBwAAQBAJ&pg=PA265&lpg=PA265&dq=appendix+english/hebrew/greek+versification&source=bl&ots=CXVR0J6YrI&sig=ACfU3U3hEIPgNxmmUQW1kZJaRAtHl78L-g&hl=de&sa=X&ved=2ahUKEwilyoPUwp3pAhUrzqYKHVk4BtIQ6AEwAXoECAYQAQ#v=onepage&q=appendix%20english%2Fhebrew%2Fgreek%20versification&f=false</a><o:p
class=""></o:p></p>
<p style="margin-right: 0cm; margin-left:
0cm; font-size: 12pt; font-family:
"Times New Roman", serif;"
class="">My current approach in Ezra
Project to map between English and Hebrew
versification is the following:<o:p
class=""></o:p></p>
<ul style="margin-bottom: 0cm;" class=""
type="disc">
<li class="MsoNormal" style="margin: 0cm
0cm 0.0001pt; font-size: 12pt;
font-family: "Times New
Roman", serif;">I use "absolute
verse numbers" in each book.<o:p
class=""></o:p></li>
<li class="MsoNormal" style="margin: 0cm
0cm 0.0001pt; font-size: 12pt;
font-family: "Times New
Roman", serif;">I have mapping
tables that basically define offsets for
the "absolute verse numbers" (see
implementation<span
class="Apple-converted-space"> </span><a
href="https://github.com/tobias-klein/ezra-project/blob/master/models/versereference.js#L177"
moz-do-not-send="true" style="color:
purple; text-decoration: underline;"
class="">here</a>).<o:p class=""></o:p></li>
<li class="MsoNormal" style="margin: 0cm
0cm 0.0001pt; font-size: 12pt;
font-family: "Times New
Roman", serif;">The versification
(currently only English or Hebrew) of
the respective translation is detected
based on some simple dynamic tests when
opening it.<o:p class=""></o:p></li>
<li class="MsoNormal" style="margin: 0cm
0cm 0.0001pt; font-size: 12pt;
font-family: "Times New
Roman", serif;">I have functions to
convert between one and the other
"absolute verse numbers" based on the
mapping.<o:p class=""></o:p></li>
<li class="MsoNormal" style="margin: 0cm
0cm 0.0001pt; font-size: 12pt;
font-family: "Times New
Roman", serif;">Verse Reference
objects are stored both with the English
and Hebrew absolute verse numbers and
these objects are used for assigning
tags, notes, etc.<o:p class=""></o:p></li>
</ul>
<p style="margin-right: 0cm; margin-left:
0cm; font-size: 12pt; font-family:
"Times New Roman", serif;"
class="">This works fairly well when using
English translations and German
translations. The result is for example
that tags that were assigned to verses of
an English translation still show up
correctly for the verses in a German
translation. This is particularly visible
in Psalms.<br class="">
<br class="">
How flawed is my current approach
described above?<br class="">
How do other frontends do it?<br class="">
Have there been plans to somehow integrate
some sort of mapping functionality into
the SWORD engine?<br class="">
<br class="">
Best regards,<br class="">
Tobias<o:p class=""></o:p></p>
</div>
</blockquote>
</sword-devel@crosswire.org></araj@critos.co.uk></div>
<br class="">
<fieldset class="mimeAttachmentHeader"></fieldset>
_______________________________________________
sword-devel mailing list:<span
class="Apple-converted-space"> </span><a
class="moz-txt-link-abbreviated"
href="mailto:sword-devel@crosswire.org"
style="color: purple; text-decoration: underline;"
moz-do-not-send="true">sword-devel@crosswire.org</a><span
class="Apple-converted-space"> </span><a
class="moz-txt-link-freetext"
href="http://www.crosswire.org/mailman/listinfo/sword-devel"
style="color: purple; text-decoration: underline;"
moz-do-not-send="true">http://www.crosswire.org/mailman/listinfo/sword-devel</a><span
class="Apple-converted-space"> </span>Instructions
to unsubscribe/change your settings at above page<br
class="">
</blockquote>
<span style="caret-color: rgb(0, 0, 0); font-family:
Helvetica; font-size: 12px; font-style: normal;
font-variant-caps: normal; font-weight: normal;
letter-spacing: normal; text-align: start;
text-indent: 0px; text-transform: none; white-space:
normal; word-spacing: 0px; -webkit-text-stroke-width:
0px; text-decoration: none; float: none; display:
inline !important;" class="">_______________________________________________</span><br
style="caret-color: rgb(0, 0, 0); font-family:
Helvetica; font-size: 12px; font-style: normal;
font-variant-caps: normal; font-weight: normal;
letter-spacing: normal; text-align: start;
text-indent: 0px; text-transform: none; white-space:
normal; word-spacing: 0px; -webkit-text-stroke-width:
0px; text-decoration: none;" class="">
<span style="caret-color: rgb(0, 0, 0); font-family:
Helvetica; font-size: 12px; font-style: normal;
font-variant-caps: normal; font-weight: normal;
letter-spacing: normal; text-align: start;
text-indent: 0px; text-transform: none; white-space:
normal; word-spacing: 0px; -webkit-text-stroke-width:
0px; text-decoration: none; float: none; display:
inline !important;" class="">sword-devel mailing list:<span
class="Apple-converted-space"> </span></span><a
href="mailto:sword-devel@crosswire.org" style="color:
purple; text-decoration: underline; font-family:
Helvetica; font-size: 12px; font-style: normal;
font-variant-caps: normal; font-weight: normal;
letter-spacing: normal; orphans: auto; text-align:
start; text-indent: 0px; text-transform: none;
white-space: normal; widows: auto; word-spacing: 0px;
-webkit-text-size-adjust: auto;
-webkit-text-stroke-width: 0px;" class=""
moz-do-not-send="true">sword-devel@crosswire.org</a><br
style="caret-color: rgb(0, 0, 0); font-family:
Helvetica; font-size: 12px; font-style: normal;
font-variant-caps: normal; font-weight: normal;
letter-spacing: normal; text-align: start;
text-indent: 0px; text-transform: none; white-space:
normal; word-spacing: 0px; -webkit-text-stroke-width:
0px; text-decoration: none;" class="">
<a
href="http://www.crosswire.org/mailman/listinfo/sword-devel"
style="color: purple; text-decoration: underline;
font-family: Helvetica; font-size: 12px; font-style:
normal; font-variant-caps: normal; font-weight:
normal; letter-spacing: normal; orphans: auto;
text-align: start; text-indent: 0px; text-transform:
none; white-space: normal; widows: auto; word-spacing:
0px; -webkit-text-size-adjust: auto;
-webkit-text-stroke-width: 0px;" class=""
moz-do-not-send="true">http://www.crosswire.org/mailman/listinfo/sword-devel</a><br
style="caret-color: rgb(0, 0, 0); font-family:
Helvetica; font-size: 12px; font-style: normal;
font-variant-caps: normal; font-weight: normal;
letter-spacing: normal; text-align: start;
text-indent: 0px; text-transform: none; white-space:
normal; word-spacing: 0px; -webkit-text-stroke-width:
0px; text-decoration: none;" class="">
<span style="caret-color: rgb(0, 0, 0); font-family:
Helvetica; font-size: 12px; font-style: normal;
font-variant-caps: normal; font-weight: normal;
letter-spacing: normal; text-align: start;
text-indent: 0px; text-transform: none; white-space:
normal; word-spacing: 0px; -webkit-text-stroke-width:
0px; text-decoration: none; float: none; display:
inline !important;" class="">Instructions to
unsubscribe/change your settings at above page</span></div>
</blockquote>
</div>
<br class="">
</div>
<br>
<fieldset class="mimeAttachmentHeader"></fieldset>
<pre class="moz-quote-pre" wrap="">_______________________________________________
sword-devel mailing list: <a class="moz-txt-link-abbreviated" href="mailto:sword-devel@crosswire.org" moz-do-not-send="true">sword-devel@crosswire.org</a>
<a class="moz-txt-link-freetext" href="http://www.crosswire.org/mailman/listinfo/sword-devel" moz-do-not-send="true">http://www.crosswire.org/mailman/listinfo/sword-devel</a>
Instructions to unsubscribe/change your settings at above page</pre>
</blockquote>
<br>
<fieldset class="mimeAttachmentHeader"></fieldset>
<pre class="moz-quote-pre" wrap="">_______________________________________________
sword-devel mailing list: <a class="moz-txt-link-abbreviated" href="mailto:sword-devel@crosswire.org">sword-devel@crosswire.org</a>
<a class="moz-txt-link-freetext" href="http://www.crosswire.org/mailman/listinfo/sword-devel">http://www.crosswire.org/mailman/listinfo/sword-devel</a>
Instructions to unsubscribe/change your settings at above page</pre>
</blockquote>
</body>
</html>