MF ファイル形式とは?
.mf は、TeX 組版システムの一部として Donald E. Knuth 氏によって作成された、Metafont プログラミング言語で記述されたプレーンテキストのソースファイルです。.mf ファイルは、グリフを固定されたアウトラインとして記述するのではなく、ペンのストローク、曲線、パラメータ方程式を使用してプログラム的に字形を定義します。これにより、変数を調整するだけで、単一のソースファイルから任意の解像度や光学サイズのフォントを生成できます。
使用可能な出力を生成するには、.mf ファイルを(TeX Live や MiKTeX などのディストリビューションに含まれる)mf コマンドラインプログラムでコンパイルします。コンパイラは、ソースとモード指定(例:600 dpi の LaserJet 用の ljfour)を受け取り、2 つの出力を生成します。
ファイルは ASCII テキストであり、マジックバイトやバイナリヘッダーはありません。典型的なステートメントには mode_setup;、beginchar(...);、pickup pen;、endchar; が含まれ、プログラムは end で終了します。後継形式の MetaPost (.mp) は、後に Metafont の言語を一般的なベクターグラフィックス向けに拡張しました。
Computer Modern や AMS 書体ファミリー(TeX および LaTeX のデフォルトフォント)が .mf ソースとして配布されているため、Metafont は現在も活発に使用されています。編集には Metafont 言語の知識が必要ですが、任意のプレーンテキストエディタで開くことができます。ただし、TeXstudio などの専用 TeX エディタを使用すると構文認識機能が利用できます。
セキュリティと安全性
リスク: LOWMetafont .mf はプレーンテキストであり、実行可能なマシンコードを含まないため、閲覧は安全です。コンパイルは TeX ディストリビューションの信頼できる «mf» インタプリタを実行します。唯一の混乱のリスクは、JAR の MANIFEST.MF と間違えることですが、どちらも無害なテキストであり、全く異なるツールチェーンに属します。
形式の詳細
概要- Java/JAR MANIFEST.MF - JAR 内部の META-INF/MANIFEST.MF はプレーンテキストのマニフェスト(Main-Class、バージョン情報)です。データベースの «Sun Microsystems» 開発者タグはおそらくこれが原因です。
- Maven / ビルドメタデータ .mf - 一部の Java ツールや OSGi バンドルは、.mf 拡張子を持つマニフェスト断片を同梱します。プレーンテキストの key:value ペアです。
MF ファイルを開くプログラム
技術的詳細
詳細仕様| 形式タイプ | プレーンテキストの Metafont 言語ソースプログラム。フォントのグリフを固定されたアウトラインではなくプログラムとして定義します |
| 文字エンコーディング | ASCII。Metafont 言語自体にマルチバイト文字は含まれません。任意のプレーンテキストエディタで変換なしに開けます |
| マジックバイト / シグネチャ | なし。バイナリヘッダーはありません。`.mf` 拡張子と、`mode_setup;` などの先頭の Metafont キーワードによって識別されます |
| MIME タイプ | `text/plain`。一部の TeX ツールでは非公式に `application/x-metafont` が使用されます |
| コンパイラ | `mf` プログラム。`mf '\mode=localfont; input fontname'` として呼び出されます。TeX Live、MiKTeX、MacTeX に含まれています |
| コンパイル出力 | `.tfm` メトリックファイル(TeX 用の文字幅、高さ、カーニング)および、選択したデバイス解像度の `.gf` または `.pk` ビットマップ |
| 解像度 / モードパラメータ | コンパイル時にモード名(例:`ljfour` = 600 dpi LaserJet)を介してターゲットデバイスと DPI を選択します。モードを変更するとビットマップが再生成されます |
| パラメトリックデザインモデル | グリフの形状はペンのストロークと数値変数によって定義されます。1つのパラメータ(例:`stem#`)を調整すると、依存するすべてのグリフが整合性を保って再スケーリングされます |
| 制約解消 | Metafont インタプリタは、連立一次方程式を解いて点を配置します。形状は絶対座標ではなく制約として記述されます |
| チェックサムペアリング | `mf` コンパイラは、生成されたビットマップと結合するために、対になる `.tfm` ファイルにチェックサムを埋め込みます。`.mf` ソース自体にはチェックサムはありません |
| カラーサポート | モノクロ(1ビット)のみ。Metafont はグリフを白黒のビットマップとしてラスタライズします。グレースケールやカラー出力はありません |
| 一般的なファイルサイズ | 数 KB から数十 KB。完全な書体ファミリーは、共通のベースファイルを共有する数十の `.mf` ファイルで構成されます |
| ベースマクロライブラリ | Computer Modern は `plain.mf` と `cm` ベースファイルを使用します。任意の `.mf` ソースは共有マクロファイルを `input` して定義を継承できます |
| アクティブなユースケース | Computer Modern および AMS 書体ファミリー(TeX と LaTeX のデフォルトフォント)は `.mf` ソースとして配布され、TeX ディストリビューションによってオンデマンドでコンパイルされます |
| 後継形式 | MetaPost (`.mp`) は Metafont 言語を拡張し、ビットマップの代わりにスケーラブルな PostScript/SVG ベクター出力を生成できるようにしました |
| リリース日 | 1979 (Metafont); rewritten Metafont84 (1984) |
| 最新バージョン | Metafont version 2.71828… (asymptotically approaching e; current since the 1990s) |
| オープンスタンダード | はい · ロイヤリティフリー |
| 仕様書 | www.tug.org |
MF の変換
コミュニティ Q&A
ユーザーからの質問まだ質問はありません。MF ファイルについて最初の質問をしてみましょう。