掌上百科 - PDAWIKI

 找回密码
 免费注册

QQ登录

只需一步,快速开始

查看: 44906|回复: 61

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

  [复制链接]

该用户从未签到

发表于 2015-2-13 09:30:10 | 显示全部楼层 |阅读模式
本帖最后由 tsiank 于 2015-10-27 01:44 编辑
  X% k7 o) P$ @3 B# R2 h, P( d' K. l8 Z! D" w8 s* M: Y# B. R9 o' M
此贴原在国学数典发过,有网友因为注册等原因在上面看不到,所以就在此论坛转贴一下,不足之处请指正。
; e% g. k8 [0 K3 O3 r
7 U/ G, g( E" l6 a# D, {; `% h' L  a图像版mdict字典制作方法
8 p) ]4 r8 Y" u+ y* |9 Q. z6 C. \% |. {5 [# F" i) A% s+ n
本人不才,先后制作了《汉语大字典》、《汉语大词典》《王力古汉语字典》等图片版的mdict字典。现在应网友的要求,将其制作方法发布出来,希望能有同仁制作出更多的汉语或其他语言的字典。" I# U/ H: r# C# O
9 K/ z. e" _; r
制作mdict字典的图片版,要有两个前提:1,比较清晰的电子书;2,有字头与页码对应的数据。几个工具:电子书转图片工具:Pdg2Pic ,DJVUTOY,或adobe acrobat pro ;- E# R" g  N5 q9 M
文字处理工具:excel和支持正则表达式的文本工具,这里我用EmEditor;生成mdict字典格式的工具:MdxBuilder。
7 W7 a) W% n5 S
" o& X. Y0 q6 m2 _! u8 [5 {下面以制作王力古汉语字典为例,说明其制作过程:4 V* ]& N: a- Q/ D& g. I
1,        将电子书拆分为单页图片。/ V5 r! m% t% z) [( W+ @
现有的电子书格式一般有PDG,DJVU以及PDF,制作电子字典,一本书有好几种格式的话,首选PDG格式的。因为用这个格式转成的png图片,不仅清晰,而且尺寸刚好合适,可直接在苹果设备中使用(ios中mdict电子字典,其图片尺寸若超过2400*2400便无法显示)。  u% a  m$ J7 K7 C
) Q) q* i0 @7 Z# q. i. V
如果电子书是PDG格式的,用Pdg2Pic这个工具转为png,如图: ; ]5 z# ^6 `& @
! j# M& P3 N, C4 n8 R' y% O9 s0 j8 W

  M4 W" Q1 h( u那个参数设置只需选图像存为png就行,其他不用变。生成图像后,可以根据需要用文件批量改名工具修改一下文件名,也就是页码。比如我们把正文的页码(也就是以纯数字开头的文件)放在一起,图中的页码都是6位数的,将其改成4位数,并在文件名前加几个字母(这里加个WLG)以与其他字典的页码相区别。如图:/ _3 }& L* k* B0 h, w) i8 |( ^4 C$ {
+ j, o& i2 l8 J

  h, B  T: G1 C- x. w5 P, z8 D
1 I( ^: X) l4 c: a; v' c+ l5 @将附录和其他的页码放在一起,根据需要进行修改,比如也改成4位数并在前面加上WLGF几个字母,方法同上。& M! X2 g  v# ]3 K) E
6 x! k, t- d- ^; U
如果电子书是DJVU格式的,用DjVuToy这个工具中的转图像选项转为png。
% m! S2 z5 @; }8 b+ _ . c* \. \: F/ C$ g; H' N
. S5 Q9 m5 N, {9 j5 R5 {9 W
如果电子书是PDF格式的,那可以用adobe acrobat pro直接导出为png。
, l8 X% D5 \  ]8 _2 ?* @+ [需要注意的是后两者转换后的png尺寸并不一致,生成的mdict可能会在ios上无法显示,如果想在ios上使用,就需要使用另外的图像处理工具调整png的尺寸了。
" T( D6 _" @* ]) u7 ~* h
2 ?' `3 v4 O+ F) Z8 v2,        页码的处理:
/ Q  K# e9 F. K首先,在excel中根据字典正文的页码数输入一列页码数据,原字典是多少页,这里就输入多少个(王力古汉语字典正文页码到1817页)。然后将此列数据分别复制一份到B列和C列,在B1插入一个空单元格,数据与B2同。把C1删除,并在C列最后一行的单元格输入与上个单元格相同的数据,最终数据如图所示:9 j) N5 v7 M& I! c! W

  B4 l. f2 w# b5 O! _1 z" p0 @
