# 一键制作图片词典 MdxSourceBuilder

**URL:** <https://forum.freemdict.com/t/topic/2882>\
**Category:** 技术交流与词典编修\
**Tags:** 图片词典, mdxsourcebuilder, opensource, mdx工具, ⭐star\
**Created:** [2020 年8 月 12 日 08:34 UTC](https://forum.freemdict.com/t/topic/2882 "2020-08-12T08:34:34Z")\
**Posts on this page:** 20\
**Page:** 3

<div class="post-metadata">

作者： ![Vim](https://forumcdn.freemdict.com/user_avatar/forum.freemdict.com/vim/32/8408_2.png) [@Vim](https://forum.freemdict.com/u/Vim)\
发布日期： [2020 年8 月 18 日 14:53 UTC](https://forum.freemdict.com/t/topic/2882/42 "2020-08-18T14:53:02Z")

</div>

这是你的问题，我用vim处理几个G的文本都没问题，轻轻松松。电脑还是6年前买的。

甚至我用NAS的虚拟机（性能超级差的电脑）都能轻松跑。

---

<div class="post-metadata">

作者： ![sczhong](https://forumcdn.freemdict.com/letter_avatar_proxy/v4/letter/s/df705f/32.png) [@sczhong](https://forum.freemdict.com/u/sczhong)\
发布日期： [2020 年8 月 18 日 14:57 UTC](https://forum.freemdict.com/t/topic/2882/43 "2020-08-18T14:57:20Z")

</div>

我是说把TXT转为MDX，只能拆开几部分处理，一次性不成功。好在拆开后转成了。然后合并。

---

<div class="post-metadata">

作者： ![Vim](https://forumcdn.freemdict.com/user_avatar/forum.freemdict.com/vim/32/8408_2.png) [@Vim](https://forum.freemdict.com/u/Vim)\
发布日期： [2020 年8 月 18 日 15:02 UTC](https://forum.freemdict.com/t/topic/2882/44 "2020-08-18T15:02:38Z")

</div>

最后转mdx的步骤，mdxsourcebuilder仅仅是调用mdict-utils，与直接使用mdict-utils没有任何区别。

我转过接近1G的源文件，一点问题都没有，速度很快。具体问题具体分析吧。你的问题由于没有提供细节，我们也无从看出问题在哪里。

你可以试着直接用mdict-utils编译，看看是否可以。

---

<div class="post-metadata">

作者： ![sczhong](https://forumcdn.freemdict.com/letter_avatar_proxy/v4/letter/s/df705f/32.png) [@sczhong](https://forum.freemdict.com/u/sczhong)\
发布日期： [2020 年8 月 18 日 15:07 UTC](https://forum.freemdict.com/t/topic/2882/45 "2020-08-18T15:07:53Z")

</div>

是"火星词典.Body.Part2.txt"的压缩词条格式，要用你的工具先转成符合mdict的样式，不能直接用mdict-utils编译。这种压缩词条格式，你的工具转成标准词条格式，然后再编译。

---

<div class="post-metadata">

作者： ![sczhong](https://forumcdn.freemdict.com/letter_avatar_proxy/v4/letter/s/df705f/32.png) [@sczhong](https://forum.freemdict.com/u/sczhong)\
发布日期： [2020 年8 月 18 日 15:14 UTC](https://forum.freemdict.com/t/topic/2882/46 "2020-08-18T15:14:20Z")

</div>

你的工具还是有优点，不能求全责备。这种压缩词条格式，还只发现你的工具能处理。

---

<div class="post-metadata">

作者： ![Vim](https://forumcdn.freemdict.com/user_avatar/forum.freemdict.com/vim/32/8408_2.png) [@Vim](https://forum.freemdict.com/u/Vim)\
发布日期： [2020 年8 月 18 日 15:17 UTC](https://forum.freemdict.com/t/topic/2882/47 "2020-08-18T15:17:58Z")

</div>

纯属自娱自乐啊。

Vim的缺点并不在于难以处理大文件，恰恰相反，它可以处理几个G的普通文本，日常使用肯定足够了。但它确实难以处理单行很长很长的文本，比如整个文件就一行。

当然，我的编程水平非常有限，这个是我的第一个程序，一切都简单粗暴，比如把整部词典都塞到一个dict中，我也不知道有什么更好的方法，但够普通使用就是了，毕竟图片词典都不会太大。这些肯定有很多可以改进的地方。

---

<div class="post-metadata">

作者： ![huamaofan](https://forumcdn.freemdict.com/letter_avatar_proxy/v4/letter/h/b9e5f3/32.png) [@huamaofan](https://forum.freemdict.com/u/huamaofan)\
发布日期： [2020 年8 月 18 日 15:17 UTC](https://forum.freemdict.com/t/topic/2882/48 "2020-08-18T15:17:58Z")

</div>

谢谢您的指导！  
感谢！

---

<div class="post-metadata">

作者： ![sczhong](https://forumcdn.freemdict.com/letter_avatar_proxy/v4/letter/s/df705f/32.png) [@sczhong](https://forum.freemdict.com/u/sczhong)\
发布日期： [2020 年8 月 18 日 15:28 UTC](https://forum.freemdict.com/t/topic/2882/49 "2020-08-18T15:28:46Z")

</div>

把玩gVim，乐在其中。

---

<div class="post-metadata">

作者： ![huamaofan](https://forumcdn.freemdict.com/letter_avatar_proxy/v4/letter/h/b9e5f3/32.png) [@huamaofan](https://forum.freemdict.com/u/huamaofan)\
发布日期： [2020 年8 月 18 日 17:10 UTC](https://forum.freemdict.com/t/topic/2882/50 "2020-08-18T17:10:07Z")

</div>

感谢大神！

已经用mdx制作工具制作完成了！  
非常感谢！

跑程序的时侯跟上面一位朋友一样，vim本身不能生成mdx，可能跟python的版本有关。我我用的是官网的最新版。

另外还有个问题想请教下，词头与页码对应时，有没有比较便利的方式来分配页码呢？我基本上都是手动输入的。大神有比较顺手的批量修改页码（或者给图片命名）的软件可以推荐下吗？

再次感谢！

---

<div class="post-metadata">

作者： ![Vim](https://forumcdn.freemdict.com/user_avatar/forum.freemdict.com/vim/32/8408_2.png) [@Vim](https://forum.freemdict.com/u/Vim)\
发布日期： [2020 年8 月 18 日 22:53 UTC](https://forum.freemdict.com/t/topic/2882/51 "2020-08-18T22:53:30Z")

</div>

关于版本匹配：全部采用32位或全部采用64位；当前vim最新版（你确定确实是最新版？）对应的python版本是3.8（使用:py3 print(“Hello”) 进行确认）。

关于批量页码：我自己用Vim，一个命令即可实现，你们可以使用excel，格式0000；  
关于批量图片：重命名我用TotalCommander，你们可以使用xnviewer。

关于词条的编辑：我自己用Vim，毕竟是编辑器之神，只要想到的基本都能实现。你们可以使用任意顺手的编辑器。但无论如何词条输入，要么OCR，要么手工，都挺麻烦，我只不过使用AutoHotkey可以将任意窗口半透明，再用Vim定制一些快捷键，这样方便录入和校对。参见视频： [采用Vim+AHK快速处理图片版词典的词条索引](https://pan.baidu.com/s/1wlEbLZFMiJkB1htIizvUyQ)

---

<div class="post-metadata">

作者： ![huamaofan](https://forumcdn.freemdict.com/letter_avatar_proxy/v4/letter/h/b9e5f3/32.png) [@huamaofan](https://forum.freemdict.com/u/huamaofan)\
发布日期： [2020 年8 月 19 日 00:48 UTC](https://forum.freemdict.com/t/topic/2882/52 "2020-08-19T00:48:06Z")

</div>

好滴，感谢大神详细的指导！

---

<div class="post-metadata">

作者： ![huamaofan](https://forumcdn.freemdict.com/letter_avatar_proxy/v4/letter/h/b9e5f3/32.png) [@huamaofan](https://forum.freemdict.com/u/huamaofan)\
发布日期： [2020 年8 月 20 日 15:40 UTC](https://forum.freemdict.com/t/topic/2882/53 "2020-08-20T15:40:16Z")

</div>

今天尝试制作辞典，又碰壁了😂。

期待大神拨冗指导。

---

<div class="post-metadata">

作者： ![Vim](https://forumcdn.freemdict.com/user_avatar/forum.freemdict.com/vim/32/8408_2.png) [@Vim](https://forum.freemdict.com/u/Vim)\
发布日期： [2020 年8 月 20 日 19:52 UTC](https://forum.freemdict.com/t/topic/2882/54 "2020-08-20T19:52:26Z")

</div>

已升级程序，你只要更新 MdxSourceBuilderCore.vim 文件即可。

---

<div class="post-metadata">

作者： ![fruition](https://forumcdn.freemdict.com/user_avatar/forum.freemdict.com/fruition/32/51082_2.png) [@fruition](https://forum.freemdict.com/u/fruition)\
发布日期： [2020 年8 月 20 日 20:31 UTC](https://forum.freemdict.com/t/topic/2882/55 "2020-08-20T20:31:01Z")

</div>

Vim兄，神乎其技，令人歎為觀止，讚！

---

<div class="post-metadata">

作者： ![huamaofan](https://forumcdn.freemdict.com/letter_avatar_proxy/v4/letter/h/b9e5f3/32.png) [@huamaofan](https://forum.freemdict.com/u/huamaofan)\
发布日期： [2020 年8 月 21 日 00:08 UTC](https://forum.freemdict.com/t/topic/2882/56 "2020-08-21T00:08:40Z")

</div>

非常感谢大神指教！谢谢！

---

<div class="post-metadata">

作者： ![Vim](https://forumcdn.freemdict.com/user_avatar/forum.freemdict.com/vim/32/8408_2.png) [@Vim](https://forum.freemdict.com/u/Vim)\
发布日期： [2020 年8 月 25 日 06:39 UTC](https://forum.freemdict.com/t/topic/2882/57 "2020-08-25T06:39:21Z")

</div>

我在 MdxSourceBuilder 标准版的基础上，定制了一个能够兼容多层次词条（主词条+多个相关词条）的版本，用于制作《汉字源流字典-谷衍奎》，大家可以前往观摩，体会开源的好处及程序的灵活性（开源就是这个好处，想怎么改就怎么改）：

【汉字源流字典-谷衍奎】最实用的字源字典

> **[【汉字源流字典-谷衍奎】最实用的字源字典 - MDict 词库资源区 - MDict Dictionaries - 掌上百科 - PDAWIKI - ...](https://www.pdawiki.com/forum/thread-41393-1-1.html)**
>
> 最实用的字源字典用过论坛里的一堆汉字源流字典，虽然其中不乏国际著名专家学者撰写的，但这些作品大部分都没让我提起兴趣，或者是因为没能真正的答疑解惑，或者是因为其 ... 【汉字源流字典-谷衍奎】最实用的字源字典 ,掌上百科 - PDAWIKI

(出处: 掌上百科 - PDAWIKI)

---

<div class="post-metadata">

作者： ![annham](https://forumcdn.freemdict.com/letter_avatar_proxy/v4/letter/a/a183cd/32.png) [@annham](https://forum.freemdict.com/u/annham)\
发布日期： [2020 年10 月 3 日 06:12 UTC](https://forum.freemdict.com/t/topic/2882/58 "2020-10-03T06:12:33Z")

</div>

您好，我正在尝试制作杜登德汉大词典的图片版，出现了内存不足的问题，希望帮忙看一看，多谢了！

 ![捕获](https://forumcdn.freemdict.com/uploads/default/original/2X/f/f510a1050aba5a1a1b47a9f3e4c1948147f60fa8.png)

---

<div class="post-metadata">

作者： ![annham](https://forumcdn.freemdict.com/letter_avatar_proxy/v4/letter/a/a183cd/32.png) [@annham](https://forum.freemdict.com/u/annham)\
发布日期： [2020 年10 月 3 日 06:20 UTC](https://forum.freemdict.com/t/topic/2882/59 "2020-10-03T06:20:42Z")

</div>

![捕获1](https://forumcdn.freemdict.com/uploads/default/original/2X/7/7dd95c5f72429b0966c16335241e14a4bc647be0.png)

---

<div class="post-metadata">

作者： ![annham](https://forumcdn.freemdict.com/letter_avatar_proxy/v4/letter/a/a183cd/32.png) [@annham](https://forum.freemdict.com/u/annham)\
发布日期： [2020 年10 月 5 日 05:00 UTC](https://forum.freemdict.com/t/topic/2882/60 "2020-10-05T05:00:24Z")

</div>

已经搞定了，原来是gvim版本搞错了，多谢楼主制作的工具

---

<div class="post-metadata">

作者： ![weshor](https://forumcdn.freemdict.com/letter_avatar_proxy/v4/letter/w/e19adc/32.png) [@weshor](https://forum.freemdict.com/u/weshor)\
发布日期： [2020 年10 月 23 日 23:12 UTC](https://forum.freemdict.com/t/topic/2882/61 "2020-10-23T23:12:19Z")

</div>

> [@Vim](#):
>
> 页码：4位

您好，如果页码是3位或5位，应该怎么修改vim文件呢，谢谢了

[上一页](https://forum.freemdict.com/t/topic/2882.md?page=2)

[下一页](https://forum.freemdict.com/t/topic/2882.md?page=4)
