AnySoftKeyboardTools
AnySoftKeyboardTools copied to clipboard
Binary dictionary 4 MB limit
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?
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.
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?
Is there any progress on this please?