将此三列数据复制到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</>”,然后点击替换全部,结果如图所示:
+ w0 g* ~9 N0 p9 ], |; c / w+ `" H' q5 Q/ ?; A
最后将这个文件以UTF-8的格式先保存。& s8 }3 g0 W" A7 @& x
. v6 S- H) q9 Z, Y+ b: h  v7 j
6 }( i& V' s) N  s% I4 [9 ^
对于附录以及其他页码的处理同上,只不过替换中的WLG三个字母要改成WLGF,处理完毕后将其文本复制到已保存的王力古汉语字典.txt中并再次保存。
/ W! B/ O, @; d1 A/ d" r+ z( D" c% i" J2 `: S
3,        字头的处理:
$ J1 s+ t! O. g7 ~8 a* @! Q将字头与页码在excel中整理成如下所示:( J7 d8 z( i; r' ]/ s

, ~5 D/ t; r) K6 w- v% j 将其复制到EmEditor中(首行不要),在查找栏中输入“(.+?)\t(.+?)$”,在替换栏中输入“\1\n@@@LINK=WLG\2\n</>”,点全部替换,结果如图所示:" K3 f1 P7 ~$ F1 _. J* ?

% Y  F+ q" m# y; X' k, W% k( j1 H( ^将其结果复制到王力古汉语字典.txt中,注意与前面的内容不要有空行,点击保存。这样文本就处理完毕了。
. {, ~; _- j8 w& @3 y1 a* Y/ @' {6 S& o: N
4,        转换成mdict格式的字典。
6 G: b- h' Q' z; }+ T) S6 z打开MdxBuilder.exe,在source栏中输入刚才保存的文本所在路径及名字,在target栏中输入要生成的mdict格式的字典所在路径及名字,扩展名是.mdx,在data栏中输入第1 步制作的图片的所在位置。original format选择mdict(html),encoding中选择UTF-8,title栏输入这本字典的名字。description栏是这本字典相关信息的描述,支持html标签,也可以不填。其他选项用默认的就行。然后点击start开始生成mdict字典。如果status栏最后出现successful 字样就说明制作成功了。
+ X$ c* b5 E! b% M* S" [# [! {4 v  H+ I% g

1 d" d. \% p# J6 \
! F, O! n2 ^* P% ~9 e. S- |- m5,        mdict电子字典的使用。' S, X: Q( }$ b
PC端支持mdict格式的电子词典工具有mdict,goldendict,推荐使用后者。安卓端有mdict和bluedict,推荐后者。ios端的有mdict。将上述生成的mdict文件(mdx和mdd,两者文件名要一致)放入合适的目录中,并在软件中将词典路径指向这个目录来添加字典,然后就可以查询使用了。
* u. R+ d  ]4 K- W* L / m" G# P& N( N) u9 J
8 s- L) k6 i7 @$ ^

本帖子中包含更多资源

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

x

评分

2

查看全部评分

本帖被以下淘专辑推荐:

该用户从未签到

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

该用户从未签到

