Back to Imewlconverter

记录一下设计思路

思路.md

3.3.11.2 KB
Original Source

记录一下设计思路

层次调用

  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]就是其编码。