Is there a reason why mdict-utils should not be used over the official conversion tools? I have read people talking about stripkey but I am not sure what it is.

The reason I am asking that is that I realized that MDXBuilder re-orders all entries on export. mdict-utils allows you to have a custom order for entries, that way it is possible to display the most frequent word on top of others when displayed in a dictionary viewer like goldendict. Is there a reason this should not be done?



mdict utils all the way. no indexing bugs and everything can be automated using .bat files. dict entries also allow line breaks, which is nice for simple edits

1 Like


For the OP: I am not expert in this, but I use mdict-utils a lot in packing the dicts. Usually I do not notice significant difference.

the only issues I’ve had were due to accidentally using utf-8 with BOM.

1 Like

Ι see. I will chek the BOM. Thank you so much for the hint.

Thank you so much! Yes, it is indeed the BOM issue that caused the compile problem. Now I have converted the source file into the utf-8 without BOM, and everything is compiled successfully.

Here is my conclusion from this little bug: please make sure that all the source files are prepared in utf-8 WITHOUT BOM.

I am always keeping the line endings as the UNIX LF (“\n”), I am not sure whether this is necessary or not.

1 Like

Thank you very much for clarifying things up! I am glad I can stop using mdxbuilder and can start using something much more flexible and open source without worrying about errors down the line.

I will make extra care to not use BOM (perhaps it is worth opening an issue on github?).
Concerning the line endings, I am on linux already so it shouldn’t be a problem like it was when using mdxbuilder.

1 Like

For me, mdict-utils always works as intended. I like it.

The .mdx format is lack of an official specification for a long time. After various unofficial implementations from both compiling and rendering sides, now .mdx format is loosely defined, which is kind of regretful.

The fact that it is not officially documented but rather reverse engineered is why I was afraid that the resulting file could be buggy/not working as intended in small ways. It is really not the kind of thing I want to learn down the line as I do not want to recompile every thing (or even possibly lose data).