Ticket #29872

Open Date: 2012-10-17 22:53

Last Update: 2012-11-27 19:02

文字説明データの再構成

Reporter:nishimotoOwner:(None)
Priority:5 - MediumMileStone:2012.3jp (closed)
Type:PatchesSeverity:5 - Medium
Component:(None)Status:Closed
ResolutionNone

Details

下記のコミットについて説明します。

lp:nvdajp 4403

いままで nvdajp_dic に直接書かれていた「文字のスペル読み」(詳細読みではない読み)の辞書を、外部ファイルに移動しました。

これは source/locale/ja/characters.dic という新しいファイルです。

locale ディレクトリに置かれていますが、日本語独自のファイルです。

内容は既存の characterDescriptions.dic の情報を含んでいますが、いまのところ詳細読みの情報は「参考のために」併記されています。

以下のフォーマット(タブ文字区切り)になっています。

  • フィールド1: 文字
  • フィールド2: 文字の Unicode 16進数表記
  • フィールド3: 半角角括弧 [] で囲まれた「日本語のスペル読み」(nvdajp_dic から転記された情報)
  • フィールド4: charactersDescriptions.dic の第2フィールドの内容(詳細読み)

ただし先頭がシャープ # で始まる行は無視されます。また先頭が \# の行は半角シャープの文字に関する情報です。

現在のところ、単なる移動で、詳細読み辞書とは統合されていません。

日本語以外のロケールで動作させることも必要なので、ひきつづき方針を検討します。

Attachment File

Attachment File ListNo attachments
Add New attachment
Add attachment filesPlease login to add new attachment

Ticket History - 3/8 Histories [Show all old Histories]

2012-10-17 22:53 Updated by: nishimoto

  • New Ticket "文字説明データの再構成" created

2012-10-18 10:38 Updated by: nishimoto

Comment

実装に不備があったので下記のコミットで修正しました。

lp:nvdajp 4405

ソースからビルドした場合に限られますが、source/locale/ja/characters.dic を

# 425行
を	3092	[ウォ]	オワリノ オ

のように書き換えると「を」のスペル読みを「オ」ではなく「ウォ」と読むようになります。

ただ JTalk の制約で「ウォ」がきれいに発音できませんが。。

2012-10-18 15:18 Updated by: nishimoto

Comment

ロケール(言語設定)が英語のときにエラーになる問題を修正しました。

lp:nvdajp 4407

2012-10-18 15:31 Updated by: nishimoto

Comment

ワ行のを(おわりのを)をスペル読みで「うお」と発音するように変更しました。

lp:nvdajp 4408

なお、次の段階として、以下のような仕様変更を検討しています。

  • 日本語ロケールの場合だけ詳細読みは characterDescriptions.dic は参照せず、characrers.dic のフィールド4(以降?)を参照する。
  • 本家版との互換性のために characterDescriptions.dic は日本語チームが引き続きメンテナンスする。characters.dic (マスターファイル)から機械的に変換して characterDescriptions.dic を作り、本家にコミットする。
  • 文字属性の判定を nvdajp_dic のメソッドで行なうのではなく、characters.dic にフラグを持たせる。これはフィールド2(文字コード)を拡張して、例えば全角ひらがな「あ」には「3042:full,hira」のように記述する。
  • 同じフォーマットの characters-ja.dic ファイルを userConfig において、これらの情報をユーザーがカスタマイズできるようにする。

2012-10-18 16:10 Updated by: nishimoto

Comment

以下のコミットについて説明します。

lp:nvdajp 4409

以下のように仕様変更しました。これで開発環境がなくても文字説明データを編集できると思います。

  • まずシステムの characterDescriptions.dic の詳細読みが読み込まれる。
  • 次に characters.dic を読み込んで「スペル読み」と「詳細読み」の両方を登録する。つまり、詳細読みが characterDescriptions.dic と characters.dic で一致しない場合は characters.dic を優先する。
  • さらにユーザー設定フォルダ (userConfig) の characterDescriptions-ja.dic の「詳細読み」を読み込む。
  • 最後にユーザー設定フォルダの characters-ja.dic の「スペル読み」と「詳細読み」を読み込む。

一部の記号の「半角」「全角」の通知など、属性に関する情報のカスタマイズは今後の課題です。

ユーザー設定フォルダの characterDescriptions-ja.dic の「詳細読み」は日本語版で独自に導入した仕様ですが、characters-ja.dic に統一したいと考えています。現在は互換性のために両方サポートしています。

カスタマイズの元になるファイル characters-ja.dic (現在の characters.dic のファイル名だけ変更したもの)をしばらく下記に置きます。

https://dl.dropbox.com/u/62564469/characters-ja.dic

2012-10-21 23:34 Updated by: nishimoto

Comment

以下のコミットについて説明します。

lp:nvdajp 4417

  • characters.dic に Unicode 点字文字を追加して、「1の点」「1 2の点」などの読みを追加

lp:nvdajp 4418

  • 文字説明の一貫性・重複チェックツールが使っていた jtalk/spelling-ja.dic を廃止して、locale/ja/characters.dic を使うように変更した。

文字説明の重複チェックツールは実装を見直して高速化したいと思います。

2012-10-25 23:38 Updated by: nishimoto

Comment

miscdep 111 を push しました。アーカイブを下記に置きます。

https://dl.dropbox.com/u/62564469/nvdajp-miscdep-111.7z

characters.dic の単漢字を Mecab 辞書に登録するようになりました。 JTalk のいわゆる「なめらか読み」でも Unicode 文字を読み上げます。

また Unicode 点字パターンを「1の点」「1、2の点」のように読むようになりました。

これらの処理で不具合が起きないように mecab.py も更新しています。

lp:~nvdajp/nvdajp/jp2012.3 rev 5606

あくまでも辞書整備の準備段階で、characters.dic そのものの整備が今後の課題です。

関連チケット #25509

2012-11-27 19:02 Updated by: nishimoto

  • Ticket Close date is changed to 2012-11-27 19:02
  • Status Update from Open to Closed

Comment

下記に関する作業が終了しました。

#25509 Unicode文字の読み上げ(東洋医学系の難読漢字など)

今後の課題をまとめておきます。

  • 文字の16進コードは16ビットとは限らず、32ビットの可能性もある。
  • 本チケットで導入した「スペル読み」について NVDA 本家の開発者から symbols.dic に統合してはどうかという意見をいただいている。
  • 音声エンジンの言語を文字コードによって判定する仕組みを実装するときに、文字説明データと連携する必要が出てくるかもしれない。

2012.3 日本語版の準備が整ったと判断して、このチケットはクローズします。


Add Comment/Update #29872 (文字説明データの再構成)

You are not logged in. I you are not logged in, your comment will be treated as an anonymous post. » Login