現在位置: ホーム ブログ MeCabで日本語読みを出力 on Windows
ブログ

MeCabで日本語読みを出力 on Windows

NVDAという、オープンソースのスクリーンリーダ(視覚障害者などの為のツール)があります。それの日本語で使用するためのお手伝いを少しだけしています。

先日のミーティングで、読み上げ側担当の方から、MeCabを使って、読みを出力することできないかな?って相談をもらいました。少し時間がたってしまいましたが、ここで公開しておきます。


#coding: cp932

from ctypes import cdll, c_char_p

LIBPATH = "C:\\Program Files\\MeCab\\bin\\libmecab.dll"
ARGV = "mecab " + "-Oyomi"

def main(text):
if isinstance(text, unicode):
text = text.encode('utf-8')
lib = cdll.LoadLibrary(LIBPATH)
tagger = lib.mecab_new2(ARGV)
s = lib.mecab_sparse_tostr(tagger, text)
ret = c_char_p(s).value
lib.mecab_destroy(tagger)
return ret

if __name__ == '__main__':
import sys
argv = ' '.join(sys.argv[1:]).decode('cp932')
# argv = u"ドラえもんの歌を聞く"
print main(argv).decode('utf-8')

ポイントは、MeCabの辞書を、UTF-8でインストールしておく必要があります。



comments powered by Disqus