521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
|
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
|
+
-
-
-
+
+
+
+
|
function suggSimil (sWord, sPattern=null, bSubst=false, bVC=false) {
// return list of words phonetically similar to sWord and whom POS is matching sPattern
let sSfx;
if (bVC) {
[sWord, sSfx] = splitVerb(sWord);
}
let aSugg = phonet.selectSimil(sWord, sPattern);
if (aSugg.size === 0 || !bSubst) {
for (let sMorph of _oSpellChecker.getMorph(sWord)) {
for (let e of conj.getSimil(sWord, sMorph, bSubst)) {
aSugg.add(e);
for (let sMorph of _oSpellChecker.getMorph(sWord)) {
for (let e of conj.getSimil(sWord, sMorph, bSubst)) {
aSugg.add(e);
}
}
}
if (aSugg.size > 0) {
if (bVC) {
return Array.from(aSugg).map((sSugg) => { return sSugg + sSfx; }).join("|");
}
return Array.from(aSugg).join("|");
|