掌上百科 - PDAWIKI

 找回密码
 免费注册

QQ登录

只需一步,快速开始

查看: 44411|回复: 61

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

  [复制链接]

该用户从未签到

发表于 2015-2-13 09:30:10 | 显示全部楼层 |阅读模式
本帖最后由 tsiank 于 2015-10-27 01:44 编辑
# b. x- e8 b2 C" J/ F' q4 w5 c6 e, @* H5 @- i- U% x
此贴原在国学数典发过,有网友因为注册等原因在上面看不到,所以就在此论坛转贴一下,不足之处请指正。2 i" i# d  G2 m
* ]  g( Q+ o4 q4 `/ ?" B
图像版mdict字典制作方法
& p( G( {! g2 u2 F. s  F8 ]5 F9 r; d" |+ `! d, H& B5 P
本人不才,先后制作了《汉语大字典》、《汉语大词典》《王力古汉语字典》等图片版的mdict字典。现在应网友的要求,将其制作方法发布出来,希望能有同仁制作出更多的汉语或其他语言的字典。
# d  d- v. v& Z7 e; Z
* P/ Q* C8 o1 ]制作mdict字典的图片版,要有两个前提:1,比较清晰的电子书;2,有字头与页码对应的数据。几个工具:电子书转图片工具:Pdg2Pic ,DJVUTOY,或adobe acrobat pro ;
( n! |* O' _8 }+ z* \- d9 N文字处理工具:excel和支持正则表达式的文本工具,这里我用EmEditor;生成mdict字典格式的工具:MdxBuilder。3 F+ H$ s/ Y: t' m

) M2 U" u/ Q: P, ^0 P, h: ]. D下面以制作王力古汉语字典为例,说明其制作过程:
0 D9 _* l* c+ w- P/ b( M1,        将电子书拆分为单页图片。
) n, I3 _8 K, f5 k$ E现有的电子书格式一般有PDG,DJVU以及PDF,制作电子字典,一本书有好几种格式的话,首选PDG格式的。因为用这个格式转成的png图片,不仅清晰,而且尺寸刚好合适,可直接在苹果设备中使用(ios中mdict电子字典,其图片尺寸若超过2400*2400便无法显示)。
" Q  J* d+ d) ]0 o$ m2 A/ v% d; s5 j3 l8 L
如果电子书是PDG格式的,用Pdg2Pic这个工具转为png,如图:
8 c. _/ q% E$ Q  j7 O( J : ^8 t4 y1 [6 W( i# x5 O7 l
0 B. h+ r0 i# R2 c& i6 p
那个参数设置只需选图像存为png就行,其他不用变。生成图像后,可以根据需要用文件批量改名工具修改一下文件名,也就是页码。比如我们把正文的页码(也就是以纯数字开头的文件)放在一起,图中的页码都是6位数的,将其改成4位数,并在文件名前加几个字母(这里加个WLG)以与其他字典的页码相区别。如图:
/ C& A5 l* F7 c/ D* ]
9 \1 }5 r* {9 p7 A, C
, G, W9 t6 }+ v) w& o/ M 5 m" Y# a% c4 T  J
将附录和其他的页码放在一起,根据需要进行修改,比如也改成4位数并在前面加上WLGF几个字母,方法同上。
" O. |0 e; }8 o0 n% I, t6 [$ X' U
* h: i& U+ X% e6 h如果电子书是DJVU格式的,用DjVuToy这个工具中的转图像选项转为png。
- D# z- ]% P/ M7 y
9 Z' H* T9 g' k2 h  }
# n8 X& f$ G9 d) ]1 {如果电子书是PDF格式的,那可以用adobe acrobat pro直接导出为png。
) i2 k. _4 o# k需要注意的是后两者转换后的png尺寸并不一致,生成的mdict可能会在ios上无法显示,如果想在ios上使用,就需要使用另外的图像处理工具调整png的尺寸了。" p- v4 f  S& n) x& {8 J2 `

