# FontForge

FontForge ― あなた自身の PostScript, Openype, CID, マルチプルマスター、CFF, SVG およびビットマップ (BDF, FON, NFNT) フォントを作成したり、既存のフォントを編集したりすることができるアウトラインフォントエディタ。あるフォーマットから別のフォーマットに変換することもできます。FontForge はさまざまな Macintosh のファイルフォーマットをサポートしています。

FontForge のユーザインタフェースは以下の言語版が用意されています: (英語)・ロシア語・日本語・フランス語・イタリア語・スペイン語。
この Web サイトそのものは日本語 に翻訳されているほか、チュートリアルが繁体字中国語 に翻訳されています。ポルトガル語版 の翻訳が始まりました。

- アプリケーションのダウンロード

  各システム固有の注意点
  Unix/Linux | Mac | MS/Windows | VMS | ソースの構築方法

- User & Reference Manual. (ここからダウンロード可能) ― より短いチュートリアルの HTML - PDF - サンプルファイル ユーザ&リファレンスマニュアル 教學
- SourceForge のプロジェクトページ / SourceForge の ファイルリリースシステム
- 依存するファイル群
- CID キー指定フォントの編集のための補助ファイル
- おすすめのフォント
- ワコム製タブレットの設定方法
- 文書のインストール方法
- SFD フォントのライブラリ
- ライセンス
- 将来の改良
- 変更履歴 (以前の変更、さらに古い―PfaEditへの―変更)
- FAQ
- メーリングリスト
- 欠けている機能...
- 既知のバグ
- バグの報告方法
- あなたが手助けできるその他の方法
- 将来の改良予定
- 謝辞
- フォントファイルフォーマット (規格)
- Unicode
- 書籍
- 付属プログラム
  - sfddiff マニュアルページ
  - acorn2sfd マニュアルページ
  - 雑多なフォントユーティリティ
- 関連ツール
- オープンソースのフォント開発運動

## ライセンス

> > Copyright © 2000,2001,2002,2003,2004,2005,2006 by George Williams

> > Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:

> > Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.

> > Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.

> > The name of the author may not be used to endorse or promote products derived from this software without specific prior written permission.

> > THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

これは本質的に“修正 BSD ライセンス”と同じです。

## メーリングリスト

現在、FontForge のためのメーリングリストは 3 つ存在します。これらメーリングリストはすべて SourceForge で購読の設定ができます: http://sourceforge.net/mail/?group_id=103338. 購読者以外は投稿することができません (申し訳ありませんが、あまりに多くの SPAM が来るものですから)。

警告: これらのメーリングリストに投稿すると、あなたの電子メールアドレスが曝されることになります。

- fontforge-devel ― バグ報告、機能追加などを行うための場所
  購読の方法は、 http://lists.sourceforge.net/lists/listinfo/fontforge-devel を参照してください。
  過去のアーカイブは、 http://sourceforge.net/mailarchive/forum.php?forum=fontforge-devel を参照してください。
- fontforge-testcases ― 作者に大きなテストケースを送るための場所
  このリストを購読しないでください。
  過去のアーカイブは、 http://sourceforge.net/mailarchive/forum.php?forum=fontforge-testcases を参照してください。
- fontforge-users ― FontForge に関する一般的な議論を行うための場所
  購読の方法は、 http://lists.sourceforge.net/lists/listinfo/fontforge-users を参照してください。
  過去のアーカイブは、 http://sourceforge.net/mailarchive/forum.php?forum=fontforge-users を参照してください。
- fontforge-announce ― (私が) 大きな変更点などを告知するための場所
  購読の方法は、 http://lists.sourceforge.net/lists/listinfo/fontforge-announce を参照してください。

## 欠けている機能

FontForge は決して完全ではありません。それに、おそらくバグがいくつか残っているでしょう。頻繁にファイルを保存し、オリジナルのコピーに対して作業を行うことを考慮してください。

