フォント METAFONTのソースを表示
新しいページはコチラ
移動:
案内
,
検索
[[フォント]]に戻る == '''概要''' == TeXでも有名なドナルド・クヌースさんが作ったタイポグラフ用のプログラミング言語です。2次元空間座標で関数を使ってアウトラインを指定したり、点と点を座標で指定したりして、どういう設定でつなぎ合わせるか?そういう感じのプログラムをして、*.mf(ファイル拡張子 mf)というファイルを作成できるものです。METAFONTのフォントファイルはtype1と呼ばれる形式に変換できるのも有名ですが、これができるということは、他の形式のファイルにも変換はできるということでして、TeXから始めるOpenTypeフォントもありえるわけです。 とはいいつつも、1990年代というインターネットがまだ日本で広まる前からの技術ですので、この上なく面倒くさいフォント作成手法になると思います。私は、このMETAFONTという技術から現在あるフォントエディタのありがたみを感じてみてもいいかなと基礎的なことをやっていようかと思っている次第です。このような回り道をしないで、ある程度お金を出して、もうちょっと便利なツールを使うのは効率的で大事なことでもあります。ヒラギノフォントみたいな凄いの作りたいという方は、大きい会社の保持しているような、すんごいシステムを使ってチームワークで、決め事を試案し、それを守って作るという、そういう流れがあるということも知っておいた方がいいかもしれません。6万グリフの書体だと2年くらいかかる場合もあるそうです。計画的にやらないと終わりません。1年は365日しかありません。1日1文字とかそんなペースでやったらどえらい時間がかかるなぁとすぐに分かっていただけるかと思います。ましてやUnicodeフォントともなると各国の文化を調べたり、美しいと感じる書体とはどんなものかを国ごとに切り分けたりしないとだめですし、作業が無駄になってしまいます。そして、それを無償で提供することなんてできるでしょうか?よく考えて、どういう規模でどうやって広めて、どうやって展開するかとか、そういうことまで考えておく必要も…ってこれ以上の無駄話は必要ないですね。 == '''導入''' == METAFONTを使ってみたいと思った場合、TeXのシステムインストールするのが近道です。METAFONTはTeXシステムの一部ですので、組み込まれています。METAFONTだけ使うというのは難しいでしょう。また、試しに作ったMETAFONTの出力ファイルもなにかしらに表示させようとするとさらなる変換によって、PDFに出力したりしてプログラムの動作確認が必要です。それもTeXのシステムが補ってくれます。 Windows10にTeXlive2017をインストールします。*.isoファイルというDVDとかCDのイメージファイルで提供されています。 [http://www.tug.org/texlive/acquire-iso.html http://www.tug.org/texlive/acquire-iso.html] download from a nearby CTAN mirror というリンクからダウンロードして下さい。デッドリンクになってた場合は「TeXLive」で検索してみて下さい。 本来であれば、これをもとにCDやDVDを作るソフトウェアでDVDにして、これをDVDドライブに入れて、その中に構成されたインストールファイルを起動するという感じになるのですが、DVDとかDVDドライブとかを使わないで*.isoファイルをWindows内に作った仮のDVDドライブにisoファイルを読み込ませるソフトウェアがありまして、DEAMON Tool Liteを入手してインストールしましょう。無料の奴でいいです。とはいいつつも、いろいろ他に不要のファイルをインストールしてこようとするので、インストーラーでDEAMON Tool以外をインストールしようとしてくるダイアログでことごとく同意しないとか、閉じるとかキャンセルを押さないとダメです。ものすごい数の罠がありますので、拒否します。 この時点で素人は手を出せない感ハンパない。 そして、インストールしたら、仮想ドライブを作成→作った仮想ドライブにisoを読み込みます→で、ドライブの自動起動とか、設定した仮想ドライブの中身の起動ファイル開くなどします。 インストールダイアログでは、ほぼデフォルト設定で次へボタンを押していく感じです。 *インストールディレクトリ :C:\texlive\2017 *規定用紙寸法 :A4 *設定 :スタートメニューを追加/CheckON TeXWorksフロントエンドを導入/CheckON これで、おおよそ5GByteほどの容量をもった膨大なプログラム群が配置されます。 [[フォント METAFONT TeXLive2017インストールプログラム]] METAFONTとはかけ離れた作業ですが、ダウンロードだけで30分くらい、インストールでは軽く2時間くらいはかかる作業になります。TeXのメンドクサイ版の全部入りみたいな感じですかね。[[TeX]]の方法でインストールしたのは違うPCでして、こちらのやり方でも使えるとは思います。管理人はこの機会にDynaPad N72というタブレット端末にTeXLive2017を導入しました。Intel Atom-x5 Z8300 1.44GHzプロセッサのしょっぱい奴なので時間がかかったのかもしれません。 == '''簡単なMETAFONTの流れ''' == 一番最初にHelloWorldプログラムを作るような基本的なことをやってみます。 上記の手順に従ってTeXLiveをインストールしたら、TeXLive Command Lineというプログラムが追加されていますので、スタートメニューから選択して起動します。WindowsのCommandプロンプトとなんら変わりのないウィンドウが表示・描画され、コマンドを実行できる状態になります。C:\texlive\2017\tlpkg\installer\tl-cmd.batが実行されて、TeXLiveのコマンドが実行できる状態になります。 次にMETAFONTのコマンドを使うために以下のコマンドを実行します。できればカレントディレクトリをmfプログラムを実行するための作業用ディレクトリに変更した方がよいと思います。今から行う作業によって、いくつかファイルが生成されます。関係のないファイルがあるディレクトリで作業をすると何が生成されたか、わからなくなります。 >'''mf''' This is METAFONT, Version 2.7182818 (TeX Live 2017/W32TeX) (preloaded base=mf) ** <nowiki>**</nowiki>という状態で新たなコマンドを受け付ける状態になって停止します。通常はこの状態でMETAFONTプログラムが記述された*.mf(メタフォント)ファイルを選択するようなコマンドで*.gf(グリフファイル)ファイルを生成する操作をしますが、まずは簡単な一行の一筆書きのグリフを作るだけなので、コマンドだけでmfプログラムを記述するため以下のコマンドでメタフォントプログラムを記述できるモードにします。 **'''\relax''' * とすると次は*という状態で新たなコマンドを受け付ける状態になります。この状態で、メタフォントプログラムを記述できるので、試しに何も考えないで以下のコマンドを実行します。 *'''draw (20,40)..(20,20)..(80,20)..(80,40); showit; shipit;''' [0] これで、何やら描画されたウィンドウが表示がされると思います。これがdrawからはじまる構文によって、生成されたMETAFONTの図形です。またコマンドプロンプトにもどって、さらに *'''end;''' Output written on mfput.2602gf (1 character, 192 bytes). Transcript written on mfput.log. これで、先ほど表示されたウィンドウが閉じられて、shipitという命令も実行された結果、[0]という番号1つだけのグリフ情報をもったgf(グリフファイル、注意:作者のクヌースさんはジェネリックフォントと呼んでいます。)であるmfput.2602gfファイルが生成されます。生成するべきグリフファイル名を指定していないので、このような名前のファイルが生成されます。2602gfとなっていますが、これは1インチ2602ピクセルのグリフという意味の数値で、これも規定値として扱われる拡張子です。ただし、これでは表示するためのビュワーがないのでdviというファイルに変換をします。そのまえにgfファイルをdviファイルにするために必要なtfm(フォントメトリック)ファイルを生成します。 >'''mktextfm gray''' mf-nowin.exe --progname=mf --base=mf \mode:=ljfour; \mag:=1; nonstopmode; input gray; This is METAFONT, Version 2.7182818 (TeX Live 2017/W32TeX) (preloaded base=mf) (c:/texlive/2017/texmf-dist/fonts/source/public/knuth-local/gray.mf (c:/texlive/2017/texmf-dist/fonts/source/public/knuth-local/graylj.mf (c:/texlive/2017/texmf-dist/fonts/source/public/knuth-lib/grayf.mf [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13] [14] [15] [16] [17] [18] [19] [20] [21] [22] [23] [24] [25] [26] [27] [28] [29] [30] [31] [32] [33] [34] [35] [36] [37] [38] [39] [40] [41] [42] [43] [44] [45] [46] [47] [48] [49] [50] [51] [52] [53] [54] [55] [56] [57] [58] [59] [60] [61] [62] [63] [64] [65] [66] [67] [68] [69] [70] [71] [72] [73] [74] [75] [76] [77] [78] [79] [80] [81] [82] [83] [84] [85] [86] [87] [88] [89] [90] [91] [92] [93] [94] [95] [96] [97] [98] [99] [100] [101] [102] [103] [104] [105] [106] [107] [108] [109] [110] [111] [112] [113] [114] [115] [116] [117] [118] [119] [120] [121] [122] ) ) ) Font metrics written on gray.tfm. Output written on gray.600gf (123 characters, 13144 bytes). Transcript written on gray.log. mktexupd failed C:/Users/speci/.texlive2017/texmf-var/fonts/tfm/public/knuth-local/gray.tfm 上記コマンドによって *c:/texlive/2017/texmf-dist/fonts/source/public/knuth-local/gray.mf *c:/texlive/2017/texmf-dist/fonts/source/public/knuth-local/graylj.mf *c:/texlive/2017/texmf-dist/fonts/source/public/knuth-lib/grayf.mf を参照し gray.tfm/gray.logおよび123文字のグリフを持つgray.600gfやその他にcmr8.600pk/gray.600pk/logo8.600pkが生成されます。これでdviファイルを生成するのに必要なファイルがそろったので、以下のコマンドを実行します。 >'''GFtoDVI mfput.2602gf''' これでmfput.dviが生成されました。このdviファイルにはビューワがありますので、以下のコマンドを実行することで、実行結果をゆっくりとみることができます。dviをpdfに変換することもできるので、一般的にも普及しているAcrobatReader系のビューワで閲覧ができるようになります。 >'''dviout mfput.dvi''' そんなところです。これでMETAFONTプログラムへの道が開けたかと思います。習得を急いでいる方は、他の文献をあさればMETAFONTプログラムのすべてを理解できると思います。急いでいない方は、管理人と少しづつ、METAFONTプログラムからOpenTypeフォントやTrueTypeフォントなどいろいろなものをつくる勉強をしましょう。なんど、このページにやってきても全然更新されていない!とかっていう展開もあるかもしれません。 [[フォント]]に戻る
フォント METAFONT
に戻る。
個人用ツール
3.143.205.169
このIPアドレスのトーク
ログイン
名前空間
ページ
議論
変種
表示
閲覧
ソースを表示
履歴表示
操作
検索
案内
メインページ
コミュニティ・ポータル
最近の出来事
最近の更新
おまかせ表示
ヘルプ
ツールボックス
リンク元
関連ページの更新状況
特別ページ