OSDN Git Service

fixed issue ti33675
authorTakuya Nishimoto <nishimotz@gmail.com>
Sat, 3 May 2014 10:28:04 +0000 (19:28 +0900)
committerTakuya Nishimoto <nishimotz@gmail.com>
Sat, 3 May 2014 10:28:04 +0000 (19:28 +0900)
jptools/mecabRunner.py
jptools/test.py
source/synthDrivers/jtalk/mecab.py
source/synthDrivers/jtalk/mecabrc [new file with mode: 0644]

index d5e0233..417034f 100644 (file)
@@ -56,10 +56,11 @@ def get_reading(msg):
        return reading\r
 \r
 def runTasks(enableUserDic=False):\r
-       print jt_dir, dic, user_dics_org, user_dics\r
        if enableUserDic:\r
+               print jt_dir, dic, user_dics\r
                Mecab_initialize(__print, jt_dir, dic, user_dics)\r
        else:\r
+               print jt_dir, dic\r
                Mecab_initialize(__print, jt_dir, dic)\r
        count = 0\r
        for i in tasks:\r
index 0a5797b..7a7c2c0 100644 (file)
@@ -19,7 +19,9 @@ class JpBrailleTests(unittest.TestCase):
 class MecabTests(unittest.TestCase):
 
        def test_all(self):
-               count = mecabRunner.runTasks()
+               count = mecabRunner.runTasks(enableUserDic=False)
+               self.assertEqual(count, 0)
+               count = mecabRunner.runTasks(enableUserDic=True)
                self.assertEqual(count, 0)
 
 class JtalkPrepareTests(unittest.TestCase):
index 7a172cc..2351a1d 100644 (file)
@@ -129,12 +129,13 @@ def Mecab_initialize(logwrite_ = None, libmecab_dir = None, dic = None, user_dic
                                raise RuntimeError('utf-8 dictionary for mecab required.')\r
                except:\r
                        pass\r
-               argc, args = 3, (c_char_p * 3)('mecab', '-d', dic.encode('utf-8'))\r
+               mecabrc = os.path.join(libmecab_dir, 'mecabrc')\r
+               argc, args = 5, (c_char_p * 5)('mecab', '-d', dic.encode('utf-8'), '-r', mecabrc.encode('utf-8'))\r
                if user_dics:\r
                        # ignore item which contains comma\r
                        ud = ','.join([s for s in user_dics if not ',' in s])\r
                        if logwrite_: logwrite_(u'user_dics: %s' % ud)\r
-                       argc, args = 5, (c_char_p * 5)('mecab', '-d', dic.encode('utf-8'), '-u', ud.encode('utf-8'))\r
+                       argc, args = 7, (c_char_p * 7)('mecab', '-d', dic.encode('utf-8'), '-r', mecabrc.encode('utf-8'), '-u', ud.encode('utf-8'))\r
                mecab = libmc.mecab_new(argc, args)\r
                if logwrite_:\r
                        if not mecab: logwrite_('mecab_new failed.')\r
diff --git a/source/synthDrivers/jtalk/mecabrc b/source/synthDrivers/jtalk/mecabrc
new file mode 100644 (file)
index 0000000..e69de29