全新的mdx/mdd词典制作工具

stripkey 这个选项会去掉词条中的符号然后再排序,如果和mdxbuilder去掉的符号不一致,就会导致排序异常,读取的时候也会错漏词条,这个符号的范围需要制作工具、词典软件和官方的mdxbuilder三者保持一致才行。

参考 #386

如果是 mdict-utils 来制作词典的话,它会去掉处理上面的短横(连字符),但长横它不会处理,长横就会参与到字符的排序中去。

词头排序完,然后按顺序每64k的字符压缩在一块,比如这个64k的压缩块里有1024个词头,词典软件会读取第一个词头和最后一个词头,按顺序把所有压缩块的前后词头提取出来去掉符号后就成了索引(第一次stripkey),当需要查找词头的时候,先去掉词头中的符号(第二次stripkey),通过词头和索引对比,判断词头所在的压缩块位置,确定压缩块把词头解压出来后,再次去掉符号(第三次stripkey),按顺序对比具体的词头。(大致是这样,具体细节模糊了)

2 个赞