Atsushi YAMADA
studi****@gmail*****
2009年 11月 17日 (火) 00:47:09 JST
西本先生 皆様 山田です。 これらは新しいバグというよりも,以前からあっ たバグが顕在化したもののようですね。ただ, complete testはしていませんから,いずれにし ろ,テストスイートは必要でしょうね。 > 19577 : gtalkでタグを正しく閉じていないと落ちる 山下先生も書かれているように,chaoneはxml処 理系なので,validでない入力は処理できません。 この対策としては,gtalkのtext.cで,入力テキ ストをパースする際に,タグをスタックしてい き,最後にスタックに残っているタグの終了タ グを強制的に追加するということをすれば解決 できます。同様に, <VOLUME>...<RATE>...</VOLUME>...</RATE> のようなクロスしているタグについても,スタッ クの処理で異常が見つかるので,そのような入 力はエラーメッセージを出して受け付けないと いうことができます。 ただ,現状でgtalkがなぜ次の入力で落ちるのか はよくわかりません。入力として意味はありま せんが,たとえvalidなxmlであっても ...<VOLUME/>... のように空タグの省略表記があると,chaoneの 処理は成功しますが,gtalkで落ちるようです。 > 19576 : 特定の文字を読ませようとするとgtalkが落ちる 対応する発音がない文字について,gtalkがその 場で落ちるようです。 > 19575 : ハイフンが入った文字列でgtalkが落ちることがある 私の環境では落ちるという現象が再現しません でした。 なお,読みの不具合の原因は,readmeの4.1に書 かれているとおり,ISO 8601形式の日付,時刻 表記について,処理をして読み上げるようにす るルーチンがtext.cに入っているのですが,こ れの判定が甘いために,おかしな読み方になる ことがあります。個人的には,日付として読ま せたければ,CONTEXTタグでtype="DATE"を指定 すればよいので,設定ファイル (ssm.conf) に おいて DATE: NO TIME: NO と指定して,ISO 8601形式の処理を無効にすれ ばよいと思います。 ISO 8601形式の読み上げをきちんとするために は,text.c内の処理を精緻化する必要がありま す。これについては,unidicの同梱物として, XSLTで実装したnumtransというツールを公開し ていますので,このロジックをCに移植していた だくというのが一つの方法です。 以上,いずれもgtalkのソースに手を入れる必要 があるため,今の私の手には余りますので,Cに 堪能な方の参加を期待します。 Takuya Nishimoto さんは書きました: > galatea-users 各位 > cc: galateaプロジェクト関係者各位 > > 西本です。 > > 新たにご報告いただいた不具合2件をチケットに登録しました。 > また、チケット #19337 > APBタグを使ったあとでgtalkが落ちる > について、私も見落としていましたので、 > 別の不具合としてチケット登録しました。 > ただ、valid なタグを使うことは利用者の責任、 > という考えもありそうなので、 > 「サポートリクエスト」にしています。 > (とはいえ落ちるのはよくないことですが。。) > > http://sourceforge.jp/projects/galatea/ticket/ > 19577 : gtalkでタグを正しく閉じていないと落ちる > 19576 : 特定の文字を読ませようとするとgtalkが落ちる > 19575 : ハイフンが入った文字列でgtalkが落ちることがある > > 個別の問題に対応するだけでなく、 > きちんと実装テストスイートを整備して、 > バージョンアップの際にテストをする必要がありますね。 > 今後考慮したいと思います。 >