掌上百科 - PDAWIKI

 找回密码
 免费注册

QQ登录

只需一步,快速开始

查看: 45212|回复: 61

[教程] 图像版mdict字典制作方法

  [复制链接]

该用户从未签到

发表于 2015-2-13 09:30:10 | 显示全部楼层 |阅读模式
本帖最后由 tsiank 于 2015-10-27 01:44 编辑 0 F' W+ M0 d! N0 ^: ~

+ q+ s7 Q, q) h8 S( M$ p此贴原在国学数典发过,有网友因为注册等原因在上面看不到,所以就在此论坛转贴一下,不足之处请指正。
# O- I/ X) Y+ d. X* n, q; m4 C5 D
图像版mdict字典制作方法
' a: R5 i2 B  S6 x+ U( k* w- h
  a+ ~7 B# _' g- ]本人不才,先后制作了《汉语大字典》、《汉语大词典》《王力古汉语字典》等图片版的mdict字典。现在应网友的要求,将其制作方法发布出来,希望能有同仁制作出更多的汉语或其他语言的字典。$ R7 o, x1 S" r) G$ ~5 B: c
  P  P: Y: K( d0 q
制作mdict字典的图片版,要有两个前提:1,比较清晰的电子书;2,有字头与页码对应的数据。几个工具:电子书转图片工具:Pdg2Pic ,DJVUTOY,或adobe acrobat pro ;
# f% D" x# Q' E5 M. X5 _文字处理工具:excel和支持正则表达式的文本工具,这里我用EmEditor;生成mdict字典格式的工具:MdxBuilder。
" a% o. R0 A/ c2 b. e& e( F; E  R; ~: q% H# q  U% e1 q/ T1 G( Q
下面以制作王力古汉语字典为例,说明其制作过程:; R6 K$ n0 z2 ]) G# [. X, d1 R
1,        将电子书拆分为单页图片。
0 T) `- v: a, e" @1 ]3 {现有的电子书格式一般有PDG,DJVU以及PDF,制作电子字典,一本书有好几种格式的话,首选PDG格式的。因为用这个格式转成的png图片,不仅清晰,而且尺寸刚好合适,可直接在苹果设备中使用(ios中mdict电子字典,其图片尺寸若超过2400*2400便无法显示)。7 D& N: p+ d( p* E/ j& r. b
: r6 E  [8 l" j( x! T( Y
如果电子书是PDG格式的,用Pdg2Pic这个工具转为png,如图:
! I# L( }6 }: o
) L2 r+ x( b  {9 ?4 x4 A+ H9 w
# N' i& D5 M2 w; \/ |那个参数设置只需选图像存为png就行,其他不用变。生成图像后,可以根据需要用文件批量改名工具修改一下文件名,也就是页码。比如我们把正文的页码(也就是以纯数字开头的文件)放在一起,图中的页码都是6位数的,将其改成4位数,并在文件名前加几个字母(这里加个WLG)以与其他字典的页码相区别。如图:
9 U. Q0 U# r  k* B
  i- J+ z3 g" B4 p% S1 g) C
5 o) Z; M0 U, d7 d
* W  P! D* H; n3 C" P将附录和其他的页码放在一起,根据需要进行修改,比如也改成4位数并在前面加上WLGF几个字母,方法同上。* m; h( Z& D- H! {

" o% Q4 F: _- C9 c" g& B4 k如果电子书是DJVU格式的,用DjVuToy这个工具中的转图像选项转为png。
1 {1 ?$ ~0 ]. _# Q. R( W " t7 a; O9 v" p/ X  ~6 y
2 b& c6 D7 G' `5 L
如果电子书是PDF格式的,那可以用adobe acrobat pro直接导出为png。1 o: d! ?/ z( s1 s( e7 j. ^, q
需要注意的是后两者转换后的png尺寸并不一致,生成的mdict可能会在ios上无法显示,如果想在ios上使用,就需要使用另外的图像处理工具调整png的尺寸了。0 p8 [& D/ Y  y5 N4 Z% ?$ z* u8 a; k# w! q
4 k0 s- z( b: \+ ~
2,        页码的处理:8 R8 q9 j6 B) ?: k" C& y, a) v
首先,在excel中根据字典正文的页码数输入一列页码数据,原字典是多少页,这里就输入多少个(王力古汉语字典正文页码到1817页)。然后将此列数据分别复制一份到B列和C列,在B1插入一个空单元格,数据与B2同。把C1删除,并在C列最后一行的单元格输入与上个单元格相同的数据,最终数据如图所示:
6 c6 ]  V) L8 i
3 A" I  m+ R5 m
/ }2 ^) ]6 u9 O4 }将此三列数据复制到EmEditor中,点击搜索-替换选项,勾选使用正则表达式,在查找栏中输入“(.+?)\t(.+?)\t(.+?)$”,在替换栏中输入“WLG\1\n<img src="/WLG\1.png" width="1080px"><br><center> <a href="entry://WLG\2">上一页</a> &nbsp;&nbsp;<a href="entry://WLG\3">下一页</a> \n</>”,然后点击替换全部,结果如图所示:
: ^0 b; g1 e* L: `3 R# d 8 Z1 g$ }$ R: M% z: g* D" X: D
最后将这个文件以UTF-8的格式先保存。
8 e/ i: R) _* C( J+ Q! p) G/ @
# E7 u2 s, a9 f( r0 `
* J+ V3 C+ v# e0 ~: r对于附录以及其他页码的处理同上,只不过替换中的WLG三个字母要改成WLGF,处理完毕后将其文本复制到已保存的王力古汉语字典.txt中并再次保存。
8 Q$ f8 i+ @: Q! _. ~$ N+ O% K6 i6 n6 K
3,        字头的处理:- P  {9 W9 ~; X0 K& x% d+ h$ T
将字头与页码在excel中整理成如下所示:
9 }  t+ @: K+ B/ r$ n0 _- Q4 n/ A3 {4 `, B# y2 Q
将其复制到EmEditor中(首行不要),在查找栏中输入“(.+?)\t(.+?)$”,在替换栏中输入“\1\n@@@LINK=WLG\2\n</>”,点全部替换,结果如图所示:( z5 v8 g# `8 f+ j5 M8 \

+ l  x7 F+ z  x* p/ _将其结果复制到王力古汉语字典.txt中,注意与前面的内容不要有空行,点击保存。这样文本就处理完毕了。, a3 ?/ ~2 }. L  H% k+ G- r, E

