エレメントメニュー

その他、FontForge のデフォルトのままのビルドではメニューには現れませんが、configure-fontforge.h を変更してからコンパイルすることによって利用可能になるメニュー項目が 2 個あります。

フォント情報(F)
どのビューから実行した場合でも、フォント情報ダイアログを起動します。
CID フォントでは、CID フォント全体の情報 (CID→CIDフォント情報(I)で設定できます)ではなく、現在のサブフォントに関する情報の設定ができます。
グリフ情報(I)
どのビューから実行しても、グリフ情報ダイアログを起動します。
情報を得る(I)
アウトラインビューでは選択した物によって異なる 4 種類の異なるダイアログ (点の情報、画像情報、参照情報、アンカーポイント情報) のどれかを起動します。
組版機能(Y)
機能をフォントにコピー(C)...
このダイアログを使うと、あるフォントに含まれる機能のセットを他のフォントにコピーすることができます。
デフォルトのATT(D)
フォントビューでは、GPOSGSUB テーブルの様々な機能の値を生成することができるサブメニューを起動します。

このサブメニューは機能名のリスト (それに加えて、算出可能なすべての値に対するデフォルトを指定する "All" と、すべての合字に関するデフォルトを与える "Ligatures") からなります。FontForge は選択中のすべてのグリフに対するデフォルトを探します。それに加え、特別な項目が 1 個あります:

タグへの接尾子...
Adobe のグリフ命名の慣例では、別字形のグリフは標準グリフの名前に接尾子を追加した名前をつけることになっています。これにより、"A" のスワッシュ字形は "A.swash" という名前をつけることになります。

このコマンドを使用すると、機能タグに対応する接尾子を FontForge に対して指定することができます。(上の例で言えば、"swsh" 機能に ".swash" という接尾子を対応づけたことになります――特別にそうしないよう指定しないかぎり、デフォルトでこうなります。FontForge はあらかじめこの対応を知っています)。

すべての機能を削除(R)
すべての組版機能を削除します。 機能を削除(E)...
このダイアログを使用すると、どの機能を削除するか選択することができます。
未使用の入れ子になった機能を削除(N)
入れ子になった機能で、コンテキスト依存機能や連鎖機能からも Apple の状態機械からも参照されていないものがある場合、このコマンドはそれらをすべて削除します。
機能タグをつけ直す(T)...
この機能 を使用すると、指定した機能に関する OpenType のタグ (または機能/設定) を変更することが可能です。(これはカーニング情報のタグはつけ直しません)。
依存する文字を表示
参照一覧(R)...
このダイアログはビットマップビューでは使用できません。どのグリフが現在のグリフへの参照を含んでいるかを表示します。これを実行すると、現在のグリフに依存するすべてのグリフを一覧表示するウィンドウが現れます。そこでグリフを選択して [表示] ボタンを押せば、そのグリフを開くことができます。
置換一覧(S)...
現在のグリフに依存する置換 (合字、複数文字への置換など) をすべて表示します。例えば "i" を選択した場合、"fi" が合字として依存しているのが表示されるでしょうし、"A.swash" を選択している時は "A" が 'swsh' 選択型置換として表示されているのが表示されるでしょう。
問題点を発見(O)...
このコマンドはビットマップビューには存在しません。このコマンドはいくつかのよくある問題点を探します。グリフビューでは修正の必要のあるすべての問題点を表示します。フォントビューでは選択中の文字をすべてチェックし、どれかの文字に問題があればそれを開き、問題点を表示します。それとともに、発見された各問題点を通知するメッセージを送ります。問題点を発見 ダイアログが開かれます。
使用するビットマップ...
このコマンドはビットマップフォントのピクセルサイズ一覧を表示します。 編集中のフォントにビットマップが含まれているときは、それらのピクセルサイズを一覧表示します。リストからサイズ表示を取り除くと、SFD ファイルからそのサイズのビットマップフォントが削除されます。サイズを追加すると、そのサイズのフォントが追加され、SFD ファイルに格納されます。

FontForge が取り扱うのはピクセルサイズであってポイントサイズではありません。ピクセルとポイントの間の変換はシステムごとに異なり、実際には表示画面ごとに異なります。1 ポイントは (約) 1/72 インチですが、1 ポイントが何ピクセルに相当するかは画面の設定によって異なります。通常 1 ピクセルは 1/72 インチ〜 1/144 インチvです。システムが異なると "標準" としてサポートされるデフォルトの画面解像度は異なります。FontForge は、以下の標準について知ろうと努めています。
ポイント数とピクセル数のいくつかの変換方法

