アカウント名:
パスワード:
日本は年賀状の文化があったので昭和の時代には理想科学のプリントゴッコが普及しその後はインクジェットプリンターで年賀ハガキを印刷するのが10年前くらいまであったのですがここ最近はスマホの普及もあって あ・け・お・めで終わってるので年賀状を印刷しなくなった。当然プリンタも減ってくるわけですね。
ここ最近はテレワークでプリンターの需要も増えているのですが半導体不足もあって生産数が減っている状況に、需要が増えたので2ヶ月待ち3ヶ月待ちの状態品薄になっている製品が結構あります。今年国内メーカーのプリンターが入手しようにも買えなかったってのは結構ありました。HPが増えた
これってWindowsの問題だった?Excelの問題だと思っていたけど、Wordはそんなことないですよね?もともとExcelは文書整形用としての用途を想定されていなかったのと、昔のPCの処理速度が不足していたのでそうなっていると聞いていたように思いますが。
原因は、GDIが整数で座標を管理してることで、プリンタと画面の解像度で生じてる誤差の問題ExcelだとかWordだとかに限らず、GDI使って印刷にDDI使ってるアプリは、印刷したら位置がずる。Windowsで開発やってれば常識レベルというか、最低限知ってないとヤバイというレベルの基本だが、最近はDDIで印刷しなくても良くなって、こういうレベルの話を知らなくてもやってけるようになってきたのか。
具体的な例として600dpiのプリンタで、1文字の幅を28ドットで印刷しようとする。この場合、画面(96dpi)のプレビューでは、1文字あたり4ドット(600/96 = 28/4.48で少数は切り捨て)10文字印刷すると プリンタで280(28*10)ドット分右に移動。画面のプレビューでは40(4*10)ドット分右に移動。600/96 = 280/44.8 なので、この時点で1文字分の誤差がでる。プレビューと印刷で、誤差が出るのはこのため。
最近、SVGファイルの表示/印刷で似たような問題にでくわしました。SVG中の文字列を入れた場合、Chrome/Edge/Firefoxでは、表示と印刷で文字列幅がずれる。それどころか、画面表示での表示倍率(ズーム)変更でも文字列幅が変わる。でも、IEだけは大丈夫。ズームしても印刷しても文字列幅は一定。
この問題の対策はないのか調べたら「SVGに文字列入れるのはやめとけ。文字単位でレイアウトしろ」と。すでに文字列で入れちゃったSVGはどうしようもなさそう。IEだけは大丈夫なのは、たぶん内部的に自前で文字単位でレイアウトしてから表示/印刷してるんでしょう。
同じことをExcelの印刷でもやればいいだけだし、WYSIWYG指向ののソフトならそれをしない方が手抜きって言われるだけなんだろうけど、昔っから文句をつけられても直す気配がないってことは、MicrosoftにとってExcelはそういうソフトじゃないって扱いなんだと思う。
WYSIWYGを実現するとなると、基本は印刷物優先ですから、画面表示がガタつくんですよ。Windows機のディスプレイは未だに解像度低め(96DPI~120DPI)が主流なので、ピクセル誤差が目に見える。1-2文字目と2-3文字目のピッチが違う、みたいなことが出てくるんです。罫線なんかも、印刷優先だと画面上の描画に違和感が出ること多々あり。(細線と太線が同じ太さになる、とか。低解像度では区別のために誇張を行うことがしばしばある)でも、印刷主体の描画は、そもそも印刷する意図がないユーザーにとっては余計なお世話ですよね。
画面が高解像度主流になって、かつ座標系が整数でないAPIが使われるようになれば、自然と解消されるはず。……と10年ぐらい前から思っているんですけど、なかなか解消されませんねー。
未だにWindowsのPCだけ解像度が低い、これ不満というよりもはや不快ですね。今どき15000円のスマホだってフルHD以上だというのに、今年発売の製品にも1366*768のモデルが多くあるという。しかも東芝のようなメーカーが16万円もするPCに1366*768ですよ。まったくどうにかしている。
より多くのコメントがこの議論にあるかもしれませんが、JavaScriptが有効ではない環境を使用している場合、クラシックなコメントシステム(D1)に設定を変更する必要があります。
日本発のオープンソースソフトウェアは42件 -- ある官僚
あけおめが悪い。 (スコア:0)
日本は年賀状の文化があったので
昭和の時代には理想科学のプリントゴッコが普及し
その後はインクジェットプリンターで年賀ハガキを印刷するのが10年前くらいまであったのですが
ここ最近はスマホの普及もあって
あ・け・お・め
で終わってるので年賀状を印刷しなくなった。
当然プリンタも減ってくるわけですね。
ここ最近はテレワークでプリンターの需要も増えているのですが
半導体不足もあって生産数が減っている状況に、需要が増えたので
2ヶ月待ち3ヶ月待ちの状態品薄になっている製品が結構あります。
今年国内メーカーのプリンターが入手しようにも買えなかったってのは結構ありました。
HPが増えた
Re: (スコア:0)
これってWindowsの問題だった?
Excelの問題だと思っていたけど、Wordはそんなことないですよね?
もともとExcelは文書整形用としての用途を想定されていなかったのと、昔のPCの処理速度が不足していたのでそうなっていると聞いていたように思いますが。
Re: (スコア:1)
原因は、GDIが整数で座標を管理してることで、プリンタと画面の解像度で生じてる誤差の問題
ExcelだとかWordだとかに限らず、GDI使って印刷にDDI使ってるアプリは、印刷したら位置がずる。
Windowsで開発やってれば常識レベルというか、最低限知ってないとヤバイというレベルの基本だが、最近はDDIで印刷しなくても良くなって、こういうレベルの話を知らなくてもやってけるようになってきたのか。
具体的な例として
600dpiのプリンタで、1文字の幅を28ドットで印刷しようとする。
この場合、画面(96dpi)のプレビューでは、1文字あたり4ドット(600/96 = 28/4.48で少数は切り捨て)
10文字印刷すると プリンタで280(28*10)ドット分右に移動。画面のプレビューでは40(4*10)ドット分右に移動。
600/96 = 280/44.8 なので、この時点で1文字分の誤差がでる。
プレビューと印刷で、誤差が出るのはこのため。
Re:あけおめが悪い。 (スコア:1)
最近、SVGファイルの表示/印刷で似たような問題にでくわしました。
SVG中の文字列を入れた場合、Chrome/Edge/Firefoxでは、表示と印刷で文字列幅がずれる。
それどころか、画面表示での表示倍率(ズーム)変更でも文字列幅が変わる。
でも、IEだけは大丈夫。ズームしても印刷しても文字列幅は一定。
この問題の対策はないのか調べたら「SVGに文字列入れるのはやめとけ。文字単位でレイアウトしろ」と。すでに文字列で入れちゃったSVGはどうしようもなさそう。
IEだけは大丈夫なのは、たぶん内部的に自前で文字単位でレイアウトしてから表示/印刷してるんでしょう。
同じことをExcelの印刷でもやればいいだけだし、WYSIWYG指向ののソフトならそれをしない方が手抜きって言われるだけなんだろうけど、
昔っから文句をつけられても直す気配がないってことは、MicrosoftにとってExcelはそういうソフトじゃないって扱いなんだと思う。
Re: (スコア:0)
WYSIWYGを実現するとなると、基本は印刷物優先ですから、画面表示がガタつくんですよ。
Windows機のディスプレイは未だに解像度低め(96DPI~120DPI)が主流なので、ピクセル誤差が目に見える。
1-2文字目と2-3文字目のピッチが違う、みたいなことが出てくるんです。
罫線なんかも、印刷優先だと画面上の描画に違和感が出ること多々あり。
(細線と太線が同じ太さになる、とか。低解像度では区別のために誇張を行うことがしばしばある)
でも、印刷主体の描画は、そもそも印刷する意図がないユーザーにとっては余計なお世話ですよね。
画面が高解像度主流になって、かつ座標系が整数でないAPIが使われるようになれば、自然と解消されるはず。
……と10年ぐらい前から思っているんですけど、なかなか解消されませんねー。
Re: (スコア:0)
未だにWindowsのPCだけ解像度が低い、これ不満というよりもはや不快ですね。
今どき15000円のスマホだってフルHD以上だというのに、今年発売の製品にも1366*768のモデルが多くあるという。
しかも東芝のようなメーカーが16万円もするPCに1366*768ですよ。まったくどうにかしている。