<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
</head>
<body>
<br>
<br>
<br>
<div class="moz-cite-prefix">Le 24/01/2025 à 00:40, Arnaud Vié a
écrit :<br>
</div>
<blockquote type="cite"
cite="mid:CA+kNJPhp2ezsq6ftn0PODT_PTokq0G0DaaHsUPFNJAGcK1xL7A@mail.gmail.com">
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
<div dir="ltr"><br>
<div class="gmail_quote gmail_quote_container">
<blockquote class="gmail_quote"
style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
<div class="gmail_quote">
<div dir="ltr" class="gmail_attr">Le jeu. 23 janv. 2025
à 22:18, Fr Cyrille <<a
href="mailto:fr.cyrille@tiberiade.be" target="_blank"
moz-do-not-send="true" class="moz-txt-link-freetext">fr.cyrille@tiberiade.be</a>>
a écrit :<br>
</div>
<blockquote class="gmail_quote"
style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
<div> So I think that for versifications, catholic
catholic2 and LXX there is no mapping (which would
explain some of the problems I've had displaying in
parallel?).<br>
In the other v11n files I see an entry by instance in
vulg:<br>
unsigned char mappings_vulg[] = {<br>
<br>
If someone can explain or give me a documentation to
understand how it works, and if this is where the
mapping takes place, I'd like to work on it.
Especially as it should be possible to use Arnaud's
work?<br>
</div>
</blockquote>
</div>
</blockquote>
<div><br>
</div>
<div>
<div>You're correct Cyrille, the mapping data is in this
char array defined with the versifications in the
canon_*.h files.</div>
<div>This array is injected (for the versifications which
have one) and decoded within versificationmgr.cpp.</div>
<div><br>
</div>
<div>The format of this char array is really obscure though,
and it's completely different from the format of mappings
used in jsword (which is a lot clearer and a lot easier to
edit and maintain).<br>
</div>
<div>From what I understand in the code ("// parse mappings"
section of the loadFromSBook method in
versificationmgr.cpp) and the canon_vulg.h example :</div>
<div><br>
</div>
<div>1.<br>
</div>
<div>The array starts with a sequence of book names, which
are the books present in this bible and absent from KJV.</div>
<div>Each such name is a sequence of letters followed by a
null character serving as delimiter.<br>
</div>
<div>In canon_vulg, thoses are the <br>
'E', 'p', 'J', 'e', 'r', 0,<br>
'P', 'r', 'A', 'z', 'a', 'r', 0,<br>
'S', 'u', 's', 0,<br>
'B', 'e', 'l', 0,</div>
<div><br>
</div>
<div>2. Then, you have an additional null character
indicating the end of that first section - the rest of the
array is encoded completely differently.</div>
<div><br>
</div>
<div>3. The rest of the array is meant to be split in
sequences of 7 numbers, each such 7-number sequence
corresponding to a mapping rule.<br>
</div>
<div>For example, this is a mapping rule :</div>
<div>21, 4, 9, 10, 4, 8, 0,</div>
<div><br>
</div>
<div>First digit indicates the book (index in the sequence
of books, starting at 1). In vulg, book 21 is Psalms.</div>
<div>The next 3 digits indicate the destination of the
mapping. "4,9,10" corresponds to chapter 4, verses 9 to
10.<br>
</div>
<div>The final 3 digits are the source of the mapping.
"4,8,0" corresponds to chapter 4, verse 8 alone.</div>
<div>So this rule I used as example denotes that verses Ps
4:9-10 of KJV are mapped to Ps 4:8 in Vulg.<br>
</div>
<div>Which corresponds indeed to one rule that is present in
the jsword mapping file.</div>
<div><br>
</div>
<div><br>
</div>
<div>I guess I could try to build a converter to export the
jsword mapping properties files into this format, so that
we could indeed add the Catholic and Catholic2 mappings
that I spent hours building for the AndBible jsword fork.</div>
<div><br>
</div>
</div>
</div>
</div>
</blockquote>
Ok Then I'll way for this.
<blockquote type="cite"
cite="mid:CA+kNJPhp2ezsq6ftn0PODT_PTokq0G0DaaHsUPFNJAGcK1xL7A@mail.gmail.com">
<div dir="ltr">
<div class="gmail_quote gmail_quote_container">
<div>
<div>But going forward, for maintaining versifications, it
would be a lot better to have a central way of defining
all our versifications and all their mappings in an easily
readable and editable format (maybe the one defined by the
Copenhagen Alliance, cf <a
href="https://github.com/Copenhagen-Alliance/versification-specification/blob/master/versification-mappings/json-schema/versification_schema.json"
target="_blank" moz-do-not-send="true"
class="moz-txt-link-freetext">https://github.com/Copenhagen-Alliance/versification-specification/blob/master/versification-mappings/json-schema/versification_schema.json</a>
), serving as a source of truth for both sword and jsword.
Because even just looking at this Vulg versifications, the
mapping have vastly diverged between sword and jsword...</div>
<div><br>
</div>
</div>
</div>
</div>
</blockquote>
I agree...<br>
<blockquote type="cite"
cite="mid:CA+kNJPhp2ezsq6ftn0PODT_PTokq0G0DaaHsUPFNJAGcK1xL7A@mail.gmail.com">
<div dir="ltr">
<div class="gmail_quote gmail_quote_container">
<div>
<div>Even if we don't go as far as implementing the full
modular versification system that I would like to build,
if at the very least we could have a central,
easy-to-maintain place to manage all our versifications,
and then could easily export them to both sword and
jsword, that would be a huge step forward.</div>
<div><br>
</div>
<div>Regards,</div>
<div><br>
</div>
<div>Arnaud</div>
</div>
<div> </div>
</div>
</div>
</blockquote>
<br>
<div class="moz-signature">-- <br>
Vous aimez la Bible ? Vous êtes étudiant en théologie ? Utilisez
l'application libre <a href="https://xiphos.org/">Xiphos</a> ou <a
href="https://andbible.github.io/">Andbible</a> et accédez aux
textes sources, à des commentaires, des dictionnaires et beaucoup
d'autres fonctionnalités... Me contacter pour des traductions en
français.</div>
</body>
</html>