Ticket #35037

英語環境で使う場合の文字説明の処理

Open Date: 2015-04-01 17:12 Last Update: 2015-11-13 15:06

Reporter:
Owner:
(None)
Type:
Status:
Closed
Component:
(None)
MileStone:
Priority:
5 - Medium
Severity:
5 - Medium
Resolution:
Fixed
File:
None

Details

英語環境で日本語版を使うと文字説明の処理でエラーが出ているので記録。

2015.1jp では下記の状況だが 2015.2jp で文字説明のコードをいじっているのでもう一度確認が必要。

ERROR - scriptHandler.executeScript (17:09:53):
error executing script: <bound method Dynamic_IAccessibleEditWindowNVDAObject.script_caret_moveByCharacter of <NVDAObjects.Dynamic_IAccessibleEditWindowNVDAObject object at 0x042D2A50>> with gesture u'left arrow'
Traceback (most recent call last):
  File "scriptHandler.pyo", line 176, in executeScript
  File "editableText.pyo", line 141, in script_caret_moveByCharacter
  File "editableText.pyo", line 103, in _caretMovementScriptHelper
  File "editableText.pyo", line 89, in _caretScriptPostMovedHelper
  File "speech.pyo", line 802, in speakTextInfo
  File "speech.pyo", line 182, in speakSpelling
  File "speech.pyo", line 230, in _speakSpellingGen
  File "characterProcessing.pyo", line 185, in getCharacterDescription
LookupError: en

Ticket History (3/10 Histories)

2015-04-01 17:12 Updated by: nishimoto
  • New Ticket "英語環境で日本語版を使うと文字説明の処理でエラーが出る" created
2015-06-03 21:50 Updated by: nishimoto
  • Status Update from Open to Closed
  • Ticket Close date is changed to 2015-06-03 21:50
2015-06-03 21:51 Updated by: nishimoto
Comment

間違えて batch modify したので、再オープンして 2015.3jp にマイルストーン再設定。

2015-08-06 17:30 Updated by: nishimoto
Comment

本件は次のバージョンに持ち越し。

2015-09-02 18:12 Updated by: nishimoto
  • Summary Updated
  • Type Update from Bugs to Patches
Comment

チケットの検討範囲がすこし変わるが、 日本語を母国語としないユーザーが NVDA 日本語版を使う状況にフォーカスして改善を検討。 (エラー発生などが再現できたらあわせて対応を検討する)

Windows 8.1 で Windows を英語環境にして、 DualVoice アドオンを使うと、SAPI5 音声エンジンでいちおう環境は作れる。 このときに NVDA の言語は英語になるが、文字説明は「ハンカク エー」のようになる。 この場合の文字説明は「half shaped a」が適切と思われる。

2015-09-02 18:33 Updated by: nishimoto
Comment
2015-09-03 14:36 Updated by: nishimoto
  • Resolution Update from None to Fixed
  • Milestone Update from (None) to 2015.4jp (closed)
Comment

だいたい作業が終わったので、2015.4jp をマイルストーンに。

主な変更点:

  • 音声エンジンの言語ではなく、システムの言語で動作を切り替える修正(そのほうが DualVoice アドオンなど文字コードで音声エンジンを切り替えるツールと相性がよい)
  • システムの言語が日本語でない場合は、かな漢字変換の「半角」「全角」などの文字属性の説明を「half shaped」「full shaped」のように英語で通知する。
  • NVDA+ピリオド3回(ラップトップ)の文字説明の処理を、システムの言語が日本語でない場合はオリジナルのNVDAのような動作に。
  • メモ帳で NVDA+Tab 2回押しのような場合に、"katakana" "hiragana" などの文字属性の説明を不必要に1文字ずつ区切らないような修正

Windows 7 で SAPI 5 の英語と日本語のエンジンが利用できて、DualVoice が入っている場合は、下記の設定で動作を確認している。

  • Windows 7 日本語環境
  • NVDA General Settings > Language : English (en)
  • Synthesizer : Dual Voice 3.0
  • Voice : Microsoft Anna English United States
  • Variant : Hanako (ドキュメントトーカー)
  • Use first voice for non-Latin : unchecked
  • Read numbers and punctuations based on context : checked
  • Give priority to Latin : checked
  • Automatic language switching : checked
  • Trust voice's language : checked
  • Use spelling functionarity : checked

この構成だとメインの音声が英語音声なので、NVDA は 「英語として読むことができる情報はなるべく英語で読む」 「英語として読めない文字や情報だけを日本語音声で読み上げる」 という動作になる。

カナ漢字変換中に全角のカギカッコをうまく読まない、といった細かい不具合は 残っているが、いままでよりも破綻が少なくなったと考えられる。 また、日本語環境での動作はいままでと変化ないはずである。

2015-09-05 20:59 Updated by: nishimoto
Comment

カナ漢字変換中に全角の記号を読まない問題は、DualVoice でしか起こらない問題。 現状だと文字コードで声を切り替える音声エンジンの実装は DualVoice と Vocalizer くらいなので、 あまり NVDA 側で work around をしすぎるのはどうかと思われる。

プライマリ音声を Anna にして、句読点記号辞書の編集をすると「英語」の記号辞書が開くので、 そこで全角句点、全角読点、全角カギカッコなどに、それらしい英語の replacement をつければ、 まあまあ期待した状況を作ることはできる。

2015-09-10 22:06 Updated by: nishimoto
Comment

英語言語用の記号読み上げ辞書に全角の句読点や括弧などを追加するのは、 NVDA 日本語版の独自拡張として、やってもよさそうな気がしてきた。

ちなみに Unicode 規格では全角のテンやマルは 'IDEOGRAPHIC COMMA' 'IDEOGRAPHIC FULL STOP' という名前らしい:

http://www.fileformat.info/info/unicode/char/3001/index.htm

http://www.fileformat.info/info/unicode/char/3002/index.htm

2015-11-13 15:06 Updated by: nishimoto
  • Ticket Close date is changed to 2015-11-13 15:06
  • Status Update from Open to Closed

Attachment File List

No attachments

Edit

Please login to add comment to this ticket » Login