スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

Firefox3でFlashに日本語が入力できない話

Mac版Firefox 3正式版に、日本人ユーザにとって結構致命的な問題が残ってしまいそうな件について - outsider reflex
辛辣インターフェース評議会 - Mac版Firefox 3正式版でニコニコ動画に日本語が打てなくなりそうな問題について
Mac版のFirefox3.0.1でFlashに日本語が入力できない件について、いろいろなやりとりがあった。
イチMacユーザーとしては、「Macユーザーはアフォ揃いですね」みたいな発言が出るとこりゃ対話すんの無理だわと考えてしまう。好きにやってください。

この機会に、Geckoのwidget/cocoaについて書いておこう。私の認識でのみ話をするので、事実と異なる部分が満載であろう点にご注意を。

1.
中野さんが本格的にwidget/cocoaをいじる以前は、バグ修正を行っている日本人は私ぐらいしかいなかった。C言語どころかシェルスクリプトすらまともに書けないド素人の私が、なけなしの知識でパッチを書いていた。層が薄いとかいう以前の実にお寒い話である。
FlashでIMEが効かない問題はCaminoがまだChimeraだった頃からあった。以前のwidget/cocoaでは、Flashゲームなんかでキー入力を扱うための措置として、プラグインにフォーカスが当たっているときはIMEを介さずにキー入力をダイレクトに投げるようになっていた。私のレベルではこの問題を修正するのは不可能だった上に、Camino開発者でIMEに通じている方は居なかった(全員が海外の方なので)。Cocoa/Carbonを扱える日本人開発者に助力を乞う手段もわからなかった。

2.
問題の根源は、Geckoにおける入力テキストの制御やブラウザ内部のフォーカス管理が複雑で、並の力量では手が出せないことにある。
Caminoでは、油断するとIMEの状態とブラウザの入力欄の状態とに不整合が起こって、日本語が見かけ上入力不能になったり逆に変な文字列がガンガン入力されたりして、そうなった時はescキーを連打してIMEの入力をキャンセルして…なんてのがよくある。中野さんの多大なる努力によってFirefox3(Gecko 1.9)ではこれが大幅に改善されている。
OSが用意するテキストコントロールに置き換えるという要望も以前に出されたけど、メチャメチャ大変だしマルチプラットフォーム設計が崩れちゃうということで早々に却下された。
というわけで現在はIMEとのやりとりなど細かい部分まで記述している。この辺の事情はWebKitでも変わらないらしい。

3.
Mozillaの重鎮Josh Aasさんを中心に、今後はGeckoの64bit化が進められ、Carbonコードが削減されていくようだ。
Gecko 1.9.1 Mac OS X Plans « Boom Swagger Boom
Mac:NPAPI Event Models - MozillaWiki
によれば、Gecko1.9.1は
・NPAPIプラグインイベントモデルにより、プラグインやテキスト入力のイベントモデルをCocoa化する。
・複雑極まりないChildViewを再構築して、コードの理解や作業を容易にする。
・widgetのテスト環境を拡大する。フォーカス管理のテスト、より進んだキーハンドリングのテスト
とのこと。レンダリングエンジンのQuartz化が完了した今、イベントモデルが安定すれば鬼に金棒!
というわけで、積極的にテストに参加していこうと思っている。

comment

管理者にだけメッセージを送る

プロフィール

waverider

Author:waverider

ああ、沖縄に行きたい…

最近の記事
カテゴリー
最近のトラックバック
ブログ内検索
RSSフィード
リンク
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。