4 i* C+ V% \( G1 l1 ?& x5 `4,        转换成mdict格式的字典。. L( o; W' r/ V" H! _0 f( v  I
打开MdxBuilder.exe,在source栏中输入刚才保存的文本所在路径及名字,在target栏中输入要生成的mdict格式的字典所在路径及名字,扩展名是.mdx,在data栏中输入第1 步制作的图片的所在位置。original format选择mdict(html),encoding中选择UTF-8,title栏输入这本字典的名字。description栏是这本字典相关信息的描述,支持html标签,也可以不填。其他选项用默认的就行。然后点击start开始生成mdict字典。如果status栏最后出现successful 字样就说明制作成功了。  v4 j0 o  `6 g3 m

/ K, F6 Y' |" x# ~& c; ?1 d. C - _$ |& U" b! R0 R! N0 s" w

# @% n: }  s( f; j6 A" g( ]5,        mdict电子字典的使用。
6 W9 u; p1 }% ?5 _+ ?" `2 bPC端支持mdict格式的电子词典工具有mdict,goldendict,推荐使用后者。安卓端有mdict和bluedict,推荐后者。ios端的有mdict。将上述生成的mdict文件(mdx和mdd,两者文件名要一致)放入合适的目录中,并在软件中将词典路径指向这个目录来添加字典,然后就可以查询使用了。
* l: r5 f4 _" k8 H# u , o& `4 V& W% R% e7 ]8 L

$ u6 h/ t1 u, u. _) h- ~" M" r

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?免费注册

x

评分

2

查看全部评分

本帖被以下淘专辑推荐:

该用户从未签到

 楼主| 发表于 2015-2-13 09:31:49 | 显示全部楼层
图片都不能全幅显示

该用户从未签到

