<div>Further to my earlier reply today, observe that the section of code where the RIGHT SINGLE QUOTATION MARK is removed is not 100% specific to the Greek language.<br></div><div><br></div><div>//first just remove combining characters<br></div><div>converters[0x2019] = "";        // RIGHT SINGLE QUOTATION MARK<br></div><div>converters[0x1FBF] = "";        // GREEK PSILI<br></div><div>converters[0x2CFF] = "";        // COPTIC MORPHOLOGICAL DIVIDER<br></div><div>converters[0xFE24] = "";        // COMBINING MACRON LEFT HALF<br></div><div>converters[0xFE25] = "";        // COMBINING MACRON RIGHT HALF<br></div><div>converters[0xFE26] = "";        // COMBINING CONJOINING MACRON<br></div><div>converters[0x0300] = "";        // COMBINING GRAVE ACCENT<br></div><div>converters[0x0301] = "";        // COMBINING ACUTE ACCENT<br></div><div>converters[0x0302] = "";        // COMBINING CIRCUMFLEX ACCENT<br></div><div>converters[0x0308] = "";        // COMBINING DIAERESIS<br></div><div>converters[0x0313] = "";        // COMBINING COMMA ABOVE<br></div><div>converters[0x0314] = "";        // COMBINING REVERSED COMMA ABOVE<br></div><div>converters[0x037A] = "";        // GREEK YPOGEGRAMMENI<br></div><div>converters[0x0342] = "";        // COMBINING GREEK PERISPOMENI<br></div><div>converters[0x1FBD] = "";        // GREEK KORONIS<br></div><div>converters[0x0343] = "";        // COMBINING GREEK KORONIS<br></div><div><br></div><div>Assuming that UTF-8 is normalized to NFC during module build or earlier, <br></div><div>there are many non-Greek character sets and alphabets where some of the above combining characters can survive the normalization process.</div><div>They remain as separate characters in the module text wherever there is no corresponding precomposed character.<br></div><div><br></div><div>For such modules, applying the filter will result in a change. <br></div><div>Hence my concern (expressed in the idiom "willy-nilly") that using the filter to determine whether it should be specified in the .conf file is not always a good idea.<br></div><div><br></div><div class="protonmail_signature_block"><div class="protonmail_signature_block-user"><div>Best regards,<br></div><div><br></div><div>David<br></div></div><div><br></div><div class="protonmail_signature_block-proton">Sent with <a href="https://protonmail.com" target="_blank">ProtonMail</a> Secure Email.<br></div></div><div><br></div><div>‐‐‐‐‐‐‐ Original Message ‐‐‐‐‐‐‐<br></div><div> On 11 June 2018 12:46 PM, David Haslam &lt;dfhdfh@protonmail.com&gt; wrote:<br></div><div> <br></div><blockquote class="protonmail_quote" type="cite"><div>Further clarification and observations about the SWORD filter for UTF8GreekAccents...<br></div><div><br></div><div>My reply of 7th June was sent before I was informed about the source code for UTF8GreekAccents.<br></div><div>In fact, this does make use of the mapping table that I provided in March 2017. Thanks, Troy!<br></div><div><br></div><div>You can visit the latest version in SVN trunk here.<br></div><div><a href="https://crosswire.org/svn/sword/trunk/src/modules/filters/utf8greekaccents.cpp">https://crosswire.org/svn/sword/trunk/src/modules/filters/utf8greekaccents.cpp</a><br></div><div><br></div><div>Please note that it was patched during the weekend to add the lines to process GREEK KORONIS &amp; COMBINING GREEK KORONIS.<br></div><div>as well as to remove a residual (unused) declaration leftover from the original version. Thanks, Troy.<br></div><div><br></div><div>We may have been wondering why the filter still includes a line to remove the RIGHT SINGLE QUOTATION<br></div><div>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; converters[0x2019] = "";        // RIGHT SINGLE QUOTATION MARK<br></div><div><br></div><div>This is because the source text in some older accented Greek modules used this Unicode character.<br></div><div>These are usually found at End of Word locations, with typically 1218 occurrences.<br></div><div>More recent editions of the Greek NT use the GREEK KORONIS&nbsp;0x1FBD in all these same locations.<br></div><div><br></div><div><div>Modules with 0x2019 include MorphGNT, TischMorph and 2TGreek.<br></div><div>Modules with 0x1FBD include SBLG_THE.<br></div><div><div><br></div></div></div><div>FIO. The only Greek letters ever followed by the character are typified by the following analysis (extracted from MorphGNT).<br></div><div>Count Pattern<br></div><div>0034        δ’<br></div><div>0107        θ’<br></div><div>0233        τ’<br></div><div>0292        π’<br></div><div>0213        λ’<br></div><div>0132        φ’<br></div><div>0061        ρ’<br></div><div>0149        ι’<br></div><div>The counts vary slightly for different modules.<br></div><div><br></div><div>We should consider the conjecture that the first ever digitisation of (e.g.) the Tischendorf NT was simply transcribed incorrectly.<br></div><div>i.e. 0x2019 was keyed everywhere one would nowadays expect to use a GREEK KORONIS.<br></div><div>Maybe the task was performed between Unicode 1.0 (October 1991) and Unicode 1.1 (June 1993) ?<br></div><div><br></div><div>Aside: It's very likely that digitisation took place before Unicode even existed, and that the text was subsequently converted to Unicode.<br></div><div>Some of you may remember Claremont-Michigan encodings for Hebrew, Aramaic and Greek.<br></div><div><br></div><div>So, rather than being a bug in SWORD, in retrospect it looks more like an accommodation to a systematic transcription error in some NT Greek text sources.<br></div><div>What we should do about it remains an open question.<br></div><div><br></div><div>One new question arises from the changes to the SWORD filter (2017 &amp; 2018).<br></div><div>Has anything similar been done for the equivalent JSword filter?<br></div><div><br></div><div>Best regards.<br></div><div class="protonmail_signature_block"><div class="protonmail_signature_block-user"><div><br></div><div>David<br></div></div><div><br></div><div class="protonmail_signature_block-proton">Sent with <a target="_blank" href="https://protonmail.com">ProtonMail</a> Secure Email.<br></div></div><div><br></div><div>‐‐‐‐‐‐‐ Original Message ‐‐‐‐‐‐‐<br></div><div>On 7 June 2018 8:06 PM, David Haslam &lt;dfhdfh@protonmail.com&gt; wrote:<br></div><div><br></div><blockquote type="cite" class="protonmail_quote"><div>This ongoing problem affects far too many module releases.<br></div><div>The immediate cause is a wrong assumption implemented in the confmaker script.<br></div><div><br></div><div>The UTF8GreekAccents filter does not restrict its filtering to accents  joined  or adjacent to letters in the Greek alphabet.<br></div><div>And by "accents" please remember that some of these are actually Unicode punctuation marks.<br></div><div>It applies the filter "willy-nilly" no matter what the context in terms of language, script or alphabet.<br></div><div>It's a one-way valve that should never be used "backwards" to determine whether or not it should be present in the .conf file.<br></div><div><br></div><div>Aside: The other UTF8 filters are not like this, so it's OK for confmaker to use them for testing to see if they are required.<br></div><div><br></div><div>The set of Unicode characters filtered by UTF8GreekAccents are not unique to the Koine Greek language.<br></div><div>Some of them are found in many other languages.<br></div><div><br></div><div>It's theoretically feasible to redesign the filter such that it applies only in the context of Greek letters.<br></div><div>So yes, this is a matter for SWORD developers to consider too.<br></div><div>I documented a suitable mapping table in my GitHub repo in March 2017. See<br></div><div><a href="https://github.com/DavidHaslam/UTF8-Greek-Accents">https://github.com/DavidHaslam/UTF8-Greek-Accents</a><br></div><div><br></div><div>It was discussed in this mailing list at the time.<br></div><div>Troy was unwilling to replace the existing filter on the grounds that it does what it was designed for on accented Greek modules.<br></div><div>The point is this. It was never designed to be used in general to test whether it is needed by a module.<br></div><div>When used for this unintended "backwards" purpose, it generally gives the wrong answer.<br></div><div><br></div><div>This concept is not difficult to understand. <br></div><div><br></div><div>Unless and until the filter itself is redesigned, we need a compromise workaround for the confmaker script.<br></div><div>My suggestion is to restrict applying this "backwards" test to only the modules in which this line is present.<br></div><div><br></div><div>Lang=grc<br></div><div><br></div><div>This would largely prevent the ongoing spurious addition of this filter due to the automation of module publishing.<br></div><div>One can imagine there may be corner cases, such as where (e.g.) a French Bible module had study notes which included some accented Greek words.<br></div><div>But the impact would be minimal by not having the filter in the conf file in such rare cases.<br></div><div><br></div><div class="protonmail_signature_block"><div class="protonmail_signature_block-user"><div>Best regards,<br></div><div><br></div><div>David<br></div></div><div><br></div><div class="protonmail_signature_block-proton">Sent with <a href="https://protonmail.com" target="_blank">ProtonMail</a> Secure Email.<br></div></div><div><br></div><div>‐‐‐‐‐‐‐ Original Message ‐‐‐‐‐‐‐<br></div><div>On 7 June 2018 7:25 PM, DM Smith &lt;dmsmith@crosswire.org&gt; wrote:<br></div><div><br></div><blockquote class="protonmail_quote" type="cite"><div>I think it is a bug in the SWORD engine if single right quotation mark is seen as a Greek diacritic.<br></div><div><br></div><div>Will look later to verify.<br></div><div><br></div><div><div>If it is then the module should not have the option.&nbsp;<br></div><div><br></div><div><div>— DM Smith<br></div><div><br></div></div><div><div><br></div><div>On Jun 7, 2018, at 8:54 AM, "<a href="mailto:refdoc@gmx.net">refdoc@gmx.net</a>" &lt;<a href="mailto:refdoc@gmx.net">refdoc@gmx.net</a>&gt; wrote:<br></div></div><blockquote type="cite"><div><div>If a Greek accent is in use, the filter will be there. If this is a bug, I.e. there should not be a Greek accent, please highlight this at source. I guess this is the right approach here too. Then the next iteration will not have a spurious filter<br></div><div><br></div><div>Sent from my mobile. Please forgive shortness, typos and weird autocorrects.<br></div><div style="line-height: 1.5" class="quote"><div><br></div><div><br></div><div>-------- Original Message --------<br></div><div>Subject: Re: [sword-devel] Module upload: FreLXX<br></div><div>From: David Haslam <br></div><div>To: SWORD Developers' Collaboration Forum <br></div><div>CC: <br></div><div><br></div><div><br></div><blockquote style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex" class="quote"><div>This line in frelxx.conf is superfluous:<br></div><div><br></div><div>GlobalOptionFilter=UTF8GreekAccents<br></div><div><br></div><div>I think it's triggered in confmaker script by the presence of these characters.<br></div><div>U+2019        ’        656        RIGHT SINGLE QUOTATION MARK<br></div><div><br></div><div>NB. The source text is inconsistent in which character is used for the typographical apostrophe. cf.<br></div><div>U+0027        '        39,200        APOSTROPHE<br></div><div><br></div><div>Example:<br></div><div>Exodus 3:13 contains "les fils d'Israël" (character U+0027 used)<br></div><div>Exodus 3:15 contains "aux fils d’Israël" (character U+2019 used)<br></div><div><br></div><div>When the Greek Accents filter is disabled (in Xiphos) the latter becomes "aux fils dIsraël" (without the apostrophe).<br></div><div><br></div><div>There are no Greek letters in the module, so the GreekAccents filter should not be included.<br></div><div><br></div><div>Best regards,<br></div><div><br></div><div>David<br></div><div><br></div><div>Sent with ProtonMail Secure Email.<br></div><div><br></div><div>‐‐‐‐‐‐‐ Original Message ‐‐‐‐‐‐‐<br></div><div><br></div><div>On 4 June 2018 7:38 AM,  wrote:<br></div><div><br></div><div>&gt; Dear All,<br></div><div>&gt; <br></div><div>&gt; This is to announce that we have just now uploaded FreLXX.<br></div><div>&gt; <br></div><div>&gt; This is is an updated version of FreLXX.<br></div><div>&gt; <br></div><div>&gt; Many thanks to update for the hard work.<br></div><div>&gt; <br></div><div>&gt; yours<br></div><div>&gt; <br></div><div>&gt; The Module Team<br></div><div>&gt; <br></div><div>&gt; P.S.: This email is sent automatically on upload of a new/updated module<br></div><div>&gt; <br></div><div>&gt; sword-devel mailing list: <a href="mailto:sword-devel@crosswire.org">sword-devel@crosswire.org</a><br></div><div>&gt; <br></div><div>&gt; <a href="http://www.crosswire.org/mailman/listinfo/sword-devel">http://www.crosswire.org/mailman/listinfo/sword-devel</a><br></div><div>&gt; <br></div><div>&gt; Instructions to unsubscribe/change your settings at above page<br></div><div><br></div><div><br></div><div><br></div><div>_______________________________________________<br></div><div>sword-devel mailing list: <a href="mailto:sword-devel@crosswire.org">sword-devel@crosswire.org</a><br></div><div><a href="http://www.crosswire.org/mailman/listinfo/sword-devel">http://www.crosswire.org/mailman/listinfo/sword-devel</a><br></div><div>Instructions to unsubscribe/change your settings at above page<br></div></blockquote></div></div></blockquote><blockquote type="cite"><div><div><span>_______________________________________________</span><br></div><div><span>sword-devel mailing list: <a href="mailto:sword-devel@crosswire.org">sword-devel@crosswire.org</a></span><br></div><div><span><a href="http://www.crosswire.org/mailman/listinfo/sword-devel">http://www.crosswire.org/mailman/listinfo/sword-devel</a></span><br></div><div><span>Instructions to unsubscribe/change your settings at above page</span><br></div></div></blockquote></div></blockquote><div><br></div></blockquote><div><br></div></blockquote><div><br></div>