<div>I should have explained that the "Action" is "Send non-matching text to sub-filter".<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">ProtonMail</a> Secure Email.<br></div></div><div><br></div><blockquote class="protonmail_quote" type="cite"><div>-------- Original Message --------<br></div><div>Subject: Re: [sword-devel] Module .conf files, Unicode Normalization<br></div><div>Local Time: 6 January 2018 7:41 PM<br></div><div>UTC Time: 6 January 2018 19:41<br></div><div>From: dfhdfh@protonmail.com<br></div><div>To: sword-devel mailing list &lt;sword-devel@crosswire.org&gt;<br></div><div><br></div><div>"Here's one I made earlier."<br></div><div><br></div><div><span class="font" style="font-family:menlo,consolas,courier new,monospace,sans-serif">Comment...</span><span class="font" style="font-family:menlo,consolas,courier new,monospace,sans-serif"></span><br></div><div><span class="font" style="font-family:menlo,consolas,courier new,monospace,sans-serif">|&nbsp; Normalize to NFC excluding any Hebrew text</span><span class="font" style="font-family:menlo,consolas,courier new,monospace,sans-serif"></span><br></div><div><span class="font" style="font-family:menlo,consolas,courier new,monospace,sans-serif">|&nbsp;</span><span class="font" style="font-family:menlo,consolas,courier new,monospace,sans-serif"></span><br></div><div><span class="font" style="font-family:menlo,consolas,courier new,monospace,sans-serif">|&nbsp; NB. Does not expect any alphabetical presentation forms!</span><span class="font" style="font-family:menlo,consolas,courier new,monospace,sans-serif"></span><br></div><div><span class="font" style="font-family:menlo,consolas,courier new,monospace,sans-serif">|</span><span class="font" style="font-family:menlo,consolas,courier new,monospace,sans-serif"></span><br></div><div><span class="font" style="font-family:menlo,consolas,courier new,monospace,sans-serif">+--Perl pattern [[\x{0590}-\x{05FF}]+] with []</span><span class="font" style="font-family:menlo,consolas,courier new,monospace,sans-serif"></span><br></div><div><span class="font" style="font-family:menlo,consolas,courier new,monospace,sans-serif">&nbsp;&nbsp; |&nbsp; [X] Match case</span><span class="font" style="font-family:menlo,consolas,courier new,monospace,sans-serif"></span><br></div><div><span class="font" style="font-family:menlo,consolas,courier new,monospace,sans-serif">&nbsp;&nbsp; |&nbsp; [ ] Whole words only</span><span class="font" style="font-family:menlo,consolas,courier new,monospace,sans-serif"></span><br></div><div><span class="font" style="font-family:menlo,consolas,courier new,monospace,sans-serif">&nbsp;&nbsp; |&nbsp; [ ] Case sensitive replace</span><span class="font" style="font-family:menlo,consolas,courier new,monospace,sans-serif"></span><br></div><div><span class="font" style="font-family:menlo,consolas,courier new,monospace,sans-serif">&nbsp;&nbsp; |&nbsp; [ ] Prompt on replace</span><span class="font" style="font-family:menlo,consolas,courier new,monospace,sans-serif"></span><br></div><div><span class="font" style="font-family:menlo,consolas,courier new,monospace,sans-serif">&nbsp;&nbsp; |&nbsp; [ ] Skip prompt if identical</span><span class="font" style="font-family:menlo,consolas,courier new,monospace,sans-serif"></span><br></div><div><span class="font" style="font-family:menlo,consolas,courier new,monospace,sans-serif">&nbsp;&nbsp; |&nbsp; [ ] First only</span><span class="font" style="font-family:menlo,consolas,courier new,monospace,sans-serif"></span><br></div><div><span class="font" style="font-family:menlo,consolas,courier new,monospace,sans-serif">&nbsp;&nbsp; |&nbsp; [ ] Extract matches</span><span class="font" style="font-family:menlo,consolas,courier new,monospace,sans-serif"></span><br></div><div><span class="font" style="font-family:menlo,consolas,courier new,monospace,sans-serif">&nbsp;&nbsp; |&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Maximum text buffer size 4096</span><span class="font" style="font-family:menlo,consolas,courier new,monospace,sans-serif"></span><br></div><div><span class="font" style="font-family:menlo,consolas,courier new,monospace,sans-serif">&nbsp;&nbsp; |&nbsp; [X] Maximum match (greedy)</span><span class="font" style="font-family:menlo,consolas,courier new,monospace,sans-serif"></span><br></div><div><span class="font" style="font-family:menlo,consolas,courier new,monospace,sans-serif">&nbsp;&nbsp; |&nbsp; [ ] Allow comments</span><span class="font" style="font-family:menlo,consolas,courier new,monospace,sans-serif"></span><br></div><div><span class="font" style="font-family:menlo,consolas,courier new,monospace,sans-serif">&nbsp;&nbsp; |&nbsp; [ ] '.' matches newline</span><span class="font" style="font-family:menlo,consolas,courier new,monospace,sans-serif"></span><br></div><div><span class="font" style="font-family:menlo,consolas,courier new,monospace,sans-serif">&nbsp;&nbsp; |&nbsp; [X] UTF-8 Support</span><span class="font" style="font-family:menlo,consolas,courier new,monospace,sans-serif"></span><br></div><div><span class="font" style="font-family:menlo,consolas,courier new,monospace,sans-serif">&nbsp;&nbsp; |</span><span class="font" style="font-family:menlo,consolas,courier new,monospace,sans-serif"></span><br></div><div><span class="font" style="font-family:menlo,consolas,courier new,monospace,sans-serif">&nbsp;&nbsp; +--NFC - Canonical Decomposition, followed by Canonical Composition</span><br></div><div>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br></div><div><i>NB. That's merely the clipboard copy of the filter for illustration purposes.</i><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">ProtonMail</a> Secure Email.<br></div></div><div><br></div><blockquote type="cite" class="protonmail_quote"><div>-------- Original Message --------<br></div><div>Subject: Re: [sword-devel] Module .conf files, Unicode Normalization<br></div><div>Local Time: 6 January 2018 7:26 PM<br></div><div>UTC Time: 6 January 2018 19:26<br></div><div>From: dfhdfh@protonmail.com<br></div><div>To: SWORD Developers' Collaboration Forum &lt;sword-devel@crosswire.org&gt;<br></div><div><br></div><div>Good question, Tom.<br></div><div><br></div><div>Assuming that the Latin script part of the source text actually required normalization to NFC,<br></div><div>and that at least some of the Biblical Hebrew should not be converted to NFC,<br></div><div>you'd build the module using the -N switch of osis2mod, after first applying a script&nbsp;<br></div><div>to the source text to ensure that both the requirements were implemented.<br></div><div><br></div><div>It would be a very simple task for a bespoke TextPipe filter with a restrict filter&nbsp;<br></div><div>designed to limit the Convert to&nbsp;NFC subfilter to the&nbsp;text that was not Hebrew.<br></div><div><br></div><div>Ignoring alphabetical presentation forms, all the Hebrew characters are in one Unicode&nbsp;block.<br></div><div>A PCRE to exclude the&nbsp;Hebrew would be very simple.<br></div><div>I could almost do it in my sleep after 17 years using TextPipe.<br></div><div>No doubt other programmers could do likewise with Perl or Python, etc.<br></div><div><br></div><div>Best regards,<br></div><div><br></div><div>David<br></div><div><br></div><div>Sent from ProtonMail Mobile<br></div><div><div><br></div><div><div><br></div><div>On Sat, Jan 6, 2018 at 19:14, Tom Sullivan &lt;<a href="mailto:info@beforgiven.info" class="">info@beforgiven.info</a>&gt; wrote:<br></div></div><blockquote class="protonmail_quote" type="cite">Y'all: For text, such as in a commentary, which includes both Hebrew and English (or another modern Latin script using language), what do you put for the normalization? Tom Tom Sullivan info@BeForgiven.INFO FAX: 815-301-2835 ---------------------
        Great News! God created you, owns you and gave you commands to obey. You have disobeyed God - as your conscience very well attests to you. God's holiness and justice compel Him to punish you in Hell. Jesus Christ became Man, was crucified, buried
        and rose from the dead as a substitute for all who trust in Him, redeeming them from Hell. If you repent (turn from your sin) and believe (trust) in Jesus Christ, you will go to Heaven. Otherwise you will go to Hell. Warning! Good works are a
        result, not cause, of saving trust. More info is at www.esig.beforgiven.info Do you believe this? Copy this signature into your email program and use the Internet to spread the Great News every time you email. On 01/06/2018 12:32 PM, David Haslam
        wrote: &gt; Hi Greg, &gt; &gt; One area where it might turn out to be useful is for the search features &gt; of front-end apps. &gt; It could be important to know that the underlying module text is _not_ &gt; *NFC*. &gt; &gt; That's not to lay
        down a requirement as to how search features should be &gt; designed, &gt; but at least to provide the information in case it does matter for some &gt; types of search option. &gt; &gt; Like other things in .conf files, a key can also be _educational_.
        &gt; It may prompt developers and users to ask, /*Why did they do this?*/ &gt; &gt; cf. It was _almost by accident_ that in 2014, I first came across this &gt; aspect of using Unicode for Biblical Hebrew. &gt; /It applies only to texts with _both_
        vowel accents and cantillation./ &gt; &gt; Even though it's mentioned in our developers' wiki, it's all too easily &gt; missed by other CrossWire volunteers. &gt; &gt; Best regards, &gt; &gt; David &gt; &gt; Sent with ProtonMail
        Secure Email. &gt; &gt;&gt; -------- Original Message -------- &gt;&gt; Subject: Re: [sword-devel] Module .conf files, Unicode Normalization &gt;&gt; Local Time: 6 January 2018 5:19 PM &gt;&gt; UTC Time: 6 January 2018 17:19 &gt;&gt; From: greg.hellings@gmail.com
            &gt;&gt; To: David Haslam
            , SWORD Developers' &gt;&gt; Collaboration Forum
                
                    &gt;&gt; &gt;&gt; Why would the front end or engine need to know this information? Would &gt;&gt; it help the front end developers or users to know it? What do we gain &gt;&gt; by adding this? (I'm not implying it wouldn't be beneficial. But the &gt;&gt;
                    only thing I know about Unicode is how the different UTF encodings &gt;&gt; work, so I have no idea what use this information could be. I also &gt;&gt; think changes to formats and information standards should be &gt;&gt; conservative
                    instead of liberal) &gt;&gt; &gt;&gt; --Greg &gt;&gt; &gt;&gt; On Jan 6, 2018 11:01, "David Haslam"
                    &gt;
                        &gt; wrote: &gt;&gt; &gt;&gt; Dear all, &gt;&gt; &gt;&gt; We've known for quite a few years that there are aspects of &gt;&gt; *Biblical Hebrew* that mean we should _avoid_ converting the &gt;&gt; Unicode source text to *NFC* when
                            we build a module. &gt;&gt; &gt;&gt; This prompts me to suggest that we ought to define a new *key* for &gt;&gt; .conf files. &gt;&gt; &gt;&gt; *Normalization=NFC* (this would be the default, and may be &gt;&gt; _omitted_ for
                            the vast majority of modules) &gt;&gt; *Normalization=Custom* (we should include this in certain Biblical &gt;&gt; Hebrew modules) &gt;&gt; &gt;&gt; This would make it clear to front-end developers and users alike &gt;&gt;
                            that the source text was _not_ converted to NFC during module build. &gt;&gt; i.e. *osis2mod* was used intentionally with the *-N* switch, in &gt;&gt; _accordance with the requirements of the source text provider_. &gt;&gt;
                            &gt;&gt; The Unicode source text may already be encoded in *UTF-8* ; this &gt;&gt; memo is /only /about normalization. &gt;&gt; &gt;&gt; In the rare eventuality that there could arise a requrement for &gt;&gt; any of the other
                            three normalization forms (*NFD*, *NFKC*, *NFKD*) &gt;&gt; defined by the Unicode Consortium, &gt;&gt; these would also be permitted values for the conf file key. &gt;&gt; &gt;&gt; A further benefit arises when a module needs
                            to be updated. &gt;&gt; If the modules team sees that the .conf file includes the line &gt;&gt; *Normalization=Custom* &gt;&gt; they would be forewarned against converting to NFC through &gt;&gt; /inadvertently/ omitting the
                            *-N* switch during module build. &gt;&gt; &gt;&gt; _Aside_: Another language with a need for non-standard &gt;&gt; normalization is *Tibetan*. We don't yet have a module in that script. &gt;&gt; &gt;&gt; Best regards, &gt;&gt;
                            &gt;&gt; David &gt;&gt; &gt;&gt; Sent with ProtonMail
                            Secure Email. &gt;&gt; &gt;&gt; &gt;&gt; _______________________________________________ &gt;&gt; sword-devel mailing list: sword-devel@crosswire.org &gt;&gt;
                                
                                    &gt;&gt; http://www.crosswire.org/mailman/listinfo/sword-devel &gt;&gt;
                                    
                                        &gt;&gt; Instructions to unsubscribe/change your settings at above page &gt; &gt; &gt; ______________________________________________________________________ &gt; This email has been scanned by the Symantec Email Security.cloud service. &gt; For more
                                        information please visit http://www.symanteccloud.com &gt; ______________________________________________________________________ &gt; &gt; &gt; _______________________________________________ &gt; sword-devel mailing
                                        list: sword-devel@crosswire.org &gt; http://www.crosswire.org/mailman/listinfo/sword-devel &gt; Instructions to unsubscribe/change your settings at above page &gt; _______________________________________________
                                        sword-devel mailing list: sword-devel@crosswire.org http://www.crosswire.org/mailman/listinfo/sword-devel Instructions to unsubscribe/change your settings at above page<br></blockquote></div></blockquote><div><br></div></blockquote>