仅保留单个词典条目时,如何修改Hunspell的.aff文件实现d与n互换?
方案可行,仅修改.aff文件即可实现
可以通过Hunspell的内置规则,让and和adn同时被判定为正确单词,无需修改.dic文件,以下是两种适配你场景的实现方式:
方法一:相邻字符置换规则(全局生效)
在.aff文件中添加以下指令:
PERM 1
PERM 1表示允许最多1次相邻字符互换操作。当用户输入adn时,Hunspell会自动检测到它是and的一次相邻字符位置互换,直接判定为正确单词。
注意事项
- 该规则对字典中所有单词生效,所有单词的相邻字符置换变体都会被认可。如果仅需要针对
and单独生效,此方法不适用。 - 可调整
PERM后的数值(如PERM 2)允许更多次置换,但数值越高,拼写检查的性能消耗越大。
方法二:音素映射规则(全局生效)
通过将d和n映射为相同音素,让Hunspell认为二者是等价字符:
在.aff文件中添加:
PHONE d n PHONE n d CHECKPHONE 1
开启CHECKPHONE 1后,Hunspell会基于音素匹配判定单词正确性,因此adn会被视为与and发音相同的正确单词。
注意事项
- 该规则同样全局生效,所有包含d或n的单词,互换这两个字符后都会被判定为正确,刚好适配你“允许d与n互换”的语言场景。
内容的提问来源于stack exchange,提问作者shantanuo
相关产品推荐
相关产品推荐