- 効率的に動作するための努力を行っていません。
- 正しく読み込まれない Type 3 フォントがたくさんあります。
- Type 0 フォントを取り込むとエンコーディングが失われます。FontForge は単純な Type 0 フォント (例えば FontForge 自身が作った物) のみを取り込みます。もし chars 辞書に 2 個以上のフォントが含まれていると混乱するでしょう。
- FontForge は Apple 高度組版 (AAT) フォントの文脈依存な合字をサポートしていません。
- FontForge がサポートしていない OpenType/AAT テーブルはたくさんあります。

## バグ

このリストには、私が気づいていてもどう直せばいいか分からない大量のバグが含まれています。小さなバグは私に報告されれば一般的に 1 週間以内に修正されるので、このリストに現れることはめったにありません。

- 私の TrueType ヒントづけ機能はまだ不出来です。とくに斜めの線が。
  - この用途には、R C van Dalen の TrueType ヒントづけユーティリティが役立つと思います。
- いくつかの TrueType フォント (kaiu や minliu) は、正確なアウトラインを内部に含んでいません。その代り、それらはアウトラインを生成するときに、命令を利用して点を移動する処理に依存しています。アウトラインのグリッド合わせはまったく行われず、単に配置を行うだけのようです。FontForge は命令を読み込み時に適用します。ほとんどのフォントではこれは行ってはならないと思われますが、いつ命令を処理するべきかをどうやったら判別できるのか私には分かりません…。
- Johab エンコーディングを2001年11月23日に追加して以来、Unicode エンコーディングを使用していたすべての (SFD ファイルに保存された) フォントは、突然 Johab エンコーディングであると解釈されるようになってしまいました。今のところ、これによる問題は発見されていません。それを Unicode に符号化し直せば、まったく問題なく使用できます。
- 自動カーニングがうまく行かないとの報告を受けています。(修正したはずですが、自信がありません)
- FontForge は、1 em ユニットよりも微小なスプラインがあると混乱を起こします。何らかの微小な図形が必要な場合、フォントを 2 倍かそれ以上の比率で (フォントの高さ・深さごと) 拡大してください。
- Type 3 フォント (または EPS ファイル) の取り込みには根本的な問題があります。ほとんどの PostScript プログラムでは、各輪郭は個別に描画または塗りつぶしが行われますが、Type 1 の 1 文字では、すべての輪郭は同時に塗りつぶされます。これは、輪郭が重なり合ったときに予期しない結果をもたらすことがあります (FontForge を複数レイヤー編集可能なように設定することは、問題解決の助けになるでしょう)。
- MetaFont コマンドは良好に動作しません。
- Linux 機では、ヒントや参照されたアウトラインを表す点線は壊れています。これは、Linux の X サーバのバグだろうと思います (その他のシステムでは起こりません) が、私はこれを詳しくテストしていません。
- FontForge は大きな (Xサーバの転送バッファ (私のシステムでは 4 メガです) より大きい) クリップボードのテキストをコピー & ペーストすることができません。
- Gnome では、メニューのニモニックは動作しません。これは Gnome のバグだろうと個人的には考えています。
- Gnome では、埋め込みパレットは 1 回目には動作しません。これは Gnome のバグだろうと個人的には考えています。
- KDE では、FontForge のウィンドウをアイコン化すると、画面の下部にあるボタンバーがクラッシュします。これは KDE のバグだろうと個人的には考えています。
- FontForge の出力する OS/2 テーブルの Codepages フィールドの値は厳密には正しくありません。
- ???

## バグを報告するには……

あなたもいくつかのバグを見つけると思います。それを特定することができて、再現可能な最小の例を作ることができたならば素晴らしいことです。実行可能ファイルにはシンボルが含まれているので gdb で実行すればスタックトレースが得られるでしょう… あなた自身で可能なことをしてください。バグ報告は以下のアドレスまで:

fontforge-devel@lists.sourceforge.net

## あなたが手助けできるその他の方法