发表于 2015-2-22 21:56:09 | 显示全部楼层
本帖最后由 fedor 于 2015-2-22 22:10 编辑 1 G5 v/ A0 i; f+ P# ?9 t4 R
liuyunrushui 发表于 2015-2-20 22:42
) h6 k0 p, N" m. g+ C( w字头没有弄明白啊,是将每张图片的那些字作为索引字头啊?!+ l) a& Q7 e; N6 b  N" {+ N4 L0 j* Q* _" v

0 Z& z8 ~# k( U# e( F字头是将每张图片的单词作为字头的,后面 ...
+ a  e3 M8 V2 |9 f5 B

) k6 r6 k- I% M9 l& O又尝试做了一下,成功了。# f4 `( ~6 z* n9 d7 v
每张图片上的所有单词都要做索引,也是比较耗时的,这还是其次,问题是图片大些的词典在手机上就无法用了,在电脑上用还是可以的,mdict中启用图片自适应窗口,字太小,开不清单词,而如不自适应窗口,图片又太大,浏览起来特费劲,所以说还不如先裁剪大小合适的图片,这样在手机和电脑上都能用,就是费时间。2 Z  G: p5 i8 Q* f
还有个问题是,将词典放在GoldenDict上应用时,没有“下一页”的显示,只有“上一页”显示,而且还非常的小。
) [9 V. w/ {: b下面我做的词典,在手机上的应用和在GoldenDict上应用
4 [2 m. p) V7 Z- F1 e. H# X截图软件为FastStoneCapturecn。# D8 C0 O8 x$ k" G

$ ^. q  o( S, j" K6 a7 L' E8 |4 Y9 X7 t2 @% l
1 C' m8 ?6 n- T

本帖子中包含更多资源

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

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

    [LV.9]以坛为家II

    发表于 2016-10-3 08:53:16 | 显示全部楼层
    有点遗憾 根本看不懂啊!1 @. J3 J& A" s$ c+ Q  T' P- U( 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</>”,然后点击替换全部,结果如图所示:  E- r% D& k( ^9 M0 i( e2 |" y
    这三列数据复制到Emeditor后,也就是那三列数据,哪来的“(.+?)\t(.+?)\t(.+?)$”?不能替换!本人比较笨!教程个人觉得不详细!在excell中输入数字时,按楼主的做法,B列会多一行,请问这最后一行的数字是保留还是删除呢?/ Q# o* M" O' H& G. H0 Y2 m

    点评

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

    该用户从未签到

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

    [LV.7]常住居民III

    发表于 2015-2-13 12:41:30 | 显示全部楼层
    tsiank 发表于 2015-2-13 09:31# h; L, |# g% \3 u+ t* ?! a
    图片都不能全幅显示

    $ z5 O, a1 V( g* t9 l/ f( t. {先传到相册,然后在贴子里引用,就能全幅显示了 :D

    该用户从未签到

    发表于 2015-2-13 16:15:18 | 显示全部楼层
    支持原创教程!1 o" b& N1 y& X2 D" r
    - K! m2 ?! L# x! c. M
    Pdg转png是关键,很多pdf或mdx的图片质量很差,估计就是转成了jpg格式。

    该用户从未签到

    发表于 2015-2-16 01:33:27 | 显示全部楼层
    本帖最后由 chigre3 于 2015-2-16 04:36 编辑 : d( d- }; k6 ?3 k5 c4 L8 J
    ) G' F4 _' V0 V/ T
    汉语词典单页上一般词头不多, 容易定位, 对于其他语言 (如英语, 意大利语, 西班牙语等) 就需要更进一步处理把所在页面的位置(序号)标志出来.
    : ~6 Z$ f. R8 g/ `( h之前也简略说过这事情:9 C1 P2 U9 f, z2 o/ V% V& q2 b7 M. Y
    图片版词典的大致样子  https://www.pdawiki.com/forum/fo ... hread&tid=13169

    该用户从未签到

    发表于 2015-2-16 01:35:03 | 显示全部楼层
    我觉得论坛其他朋友对于图片版词典不够重视, 制作好的图片版词典实际用途也很好啊!
    4 L; i2 \9 b3 b(因为没有文本版的)$ s+ o, N. R5 ~2 d  S8 T8 t

    " A& ]$ }) {) {9 b- }: m/ O$ ~谢谢tsiank的帖子, 还有你制作的几个词典!

    该用户从未签到

    发表于 2015-2-16 14:45:38 | 显示全部楼层
    chigre3 发表于 2015-2-16 01:33
    + w% w! w/ \: ]& A+ l汉语词典单页上一般词头不多, 容易定位, 对于其他语言 (如英语, 意大利语, 西班牙语等) 就需要更进一步处理 ...

    " r7 N" o3 ~) F+ f; [+ u求详细教程讲解~非常愿意学习~
  • TA的每日心情
    开心
    2018-1-27 00:16
  • 签到天数: 1 天

    [LV.1]初来乍到

    发表于 2015-2-18 17:53:52 | 显示全部楼层
    感谢老大,请问一下,用您的教程制作的辞典,在手机上可以放大浏览,但是不可以缩小浏览是何故呢?
    ! t( u$ A; |* B' }能否赐教呢?3 w: M* d8 p- `! _9 R! B# {
    手机上使用的是mdict软件,用深蓝好像也是不能缩小,可以放大,用于手机屏幕限制,所以想缩小一点浏览下!- h& j  s6 J: _- A8 N/ M7 G! z- L

    1 v0 b7 T& b' X- T0 n, z

    该用户从未签到

     楼主| 发表于 2015-2-19 13:31:52 | 显示全部楼层
    liuyunrushui 发表于 2015-2-18 17:531 |. C( I0 I9 }9 G2 H$ r
    感谢老大,请问一下,用您的教程制作的辞典,在手机上可以放大浏览,但是不可以缩小浏览是何故呢?
    " ]% U6 H8 {; F/ Z能否赐 ...

    - b  ~+ ~" |$ b. a' ]; J9 l% N2 ?# Z把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
    ( O* q% }9 D1 Q( D把width="1080px“这个1080px换成适合你手机的数即可,比如换成720px或者100%什么的。
    ( m! g& U& s9 u8 R8 F
    非常感谢大大!!!!
    9 Q  i7 N0 l& ^: ~/ ]$ p( H新年快乐!

    该用户从未签到

    发表于 2015-2-19 20:36:52 | 显示全部楼层
    本帖最后由 fedor 于 2016-5-26 18:43 编辑
    , d( B. H# S; P% A& F+ H/ O' g/ l! W) A5 i+ e9 ~
    尝试照着描述做了一下,没有成功,主要是没有明白字头的处理的描述,两列的表格,左列为字头,右列为字头所在的页码,也就是文件名称吧,字头没有弄明白啊,是将每张图片的那些字作为索引字头啊?5 g0 N/ ?4 a6 [5 I7 j) Y  g5 }
    我也非常喜欢制作图片词典,但都是最笨拙的方法,首先裁剪图片,大小要合适,其次是将每个单词都输入到表格中作为索引,这里无论是裁剪图片还是做索引,都太耗时间了。但好处是做成之后,输入即可查询定位。
  • TA的每日心情
    开心
    2018-1-27 00:16
  • 签到天数: 1 天

    [LV.1]初来乍到

    发表于 2015-2-20 22:42:10 | 显示全部楼层
    fedor 发表于 2015-2-19 20:36
    ' S1 J/ d4 u* v; w$ N尝试照着描述做了一下,没有成功,主要是没有明白字头的处理的描述,两列的表格,左列为字头,右列为字头所 ...

    4 r9 ]& m( z" r  W, b) _; w. D8 I字头没有弄明白啊,是将每张图片的那些字作为索引字头啊?!! f& W6 [. G5 u: F2 l
    2 f* J5 K8 E( W' [# l( F
    字头是将每张图片的单词作为字头的,后面一列的页码是同一页。我按照楼主大大的方法成功了!+ J! S/ n4 q: i
    : w9 u( h2 }3 a+ L
    一张张切图片,阅读起来很方便,但是很费时间呀!
    / p% T7 ]1 b& Q4 Q& v; I/ m/ W0 w5 y6 R7 c6 T* T9 \3 Q
    能请问一下您是用什么软件切的图片吗?

    该用户从未签到

    发表于 2015-2-23 09:27:59 | 显示全部楼层
    请教大神,在手机(小米3)图片词典浏览无法看清单词,字体太小啊,如何解决啊?我将1024px调整为100%了,显示效果如下。
    1 R: T% b1 [% U- W( q0 R3 G

    本帖子中包含更多资源

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

    x

    该用户从未签到

     楼主| 发表于 2015-2-23 10:38:38 | 显示全部楼层
    fedor 发表于 2015-2-23 09:277 o+ y+ W0 j8 d2 r, E: X( b
    请教大神,在手机(小米3)图片词典浏览无法看清单词,字体太小啊,如何解决啊?我将1024px调整为100%了, ...

    ; ^8 \  Y9 a& B7 q+ q* e" M; m. N手机上看这种双栏的图片,我看还是放弃吧,来回不停地放大缩小,太麻烦。 要么就把这种双栏图片切割成单栏的,和我汉语大字典手机版那样的。
  • TA的每日心情
    难过
    5 小时前
  • 签到天数: 1626 天

    [LV.Master]伴坛终老

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

    该用户从未签到

    发表于 2015-2-24 10:12:17 | 显示全部楼层
    tsiank 发表于 2015-2-23 10:38
    3 j$ j; g1 w+ H' H手机上看这种双栏的图片,我看还是放弃吧,来回不停地放大缩小,太麻烦。 要么就把这种双栏图片切割成单 ...
    / L4 O9 _$ t  V- l
    感谢回复!
    * ^. c; i7 P# Z1 v/ k6 l( Y+ ?还有个问题,词典放在GoldenDict上应用时,没有“下一页”的显示,只有“上一页”显示,而且还非常的小,这是怎么回事?如何调整?

    该用户从未签到

     楼主| 发表于 2015-2-24 13:28:48 | 显示全部楼层
    fedor 发表于 2015-2-24 10:122 h. z3 e. j% a' G$ ]; G
    感谢回复!6 a# ^( m% O5 S0 ]+ X; ?1 y/ i
    还有个问题,词典放在GoldenDict上应用时,没有“下一页”的显示,只有“上一页”显示,而且 ...
    9 C" m9 A0 e: c5 L& \  M1 A
    不好意思,由于我的粗心,在“<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" `" V3 u* {# ~# ~
    不好意思,由于我的粗心,在“下一页 \n”这个代码中,>下一页  的前面少了一个"号,导致在goldendict中 ...
    5 d/ Y4 ^: A& z$ Q
    非常感谢!!!- y# }+ v( j" D
    这回正常了。以后有问题再请教大神

    该用户从未签到

    发表于 2015-2-24 17:41:15 | 显示全部楼层
    tsiank 发表于 2015-2-24 13:282 A; q- K* z9 K) X* D
    不好意思,由于我的粗心,在“下一页 \n”这个代码中,>下一页  的前面少了一个"号,导致在goldendict中 ...

    , n6 c% M, S; x0 P) e) ~  _不好意思,还有个问题想请教一下. X# X4 A- s8 ~$ W
    在PDF中用截图工具截取图像另存为png格式的,做出的词典正常浏览(电脑中浏览)。
    3 O% e) Q# @' G, V  c但是PDF转为png的,或者用XnView软件统一将图片都调整为png格式的,做出的词典却浏览不出来,这是怎么回事啊。
    8 U' B6 n) F+ c6 P3 k, p0 l$ v6 W! k也就是说,只能是截图另存为的图片才可以浏览,而用原来的图片或PDF转换过到png格式的,都不能浏览。

    该用户从未签到

     楼主| 发表于 2015-2-24 17:55:28 | 显示全部楼层
    fedor 发表于 2015-2-24 17:41
    . e" N+ F9 y% D; f9 j5 N不好意思,还有个问题想请教一下2 O7 N) A* C. |
    在PDF中用截图工具截取图像另存为png格式的,做出的词典正常浏览(电脑 ...
    ! I: _9 K+ T) R; s- O' v* \9 N, U
    我没遇到过这样的问题。你是怎么把PDF转为png的?可否上传一下让我看看?

    该用户从未签到

    发表于 2015-2-24 19:28:14 | 显示全部楼层
    本帖最后由 fedor 于 2015-2-24 19:31 编辑
    0 s9 q1 K" F1 l7 q
    tsiank 发表于 2015-2-24 17:55$ F2 \$ S* ~4 ^8 `: w
    我没遇到过这样的问题。你是怎么把PDF转为png的?可否上传一下让我看看?

    4 G9 |1 j: g6 F; d( _
    " V, ^  {* J4 a) ]本想发给你你看看的,
    " H  E% ^- r% X$ Y+ @! t3 d但一下子又好了,问题也不知出在哪里。* s+ N) K" `1 a- D2 C- W' I' Q- _$ \
    不过最后一次是这样做的。
    * y5 t5 t- y% z$ s我的原图是pcx格式,用XnView转为png,就正常了。
    3 e8 q% H5 N; \5 v
    2 i8 d- N) o* X, z对了,有没可以将两栏的词典拆分为一栏的软件呢?而且不影响原来图片的清晰度,给推荐下。

    该用户从未签到

     楼主| 发表于 2015-2-24 20:55:56 | 显示全部楼层
    fedor 发表于 2015-2-24 19:28% w$ ~0 n' x2 a0 R/ V0 B$ I
    本想发给你你看看的,
    9 k' ^+ ^/ Q8 T  a7 i: y: R0 Q/ [但一下子又好了,问题也不知出在哪里。6 b) K* z6 I: c  R
    不过最后一次是这样做的。
    3 |1 i# C4 @7 Q. G
    ComicEnhancer Pro:http://www.comicer.com/stronghor ... tm#ComicEnhancerPro

    该用户从未签到

    发表于 2015-2-24 21:08:58 | 显示全部楼层
    tsiank 发表于 2015-2-24 20:55
    , J( H0 X: o9 [; F7 P+ j/ u- w4 ZComicEnhancer Pro:http://www.comicer.com/stronghorse/software/index.htm#ComicEnhancerPro

    3 T- y% _7 h! h感谢,下来试试
    您需要登录后才可以回帖 登录 | 免费注册

    本版积分规则

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

    GMT+8, 2024-5-23 12:01 , Processed in 0.065922 second(s), 12 queries , MemCache On.

    Powered by Discuz! X3.4

    Copyright © 2001-2023, Tencent Cloud.

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