Yes there are, together with the open source IME engines FreeWNN, Anthy and Google's mozc among others.
However, I strongly recommend that you don't do this. Japanese input methods are probably some of the most complicated+difficult to implement input methods in use today, and it's likely that you won't be able to do it unless you have a team behind you who is familiar with the Japanese language.
Even the data files themselves are quite complicated, and what some of the tokens in those files mean is frequently non-obvious. I doubt you would be able to make one which doesn't have considerable conversion and performance issues unless you were strong in Japanese linguistics and data processing (I speak from experience - I tried and failed making one myself, although I learnt a lot in the process :)
Depending on what you want to do, it may be a better idea to use one of those existing three engines. I don't know much about programming bindings to those engines, but I eventually went with communicating with Anthy via its command line interface
anthy-agent in a separate thread, which I think works reasonably well.
Here's some background information (to the extent I can remember, some of this is likely in need of correction) in case you're interested. I originally tried to parse Canna's dictionary, which has a number of different directories:
*.p files in it that have base dictionary words. Of the format
[hiragana] [converted] [grammar class] [word frequency], where the grammar classes are defined in the below
か 課 #JS 0
か 日 #JS 0
か 価 #JS 1
Has information about grammar classes, which can link to other grammar points/classes recursively.
gram.goto has the format:
T15+ KAKUJOSHI Kno
+ indicates a positive link, and the
- indicates a negative link that shouldn't be followed.
@... in the right column can indicate to include another grammar point, and
...- in the right column can disinclude another grammar point (although the latter doesn't seem to be used).
main.code look like the following, and the
gram.goto file links to it. I can't remember exactly how it works I'm afraid, the
*.t files in this directory also link together with this file.
Sto _ と /* 文末一般に接続 */
Stoka _ とか /* 格助詞が後ろに来ない */
Stokoro _ ところ /* 終,体,助[た]+: 行ったところ */
ga ところが /* 行ったところが */
de ところで /* 行ったところで */
Has more dictionary words, which also link to the grammar classes.
*.t files are of the format
[hiragana] [grammar class](*[relative frequency]) [converted], with the relative frequency being optional and not in all files:
あいえんか #T35*76 愛煙家
あいおい #T35*76 相生
あいか #T35*76 哀歌
あいかぎ #T35*76 合鍵
Again though, I think some of the grammar tokens have a special meaning which is hardcoded in Canna itself, and you really need to have a good knowledge of Japanese+ability to go through their source code to be able to make sure it all works correctly (which I was lacking at the time of my attempt).