1 Star 0 Fork 9

mark2060 / imewlconverter

forked from studyzy / imewlconverter 
加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
思路.md 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]就是其编码。

C#
1
https://gitee.com/mark2060/imewlconverter.git
git@gitee.com:mark2060/imewlconverter.git
mark2060
imewlconverter
imewlconverter
master

搜索帮助