Bug-org 197474 が修正されていることに気づいていなかったため、パッチの作成が遅れたが、今日ようやくパッチを提出した。 Windowsユーザはテストビルドを用意しているので、副作用が無いかテストしてみて欲しい。
とりあえず紹介だけ。
外部メーラを利用する設定にしているとmailtoプロトコルが動作しなかった問題。 既に修正されている。
href = "hoge.html"
というソースコードがソースビューアでは、
href =" hoge.html"と表示されていた問題。
既に修正されている。
あるHTML文書等から、異なるフレーム定義ファイルへ戻った際に、フレーム内のHTML文書のスクロール位置が復元されていなかった問題。
いつのまにやら再現しなくなっていたので、worksformeとして処理された。
今までのMozilla(1.7含む)では利用言語が日本語の設定になっている場合に、 0x5Cを常にU+A5(Yen Sign)に変換してから表示していたという問題が修正された。
これは元々Bug-org 4238において、 あらゆる環境、つまりフォントのグリフに依存せずに0x5Cを円記号として表示するためにとられた対応だった。 しかし、この挙動は同時にU+5C(backslash)を表示できないという問題を抱えていた。 また、これはISO 10646(Unicode)を処理基準とするHTML仕様にとっては完全に違法な手法でもあった。
今回の修正でこの違法な処理は通常のユーザからは取り除かれた。
つまり、0x5Cは言語設定、HTMLファイルの文字コード設定に依存せず、常にU+5C(backslash)として表示されるようになった。
ただし、多くの日本語フォントではU+5Cには円記号のグリフが用意されているため、
実際には円記号として表示されることが多いだろう。
しかし、海外の日本語ユーザや、OSによってはU+5Cをbackslashとして表示するフォントしか無い場合があるかもしれない。
そのような環境では、古い考え方の日本語サイトでは不都合が多い可能性がある(そうでなければもともとこのような処理は必要無い)。
そこで、Jungshik Shinに頼み、設定で従来の動作も復活させられるようにしてもらった。
設定はlayout.enable_japanese_specific_transform
によって変更できる。
この値はデフォルトでfalseとなっており、変換処理が無効化されているので、
従来の動作に戻したい場合はこれをtrueに変更すればよい。
ただし、従来は利用言語が日本語であった場合という条件(実際にはもっと複雑)だったが、 その条件も今回変更してもらい、Shift_JIS、EUC-JP、ISO-2022-JPの場合にのみ読替処理を行うようになっている。 一番の問題だったUTF-*ではこの処理は絶対に発生しないことに注意して欲しい。
なお、念のために書いておくが、HTMLはISO 10646に基づいて処理されるものである。
Shift_JISやEUC-JP、ISO-2022-JPといったエンコーディングはもちろん利用できるが、これは伝送時の話であり、
ブラウザの内部処理はあくまでISO 10646である。
ISO 10646ではU+5Cはbackslashであってyen signではない。
ISO 10646においてyen signとはU+A5なのである。
つまり、Shift_JISやEUC-JP、ISO-2022-JPのHTML文書において、円記号として表示したい文字を入力する場合、
例えば、¥1,980といった場合、¥
を利用し、
¥1,980
と記述するのが正しい作法である。
UTF-*の文書においてもU+A5を直接入力するか¥
と記述しなければならない。
106キーボードで円記号の書かれたキーを押し、それで円記号を表記したと思うのは間違いなのである。
これらのYen sign problemに関しては後日、私の見解をまとめた文書をWebStudio内に用意するつもりである。
:hover状態はマウス移動時にのみ変更されるという問題。 ようやく二度目の修正となった。
このバグの修正でホイールでスクロールした場合にもカーソルの形がその下にある要素の影響を受けるようになった。 今までの動作に慣れているので若干違和感があるが、やはりこの方が自然である。
なお、二度目と書いたが一度目はFirefox 0.8のリリース直前にチェックインされて、 Firefox 0.8がリリースされた後にバックアウトされている。 Firefox 0.8が不安定だと不評だったが、それはこのバグの修正が原因だった。
当時、開発のメインであるMozilla(suite)はリリースが間近ではなかったため、 Geckoへのチェックインはさほど厳しい状況ではなかった。 また、Firefoxも現在のようにbranchが無かったのでMozillaのGeckoを利用するしかなかった。 Geckoの開発サイクルはMozillaにあわせているが、Firefoxのリリースは独自のタイミングでリリースしているからだ。 これがFirefoxがテクノロジープレビューだった理由の一つだろう。 FirefoxはあくまでMozillaをベースとした新しいブラウザでしか無い。 早くXPFEを捨てて、Firefoxが主役になってほしいものである。