发表于 2015-2-22 21:56:09 | 显示全部楼层
本帖最后由 fedor 于 2015-2-22 22:10 编辑
) U" B: x$ r$ a/ S, r. c# E
liuyunrushui 发表于 2015-2-20 22:42& I+ @: z0 |) ?; G4 T, o$ h" z4 V
字头没有弄明白啊,是将每张图片的那些字作为索引字头啊?!
1 W( V4 G: C3 u7 E8 ^6 z9 a2 e
, `' z! o2 B6 a字头是将每张图片的单词作为字头的,后面 ...

4 ]+ R2 U. i; [5 o4 f* X4 \; ?: k5 k/ b, B7 l
又尝试做了一下,成功了。# [2 r! W0 j' }0 m6 l& v
每张图片上的所有单词都要做索引,也是比较耗时的,这还是其次,问题是图片大些的词典在手机上就无法用了,在电脑上用还是可以的,mdict中启用图片自适应窗口,字太小,开不清单词,而如不自适应窗口,图片又太大,浏览起来特费劲,所以说还不如先裁剪大小合适的图片,这样在手机和电脑上都能用,就是费时间。2 q* m" _4 J, ~* c' ?
还有个问题是,将词典放在GoldenDict上应用时,没有“下一页”的显示,只有“上一页”显示,而且还非常的小。# q1 X, r) Q; D! W
下面我做的词典,在手机上的应用和在GoldenDict上应用! C' q9 F; a% V& C
截图软件为FastStoneCapturecn。
# Z/ `" \, B- X
2 o) |( a) t2 S
9 @* }+ ^+ k* y5 i/ @7 v( Z2 V; I% j9 R6 j' J. `2 f

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?免费注册

x
  • TA的每日心情
    开心
    2023-7-5 21:21
  • 签到天数: 399 天

    [LV.9]以坛为家II

    发表于 2016-10-3 08:53:16 | 显示全部楼层
    有点遗憾 根本看不懂啊!
    ' Z7 _) K9 B# k0 \. [3 k0 o将此三列数据复制到EmEditor中,点击搜索-替换选项,勾选使用正则表达式,在查找栏中输入“(.+?)\t(.+?)\t(.+?)$”,在替换栏中输入“WLG\1\n<img src="/WLG\1.png" width="1080px"><br><center> <a href="entry://WLG\2">上一页</a> &nbsp;&nbsp;<a href="entry://WLG\3">下一页</a> \n</>”,然后点击替换全部,结果如图所示:; C; u/ U; T- L; U
    这三列数据复制到Emeditor后,也就是那三列数据,哪来的“(.+?)\t(.+?)\t(.+?)$”?不能替换!本人比较笨!教程个人觉得不详细!在excell中输入数字时,按楼主的做法,B列会多一行,请问这最后一行的数字是保留还是删除呢?2 W, Y' U. ?4 h

    点评

    B列多的一行并不能替换,应该还是要删掉的  发表于 2016-11-29 14:56

    该用户从未签到

    发表于 2015-2-13 10:11:12 | 显示全部楼层
    终于看到图片了~!!!点开可以看到完整的~!非常感谢~!
  • TA的每日心情
    奋斗
    2024-6-3 15:32
  • 签到天数: 215 天

    [LV.7]常住居民III

    发表于 2015-2-13 12:41:30 | 显示全部楼层
    tsiank 发表于 2015-2-13 09:312 }+ q, h3 u# e% c# g  ?1 n, P6 b
    图片都不能全幅显示
    6 P  D# U/ F; I0 I) _; n7 A% K7 }
    先传到相册,然后在贴子里引用,就能全幅显示了 :D

    该用户从未签到

    发表于 2015-2-13 16:15:18 | 显示全部楼层
    支持原创教程!( `% q2 L6 D( W& _) F

    7 b& {8 p. E# oPdg转png是关键,很多pdf或mdx的图片质量很差,估计就是转成了jpg格式。

    该用户从未签到

    发表于 2015-2-16 01:33:27 | 显示全部楼层
    本帖最后由 chigre3 于 2015-2-16 04:36 编辑
    ! v* J7 a7 r( F: ]2 s3 X' O$ B. h  I' S' ^1 I
    汉语词典单页上一般词头不多, 容易定位, 对于其他语言 (如英语, 意大利语, 西班牙语等) 就需要更进一步处理把所在页面的位置(序号)标志出来.
    * `4 }' X( v* Q- }4 b* }  @* c& q6 X之前也简略说过这事情:$ q7 C5 _8 W1 r, u; H# b; j9 o
    图片版词典的大致样子  https://www.pdawiki.com/forum/fo ... hread&tid=13169

    该用户从未签到

    发表于 2015-2-16 01:35:03 | 显示全部楼层
    我觉得论坛其他朋友对于图片版词典不够重视, 制作好的图片版词典实际用途也很好啊!
    % D! @- C( y+ \' N6 W/ z3 s(因为没有文本版的)* ^8 n" M* N8 F( s6 C. Y

    9 v+ v" K+ @5 r4 x1 b谢谢tsiank的帖子, 还有你制作的几个词典!

    该用户从未签到

    发表于 2015-2-16 14:45:38 | 显示全部楼层
    chigre3 发表于 2015-2-16 01:33
    * Y- m$ j. D* P4 t8 v汉语词典单页上一般词头不多, 容易定位, 对于其他语言 (如英语, 意大利语, 西班牙语等) 就需要更进一步处理 ...

    : I6 Q; U3 \* n求详细教程讲解~非常愿意学习~
  • TA的每日心情
    开心
    2018-1-27 00:16
  • 签到天数: 1 天

    [LV.1]初来乍到

    发表于 2015-2-18 17:53:52 | 显示全部楼层
    感谢老大,请问一下,用您的教程制作的辞典,在手机上可以放大浏览,但是不可以缩小浏览是何故呢?
    1 v8 v  e% F1 ?能否赐教呢?
    # ^$ h1 x: ~7 K/ e手机上使用的是mdict软件,用深蓝好像也是不能缩小,可以放大,用于手机屏幕限制,所以想缩小一点浏览下!. f' d5 ?$ p' _& l& D  z" @) ^

    ; _4 Q+ g" J, @' }* ?& T5 d

    该用户从未签到

     楼主| 发表于 2015-2-19 13:31:52 | 显示全部楼层
    liuyunrushui 发表于 2015-2-18 17:53* t: E/ D# o6 z* m1 b+ S( t6 ~
    感谢老大,请问一下,用您的教程制作的辞典,在手机上可以放大浏览,但是不可以缩小浏览是何故呢?
    5 v) n* p6 }( o能否赐 ...
    3 Z+ Z/ e0 I9 O0 m/ U' u0 G
    把width="1080px“这个1080px换成适合你手机的数即可,比如换成720px或者100%什么的。
  • TA的每日心情
    开心
    2018-1-27 00:16
  • 签到天数: 1 天

    [LV.1]初来乍到

    发表于 2015-2-19 16:40:00 | 显示全部楼层
    tsiank 发表于 2015-2-19 13:316 j: M- N. B' i, b5 q
    把width="1080px“这个1080px换成适合你手机的数即可,比如换成720px或者100%什么的。
    $ U" c, f( a! k! G1 d
    非常感谢大大!!!!2 @5 r/ P5 C8 h$ ?9 j6 J1 y2 Q0 e3 f
    新年快乐!

    该用户从未签到

    发表于 2015-2-19 20:36:52 | 显示全部楼层
    本帖最后由 fedor 于 2016-5-26 18:43 编辑 ' l, N" y( g; D  A3 z3 E7 b

    ) H: _$ r1 H" h尝试照着描述做了一下,没有成功,主要是没有明白字头的处理的描述,两列的表格,左列为字头,右列为字头所在的页码,也就是文件名称吧,字头没有弄明白啊,是将每张图片的那些字作为索引字头啊?6 C+ a& E7 M( C0 A  @6 z  q
    我也非常喜欢制作图片词典,但都是最笨拙的方法,首先裁剪图片,大小要合适,其次是将每个单词都输入到表格中作为索引,这里无论是裁剪图片还是做索引,都太耗时间了。但好处是做成之后,输入即可查询定位。
  • TA的每日心情
    开心
    2018-1-27 00:16
  • 签到天数: 1 天

    [LV.1]初来乍到

    发表于 2015-2-20 22:42:10 | 显示全部楼层
    fedor 发表于 2015-2-19 20:36
    # H+ \, j6 e5 `) }- t9 ~: \尝试照着描述做了一下,没有成功,主要是没有明白字头的处理的描述,两列的表格,左列为字头,右列为字头所 ...

    $ Q5 o& R- ~3 ^6 Z9 Y! J* _  ^字头没有弄明白啊,是将每张图片的那些字作为索引字头啊?!
    5 k9 J* v. f+ T4 M6 M( W
    , y& @1 I4 D! {" S% V- T& n字头是将每张图片的单词作为字头的,后面一列的页码是同一页。我按照楼主大大的方法成功了!
    , L) I- Y/ h4 F9 x5 n! l# u% m7 T% h# U
    一张张切图片,阅读起来很方便,但是很费时间呀!
      y8 s/ F; a# @' E
    $ n4 ~- m6 W$ A  r/ Y5 T能请问一下您是用什么软件切的图片吗?

    该用户从未签到

    发表于 2015-2-23 09:27:59 | 显示全部楼层
    请教大神,在手机(小米3)图片词典浏览无法看清单词,字体太小啊,如何解决啊?我将1024px调整为100%了,显示效果如下。, j" I' u% j; l! ?3 m

    本帖子中包含更多资源

    您需要 登录 才可以下载或查看,没有账号?免费注册

    x

    该用户从未签到

     楼主| 发表于 2015-2-23 10:38:38 | 显示全部楼层
    fedor 发表于 2015-2-23 09:27* h; q% l5 U0 }1 H
    请教大神,在手机(小米3)图片词典浏览无法看清单词,字体太小啊,如何解决啊?我将1024px调整为100%了, ...

    8 ^5 v" D2 {- a$ f# }手机上看这种双栏的图片,我看还是放弃吧,来回不停地放大缩小,太麻烦。 要么就把这种双栏图片切割成单栏的,和我汉语大字典手机版那样的。
  • TA的每日心情
    难过
    8 小时前
  • 签到天数: 1640 天

    [LV.Master]伴坛终老

    发表于 2015-2-23 21:22:33 | 显示全部楼层
    文字版的还没学会

    该用户从未签到

    发表于 2015-2-24 10:12:17 | 显示全部楼层
    tsiank 发表于 2015-2-23 10:38+ Y0 Z8 y$ ^8 [# _; q
    手机上看这种双栏的图片,我看还是放弃吧,来回不停地放大缩小,太麻烦。 要么就把这种双栏图片切割成单 ...
      }2 R1 i5 O5 M0 i1 W4 D, E
    感谢回复!
    3 J/ G8 Z3 S  ~1 h9 `8 m5 S! `还有个问题,词典放在GoldenDict上应用时,没有“下一页”的显示,只有“上一页”显示,而且还非常的小,这是怎么回事?如何调整?

    该用户从未签到

     楼主| 发表于 2015-2-24 13:28:48 | 显示全部楼层
    fedor 发表于 2015-2-24 10:126 _5 X9 ?) O! W' B+ N- K  h- v
    感谢回复!3 G2 X' j8 u' x1 U* p# T
    还有个问题,词典放在GoldenDict上应用时,没有“下一页”的显示,只有“上一页”显示,而且 ...

    4 E; }) ?' f0 W" E' o不好意思,由于我的粗心,在“<a href="entry://WLG\3">下一页</a> \n</>”这个代码中,>下一页  的前面少了一个"号,导致在goldendict中不能正常显示下一页,现已纠正。你可以把你做好的源文件用EmEditor打开,在查找栏中输入“>下一页",在替换栏中输入“"\0”,然后点击全部替换即可。

    点评

    不对,楼主已经纠正过了。我前面复制的代码应该是没错的。我的问题是点击下一页不是跳到下一页,而是跳到下一个词条那里。  发表于 2017-8-7 08:04
    刚看到这里,感谢纠正!  发表于 2017-8-7 07:52

    该用户从未签到

    发表于 2015-2-24 16:29:55 | 显示全部楼层
    tsiank 发表于 2015-2-24 13:28
      w9 X& V; d+ C不好意思,由于我的粗心,在“下一页 \n”这个代码中,>下一页  的前面少了一个"号,导致在goldendict中 ...
    ; X1 g- L3 }. B) E
    非常感谢!!!
    ' K* v& R& B* _2 i# H" f这回正常了。以后有问题再请教大神

    该用户从未签到

    发表于 2015-2-24 17:41:15 | 显示全部楼层
    tsiank 发表于 2015-2-24 13:28
    # [, c$ w. j7 b不好意思,由于我的粗心,在“下一页 \n”这个代码中,>下一页  的前面少了一个"号,导致在goldendict中 ...

    2 ?5 T/ _8 n1 ]& G' a不好意思,还有个问题想请教一下9 |/ b5 t0 t) [8 w
    在PDF中用截图工具截取图像另存为png格式的,做出的词典正常浏览(电脑中浏览)。
    6 ?4 s* ], H" C但是PDF转为png的,或者用XnView软件统一将图片都调整为png格式的,做出的词典却浏览不出来,这是怎么回事啊。
    1 |6 e# X$ {1 G# C: p) Z( }# C4 ?也就是说,只能是截图另存为的图片才可以浏览,而用原来的图片或PDF转换过到png格式的,都不能浏览。

    该用户从未签到

     楼主| 发表于 2015-2-24 17:55:28 | 显示全部楼层
    fedor 发表于 2015-2-24 17:41
    ! T! R. u# J: L7 v不好意思,还有个问题想请教一下
    8 E- P- \0 O' A! z8 @# s* r- w在PDF中用截图工具截取图像另存为png格式的,做出的词典正常浏览(电脑 ...
    ) z8 \6 q9 i0 r
    我没遇到过这样的问题。你是怎么把PDF转为png的?可否上传一下让我看看?

    该用户从未签到

    发表于 2015-2-24 19:28:14 | 显示全部楼层
    本帖最后由 fedor 于 2015-2-24 19:31 编辑
    6 n3 o! d# g8 O- d0 h' X) d
    tsiank 发表于 2015-2-24 17:55
    & X9 g# u" e/ [/ F& @  [我没遇到过这样的问题。你是怎么把PDF转为png的?可否上传一下让我看看?

    - R; H: r( e( D5 I- U' e+ ]9 w2 ]8 M" L4 v  D5 K
    本想发给你你看看的,
    5 u2 D9 W, Y* a5 W: b* i( X9 r! Q' h但一下子又好了,问题也不知出在哪里。
    3 U" y$ ~7 U) E0 v9 a- p" z不过最后一次是这样做的。6 K3 J- i( ~6 {+ x3 c+ d* [$ ]
    我的原图是pcx格式,用XnView转为png,就正常了。7 F* [) b7 t, A* m3 l
    6 M& P3 Q: {9 E+ m: ?9 F! B+ S+ L
    对了,有没可以将两栏的词典拆分为一栏的软件呢?而且不影响原来图片的清晰度,给推荐下。

    该用户从未签到

     楼主| 发表于 2015-2-24 20:55:56 | 显示全部楼层
    fedor 发表于 2015-2-24 19:28/ `2 G: E& A2 H. o2 |: ^% D
    本想发给你你看看的,
    8 R, M$ d! A# I9 Y4 j9 Q3 D但一下子又好了,问题也不知出在哪里。7 Z# Z& |( \3 h7 O8 A
    不过最后一次是这样做的。

    - `4 ~) F" L4 W4 A* A; OComicEnhancer Pro:http://www.comicer.com/stronghor ... tm#ComicEnhancerPro

    该用户从未签到

    发表于 2015-2-24 21:08:58 | 显示全部楼层
    tsiank 发表于 2015-2-24 20:55
    % I. A6 Y9 O1 o. x$ z* qComicEnhancer Pro:http://www.comicer.com/stronghorse/software/index.htm#ComicEnhancerPro
    1 Y, d) l) \' }
    感谢,下来试试
    您需要登录后才可以回帖 登录 | 免费注册

    本版积分规则

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

    GMT+8, 2024-6-14 15:23 , Processed in 0.076386 second(s), 13 queries , MemCache On.

    Powered by Discuz! X3.4

    Copyright © 2001-2023, Tencent Cloud.

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