音節切分的問題。因為這輸入法不是直接用詞的編碼串做匹配,而是先做音節切分,然後再用音節代碼去查詢(為能支持各種形式的簡拼和模糊音)。輸入個 abcd,他是這麼切的:有個單字的編碼是ab,有個單字的編碼是cd,所以切成:ab | cd。
假使設定了簡拼的規則,多出一批單字母的編碼,那麼,切分的形式就不唯一了:
a | b | c | d
a | b | cd
a | bc | d
ab | c | d
ab | cd
按理都中,因為簡拼應當包含音節的全拼、簡拼混合的情況。
為了防止計算量過大,對於單個全拼音節可以拆分成若干音節編碼的組合的,默認不讓他拆開。
即:chang,只作 chang,不作 c | hang、ch | ang、chan | g 等。這符合人們的認知。
若需要拆開,如允許:xian --> xi | an,要設置 DevideRule,指定滿足哪種形式的音節,可以從中間拆開。