-
Notifications
You must be signed in to change notification settings - Fork 218
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
matrix right/left dimension checking is inconsistent (compiling user dictionary/assigning user dict costs) #42
Comments
swapping matrix.left_size() and matrix.right_size() in the assertions seems to fix it without breaking left/right id generation however, building on my toolchain (mingw-w64 32-bit) was difficult, because the linker can't find wmain; I had to change winmain.h like so:
and remove -municode from configure |
the diff I used to work around this bug is basically:
|
Connector::open() checks for the "left" count at 0x0 into matrix.bin, and for the "right" count at 0x2, but the numbers and filesizes in unidic 2.3.0 are consistent with the "right" count coming first. (i.e. the first short in matrix.bin is larger than the second, but right-id.def is larger than and has more lines than left-id.def). What's at fault here? The ContextID files do not appear to be named incorrectly (see the opening post of this issue - swapping their names results in an error in cost recalculation), and again, everything works just fine when a user dictionary is not being used. Line 33 in 3a07c4e
|
with unidic as downloaded:
after swapping right-id and left-id files:
The text was updated successfully, but these errors were encountered: