METAFONTとは? わかりやすく解説

METAFONT

出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2024/02/21 13:37 UTC 版)

METAFONT
作者 ドナルド・クヌース
最新版
2.71828182 / 2021年2月5日 (3年前) (2021-02-05)
対応OS クロスプラットフォーム
種別 プログラミング言語
ライセンス パーミッシブ・ライセンス
テンプレートを表示

METAFONTメタフォント)は、フォント作成用のコンピュータプログラムである。組版システム TeX とともにドナルド・クヌースにより開発された。

概要

METAFONT は文字の形を描くプログラムソースファイルを読み込んで、組版用の情報(文字の大きさや合字などの情報)を持つフォントメトリックファイルと、文字の形の情報(グリフデータ)を持つビットマップフォントファイルを生成するシステムである。フォントファイルを生成する際にいくつかのパラメータを調整することで、同一のソースファイルから幾種ものフォントを生成することも可能であり、それが名称の由来にもなっている。生成する文字の輪郭には、ベジェ曲線が用いられる。

METAFONT は組版システム TeX とともにドナルド・クヌースにより開発された。組版処理をする際、フォントデザインに応じた合字やカーニングなどの情報が必要となる。TeX では数式組版などにも力点が置かれているが、その際はさらに豊富な組版情報をフォント自体が持つことが期待される。METAFONT は、そのような組版情報を持ったフォントを作成する必要から開発された。METAFONT は TeX と同様にフリーソフトウェアであり、いくつかのプラットフォームに移植されている。

METAFONT で生成したフォントを他の形式(Type1など)に変換するプログラムも開発されている。

また、METAFONT 用のプログラムと似た構文のプログラムで PostScript 形式の画像ファイルを生成できる MetaPost も開発されている。

プログラミング言語としての METAFONT

プログラミング言語としては、METAFONT は以下のような特徴を持つ。

  • フォントメトリックファイルとフォントグリフファイルを生成する
  • フォント作成に特化した各種命令がある
  • 数学的な意味の方程式がそのまま扱え、連立一次方程式によって変数の値を与えることができる
  • 演算子の意味の変更までできる柔軟なカスタマイズ可能性を持つ

プログラム例

簡単なサンプルプログラムとその出力を示す。

1: beginchar(65,10pt#,10pt#,0pt#);
2: pickup pencircle xscaled 1.2pt yscaled 0.5pt rotated 120;
3: z1=(0.1w,0.75h);
4: z2-z1=whatever*(8,1);
5: x2=0.9w;
6: z3=(0.8w,0.1h);
7: draw z1--z2{z1-z2}..{z2-z1}z3;
8: labels(1,2,3);
9: endchar;
10: end.
行番号は説明のために付けてある。
  • 1行目では文字の情報を定めている。この例では、文字コード65の文字を幅10pt, 高さ10pt, 深さ0pt(幅と高さが同じ値だが、引数はこの順)で作成することを宣言している。
  • 2行目では文字を描くのに用いる“ペン”を定義している。このペンは単位円を縦横異なる比率で拡大縮小してできる楕円を120度回転させたもので、次の図のような形を持つ。

  • 3行目から6行目までで3つの点の位置を定めている。3つの点はそれぞれ z1, z2, z3 で、図中では1,2,3とラベルを付けて表示してある。w と h の値は1行目の宣言によって決められて、この例では左下の座標が (0,0)、右下が (w,0)、右上が (w,h) 等となる。
  • z1 と z3 はそれぞれ3行目と6行目で明示的に決められる。
  • z2 の決め方に METAFONT の特徴がよく現れている。4行目の段階では「z1 から z2 へ向かうベクトルが (8,1) という成分を持つベクトルの何倍かになっている」ことだけが定義されている。続く5行目で z2 のx成分が明示的に与えられると、z2 の位置が自動的に決定される。METAFONT 内部では、4行目の段階で一次方程式が作られたのちに5行目と併せて解かれている。
  • 7行目で文字を描く。まず z1 から z2 へ直線を引き、z2 からは、z2 から z1 へと向かう方向へ線を引き始める。その線は滑らかな曲線を描きながら z3 へと向かうのだが、最終的に z3 へたどり着くときには z1 から z2 へと向かう方向を向くようにする。
  • 8行目では、3つの点にラベルを付けて表示させている。
  • 9行目で、1行目から続いた文字コード 65 の文字は終了する。さらに他のコードの文字を描きたければ1行目と同様に続けることもできる。
  • 10行目で1文字しかないこのフォントセットが終了する。

(他のプログラム例がw:de:Metafontにも)

関連項目


METAFONT

出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2022/05/10 02:51 UTC 版)

フォント」の記事における「METAFONT」の解説

組版システムTeXとともにドナルド・クヌース開発したフォント用のプログラミング言語Computer Modernデザイン使われた。

※この「METAFONT」の解説は、「フォント」の解説の一部です。
「METAFONT」を含む「フォント」の記事については、「フォント」の概要を参照ください。

ウィキペディア小見出し辞書の「METAFONT」の項目はプログラムで機械的に意味や本文を生成しているため、不適切な項目が含まれていることもあります。ご了承くださいませ。 お問い合わせ



固有名詞の分類


英和和英テキスト翻訳>> Weblio翻訳
英語⇒日本語日本語⇒英語
  

辞書ショートカット

すべての辞書の索引

「METAFONT」の関連用語

METAFONTのお隣キーワード
検索ランキング

   

英語⇒日本語
日本語⇒英語
   



METAFONTのページの著作権
Weblio 辞書 情報提供元は 参加元一覧 にて確認できます。

   
ウィキペディアウィキペディア
All text is available under the terms of the GNU Free Documentation License.
この記事は、ウィキペディアのMETAFONT (改訂履歴)の記事を複製、再配布したものにあたり、GNU Free Documentation Licenseというライセンスの下で提供されています。 Weblio辞書に掲載されているウィキペディアの記事も、全てGNU Free Documentation Licenseの元に提供されております。
ウィキペディアウィキペディア
Text is available under GNU Free Documentation License (GFDL).
Weblio辞書に掲載されている「ウィキペディア小見出し辞書」の記事は、Wikipediaのフォント (改訂履歴)の記事を複製、再配布したものにあたり、GNU Free Documentation Licenseというライセンスの下で提供されています。

©2025 GRAS Group, Inc.RSS