airheadの日記: memo: Firefoxのロングワードを折り返さない問題、ほとんど解決済み? 6
(12/09 18:00 追記)去年、正にこの問題をやっていたが、Fx1.0リリースと同時期に一旦停滞。今年も7~9月に少し動きがあったが...今はどうなってるか判らない。
Bug 255990 - Characters below U+0100 are not subject to line-breaking rules at all
先ごろ当方でもFirefoxのバージョンを1.5にしたのだが、ロングワードを折り返さない問題が残っているようだ。その一方で、特定文字の前後を折り返し候補とする動作は実装済みで、特定条件下ではあるが動作するのを、Windows上のFirefox 1.0.7および1.5で確認した。
「空白などで区切らずに、続けて日本語の文字を書く」と、その前の部分に含まれる「 ! 」「 $ 」「 % 」などの記号の前後で折り返されるようになる。それら記号の位置が日本語文字の後だった場合には折り返しの候補とならない。いくつかの仮名や漢字でしか試していないが、日本語同様ほとんどの文字単位で折り返しを許す言語の文字であれば、同様に動作するものと思う。
空白文字またぐとそこで折り返しの効果が消えてしまう。タグをまたいだ場合もそこで折り返しの効果が消えてしまう(下記テストページ参照)。
ロングワード:空白で単語を区切る言語圏の文字で構成され、空白を含まない長い文字列。URL直書きなど。通りが良さそうなので、以後「ロングワード(問題)」と書くことにする。
FirefoxなどMozilla系ブラウザでは、前後で折り返しても支障のないハイフンなどの文字を含んでいても折り返されず、ウィンドウ幅によってはドキュメント全体の横幅を広げてしまい、非常に読みづらくなるという問題がある(あった)。
- 以前の日記エントリ
- IEの折り返し
- Mozilla系で折り返すために書いたbookmarklet
えーと (スコア:1)
大変興味深いのですが,テストページへのリンクが全て「テストページ1」へのリンクになっています。まあ URL 直打ちしてしまえば見られるんで,大した実害はない,と言えばないんですが。
Re:えーと (スコア:1)
ありがとうございます。リンクを直しておきました。
試してみてお気づきの点をお教えいただけると助かります。「まったく同じ」「ウチでは前から折り返してたよ」でも結構ですので、何かあればお願いします。
Re:えーと (スコア:1)
Mac OS X 10.4.3 上の Firefox 1.5 で確認してみました。
airehead さんが報告されているのと全く同じ動作ですね。airhead さんの日記を読んで初めて気が付いたので,以前どのように動作していたのかは分かりません。
あと,テストページ1で気が付いたのですが,折り返し時の動作で,
となっているようです。あと,「¥/\」を含む行の場合,私の環境では折り返された部分より前では「¥」,後では「\」と表示されます。折り返しが起こらない場合には全て「\」と表示されるのですが。
# このコメントでは,「¥/\」は念のため全角にしてあります。
Re:えーと (スコア:1)
ありがとうございます。とても参考になりました。
文字の前後どちらで折り返すかについてはWindows版(Win2k)でも同様で、禁則を考慮したものではないかと思います。「 ( 」はその直前、つまり括弧の外側で折り返しを許し、直後については隣接するのが日本語文字であっても折り返さない。「 ! 」「 ; 」などは句読点一種として、直前の折り返しを抑制する。
この抑制に関してはIEやOperaでもほとんど同じ動作でした。もう一つのテストページ [wikiroom.com](キータイプを横幅0の箱に放り込んで、できるかぎり折り返させるjavascript)でいろいろ試せると思います。
「¥」or「\」の揺れはこちらでは確認できませんでした。フォント絡みでは桁をそろえるために等幅にしたぐらいで、特に変わったことはしてないと思うんですが...何なんでしょう。
あれ? (スコア:0)
Firefox1.5 XPHome SP2です。
Re:あれ? (スコア:1)
ごめんなさい。お示しいただいたのはウチでも折り返しません。Firefoxのユーザー側に具体的な対策がある、という話ではないんです。
実はFirefoxはすでに折り返しの仕組みを持っているけど、その仕組みを発動させる部分にバグがあって、活かせてないだけじゃないか、これを調べるとFirefoxの開発者がバグを直す助けになるんじゃないか、と情報を募っているんです(気が向いてテストページを適当に試してみて気づいたことがあれば、報告をお願いします)。
どうしても今すぐということであれば、(私はまだ試してなくて、それを勧めるのもなんですが)拡張の url_breaker [asukaze.net] や url_breaker+ [zechs-web.net] をお試しになるとよいと思います。