Skip to content

Latest commit

 

History

History
27 lines (23 loc) · 1.18 KB

思路.md

File metadata and controls

27 lines (23 loc) · 1.18 KB

#记录一下设计思路

层次调用

  1. 前端界面或者Console通过CoreMapping来调用IME中的类,完成解析WordLibrary类,然后导出成字符串的任务。
  2. IME中的类需要调用Generater中的类,完成对Code的生成。如果输入和输出的CodeType是相同的,那么就不需要调用Generater类。
  3. Generater中的类读取资源文件中的汉字编码对应表,也可以读取外部指定的对应表,在内存中生成字典,根据具体的编码规则对词汇进行编码。

##默认规则 所有编码规则都应该是允许一字多码的。比如拼音中的多音字。 词汇的编码有几种:

  • 一字一码。比如单音字拼音输入法
  • 一字多码。比如多音字拼音输入法
  • 一词一码。比如五笔
  • 一词多码。比如某些二笔输入法

WordLibrary类

包含基本4个属性:

  • 汉字Word
  • 编码Codes
  • 词频Rank
  • 编码类型CodeType

关于编码Codes, 如果是一字一码,那么Codes[n][0]就是第n个字的编码 如果是一字多码,那么Codes[n][x]就是第n个字的编码 如果是一词一码,那么Codes[0][0]就是其编码。 如果是一词多码,那么Codes[0][x]就是其编码。