過去ログ表示


過去ログ 47 を表示

トピック内全 9 記事中の 1 〜 9 番目を表示
[ 最新記事及び返信フォームをトピックトップへ ]
このトピックの全ページ / [0]

自動折り返しの挙動
(#6847) このトピック中1番目の投稿
IEで作ったページMozilla及びNetscape対応をしているのですが、

<table cellpadding="2" cellspacing="2" border="1" style="text-align: left; width: 295px; height: 60px;">
  <tbody>
    <tr>
      <td>これで改行のチェックをおこないます<br>
      </td>
      <td>まきまやぽらてぱ30えrjhgせplhgs;ぇhげおいtrほtれhげはうrかうたはめいあさめたfdy5308943222222222222sfddgs2222222222222222222</td>
    </tr>
    <tr>
      <td><br>
      </td>
      <td><br>
      </td>
    </tr>
  </tbody>
</table>

このようなtableがあった場合、IEの場合は右端で折り返して全部で6行で表示してくれるのですが、
Mozilla1.5とNetscape7.1ではひらがなとアルファベットの間で改行がはいってしまい、それ以外には改行が入らずにTDの幅を広げてしまうのです。
これをIEと同じような表示にする方法は無いのでしょうか?
ご存じでしたらご教示願えませんでしょうか。
よろしくお願いします。

Re[1]: 自動折り返しの挙動
(#6849) このトピック中2番目の投稿

 Bug-jp 1476「例えばURLなどの大変長い英単語が、ブロック要素内で折り返さない。」という、Geckoの有名なバグです。この例では全角数字のワードラップの問題ですね。
 というわけで、Gecko系ブラウザでの表示の乱れは気にしない、若しくはGecko非推奨と謳う、という *解決法* をお奨めします。
http://bugzilla.mozilla.gr.jp/show_bug.cgi?id=1476

 HTMLの記述では基本的に回避不能だと思います。数字の間に適当に空白を入れればまぁ見れるようにはなりますが、文字サイズを変更するだけで破綻します。
# <wbr>タグを1文字おきに入れれば解決できます(笑


 ただ、バグではないという考え方も有り得ます。「fdy〜」を半角にするだけで、WinIE6でもGeckoと同様のレンダリングになります。「全角」と「半角」で挙動が違うのは可笑しい、という風に思えればなんですが。


 あとこれは多少蛇足ですが、heightプロパティは出来れば使用しないことをお勧めします。特にこの例では不要ですよね。



Re[2]: 自動折り返しの挙動
(#6851) このトピック中3番目の投稿

Mozilla の改行アルゴリズムは

> 改行のアルゴリズムは UTR 14 (改行) ではなく JIS X 4051 を元にしています。これは、CJK とタイ語以外は言語に依存していません。(Bug 206152、203016、164759)
http://jt.mozilla.gr.jp/releases/mozilla1.5/known-issues-int.html#intl_display

ということで JIS X 4051 という標準規格を元にしているらしいです。じゃあどんなルールなんだという話になるんですが...

この JIS X 4051 のルールを私は知りません。JIS 規格書はれっきとした値段のついた書籍なので、読むには買うか図書館に行くかしなければなりません。

Mozilla.org を "JIS X 4051" で検索すると次の文書とリリースノートだけがでます。
http://www.mozilla.org/docs/refList/i18n/addcharset.html
この文書を検索すると一緒に並んでいる「日本語情報処理」も私は読んだことがありません。
http://www.amazon.co.jp/exec/obidos/ASIN/4890527087/ref=sr_aps_b_1/250-5840829-1293007
http://www.amazon.co.jp/exec/obidos/ASIN/4873111080/qid=1067248205/sr=1-1/ref=sr_1_2_1/250-5840829-1293007

将来に向けてはルールを変えようという話もあります。
http://groups.google.com/groups?as_umsgid=20030917230123.GA4593%40darby.dbaron.org
UTR 14 (改行) をベースにしたいということです。これは英文ですががんばれば読めます。私はこれも読んだことがありません。
http://www.unicode.org/reports/tr14/tr14-13.html
これは未来の話です。今の Mozilla/Netscape がこれで動いているわけではありません。

これだけ書籍・規格書を積み上げても、問題が解決しないのが悲しいです。まさにトリビアです。


Re[3]: 自動折り返しの挙動
(#6860) このトピック中4番目の投稿

どうにもならないのですか。
HTMLで帳票作っていたのでこれはかなりイタイですね.......
客になんて言おう。(´Д`;)


Re[1]: 自動折り返しの挙動
(#6862) このトピック中5番目の投稿

Mozilla 1.4.1, Opera 7.21, Internet Explorer 6 SP1 の三つで
試してみたら、三つとも改行の仕方が違うんですね。
同じ HTMLファイルで、これだけ違う表示になるとは、
ほんとにビックリしました。

自分でもサイトを運営しているので参考になりました。
こちらのページには、デザイン的にシビアなものはないので、
それほど深刻には受け止めてはいませんが、
ブラウザにより見え方が大きく変わる場合があるということが、
この実例でよく分かりました。
ページを作るときには注意したいと思います。

Re[4]: 自動折り返しの挙動
(#6867) このトピック中6番目の投稿
> どうにもならないのですか。
> HTMLで帳票作っていたのでこれはかなりイタイですね.......
> 客になんて言おう。(´Д`;)
 
禁則処理を除けば、日本語は一文字で欧文で言うところのwordに相当しますから、
基本的には、日本語一文字で折り返しの対象になります。そこで問題になるのは、
全角の英数字が、日本語かどうかです。ユニコード規格から見ると、
(日本語文字コードには入っていますが)基本日本文字集合に入っていません。
全角の英数字は、従来の互換性だけのために使用して、今後は使用しない
(JIS X 0221)とあり、別ブロックに配置されています。

mozillaの場合、全角の英数字は半角の英数字と同様の扱いとなります。
折り返すためには、HTMLの"white space characters"に、
    * Zero-width space (&#x200B;)
がありますから、全角の英数字一文字ごとに&#x200B;を入れていく方法があります。

全角の英数字を通常の日本語と同等に扱うべきかどうかは、日本でも意見の分かれ
るところではないでしょうか。

Re[5]: 自動折り返しの挙動
(#6868) このトピック中7番目の投稿

> 全角の英数字が、日本語かどうかです。ユニコード規格から見ると、
> (日本語文字コードには入っていますが)基本日本文字集合に入っていません。
なるほど。そういうことなのですね。

> mozillaの場合、全角の英数字は半角の英数字と同様の扱いとなります。
> 折り返すためには、HTMLの"white space characters"に、
> * Zero-width space (&#x200B;)
> がありますから、全角の英数字一文字ごとに&#x200B;を入れていく方法があります。
今試してみました。
全角文字1文字毎に&#x200B;を入れて表示してみたらかなり近いイメージになりました。
どうしてもという場合はこれを以って対処するしかなさそうですね。
でも回避方法があって助かりました。ありがとうございます。

でもHTMLで帳票ってやっぱり良くないですね。
簡単に作れますけど...

済!
Re[3]: 自動折り返しの挙動
(#7028) このトピック中8番目の投稿

> ということで JIS X 4051 という標準規格を元にしているらしいです。じゃあどんなルールなんだという話になるんですが...
>
> この JIS X 4051 のルールを私は知りません。JIS 規格書はれっきとした値段のついた書籍なので、読むには買うか図書館に行くかしなければなりません。

じゃ もうひとつトリビア
http://www.jisc.go.jp/
から JISを検索できます。 おためしあれ。

Re[4]: 自動折り返しの挙動
(#7031) このトピック中9番目の投稿

> じゃ もうひとつトリビア
> http://www.jisc.go.jp/
> から JISを検索できます。 おためしあれ。

知識の足りぬところを補ってくださり、ありがとうございます。

早速 JIS X4051 を読みました。

アルゴリズムの詳しいところは理解できていませんが、横書きでは全角アルファベットが欧文として扱われることは分かりました。



このトピックの全ページ / [0]

返信不可


- Child Tree -