ソースから FontForge を構築する方法

# FontForge の構築手順

- Unix 用構築済みパッケージからのインストール方法
- Mac へのインストール方法
- MS-Windows へのインストール方法
- (Mac 上で) ソースを構築する前の準備
- (Windows 上で) ソースを構築する前の準備
- ソースからの構築とインストール
  - ソース配布物の入手方法
    - tarball
    - cvs ツリーから
  - ソースからの構築・インストール手順
  - より複雑なインストール
- 依存性 (外部ライブラリ/補助プログラム)
- おすすめのフォント
- 文書のインストール方法
  - 文書を含む tarball のインストール手順
- FontForge の起動方法
- Uninstalling

## (Mac 上で) ソースを構築する前の準備

まず最初に、X11 サーバと Xcode ツールチェーンを両方とも間違いなくインストールしておく必要があります。この手順は OS X 10.3 と 10.4 とでわずかに異なります。

10.4
  - システムに付属するインストール DVD を開きます。
  - 画面を下にスクロールして「追加インストール」を探し、それを開きます。
  - "Macintosh HD"の「カスタムインストール」画面が現れるまでクリックし続けます。
  - 「アプリケーション」の横の矢印を押すと、内容一覧が表示されます。
  - X11 を選びます
  - `(続ける)` を押し続けます

  - Xcode ツールチェーンはインストール DVD のオプションインストール可能なソフトウェアに含まれています。ディスクを挿入して、XCode のインストールアイコンをクリックしてください。
10.3
  - X サーバは 3 枚目のインストール CD の X11User というパッケージに含まれています。
  - XCode CD 上の X11SDK パッケージをインストールすることもできます。
  - この場合、XCode は自分でインストールする必要があります。

よろしければ、多数の有用なライブラリを含む fink パッケージをインストールしてください (これに関するより詳しい情報は 後述の依存性 セクションを参照してください)。

次に、コマンドを入力するために Terminal のウィンドウを起動する必要があります (Terminal アプリケーションも、Applications フォルダの Utilities サブフォルダにあります)。(とても Mac らしくない行為ですが)。

## MS-Windows 上で) 構築する前の準備

cygwin 環境をダウンロードする必要があります。おそらく必要なのは:

- 基本的な cygwin パッケージ群
- X11 パッケージ
- xterm パッケージ
- gcc, make を含むパッケージ (おそらく“c compiler development”というような名前であるはずです)
- 各種の画像フォーマットのサポートを提供するためのオプションで追加可能なパッケージをいくつかダウンロードしたいと思うことでしょう (下記の依存性セクションを参照してください)。

