2012-05-30

word-break: break-all が Firefox 15でも使えるわけだが

word-breakプロパティがFirefox 15で実装された (というか、コード書いたの自分だし、放置したのも自分) んだけど、ちょっと別件でテストケースを書いてて、面白いことに気付いた。

元々のテストケースは、http://mxr.mozilla.org/mozilla-central/source/layout/reftests/text/wordbreak-4a.htmlなんだけど、WebKit (テストしたのは、WebKit Nightly r117392 と Chrome canary 21.0.1155.2) だと、ハングル語が分割されて表示される。

意味が分からないと思うから、まずはInternet Explorer 9。


WebKit Nightly。


まぁ、break-allなんて使うなってことですよ。ハングル語とか結合文字列を使う場合にはね。。。ってか、これでいいのかハングル語圏ユーザー。

2012-05-16

本当にWindows RTにブラウザをインストールできないのか?

これはちょい細かく説明すると、

  • Desktop onlyとMSDNに書かれているものは、WinRTアプリで使っちゃダメよと言ってるが、メトロアプリでも使おうと思えば使える。実際メトロなFirefoxの試作版ではDesktop onlyと書かれたAPIも使ってるけど、xamlのラッパー経由で画面描画してるから、メトロとしてアプリが動く
  • Windows RTは、WinRT APIにアクセス可能。Windowsなんだから、内部的にはWin32 APIもアクセス可能(すべてではないとは思うけど)
  • IEのメトロ版は、Win32 APIを普通に使ってる。Desktop onlyってAPIもね
  • OfficeのWindows RT(arm)版はただのデスクトップアプリ。ということは、普通にWin32 APIもWindows RT上でもアクセス可能
  • Windows RTは、アプリケーションのインストールは "Windows Store" 経由。ということは、Windows Storeに掲載可能なスタイルのアプリケーションでなければいけない
  • Windows Storeは、メトロスタイルのアプリのみ掲載可能。審査付き。
  • VirtualAlloc系APIがメトロスタイルからは利用不可 (動的にロードすればこのAPI使うことができるけど、これを使うと審査に落ちる) なので、JITを動かすことはまず不可能。

なので、すべてメトロ(WinRT)で書き直せばブラウザ自体を掲載することはできるかもしれないけど、実質それだと無理じゃね?って話。Opera Miniのようなものだとおそらく簡単に持ってこれると思うけどね。(Operaさんはもうやってるんじゃないかな?たぶん。知らないけど)

そもそもだな、Windows RTはメトロアプリしか受け付けないといいながら、MFCのディレクトリにちゃっかりARMのライブラリが入ってて、しかもSDKに含まれいないライブラリ(wsock32.libとか)をリンクしている時点で、Microsoftシネな感じだけどね。