<html><head></head><body>   <div>Any work in this area should also be co-ordinated with how morph codes should be specified in USFM.</div><div><br></div><div>Visit https://ubsicap.github.io/ </div><div><br></div><div>USFM already supports word level attributes, so morphology codes would fit into this kind of syntax.</div><div><br></div><div>adyeths/u2o Python script can already convert such USFM attributes to valid OSIS.<caret></caret></div><div><br></div><div>Best regards,</div><div><br></div><div>David</div><div><br></div><div id="protonmail_mobile_signature_block"><div>Sent from ProtonMail Mobile</div></div> <div><br></div><div><br></div>On Thu, Feb 4, 2021 at 17:42, pierre amadio <<a href="mailto:amadio.pierre@gmail.com" class="">amadio.pierre@gmail.com</a>> wrote:<blockquote class="protonmail_quote" type="cite">  Hello.<br><br>Too long to read: the way the morphology information is being dealt<br>with in Osis/Sword is  not optimal.<br>If you are either a frontend developer or involved in the Osis<br>specifications, you can probably help.<br><br>I noticed the following issue in the current (2.5) LXX module:<br><br>LXX use "-" instead of " " to separate chunck of morph code.<br><br>By example in genesis 1:1 εποιησεν is associated with morph code<br>"packard:V-AAI-3S"<br>That is supposed to mean Verb Aorist Active Infinitive 3person Singular.<br>Using the code with - as separator make the sword module generate<br>wrong information:<br>"diatheke -b Packard -k V-AAI-3S" gives pluperfect passive 3person singular<br>"diatheke -b Packard -k V AAI 3S" gives the right feedback.<br><br>According to the following, the space separator is the right one indeed:<br><br>http://ccat.sas.upenn.edu/gopher/text/religion/biblical/lxxmorph/*Morph-Coding<br><br>As i am trying to make a new LXX module, I had a look at how frontend<br>deal with morph code.<br><br>- I was not able to make the feature work at all with Bibletime<br>(although i saw the option for one module, i think MorphGNT, i never<br>managed to actually see the "mag" window. I try the latest git build<br>and with bibletime-3.0-2.fc33.src.rpm). This may be because of the<br>display i m using (virt-display). I did not progress further than<br>that.<br><br>- I did not find this feature (show morph code) with Ezra Project.<br><br>- Xiphos has such a feature, but it works correclty only with MorphGNT.<br><br>Looking at /src/main/url.cc's<br>show_morph(module_name,stype,svalue,clicked) I think this is what is<br>happening:<br><br>The code is trying to get information about the morph code from a url<br>looking like this:<br>file:///passagestudy.jsp?action=showMorph&type=packard%3ARA+NSM&value=RA<br><br>The function try to detect if the type of morphcode start with greek,<br>Robinson or x-robinson and check which testament we are in in order to<br>choose the right morph code module.<br>- New testament: packard or robinson according to the hint in the type entry<br>- Old testament: packard.<br><br>No mention at all of oshm, so the hebrew bible is ignored.<br>If the morphcode start with packard: it does not pass the first test<br>and it is ignored.<br><br>Here is some content of the stype and svalue with different modules:<br><br>     * with MorphGNT: stype="robinson:N-NSF" svalue="N-NSF"<br>     * with OSHB: stype="oshm:HC/To" svalue="HC/To"<br>     * with LXX 2.5: stype="packard:V-AAI-3S" svalue="V-AAI-3S"<br>     * with my test LXX: stype="packard:VAI AAI3S" svalue="VAI"<br><br>With the LXX module i build i have this in the osis morph="packard:VAI AAI3S".<br>The first chunk is a bit different than in the version 2.5 : "VAI<br>AAI3S" instead of "V AAI 3S", I do not understand clearly wich one is<br>more grammatically correct. The second one is probably a bit more<br>precise as it also tells there is an augment and that this is a 1st<br>aorist.<br><br>I think this would be the ideal situation:<br><br>- correct morph code in all book modules, obviously.<br>- all morph tag build like: morph="moduleid:code string" in the osis.<br><br>Then, specificall in Xiphos:<br><br>- whatever code is preparing the passagestudy.jsp url should get the<br>stype and svalue correctly.<br>I think this is done in src/main/display.cc but to be honest, I fail<br>to understand clearly what it is doing.<br>I guess having a space as a meaningfull character in the morphcode was<br>considered painfull, so it was decided to change that to -, and the<br>existing LXX module was build with this separator, but without<br>actually checking if the resulting morphcode were correctly understood<br>by the sword engine.<br><br>Strangely enough, if i "grep -r nightmare" in the source code, the hit<br>are the file involved with this feature: url.cc and display.cc  :-)<br><br>- If the passagestudy.jsp url were correct, all left to do in the<br>show_morph function would be to look at the stype attribute to choose<br>the right module to send the svalue query to.<br><br>As there is currently already the full information in the stype<br>argument of show_morph, i gave a try changing only show_morphocde,<br>hoping it would be a simple matter of building the right regular<br>expression, fetching the data from it, and then doing exactly what is<br>done in the existing code.<br><br>Well, turns out I fail to even use a simple regular expression, and I<br>have no idea why (if you have, I would be interested to know, more<br>details in comments here<br>https://github.com/pierre-amadio/xiphos/blob/morphcode/src/main/url.cc#L336<br>)<br><br><br>So, I have some questions for you:<br><br>- For whoever is involved with the OSIS format:<br>a) What should be the next step to have the morph attribute of the w<br>node officially required to be formated in such a way to mention the<br>actual type of morphology code it is using ?<br>b) Would it be possible to have some documentation as to what is valid<br>and what is not for the other attributes (in particular savlm and<br>lemma) ?<br><br>- For whoever is involved in a frontend, having morphology code<br>feature implemented would be great, thanks to consider it !<br>_______________________________________________<br>sword-devel mailing list: sword-devel@crosswire.org<br>http://crosswire.org/mailman/listinfo/sword-devel<br>Instructions to unsubscribe/change your settings at above page</blockquote><div><br></div><div><br></div></body></html>