警告: cygwin は Windows と異なるファイルシステムへのアプローチをとっています。`C:\windows\fonts\arial.ttf` のようなファイル名は cygwin では `/cygdrive/c/windows/fonts/arial.ttf` という名前が付けられます (バックスラッシュはスラッシュに置き換えられ、先頭のドライブ名“`C:`”は“`/cygdrive/c`”に置き換えられます。

それが終ったら構築のための用意はすべて整いました。cygwin の端末ウィンドウを開けば、コマンドを入力する準備ができています。

## ソースからの構築・インストール方法

### ソース配布物の入手方法

ソース配布物を入手するには基本的に 2 つの方法があります。1 つは、Web から完全なソースツリーをダウンロードする方法で、もう 1 つは、あなたのマシンにあるソースツリーできるだけ最新のものに保守するための CVS ユーティリティを使う方法です。後者の方法を使えば、手の切れるような真新しいバグを体験できます。

#### tarball

Sourceforge のファイルリリースシステムに tarball (.tar.bz2 という拡張子をもつファイル) があります。
より新しい版であることが多い tarball (2006年5月7日版) への直接リンクがここにあります。

これらのパッケージのどれかをダウンロードしたら、tarball をカレントディレクトリに移動するか、tarball があるディレクトリに移動 (私はあなたのブラウザがどこにファイルをダウンロードするか知らないので、ここで明白な手順を説明することはできません) して、以下のようにタイプしてください (“$”はタイプしません)

>     $ bunzip2 fontforge*.tar.bz2
>     $ tar xf fontforge*.tar
>     $ cd fontforge-*

#### cvs ツリーから

cvs は、多くのユーザがソースツリーを同時並行的に編集することができる便利な一連のユーティリティです。(ローカルな) あなた自身の (文書を含む) CVS ツリーのコピーを得るには、以下のようにタイプします (“$”をタイプしてはいけません。パスワードを聞かれたら、Returen キーだけを押してください):

>     $ cvs -d:pserver:anonymous@fontforge.cvs.sourceforge.net:/cvsroot/fontforge login
>     CVS password:
>     $ cvs -d:pserver:anonymous@fontforge.cvs.sourceforge.net:/cvsroot/fontforge checkout fontforge
>     $ cd fontforge

ディレクトリを一度作成したら、以下のようにタイプすれば最新のバージョンを得るための更新を行うことができます:

>     $ cd fontforge
>     $ cvs -d:pserver:anonymous@fontforge.cvs.sourceforge.net:/cvsroot/fontforge login
>     CVS password:
>     $ cvs -d:pserver:anonymous@fontforge.cvs.sourceforge.net:/cvsroot/fontforge update

それに加えて、CVS ツリーをオンラインで閲覧 することもできます。また、より詳しい情報については、sourceforge の解説を参照するか、CVS のマニュアルを参照してください。

### 構築・インストールの手順

ここまでの手順で、ソースのシステムへのインストールは済んでおり、現在そのトップディレクトリにいるはずです。あなたは、configure (こ、システムをどのように使うかを指定するごく小さなプログラムです) を実行してパッケージの設定をしてから、プログラムを構築する必要があります (“$”はタイプしません):

>     $ ./configure
>     $ make

これが終ったらおそらく、構築したものをインストールすることになるでしょう。これは root として行う必要があります:

>     $ su
>     password: ******
>     # make install

Mac ではこの手順とは僅かに異なります:

>     $ sudo make install
>     password: ******

### より複雑なインストール方法

configure スクリプトを使って、あなたのシステムでは不要な各種の FontForge の機能をオフにすることができます。下記の説明より詳しいオプション一覧は

>     $ configure --help

で得ることができます。最も利用価値の高いものを以下にいくつか挙げます。

#### FontForge を X 抜きで構築するには

X11 をシステム上にインストールしたくない場合は、フォント操作用のスクリプトを実行できるコマンドラインツールとして FontForge を使用することができます。FontForge のスクリプト言語はスクリプト処理のセクションに書かれています。

>     $ configure --without-x

#### Type3 フォントが編集可能な FontForge を構築するには

PostScript Type3 フォントを編集したいならば、通常のフォントで使用可能な描画モードを超えるアクセスができるように FontForge を設定することによってそれができます。

>     $ configure --with-multilayer

#### デバイステーブルが編集可能な FontForge を構築するには

OpenType フォントにデバイステーブル (これを使うと特定のピクセルサイズにおけるカーニングデータを補正できます) を作成したいならば、以下のようにします。

>     $ configure --with-devicetables

#### FontForge をどこか `/usr/local` 以外の所へインストールするには

FontForge を通常と異なるディレクトリ (以下の例では /usr/bin) にインストールしたいときには:

>     $ configure --prefix=/usr

#### CVS ツリーからの文書のインストール方法

システム上に CVS ツリーのコピーがあるときには、以下のようにタイプします。

>     # make install_docs

この場合にも、インストールを行うためには root になる必要があります。あなたのシステムに応じて“su”か“sudo”のどちらか適切なコマンドを使用してください (上記を参照のこと)

## 依存性 (外部ライブラリ/補助プログラム)

FontForge は厳格な依存性を避けるように試みています。もしあるライブラリが欠けている場合でも、FontForge は (ほとんどの場合) そのライブラリの提供する機能のみを欠いた状態で実行を続けることができます。ですから TIFF 画像を取り込む必要がない場合、libtiff は不要です。SVG フォントを取り扱う必要が無いなら libxml は不要ですし、他のライブラリについても同様です。

文字画像の自動トレースを行いたい場合、以下のどちらかをダウンロードする必要があります。

- Peter Selinger の potrace
- Martin Weber の autotrace プログラム

CID キー指定フォントを編集したい場合、これらの文字セット記述ファイル が必要となります。（これらは 2004年12月22日に最終更新されました)。

FontForge 組み込みの文字セットエンコーディングにこれを追加したいかもしれません。FontForge の `エンコーディング(N)`→`エンコーディングを読み込み(L)` コマンドを使用してこれらのエンコーディングを追加することができます。

適切なライブラリがあれば、FontForge はトレース作業のために PNG, TIFF および GIF 画像を取り込んで文字の背景とすることができます (FontForge は外部ライブラリなしで BMP および xbm フォーマットを取り込むことができます)。libxml2 があれば FontForge は SVG フォントを読み込むことができます。FreeType ライブラリがあれば FontForge はビットマップ文字を作成するときにより良好に動作します。libuninameslist は、Unicode の文字に対する標準 Unicode 名と注釈を提供します (これは英語版とフランス語版の 2 つのローカライズ版があります)。libintl (GNU gettext) があれば、fontforge はユーザインターフェイスを翻訳できます。

FontForge のコンパイル/実行には上記のどのライブラリも必要ではなく、もしライブラリが存在しなければそれらは使われません (実行ファイルの構築に使ったマシンにそれらのライブラリが無い場合、ライブラリを再構築するだけではなく、ソースから再構築する必要があります)。あなたのマシンにそれらがなくてインストールしたい場合はこちらから入手可能です:

- 各種の画像ライブラリ (FontForge にそれらのフォーマットの画像を取り込むのに必要)
  - libpng (および必須の補助ライブラリ zlib)
  - libtiff
  - libungif
  - libjpeg
