Ticket #34542

既定の言語が日本語でない場合に JTalk が日本語を読み上げない

Open Date: 2014-10-26 23:32 Last Update: 2014-11-24 16:05

Reporter: nishimoto Owner: nishimoto
Type: Bugs Status: Closed
Component: 音声合成 MileStone: 2014.4jp (closed)
Priority: 5 - Medium Severity: 5 - Medium
Resolution: Fixed

Details

既定の言語が日本語でなく Automatic language switching disabled のときに JTalk が eSpeak の音声だけになってしまい、 日本語が Japanese characters, Chinese characters などの読み上げになってしまいます。

海外のユーザーからの報告がありました。

以下、私が確認した環境:

  • Windows 7 Ultimate (64bit) with English as user interface language
  • NVDA 2014.3jp (Language = User Default, Jtalk, Automatic Language Switching = disabled)
  • Internet Explorer 11
  • open Gmail web site, set English as user interface language, open received mail containing Japanese characters

英語環境で Automatic Language Switching を無効にしたときに音声エンジンのデフォルト言語が en になってしまうため、ではないかと思われます。

Attachment File List

No attachments

Ticket History (3/8 Histories)

2014-10-26 23:32 Updated by: nishimoto
  • New Ticket "既定の言語が日本語でなく Automatic language switching disabled のときに JTalk が日本語を読み上げない" created
2014-10-26 23:33 Updated by: nishimoto
  • Details Updated
2014-10-27 14:28 Updated by: nishimoto
Comment

上記の現象についてさらに確認したので書き直し:

setup:

  • Windows 7 Ultimate (64bit) with English as user interface language
  • NVDA 2014.3jp (Language = User Default, Jtalk)
  • Internet Explorer 11
  • GMail: set English as user interface language

issue 1:

  • NVDA Automatic Language Switching = disabled
  • open Gmail web site (standard version)
  • open received mail containing Japanese characters

issue 2:

  • NVDA Automatic Language Switching = enabled
  • open Gmail web site (Basic HTML version)
  • open received mail containing Japanese characters

いずれのケースも、日本語文字列が言語 en で JTalk のコアにわたっているために、日本語が読めていない。

2014-10-27 14:29 Updated by: nishimoto
  • Summary Updated
2014-10-27 16:31 Updated by: nishimoto
  • Milestone Update from (None) to 2014.4jp (closed)
  • Owner Update from (None) to nishimoto
  • Resolution Update from None to Fixed
  • Component Update from (None) to 音声合成
Comment

日本語スナップショット jpbeta141027

https://dl.dropboxusercontent.com/u/62564469/nvda_jpbeta141027.exe

JTalk は「日本語ではない言語情報のついた文字列」が届いたとき (「既定の言語」が日本語でない場合や「言語の自動切り替え」でアプリから言語を通知された場合) にも、読み上げる文字列に「日本語の文字コードの文字」が含まれている場合には JTalk を使うようにしました。

2014-11-20 23:05 Updated by: nishimoto
  • Ticket Close date is changed to 2014-11-20 23:05
  • Status Update from Open to Closed
2014-11-24 12:13 Updated by: nishimoto
  • Status Update from Closed to Open
Comment

Windows 10 Technical Preview で 2014.4jp-beta-141121 を試して以下を確認した:

  • Windows 10 の User interface language は English のまま Japanese Keyboard / Microsoft Japanese IME が使える状態にする
  • NVDA の言語を default language にして、 Synthesizer を JTalk にする
  • notepad を開いて、半角全角キーで ime opened の状態にする
  • キーボードで k を入力するとプリエディット文字に全角 k が入り、espeak の声で "letter f f 4 b" と読み上げてしまう

Unicode 互換文字(全角アルファベット)を espeak が受け取ってしまっているようだ。

本件に関連する実装のメモ:

https://bitbucket.org/nvdajp/nvdajpmiscdep/commits/05c64734ba2a9e2f0de3bfdc4fc99773bbab1253

2014-11-24 16:05 Updated by: nishimoto
  • Ticket Close date is changed to 2014-11-24 16:05
  • Status Update from Open to Closed
Comment

JTalk と espeak の振り分けを文字コードで行う処理の修正:

https://bitbucket.org/nvdajp/nvdajpmiscdep/commits/2180065aa9ac37941ded6ee0e63fffbd1e588709

nvdajp の jp2014.4 ブランチに反映させたので、クローズします。

(公開ベータ版の差し替えはしません)

Edit

Please login to add comment to this ticket » Login