<!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>