掌上百科 - PDAWIKI

 找回密码
 免费注册

QQ登录

只需一步,快速开始

查看: 3660|回复: 10

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

[复制链接]

该用户从未签到

发表于 2017-4-27 21:45:52 | 显示全部楼层 |阅读模式
本帖最后由 skywind3000 于 2017-4-27 22:02 编辑
( C6 B% B: P) }# ~8 ]6 U. B
' N) i; s$ h/ `2 R起因是这样的,还是再做我的简明增强,收词量到达 306万了,因为连论坛里神秘的 MdxBuilder 特别版都已经开始崩溃了,我用我自己改; l9 U) M" D5 Z0 d: o3 v2 ?$ @
过bug的 writemdict 生成的 mdx:
* C7 f) n& j* {. g  h% M. R. [9 P. }5 l$ \$ X5 W% d
https://www.pdawiki.com/forum/thread-20577-1-1.html$ J) ~4 c8 Z$ i1 ~' C
( Y! H6 t  A7 t6 V
所有软件都兼容,从欧陆到 mdict 2.0 再到 GoldenDict/BlueDict /edwin 都很正常使用该 .mdx(包括 mdict的手机版)。
: P3 E8 L2 l0 C9 x$ Y3 n& Z$ g, U6 s! K# C; I
但是,mdict 1.3的网友反馈丢词了,有些词查不出来,比如:duma, general meeting 和 power strip。; z+ `" N8 l4 R* G3 {2 l+ R

* o# @) ~8 l  ?. h. N0 t2 z0 ?3 p我专门验证了一下 mdict1.3,明明这几个词都有,索引光标就是跳不过去,卡在前面的单词上。
1 U7 U4 _; \7 f除此以外,甚至还有如下几个问题:
& K" g" |9 @. P* ?6 a* f' A4 }$ [" l' C, I% F
1. 敲入 a,索引列表不会跳到第一个字母是a的单词,b也不会。( A. Z" s7 @! ]7 M. j
2. 敲入 c,索引列表可以跳到 c开头的单词,但是是跳到 "committee on excursions  ..." 这个单词,不是 c开头的第一个单词。
( a3 Q/ ]$ B8 H( i, D& c4 W5 v3. 敲入 duma,索引列表停在:digital pelvimetry 这个单词上,不会继续往下,明明下面就有 duma。2 f( K; ?; r# r6 A" S

; ~1 s% t4 l- G, h这几个问题和上面查不出来的单词,在非 mdict 1.3的所有软件里都能查得出来,但是 mdict1.3就是查不出来。writemdict 使用的 mdx头为:
7 [) x8 V$ Z. d* c
7 @5 ^  c6 o' e$ e* \) H
  1. <Dictionary
    1 ?$ z' \- x1 b. n% j! K& W  b: n
  2. GeneratedByEngineVersion="2.0}"  " f# ~' N3 s8 N( w9 e$ V( @3 D8 o) H
  3. RequiredEngineVersion="2.0" 2 X$ C8 v( y9 c* S! U1 z# c* A
  4. Encrypted="0"
    6 L0 ~- j  N) Y- u' i: C- W$ Y/ k' y
  5. Encoding="UTF-8"
      C! m  x& B5 A* g" p2 b+ H) V
  6. Format="Html" . ^+ w0 t& a9 k0 w* p+ O
  7. CreationDate="2017-4-27"
    + W: h, x0 ^1 s5 A6 Z
  8. Compact="No"
    5 Z. C8 b* m0 K" g7 |
  9. Compat="No"
    + C2 K( [' p  c8 l9 g) h! A
  10. KeyCaseSensitive="No" # z# G6 F' G4 v) O  O* [2 n
  11. StripKey="Yes" 9 M5 Q9 T1 O5 P
  12. Description="{description}" $ v: T' r/ E& ?% p: M
  13. Title="{title}" : _1 x2 G+ ]9 c% J2 k  C1 r
  14. DataSourceFormat="106" ; j/ U. N$ E2 K' Z
  15. StyleSheet="" />
复制代码

9 @) X, Q: y! Y. j
( n6 o9 E( k) x; {! [% C排序也是 Strip 过后排序的,排序结果和 MdxBuilder 一模一样,可惜 mdict1.3里面就是出不来,其他包括 mdict手机版在内的所有软件
  Q" D0 G! f4 x; C6 q& n: V都没问题。
% P9 S! a" S8 `! E8 @  R# I) u
, T- E3 o$ F$ i% h& z$ h下载了论坛里面的 MdxBuilder 3.0 特别版,但是现在已经用不了了,特别版都闪退,而且不是必现,同样数据,有时候能生成mdx,有时
8 P8 v, {  H) H3 v2 ~# _9 q不能生成 mdx,闪退了。6 G9 ]$ f5 F1 s  @% J9 R0 R1 g; A
* D: i; v( A9 p6 h9 ~! k6 ]9 g$ c
被迫使用 writemdict,一切都好,就是 mdict1.3,有熟悉 mdx的人知道上面那三个1.3的索引跳转问题,可能出在什么地方么?为何- z: `3 V$ X7 w6 S; O$ l7 I* i
mdict2 和 mdict手机版就没事?1.3 特殊在哪里?是不是对大文件兼容不太好?
( ~* v& l2 M" V4 y. c/ {( O
) V0 ?" f  L) j* l) g: A不想切分文件的话,有什么办法生成我要的 .mdx?
, y3 j' T5 v# q. s! n
  • 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:017 n. f% C' {6 E% f2 Q6 g3 N. L
    这种事儿不必太纠结,应该是mdict1.3软件自身的bug,这货又没开源,真有这方面需求的直接建议客户升级到2.0 ...

    3 e+ E0 _0 z; C" j# ^- f2 C难道就这样放弃掉mdict1.3了么?

    该用户从未签到

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

    3 {# L6 A4 Q8 q* l: k/ C, X0 S难道就这样放弃掉mdict1.3了么?

    该用户从未签到

    发表于 2017-4-27 23:42:46 | 显示全部楼层
    本帖最后由 大膜法师 于 2017-4-29 00:21 编辑 $ w  P$ T4 U) T' _
    9 ~8 W9 \3 y; U% @$ t- U
    这个问题只能直接向作者反馈,不过由于mdx 3.0已经发布,对于旧版本mdx是否会修复还是个问题' s8 c8 s3 l4 A0 n" r/ `
    至于用户方面,直接说升级软件就行了,旧版软件产生的问题不是词库制作者应该关心的。
    6 _* j& @, \6 R
    " K1 Y% Q2 b: p( p另:py生成出来的mdx数据还是有点差别,标准mdx每个词条的正文部分结尾是0x0D 0x0A 0x00,而py就只有0x00,不过GetDict还是能识别出来(就是速度太慢了),这点要佩服一下yhssdl- ^. z0 u: t" ?
    (至于怎么发现的,其实我自己写的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-5-29 15:10 , Processed in 0.065626 second(s), 11 queries , MemCache On.

    Powered by Discuz! X3.4

    Copyright © 2001-2023, Tencent Cloud.

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