METAFONT 単位 新しいページはコチラ
提供: yonewiki
(→概要) |
|||
1行: | 1行: | ||
+ | [[フォント METAFONT#METAFONTプログラミング]]へ戻る。 | ||
+ | |||
== '''概要''' == | == '''概要''' == | ||
METAFONTに限らず、フォント制作に必要となる単位についてとりあげます。通常の距離には国際単位系のmに係数をつけてum、mm、cm、kmのようなものを使いますが、これに加えて、文字デザインや活版印刷、コンピュータを使った印刷業界で使われるような単位がありまして、METAFONTプログラムでも、ちょっとかわった単位について理解する必要があります。プログラムでGUI(グラフィカルユーザインターフェース)のあるものを作ったりしたことがある人には聞いたことがあるような単位も含まれます。あるいはWebデザインで画面をデザインしたことがある人も聞いたことがあるような単位でもあるかもしれません。Webの画面デザインを指定するCSS(カスケードスタイルシート)とかでも使われる単位だったりします。 | METAFONTに限らず、フォント制作に必要となる単位についてとりあげます。通常の距離には国際単位系のmに係数をつけてum、mm、cm、kmのようなものを使いますが、これに加えて、文字デザインや活版印刷、コンピュータを使った印刷業界で使われるような単位がありまして、METAFONTプログラムでも、ちょっとかわった単位について理解する必要があります。プログラムでGUI(グラフィカルユーザインターフェース)のあるものを作ったりしたことがある人には聞いたことがあるような単位も含まれます。あるいはWebデザインで画面をデザインしたことがある人も聞いたことがあるような単位でもあるかもしれません。Webの画面デザインを指定するCSS(カスケードスタイルシート)とかでも使われる単位だったりします。 | ||
17行: | 19行: | ||
::1インチあたり96dot(ピクセル) 絶対的な距離ではありませんでした。PC上の96ドットが実際の空間や印刷後の1インチを表すという意味です。 | ::1インチあたり96dot(ピクセル) 絶対的な距離ではありませんでした。PC上の96ドットが実際の空間や印刷後の1インチを表すという意味です。 | ||
:: | :: | ||
− | ::最近は高DPIという概念があって、96とか、それ以上のDPIの画面設定のものもあります。DPIではドットの大きさは決まらないため、厳密にはPixel Per | + | ::最近は高DPIという概念があって、96とか、それ以上のDPIの画面設定のものもあります。DPIではドットの大きさは決まらないため、厳密にはPixel Per Inchという単位が画面の解像度を現します。PPIも画面のピクセルとインチを現すためのものではなく出力する機器との関係の値であり、何に出力するのかという基準によって変化する値です。PPIとDPIは同じような意味として扱われる場合もありますので、そのときそのときの話の定義や構造の定義や世界観の定義によって変わることもあります。ちなみに印刷機や印刷業界では350DPI以上でないと美しく印字されないとされています。高いDPIの画像情報の方が自然界の風景をよりたくさんの情報で記憶しているため、解像度の高いディスプレイや紙に印字できたとしたら美しく表示されます。また、低いDPIの表示装置に対しても数学的アプローチによって、より美しく表示させることが可能になります。 |
:: | :: | ||
− | ::横方向がPPIで縦方向はLine Per | + | ::横方向がPPIで縦方向はLine Per Inchという単位によって表現されます。いずれにしても1インチをどれくらいのdotで表現するかという意味であり、画面上においてDPIはかならずしも96DPIだからといって96ドットが1インチではなく、そのデバイスで作業した結果を出力するときに96DPIとして扱ってくださいと伝えることで、結果的に1インチの大きさになるという感じが多いです。PPIはpixels_per_inchという変数で予約されている値になっています。 |
27行: | 29行: | ||
::METAFONTでは1倍という単位サイズ(200[dpi])に'''1[pt]=2.7674で1mm=7.87402'''という値が定義される仕組みになっています。 | ::METAFONTでは1倍という単位サイズ(200[dpi])に'''1[pt]=2.7674で1mm=7.87402'''という値が定義される仕組みになっています。 | ||
:: | :: | ||
− | ::たとえば、\mode=proof;mag=1;なら解像度は2601.72[dpi]で1[pt]は36[dot]になります。36[dot]*72.27[pt]=2601.72という値になりますから、72.27[pt]は1[in]ですから、1[inch]は2601.72[dot]ということで、解像度によって1[pt]あたりの数値が決定されます。このとき1[mm]は102.42995[dot]で表現されます。こういう体系において、1[em] | + | ::たとえば、\mode=proof;mag=1;なら解像度は2601.72[dpi]で1[pt]は36[dot]になります。36[dot]*72.27[pt]=2601.72という値になりますから、72.27[pt]は1[in]ですから、1[inch]は2601.72[dot]ということで、解像度によって1[pt]あたりの数値が決定されます。このとき1[mm]は102.42995[dot]で表現されます。こういう体系において、1[em]を何ptにするのかということは、プログラマやフォントデザイナーが決定するべきことです。例えば1[em]を10[pt]とすると、このとき決定した1[em](字面の横幅)値によって、そのフォントは10[pt]のフォントということになります。よくフォントファミリーにもゴシック10ptとか9ptとかが作られますが、まさにこの1[em]を何ptとして作ったフォントタイプであるのかということを示します。 |
fontsize 10pt#; | fontsize 10pt#; | ||
58行: | 60行: | ||
:\mode=proofではblacker=0です。 | :\mode=proofではblacker=0です。 | ||
:\mode=localfontではblacker=0.25です。 | :\mode=localfontではblacker=0.25です。 | ||
+ | |||
+ | |||
+ | == '''モード毎の定義値''' == | ||
+ | あらかじめ用意されている\modeの値に対して準備されている初期値が異なります。今はpixels_per_inchだけしか説明していませんので、その値が異なるということだけでも理解しておけば良いでしょう。 | ||
+ | |||
+ | |||
+ | *\mode=localfont | ||
+ | ::pixels_per_inch=600 | ||
+ | ::blacker=0.25 | ||
+ | ::% 線の太さ補正値 | ||
+ | |||
+ | ::o_correction=1 | ||
+ | ::% フォント幅に対してのはみ出し補正値 | ||
+ | |||
+ | ::fontmaking=1 | ||
+ | ::% フォントを作るか? | ||
+ | ::% 0=作らない、1=作る。 | ||
+ | |||
+ | ::fillin=0 | ||
+ | ::% 隅の黒ずみ補正値 | ||
+ | |||
+ | ::proofing=0 | ||
+ | ::% ゲラ刷り(頂点ポイント表示)するか?しないか? | ||
+ | ::% 0=しない、1=する。 | ||
+ | |||
+ | ::tracingtitles=0 | ||
+ | ::% 画面にタイトル表示するか?長時間処理の場合に進捗状況を知るのに役に立つ。 | ||
+ | ::% 0=しない、1=する。 | ||
+ | |||
+ | |||
+ | *\mode=proof(省略値) | ||
+ | ::pixels_per_inch=2601.72 | ||
+ | ::blacker=0 | ||
+ | ::o_correction=1 | ||
+ | ::fontmaking=0 | ||
+ | ::fillin=0 | ||
+ | ::proofing=2 | ||
+ | ::tracingtitles=1 | ||
+ | |||
+ | |||
+ | *\mode=smoke | ||
+ | ::pixels_per_inch=2601.72 | ||
+ | ::blacker=0 | ||
+ | ::o_correction=1 | ||
+ | ::fontmaking=0 | ||
+ | ::fillin=0 | ||
+ | ::proofing=1 | ||
+ | ::tracingtitles=1 | ||
+ | |||
+ | |||
+ | [[フォント METAFONT#METAFONTプログラミング]]へ戻る。 |