Ok, here is the recipe for creating your own dictionary.
1) Create a working directory, say /tmp/mydict/
2) In /tmp/mydict/, create as many XX.html files are needed, where XX are the first two letters of each word being defined in XX.html. Use 11.html for all non-starting-with-a-letter-words. The syntax for each such .html file is as follows:
<?xml version="1.0" encoding="utf-8"?>
<p><a name="WORD"/>DEFINITION OF WORD, you <b>can</b> use HTML tags. </p>
with as many <w> elements as needed. You can also use variants, see one of the original files for that.
3) gzip all these .html files individually, removing the ".gz" extension after compressing them
4) build a text file with one word per line, say "index.txt", and create the index with:
$ ./marisa-build index.txt > words
5) compress the whole thing with:
$ zip ../dicthtml-LL.zip *html words
where LL is the dictionary language (LL="en" or "it" or "fr" ecc.)
6) copy the resulting zip file to .kobo/dict/ and you are done!
(You might want to change the dictionary to another one and then back to the newly created, so that the index "words" is reloaded.)