聊一聊制作mdx词典时那些容易踩到的坑

词库词序排列的问题
用MdxBuilder编译.mdx词库时,具有相同词头的三个独立词条,编译前txt中是以0001,0002,0003等正常顺序排列的,但编译后程序中查询显示的却是0002,0001,0003。别人编译的mdx,显示的却是正常的词序。很长一段时间,一直不知是什么原因

解决方法,借鉴
https://www.pdawiki.com/forum/thread-3558-1-1.html
尝试了一下,用MdxBuilder编译前,在第一个词条的词头前面再加上两行</>,即一共三行(如该词条前面只有两行</>则编译后消失),然后再编译txt为mdx。

一点感想:
这样子操作词条数会+1,如果N个词条都这样子操作则词条数会+N。不开源工具在使用中碰到bug实在是尴尬啊

最近用MdxExport.3.6 解包一个mdx,其源代码里头有大量的软回车(即箭头向下符号),如下图


在emeditor中用正则\n搜索可以匹配两类换行符,但用\r或\r\n只能匹配硬回车、不能匹配软回车。

之前听说有些txt用其他开源工具编译失败,但用官方的工具可以成功编译。显然,MdxExport是可以无视软回车的,估计这种兼容处理是其容错性强的一个方面吧。

1 Like

生成源码建议利用正则删除多余的空白(空格、回车等)。

是的。既然解包了,肯定会顺手规范处理。

另一个可以成功编译的例子:mdx官方工具不仅可以无视软回车,硬回车也没问题。

现实中,很多小白并不会一开始就注意规范。mdx官方工具容错性强,是其广泛流行的一个重要因素。如果门槛过高过于严格,无疑会挫伤小白们参与的积极性;但过分降低门槛,就会出现目前mdx面临的一些窘境。

可见,规范和使用是鱼肉熊掌不可兼得的trade-off关系,需要在两者之间进行精细取舍权衡。毕竟,绝大多数老手是从小白一步一步成长起来的。

2 Likes

今天第一次遇到链接图片打包时编译器提示出错,把img文件夹从中文命名的文件夹中移出再编译再ok了。

用的哪个编译工具?