Overview
Comment: | [lo] fix error positioning again |
---|---|
Downloads: | Tarball | ZIP archive | SQL archive |
Timelines: | family | ancestors | descendants | both | trunk | lo |
Files: | files | file ages | folders |
SHA3-256: |
9cf5160fe4122f5d5a903b9bcd268907 |
User & Date: | olr on 2021-03-12 10:47:53 |
Other Links: | manifest | tags |
Context
2021-03-12
| ||
10:50 | [lo] remove print() check-in: a9a49dc937 user: olr tags: trunk, lo | |
10:47 | [lo] fix error positioning again check-in: 9cf5160fe4 user: olr tags: trunk, lo | |
09:54 | [fr] ajustements check-in: 4fb93aa07f user: olr tags: trunk, fr | |
Changes
Modified gc_core/py/oxt/Grammalecte.py from [0e97a1f7dd] to [6628657a47].
1 2 3 4 5 6 7 8 9 10 11 12 | # Grammalecte for Writer # License: MPL 2 # A derivative work of Lightproof from László Németh (http://cgit.freedesktop.org/libreoffice/lightproof/) import json import re import sys import traceback from collections import deque from operator import itemgetter | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | # Grammalecte for Writer # License: MPL 2 # A derivative work of Lightproof from László Németh (http://cgit.freedesktop.org/libreoffice/lightproof/) import json import re import sys import traceback from collections import deque from operator import itemgetter from bisect import bisect_left, bisect_right import uno import unohelper from com.sun.star.linguistic2 import XProofreader, XSupportedLocales from com.sun.star.linguistic2 import ProofreadingResult from com.sun.star.lang import XServiceInfo, XServiceName, XServiceDisplayName |
︙ | ︙ | |||
176 177 178 179 180 181 182 | def convertErrorsPosition (self, sText, aErrors): "change position of errors, returns offset" # last char position of the last error # 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 | | > > | | > > > > | | > | 176 177 178 179 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 | def convertErrorsPosition (self, sText, aErrors): "change position of errors, returns offset" # last char position of the last error # 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",),) |