下記の文章はGlyphs3ハンドブックを個人的に日本語に訳したもので、内容には誤訳を含む可能性もあります。誤訳により生じた一切の責任については負いかねますので予めご了承ください。 参考サイト:Glyphs3 Handbook(PDF)、Glyphs2.3ハンドブック日本語版(PDF)、Glyphs Handbook(WEB)、Microsoft Typography documentation、CSSでのOpenType 機能の構文
第1章 Glyphs 第2章 作成 第3章 環境設定 第4章 編集ビュー 第5章 パレット 第6章 フィルタ 第7章 フォントビュー 第8章 フォント情報 第9章 図形の再利用 第10章 スペーシングとカーニング 第11章 PostScriptヒンティング 第12章 TrueTypeヒンティング 第13章 マルチプルマスター 第14章 カラーフォント 第15章 読み込みと出力 第16章 拡張機能 第17章 補足資料(作成中)
グリフ間のスペースは、スペーシングとカーニングによって制御されます。スペーシングでグリフをとり囲む一般的な余白を定義し、カーニングで特定のグリフ同士の間隔を調整します。
10.1 スペーシング
スペーシングとは、文章をリズムよく均等に配置するためにグリフのサイドベアリング(左右の余白)を調整することを言います。グリフのサイドベアリングの大きさや小ささに決まったルールはありません。スペーシングの量は、フォントのスタイルやグリフの字体に依存します。しかし一般には、似たような形状を持つグリフは似たようなサイドベアリングの値をもつべきです。例えば、「K」の左サイドベアリングと「H」の左サイドベアリングは通常同じ値であり、「D」と「O」の右サイドベアリングは同値か、または似通った値となるはずです。
テキストツールがアクティブで、表示 → メトリクスの表示(Cmd–Shift–M)がオンのとき、すべてのグリフのサイドベアリング値とグリフ幅が表示されます。
10.1.1 情報ボックス
情報ボックス(表示 → 情報を表示、Cmd–Shift–I)には、現在のグリフのサイドベアリングが表示されています。テキストモードでは、カーソルの後のグリフが現在情報が表示されているグリフにあたります。書字方向が左から右、または右から左のテキストでは、サイドベアリングの値は情報ボックスの中央にあるメトリクスアイコン(H字のアイコン)の左右に表示されます。
縦書きのテキストの場合、情報ボックスでは「上」と「下」の文字の横に上下のサイドベアリングが表示されます。
上矢印キーと下矢印キーを使って情報ボックスの値の増減することができます。10単位ずつ変更する場合はShiftを押しながら、100単位ずつ変更する場合はShiftとCommandの両方を押しながら入力してください。
情報ボックスでサイドベアリングを編集すると素早い調整が可能です。たくさんのグリフのスペーシングを編集する場合は、スペーシングのショートカットキーを使用すると便利です。
10.1.2 スペーシングのショートカット
スペーシングのショートカットは、テキストモードで現在のグリフのサイドベアリングを変更するときに使用します。Controlキーを押しながら左矢印キーと右矢印キーで左サイドベアリング、Commandキーを押しながら左矢印キーと右矢印キーで右サイドベアリングを変更します。Shiftキーも押したままにすると10単位での変更が可能です。
覚え方:Controlキーは左に、Commandキーは右に配置されています。つまり、Control:左サイドベアリング、Command:右サイドベアリングです。
ショートカット | 左/右 サイドベアリング | 増減値 |
Ctrl + ← | 左サイドベアリング | +1 |
Ctrl + Shift + ← | 左サイドベアリング | +10 |
Ctrl + → | 左サイドベアリング | -1 |
Ctrl + Shift + → | 左サイドベアリング | -10 |
Cmd + → | 右サイドベアリング | +1 |
Cmd + Shift + → | 右サイドベアリング | +10 |
Cmd + ← | 右サイドベアリング | -1 |
Cmd + Shift + ← | 右サイドベアリング | -10 |
ControlキーとCommandキーの両方を押したままにすると、左サイドベアリングと右サイドベアリングが同時に変更されます。実質的には、グリフがその幅を保ったままの左右に移動することになります。この方法は、グリフの幅を変更できない等幅デザインなどに特に有効です。
ショートカット | 左/右 | 移動量 |
Cmd + Ctrl + ← | グリフが左に移動 | 1 |
Cmd + Ctrl + Shift + ← | グリフが左に移動 | 10 |
Cmd + Ctrl + → | グリフが右に移動 | 1 |
Cmd + Ctrl + Shift + → | グリフが右に移動 | 10 |
初期状態では、Controlキーと矢印キーのショートカットは、Mission Controlのデフォルトのシステムショートカットと競合しています。Glyphsでうまく動作しない場合は、システム環境設定 → キーボード → ショートカット → Mission Control でシステムショートカットを無効にするか変更を行なってください。
10.1.3 メトリクスキー
数値の代わりにメトリクスキーを使用することで、別のグリフの左サイドベアリング、右サイドベアリング、およびグリフ幅の値をリンクさせることができます。情報ボックスのサイドベアリングのフィールド、またはグリフ幅のフィールドにグリフの名前を入力すると、そのグリフの各値が使用されます。例えば、「h」の左サイドベアリングを「l」に、右サイドベアリングを「n」にリンクさせることができます。
リンク先のグリフのメトリクスが変更されても、リンクされたメトリクスは自動的に同期されません。その代わり、編集ビューでは同期されていないメトリクスキーが、更新ボタンの横に赤色で表示されます。
数値を更新したい場合は、メトリクスキーの更新ボタンをクリックすることで同期できます。また、グリフ → メトリクス情報を更新(Cmd–Ctrl–M)を選択し、現在のレイヤーで同期していないすべてのメトリクスを修正します。このときOptionキーを押したままにすると、全マスターのメトリクス情報を更新します(Cmd–Ctrl–Opt–M)。これらのコマンドは、複数のグリフが選択されている場合にも機能します。
フォントビューでは、同期していないメトリクスを持つグリフはセルの右上に三角形の警告マークが表示されます。スマートフィルタ(7.5.4「スマートフィルタ」参照)を使用することで、同期していないメトリクスを持つグリフをすべて表示することもできます。
メトリクスキーでの演算
メトリクスフィールド内で演算を行うには、「=」(等号)とグリフ名を最初に記述し、続いて「+」(プラス、加算)、「-」(マイナス、減算)、「*」(アスタリスク、乗算)、「/」(フォワードスラッシュ、除算)の数学演算子を記述し、最後に数字を記入します。例えば「=n+10」であれば「n」のグリフのメトリクスの値に10を加えたものを示し、「=comma/2」であれば「,」(comma)のグリフのメトリクス値の半分を示します。また、「=o*1.2」や「=koKai-thai/1.5」のような小数も使用可能です。計算結果は最も近いフォント単位で丸められます。
メトリクスキーでの定数
「=50」のように数値に等号をつけることでメトリクスをその値に固定することができます。これは、アウトラインが変更されてもメトリックがその値を維持する必要がある場合などに有用です。グリフ名だけを含む(「=n」など)場合は、グリフ名のみ(「n」)を書いたのと同じ意味になります。
反対側のメトリクスキー
等号の直後に「|」(バーティカルバー)を置くと、反対側のサイドベアリングを参照することができます。例えば「u」の右サイドベアリングに「=|n」と記述すると、「n」の左サイドベアリングの値が参照されます。また、グリフのサイドベアリングフィールドのどちらか1つに「=|」と記述することで、同じグリフの反対側のサイドベアリングを参照することができます。これを利用すれば、グリフのアウトラインをバウンディングボックス内の中央に配置することができます。
ローカルメトリクスキー
デフォルトではメトリクスキーはフォントのすべてのマスターに適用されますが、メトリクスキーの前に2つの等号(==)を付けることで、現在のマスターに限定したローカルメトリクスキーを指定できます。ローカルメトリクスキーは他のマスターに影響を与えないことから、例外として使用する際に便利です。例えば「==m」や「==hyphen+15」のように設定します。
ベースラインからオフセットされたメトリクスキー
ベースラインから離れた位置のサイドベアリングを取得したい場合は、メトリクスキーの最後に「@」(アットマーク)と数字を記述します。例えば、「=A@0」ならばベースライン上のAのサイドベアリング値、「=A@200」であればベースラインから200ユニット上で測定されたAのサイドベアリング値を取得します。
10.1.4 メトリクスキーと自動整列
自動整列されたグリフ(9.1.8「自動整列」参照)の情報ボックス内のメトリクスフィールドには、テキスト「auto」と、そこから参照された値が括弧内に表示されます。「=」に続けて「+」または「-」の記号とオフセット値を入力することで、自動整列を維持したまま自動メトリクスを調整できます。例えば、「=+25」や「=-10」のように入力します。
自動メトリクスの変更は、発音記号がグリフボックスからはみ出してしまうような場合に便利です。典型的な例としては「ï」(idieresis)や「ď」(dcaron)、「ľ」(lcaron)などがあります。
10.2 カーニング
丁寧にスペーシングされたグリフは、多くの場合、単語や文章の中でうまく組み合わされるはずです。しかし、グリフの組み合わせの中には見栄えを良くするために特定の調整が必要なものもあります。例えば、余白の多いグリフ(「A」と「V」など)ではお互いをもっと近づける必要があります。反対に衝突するグリフ(「f」と「?」など)ではお互いをより離す必要があります。カーニングとは、このようなグリフ間の距離を調整することです。
ちなみに、書字方向が左から右への場合のカーニングと、右から左への場合のカーニングは別々に保存されますので、両方の方向のグリフを含むフォントを扱うときはカーニングの前に正しい書字方向を選択するようにしてください。詳細は、4.9.4「書字方向」を参照してください。
グリフ間のカーニングは、テキストツールがアクティブのとき、詰めのカーニングが水色、空きのカーニングが黄色でハイライトされます。これらの色は、環境設定の「外観」で変更することができます(3.2「外観」参照)。
覚え方:Controlキーは左に、Commandキーは右に配置されています。つまり、Control:左のグリフ、、Command:右のグリフです。
10.2.1 カーニングモード
編集ビューでは、「カーニングなし」、「カーニング」、「ロックされたカーニング」の3つのカーニングモードがあります。編集ビューのキャンバスの右下にあるアイコンをクリックすることで、それぞれのモードに切り替わります。
「カーニングなし」は、編集ビューでのカーニングのプレビューを無効にします。このモードでは、カーニングのショートカット(p.149 参照)も無効になります。
「カーニング」は、編集ビューでカーニングのペアをプレビューします。
「ロックされたカーニング」は通常の「カーニング」と同様に動作しますが、スペーシングのショートカット(10.1.2「スペーシングのショートカット」参照)が無効になります。そのため、カーニング中に誤ってスペーシングを変更することを防ぐことができます。
10.2.2 情報ボックス
編集ビューでは、情報ボックス(表示 → 情報を表示、Cmd–Shift–I)の左右に、現在のグリフと直前、直後のグリフとの間のカーニング値が表示されます。カーニングが設定されていない場合は、灰色で「カーニング」の文字が表示されます。
カーニングフィールドをクリックして値を入力し、Returnを押すか、カーニングフィールドからフォーカスを移動して値を確定します。カーニングフィールドを空白にすると、2つのグリフ間のカーニングが削除されます。テキストツールを起動すると、直前のグリフの小さな情報ボックスが表示されます。このボックスには、先行するグリフの名前とそのロック状態、カーニンググループ名が表示されます。
情報ボックスの「グループ」フィールドの詳細については10.2.4「カーニンググループ」を、カーニングロックの操作については10.2.5「カーニンググループの例外」を参照してください。
情報ボックスでカーニングを編集すると、素早い調整が可能です。たくさんのグリフのペアをカーニングする場合は、カーニングのショートカットキーを使用すると便利です。
10.2.3 カーニングのショートカット
カーニングのショートカットは、テキストツール選択時に使用できます。編集ビューで2つのグリフを入力し、それらの間にカーソルを置いてOptionキーとControlキーを押しながら、左矢印キーと右矢印キーで現在のグリフと左のグリフの間のカーニング値を変更します。また、OptionとCommandを押しながら、現在のグリフと右のグリフの間のカーニング値を変更できます。Shiftキーも押したままにすると10単位での変更が可能です。
覚え方:Controlキーは左に、Commandキーは右に配置されています。つまり、Control:左サイドベアリング、Command:右サイドベアリングです。
ショートカット | 左/右 カーニング | 増減値 |
Ctrl + Opt + ← | 左 | +1 |
Ctrl + Opt + Shift + ← | 左 | +10 |
Ctrl + Opt + → | 左 | -1 |
Ctrl + Opt + Shift + → | 左 | -10 |
Cmd + Opt + → | 右 | +1 |
Cmd + Opt + Shift + → | 右 | +10 |
Cmd + Opt + ← | 右 | -1 |
Cmd + Opt + Shift + ← | 右 | -10 |
10.2.4 カーニンググループ
一般的には、類似した形を持つグリフには、同じカーニング値が設定されるべきです。カーニンググループを使用することでこのような類似したグリフをグループ化し手動設定の手間を減らすことができます。カーニングは、単一のグリフ同士のペアだけでなく、グループ内のグリフ全てにも一括で適用することができます。例えば「B」「D」「E」「F」「H」などのグリフに左カーニンググループを作成することができます。また「V」「W」「Ẃ」「Ŵ」「Ẅ」などのように、左カーニンググループと右カーニンググループの両方を共有したいこともあるでしょう。 例えば、「A」「Ä」が同じカーニンググループである場合、「AV」の間にカーニングを設定すると「ÄV」 のペアも自動的にカーニングされます。さらに、「V」と「W」が同じグループに入っている場合、「AW」と「ÄW」も同じ値のカーニングが設定されます。 カーニンググループのすべてのメンバーは、カーニングの例外が定義されていない限り、同じカーニング値を持ちます(10.2.5「カーニンググループの例外」参照)。
1つのグリフは左側と右側の2つのカーニンググループを持つことができます。縦書きのグリフは、上と下のグループを持つことができます。
カーニンググループの名前は、情報ボックスの「グループ」フィールドに入力します(表示 → 情報を表示、Cmd–Shift–I)。複数のグリフに一括して入力したい場合は、フォントビューで左側のインスペクタを利用して複数グリフのカーニンググループを編集するか(7.3.3「カーニンググループ」参照)、編集ビュー上で複数のグリフを選択して設定します。グループ名にはアルファベットのa-zとA-Z、数字の0-9、_(アンダースコア)、.(ピリオド)、-(ハイフン)を含めることができます。カーニンググループの名前を変更したいときは、カーニングウィンドウ(10.2.6「カーニングウィンドウ」参照)を使用します。
カーニンググループの名前は、グループの代表的なグリフにちなんだ名前にするのが一般的です。例えば「R」「Ŕ」「Ř」「Ŗ」であれば、右カーニンググループの名前は「R」にするのがいいでしょう。またこれらのグリフの左カーニンググループの名前には「I」や「H」という名前が候補になるでしょう。しかし、あるいは「stem」や、任意の名前を付けることも可能です。
別の例として、グリフ「c」「d」「e」「o」「q」に対して「o」という名前の左カーニンググループを設定したとします。この場合「To」 をカーニングすると、他のグループのメンバーもすべて同じ値でカーニングされます。ただし「To」ではよく見えても、「Tö」で同じ量のカーニングをすると詰まりすぎて見えるかもしれません。 この問題への対処法は2つあります。「ö」を「o」と別の左カーニンググループにする方法と、カーニンググループの例外(10.2.5「カーニンググループの例外」参照)を「ö」に使用する方法です。
「表示」→「グループメンバーを表示」をオンにすると、グリフの背景にすべてのカーニンググループメンバーを表示することができます。グループメンバーは、現在のグリフと、その前に配置されているグリフとのカーニンググループのメンバーのみが表示されます。たとえば「P」グリフを編集しているときは、「P」の左カーニンググループのメンバーだけが背景に表示されます。この表示オプションは、詰めすぎの可能性を発見するのに役立ちます。
10.2.5 カーニンググループの例外
カーニンググループの例外は、特定のペアのグループのカーニング値を上書きします。例えば、「o」と「ö」が同一の左カーニンググループの場合、「To」のカーニング値は「Tö」には詰めすぎとなるかもしれません。
テキストツールを選択し、テキストカーソルを「T」と「ö」の間に置いて「Tö」のグループ例外を作成します。 情報ボックス(表示 → 情報を表示、Cmd–Shift–I)で「ö」のロックマークを解除すると、例外として設定することができます。 この状態で「Tö」の間のカーニング値を編集しても「ö」と同じ左カーニンググループを持つ他のグリフには影響しません。なおこの場合は、新しい「Tö」カーニング例外が「T」の右カーニンググループのメンバー、たとえば「Ťö」「Ţö」「Țö」にも適用されるよう、「T」グリフのロックマークは解除しないでください。ロックマークを再びロックすると、例外の設定を解除できます。
10.2.6 カーニングウィンドウ
ウィンドウ → カーニング(Cmd–Opt–K)を選択するとカーニングウィンドウを開くことができます。このウィンドウには現在選択されている書字方向のすべてのカーニングペアのリストが表示されます。書字方向の変更については、4.9.4「書字方向」を参照してください。
カーニングペアの確認
検索フィールドに検索語を入力すると、それを含むカーニングペアのみがフィルタリングされます。検索アイコンをクリックすることで、検索オプションの指定が可能です。検索語の適用方法(「を含む」「一致する」「で始まる」「で終わる」「を含まない」)、表示するペア(「グループである」「グリフである」)、ペアのどちら側を検索するか(「左サイド」「右サイド」)、フォントビューで選択したグリフからのみ検索するかを選択します。「リセット」を選ぶとすべてのオプションがデフォルトに戻ります。
カーニンググループは名前の前にアットマーク(@)が付いた青い文字で表示され、単一のグリフは金色の文字で表示されます。列のヘッダー(左側、値、右側)をクリックすると、その列の値をもとにソートされます。もう一度クリックすると逆順ソートになります。値のヘッダーでソートを行うと、極端に小さなカーニング値や大きなカーニング値を見つけるのに便利です。
カーニングペアをクリックするとそのペアが編集ビューに表示されます。編集ビューに現在のグリフペアがある場合は、選択したペアで置き換えられます。上下の矢印キーを使うことで、フォントのカーニングペアを一つずつ順に確認することができます。1つまたは2つのカーニンググループを含む行を選択すると、1つの例のみが表示されます。ウィンドウ右下のアクションメニューから「すべてのグリフを表示」を選択すると、選択中のペアに含まれるすべてのカーニングペアを編集ビューに挿入できます。
カーニングペアの編集
カーニングウィンドウ内のエントリーはダブルクリックすることで編集が可能です。値を直接編集してペア間のカーニングを調整することができます。グループ名を編集してグループ名を変更することもできます。グループ名を編集すると、選択中のカーニングペアのみグループを変更するか、フォント全体のグループ名を変更するかの確認のダイアログが表示されます。左カーニンググループのグループ名と右カーニンググループのグループ名はそれぞれ別なので、ウィンドウの左カラムのグループ名を変更しても右カラムの内容には影響しません。その逆も同様です。
編集 → コピー(Cmd–C)で、選択したカーニングペアをコピーできます。編集 → すべて選択(Cmd–A) ですべてのカーニングペアを選択してコピーし、別のフォントのマスターに切り替えてコピーしたペアを編集 → 貼り付け(Cmd–V)で貼り付けることもできます。ペーストしたときに既存のカーニングペアが上書きされる場合は確認画面が表示されます。コピーしたペアをそのまま貼り付け、競合するカーニングペアに対してすべて上書きしたい場合は「上書き」を選択します。「当該ペアを保持」を選択すると、既存のカーニングペアと重複していないペアのみが貼り付けられます。
カーニングウィンドウの左下にあるマイナスボタンを押すと、選択したカーニングペアを削除できます。
カーニングペアの修正
カーニングペアは、フォント作成の過程でグリフがフォントから削除されたり、カーニンググループのメンバーが削除されて不要になることがあります。このような場合はウィンドウのアクションメニューから「親字不在のペアを消去」を選択することで、不要になったカーニングペアを一括で削除できます。
ウィンドウのアクションメニューから「なるべくグループ化」を選択すると、フォント内のカーニングペアの数を減らすことができます。カーニンググループが設定される前に、いくつかのグリフが互いにカーニングされていた場合、単一のカーニングペアを「なるべくグループ化」アクションでグループカーニングに変換することができます。「なるべくグループ化」では、2つのグリフ間またはグリフとグループ間のカーニングペアを変更し、できるだけカーニンググループが使用されるようにします。カーニングの例外は、その例外がグループカーニングと同じカーニング値を持っていない限りは(つまり、本当の例外ではないということです)維持されます。すべてのカーニングペアを完全にグループ化するには、「なるべくグループ化」アクションを複数回実行する必要があるかもしれません。
例えば、グリフ「T」(右グループ:@T)とm(左グループ:@n)の間のカーニングである、カーニングペア「T-m」を考えます。これを1回圧縮すると「@T-m」というカーニングペアになりますが、これをもう一回圧縮することで「@T-@n」というカーニングペアになります。このカーニングペアは、右グループが@T、左グループが@nのすべてのグリフ(「Ť-m」「T-n」「T-ŋ」「Ť-ŋ」など)に適用されます。 ただし、「T-n」とは異なる値を持つ場合には、「T-ň」のような例外も維持されます。
10.2.7 kernフィーチャーの手動追加
カーニングはOpenTypeの機能として実装されていますが、ここまでに設定したカーニングの情報は「フォント情報」ウィンドウの「フィーチャー」タブには表示されず、暗黙的なフィーチャーとしてGlyphsの出力時に追加されます(8.4.7「暗黙的なフィーチャー」参照)。しかし、明示的に「kern」フィーチャーを追加してカーニングの設定を行うこともできます。
ファイル → フォント情報… → フィーチャーで、「kern」という新しいフィーチャーを追加します。kernフィーチャーは通常、ポジショニング(pos)ルールを使用してグリフ間の距離を変更します。
手動追加されるkernフィーチャーでは2つ以上のグリフをマッチできるため、句読点やスペースなどを扱うときに役立ちます。例えば、「f」の後に「スペース( )」と、「T」「V」のような左上に大きく伸びるグリフが3文字続く「f- -T」などの場合は、スペースが視認しやすいように通常より「f」の右を開ける方が良い場合があります。
pos f' 50 space [T V W Y];
設定されたカーニンググループはkernフィーチャーのコード内でも再利用が可能です。カーニンググループを使用したい場合は、左カーニンググループであればグループ名の前に「@MMK_R_」を、右カーニンググループであれば「@MMK_L_」をつけて記述します。例えば、左カーニンググループ「@H」であればには「@MMK_R_H」、右カーニンググループ「@quote」であれば「@MMK_L_quote」というフィーチャークラスを用いてコードを記述します。なお、接頭辞のRとLは、カーニングペアのもう一方のグリフを基準とする見方であるため、左カーニンググループにはペアの右側であることを示す「R」、右カーニンググループにはペアの左側であることを示す「L」の文字が使用される点にご注意ください。
例えば「L-quoteright-A」(L’A)というグリフの並びを考えてみましょう。ペアカーニングでは引用符が「L」の余白部分に押し込まれると同時に、「A」の余白部分にも引き込まれるため、「L」と「A」がベースライン上で接触する可能性があります。このような場合は、引用符を「L」の余白部分に押し込みつつ(-50)、Aを右に離す(70)ことで、この状況を修正できます。
pos @MMK_L_L' -50 quoteright' 70 @MMK_R_A;
kernフィーチャーコード内ではトークンを利用することもでき、これによりグリフの位置をマスターの数値やグリフのサイドベアリングに基づいて決めることもできます。詳細は8.4.4「トークン」を参照してください。