- 私の書き物には不十分な点がたくさん残っています。私の文書をより読みやすくすることのできる人はどなたでも歓迎します。(または、別の言語に翻訳する人やより柔軟なフォーマットに変換したい人も。狩野は日本語版を作っています)
- 私は簡単なチュートリアルの PDF 版 も作成しました。これも翻訳できるでしょう (Web サイト全体を翻訳するよりはずっと楽な作業でしょう。翻訳をするつもりでしたら、ここに TeX ソースがあります)。
- UI も別の言語に翻訳できます。残念ながらこれは GNU gettext を使っていません。
  - 英語版は私が保守しています。
  - ロシア語版は Valek Filippov が提供しています。
  - 日本語版は狩野宏樹が提供しています。
  - フランス語版は Pierre Hanser と Yannis Haralambous が提供しています。
  - イタリア語版は Claudio Beccari が提供しています。
  - スペイン語版は Walter Echarri が提供しています。
  - カタルーニャ語版の翻訳は Javier Candeira が、(ブラジルの) ポルトガル語版は Gustavo Paolo が作業中です。
  - 私はほんの最小限のドイツ語訳をひどい英語訛りで作成しましたが、これを引き継ぐつもりの方はどなたでも歓迎します。
  - 何かほかの言語の追加は素晴らしいでしょう (UI 全部を翻訳する必要はなく、どんな部分訳でも助けになるでしょう)
- 別のファイルフォーマット
  FontForge は Type1, TrueType, OpenType および SVG フォント、それに加えてビットマップでは BDF と NFNT をサポートしています。
  FontForge はある意味で METAFONT ファイルを読み込むことができます (本質的には METAFONT を実行して結果を自動トレースします)。.mf ファイルは出力しません。
  FontForge は Ikarus ファイルを読み込むことができます (が書き出しません)
  FontForge は補助アプリケーションを使って acorn フォントを読み込みます。
  しかし私が解説を見つけることのできないその他のフォーマットがあります:
  - Microsoft FON ファイル (Windows 用ビットマップフォントリソースファイル)
- あまりよく動かないコマンドがいくつかあり、誰か他の人がやる気をだしてくれれば、私より上手なコードを書くでしょう……。
  - 重複除去 (現在は修正済みのはずです)
  - 自動カーニング (現在は修正済みのはずです)
  - Metafont
  - TrueType のヒントづけを行うための命令の生成 (特に、斜めのステムに対するヒント)
- 参照文献
  - 適切な書誌を提供したいと思いますので、関連する良書のご提案をお待ちしています。
  - ここで触れておくべき、プログラムや Web サイトはないでしょうか?
- テスト
  - 私は、非常に単純なテストスイートを書き始めたばかりです――基盤となるエンジンのクラッシュを取り除くためにはもっと多くのテストが、それが正しい結果を出力することを確かめるためにはさらに多くが必要です。自動化されたスイートに関する良案をどなたかお持ちであれば、または、現在のテストに追加のテストを提供したい方がいらっしゃれば、私にご連絡ください。
- 品質保証
  - 私はやりません。
    私は品質保証が退屈な仕事だと知っていますし、誰も私にこの件で給料を払っているわけではないので、頑張るつもりはありません。明らかにこれは問題です。私に代って品質保証の仕事をs引き受けてくださる方 (または何人かの方々) がいらっしゃいましたら、大変嬉しい限りです。
- 印字テスト
  - 印刷用の、著作権フリーなテキストを常時探し求めています。まだ何もテキストのない言語、またはテキストのない文体のサンプルを探しています。
    私はまた、英語の“The quick brown fox jumps over the lazy dog.”のような「いろは文」にも興味があります。
- インド系文字に関する情報
  - OpenType ではインドの諸言語のための一連の特殊合字機能が定義されています。FotnForge は恐らくこれらのいくつかはデフォルトで生成できると私は信じていますが、そう言い切れるほど十分な知識がありません。各種のインド系用字系に関する詳しい知識をお持ちであれば、変換の一覧表を

    >     U+0066 + U+0069 => U+FB01 'liga'

    のようなフォーマットでご提供いただけないでしょうか。

