Re: ボックス内の\hfill前後での表示のずれ

名前: SHIMA
日時: 2006-01-09 00:37:30
IPアドレス: 203.125.97.*

>>40423 1 dot以内の誤差でずれるのは当たり前なので,理由を書いてみましょう. ドットは碁盤の目のようなもので,その各目を塗りつぶすかどうか,という 問題ですが,簡単のためあるdpiでフォントの縦棒の横幅が 3 dotsであって, 繋げる縦棒の横幅が 2.9dotsであったとしましょう. また,碁盤の目の中心位置は,座標が整数点としましょう. 横位置は誤差が0.3dot幅あったとしましょう(後者が右にずれていたとする). (たとえば,TrueType フォントは画像で得るので,両者間の 1 dot 以内の 誤差は自動的に生じる) 前者の縦棒の中心の x座標 が 3.1 のところに表示することになった場合 フォントの縦棒は 2, 3, 4 の位置の目を塗りつぶすでしょう. 繋げる縦棒の中心位置は 3.4 なので 2, 3, 4 を塗りつぶし,繋がります. 前者の縦棒の中心の x座標 が 3.3 のところに表示することになった場合 フォントの縦棒は 2, 3, 4 の位置の目を塗りつぶすでしょう. 繋げる縦棒の中心位置は 3.6 なので 3, 4, 5 を塗りつぶし,ずれます. 上記は,位置を四捨五入で丸めた処理を考えています. なお,フォントの縦棒の中心位置,というのは,使うフォントから得られる もので,一方繋げる縦棒の中心位置は,TeX のレベル(DVIファイル)で決 まるものなので,両者を完全に一致させることは不可能です(誤差の丸め方 は当然違っています). 勿論,使うフォントによっても異なります(TrueType であるとか,たとえ メタフォントから作成された同じ PK フォントでも,プリンタによってモー ドが異なれば,作成されるビットマップは異なります).

この書き込みへの返事:

お名前
題名 
メッセージ(タグは <a href="...">...</a> だけ使えます)