掌上百科 - PDAWIKI

 找回密码
 免费注册

QQ登录

只需一步,快速开始

查看: 3595|回复: 10

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

[复制链接]

该用户从未签到

发表于 2017-4-27 21:45:52 | 显示全部楼层 |阅读模式
本帖最后由 skywind3000 于 2017-4-27 22:02 编辑
) o6 x6 K: Y% `6 B0 X# ~' m; q. @8 }7 e& q6 e7 c4 w5 c& [1 R
起因是这样的,还是再做我的简明增强,收词量到达 306万了,因为连论坛里神秘的 MdxBuilder 特别版都已经开始崩溃了,我用我自己改- u% S- f" Q; ~5 B0 Z/ v1 {9 `
过bug的 writemdict 生成的 mdx:( b  Q9 k7 X5 ]# l
# i0 c  K  r. ?0 g
https://www.pdawiki.com/forum/thread-20577-1-1.html8 R; ~7 Y+ }+ }. c! S  _+ c

8 \, {# D; `1 R# I4 m6 r; _所有软件都兼容,从欧陆到 mdict 2.0 再到 GoldenDict/BlueDict /edwin 都很正常使用该 .mdx(包括 mdict的手机版)。
! G9 f: N) e6 }' P9 }# A
& y. \4 m# b* Y! v; h$ S7 a5 n但是,mdict 1.3的网友反馈丢词了,有些词查不出来,比如:duma, general meeting 和 power strip。9 x' Q4 S: v( X) F; z* E3 a
  u8 y% @% \" s8 R
我专门验证了一下 mdict1.3,明明这几个词都有,索引光标就是跳不过去,卡在前面的单词上。
: M# \' Q5 J7 M: l2 B1 H+ w除此以外,甚至还有如下几个问题:
4 Y9 a& D, p; m( K
2 c- H* p, i& |# i6 X% b. t1. 敲入 a,索引列表不会跳到第一个字母是a的单词,b也不会。
3 \& f  b" M; t  W: L2. 敲入 c,索引列表可以跳到 c开头的单词,但是是跳到 "committee on excursions  ..." 这个单词,不是 c开头的第一个单词。
" b, c# j0 a: W' S3. 敲入 duma,索引列表停在:digital pelvimetry 这个单词上,不会继续往下,明明下面就有 duma。
8 t" ^6 L1 T3 R! X
+ d1 T) _1 J: b6 M* z这几个问题和上面查不出来的单词,在非 mdict 1.3的所有软件里都能查得出来,但是 mdict1.3就是查不出来。writemdict 使用的 mdx头为:
5 Y" Y+ R3 |0 l' o7 N6 H7 R. y1 }  U$ t- j% d: I* _( T: O
  1. <Dictionary
    % a) y$ J% s  R3 B, N$ Y
  2. GeneratedByEngineVersion="2.0}"  8 V1 v3 Q2 }' n7 Y
  3. RequiredEngineVersion="2.0"
    , W& Y' s! l! D" u' o9 u6 F
  4. Encrypted="0"
    . J# Q9 w6 E% Y
  5. Encoding="UTF-8"
    - S0 N/ W- ]7 V
  6. Format="Html"
    8 S: n/ k' N- u' X
  7. CreationDate="2017-4-27" ' z5 e4 L0 h* G$ w
  8. Compact="No"
    ; |8 k* X! h: a5 ~5 `
  9. Compat="No" / ]2 G- l& h3 J
  10. KeyCaseSensitive="No" , t- R+ ]4 Q4 {( c8 f& {
  11. StripKey="Yes" + x* R) G4 r+ j6 l, j
  12. Description="{description}" ) G( p0 M- E  `8 m! |
  13. Title="{title}"
    0 _6 U& Q- [% ^9 T
  14. DataSourceFormat="106" 4 n7 b# F+ y) N
  15. StyleSheet="" />
复制代码
6 {, o0 v, |. T# p5 v" G
2 n: L) z' s/ Q' S% x* O# G
排序也是 Strip 过后排序的,排序结果和 MdxBuilder 一模一样,可惜 mdict1.3里面就是出不来,其他包括 mdict手机版在内的所有软件
, N( m5 m  v1 d  r# g都没问题。
, K8 d7 M8 x0 p9 _7 ^; Z- H
2 p& n) f6 w' }2 d# B下载了论坛里面的 MdxBuilder 3.0 特别版,但是现在已经用不了了,特别版都闪退,而且不是必现,同样数据,有时候能生成mdx,有时6 k4 |9 m0 E9 m3 k6 F% A& r5 C
不能生成 mdx,闪退了。$ O( o- C- `. ~! A7 Y6 I2 D$ T

7 p. p  @4 E- E2 Z! l1 o被迫使用 writemdict,一切都好,就是 mdict1.3,有熟悉 mdx的人知道上面那三个1.3的索引跳转问题,可能出在什么地方么?为何
  X; \* s' I& O2 S- hmdict2 和 mdict手机版就没事?1.3 特殊在哪里?是不是对大文件兼容不太好?2 g; `( H) z- ^
5 ~* A. |) r+ b4 O9 t' j5 f7 ]
不想切分文件的话,有什么办法生成我要的 .mdx?
7 b) N; a3 z& x, }) k! F
  • 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:01' X; @# V- z2 F6 v$ p: V( m
    这种事儿不必太纠结,应该是mdict1.3软件自身的bug,这货又没开源,真有这方面需求的直接建议客户升级到2.0 ...
    1 v3 Y' e4 E8 D  ]( m* v
    难道就这样放弃掉mdict1.3了么?

    该用户从未签到

     楼主| 发表于 2017-4-27 23:35:03 | 显示全部楼层
    greatszh 发表于 2017-4-27 22:01
    0 U) }" Y, u0 \8 U5 r8 `' u8 p这种事儿不必太纠结,应该是mdict1.3软件自身的bug,这货又没开源,真有这方面需求的直接建议客户升级到2.0 ...

    1 k" X- d, V4 w. Y难道就这样放弃掉mdict1.3了么?

    该用户从未签到

    发表于 2017-4-27 23:42:46 | 显示全部楼层
    本帖最后由 大膜法师 于 2017-4-29 00:21 编辑 ' B0 s  X, x' ?9 B# H2 ]

    6 x8 w! v# Q& o( I, G9 c& p) U这个问题只能直接向作者反馈,不过由于mdx 3.0已经发布,对于旧版本mdx是否会修复还是个问题% v$ O( l; Y4 m) W; }1 z3 d: B4 _( Q
    至于用户方面,直接说升级软件就行了,旧版软件产生的问题不是词库制作者应该关心的。
    ' z0 ]  v8 _9 J& _  E9 ?4 q) j1 r- {2 X  T5 Y, r$ J
    另:py生成出来的mdx数据还是有点差别,标准mdx每个词条的正文部分结尾是0x0D 0x0A 0x00,而py就只有0x00,不过GetDict还是能识别出来(就是速度太慢了),这点要佩服一下yhssdl
    " r% o0 O* i+ W4 k(至于怎么发现的,其实我自己写的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-29 23:01 , Processed in 0.072379 second(s), 11 queries , MemCache On.

    Powered by Discuz! X3.4

    Copyright © 2001-2023, Tencent Cloud.

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