## 謝辞

`ファイル(F)`→`印刷(P)...` のサンプルテキストは多くの引用元に由来します。

以下の方々が FontForge をデバッグするのを手伝ってくれました。本当にありがとう! (本当はこのリストにはこれよりもっと長いはずです)。

- Tom Harvey
- Ken Chilton
- Gerhard Killesreiter
- Alexander Kotelnikov
- カリフォルニア州立大学サンタバーバラ校
  (ビルドとバグの発見を行うために、必要なシステムが私の家にないときに何回かマシンを使わせてくださいました)
- Uwe Koloska
- Max Neunhoeffer
- Martin Giese
- E.J. Neafsey
- Norvell Spearman
- Stefan Fendt
- Harald ?Gleis?
- Valek Filippov
- Pasi Eronen
- Luc Devroye
- Scott Pakin
- Robert Brady
- Dung Ta Quang
- Sivan Toledo
- Gerhard Schellhorn
- MinGyoon
- Olaf Rogalsky
- Baruch Even
- Volker Gering
- Torsten Bronger
- Jacob Jansen
- Ulrich Klauer
- Andrey V. Panov
- Edward G.J. Lee (李果正)
- Werner LEMBERG
- 狩野 宏樹
- Pierre Hanser
- Claudio Beccari
- Yannis Haralambous
- Walter Echarri
- その他多くの方々!

私が TrueType 命令をデバッグできているのは、FreeType の David Turner (および他の多数の方々) が、そのための API を提供してくれたおかげです。また、彼は“FontForge”という名前の提案者でもあります。

FontForge は、現在円満退職して MacroMedia にいる、AltSys の Fontographer に鼓舞されています

私の父はタイポグラフィに関する一般的な興味を喚起してくれました (彼はコンピュータよりもルネッサンスの印刷技術の方に興味があるのですが)。

そして、最後に私は Linda Dozier, David Cole および、このプログラムを書くための自由な時間を私にくれた NaviSoft の全員に感謝しなければなりません。

## 関連するツール

- BDF エディタ
  - xmbdfed ― bdf エディタ。
  - gfe ― GNU フォントエディタ。そのうち他のフォーマットもサポートするようになると思われます。
  - fstobdf ― X の配布物に含まれています。フォントをサーバから読み込み、それを元に BDF ファイルを作成します。
- PostScript/TTF フォントエディタ
  - Manutius ― (Windows、ドイツ語 UI、Type1 フォント専用)
  - spif ― 開発中 (オープンソース)
  - gfonted ― 開発中 (オープンソース)
  - DoubleType ― Java ベースのオープンソース TrueType デザイン用ソフト
  - Luc Devroye による、各種フォント作成プログラムへのリンクページ
  - PfaEdit ― FontForge の旧名称

  - Fontographer ― 私のお気に入りで、1996 年以来更新されていなかったのが、2006 年の新版を約束する FontLab に最近買収されました (商用)
- FontLab ― TrueType のヒントづけには非常に優れたツールと言われている (商用)
  - AsiaFont Studio ― 大きなフォント用の FontLab (商用)
  - FontMaster (かつて Ikarus と呼ばれていた) ― 最高級品のフォント作成ソフトウェア。 (商用)
  - CR8Type ― TrueType フォントエディタ (商用)
- テンプレートによる自動フォント生成
  - stiligt (スウェーデン語)
- METAFONT ― スプラインに基づいたプログラムからビットマップを生成する、Knuth の開発したフォント生成機 (また、それと関連する TeX のユーティリティ)
  - (TeX のパッケージに含まれています)
  - MetaPost, PostScript の図形描画のために METAFONT 言語を使用します。
  - MetaType1, METAFONT のスプラインから Type 1 フォントを直接出力する試み (だと思います)
  - TeXTrace, TeX フォントを高解像度でラスタライズしてから自動トレースして PFB フォントを出力します。
  - mftops, これも同様
  - mftrace, pk フォント (ビットマップ画像) をトレースして PFB/PFA ファイルを作成します (かつては pktrace と呼ばれていました)。
