top page > TeX > here

FontForge の使用法


概要

これは目的を限定した私的な使用記録であり,fontforge の包括的なマニュアルではありません.

対象は次のようなものです.

  1. フォントを作成する目的は TeX での使用に限定します.
  2. 扱うフォントの形式は pfb (+ afm) であり,これを mf から作成します.
  3. 日本語のフォントは対象外ですが,読み込む実験だけはしてみました.

内容は次のようなものです.

  1. FontForge の環境設定.
  2. FontForge の操作法.
  3. Encode についての概説.
  4. 作成したフォントを TeX から使えるようにする手続き.

目次

1. 導入と環境設定
2. 操作の手順
3. TeX のためのフォントの登録
4. 日本語のフォント
5. 参考資料

1. 導入と環境設定

各々の version の FreeBSD において,FontForge に関連する ports/packages として直接導入したのは,以下の二つです.
FreeBSD 4.9:

FreeBSD 4.11:

FreeBSD 7.2:

FreeBSD 8.2, 8.3: (導入しただけで,未だ使用しておりません.)

FreeBSD 8.4: (2014.8.25 付けの ports です.)

FreeBSD 10.3: (2016.6.30 付けの ports です.)

以下では,FreeBSD 7.2 にて fontforge-20090408 使用法を概説します.

環境設定ですが,今のところ配布されたままの状態で使っています.

pfaedit の頃は,~/.Xresources にてメニューのフォントを規定していましたが,fontforge になってからはそれが設定できておりません.

[File] → [X Resource Editor]

を使っても,メニューのフォントを変えられませんでした.

2. 操作の手順

ここでは概略だけ示します. 具体的な操作は「使用例」にて詳しく述べます.

2.1  起動

メニューがひしめいているので,英語環境で起動した方が見栄えは良いです. (日本語のメッセージも充実しているので,もっと小さいフォントを指定する方法が解れば,日本語の方が良いでしょう.)

% env LC_ALL=C fontforge [file]

2.2  Encode の選択,設定,登録

Encode の設定には,次のような選択肢があります.

(1) 標準添付の Encode から選択する.

[Encoding] → [Reencode]

とすると一覧が現れるので,そこから選択します.

(この一覧は標準添付だけでなく,(2)-(4) のように自分で登録した Encode があればそれも表示されます.)

(2) 既存の pfb file から Encode の情報を取り出し,それを利用する.
  手順は FontForge の使用例 に示します.

(3) Encode を記述したファイルを自前で用意し,それを読み込む.
  (2) により作成された ~/.FontForge/Encoding.ps 等を参考に,Encode を記述したファイルを作成しておきます. それを,

[Encoding] → [Load Encoding]

により読み込みます. (読み込んだ内容は,登録作業なしに ~/.FontForge/Encodings.ps に追加されます.)
(4) 一文字ごとに Encode を規定する.
  すべての文字の Encode を一から入力しても良いのですが,(1)-(3) で大部分の文字を規定し,一部を修正する方が合理的です.

目当ての文字を mouse の左ボタンで指して選択し,

[Element] → [Glyph Info]

として下さい. 新たな Window が開きます. ここで Glyph Name を default で表示されたものから変え,Set From Name のボタンを押せば,Unicode Value や Unicode Char の表示が変わります. ただし,「通用しない呼称」を付けた場合,それは .notdef にされてしまいます.(何が通用する呼称なのかは,試行錯誤で探ります.)

この作業の結果を,

[Encoding] → [Make From Font]

により登録します.

2.3  フォントの名称,属性などの閲覧および修正

[Element] → [Font Info]

とすれば,別 Window が開き,そこに現在作業しているフォントの情報が表示されます. 修正が可能な項目は,入力ができる状態になっています.

2.4  フォントの形状の修正 (必要ならば)

操作したことがないので省略します.

2.5  pfb, afm ファイルへの出力

[File] → [Generate Fonts]
[PS Type1 (Binary)]   を選んで
[Save]

とすれば,作成されたフォントの情報が pfb, afm に出力されます.

2.6  作業結果の保存

[File] → [Save]

とすれば,ここまでの作業の結果を記録した .sfd という拡張子のファイルができます. 次に作業する機会があったならば,これを読み込めば合理的です.

2.7  終了

[File] → [Quit]

で終了です.

3. TeX のためのフォントの登録

作成したフォントは,そのままでは TeX から使えません. 種々の手続きが必要になります.

(1) .mf, .afm, .pfb を然るべきところに置き,mktexlsr を実行する. (.tfm は,使用する際に作成される.)

(2) 対応する sty, fd file を作成する.

(3) $(TEXMF)/dvips/base/ にある .map file を修正または新規に作成する.

4. 日本語のフォント

少なくとも fontforge-20150824_2 においては以下の操作は不要です.

日本語のフォントを読み込もうとした際,「CIDMap がないから下記の URL から取ってこられたし」と警告が出ました. しかし,そこに Web Browser で入ったら,目当てのファイルが見つかりませんでした. そこで,次のように fetch でファイルを取得し,指示通りに解凍しました.[1]

% fetch http://fontforge.sf.net/cidmaps.tgz
% cd /usr/local/share/fontforge
% su
# tar xzvf (cidmaps.tgz のある directory)/cidmaps.tgz

[1] cidmaps.tgz の置き場は執筆当時は以下のところでしたが,2016.7.24 の時点では上記のようになっています.

% fetch http://FontForge.soureceforge.net/cidmaps.tgz

5. 参考資料

[1]「フォントの自作に挑戦」ゆうな & かずひこ,Unix User 2004.3, pp.51-58 ソフトバンク
[2] /usr/local/share/doc/fontforge/index.html, PfaEdit-TeX.html, xres.html
  ただし,PfaEdit-TeX.html は内容が少し古いです.(そもそもファイル名からして昔の名前ですし.)

なお,PfaEdit-TeX.html には TeX のための種々の Encode を記したファイル Encodings.ps.gz を参照されたしという記述があります. このファイルは,以前は (少なくとも FreeBSD 4.9 の時点では) /usr/local/share/doc/fontforge/ に置かれていましたが,配布されなくなってしまいました. しかし,この中に OT2 の Encode は無いので,入手する必要はありません.