" I8 x: a1 D8 h/ X3 O5 B2,        页码的处理:
; |6 z5 d( {; G* o2 a, h! q首先,在excel中根据字典正文的页码数输入一列页码数据,原字典是多少页,这里就输入多少个(王力古汉语字典正文页码到1817页)。然后将此列数据分别复制一份到B列和C列,在B1插入一个空单元格,数据与B2同。把C1删除,并在C列最后一行的单元格输入与上个单元格相同的数据,最终数据如图所示:
$ J1 h8 B* S! b! D
0 j5 i7 ]* a' @1 z/ t0 Y5 X" |7 F$ j: u  e* l' D: R$ `
将此三列数据复制到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</>”,然后点击替换全部,结果如图所示:5 a/ N7 N; O: M1 V* p! O$ Z( x

4 q+ G# H% h( l8 `% ~0 ~* y2 k9 u最后将这个文件以UTF-8的格式先保存。
& I# E- Z- O* e8 r# |. I  j; e- V# g
2 S; d9 O$ Z4 ?8 G- h% f+ @
9 @. Y) g# _# }% v对于附录以及其他页码的处理同上,只不过替换中的WLG三个字母要改成WLGF,处理完毕后将其文本复制到已保存的王力古汉语字典.txt中并再次保存。. t( `; J: i  g" ?& r
5 x5 ~7 P" D9 U* g' Y$ g
3,        字头的处理:! F- W+ F' s+ O: T+ A* t# E; k- O" h
将字头与页码在excel中整理成如下所示:! G8 f: `6 Q- K
% b7 Q. P( r5 M8 k& h) N) z
将其复制到EmEditor中(首行不要),在查找栏中输入“(.+?)\t(.+?)$”,在替换栏中输入“\1\n@@@LINK=WLG\2\n</>”,点全部替换,结果如图所示:
% O1 A9 S! x) Z! O! X, G2 a 7 ^) k/ O: c6 h
将其结果复制到王力古汉语字典.txt中,注意与前面的内容不要有空行,点击保存。这样文本就处理完毕了。" l: H4 l9 ]/ k% o

5 Z$ N" O" y9 x, V4 ^4,        转换成mdict格式的字典。
% a( }# E2 M& O0 b打开MdxBuilder.exe,在source栏中输入刚才保存的文本所在路径及名字,在target栏中输入要生成的mdict格式的字典所在路径及名字,扩展名是.mdx,在data栏中输入第1 步制作的图片的所在位置。original format选择mdict(html),encoding中选择UTF-8,title栏输入这本字典的名字。description栏是这本字典相关信息的描述,支持html标签,也可以不填。其他选项用默认的就行。然后点击start开始生成mdict字典。如果status栏最后出现successful 字样就说明制作成功了。
9 r0 G7 |: @! R3 @3 T: q
" i, f( Z; P% s& H- H2 m 5 e: J6 x/ J; ?# u* y6 _

; f3 Z: E9 m$ x9 U5,        mdict电子字典的使用。
: v2 b0 }) w- r# a1 DPC端支持mdict格式的电子词典工具有mdict,goldendict,推荐使用后者。安卓端有mdict和bluedict,推荐后者。ios端的有mdict。将上述生成的mdict文件(mdx和mdd,两者文件名要一致)放入合适的目录中,并在软件中将词典路径指向这个目录来添加字典,然后就可以查询使用了。
8 Z! W3 @' h4 [( H9 w  |
; R% j( G7 e; L4 [: E0 m8 i% Z7 V. g% N" Q7 _( u1 ]- k

本帖子中包含更多资源

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

x

评分

2

查看全部评分

本帖被以下淘专辑推荐:

该用户从未签到

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

该用户从未签到

发表于 2015-2-22 21:56:09 | 显示全部楼层
本帖最后由 fedor 于 2015-2-22 22:10 编辑 ( M/ N- y$ t! k
liuyunrushui 发表于 2015-2-20 22:42
9 ?; y  m' t6 p) t字头没有弄明白啊,是将每张图片的那些字作为索引字头啊?!
; B" G% U( y& d" I! n* S/ D/ q8 a- h5 X5 w8 d9 z4 h+ d6 j5 S% ^, X2 W
字头是将每张图片的单词作为字头的,后面 ...
4 i# _8 ~0 b: ^
/ e. y. Y* y  T# S6 T% S! X
又尝试做了一下,成功了。
0 F1 i' P$ w* t- Q每张图片上的所有单词都要做索引,也是比较耗时的,这还是其次,问题是图片大些的词典在手机上就无法用了,在电脑上用还是可以的,mdict中启用图片自适应窗口,字太小,开不清单词,而如不自适应窗口,图片又太大,浏览起来特费劲,所以说还不如先裁剪大小合适的图片,这样在手机和电脑上都能用,就是费时间。
$ X4 o6 E& H7 E, `8 I还有个问题是,将词典放在GoldenDict上应用时,没有“下一页”的显示,只有“上一页”显示,而且还非常的小。
9 C/ o: s/ V8 ?3 {下面我做的词典,在手机上的应用和在GoldenDict上应用4 }5 G/ w4 P8 M/ M9 ]6 b0 P
截图软件为FastStoneCapturecn。% S( `- a- @+ ]5 P+ B! Y! }

% U( Y  h$ c# Z* @5 W) l% z1 Z' x1 e# M" q7 v
: Z, H) W% \1 J

本帖子中包含更多资源

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

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

    [LV.9]以坛为家II

    发表于 2016-10-3 08:53:16 | 显示全部楼层
    有点遗憾 根本看不懂啊!; z+ @3 X7 n; O- V
    将此三列数据复制到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</>”,然后点击替换全部,结果如图所示:
    * W4 U) ?  V0 O这三列数据复制到Emeditor后,也就是那三列数据,哪来的“(.+?)\t(.+?)\t(.+?)$”?不能替换!本人比较笨!教程个人觉得不详细!在excell中输入数字时,按楼主的做法,B列会多一行,请问这最后一行的数字是保留还是删除呢?: w" T% K  b" S; T  _  ^

    点评

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

    该用户从未签到

    发表于 2015-2-13 10:11:12 | 显示全部楼层
    终于看到图片了~!!!点开可以看到完整的~!非常感谢~!
  • TA的每日心情
    慵懒
    2023-10-14 18:34
  • 签到天数: 210 天

    [LV.7]常住居民III

    发表于 2015-2-13 12:41:30 | 显示全部楼层
    tsiank 发表于 2015-2-13 09:31& q# k& C+ R7 N% a
    图片都不能全幅显示

    5 v" \9 z) {8 M3 f0 X, N先传到相册,然后在贴子里引用,就能全幅显示了 :D

    该用户从未签到

    发表于 2015-2-13 16:15:18 | 显示全部楼层
    支持原创教程!2 Q; Y; P; N4 M% ]
    : m0 ?' |, k! M$ C
    Pdg转png是关键,很多pdf或mdx的图片质量很差,估计就是转成了jpg格式。

    该用户从未签到

    发表于 2015-2-16 01:33:27 | 显示全部楼层
    本帖最后由 chigre3 于 2015-2-16 04:36 编辑
    : d5 P( b$ r5 ^- E! N1 R
    ( G4 u5 P5 Q8 P5 H3 ^' ~汉语词典单页上一般词头不多, 容易定位, 对于其他语言 (如英语, 意大利语, 西班牙语等) 就需要更进一步处理把所在页面的位置(序号)标志出来.& L6 T6 O) O/ ~
    之前也简略说过这事情:. O0 I5 k! W% q6 @
    图片版词典的大致样子  https://www.pdawiki.com/forum/fo ... hread&tid=13169

    该用户从未签到

    发表于 2015-2-16 01:35:03 | 显示全部楼层
    我觉得论坛其他朋友对于图片版词典不够重视, 制作好的图片版词典实际用途也很好啊!& C, b2 j, w1 Q6 T: r5 l
    (因为没有文本版的)
    $ f! S' a- D6 h2 i1 K. X( M* j1 \3 D7 v% c/ m2 y
    谢谢tsiank的帖子, 还有你制作的几个词典!

    该用户从未签到

    发表于 2015-2-16 14:45:38 | 显示全部楼层
    chigre3 发表于 2015-2-16 01:33
    * m& F+ k+ Y' \. S9 W8 V汉语词典单页上一般词头不多, 容易定位, 对于其他语言 (如英语, 意大利语, 西班牙语等) 就需要更进一步处理 ...
    , ?: G' N  O; G$ n( c$ P
    求详细教程讲解~非常愿意学习~
  • TA的每日心情
    开心
    2018-1-27 00:16
  • 签到天数: 1 天

    [LV.1]初来乍到

    发表于 2015-2-18 17:53:52 | 显示全部楼层
    感谢老大,请问一下,用您的教程制作的辞典,在手机上可以放大浏览,但是不可以缩小浏览是何故呢?
    - Z% K0 A; {, M" D2 H, s; I. [能否赐教呢?
    3 Z  Z" {* X+ j- Q- d手机上使用的是mdict软件,用深蓝好像也是不能缩小,可以放大,用于手机屏幕限制,所以想缩小一点浏览下!
    9 D6 F8 K* k5 B$ k4 D5 R" |# i) }/ ^  J
    + P. _0 c$ L  s5 B/ O) V! S8 d% P. U

    该用户从未签到

     楼主| 发表于 2015-2-19 13:31:52 | 显示全部楼层
    liuyunrushui 发表于 2015-2-18 17:53
    # C) U* R) H. l' ?, V" w! p感谢老大,请问一下,用您的教程制作的辞典,在手机上可以放大浏览,但是不可以缩小浏览是何故呢?$ Z+ H- J9 L6 ?/ T
    能否赐 ...
    . K% x" ?( h; D' N
    把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:31
    % }4 n0 n! ^9 B把width="1080px“这个1080px换成适合你手机的数即可,比如换成720px或者100%什么的。
    6 K/ @" J3 o" c3 P
    非常感谢大大!!!!
    2 ~' ~# S6 T) h: P, F6 z2 h$ m) `新年快乐!

    该用户从未签到

    发表于 2015-2-19 20:36:52 | 显示全部楼层
    本帖最后由 fedor 于 2016-5-26 18:43 编辑
    5 p4 ]& W+ Q1 G0 q; {. l2 ?& Y+ Z% M* \3 a2 L$ o. J6 X
    尝试照着描述做了一下,没有成功,主要是没有明白字头的处理的描述,两列的表格,左列为字头,右列为字头所在的页码,也就是文件名称吧,字头没有弄明白啊,是将每张图片的那些字作为索引字头啊?& O/ X. D( n8 h  ~
    我也非常喜欢制作图片词典,但都是最笨拙的方法,首先裁剪图片,大小要合适,其次是将每个单词都输入到表格中作为索引,这里无论是裁剪图片还是做索引,都太耗时间了。但好处是做成之后,输入即可查询定位。
  • TA的每日心情
    开心
    2018-1-27 00:16
  • 签到天数: 1 天

    [LV.1]初来乍到

    发表于 2015-2-20 22:42:10 | 显示全部楼层
    fedor 发表于 2015-2-19 20:36: \0 L3 f/ v6 X6 Z. i" x" L; C, g; x
    尝试照着描述做了一下,没有成功,主要是没有明白字头的处理的描述,两列的表格,左列为字头,右列为字头所 ...
    & N5 V. n3 x% |) g8 D- n: y
    字头没有弄明白啊,是将每张图片的那些字作为索引字头啊?!! N8 \3 V. F: n# f7 e
    ' l0 \( [. `. j3 o. c; f: D
    字头是将每张图片的单词作为字头的,后面一列的页码是同一页。我按照楼主大大的方法成功了!
    3 b* N# b5 P2 H6 P3 J. D3 T$ `) s
    一张张切图片,阅读起来很方便,但是很费时间呀!
    $ R% y# S8 J0 t+ R+ l0 q9 P2 {9 R  u
    7 \2 X. [7 P. o- ^0 e" [1 N能请问一下您是用什么软件切的图片吗?

    该用户从未签到

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

    本帖子中包含更多资源

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

    x

    该用户从未签到

     楼主| 发表于 2015-2-23 10:38:38 | 显示全部楼层
    fedor 发表于 2015-2-23 09:27( V1 B5 P0 ~8 P1 Z: H+ U
    请教大神,在手机(小米3)图片词典浏览无法看清单词,字体太小啊,如何解决啊?我将1024px调整为100%了, ...

    7 Y. ^( {5 P1 `* J! k9 a手机上看这种双栏的图片,我看还是放弃吧,来回不停地放大缩小,太麻烦。 要么就把这种双栏图片切割成单栏的,和我汉语大字典手机版那样的。
  • TA的每日心情
    难过
    前天 07:18
  • 签到天数: 1608 天

    [LV.Master]伴坛终老

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

    该用户从未签到

    发表于 2015-2-24 10:12:17 | 显示全部楼层
    tsiank 发表于 2015-2-23 10:38
    , g3 H0 v; y5 d3 X手机上看这种双栏的图片,我看还是放弃吧,来回不停地放大缩小,太麻烦。 要么就把这种双栏图片切割成单 ...

    ; f. O' [0 i, ^0 Q感谢回复!5 B' \! y* m* @# w
    还有个问题,词典放在GoldenDict上应用时,没有“下一页”的显示,只有“上一页”显示,而且还非常的小,这是怎么回事?如何调整?

    该用户从未签到

     楼主| 发表于 2015-2-24 13:28:48 | 显示全部楼层
    fedor 发表于 2015-2-24 10:12
    ( |! ?: v& @3 u感谢回复!- C6 r" S9 L- I* a/ C. v5 e# K; c
    还有个问题,词典放在GoldenDict上应用时,没有“下一页”的显示,只有“上一页”显示,而且 ...

    8 a/ W" l6 X. r不好意思,由于我的粗心,在“<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
    - E* |$ t' i! z7 z7 I$ L不好意思,由于我的粗心,在“下一页 \n”这个代码中,>下一页  的前面少了一个"号,导致在goldendict中 ...
    ) }* Z- w4 J  m* m2 O6 G" {, a% F
    非常感谢!!!( i" {- a) R( B' E3 x
    这回正常了。以后有问题再请教大神

    该用户从未签到

    发表于 2015-2-24 17:41:15 | 显示全部楼层
    tsiank 发表于 2015-2-24 13:28
    ( v- J6 [1 D% }' L  j不好意思,由于我的粗心,在“下一页 \n”这个代码中,>下一页  的前面少了一个"号,导致在goldendict中 ...
    9 L& G) ~( w  l/ {! M: w
    不好意思,还有个问题想请教一下
    * P3 X: g, ^+ I: b9 K% N在PDF中用截图工具截取图像另存为png格式的,做出的词典正常浏览(电脑中浏览)。
    6 I: q/ L. w2 M8 X/ ~) ~0 d但是PDF转为png的,或者用XnView软件统一将图片都调整为png格式的,做出的词典却浏览不出来,这是怎么回事啊。
    6 z  b7 R8 C! ?7 F/ k$ U8 P也就是说,只能是截图另存为的图片才可以浏览,而用原来的图片或PDF转换过到png格式的,都不能浏览。

    该用户从未签到

     楼主| 发表于 2015-2-24 17:55:28 | 显示全部楼层
    fedor 发表于 2015-2-24 17:41
    , @( w' |1 T$ @; T/ a. _& n5 z不好意思,还有个问题想请教一下
    4 E0 `# Q3 Q0 j+ e0 n! L* P在PDF中用截图工具截取图像另存为png格式的,做出的词典正常浏览(电脑 ...
    , K' V6 l  E+ J
    我没遇到过这样的问题。你是怎么把PDF转为png的?可否上传一下让我看看?

    该用户从未签到

    发表于 2015-2-24 19:28:14 | 显示全部楼层
    本帖最后由 fedor 于 2015-2-24 19:31 编辑 # ?2 ?/ ^* ?1 N* s
    tsiank 发表于 2015-2-24 17:55
    ( F$ m' ]4 i8 F我没遇到过这样的问题。你是怎么把PDF转为png的?可否上传一下让我看看?

    % k# J. w% A5 c4 m% Y* \& }7 k+ j1 n* V1 D
    本想发给你你看看的,9 }  ^) J2 H' G. ?! W9 @
    但一下子又好了,问题也不知出在哪里。4 n6 E7 W( p+ n( ]* ^3 v
    不过最后一次是这样做的。
    0 {' d8 {5 I3 q我的原图是pcx格式,用XnView转为png,就正常了。
    1 Y; |3 ]5 u  @3 }0 M1 R# b
    ' D+ G* O3 v: x6 z对了,有没可以将两栏的词典拆分为一栏的软件呢?而且不影响原来图片的清晰度,给推荐下。

    该用户从未签到

     楼主| 发表于 2015-2-24 20:55:56 | 显示全部楼层
    fedor 发表于 2015-2-24 19:28- u0 F6 L3 T/ w
    本想发给你你看看的,
    - Y8 @7 M( V2 ^; a  s3 i但一下子又好了,问题也不知出在哪里。
    " ^' a+ d6 K# [0 W( X9 ?不过最后一次是这样做的。
    $ L, ]2 i: J5 l4 x. }
    ComicEnhancer Pro:http://www.comicer.com/stronghor ... tm#ComicEnhancerPro

    该用户从未签到

    发表于 2015-2-24 21:08:58 | 显示全部楼层
    tsiank 发表于 2015-2-24 20:55
    $ F' D. w1 v- T# C6 b6 vComicEnhancer Pro:http://www.comicer.com/stronghorse/software/index.htm#ComicEnhancerPro
    + ?' u* |8 i* g' d
    感谢,下来试试
    您需要登录后才可以回帖 登录 | 免费注册

    本版积分规则

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

    GMT+8, 2024-4-26 23:53 , Processed in 0.075954 second(s), 12 queries , MemCache On.

    Powered by Discuz! X3.4

    Copyright © 2001-2023, Tencent Cloud.

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