画面解像度
ポイントサイズ

72dpi
Mac
75dpi
X
96dpi
Win
100dpi
X
120dpi
Win
10pt 10 10 13 14 17
12pt 12 12~13 16 17 20
18pt 18 19 24 25 30
24pt 24 25 32 33 40

残念ながら、あなたの画面解像度はおそらく標準解像度とは一致しないでしょう。X では標準解像度は 75dpi と 100dpi で、MS Windows では 96 dpi と 120dpi、Mac では 72dpi です。このダイアログは、ピクセルサイズと、これらの解像度におけるポイントサイズとの間で変換を行います。

通常は、新しいグリフはアウトラインフォントをラスタライズすることによって作成されます。システムに freetype2 ライブラリがインストールされている場合 (そして「FreeType を使う」チェックボックスにチェックが入っている場合) FontForge はビットマップの生成に FreeType ラスタライザを使用します。それ以外の場合、FontForge は内蔵ラスタライザ (能力では劣りますが、オーバヘッドは少し削減されます) を使用します。

最後に、もしアウトラインフォントが存在しない場合、新しいグリフはフォントビュー内に表示されている (ビットマップ) フォントを拡大・縮小して作成されます。

CID フォントでは、各サブセットにはビットマップは存在しません。その代りに、サブフォントの複合体全体がビットマップを共有します。

FontForge はアンチエイリアス表示のビットマップフォントもサポートしており、このダイアログを使ってそれらを生成するように設定することもできます。12 ポイントのアンチエイリアスフォントを各ピクセル 8 ビットの階調で作成したいなら、上のダイアログに 12@8 と入力します。FontForge は各ピクセル 1, 2, 4, 8 ビットのフォントをサポートしています (各ピクセル 1 ビットのフォントは標準ビットマップで、その他はグレイマップです)。
(新しいグレイマップは古いグレイマップを拡大・縮小して作成することはできません。グレイマップフォントを作成したい場合、アウトラインフォントを持っている必要があります)。

ビットマップの再生成...
アウトラインフォントに基づいたビットマップが作られている場合、そのアウトラインを変更したら (ある時点で) ビットマップもちょっと直したくなるでしょう。このコマンドを使用すると、既存のビットマップフォントに含まれるあるグリフのサブセットを再生成することができます。どのピクセルサイズを再生成するかを選択することもできます (上のコマンドと異なり、あるビットマップサイズを再生成のリストから削除しても、フォントからそのサイズが削除されることはありません)。
上と同じように、グレイマップを変更したい場合は <ピクセル数→ピクセル階調のビット数> で指定することができます。
変形
このサブメニューは、ビットマップビューでは他のビューとかなり異なる選択肢が表示されます。(なぜならビットマップは離散的で、スプラインのような連続変形は無意味だからです)。
変形(T)...
フォントビューとアウトラインビューではこのコマンドは変形ダイアログを表示します。このコマンドは普通に考えて利用できそうな標準的な線形変換 (回転、拡大・縮小、平行移動、傾き) を提供します。
透視変換(P)
非線形の変形...
水平方向に反転(H)
ビットマップを水平方向に反転します (ビットマップビューのみ)。
垂直方向に反転(V)
ビットマップを垂直方向に反転します。(ビットマップビューのみ)
時計回りに90°回転(R)
ビットマップを時計回りに90°回転します。(ビットマップビューのみ)
反時計回りに90°回転
ビットマップを反時計回りに90°回転します。(ビットマップビューのみ)
180°回転
ビットマップを 180°回転します。(ビットマップビューのみ)
傾き(S)
ビットマップを傾ける割合を指定します。1:3 の時は、y 方向に 3 ピクセル上にいくごとに 1 ピクセル横に傾くことを意味します。(ビットマップビューのみ)
非線形の変形...
このコマンドはデフォルトのビルドでは利用できません。configure-fontforge.h を修正して FontForge をビルドしなおす必要があります。このコマンドを使うと、非線形の座標変換を 2 個の数式として指定することができます (最初が x 座標の変換式を、2 番目が y 座標の変換式を表します)。これらの数式には x と y の非常に一般的な式を各ことができます。構文の説明については、スクリプト処理のページを参照してください。
輪郭を太らせる(E)...
ビットマップビューでは使用できません。フォントビューでは選択されたすべてのグリフの前面にあるすべてのスプラインに対して太め処理を適用します。アウトラインビューでは、最低 1 個の点が選択されているすべてのパスに適用します (点が選択されていないときには、すべてのパスに適用します)。