- Mac OS X ではこれらのライブラリは fink プロジェクトから入手可能です。
- libxml2
  SVG ファイルとフォントを読み込むために必要。
- libuninameslist
  Unicode 文字名と注釈を表示するために必要。
- これが必要なのは組み込みの iconv() をもたないシステムだけです。これが存在しない場合のために、FontForge は動作するのに必要な最小限のバージョンのライブラリを含んでいます。FontForge はシフト JIS を必要とするので、libiconv を使用する場合は、その作成時に configure を `--enable-extra-encodings` つきで実行する必要があります。
- freetype
  ビットマップのラスタライズをより美しく行うため、および TrueType デバッガを利用可能にするために必要。

  いくつかの FontForge のコマンドは、あなたのインストールしている FreeType が、バイトコードインタプリタを使用可能にしてコンパイルされたかどうかに依存します。この機能は、Apple に与えられた特許に抵触するため、デフォルトではオフにされています。あなたが Apple から使用許諾を受けている (またはそれらの特許が適用されない国に住んでいる) ならば、ライブラリをビルドする前に、…/include/freetype/config/ftoption.h の適切なマクロを設定して、その機能を使用可能にすることができます (FreeType の配布物に入っている README.UNX ファイルを参照してください)。 TrueType デバッガを有効にするためには、FontForge のコンパイル時に FreeType のソースディレクトリにアクセス可能になっている必要があります (依存するインクルードファイルがいくつかあります)。

- cygwin
  MS-Windows システム上での構築または実行には cygwin の環境とライブラリを必要とします。
- libintl
  多くの Unix では標準です。Mac では fink パッケージの一部です。

私のビルドでのシェアドライブラリのバージョン
| libpng | libtiff | libungif | libjpeg | libxml2 | libuninameslist | freetype
i386 linux builds | 3.1.2.2 =1.2.2 | 3.5 =20011128 | 4.1.0 =4 | 62.0.0 =62 (6b) | 2.5.4 =2.5.4 | 0.0.1 | 6.3.3 =2.1.9
solaris builds | 2 =1.0.8 | 3 =19970127 |  | 6 =62 (6b) |  |  |
Mac OS/X builds | (static) |  | (static) | (static) | 2.5.0 =2.5.0 |  | 6.3.3 =2.1.4

通常は FontForge は X11 ウィンドウシステムに依存しますが、スクリプト実行エンジンにのみ興味がある (ユーザインターフェイスには興味がない) 場合、システムを X なしで実行することができます (configure スクリプトはこれを検出できるようにするべきでしょう)。

FontForge で使う Unicode のビットマップフォントをどれかダウンロードしたほうがいいでしょう。

- 狩野のフォントビュー用フォント
- my monospace fonts
- my sans-serif font
- The unifont
- ClearlyU's font
- The FreeFont project
- X fixed
- Computer Modern Unicode fonts
- 自由な OSのための Unicode フォントガイド

- FontForge の、 BMP 外の Unicode ビットマップフォントの扱い方

これらをインストールするには、それをらどこかのディレクトリに置き、そのディレクトリで以下のようにタイプします:

>         $ mkfontdir
>         $ xset fp+ `pwd`

あなたのマシン上で X を起動したときに常に xset を確実に実行するように設定するべきでしょう (あなたの .xsession ファイルに追加してください)

## 文書

FontForge マニュアルの完全版はオンラインで利用可能です。

- これを tarball (2006年4月6日版) に固めたものも入手可能です。
- 日本語訳 の tarball (2006年4月6日版)
- より短いチュートリアルが
  - オンラインで利用可能です。
  - 日本語版チュートリアル
  - 教學 (繁体字中国語版)
  - PDF としても入手可能です
  - サンプルファイル (自分でチュートリアルを動かすための)
- 文書の tarball はファイルリリースシステムから取って来ることができます。
- CVS ツリーには、マニュアルを含む htdocs/ という名前のサブディレクトリがあります。
  - CVS ツリーには、マニュアルの日本語訳を含む htdocs/ja/ という名前のサブサブディレクトリがあります。

  CVS ツリーへのアクセス方法については、CVS ツリーの一般的コメントを参照してください。
  CVS ツリーから文書をインストールする方法については、CVS からの文書のインストールのセクションを参照してください。

### 文書の tarball をインストールする方法

上記の方法で文書の tarball をダウンロードしたら、それを含むディレクトリに移動し、以下のようにタイプします。

>     $ su
>     password: ******
>     # mkdir -p /usr/local/share/doc/fontforge
>     # mv fontforge_htdocs*.tgz /usr/local/share/doc/fontforge
>     # tar xfz fontforge_htdocs*.tgz
>     # rm fontforge_htdocs*.tgz

これを行った後は、FontForge はシステムにインストールされた文書を [F1] キー (または [Help] キー) を押したときに見つけることができるようになります。もしそれを行わないならば FontForge はオンラインの文書を探します。

- FontForge の起動方法