It looks identical to your screen cap.
Here is the Arabic in question. The first line is in NFD form:
Code:
<p>إن تقييم الله لأيوب مسجّل في العهد القديم: "لِأَنَّهُ لَيْسَ مِثْلُهُ فِي ٱلْأَرْضِ. رَجُلٌ كَامِلٌ وَمُسْتَقِيمٌ يَتَّقِي ٱللهَ وَيَحِيدُ عَنِ ٱلشَّرِّ" (أيُّوب 1: 8)</p>
The second line is in NFC format:
Code:
<p>إن تقييم الله لأيوب مسجّل في العهد القديم: "لِأَنَّهُ لَيْسَ مِثْلُهُ فِي ٱلْأَرْضِ. رَجُلٌ كَامِلٌ وَمُسْتَقِيمٌ يَتَّقِي ٱللهَ وَيَحِيدُ عَنِ ٱلشَّرِّ" (أيُّوب 1: 8)</p>
If I dump both lines in a hex editor I see the following differences:
Code:
** **
00000110: d98e d986 d991 d98e d987 d98f 20d9 84d9 (nfd)
00000110: d98e d986 d98e d991 d987 d98f 20d9 84d9 (nfc)
** **
** **
00000190: 8ed8 aad9 91d9 8ed9 82d9 90d9 8a20 d9b1 (nfd)
00000190: 8ed8 aad9 8ed9 91d9 82d9 90d9 8a20 d9b1 (nfc)
** **
** **
000001c0: d986 d990 20d9 b1d9 84d8 b4d9 91d9 8ed8 (nfd)
000001c0: d986 d990 20d9 b1d9 84d8 b4d9 8ed9 91d8 (nfc)
** **
** ** ** **
000001d0: b1d9 91d9 9022 2028 d8a3 d98a d991 d98f (nfd)
000001d0: b1d9 90d9 9122 2028 d8a3 d98a d98f d991 (nfc)
** ** ** **
The issue is one of search that includes any of the changed characters. By forcing to NFC like Calibre does and the epub spec calls for you can at least match the Form of the Find and Replace to the Form of the Text document (.xhtnml file)
By cutting and pasting out of Chrome, BBEdit, and Sigil 2.1.0 itself and pasting into Sigil and immediately saving that file (not writing it out to a zip) on macOS I can see that I can paste either form into Sigil and Qt does not normalize anything. It is a straight copy paste.
That means I can not easily prevent mixed form (NFD and NFC) of the same text from being entered into the epub meaning that search for one of the chars that is changed will not find the other, depending on which version gets pasted into the Find Window.
Under these conditions, Find and Replace becomes pretty worthless. I am just not sure how to handle things.
I have no idea if the different forms will be kept in MR in this post, but if they are I would like you to copy the NFD line and paste it into Sigil and Word (or LibreOffice) and save it on Windows, so that I can see if it gets changed to NFC or is just left as is.
If it is left as is, then I can never normalize the text to NFC form on load as it would not catch all changes. I would be better off Normalizing to NFC on Saving in Sigil and then maybe use NFC in the find and replace fields as well.
Or maybe just do what everyone else seems to be doing (except for Kovid) and just punt and allow NFD text mixed with NFC text.
Search and replace positions of the text will be off if I leave the underlying text as is but NFC normalize a copy of it just for find and replace. So I am just not sure what to do here.