上図は、ストロークの太め処理が何を行うかの簡単な例です。左上にある 2 本の開いたパスを元に、それらを右の 2 本の閉じたパスに変換します。
「輪郭を太らせる(E)」ダイアログは、パスを太くする処理のさまざまな様相を制御することができるダイアログを起動します。ストロークの幅、開いたパスの端をどう描くかおよび 2 本のスプライン (または直線) がつながる点で傾きが等しくない場合 (すなわち、角になっている点で) どのような形になるかを選ぶことができます。または、パスをカリグラフィ用のペンや楕円のペンでなぞった時のような形を選ぶこともできます。また、閉じたパスに対しては、生成された輪郭のうち内側にある物を除去するか、または外側にある物を除去するかも選択することができます。(注意: パスの削除を行う前には、エレメント(L)→アウトラインの向きを修正(C)を使って、グリフに含まれるパスの方向が正しいことを確めてください (向きが間違っていると、反対の輪郭が削除されてしまいます))。

どうやって処理しているのか?

パスを敷きつめる(P)
このコマンドはデフォルトのビルドでは利用できません。ファイル configure-fontforge.h を修正してから FontForge を再ビルドする必要があります。このコマンドはクリップボードの内容をとり、それを選択中のパスに当てはめるためのタイルであるかのように扱います。
重なり合う図形を結合(R)
ビットマップビューでは使用できません。2 本の閉じたパスが交差するとき、それらを重なり合っていると言います。このコマンドは、重なり合いを取り除いて 1 本のパスに変換します。

パスの向きが正しいことを確かめておいてください。2 本の輪郭をもつ文字 "O" を考えましょう。2 本の輪郭が同じ方向を向いている場合、内側のものが削除されます (外側のパスが全体に重なり合っているからです) が、輪郭同士が逆向きになっている場合、内側のパスは保持されます。交差するパスが逆向きになっているときは非常に奇妙なことが起こります。


このコマンドは FontForge の中でおそらく最もバグが多いはずです。ですから、FontForge はコマンドを起動する前にエラー回復ファイルに現状を保存します。
警告: 平行な (またはほとんどそれに近い) スプラインは問題を起こします。あまりに近い点も問題を起こす可能性があります。

重複部分を抽出(I)

これは 2 つの領域の交差部分以外のすべてを削除します。

重複部分を除去(E)

これは選択された輪郭内の領域を選択されていない輪郭から除去します。アウトライングリフビューでのみ使用可能です。

頂点を見つける(F)
これは重合う輪郭同士の交点を見つけ、そこを通るパスそれぞれに点を追加します。
単純化(S)
ビットマップビューでは使用できません。パス上にたくさんの点があって、そのうちのいくつかは実質的にはパスの形を指定する役割を果たしていない場合、このコマンドは無駄な点を取り除きます (このコマンドは線の傾きが水平または垂直になっている箇所にある点は取り除きません。PostScript インタプリタではそれがあると都合がいいからです)。

どうやって処理しているのか?

さらに単純化
これは 単純化(S) コマンドの変種で、Shift キーを押しながらメニューを呼び出すと使用できます。単純化処理によってどういう種類の誤差が生じてもよいかを指定することができるメニューが起動します。

最後に、今回使用する値の組を、それ以降に実行する 単純化(S) コマンド群のデフォルト値とするかどうかを指定することができます。

