OSDN Git Service

phonetic repeat symbols
authorTakuya Nishimoto <nishimotz@gmail.com>
Mon, 7 Apr 2014 05:35:45 +0000 (22:35 -0700)
committerTakuya Nishimoto <nishimotz@gmail.com>
Mon, 7 Apr 2014 05:35:45 +0000 (22:35 -0700)
jptools/harness.py
source/synthDrivers/jtalk/translator2.py

index c6cde7f..a91362b 100644 (file)
@@ -4539,7 +4539,7 @@ tests = [
        # ヽ   30fd    [カタカナクリカエシ]   クリカエシ\r
        # ヾ   30fe    [カタカナダクテンクリカエシ]       クリカエシ ダクテン\r
        #{   'text':'スヽメ', 'input':'ススメ'},\r
-       #{   'text':'イスヾ', 'input':'イスズ'},\r
+       {   'text':'イスヾ', 'input':'イスズ'},\r
        #{   'text':'ヅヽ', 'input':'ヅツ'},\r
        #{   'text':'ブヾ', 'input':'ブブ'},\r
 \r
index f3e2314..e0cb338 100644 (file)
@@ -754,13 +754,18 @@ RE_KATAKANA = re.compile('^[ァ-ヾ]+$')
 RE_HIRAGANA = re.compile('^[ぁ-ゞ]+$')\r
 \r
 NO_DAKUON_DIC = {\r
-       'ヅ' : 'ツ',\r
-}\r
+       'ガ' : 'カ', 'ギ' : 'キ', 'グ' : 'ク', 'ゲ' : 'ケ', 'ゴ' : 'コ',\r
+       'ザ' : 'サ', 'ジ' : 'シ', 'ズ' : 'ス', 'ゼ' : 'セ', 'ゾ' : 'ソ',\r
+       'ダ' : 'タ', 'ヂ' : 'チ', 'ヅ' : 'ツ', 'デ' : 'テ', 'ド' : 'ト',\r
+       'バ' : 'ハ', 'ビ' : 'ヒ', 'ブ' : 'フ', 'ベ' : 'ヘ', 'ボ' : 'ホ',\r
+       }\r
 \r
 DAKUON_DIC = {\r
-       'フ' : 'ブ',\r
-       'ブ' : 'ブ',\r
-}\r
+       'カ' : 'ガ', 'キ' : 'ギ', 'ク' : 'グ', 'ケ' : 'ゲ', 'コ' : 'ゴ',\r
+       'サ' : 'ザ', 'シ' : 'ジ', 'ス' : 'ズ', 'セ' : 'ゼ', 'ソ' : 'ゾ',\r
+       'タ' : 'ダ', 'チ' : 'ヂ', 'ツ' : 'ヅ', 'テ' : 'デ', 'ト' : 'ド',\r
+       'ハ' : 'バ', 'ヒ' : 'ビ', 'フ' : 'ブ', 'ヘ' : 'ベ', 'ホ' : 'ボ',\r
+       }\r
 \r
 def to_no_dakuon_kana(s):\r
        if s in NO_DAKUON_DIC:\r
@@ -879,10 +884,10 @@ def japanese_braille_separate(inbuf, logwrite):
                if mo.hinshi1 == '記号' and mo.hinshi2 == '一般':\r
                        if mo.hyouki == '〻':\r
                                mo.output = 'ニノジテン'\r
-                       elif mo.hyouki == 'ゝ' and i > 0:\r
-                               mo.output = to_no_dakuon_kana(li[i-1].output)\r
-                       elif mo.hyouki == 'ゞ' and i > 0:\r
-                               mo.output = to_dakuon_kana(li[i-1].output)\r
+                       elif mo.hyouki in ('ゝ', 'ヽ') and i > 0:\r
+                               mo.output = to_no_dakuon_kana(li[i-1].output[-1:])\r
+                       elif mo.hyouki in ('ゞ', 'ヾ') and i > 0:\r
+                               mo.output = to_dakuon_kana(li[i-1].output[-1:])\r
                        elif mo.hyouki == '々々々々' and i > 0:\r
                                mo.output = li[i-1].output * 4\r
                        elif mo.hyouki == '々々' and i > 0:\r