名前: 北見 けん 日時: 2013-11-22 21:45:53 IPアドレス: 211.128.71.*
>>57265 METAFONTのソース(下に抜粋)を見てみたところ、確かにずれていました。 文字の大きさに合わせて、左右の余白の大きさも異なっているのですね。 見てみると、 cmsy10 の縦線のほうは文字幅が 5u# cmex10 の可変縦線のほうは文字幅が 6u#で、 線の位置は文字幅を w として .5w となっています。 ここで、u# はどちらも 20/36pt、線幅はどちらも 0.4pt の設定です。 したがって、縦線の位置のずれは 0.5(6u#)-0.5(5u#) = 0.5u# = 10/36pt = 0.2777...pt となります。 このずれは 600dpi で ((10/36)pt/72.27)*600 = 約2.3ピクセル となります。 線幅のほうは (0.4pt/72.27)*600 = 約3.3ピクセルです。 以下、ソースです。行末の日本語コメントは引用者によります ソースファイルはいずれも \texmf\fonts\source\public\cm にありました。 ### cmsy10.mf から読み込まれる symbol.mf iff known vertical: cmchar "Vertical line"; beginchar(vertical,5u#,body_height#,paren_depth#); %%% 文字幅を 5u# に設定 italcorr body_height#*slant+.5rule_thickness#-2u#; adjust_fit(0,0); pickup rule.nib; x1=x2=good.x .5w; top y1=h+eps; bot y2=-d-eps; %%% 縦線の左右位置を文字幅の半分に設定 draw z1--z2; % stem labels(1,2); endchar; ### cmex10 から読み込まれる bigdel.mf cmchar "Extensible vertical line---extension module"; beginchar(oct"014",6u#,0,dh#); %%% 文字幅を 6u# に設定 adjust_fit(0,0); pickup pencircle scaled(rule_thickness+.2dw); x1=x2=good.x .5w; y1=eps; y2=-d-eps; %%% 縦線の左右位置を文字幅の半分に設定 draw z1--z2; % stem labels(1,2); endchar; ### cmsy10, cmex10 共通 u#:=20/36pt#; % unit width rule_thickness#:=.4pt#; % thickness of lines in math symbols ### と、METAFONTのソースを紹介したら興味を引いてMETAFONT仲間が増えないかな ### と目論んで書き込んだのはナイショです。
この書き込みへの返事: