Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

[Firefox 1.0] A problem in printing list-style-image

2 views
Skip to first unread message

Masanori HATA

unread,
Jan 25, 2005, 12:46:22 AM1/25/05
to
畑です。

Firefox 1.0 (Win/ja) の印刷機能に関する問題です。
# fj.net.www.browsers, fj.net.www.authoring クロスポストです。

詳細なバージョン情報は次の通りです:
Mozilla/5.0 (Windows; U; Windows NT 5.0; ja-JP; rv:1.7.5) Gecko/20041108
Firefox/1.0

スタイルシート(CSS)で指定した ul 要素に対する list-style-image プロパ
ティによって指定した画像が、スクリーン解像度(ex. 96dpi)でのドットでは
なく、プリンタ解像度(ex. 600dpi)でのドットに従って出力されてしまい、非
常に縮小されたものになってしまいます。

当初は、印刷段階で list-style-image の指定が無視されたのかと思いました
が、仔細に見てみると、list-style-image で指定した画像が縮小印刷されてい
るのがわかり、このことが判明しました。

今のところ、その場凌ぎの方策として、list-style-image で使用する画像ファ
イルを、拡大したもの(ex. 5 倍程度)を使って、印刷段階での辻褄が合うよう
にしています。つまり、スクリーン上では、list-style-image が巨大化された
状態で表示されています。

list-style-image プロパティによって指定された画像のサイズというものは、
スクリーン解像度を基準として解釈されるべきなのでしょうか? それとも、
Firefox のように出力先のデバイス解像度に任せるべきなのでしょうか?

さらに確実にバグと思われる点が、Firefox の「印刷プレビュー」機能において
は、list-style-image がスクリーン表示と同じサイズで表示されています。つ
まり実際の印刷出力と矛盾した結果となっています。

# 印刷まわりの機能さえ強化されれば、Firefox はほとんど言うことなしに
# CSS 2.1 的に「使える」ブラウザになると思います。

Yasushi Shinjo

unread,
Jan 25, 2005, 7:30:44 PM1/25/05
to
新城@筑波大学情報です。こんにちは。

In article <ct4mfe$hf0$1...@caraway.media.kyoto-u.ac.jp>
Masanori HATA <ha...@iname.com> writes:
> 畑です。


> list-style-image プロパティによって指定された画像のサイズというものは、
> スクリーン解像度を基準として解釈されるべきなのでしょうか? それとも、
> Firefox のように出力先のデバイス解像度に任せるべきなのでしょうか?

私は、分かりません。筋としては、Firefox の挙動を支持したいの
ですが、現実的には困ることが多そうです。スクリーン解像度も、
96dpi は限らないだろうし、そもそもスクリーンという概念が存在
しないWWW ブラウザというのもあるかと思いました。たとえば、
pint しかないとか。

でも、この間、PukiWiki が出す HTML を見ていて、スタイルシー
トが2個付いているのに気が付きました。2つ書くと実際問題とし
ては、なんとかなりますよね。

<link rel="stylesheet" href="skin/default.ja.css" type="text/css" media="screen" charset="Shift_JIS" />
<link rel="stylesheet" href="skin/print.ja.css" type="text/css" media="print" charset="Shift_JIS" />

前から PukiWiki の画面を印刷すると、左側のメニューが出てこな
いなあとは思っていたのだけど、その時はスタイルシートが違うん
だろうなあとは思っていたけど、この間までソースを確認するまで
はしていませんでした。

CSS を書く時に、pixel 単位は何か違うだろうとは思いながら書い
ていたのですけれど。

スタイルシートの charset って、何なんでしょうね。

> # 印刷まわりの機能さえ強化されれば、Firefox はほとんど言うことなしに
> # CSS 2.1 的に「使える」ブラウザになると思います。

Mozilla だと、<A name="xxx"> のようなタグまでハイパーリンク
と解釈するんだけれど、Firefox ではどうですか。

\\ 新城 靖 (しんじょう やすし) \\
\\ 筑波大学 電子・情報       \\

Masanori HATA

unread,
Jan 26, 2005, 12:35:56 AM1/26/05
to
畑です。

新城@筑大情報さん wrote:
>>list-style-image プロパティによって指定された画像のサイズというものは、
>>スクリーン解像度を基準として解釈されるべきなのでしょうか? それとも、
>>Firefox のように出力先のデバイス解像度に任せるべきなのでしょうか?

