ページの作成
親となるページを選択してください。
親ページに紐づくページを子ページといいます。
例: 親=スポーツ, 子1=サッカー, 子2=野球
子ページを親ページとして更に子ページを作成することも可能です。
例: 親=サッカー, 子=サッカーのルール
親ページはいつでも変更することが可能なのでとりあえず作ってみましょう!
| この記事の要点 |
|
概要
この記事ではフォント関連のレガシーかつ補助的な 3 つの形式をまとめて解説します。いずれも 1980 年代後半〜1990 年代の Unix / DTP 環境で重要な役割を果たし、現代では一線を退きつつも特定の用途で生き残っている形式です。
AFM(Adobe Font Metrics)は、PostScript Type 1 フォントの「字幅・カーニング・バウンディングボックス・グリフ名・属性」などを記述したテキスト形式のメトリックファイルです。1985 年頃に Adobe が PostScript と共に導入しました。Type 1 本体(.pfb / .pfa)にはこれらメトリック情報が含まれないため、印刷・組版ソフトは AFM を読んで「文字をどれくらい詰めて並べるか」を計算しました。.afm はテキストファイルなので人間が中身を読めるのが特長で、フォント名・著作権・字幅表が一覧できます。TrueType / OpenType の登場以降、メトリックがフォント本体に統合されたため独立 AFM は不要になりましたが、Type 1 アーカイブには今でも付属しています。
BDF(Bitmap Distribution Format)は、Adobe と X Consortium が 1988 年に策定した X Window System 用のビットマップフォント形式です。テキストファイルで、各グリフが何ピクセル × 何ピクセルでどのドットが点灯するかを 16 進数で明示的に記述します。可読性が高く、テキストエディタで字形を 1 ドット単位で編集できるのが大きな特徴です。日本語ビットマップフォントの伝説的存在「美咲フォント」「Misaki Gothic」や、海外なら「Bitstream Vera」の元データなど、ドット絵としてのフォント文化を支えた形式です。
PCF(Portable Compiled Format)は、BDF をバイナリにコンパイルした X Window System ネイティブのビットマップ形式です。bdftopcf コマンドで .bdf → .pcf へ変換し、X サーバが高速に読み込めるよう最適化されています。1990 年代の Linux / Unix デスクトップでは、フォントファミリは BDF ソース + PCF バイナリのセットで配布されるのが標準でした。xterm・rxvt・初期の Mozilla / Netscape はこの形式のフォントで描画されており、Linux 文化を語るうえでも歴史的に重要です。
各形式の内部構造
AFM の例(テキスト形式)
StartFontMetrics 4.1
FontName Times-Roman
FullName Times Roman
FamilyName Times
Weight Roman
ItalicAngle 0
IsFixedPitch false
FontBBox -168 -218 1000 898
UnderlinePosition -100
UnderlineThickness 50
StartCharMetrics 315
C 65 ; WX 722 ; N A ; B 15 0 706 674 ;
C 66 ; WX 667 ; N B ; B 17 0 593 662 ;
...
EndCharMetrics
StartKernPairs 2058
KPX A T -55
KPX A V -74
...
EndKernPairs
EndFontMetrics
C 65 ; WX 722 ; N A ; B 15 0 706 674 ; は「文字コード 65(A)の字幅 722 単位、字形バウンディングボックス (15, 0, 706, 674)」を意味します。KPX A T -55 は「A と T が隣接したとき 55 単位詰める」(カーニング)です。
BDF の例(テキスト形式・1 グリフ分)
STARTFONT 2.1
FONT -misc-fixed-medium-r-normal--13-120-75-75-c-70-iso10646-1
SIZE 13 75 75
FONTBOUNDINGBOX 7 13 0 -2
STARTCHAR A
ENCODING 65
SWIDTH 538 0
DWIDTH 7 0
BBX 7 9 0 0
BITMAP
10
38
6C
C6
C6
FE
C6
C6
00
ENDCHAR
ENDFONT
16 進数 10 = 00010000 がドット 5 列目だけ点灯、38 = 00111000 が中央 3 ドット点灯…という形でドットパターンを並べていきます。テキストエディタで開いて 1 ドット単位で字形をいじれます。
PCF
BDF を bdftopcf font.bdf -o font.pcf でコンパイル。バイナリで、X サーバが mmap して即座にグリフテーブルを引けるよう最適化されています。fc-cache -f や mkfontdir でフォント DB に登録します。
主な用途
- AFM:Type 1 アーカイブの組版メトリック、TeX / LaTeX の
pdftex.map生成、フォント変換ツールの入力。 - BDF / PCF:Linux コンソール(
fbcon)の起動初期画面、軽量 X 端末(xterm -fn fixed)、組み込み機器の UI、レトロコンピューティング、ピクセルアート風フォント愛好家のコミュニティ。 - ビットマップフォントの源流:絵文字以前のアスキーアートやドット絵文化を支えた。
- ポストスクリプトレガシーの保守:DTP データを Type 1 から OTF へ移行する際、AFM を参照してメトリックを再計算することがある。
関連形式との比較
| 項目 | AFM | BDF | PCF | TTF / OTF |
|---|---|---|---|---|
| 表現 | メトリックのみ | ビットマップ | ビットマップ(バイナリ) | アウトライン |
| 形式 | テキスト | テキスト | バイナリ | バイナリ |
| 登場 | 1985 | 1988 | 1990 年代 | 1991 / 1996 |
| 主な OS | 汎用(Type 1 補助) | X Window | X Window | 全 OS |
| 2026 年の役割 | レガシー補助 | レトロ愛好・組み込み | レガシー X 環境 | 主流 |
編集・変換ツール
- FontForge:BDF / PCF / AFM すべてを読み書きできる万能 OSS フォントエディタ。GUI で 1 ドット編集が可能。
- bdftopcf(X.Org 同梱):BDF → PCF コンパイラ。X 環境では標準。
- pcf2bdf:PCF → BDF 逆変換 CLI。
- otb2bdf / bdf2otb:OpenType Bitmap 形式との変換。
- fonttools:AFM の読み書きが
fontTools.afmLibモジュールで可能。 - 美咲フォント / Misaki エディタ:日本語ビットマップフォントの世界では BDF ベースの専用エディタが伝統的に使われた。
注意点・落とし穴
- 新規プロジェクトでの選定理由は限定的:UI フォントとしては TTF / OTF + FreeType の方が圧倒的に綺麗で軽い。BDF / PCF を選ぶのは「ピクセルパーフェクトを保証したい」「組み込みで FreeType を載せる余裕がない」など特殊事情だけ。
- AFM はメトリックだけ:AFM 単体ではフォントは描画できない。必ず .pfb / .pfa とセットで扱う。
- BDF は 1 サイズ 1 ファイル:12px と 14px は別ファイルになる。アウトラインフォントのように 1 ファイルで任意サイズが描けるわけではない。
- PCF はバージョン依存:古い X サーバの PCF を新しい環境で読むとエンディアン違いで化けることがある。
bdftopcfで再コンパイル推奨。 - 文字コードの罠:古い BDF は ISO-8859-1 / JIS X 0208 などレガシーエンコーディングで配布されているため、Unicode 化が必要なら手動マッピングが要る。
- ライセンス:美咲フォントなど OFL / Public Domain で配布されているものは自由に使えるが、商用 BDF も存在するので確認。
関連リンク
- フォント(親カテゴリ)
- ファイル拡張子とは(概論)
- TTF(.ttf)
- OTF(.otf)
- PFB / PFM / Type 1(.pfb / .pfm)
- TTC / OTC(.ttc / .otc)
ページの作成
親となるページを選択してください。
親ページに紐づくページを子ページといいます。
例: 親=スポーツ, 子1=サッカー, 子2=野球
子ページを親ページとして更に子ページを作成することも可能です。
例: 親=サッカー, 子=サッカーのルール
親ページはいつでも変更することが可能なのでとりあえず作ってみましょう!
子ページはありません
- TTF(.ttf)
- OTF(.otf)
- WOFF(.woff)
- WOFF2(.woff2)
- EOT(.eot)
- TTC / OTC(.ttc / .otc)
- PFB / PFM / Type 1(.pfb / .pfm)
- AFM / BDF / PCF(.afm / .bdf / .pcf)
人気ページ
- 1 Eclipseで「サーバーに追加または除去できるリソースがありません。」の原因と対処法
- 2 tomcat の起動 / 停止ログと catalina.log・catalina.out の違い
- 3 JavaScript base URL 取得方法|window.location.origin と SSR/Node.js 対応
- 4 YouTube Data API v3 エラー一覧|403/400/404 の主要原因と切り分け
- 5 Spring Frameworkのアノテーション一覧
- 6 Laravel エラー一覧|500/Blade/DB 接続/ルーティングの代表エラー
- 7 3Dグラフィックスとは|モデリング/レンダリング/主要ソフトウェア (Blender / Maya)
- 8 【Spring】@Valueアノテーションとは
- 9 CATALINA_HOME の確認方法 (Linux / Mac)
- 10 【Spring】@Autowiredアノテーションとは
最近更新/作成されたページ
- IPv6とは|128bitアドレス・コロン16進表記/::省略・リンクローカル・SLAAC・デュアルスタック NEW 2026-06-22 12:34:44
- MAC アドレスフィルタリングの仕組みと限界 | ネットワーク入門 NEW 2026-06-22 12:19:10
- VPNとは|暗号トンネル・サイト間/リモートアクセス・IPsec/SSL-VPN/WireGuardを解説 NEW 2026-06-22 12:19:10
- Web通信プロトコル入門 HTTP/2・HTTP/3・WebSocket・gRPC・WebRTC | ネットワーク入門 NEW 2026-06-22 12:17:25
- HTTP/2 とは 多重化・HPACK・バイナリフレーム | ネットワーク入門 NEW 2026-06-22 12:17:25
- HTTP/3 (QUIC) とは UDP ベースの低遅延 Web 通信 | ネットワーク入門 NEW 2026-06-22 12:17:25
- WebRTC とは ブラウザ間 P2P の音声・映像・データ通信 | ネットワーク入門 NEW 2026-06-22 12:17:25
- gRPC とは HTTP/2 + Protocol Buffers の高速 RPC | ネットワーク入門 NEW 2026-06-22 12:17:25
- WebSocket とは 全二重リアルタイム通信 ws/wss | ネットワーク入門 NEW 2026-06-22 12:17:25
- HAProxy とは frontend/backend と設定例 | ネットワーク入門 NEW 2026-06-22 12:17:24
- TLS/SSLの仕組み|ハンドシェイク・暗号スイート・前方秘匿性・証明書検証をわかりやすく解説 NEW 2026-06-22 12:17:24
- CDN とは エッジキャッシュ・TTL・Cloudflare/CloudFront | ネットワーク入門 NEW 2026-06-22 12:17:24
- iptables/nftablesとは|テーブル・チェーン・ルール例・永続化をLinux視点で解説 NEW 2026-06-22 12:17:24
- ファイアウォールとは|パケットフィルタ・ステートフル・DMZ・次世代FW(L4/L7)を解説 NEW 2026-06-22 12:17:24
- 証明書と認証局(CA)とは|X.509・信頼チェーン・DV/OV/EV・失効(CRL/OCSP)を解説 NEW 2026-06-22 12:17:24
コメントを削除してもよろしいでしょうか?