Skip to content

daxida/MDictUtils

Repository files navigation

Build status

Partial port of mdict-utils. Tested in Linux.

The main purpose of this port is to support the mdict version of Jitendex and as such, it only contains a subset of the original mdict-utils functionality. Namely, it does no encrypting and assumes the version to be 2.0.

Testing

Oracle testing requires mdict-utils installed. For instance, create a venv at the repo root and run:

pip install mdict-utils
  • Because the encoding/decoding depends on the current date, there will be some diff with the commited fixtures if you run this in the future (!). The only thing that matters is that mdict and this repo produce the same artifacts on a given date.
  • Because of differences between python zlib and the c# equivalent, the bytes of the compressed artifact may not exactly match (usually happens after a certain size). This should not matter, the sizes will be approximately equal, and they will decompress to the same data (but oracle test will fail if you compare the compressed artifacts!).

Links

TODO

  • Do decryption (?)
    • Done for level=2
  • Release binaries (?)
  • Explore how to use as a library (writing a glossary from memory instead of disk)
  • How does one use perf in c#?

WONTDO

  • CI run on bigendian: GH doesn't support it easily
  • Doc generator: Tried docfx but it requires either a very specific file tree, or some noisy extra md files. And the doc is bloated...

Others

  • How good is pyglossary for wty/Jitendex? Test in goldendict
  • Stardict from mdict artifacts for Jitendex?
  • How hard is it to write some code that takes a Yomitan structured content thingy and returns html at home

License

Copyright (C) 2026 MDictUtils Authors

MDictUtils is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, version 3.

MDictUtils is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with MDictUtils. If not, see https://www.gnu.org/licenses/.

About

MDict pack/unpack tool

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors