airheadの日記: !: 予備エントリ
(用途未定の予備エントリ)
(2007/02/07 記)ストーリー「消える長文」にあったコメント関連。この日記エントリを手元のWindows2000、Opera 9.10(アラビア語フォント指定は「自動選択 (Arial)」)で表示すると、コメントにあるような現象が再現されます。再現のためにアラビア文字を含む文を引用します。
太陽文字
アラビア語で、定冠詞の "أل" (al-) の /l/ の音が後の文字と同化して促音となる文字を言う。「太陽」を意味する شمس (shams, シャムス)の語頭の文字が含まれるため、太陽文字と呼ばれる。例えば、شمس に定冠詞がついた場合、اَلشَّمْسُ (al-shams, アッ=シャムス)となる。
コンテンツは他のブラウザと同様に、ドキュメント表示域いっぱいに表示されます。しかし水平スクロールバーが出ており、表示範囲がドキュメント全体の20%以下、その右端であることを示しています。左にスクロールさせても/.Jの背景色一色...と思いきや、最上段左端にh1要素になっているサイトトップへのリンクの文字部分「スラッシュドット ジャパン」があります。HTMLソースは次のようになっており、CSSがオンの場合にはおなじみの/.Jロゴ画像が表示され、文字は-5000pxの位置に(逆)インデントされています。
各ページのHTMLより、サイトトップへのリンクに関する記述
<div id="topnav">
<div id="logo">
<h1>
<a href="http://srad.jp/">スラッシュドット ジャパン </a>
</h1>
</div>
<div class="search">
(snip)
</div>
</div>
http://images.srad.jp/css/base.css
#topnav #logo h1 a {
display: block;
width: 100%;
height: 100%;
outline: none;
text-indent: -5000px;
text-decoration: none;
background: url(//images.srad.jp/logo.png) no-repeat left top;
}
原因は、/.JのCSSで使われているいずれかのスタイル指定(特定していません)、そしてアラビア文字の表示、この2つがそろったときに発現するOperaのバグではないかと思います。下記引用元のWikipediaのページでは発現しません。また、このエントリをCSSをオフにして表示させても発現しません。
これに続くコンテンツが左→右に書き進める文字のみであれば、件のテキストは左の描画域外に追い出されて結果的に描画省略の対象になるのですが、Operaはその省略を、右→左に書き進めるアラビア文字がコンテンツ内に存在する場合には行わない、ということでしょう。
Dumarestさんの元で発現しないというのは、「スレッド表示」などで全てのコメント本文が表示されない設定になっているか、「コメントの署名を表示しない」よう設定しているから、ではないでしょうか。同ストーリーにもコメントしているSS1さんの署名にはアラビア文字が入っています(例)。