掌上百科 - PDAWIKI

 找回密码
 免费注册

QQ登录

只需一步,快速开始

查看: 3522|回复: 10

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

[复制链接]

该用户从未签到

发表于 2017-4-27 21:45:52 | 显示全部楼层 |阅读模式
本帖最后由 skywind3000 于 2017-4-27 22:02 编辑
. H; V2 R' [+ b" [5 j2 j0 h" F/ H: J1 e4 C3 V% T* i: ~' k9 s
起因是这样的,还是再做我的简明增强,收词量到达 306万了,因为连论坛里神秘的 MdxBuilder 特别版都已经开始崩溃了,我用我自己改/ |0 H, V2 O/ _# Y6 z
过bug的 writemdict 生成的 mdx:
" p* Y2 R% j  y6 B1 g* C. \# c8 {9 z1 [: q8 h
https://www.pdawiki.com/forum/thread-20577-1-1.html) N1 N- {/ B; N) A- \( Z6 C

; N  w7 K" X* x6 D6 M) }8 m, R所有软件都兼容,从欧陆到 mdict 2.0 再到 GoldenDict/BlueDict /edwin 都很正常使用该 .mdx(包括 mdict的手机版)。
' }8 \2 C% T  e. v
8 \1 d% G, ^% q3 p5 \但是,mdict 1.3的网友反馈丢词了,有些词查不出来,比如:duma, general meeting 和 power strip。
- `0 x; w. q- S+ g. A% ?) Y
0 M7 E( b0 s( n0 E# J1 @我专门验证了一下 mdict1.3,明明这几个词都有,索引光标就是跳不过去,卡在前面的单词上。- z5 @5 A0 ]6 R! y6 j# T. X$ R
除此以外,甚至还有如下几个问题:4 J  ]% z' H' d4 Q/ W1 [6 [
( _5 {  v  L% A: H* o, M0 o: S" ?
1. 敲入 a,索引列表不会跳到第一个字母是a的单词,b也不会。
* @/ |! f# x( z, h3 q2. 敲入 c,索引列表可以跳到 c开头的单词,但是是跳到 "committee on excursions  ..." 这个单词,不是 c开头的第一个单词。2 i2 A" h1 i% Z1 T; \0 r
3. 敲入 duma,索引列表停在:digital pelvimetry 这个单词上,不会继续往下,明明下面就有 duma。; w  @2 O2 n0 p- H6 X/ O
0 F7 V. W6 S, P( x
这几个问题和上面查不出来的单词,在非 mdict 1.3的所有软件里都能查得出来,但是 mdict1.3就是查不出来。writemdict 使用的 mdx头为:
& L) g7 P; Z* r6 W7 I% F
. {. @9 O5 x( G# n3 _4 I
  1. <Dictionary
    $ W  K2 k" B0 t% L0 _4 P
  2. GeneratedByEngineVersion="2.0}"  , M* `1 G& E: N) n; |8 X; }
  3. RequiredEngineVersion="2.0" ; z- h0 R: A" ^( c5 m1 v' K6 n2 C4 |
  4. Encrypted="0" % s/ d" @) d! A1 h& L( ~% L
  5. Encoding="UTF-8"
    " U; U6 E+ t' y- @6 y+ Q1 R/ C9 E# |& T
  6. Format="Html"
    % s. m% A$ T# ~
  7. CreationDate="2017-4-27"
    % n- r2 [1 M0 }) h) G  ~7 S
  8. Compact="No" ( j5 `0 o9 `; R5 c8 i
  9. Compat="No" 3 ~# W: N, Y+ n2 I, L% K7 U" n
  10. KeyCaseSensitive="No" ! U6 _& Y. O( z  Q4 j
  11. StripKey="Yes" % a. k. @. g* a8 z) r" A) ?
  12. Description="{description}"   G! z+ O) G1 B1 j- V! {; s
  13. Title="{title}"
    2 v9 H- n; p* D2 f
  14. DataSourceFormat="106" * z: A! y9 B1 K0 t% C
  15. StyleSheet="" />
复制代码

5 w! e% D7 ~2 |' n: ]; _  w  c6 ]+ P
, M. V' M% Q+ M7 n排序也是 Strip 过后排序的,排序结果和 MdxBuilder 一模一样,可惜 mdict1.3里面就是出不来,其他包括 mdict手机版在内的所有软件/ l) @- N! N. L1 L2 O, n# s
都没问题。
% {( Y# V# F, t
2 d; ?, c2 J% z( Y下载了论坛里面的 MdxBuilder 3.0 特别版,但是现在已经用不了了,特别版都闪退,而且不是必现,同样数据,有时候能生成mdx,有时
7 m0 m# g6 U0 d1 m% }; I不能生成 mdx,闪退了。& C& t& s- p0 H% Z. f
' H7 T& y6 V6 T; D0 t
被迫使用 writemdict,一切都好,就是 mdict1.3,有熟悉 mdx的人知道上面那三个1.3的索引跳转问题,可能出在什么地方么?为何7 a2 h# `9 o$ Y( `9 ]3 ^
mdict2 和 mdict手机版就没事?1.3 特殊在哪里?是不是对大文件兼容不太好?
. C2 F! e& x, `3 }1 y3 Q1 Q4 p" }9 }
9 l7 P2 U* B5 O/ l3 f8 l& X% Z: o不想切分文件的话,有什么办法生成我要的 .mdx?: z& a* c& j, \0 @0 N2 G% g
  • TA的每日心情
    奋斗
    2018-11-10 00:38
  • 签到天数: 346 天

    [LV.8]以坛为家I

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

    该用户从未签到

     楼主| 发表于 2017-4-27 23:34:51 | 显示全部楼层
    greatszh 发表于 2017-4-27 22:015 L6 O9 _) v6 N2 ~- \1 s! ~+ ]
    这种事儿不必太纠结,应该是mdict1.3软件自身的bug,这货又没开源,真有这方面需求的直接建议客户升级到2.0 ...

    " i) X) ^! }& u) W( ~7 C# i' h5 i难道就这样放弃掉mdict1.3了么?

    该用户从未签到

     楼主| 发表于 2017-4-27 23:35:03 | 显示全部楼层
    greatszh 发表于 2017-4-27 22:01. r  c7 W6 M0 N
    这种事儿不必太纠结,应该是mdict1.3软件自身的bug,这货又没开源,真有这方面需求的直接建议客户升级到2.0 ...

    & j  L: P# ?5 T' T难道就这样放弃掉mdict1.3了么?

    该用户从未签到

    发表于 2017-4-27 23:42:46 | 显示全部楼层
    本帖最后由 大膜法师 于 2017-4-29 00:21 编辑
    " y9 R% w2 t' T- U
    0 |3 o. F' k5 M# ~4 E) ]' f0 N这个问题只能直接向作者反馈,不过由于mdx 3.0已经发布,对于旧版本mdx是否会修复还是个问题
    4 R, j/ F: S" T8 ]3 D# A- L& ~6 G至于用户方面,直接说升级软件就行了,旧版软件产生的问题不是词库制作者应该关心的。6 i6 T9 w7 a+ z4 b7 `1 f
    8 p' `- ]: s9 r/ F9 e8 r
    另:py生成出来的mdx数据还是有点差别,标准mdx每个词条的正文部分结尾是0x0D 0x0A 0x00,而py就只有0x00,不过GetDict还是能识别出来(就是速度太慢了),这点要佩服一下yhssdl
    ' o" O' R( O- ^* i1 Z& z# r(至于怎么发现的,其实我自己写的mdx解析器碰到楼主用py生成的英汉mdx时就解不出来,所以自己查看了一下文件,问题解决)

    点评

    我靠,这 0d 0a 00 你是怎么发现的?  发表于 2017-4-28 00:28
  • TA的每日心情
    奋斗
    2018-11-10 00:38
  • 签到天数: 346 天

    [LV.8]以坛为家I

    发表于 2017-4-27 23:44:47 | 显示全部楼层
    搞过开发的人都追求完美,不过也应该分清责任,这个bug不是你写的工具造成的,这货也没开源更没对外提供接口,真有啥反馈也是应该给mdict的作者反馈,况且人家已经版本升级了,据您说人家的2.0也没这个问题应该是作者已经发现并且修正过了。没必要纠缠过去,向前看,否则会很累的,没啥别的意思,望作者别误解,我也是一直在关注作者您的作品,很实用。这里说声辛苦了。有不恰当之处望海涵。
  • TA的每日心情
    奋斗
    2018-11-10 00:38
  • 签到天数: 346 天

    [LV.8]以坛为家I

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

    点评

    嗯,那不管了,先忽略掉1.3吧。  发表于 2017-4-28 00:01
  • TA的每日心情
    奋斗
    2020-11-15 11:37
  • 签到天数: 249 天

    [LV.8]以坛为家I

    发表于 2018-10-2 19:53:54 | 显示全部楼层
    这个问题在《简明英汉必应版》里是不是已经解决了?我在MDict1.3也能顺利查到duma, general meeting 和 power strip。

    该用户从未签到

    发表于 2019-1-22 21:39:03 | 显示全部楼层
    This version is outdated, right?
    您需要登录后才可以回帖 登录 | 免费注册

    本版积分规则

    小黑屋|手机版|Archiver|PDAWIKI |网站地图

    GMT+8, 2024-4-20 12:24 , Processed in 0.065978 second(s), 16 queries , MemCache On.

    Powered by Discuz! X3.4

    Copyright © 2001-2023, Tencent Cloud.

    快速回复 返回顶部 返回列表