Binary dictionary 4 MB limit
ivan-ushakov opened this issue · comments
Ivan commented
Hello. Dictionary tool has 4 MB limit (I guess because of 22 bit address). Is it possible to use it for large dictionaries like Turkish language with XML file size of 20 MB?
Sander van Geloven commented
Same question for 10 MB large file words.xml for the Dutch language with less than 400.000 words. The Dutch language uses a lot of compounds that need to be included explicitly in the dictionary.
Sander van Geloven commented
When I run LanguagePack-Dutch$ java -jar ../AnySoftKeyboardTools/makedict/makedict.jar
I get the following error:
Reading words from input /home/***/workspace/LanguagePack-Dutch/dict/words.xml
Will store output files under /home/***/workspace/LanguagePack-Dutch/res/raw
Deleting previous versions...
Nodes = 1292442
Exception in thread "main" java.lang.reflect.InvocationTargetException
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:497)
at org.eclipse.jdt.internal.jarinjarloader.JarRsrcLoader.main(JarRsrcLoader.java:58)
Caused by: java.lang.ArrayIndexOutOfBoundsException: 4194304
at MakeBinaryDictionary.addNode(MakeBinaryDictionary.java:290)
at MakeBinaryDictionary.writeWordsRec(MakeBinaryDictionary.java:343)
at MakeBinaryDictionary.writeWordsRec(MakeBinaryDictionary.java:349)
at MakeBinaryDictionary.writeWordsRec(MakeBinaryDictionary.java:349)
at MakeBinaryDictionary.writeWordsRec(MakeBinaryDictionary.java:349)
at MakeBinaryDictionary.writeWordsRec(MakeBinaryDictionary.java:349)
at MakeBinaryDictionary.writeWordsRec(MakeBinaryDictionary.java:349)
at MakeBinaryDictionary.writeWordsRec(MakeBinaryDictionary.java:349)
at MakeBinaryDictionary.writeWordsRec(MakeBinaryDictionary.java:349)
at MakeBinaryDictionary.writeWordsRec(MakeBinaryDictionary.java:349)
at MakeBinaryDictionary.writeWordsRec(MakeBinaryDictionary.java:349)
at MakeBinaryDictionary.writeWordsRec(MakeBinaryDictionary.java:349)
at MakeBinaryDictionary.writeToDict(MakeBinaryDictionary.java:361)
at MakeBinaryDictionary.<init>(MakeBinaryDictionary.java:161)
at MakeBinaryDictionary.main(MakeBinaryDictionary.java:99)
... 5 more
Is this related to the 4 MB limit or another issue?
Pander commented
Is there any progress on this please?