> 私は、分かりません。筋としては、Firefox の挙動を支持したいの
> ですが、現実的には困ることが多そうです。スクリーン解像度も、
> 96dpi は限らないだろうし、そもそもスクリーンという概念が存在
> しないWWW ブラウザというのもあるかと思いました。たとえば、
> pint しかないとか。

恐らく、通常の img 要素であれば width, height 属性を絶対長(absolute
length)で指定(単位は in/cm/mm/pt/pc)すれば何とかなるのかもしれません。
cf. <http://www.w3.org/TR/CSS21/syndata.html#length-units>

ところが、CSS 2.1 では、list 要素の list-style-image でリストのバレット
となる画像を指定することはできても、その list-style-image で使う画像のさ
らにサイズ指定まではできませんよね? そのせいで、メディアタイプによるス
タイルの使い分けでも対処することができなくて困っています。

>># 印刷まわりの機能さえ強化されれば、Firefox はほとんど言うことなしに
>># CSS 2.1 的に「使える」ブラウザになると思います。

あと、さらに詳細はよくわからないのですが、list 関係でメディアタイプ指定
でスクリーン用に小さな list-style-type 画像、印刷用に大きな
list-style-type 画像を使い分けようとしたら、Firefox 1.0 ではリストのバ
レットが印刷されませんでした。この場合、印刷プレビュー表示からも欠落して
いました。

印刷まわりに関して、まだ、十分に機能強化がされ尽くされていない気がします。

> スタイルシートの charset って、何なんでしょうね。

これは、例えば font-family 指定で 'MS 明朝' のような指定を行う場合に関
係してくると思います。日本語が含まれているので、CSS ファイルが UTF-8 な
のか、Shift_JIS なのか EUC-JP なのか明示する必要があると思います。ただ
し、ブラウザによっては、指定しなくても、自動認識してくれる場合もあるのか
も知れません。

> Mozilla だと、<A name="xxx"> のようなタグまでハイパーリンク
> と解釈するんだけれど、Firefox ではどうですか。

同じです。僕も Firefox を使ってみて、気が付きました。
対策(?)としては、僕の場合、XHTML 1.1 を使っているのですが、a 要素を使
わずに、id 属性でアンカーを埋め込むようにしています。例えば、下のような
感じです:

旧)<h1><a name="Chapter-01">第一章</a></h1>
新)<h1 id="Chapter-01">第一章</h1>

--
Masanori HATA

Masanori HATA

unread,
Jan 29, 2005, 12:53:35 AM1/29/05
to
畑です。自己フォローです。

> Firefox 1.0 (Win/ja) の印刷機能に関する問題です。

> スタイルシート(CSS)で指定した ul 要素に対する list-style-image プロパ
> ティによって指定した画像が、スクリーン解像度(ex. 96dpi)でのドットでは
> なく、プリンタ解像度(ex. 600dpi)でのドットに従って出力されてしまい、非
> 常に縮小されたものになってしまいます。

> list-style-image プロパティによって指定された画像のサイズというものは、
> スクリーン解像度を基準として解釈されるべきなのでしょうか? それとも、
> Firefox のように出力先のデバイス解像度に任せるべきなのでしょうか?

fj.* の方ではこのまま待っていても、あまり反応が得られそうにない気がした
ので、Bugzilla というシステムがあるのを知り、そちらの方を当たってみました。

日本語の <http://bugzilla.mozilla.gr.jp/> ではなく、
本家 <https://bugzilla.mozilla.org/> で報告済みのバグでした。

Bug 133490: “resolution of printed list-style-image images is wrong”
<https://bugzilla.mozilla.org/show_bug.cgi?id=133490>

2002-03 頃から未対応のままみたいです。

コメントによると、CSS 1 の 6.1 Length units
<http://www.w3.org/TR/CSS1#length-units> で明記されているように、
> If the pixel density of the output device is very different from that
> of a typical computer display, the UA should rescale pixel values.
とあるので、list-style-image の画像をプリンタの解像度でそのまま出力する
のは CSS 1 的にバグだと言えます。

CSS 2.1 でも同じ問題について 4.3.2 Lengths
<http://www.w3.org/TR/CSS21/syndata.html#length-units> として図解入りで
より詳細に述べられています。

--
Masanori HATA

0 new messages