不要な曲線を除去(N)
これは 単純化(S) コマンドに似ています。この場合、実際には直線を描いているのに不要な制御点がある場合、このコマンドがそれらの制御点を取り除きます。
極大点の追加(X)
ビットマップビューでは使用できません。TrueType と Type1 のどちらでも、水平および垂直方向の極値にあたる位置に点が存在することを推奨しています。アウトラインビューでは、何らかの点が選択されていれば、選択された点の間に存在するすべての極値に点を追加します。フォントビューおよびメトリックビュー (または、アウトラインビューで何も選択されていなければ) 以下の 2 条件のいずれかが満たされている極値に点を追加します。1) スプラインの長さが em / 32 よりも大きい。2) その点が文字の輪郭全体 (現在のスプラインだけでなく) の極大/極小値に該当する。
効果
アウトライン(O)
選択されたグリフを中身の詰まった塊ではなく、グリフの輪郭だけが見えるように変形します。グリフのバウンディングボックスは変更しません。
インライン(I)
選択中のグリフを加工し、グリフがアウトラインで囲まれたようにします。グリフのバウンディングボックスは変更しません。
影つき(S)
選択中の各文字に影をつけます。 ユーザは影の長さと角度を調節することができます。
縁どり立体化(W)
選択されたグリフを縁取られた立体に見えるように加工します。
MetaFont...
このダイアログはフォントビューとアウトライングリフビューにのみ存在します。このコマンドによって、フォントをより太くしたり文字幅を狭めたりすることが可能です。これはあまりよく動きません。
注意
: これは TeX の .mf ファイルを読み込みません。この名前は、機能面で似たところがあるためにつけました。
自動トレース(R)
このコマンドは、Martin Weber の autotrace か Peter Selinger の potrace のどちらかのプログラムをダウンロードしていないと使用できません。グリフに背景画像が含まれていると、自動トレースプログラムが勝手にその画像のアウトラインをトレースしてくれます。より詳しい情報は、自動トレースのセクションを参照してください。
点を揃える メニュー
このサブメニューはアウトラインビューだけに存在し、これx使うと点を座標軸にぴったり沿うように揃えることができます。
座標の平均値(A)
このコマンドは選択中のすべての点を調べ、値のばらつきが少ない方の座標軸を選択します。次に、その軸上での平均値を取って中間点を求め、選択中のすべての点をその平均値に揃えます。
ですから、ほとんど水平に並んでいる線がある場合、その端点を選択してこのコマンドを適用するとその線は水平になります。
                       
(選択した点がちょうど 2 個で、それらが 45°に近い斜めの関係にある場合は、水平・垂直ではなく斜め方向に揃えられます。)
点の間隔を均等に(S)
3 個以上の点を選択している場合、FontForge は差が大きいほうの座標軸を選び、その軸に沿って等間隔に点を分散させます。
点を 1 個だけ選択している場合 (しかもその点がパスの中間にある場合)、点の位置は (内部的に) 選択した点の両隣の点を結ぶ直線が座標軸に平行になるように回転した座標軸で表現されます。選択中の点はその軸に沿って 2 点の中間となる位置に移動します。この時、それに直行する軸方向の位置は固定しています。
これは非常に複雑な説明方法です: 水平な線上に置かれた 2 個の点の両方に接続した 1 個の点を選択した場合、選択した点の x 座標は 2 個の点の中間になり、それに対して y 座標は変更されません。
                       
グループ間を均等に(R)
これは上のコマンドと似ていますが、相対位置を保ちつつ移動したい点のグループをとても簡単に定義することができる点が異なります。このコマンドは、それらのグループごとの間隔を、選択した座標軸に沿って均等に配置します。1 個のグループは、その中の点同士がすべてグループ内の他の 1 個以上の点と、所定の最大距離以内にある点の集まりとして定義されます。このコマンドの目的は、文字 "m" のステム同士を横方向に均等に配置するような操作を可能にすることです。残念ながら、これが役に立たない場合は非常に多くあります (セリフつき書体では、しばしばあるセリフと他のセリフとの間隔のほうがセリフの属するステムとの間よりも狭くなります)。
                       
平行に(P)
4 個の点を選択中で、それらの間に 2 本の直線が通っている場合、FontForge はそれらの線が平行になるように点を移動します。4 本の直線が通っている場合 (つまり、四角形を構成している場合)、FontForge はそれらを平行四辺形に変形します (これは直線だけに作用し、曲線のスプラインには作用しないことにご注意ください)。
移動するのは最後に選択した線です (FontForge は、どの点が最後に選択されたか覚えていないことがしばしばあります。その時は 1 個をランダムに選びます。これを避けたい場合は、点を選択した後で移動したい点をシングルクリックしてください)。
整数値に(I)丸める
ビットマップビューでは使用できません。FontForge は点の位置を実数として格納しています (つまり、それらの値には端数が含まれます)。TrueType は整数値のみをサポートしています (また、Type1, Type2 の両形式のフォントでもほとんどの場合は整数値が望ましいでしょう――実数値を使用するとフォントファイルが大きくなります) ので、フォントを出力する時には座標は整数値に丸められます。このコマンドは、選択した対象の座標値をすべて一番近い整数に丸めます。
1/100単位(H)に丸める
ビットマップビューとメトリックビューでは使用できません。FontForge の Type1 出力の精度は、出力ダイアログの [オプション] で、整数への丸めを off にした場合でも、em 単位の 1/100 に限られています。
近い値をまとめる(C)
ときどき、非常に近い座標値を確実に同じ値にしたいことがあります。このコマンドはそれを行います。
順序
このコマンドはどの順番で輪郭・参照と画像を描画するかを変更します。この輪郭と参照の順序はグリフの形に影響しないので、ほとんどの場合は意味がありません。関係がある唯一の場合は、フォントを補間する場合とマルチプルマスターフォントの場合です。そのときは、同等の輪郭が出現する順番は同じでなければなりません。

