skywind3000 发表于 2017-4-27 21:45:52

mdict 1.3 对大型 .mdx的兼容问题,为何同所有其他软件都不一样?

本帖最后由 skywind3000 于 2017-4-27 22:02 编辑

起因是这样的,还是再做我的简明增强,收词量到达 306万了,因为连论坛里神秘的 MdxBuilder 特别版都已经开始崩溃了,我用我自己改
过bug的 writemdict 生成的 mdx:

https://www.pdawiki.com/forum/thread-20577-1-1.html

所有软件都兼容,从欧陆到 mdict 2.0 再到 GoldenDict/BlueDict /edwin 都很正常使用该 .mdx(包括 mdict的手机版)。

但是,mdict 1.3的网友反馈丢词了,有些词查不出来,比如:duma, general meeting 和 power strip。

我专门验证了一下 mdict1.3,明明这几个词都有,索引光标就是跳不过去,卡在前面的单词上。
除此以外,甚至还有如下几个问题:

1. 敲入 a,索引列表不会跳到第一个字母是a的单词,b也不会。
2. 敲入 c,索引列表可以跳到 c开头的单词,但是是跳到 "committee on excursions..." 这个单词,不是 c开头的第一个单词。
3. 敲入 duma,索引列表停在:digital pelvimetry 这个单词上,不会继续往下,明明下面就有 duma。

这几个问题和上面查不出来的单词,在非 mdict 1.3的所有软件里都能查得出来,但是 mdict1.3就是查不出来。writemdict 使用的 mdx头为:

<Dictionary
GeneratedByEngineVersion="2.0}"
RequiredEngineVersion="2.0"
Encrypted="0"
Encoding="UTF-8"
Format="Html"
CreationDate="2017-4-27"
Compact="No"
Compat="No"
KeyCaseSensitive="No"
StripKey="Yes"
Description="{description}"
Title="{title}"
DataSourceFormat="106"
StyleSheet="" />

排序也是 Strip 过后排序的,排序结果和 MdxBuilder 一模一样,可惜 mdict1.3里面就是出不来,其他包括 mdict手机版在内的所有软件
都没问题。

下载了论坛里面的 MdxBuilder 3.0 特别版,但是现在已经用不了了,特别版都闪退,而且不是必现,同样数据,有时候能生成mdx,有时
不能生成 mdx,闪退了。

被迫使用 writemdict,一切都好,就是 mdict1.3,有熟悉 mdx的人知道上面那三个1.3的索引跳转问题,可能出在什么地方么?为何
mdict2 和 mdict手机版就没事?1.3 特殊在哪里?是不是对大文件兼容不太好?

不想切分文件的话,有什么办法生成我要的 .mdx?

greatszh 发表于 2017-4-27 22:01:43

这种事儿不必太纠结,应该是mdict1.3软件自身的bug,这货又没开源,真有这方面需求的直接建议客户升级到2.0就是了。

skywind3000 发表于 2017-4-27 23:34:51

greatszh 发表于 2017-4-27 22:01
这种事儿不必太纠结,应该是mdict1.3软件自身的bug,这货又没开源,真有这方面需求的直接建议客户升级到2.0 ...

难道就这样放弃掉mdict1.3了么?

skywind3000 发表于 2017-4-27 23:35:03

greatszh 发表于 2017-4-27 22:01
这种事儿不必太纠结,应该是mdict1.3软件自身的bug,这货又没开源,真有这方面需求的直接建议客户升级到2.0 ...

难道就这样放弃掉mdict1.3了么?

大膜法师 发表于 2017-4-27 23:42:46

本帖最后由 大膜法师 于 2017-4-29 00:21 编辑

这个问题只能直接向作者反馈,不过由于mdx 3.0已经发布,对于旧版本mdx是否会修复还是个问题
至于用户方面,直接说升级软件就行了,旧版软件产生的问题不是词库制作者应该关心的。

另:py生成出来的mdx数据还是有点差别,标准mdx每个词条的正文部分结尾是0x0D 0x0A 0x00,而py就只有0x00,不过GetDict还是能识别出来(就是速度太慢了),这点要佩服一下yhssdl
(至于怎么发现的,其实我自己写的mdx解析器碰到楼主用py生成的英汉mdx时就解不出来,所以自己查看了一下文件,问题解决)

greatszh 发表于 2017-4-27 23:44:47

搞过开发的人都追求完美,不过也应该分清责任,这个bug不是你写的工具造成的,这货也没开源更没对外提供接口,真有啥反馈也是应该给mdict的作者反馈,况且人家已经版本升级了,据您说人家的2.0也没这个问题应该是作者已经发现并且修正过了。没必要纠缠过去,向前看,否则会很累的,没啥别的意思,望作者别误解,我也是一直在关注作者您的作品,很实用。这里说声辛苦了。有不恰当之处望海涵。

greatszh 发表于 2017-4-27 23:48:08

可能说句题外话,我现在的情况跟你的有点类似,n年以前搞过开发,现在学外语想折腾折腾python语料库,结果发现自己的xp老爷机上很多工具包都装不了,总纠缠包依赖之间的版本问题折腾的头都大了,最后一了百了的直接咔嚓,装个集成的安装包,世界一下子清净了。就事儿说事儿的,没啥别的意思,望见谅。

lgmcw 发表于 2018-10-2 19:53:54

这个问题在《简明英汉必应版》里是不是已经解决了?我在MDict1.3也能顺利查到duma, general meeting 和 power strip。

franciscojose 发表于 2019-1-22 21:39:03

This version is outdated, right?
页: [1]
查看完整版本: mdict 1.3 对大型 .mdx的兼容问题,为何同所有其他软件都不一样?