Grammalecte  Diff

Differences From Artifact [6628657a47]:

To Artifact [134f9cff04]:


180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
        # To see if errors position is correct, try with:
        #   J'en ai mare, 𝐴𝐴𝐴𝐴𝐴, je vient, (𝑉ᵣ = 𝐴·𝑣H). C'est sa, mais oui... Je suis très fâchés.
        #   Qu'il sais, 𝐴𝐴𝐴, je vient, (𝑉ᵣ = 𝐴·𝑣H). Oui... Je suis fâchés
        #   C’est ça. Ça existe sur 𝐴               (activer option “ponctuation en fin de ligne”)
        nCheckEnd = 0
        for xErr in aErrors:
            nCheckEnd = max(xErr.nErrorStart + xErr.nErrorLength, nCheckEnd)
        nCheckEnd = min(nCheckEnd+10, len(sText))
        # list thresholds of offsets
        lThresholds = []
        for iCursor in range(nCheckEnd):
            try:
                if ord(sText[iCursor]) > 65535:         # \U00010000: each chars beyond this point has a length of 2
                    lThresholds.append(iCursor+1)     # +1 because only chars after are shifted
            except:
                traceback.print_exc()
        # modify errors position according to thresholds
        print(lThresholds)
        for xErr in aErrors:
            print(xErr.nErrorStart, xErr.nErrorLength, "->", end=" ")
            nErrorEnd = xErr.nErrorStart + xErr.nErrorLength
            xErr.nErrorStart += bisect_right(lThresholds, xErr.nErrorStart)
            nErrorEnd += bisect_right(lThresholds, nErrorEnd)
            xErr.nErrorLength = nErrorEnd - xErr.nErrorStart
            print(xErr.nErrorStart, xErr.nErrorLength)
        return len(lThresholds)


g_ImplementationHelper = unohelper.ImplementationHelper()
g_ImplementationHelper.addImplementation(Grammalecte, "org.openoffice.comp.pyuno.Lightproof."+gce.pkg, ("com.sun.star.linguistic2.Proofreader",),)

# g_ImplementationHelper.addImplementation( opt_handler.LightproofOptionsEventHandler, \
#     "org.openoffice.comp.pyuno.LightproofOptionsEventHandler." + gce.pkg, ("com.sun.star.awt.XContainerWindowEventHandler",),)







<









<

<




<








180
181
182
183
184
185
186

187
188
189
190
191
192
193
194
195

196

197
198
199
200

201
202
203
204
205
206
207
208
        # To see if errors position is correct, try with:
        #   J'en ai mare, 𝐴𝐴𝐴𝐴𝐴, je vient, (𝑉ᵣ = 𝐴·𝑣H). C'est sa, mais oui... Je suis très fâchés.
        #   Qu'il sais, 𝐴𝐴𝐴, je vient, (𝑉ᵣ = 𝐴·𝑣H). Oui... Je suis fâchés
        #   C’est ça. Ça existe sur 𝐴               (activer option “ponctuation en fin de ligne”)
        nCheckEnd = 0
        for xErr in aErrors:
            nCheckEnd = max(xErr.nErrorStart + xErr.nErrorLength, nCheckEnd)

        # list thresholds of offsets
        lThresholds = []
        for iCursor in range(nCheckEnd):
            try:
                if ord(sText[iCursor]) > 65535:         # \U00010000: each chars beyond this point has a length of 2
                    lThresholds.append(iCursor+1)     # +1 because only chars after are shifted
            except:
                traceback.print_exc()
        # modify errors position according to thresholds

        for xErr in aErrors:

            nErrorEnd = xErr.nErrorStart + xErr.nErrorLength
            xErr.nErrorStart += bisect_right(lThresholds, xErr.nErrorStart)
            nErrorEnd += bisect_right(lThresholds, nErrorEnd)
            xErr.nErrorLength = nErrorEnd - xErr.nErrorStart

        return len(lThresholds)


g_ImplementationHelper = unohelper.ImplementationHelper()
g_ImplementationHelper.addImplementation(Grammalecte, "org.openoffice.comp.pyuno.Lightproof."+gce.pkg, ("com.sun.star.linguistic2.Proofreader",),)

# g_ImplementationHelper.addImplementation( opt_handler.LightproofOptionsEventHandler, \
#     "org.openoffice.comp.pyuno.LightproofOptionsEventHandler." + gce.pkg, ("com.sun.star.awt.XContainerWindowEventHandler",),)