輪郭と参照の両方を含むグリフがある場合、FontForge が参照と輪郭のどちらを先に描くか (それとも 2 つを混ぜこぜに描画するか) を指定することはできません。これが問題になる場合は、参照のリンクを解除してください。

時計回り(O)
アウトラインビューでのみ使用可能です。選択中のパスが時計回りの方向をもつ場合、ここにチェックがつきます。このメニューを選ぶと、それらすべてのパスが時計回りに変更されます。

選択中のパスがない場合、または選択中のパスがすべて開いたパスである場合、このメニューは灰色表示で選択できません。選択中のパスに自己交差しているものがある場合、結果がどうなるかは不定です。

反時計回り(N)
アウトラインビューでのみ使用可能です。選択中のパスが反時計回りの方向をもつ場合、ここにチェックがつきます。このメニューを選ぶと、それらすべてのパスが反時計回りに変更されます。

選択中のパスがない場合、または選択中のパスがすべて開いたパスである場合、このメニューは灰色表示で選択できません。選択中のパスに自己交差しているものがある場合、結果がどうなるかは不定です。

アウトラインの向きを修正(C)
ビットマップビューでは使用できません。一番外側のパスの向きを時計回りに設定します。次に交差するパスを反時計回りに、次を時計回りに、のように設定します。
このコマンドは、2 本のスプラインが交差している場合、予想外の結果を生じることがあります。
グリフに反転した参照が含まれている場合は、このコマンドでは参照に含まれる輪郭を直接修正することはできません。その代りに、参照のリンクを解除するかどうかを尋ねるので、解除した後はその (以前の) 輪郭を他の輪郭と同様に扱うことができるようになります。
アクセントつきグリフ/複合グリフを構築
ビットマップビューでは使用できません。

前者のメニュー項目はアクセントつき文字を組み立てるだけです。後者では、一般的な複合グリフ (分数、合字、括弧つき数字、ローマ数字など) を組み立てることもできます。

現在のグリフがアクセントつきグリフであれば (なおかつ基底グリフとアクセントが既に作成してあれば)、このコマンドはグリフの前面に含まれている内容をすべて削除し、基底グリフに対する参照と、アクセントのグリフに対するもう一つの参照を前面に配置します。例えば、現在のグリフが "À" であれば、"A" への参照がそのグリフに追加され、"`" への参照が "A" と中心を合わせて配置されるでしょう。
もし
コピー元の指定(F) が「すべてのフォント」に設定されていると、すべてのサイズのビットマップに対して同じ処理を行います (アウトラインビューで実行した場合も行います)
より完全な説明は、アクセントつきグリフに関するセクションにあります。

複製グリフを作る
フォントビューでのみ使用可能です。
文字 "Alpha" と "A" を考えてみましょう。これらはしばしば同一のグリフで表現されます。このコマンドはエンコーディングを微調整して、U+0391 の文字コードが "A" という名前のグリフを指し示すようにします。これは、"Alpha" というグリフが "A" という別のグリフを参照するのとは微妙に異なることに注意してください。
フォントの統合(M)...
フォントビューでのみ使用可能です。Unicode フォントを作成している時には、他のエンコーディングのフォントを併合したくなることがよくあります。もちろん、他のフォントからカット&ペーストをすれば可能ですが、それを行うには通常はグリフ 1 個ずつ作業しなければなりません (なぜなら、そのエンコーディングは Unicode と並び順が異なるからです)。その代りに、フォントが (正しい Unicode 名をつけて) 正しくエンコードされている場合、フォントの統合(M) コマンドを実行すれば現在のフォント内の正しい位置にそれらのグリフが配置されます。

FontForge は、CID フォントを統合する時には以下の処理を行います。

フォントの補間(L)...
フォントビューでのみ使用可能です。ボールドとライトの 2 つのウェイトのフォントがあってそれらを元にミディアムフォントを作成したい場合、2 個の間の中間フォントを補間によって作成することができます (または、さらに太いフォントや細いフォントを補外して作ることもできます)。その 2 つのフォントは同じグリフのセットを含み、各フォントに同じ個数のパスを含み (同じ順序で並んでいて) 各パスには同じ個数の点を含んでいなければならず、含んでいる参照も同じでなければなりません。

その他のメニュー

-- -- 目次 -- --