Overview
| Comment: | [core][fr] phonet: better code for isSimilAs() |
|---|---|
| Downloads: | Tarball | ZIP archive | SQL archive |
| Timelines: | family | ancestors | descendants | both | trunk | fr | core |
| Files: | files | file ages | folders |
| SHA3-256: |
5f68edd979ac2c87ae27a9226b350e4e |
| User & Date: | olr on 2020-11-14 13:46:50 |
| Other Links: | manifest | tags |
Context
|
2020-11-14
| ||
| 13:57 | [graphspell] dawg: fix building check-in: ec2ed0b1bc user: olr tags: trunk, graphspell | |
| 13:46 | [core][fr] phonet: better code for isSimilAs() check-in: 5f68edd979 user: olr tags: trunk, fr, core | |
| 11:08 | [build][core][fr][misc] phonet token, new syntax check-in: 98cbf77aef user: olr tags: trunk, fr, core, build, misc | |
Changes
Modified gc_lang/fr/modules-js/phonet.js from [62385b8be1] to [ea83f80d7b].
| ︙ | ︙ | |||
80 81 82 83 84 85 86 |
aSelect.add(sSimil);
}
}
}
return aSelect;
},
| | | | | | | | | | | | < < > | | | > > > | | > > > | | 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 |
aSelect.add(sSimil);
}
}
}
return aSelect;
},
_getSetNumber (sWord) {
// return the set number where <sWord> belongs, else -1
if (this._dWord.has(sWord)) {
return this._dWord.get(sWord);
}
if (sWord.slice(0,1).gl_isUpperCase()) {
if (this._dWord.has(sWord.toLowerCase())) {
return this._dWord.get(sWord.toLowerCase());
}
if (sWord.gl_isUpperCase() && this._dWord.has(sWord.gl_toCapitalize())) {
return this._dWord.get(sWord.gl_toCapitalize());
}
}
return -1;
},
isSimilAs: function (sWord, sSimil) {
// return True if <sWord> phonetically similar to <sSimil> (<sWord> tested with several casing)
if (!sWord || !sSimil) {
return false;
}
let n = this._getSetNumber(sWord);
if (n == -1) {
return false;
}
return n == this._getSetNumber(sSimil);
}
};
// Initialization
if (!phonet.bInit && typeof(process) !== 'undefined') {
// NodeJS
|
| ︙ | ︙ |
Modified gc_lang/fr/modules/phonet.py from [a7ff873dfd] to [cf22067e41].
| ︙ | ︙ | |||
48 49 50 51 52 53 54 55 |
aSelect = set()
for sSimil in getSimil(sWord):
for sMorph in _dMorph.get(sSimil, []):
if re.search(sPattern, sMorph):
aSelect.add(sSimil)
return aSelect
| < < | | < < < | | | | | > > > > > > > | > > | > | 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 |
aSelect = set()
for sSimil in getSimil(sWord):
for sMorph in _dMorph.get(sSimil, []):
if re.search(sPattern, sMorph):
aSelect.add(sSimil)
return aSelect
def _getSetNumber (sWord):
"return the set number where <sWord> belongs, else -1"
if sWord in _dWord:
return _dWord[sWord]
if sWord[0:1].isupper():
if sWord.lower() in _dWord:
return _dWord[sWord.lower()]
if sWord.isupper() and sWord.capitalize() in _dWord:
return _dWord[sWord.capitalize()]
return -1
def isSimilAs (sWord, sSimil):
"return True if <sWord> phonetically similar to <sSimil> (<sWord> tested with several casing)"
if not sWord or not sSimil:
return False
n = _getSetNumber(sWord)
if n == -1:
return False
return n == _getSetNumber(sSimil)
|