terasum / js-mdict

*.mdx/*.mdd interpreter js implements, support mdict index file
MIT License
159 stars 18 forks source link

fix(mdict.js): fix keyCaseSensitive and stripKey failing mdd #38

Closed songxiaocheng closed 3 years ago

songxiaocheng commented 3 years ago

https://github.com/terasum/js-mdict/commit/f28250ebd2410c2aebae8cbb993096621ad3480d#r52534312

terasum commented 3 years ago

mdd 文件的 header 部分还没有时间去分析过,你这么改是因为前面那个 PR 改掉了 keyCaseSensitivestripKey 的赋值方式吗?这个改动希望能够帮忙测试一下, debug.spec.js 里面有测试代码的

songxiaocheng commented 3 years ago

mdd 文件的 header 部分还没有时间去分析过,你这么改是因为前面那个 PR 改掉了 keyCaseSensitivestripKey 的赋值方式吗?这个改动希望能够帮忙测试一下, debug.spec.js 里面有测试代码的

不是,这和前面那个PR是两件不同的事情。这里你对所有mdd文件直接返回那个平凡 _s 函数,导致对 mdd 文件来说, keyCaseSensitivestripKey 都失效了。

mdd 的 header 我通过查看输出,感觉好像和 mdx 几乎都差不多。

我手头有词典大小写不敏感,mdd 里总是获取不到,删掉这一段就正常了。

songxiaocheng commented 3 years ago

@terasum 你提供的测试用的第二个mdx,链接失效了

terasum commented 3 years ago

@songxiaocheng mdd文件有些特殊,如果删掉这段会有问题的,我最近在调试的一些图片文件的 key\uk\headache__gb_1.mp3 这样的,如果不用简单函数的话,会查不到

terasum commented 3 years ago

@songxiaocheng 我更新下

terasum commented 3 years ago

@songxiaocheng

链接: https://pan.baidu.com/s/1cti7sq82Tp29_J7sK9Utcw 密码: m46h

songxiaocheng commented 3 years ago

@songxiaocheng mdd文件有些特殊,如果删掉这段会有问题的,我最近在调试的一些图片文件的 key\uk\headache__gb_1.mp3 这样的,如果不用简单函数的话,会查不到

我没太明白你意思,好像这和 keyCaseSensitive 似乎没有关系?

至于 stripKey 的话,我手头没有可复现的词典。

但我认为至少应该区分下 keyCaseSensitive

terasum commented 3 years ago

@songxiaocheng 如果 keyCaseSensitivestripKey 这两个值生效的话(也就是在之前 || true 的情况下) mdd在查询的时候 类似 \uk\headache__gb_1.mp3 是查询不出来的。这两个值一个会影响 compareFn 一个会影响 _s 函数,导致特殊符号被处理掉

songxiaocheng commented 3 years ago

@songxiaocheng 如果 keyCaseSensitivestripKey 这两个值生效的话(也就是在之前 || true 的情况下) mdd在查询的时候 类似 \uk\headache__gb_1.mp3 是查询不出来的。这两个值一个会影响 compareFn 一个会影响 _s 函数,导致特殊符号被处理掉

可否提供一个可复现该问题的词典和测试用例?

terasum commented 3 years ago

@songxiaocheng 前面贴的云盘里有一个 oale8.mdd 可以试试查询一下 \uk\headache__gb_1.mp3

songxiaocheng commented 3 years ago

@songxiaocheng 前面贴的云盘里有一个 oale8.mdd 可以试试查询一下 \uk\headache__gb_1.mp3

我这边试了下这条,没发现有什么问题啊。我这边能够正常查到 oale8.mdd 里面的 \uk\headache__gb_1.mp3

songxiaocheng commented 3 years ago

Involved in #45