FontForge の簡単な説明

ダウンロードとインストール
まずは、FontForge をダウンロード&インストールします。

https://fontforge.org/

Linux の場合、パッケージ名は fontforge です。
(Linux) 起動の前に cidmap を準備
Linux の場合、OpenType の CID フォント (日本語フォントなど) を開くと、以下のようなメッセージが出る場合があります。

FontForge was unable to find a cidmap file for this font.
It is not essential to have one, but some things will work better if you do.
If you have not done so you might want to download the cidmaps from:
 http://FontForge.sourceforge.net/cidmaps.tgz
and then gunzip and untar them and move them to:
 /usr/share/fontforge

[翻訳]

FontForge は、このフォントの cidmap ファイルを見つけることができませんでした。
持っている必要はありませんが、持っているとうまくいくものもあります。
まだ行っていない場合は、次の場所から cidmap をダウンロードできます。
  http://FontForge.sourceforge.net/cidmaps.tgz
そしてそれらを gunzip して解凍し、次の場所に移動します:
  /usr/share/fontforge

cidmap ファイルというのは、CID フォントの「CID 値」と「Unicode 値、または PostScript グリフ名」を関連付けるための定義ファイルです。

Ubuntu など、各ディストリビューションのパッケージによっては、この cidmap が最初から含まれている場合がありますが、含まれていない場合は、このメッセージが出ます。

cidmap はなるべくあった方がいいので、このようなメッセージが出た場合は、cidmap ファイルをダウンロードして、必要な場所にコピーしておきます。

ただし、上記のメッセージで指定されている URL のファイルは古いので、FontForge の github のサイトからダウンロードします。

https://github.com/fontforge/fontforge/tree/master/contrib/cidmap

ここに、*.cidmap のファイルがあるので、各ファイルをクリックして、ソースのページを表示した後、「Raw」のボタンを右クリックして、「名前を付けてリンク先を保存」すると、各ファイルをダウンロードできます。

一度適当な場所にダウンロードしたあと、まとめて /usr/share/fontforge にコピーしてください。

$ sudo cp *.cidmap /usr/share/fontforge
起動と操作方法
FontForge をインストールして準備ができたら、起動してみてください。

最初に、フォントを開く画面が出ると思います。

既存フォントを編集する場合は、ここで、開くファイルを選択します。
フォントを新規作成する場合は、「新規」ボタンを押します。

ここでは、とりあえず、適当なフォントを開いてみてください。
グリフ一覧
フォントが読み込めた場合、ウィンドウに、グリフの一覧が表示されます。

メニューの直下の部分には、選択されているグリフの「エンコーディング値 (10進数、16進数)」「Unicode のコード」「PostScript グリフ名」「Unicode による名前」が表示されます。

デフォルトでは、現在のエンコーディングで設定可能なすべてのグリフの一覧が表示されます。

空のグリフを非表示にしたい場合は、メニューの「エンコーディング」>「定義済みのグリフのみ表示」を ON にすると、未定義状態のグリフが非表示になります。
(ON/OFF を繰り返すとたまに強制終了したり、ON の状態だと、CID フォントで正しい位置に移動できなかったりする場合があるので、ON にする時は少し気を付けてください)
グリフの編集
グリフ一覧上で、編集したいグリフをダブルクリックすると、「アウトラインウィンドウ」が開きます。
ここで、グリフのパスなどを編集できます。
グリフを検索する
日本語フォントなどでグリフ数が多いと、一覧上をスクロールして探すのでは時間がかかります。

Unicode のコード値や、文字そのもの、または PostScript グリフ名から、特定のグリフを検索したい場合は、メニューの「表示」>「移動 (Ctrl+Shift+>)」で、コード値や文字列を入力して、検索できます。

FontForge 上では、日本語入力が出来ません。
そのため、「あ」の文字などを検索したい場合は、テキストエディタなどで入力したものをコピーして貼り付ける必要があります。

Unicode のコード値から検索する場合は、「U+0021」というように指定します。

なお、「Merge into selection」にチェックを入れると、見つかったグリフは現在の選択に追加されます。
フォント情報を見る
フォントの情報は、「エレメント」>「フォント情報 (Ctrl+Shift+F)」で、確認&編集ができます。

ただし、OpenType の CID フォントの場合、フォントの全体的な情報は「CID」>「CID フォント情報」で表示します。
エレメントの「フォント情報」の方では、現在選択されているサブフォントの情報が表示されます。

なお、縦書きのレイアウト情報が存在するフォントでは、「一般情報」の項目内の「縦書きメトリックが存在」のチェックが ON になっています。
縦書きに対応する場合は、このチェックを ON にしてください。
グリフの描画をチェックする
実際に文字を並べた時に、グリフがどのように表示されるかを確認したい時は、「メトリックウィンドウ」を使います。

メニューの「ウィンドウ」>「メトリックウィンドウを開く (Ctrl+K)」で、ウィンドウを開けます。



※ここでも日本語入力はできないので、入力できない文字列はコピペしてください。

PostScript グリフ名で文字を指定する場合は、グリフ名の前に「/ (スラッシュ)」を付けて指定します。

ウィンドウ内の左にあるリストは、グリフの置き換えを行うための「GSUB テーブル」の種類のリストです。
vert」または「vrt2」であれば、縦書きグリフへの置き換えを行います。

各リスト項目が選択状態になっていれば、メトリックウィンドウ上で、各文字に対して、その種類の置き換えが適用されます。
Shift キーを押しながらクリックすると、選択の追加/解除が出来ます。

メニューの「表示」>「縦書き」で、縦書き表示への切り替えも出来ますが、Linux 上で実際に試した所、グリフの位置がずれて、正しく表示できませんでした。
作業状態の保存
フォントの編集中に、作業状態を保存したい場合は、「保存」または「ファイル名を指定して保存」で、*.sfd ファイルに保存してください。

SFD ファイルは、FontForge 独自の作業用ファイルです。

実際にフォントを出力する場合は、「フォントを出力」で保存しますが、一時的に編集状態を保存しておきたい時は、sfd 形式で出力してください。

ただし、この sfd ファイルは、ちょっとしたことで壊れて読み込めなくなることがあるので、作業状況によって別の sfd ファイルに保存しておくなど、バックアップはこまめに取っておいたほうが良いです。