- PostScript フォントのユーティリティ
  - gfontview ― PostScript/TTF フォントを表示します。
  - gglyph ― もう一つのフォントソフトウェア
  - t1utils ― Type 1 ユーティリティプログラムおよび、マルチプルマスターのユーティリティ
  - Type1inst ― Type 1 フォントの X と ghostscript へのインストールを手助けします。
  - ttftot42 ― TrueType を Type 42 PostScript フォントに変換します。
  - type1fix ― (TeXtrace パッケージの一部です)。Type 1 フォントを ATM で動作するようにします。
  - 自作の品々 ― Type 1 デコーダおよびコンバータ。TrueType および OpenType のデコーダ。
- TrueType のユーティリティ
  - Rogier C van Dalen は、TrueType フォントの表示とヒントづけを行うための一連のユーティリティを書いています。
  - Peter Baker は xgridfit という名の (未発表の) プログラミング言語を持っています。現在のところ、彼による junicode フォントに同梱された形でのみ入手可能です。
  - TTX は OpenType フォントに含まれるあらゆる変てこなテーブルを (XML との相互変換を行うことによって) 編集することを可能にするオープンソースソフトウェアです。
  - Microsoft は多数の品々を提供しています (当然 Windows 専用です)。
    - 各種のツール
    - フォント属性エディタ
    - フォントインストラクタ
    - フォント署名機 (フォントの DSIG (デジタル署名) テーブルを出力します。あらかじめ、Verisign からキーを取得する必要があります。
  - Adobe も、フォント開発者キットを提供しています (ほとんどは OpenType のテーブルを設定するための物だと思います。)
  - Apple もまた提供しています (Mac 専用)
  - OS X 用のツールもいくつかあります (Mac 専用)
- その他のフォント制作ツール
  - Palm pilot 用の各種フォントコンバータ
  - pcf から Windows の fon 形式へのコンバータ
  - bdf から Windows の fon 形式へのコンバータ (BDFtoFON)
  - nafe ― テキストベースの psf フォントユーティリティ
- フォント操作ライブラリ
  - RoboFab ― Python 用のフォントライブラリ
- ラスタライザ
  - t1lib ― Type 1 ラスタライザ
- 私の作ったその他のフォントツール
  - fondu ― Mac のリソースファイル (これには dfont も含まれます) を開梱します。‘sfnt’,‘POST’および‘NFNT’リソースに対応する TTF, PFB および BDF ファイルを出力します。
  - mensis ― Truetype のいくつかのテーブルに対して、FontForge が提供する機能よりもずっと詳細にユーザが調整できます。
  - showttf ― TrueType/OpenType フォントの内容をダンプします。いくつかのエラーチェックも同時に行います。
  - pcl2ttf ― (HP のプリンタに送るための) pcl ファイルを読み込み、そこに含まれるすべての TrueType ビットマップフォントを取り出します (ビットマップフォントは BDF ファイルに出力され、TrueType フォントは TTF ファイルに出力されます)。
- フォント整理ツール
  - fontlinge
- 自由な OSのための Unicode フォントガイド
- このリストに含めるべきツールをご存知でしたら、私にご連絡ください。私が調査を行ったのは 2 年も前のことなので、この情報は古びてしまっていることでしょう。

  ## オープンソースフォントの開発運動

  - DejaVu ― Bitstream Vera のキリルおよびギリシャ文字への拡張
  - Free UCS Outline Fonts ― ISO 10646/Unicode 文字セットをカバーする 1 組のフリーな OpenType フォント
  - Computer Modern Unicode ― Knuth の TeX フォントのアウトラインベースの版。Unicode 拡張あり。
  - JUnicode ― ヨーロッパ中世のテキストを取り扱う学者に特に向いている、自由な (GPL の) フォント
  - TypeForge ― 協業によるフォント開発のためのサイト。