掌上百科 - PDAWIKI

 找回密码
 免费注册

QQ登录

只需一步,快速开始

查看: 3589|回复: 10

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

[复制链接]

该用户从未签到

发表于 2017-4-27 21:45:52 | 显示全部楼层 |阅读模式
本帖最后由 skywind3000 于 2017-4-27 22:02 编辑 ; t+ _$ r8 `+ F# H5 d) q

$ G* ^3 o) ?& t) Z" J起因是这样的,还是再做我的简明增强,收词量到达 306万了,因为连论坛里神秘的 MdxBuilder 特别版都已经开始崩溃了,我用我自己改# g$ f$ @5 I9 \4 X5 v! G0 v% k
过bug的 writemdict 生成的 mdx:
- z( Q" I# u" E% `+ y5 H4 ^. g+ d! _  U/ y9 A) E
https://www.pdawiki.com/forum/thread-20577-1-1.html
% V+ `, B) I7 E! t1 N5 [$ L" U' }3 G: y- }1 [; z% W4 ]
所有软件都兼容,从欧陆到 mdict 2.0 再到 GoldenDict/BlueDict /edwin 都很正常使用该 .mdx(包括 mdict的手机版)。) }2 X  D8 C8 L2 a' Y1 z; x$ a4 W* G) _
+ t. u4 I4 j# o. {( S* v! M  f9 {
但是,mdict 1.3的网友反馈丢词了,有些词查不出来,比如:duma, general meeting 和 power strip。
2 z, U" K/ |. c1 u; N
6 B2 g' S4 K4 H; G5 U' o我专门验证了一下 mdict1.3,明明这几个词都有,索引光标就是跳不过去,卡在前面的单词上。
; q  T# C3 B2 @2 r: [. H3 n除此以外,甚至还有如下几个问题:
. H; g0 i7 B( ~+ R( @9 P1 W) Z8 h, e. t4 h  r3 M4 L
1. 敲入 a,索引列表不会跳到第一个字母是a的单词,b也不会。
+ V8 x  U+ b8 M4 D" s) ~2. 敲入 c,索引列表可以跳到 c开头的单词,但是是跳到 "committee on excursions  ..." 这个单词,不是 c开头的第一个单词。8 I  z1 L3 S7 A
3. 敲入 duma,索引列表停在:digital pelvimetry 这个单词上,不会继续往下,明明下面就有 duma。
+ Z! F3 }2 F8 m9 E) x! k) ^% d. s4 K4 w% O
这几个问题和上面查不出来的单词,在非 mdict 1.3的所有软件里都能查得出来,但是 mdict1.3就是查不出来。writemdict 使用的 mdx头为:
. s6 ~/ H+ o1 I: n' i
9 `6 L3 v7 I0 k8 J+ }. H
  1. <Dictionary 0 V. X  y) q- c' }: T
  2. GeneratedByEngineVersion="2.0}"  
      ~' N( r4 \+ ]1 i" ], n' n: Q" u
  3. RequiredEngineVersion="2.0" & L! ~9 }  b7 F( x1 F* i
  4. Encrypted="0" $ |0 J- s) _  {" {$ Q* y
  5. Encoding="UTF-8"
    / n6 Q) T$ c+ G( x( K
  6. Format="Html" 5 L" T7 r! C. Y1 P- Y* b
  7. CreationDate="2017-4-27"
    & A2 w) o! c3 ^8 T* ?
  8. Compact="No" 2 J9 s) k2 q8 z
  9. Compat="No" ' j" J3 p% a3 R8 c. ]' w6 v  e
  10. KeyCaseSensitive="No" ) R3 Z/ ^6 m' i3 o, }* v
  11. StripKey="Yes" $ |  E3 R. e; _: {. z  N! F
  12. Description="{description}"
    : j: e- B8 n1 \, b, z. Y
  13. Title="{title}"
      B* `2 |7 Z) W6 M+ n$ F
  14. DataSourceFormat="106" 3 `8 ]2 V9 P  q7 B
  15. StyleSheet="" />
复制代码

: F9 D! k0 f+ K7 O( [) N: }% S0 B) X$ v) y) H- ]/ [3 }
排序也是 Strip 过后排序的,排序结果和 MdxBuilder 一模一样,可惜 mdict1.3里面就是出不来,其他包括 mdict手机版在内的所有软件* n. x" w) ?$ ]& f+ m( j! h
都没问题。, J& {) ^% D4 G# M0 Z' L4 o
5 g+ A* F# B) [: n1 k
下载了论坛里面的 MdxBuilder 3.0 特别版,但是现在已经用不了了,特别版都闪退,而且不是必现,同样数据,有时候能生成mdx,有时9 B; n% a4 _8 T1 M
不能生成 mdx,闪退了。
, T6 L1 M0 a: s, q8 I  Y4 y6 S# |
. Q' p0 I- S' h4 y# e0 _被迫使用 writemdict,一切都好,就是 mdict1.3,有熟悉 mdx的人知道上面那三个1.3的索引跳转问题,可能出在什么地方么?为何$ E: F: y. B9 T! y4 L4 a0 K' ]5 Q
mdict2 和 mdict手机版就没事?1.3 特殊在哪里?是不是对大文件兼容不太好?
6 a6 a" }9 n- S1 f& p# B; h* y; l9 n9 [* J6 {, {6 F( h: ]9 V
不想切分文件的话,有什么办法生成我要的 .mdx?
7 {5 S' e& G; i  ^; j, V# ]
  • 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
    9 C" H1 P5 D& j4 d这种事儿不必太纠结,应该是mdict1.3软件自身的bug,这货又没开源,真有这方面需求的直接建议客户升级到2.0 ...
    - r8 a3 Y7 x+ v! H5 A  X
    难道就这样放弃掉mdict1.3了么?

    该用户从未签到

     楼主| 发表于 2017-4-27 23:35:03 | 显示全部楼层
    greatszh 发表于 2017-4-27 22:01
    ; @1 N3 Y  w3 d这种事儿不必太纠结,应该是mdict1.3软件自身的bug,这货又没开源,真有这方面需求的直接建议客户升级到2.0 ...
    6 g3 y0 E5 f/ F# h6 ]$ i
    难道就这样放弃掉mdict1.3了么?

    该用户从未签到

    发表于 2017-4-27 23:42:46 | 显示全部楼层
    本帖最后由 大膜法师 于 2017-4-29 00:21 编辑   j' d: {8 w$ o

    5 {/ Y% b8 j7 w这个问题只能直接向作者反馈,不过由于mdx 3.0已经发布,对于旧版本mdx是否会修复还是个问题
    # i1 C  r) Q! L- b0 e3 d3 z至于用户方面,直接说升级软件就行了,旧版软件产生的问题不是词库制作者应该关心的。, ^# q: m' q  L/ F$ A  n

    1 N1 H3 n* d; @9 J- K' e) ^* U另:py生成出来的mdx数据还是有点差别,标准mdx每个词条的正文部分结尾是0x0D 0x0A 0x00,而py就只有0x00,不过GetDict还是能识别出来(就是速度太慢了),这点要佩服一下yhssdl8 U& P3 D2 N# R+ C( e5 z
    (至于怎么发现的,其实我自己写的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-28 17:11 , Processed in 0.099457 second(s), 11 queries , MemCache On.

    Powered by Discuz! X3.4

    Copyright © 2001-2023, Tencent Cloud.

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