i wanted to create a mdx SDK in c++ and i think this is the right place to ask.
i dont know much about the mdict format, but i know that some people have done for reverse engineering in it, but the knowledge is too distributed, and it’d be better to collect everything into a single place.
that SDK proposal would help the future generations to have access to mdict dictionaries, preserving the format and the work of those who make dictionaries in that.
the mdx SDK would be able to:
- get information about dictionaries
- retrieve html
- get css
and much more.
please notice that this is different from mdict-utils for example, which aims to be a helper for those who want to build dictionaries, our SDK will instead enable programmers to develop more dictionary apps for a lot of platforms, by using our SDK they dont need to hold any previous knowledge about how the mdict format works, they can just read the API documentation and choose which functions to use.
Q. why c++?
A. because it’s timeless, if the code gets to work today, it will work basically forever, as long as a standard is set. (C++23 for example)
Q. why is that important for programmers to have a mdict library?
A. because then you can basically develop dictionary apps for the future platforms, or even some non-popular ones
Q. why care about preservation?
A. because i think that the work of those who make mdx/mdict dictionaries must be valued and the next generations would benefit from it
what do you guys think about that proposal? and if you have any resources for me to study about the mdx/mdict format, please cite it down below
edit: in addtion to what was sent here in the comments, there’s a quite clear explanation for the mdict 2.0 format
writemdict/fileformat.md at master · zhansliu/writemdict · GitHub
that file contains all the necessary explanations from a “from scratch” implementation