Grammalecte  Check-in [5f6937c0c1]

Overview
Comment:[graphspell] suggest: don’t split words when only one letter (with exceptions)
Downloads: Tarball | ZIP archive | SQL archive
Timelines: family | ancestors | descendants | both | trunk | graphspell
Files: files | file ages | folders
SHA3-256: 5f6937c0c1b185b9053a10abce467547ae3904de40887dc417e918ab388b9132
User & Date: olr on 2019-09-08 16:33:54
Other Links: manifest | tags
Context
2019-09-12
09:37
[fr] ajustements: suggLesLa() check-in: 2d873cdd76 user: olr tags: trunk, fr
2019-09-08
16:33
[graphspell] suggest: don’t split words when only one letter (with exceptions) check-in: 5f6937c0c1 user: olr tags: trunk, graphspell
15:59
[graphspell] suggest: code simplification check-in: dbcb7ad1a9 user: olr tags: trunk, graphspell
Changes

Modified graphspell-js/ibdawg.js from [ad7773e0f2] to [e63a96e0c5].

376
377
378
379
380
381
382

383


384
385
386
387
388
389
390
376
377
378
379
380
381
382
383

384
385
386
387
388
389
390
391
392







+
-
+
+







                return;
            }
            else if ( (sNewWord.length + sRemain.length == oSuggResult.sWord.length) && oSuggResult.sWord.toLowerCase().startsWith(sNewWord.toLowerCase()) && this.isValid(sRemain) ) {
                if (this.sLangCode == "fr"
                    && ["l", "d", "n", "m", "t", "s", "c", "j", "qu", "lorsqu", "puisqu", "quoiqu", "jusqu", "quelqu"].includes(sNewWord.toLowerCase()) && char_player.aVowel.has(sRemain.slice(0,1))) {
                    oSuggResult.addSugg(sNewWord+"’"+sRemain);
                }
                if ((sNewWord.length > 1 && sRemain.length > 1) || ["a", "à", "y"].includes(sNewWord) || ["a", "à", "y"].includes(sRemain)) {
                oSuggResult.addSugg(sNewWord+" "+sRemain);
                    oSuggResult.addSugg(sNewWord+" "+sRemain);
                }
            }
        }
        if (nDist > oSuggResult.nDistLimit) {
            return;
        }

        let cCurrent = sRemain.slice(0, 1);

Modified graphspell/ibdawg.py from [0e7456a664] to [8d60018109].

336
337
338
339
340
341
342

343

344
345
346
347
348
349
350
336
337
338
339
340
341
342
343

344
345
346
347
348
349
350
351







+
-
+







                oSuggResult.addSugg(sNewWord, nDeep)
                for sTail in self._getTails(iAddr):
                    oSuggResult.addSugg(sNewWord+sTail, nDeep)
                return
            if (len(sNewWord) + len(sRemain) == len(oSuggResult.sWord)) and oSuggResult.sWord.lower().startswith(sNewWord.lower()) and self.isValid(sRemain):
                if self.sLangCode == "fr" and sNewWord.lower() in ("l", "d", "n", "m", "t", "s", "c", "j", "qu", "lorsqu", "puisqu", "quoiqu", "jusqu", "quelqu") and sRemain[0:1] in cp.aVowel:
                    oSuggResult.addSugg(sNewWord+"’"+sRemain)
                if (len(sNewWord) > 1 and len(sRemain) > 1) or sNewWord in ("a", "à", "y") or sRemain in ("a", "à", "y"):
                oSuggResult.addSugg(sNewWord+" "+sRemain)
                    oSuggResult.addSugg(sNewWord+" "+sRemain)
        if nDist > oSuggResult.nDistLimit:
            return
        cCurrent = sRemain[0:1]
        for cChar, jAddr in self._getCharArcs(iAddr):
            if cChar in cp.d1to1.get(cCurrent, cCurrent):
                self._suggest(oSuggResult, sRemain[1:], nMaxSwitch, nMaxDel, nMaxHardRepl, nMaxJump, nDist, nDeep+1, jAddr, sNewWord+cChar)
            elif not bAvoidLoop: