METAFONT から pk font の作り方

METAFONT とは、tex で使う font で cmbx12.mf のように mf というのがおしり についています。

pk fornt とは、xdvi, や 印刷に使うために解像度ごとに用意する font です。cmbx12.288pkのような file 名です。

LaTeX を操作していて、pk font が ないというメッセージがでた 場合には、非常に多くの場合には、環境変数 XDVIFONTS (xdvi), DVIFONTS (texout),等が正しく設定されていない場合が多いです。 同じ環境を使っている人が、うまくできて自分がうまくいかない場 合には、環境変数 (.cshrc にある場合が多い) を見ましょう。

もし XDVIFONTS のなかに本当に自分の欲しい解像度の pk font が 無い場合があります。その場合には、ftp site から pk font package を まるごと copy することができます。が 容量もかなりありますので、 自分でつくってしまうのもなかなか良い方法です。

以下の方法は standard な方法ではありませんが、特定の pk font を作る場合にはとても便利です。お試し下さい。


例: cmbx12.288pk の作り方

例えば、cmbx12.288pk を作ってみましょう。

  1. 作業領域に cmbx12.mf がある directory 全てを copy します。 例えば /usr/local/lib/texmf/fonts/public/cm/src などにあります。
  2. drivers.mf を copy します。ソースは下におきます。
    % drivers.mf
    
    %
    % for normal proof on canon
    %
    mode_def proofshot =
    proofing:=2;
    %proofing:=0;
    fontmaking:=0;
    tracingtitles:=1;
    pixels_per_inch := 288;
    blacker:=0.2;
    fillin:=0.2;
    o_correction:=0.4;
    enddef;
    

  3. cmbx12.mf の先頭部分に 2 行 いれます。
    
    % Computer Modern Bold Extended Roman 12 point
    if unknown cmbase: input cmbase fi
    
    input drivers;     <=== これを入れる。
    mode:=proofshot;   <=== これを入れる。
    
    
    <=== より右はいれてはいけません。念のため。
  4. drivers.mf を 編集し、
    %
    % for normal proof on canon
    %
    mode_def proofshot =
    proofing:=2;
    %proofing:=0;
    fontmaking:=0;
    tracingtitles:=1;
    pixels_per_inch := 288;  <== ここを希望の解像度にします。
    blacker:=0.2;
    fillin:=0.2;
    o_correction:=0.4;
    enddef;
    
    
  5. mf を実行します。mf command がないとだめです。(教育系に はありません。必要ならいれますので、news で言って下さい。) /usr/local/bin/Tex-NTT/mfなどにあります。

    % mf ueclogo

    cmbx12.288gf ができます。(画面に A, B, C, ... の文字が見えます。)

  6. gftopk で pk font を作ります。 "./" が必要です。

    % gftopk ./cmbx12.288gf

    cmbx12.288pk ができます。環境変数のある空間に移動すれば終了です。


ueclogo の作り方

電通大の logo mark を LaTeX の中で使えます。各種 pk font や、 mf は ここ にあります。pk font と tfm font を自分の dirctory に copy し、TEXINPUTS や XDVIFONTS やTEXFONTS を設定すれば、font を使うことができます。 この logo を使った 名刺 や letter head があります。

echo $XDVIFONTS
setenv XDVIFONTS .......:.    (current directory を入れる。)
                         @

TeX Sample Program:


\documentstyle[]{j-article}
\pagestyle{empty}
%\font\mfonts=ueclogo at 64pt
\font\mfonts=ueclogo at 256pt 
\def\uec{\mfonts A}
\begin{document}
\uec このマークは、電通大のロゴでリサージュといいます。
\end{document}


管理者: rsaito@ee.uec.ac.jp, 管理, 理論, 〒182-8585 (大学固有)