下記の文章は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章 補足資料(作成中)
編集ビューで描かれたグリフのアウトラインは、フォントマスターに記録されています。初期状態ではGlyphsファイルには「Regular」という名前のマスターが1つ用意されています。ここにさらにマスター(例えばThinやBoldなど)が追加されている状態のことをマルチプルマスターと呼びます。マルチプルマスターを使用すると、Glyphsはそれらのマスターだけでなく、相互のマスター間のフォントインスタンスも出力することができます。
少ない数のマスターから多数の補間されたインスタンスを生成することができます。 上記の例では、ThinとBoldnの2つを使用して、Weight軸に沿って計6つのインスタンスを生成しています。
補間軸は、マスター間で変化するグリフデザインの形状を表現するものです。最も一般的な補間軸はWeight(ウェイト:Light からBold)とWidth(グリフ幅:Condensed から Extended)ですが、他にもさまざまな補間軸が考えられます。
マルチプルマスターの設定では1つ、あるいは複数の補間軸を設定することができます。1つの補間軸をデザインが変化する線と考えれば、2つの補間軸によって2次元空間が作られ、その中ですべての点においてフォントインスタンスの出力が可能となります。この空間はデザイン空間と呼ばれ、3次元またはそれ以上の次元を持つこともあります。
公式ハンドブックで使用されている書体「ABC Arizona」の3軸のデザイン空間を2つの視点から見た図。
13.1 補間の活用
補間軸の活用例には、静的インスタンスとバリアブルフォントの2つがあります。
静的インスタンスは、デザイン空間内の特定のポイントにあるフォントファイルです。たとえば、ThinマスターからBoldマスターまでのウェイト軸を持つGlyphsファイルを考えてみましょう。
このとき、補間軸の一方の端にThinインスタンス、もう一方の端にBoldインスタンス、そして補間軸の中間にRegularインスタンスが配置されます。
Glyphsファイルが複数の補間軸を持つ場合は、インスタンスごとに複数の軸座標を設定することができます。WeightとWidthの補間軸を持つGlyphsファイルを考えてみましょう。このケースでは、Thin、Thin Condensed、Thin Expanded、Regular Narrow、Semibold Condensed、Bold Expandedのインスタンスを作成することができます。
Glyphsは、静的インスタンスを補間軸の外に設定する、補外と呼ばれる処理も可能です。補外インスタンスは、マスターで定義された軸座標の外側に位置します。例えばBoldマスターよりも太いExtra Boldのインスタンスを生成する場合などに使用されます。しかしながら実際には、補外は制御が難しく、フォントプロジェクトの多くは補間のみを使用してされます。
バリアブルフォントは、すべてのマスターと補間軸の情報を含むフォントファイルで、フォントのユーザーがデザイン空間で任意の座標を選択できるようにするものです。
例えば、Weight軸(300~900)とWidth軸(50~140)を含むバリアブルフォントに対して、フォントユーザーは「SomeFont Semibold Narrow」ではなく「SomeFont Weight=600 Width=70」を選ぶことができます。この方法によって、フォントベンダーがあらゆる可能な組み合わせの静的インスタンスを用意せずとも、ユーザーがウェイトと幅を自由に選ぶことが可能になります。また、バリアブルフォントは、あらかじめ定義された軸座標のセットをもつ静的インスタンスを事前に用意し、それらに簡単にアクセスできるようにすることもできます。
13.2 補間軸の設定
ファイル → フォント情報… → フォント → 補間軸 で補間軸を定義します。新しい軸を追加するには、補間軸の見出しの横にあるプラスボタンをクリックします。補間軸には、名前、4文字のタグ、および非表示のチェックボックスがあります。
ディスクロージャーボタンをクリックして、定義済みの補間軸を選択します。定義済みの補間軸を選択すると、4文字のタグの欄にもそれに対応する値が設定されます。定義済み補間軸は、標準的なOpenTypeデザインバリエーション軸と、レジストリへの登録が提案されている軸の組み合わせです。それ以外の軸は、任意の軸名とカスタムの4文字タグを設定してカスタム軸(プライベート軸とも呼ばれます)を定義してください。プライベート軸のタグは、将来登録される軸と衝突しないように4つの大文字(A-Z)を使用する必要があります。例えば、スワッシュ長の軸であれば ‘SWLN’ というタグを使用します。
ユーザーインターフェース上で補間軸を非表示にしたい場合には、非表示のチェックボックスをオンにします。非表示設定にすると、フォントを使用するアプリケーションに対し、この軸のコントロール(スライダーなど)を表示しないよう通知します。補間軸が特殊なソフトウェアにのみ対応しているような場合は、補間軸を非表示にします。しかし、アプリケーション側がこのオプションを無視する場合もあります。ほとんどの場合はこのチェックボックスはオフの状態にしておきます。
13.3 マスターのセットアップ
補間には少なくとも2つのマスターが必要です。ファイル → フォント情報… → マスター で、マスターを追加します。ウィンドウの左下にあるプラスボタンをクリックすると、新しいマスターが追加されます。詳しくは8.2.1「マスターの管理」を参照してください。
ヒント:各マスターにはLight、Regular Condensed、Bold Captionなどの説明的な名前を付け、それらの形状を表現したマスターのアイコンを選んでください(8.2.2「一般」参照)。
13.3.1 補間軸上の座標
マスターの「補間軸上の座標」は、デザイン空間内での座標位置を示します。マスターを追加し、マスターによってデザイン空間がカバーされるようにその軸座標を設定します。Weight軸が1つの場合は、2つのマスターがあれば十分です。
中間に3つ目のマスターを追加することで(例えばRegular:400)、補間をより細かくコントロールすることができます。
補間軸上の座標フィールドの値は自由に設定することができます。例えばWeight軸の場合であれば、軸座標の値として垂直方向のステム幅の中央値を使用することも可能です。例えばLightのマスターのステム幅45、Boldのマスターのステム幅160を、Weightの座標値として使用することができます。セリフのような抽象的な軸では、0から100の範囲を使用して、0でセリフなし、100で長いセリフを使用することもできます。グリフが異なるアウトラインに切り替わるイタリック軸のように、スムーズに移行しない軸は0から1までの範囲を使用します。
イタリック軸は、必ずしも異なるアウトラインに切り替える必要はなく、直立からイタリックへとスムーズに移行させてもOKです。このような場合のイタリック軸には、0~100のような大きな範囲を使用することができます。
カスタムパラメータ「Axis Location(軸の位置)」を使用して、バリアブルフォント用に異なる軸範囲を設定することができます。これは特にWeightやOptical Sizeなど、登録されている軸に関係します。詳細は13.10.2 「軸の位置」を参照してください。
軸座標はデザイン空間においてリニアに配置されますが、バリアブルフォントの場合「Axis Mappings(軸のマッピング)」カスタムパラメータを追加することで、非リニアな軸範囲を指定することができます。詳細は13.10.3 「軸のマッピング」を参照してください。
13.3.2 最小限のマルチプルマスターの設定
マルチプルマスターを最小限の設定で使用する場合は、原点となるマスター1つと、各軸用に1つのマスターが必要です。原点マスターの軸座標は、1つの軸の座標がそれぞれの他の他のマスターと異なります。例としてWeight軸とWidth軸を持つフォントを考えてみましょう。最小限の設定を行う場合は、以下のように設定します。
Lightマスターが原点となるマスターです。Light CondensedとはWidth軸のみ、BoldとはWeight軸のみ座標が異なります。例えばBoldは、Weight軸とWidth軸の両方でLight Condensedと座標が異なるので、原点マスターにはできません。
原点マスターの選択については、13.10.1「バリアブルフォントの原点」を参照してください。原点マスターの選択はバリアブルフォントの場合のみ問題となります。静的インスタンスの場合、Glyphsは自動的に原点マスターを決定します。
13.3.3 複雑なマルチプルマスターの設定
最小限のマルチプルマスター設定によってすでにデザイン空間全体はカバーされている状態ですが、複数軸で軸座標が原点と異なるインスタンスのデザインについては、ほとんどコントロールすることができません。例えば、前述の最小限の設定例でもBold Condensedインスタンスは作成できますが、そのアウトラインは満足のいくものではないかもしれません。
さらに詳細に、デザイン空間のすべてのコーナーにマスターを配置するマルチプルマスターの設定も行うことができます。
必要に応じて中間マスターを追加し、補間軸に沿ってデザインの微調整を行います。複雑なマルチプルマスターの設定では、マスターが多数にまたがることがあります。
13.4 インスタンスの設定
ファイル → フォント情報… → 出力スタイル でウィンドウの左下にあるプラスボタンをクリックすると、新しいインスタンスが追加されます。インスタンスの追加と設定の詳細については、8.3「出力スタイル」を参照してください。
13.4.1 静的インスタンス
静的インスタンス(+ボタン →「新規インスタンスを追加」および「全マスターをインスタンスとして追加」)は、単一のフォントファイルとして出力されます。インスタンスの軸座標は、8.3.4「補間軸上の座標」で解説するように設定する必要があります。8.3.3「ウェイトクラスと字幅クラス」を参照してください。
バリアブルフォントにも、静的インスタンスはあらかじめ定義された軸座標のセットとして含まれています。これによって、フォントのユーザーは軸の数値を全て手動で設定しなくても、あらかじめ定義されているインスタンスをフォントスタイルメニューから選ぶことができます。ただしデザイン空間の外にある(補外されている)インスタンスについては、バリアブルフォントに含めることはできません。
フィルタをはじめとする多くのカスタムパラメータは、単一のファイルとして書き出した場合には静的なインスタンスへ適用されますが、これがバリアブルフォントに含まれる場合には適用されません。これはバリアブルフォントがすべてのインスタンスに対して互換性のあるアウトライン、同じグリフ構成、同じフィーチャーを持つ必要があるためです。
13.4.2 バリアブルフォント設定
バリアブルフォント設定(+ボタン → バリアブルフォント設定を追加)では、バリアブルフォントの出力設定を行います。バリアブルフォント設定を複数追加すると、異なる設定を持つ複数のバリアブルフォントが出力されます。この場合は出力時にそれらが競合しないよう、それぞれ異なる名前が設定されていることを確認してください。
バリアブルフォント設定は対象がバリアブルフォント全体となるため、インスタンスには適用されないカスタムパラメータを使用することができます。例えば、フィルター、グリフの削除、フィーチャーの追加などです。ただし、これらのカスタムパラメーターによってアウトラインに互換性がなくなる可能性もあり、その場合はバリアブルフォントの出力時にエラーとして報告されます。
13.5 アウトラインの互換性
補間を行うにはグリフのアウトラインに互換性が必要です。2つのグリフのアウトラインが互換性を持つ条件は、以下の属性がすべて同じであることです。
- パスの数とそれらのノードの順序
- アンカーの数とその名前
- コンポーネントの数とそれらが参照するグリフ。
- パスとコンポーネントの順番(フィルタ → シェイプの順番を変更)
13.5.1 互換性のないアウトラインの修正
グリフのアウトラインに互換性がない場合、編集ビューではアセンダーの線の上部に赤いバーが表示され、フォントビューでは赤いコーナーが表示されます。スマートフィルタを利用して、互換性のないグリフのみを表示させることができます(7.5.4「スマートフィルタ」には、デフォルトで「マスター非互換」のスマートフィルタが含まれています)。
カラーフォントのようにデザイン的に互換性のないマスターを使用する場合は、ファイル → フォント情報… → フォント でカスタムパラメータ「Enforce Compatibility Check(互換性チェックを強制)」を追加してそのチェックを外すことで、上記の非互換時の赤色バー表示を無効にできます。
互換性のないアウトラインを持つグリフがある場合は、補間されたインスタンスやバリアブルフォントを出力することはできません。
13.5.2 パス方向の修正
アウトラインの互換性を修正する最初の手段として、パス → パス方向を修正 (Cmd–Shift–R) を使用します。このコマンドでは以下の3つのことを自動的に行います。
- パスの構造を分析し、 必要であれば各パスの方向を変更します。
- 各パスの開始ノードを正規化します。通常はグリフレイヤーの最下部にある左端のノードを選択します。
- シェイプ(パスとコンポーネント)を、原則的に左下から右上へと並べ替えます。
は、図形(パスやコンポーネント)を、通常は左下から右上に並べ替えます。
Option キーを押しながらコマンドを適用すると、選択したグリフのすべてのマスターレイヤーに適用されます (パス → すべてのマスターのパス方向を修正、Cmd-Opt-Shift-R)。詳細は、4.2.13項「パスの方向を制御する」(p.31)を参照してください。
パス方向を修正のコマンドをOptionキーを追加で押しながら操作すると、 選択中のグリフのすべてのマスターレイヤーに対してパス方向の修正が実行できます(パス → 全マスターのパス方向を修正、Cmd–Opt–Shift–R)。詳しくは 4.2.13「パスの方向の管理」を参照してください。
13.5.3 シェイプの順番を変更
フィルタ → シェイプの順番を変更 を選択すると、現在のグリフのすべてのレイヤーのパスとコンポーネントを含むウィンドウが表示されます。すべてのレイヤーにおいてシェイプが同じ順番になるように並べ替えを行います。詳しくは6.2.1「シェイプの順番を変更」(p.68)を参照してください。
13.5.4 マスターの互換性
表示 → マスター互換性を表示 (Cmd–Ctrl–Opt–N) で、すべてのマスターのパス、コンポーネント、アンカーを表示することができます。
互換性のない3つのマスターを持つグリフの互換性表示。左よりLight、Regular、Bold。
このケースでは、pのカウンターの右側のノードが欠けています(紫で表示されているシェイプ)。これによって他のマスターと比べて大きな曲率を持つパスセグメントが黄色で表示され、パス上のそれ以降のセグメントは互換性がないものとして赤色で表示されています。
このモードでは以下の部分が強調表示されます。
- パスとコンポーネントは、シェイプの順序に基づいて色付けされます。また、コンポーネントには市松模様が表示されます。
- 現在のレイヤーの各パスの始点ノード付近と各コンポーネントの中央部に、シェイプの順番を示す番号が表示されます。
- 開始ノード、シェイプの中心、アンカーを結ぶ斜線がマスターをまたいで表示されます。ポイントを選択すると、その接続線が表示されます。アンカーは破線で結ばれます。
- パスのセグメントは、緑、黄、赤のいずれかの色で表示されます。緑色のセグメントは互換性を持っています。黄色のセグメントは互換性がありますが、マスター間で角度が20°以上異なるため、ノードの不足を示唆しています。赤色のセグメントは互換性がありません。他のマスターでセグメントが見つからないか、またはセグメントの種類が一致していません(曲線セグメントと直線セグメント)。
13.5.2「パス方向の修正」および13.5.3 「シェイプの順番を変更」を参照して、パスの方向とシェイプの順番に関する問題を修正してください。
現在のレイヤーの外側にある接続線のポイントを、他の接続線のポイントにドラッグして入れ替えることで、形状の不一致を修正することも可能です。パスセグメントの問題については、ノードを選択して、他のマスタで想定される場所に繋がっているかどうかを確認することによって、原因となる不整合をピンポイントで特定します。
パス、コンポーネント、アンカーが他のマスターに存在しない場合、その接続線はそのマスターの(0, 0)の原点に接続されます。Glyphsは、コンポーネントやアンカーが一致しない場合は赤文字でラベル表示します。
グリフのマスターレイヤーに互換性があるにもかかわらず、期待通りの補間が行われないことがあります。これはすべてのシェイプが同じ順序で並んでいても、マスター間で異なる位置に配置されているような場合に起こります。マスター互換性表示では、シェイプが大きく移動するグリフは斜線が交差する形で表示されます。このようなマスター間で補間を行った場合、下図のような現象が発生する可能性があります。
シェイプの移動の修正は、パス → パス方向を修正、フィルタ → シェイプの順番を変更、または接続先の点を正しいシェイプにドラッグして、形状の順序を変更することで行います。
13.6 中間レイヤー
中間レイヤーを使用すれば、新たなマスターを追加することなく個々のグリフのデザイン空間の中で調整を行うことができます。これによって個々のグリフで発生する補間の問題を修正することができます。例えば2つのマスター「Thin」「Black」を持つ場合で、eの横棒が通常のウェイトでは細すぎるケースを考えてみましょう。
中間レイヤーなし(上)と中間レイヤーあり(下)の2つのマスター間の補間。
13.6.1 中間レイヤーの設定
まず、レイヤーパレットで、目的の中間レイヤーに最も近いマスターレイヤーを選択します。次に、レイヤーパレットのプラス画像ボタンをクリックして、新しいレイヤーを追加します。新しいレイヤーをControlキーを押しながらクリックするか、右クリックして、コンテキストメニューから「中間レイヤー」を選択します。すると、各軸の数値フィールドが表示されます。
ファイル → フォント情報… → マスター の補間軸上の座標と同じように、中間レイヤーの補間軸上の座標を入力します。フィールドの横に表示されている軸の範囲を参考にしてください。フィールドが空のままのときは中間レイヤーは追加されたマスターレイヤーの軸座標をそのまま使います。そのため、中間レイヤーを最も近いマスターレイヤーに追加するとよいでしょう。入力した値をReturnキーで確定します。
レイヤーパレットでは、中間レイヤーは中括弧で囲まれた軸座標で表示されます(例:{90}、{80, 120}など)。このため、中間レイヤーはブレースレイヤーとも呼ばれます。
13.6.2 仮想マスター
中間レイヤーは、仮想マスターの作成を可能にします。仮想マスターは、ファイル → フォント情報… → マスター と同じように機能するものの、少数のグリフにしか影響を与えません。他のグリフを再描画する必要はありませんし、カーニングペアを仮想マスターのために定義する必要もありません。例えばある補間軸において「A」「E」「F」「H」のようなグリフの横棒の幅を調整しても、数字、句読点、記号を含む他のすべてのグリフはこの影響が及びません。このような場合は仮想マスターを使用する場面としては最適です。
まず13.2「補間軸の設定」の説明に従って補間軸を追加します。これは定義済みの補間軸、またはカスタム軸のいずれかになります。仮想マスターは、ファイル → フォント情報… → フォントで「Virtual Master(仮想マスター)」カスタムパラメータを使用して定義します。カスタムパラメータの値をクリックし、他のマスターと同様にその補間軸上の座標を設定します。新しい軸座標はファイル → フォント情報… → マスター で既存のマスターに設定しなければならないことに注意してください。
補間軸と仮想マスターの両方が設定された状態で、仮想マスターのために調整が必要なグリフに中間レイヤーを追加します。バリアブルフォントに書き出す場合、これらのグリフに対する差分だけが保存されるので、フォントファイルのサイズを小さく保つことができます。
13.7 シェイプの切り替え
グリフによっては、補間をする際に互換性が保てない場合があります。例えば、「$(ドル記号)」のウエイトがBold以上のときに中央のストロークが消えたり、二段の形状だったグリフがイタリックのときに一段の形状に切り替わったり(「a」や「g」など)といった具合です。グリフの形状を切り替えるには、3つの方法があります。
- オルタネートレイヤーを使用して、静的インスタンスとバリアブルフォントの両方で異なるグリフアウトラインに切り替える。
- 出力時にグリフを他のグリフに置き換える。
- バリアブルフォントのデザイン空間の特定の領域で、グリフを他のグリフに置換する。
13.7.1 オルタネートレイヤー
オルタネートレイヤーとは、デザイン空間内のどこでグリフを代替のグリフのアウトラインに切り替えるかという情報を含むレイヤーのことです。
オルタネートレイヤーは、個々のグリフに追加されます。各マスターごとにレイヤーパレットでマスターレイヤーを選択し、プラス画像ボタンをクリックして新しいレイヤーを追加し、Controlキーを押しながらクリックするか、新しいレイヤーを右クリックして、コンテキストメニューから「オルタネート」を選択します。
オルタネートレイヤーに変換すると、最小座標と最大座標を指定する数値フィールドが開きます。ここに切り替え用のシェイプが使用されるデザイン空間の範囲を記述します。例えば、44から130までの1つのWeight軸で、90以上のWeightにオルタネートレイヤーを使用することを考えてみましょう。この場合、minの値を90に設定し、maxのフィールドは空のままにしておきます。
Returnを押してダイアログの内容を確定します。オルタネートレイヤーの名前は、補間軸の範囲をカンマで区切った状態で、太字で表示されます(例えば、[90‹wg] or [80‹wg, 25‹wd‹50]など)。そのためオルタネートレイヤーはブラケットレイヤーとも呼ばれます。一般的な補間軸名であれば2文字に省略され、それ以外の補間軸であればフルネームで記述されます。
オルタネートレイヤー上のアウトラインをグリフの切り替え用デザインに合うように修正します。オルタネートレイヤーはマスターレイヤーとの互換性は必要ありませんが、オルタネートレイヤー同士の互換性は必要です。オルタネートレイヤーの互換性もマスター互換性表示画面(13.5.4「マスター互換性を表示」)で表示でき、本来のマスターレイヤーとは分けて表示されます。
「$」のグリフのマスター互換性表示。2つのマスター(細字と黒字)、2つの中間レイヤー、3つの代替レイヤーがあります。現在選択されているグリフのレイヤーは、中間レイヤーとオルタネートレイヤーの両方が設定されています。
レイヤーは、中間レイヤーとオルタネートレイヤーの両方を設定することができます。この場合レイヤーパレットには、角括弧でオルタネートレイヤー名([…])、中括弧で中間レイヤー名({…})が表示されます。どちらかをダブルクリックすることでその設定を編集することができます。
マスターレイヤーをオルタネートレイヤーとして指定することも可能です。まずレイヤーパレットで1つのマスターレイヤーをControl+クリックまたは右クリックし、「オルタネートレイヤー」を選択します。マスターレイヤーの補間軸の範囲を、通常のオルタネートレイヤーと同様に設定します。次にもう一つのマスターレイヤーに新規レイヤーを追加して、それをオルタネートレイヤーに設定し、最小値と最大値のフィールドを空欄にします。こうすることによって新しいレイヤーの名前は「[]」に変更されます。
切り替え用のアウトラインをマスターレイヤーに、通常のアウトラインを「[]」レイヤーに配置します。マスターレイヤーとバックアップ用のレイヤーのどちらがオルタネートレイヤーに変換されるかは単にGlyphs内の構成上の選択に過ぎず、出力されるフォントには影響はありません。
バリアブルフォントでは、オルタネートレイヤーは特定のOpenTypeフィーチャーを使用して有効化されます。ファイル → フォント情報… → フォントで、「Feature for Feature Variations(バリアブルフォント字形置き換え)」カスタムパラメータに4文字のフィーチャータグを設定します。Glyphsではデフォルトで「rlig」を使用していますが、「rvrn」も一般的によく使われるフィーチャーです。これらのフィーチャーの違いはテキストのどの段階で処理が行われるかにあります。これは、オペレーティングシステムやテキストを表示するアプリケーションに依存します。
13.7.2 出力時のグリフの置き換え
静的インスタンスとバリアブルフォント設定のどちらとも、あるグリフを他のグリフへ出力時に入れ換えることができます。グリフを入れ換える場合は、ファイル → フォント情報… → 出力スタイル において2つのカスタムパラメータを追加する必要があります。まず、カスタムパラメータ「Rename Glyphs」を追加して、その値をクリックして編集し、1行につき1つのグリフを入れ替えるための式をsomeglyph=otherglyph
の形で記述します。これにより出力されたフォントの2つのグリフが入れ替わります。例えばdollar=dollar.alt
という行を追加すると、ドル(dollar)のグリフと簡略化したドル(dollar.alt)のグリフが入れ替わります。すべてのグリフとその入れ換えをリストアップし、OKボタンで確定します。
グリフの入れ替え後は、「Remove Glyphs」カスタムパラメータを追加して代替グリフを削除します。値をクリックして編集し、入れ替えの結果不要になった代替グリフをすべてリストアップします。
13.7.3 条件付きグリフ置換
条件付きグリフ置換を使用してバリアブルフォントでグリフを置換することができます。詳細は、8.4.5「条件付きフィーチャーコード」を参照してください。
前項の dollar → dollar.alt の置換の例は、条件付きグリフ置換を使用した場合次のようになります。
#ifdef VARIABLE
condition 80 < wght;
sub dollar by dollar.alt;
#endif
ここでは、ウェイトが80以上の場合にdollarのグリフをdollar.altのグリフに置き換えています。
バリアブルフォントと静的インスタンスの両方に出力する際には、 13.7.2「出力時のグリフの置き換え」で説明するグリフの置き換えを用い、 静的インスタンスの条件付き置換をまねることを検討してください。
13.8 マルチプルマスターの編集
フォントマスターはレイヤーパレットに表示されます。目のアイコンボタンをクリックすると、現在アクティブでないレイヤーでも表示されます。詳しくは、5.3「レイヤー」を参照してください。
13.8.1 すべてのレイヤーを選択ツール
表示されているすべてのレイヤーのパスを同時に編集するには、「すべてのレイヤーを選択」ツール(ショートカットはShift–V)を使用します。レイヤーパレットの目のアイコンをクリックすると、レイヤーの表示/非表示を切り替えることができます。「選択」ツールと「すべてのレイヤーを選択」ツールを切り替えるには、「選択」アイコンを長押しして、一覧からそれぞれのツールを選択します。
13.8.2 すべてのマスターを表示
編集ビューを表示しているときに 編集 → すべてのマスターを表示 を選択すると、現在のグリフのすべてのマスターレイヤーが編集ビュータブに挿入されます。このコマンドは、中間レイヤーと代替レイヤーも挿入します。
13.8.3 レイヤーの選択内容を同期
編集 → レイヤーの選択内容を同期 をオンにすると、マスターを変更しても現在の選択範囲が維持されます。このオプションは互換性のあるグリフで作業している場合にのみ有効です。
13.9 複数フォントでの作業
13.9.1 フォントファミリーのグループ化
フォントとは通常、Regular、Bold、Semibold Italicなど、単一のフォントファイルを指します。Glyphsではこれらのフォントファイルは ファイル → フォント情報… → 出力スタイル で追加されたインスタンスから出力されます。ほとんどのソフトウェアアプリケーションでは、フォントはファイル → フォント情報… → フォント → 一般 → ファミリー名で設定されたファミリー名でグループ化されています。
インスタンスやバリアブルフォントの設定では、「翻訳ファミリー名」のカスタムパラメータを使って、フォントタブで設定されたファミリー名を上書きすることができます。なお、グループ化にはデフォルトの言語が使用され、他のローカライズされた名前は、画面上にファミリー名を表示するためにのみ使用されます。
8.3.5「スタイルリンク」で説明されているスタイルリンクを使用して、太字と斜体のスタイルをリンクさせます。これによって多くのアプリケーションで使用されているBoldやItalic用のボタンや、⌘Bや⌘Iなどのキーボードショートカットが有効になります。
バリアブルフォントは、フォントファミリーを1つのファイルに収めたものです。すべてのファミリーを1つのバリアブルフォントに入れることは技術的に可能ですが、ファミリーを複数のバリアブルフォントに分割することが望ましい場合もあります。例えばイタリックのバリアブルフォントをレギュラーのバリアブルフォントとは別にすることで、それぞれを別々に販売することが可能です。
ファイル → フォント情報… → 出力スタイル で複数のバリアブルフォント設定を追加すると、1つのGlyphsファイルから異なるバリアブルフォントを出力することができます(たとえば、有料版とグリフセットを縮小した試用版など)。グリフセットやOpenTypeフィーチャーが大きく異なる場合は、複数のGlyphsファイルを使用して異なるバリアブルフォントを作成することを検討してください。
13.9.2 Glyphsファイルとマスターおよびインスタンス
ファイル → スタイルを生成 で、インスタンスごとにGlyphsファイルを作成することができます。このコマンドは、現在開いているGlyphsファイルのインスタンスを読み込んでマスターに変換し、そのマスターごとに新しくGlyphsファイルを作成します。
ファイル → フォント情報… → 出力スタイル でインスタンスを選択し、プラスメニューから「選択スタイルをマスターに追加」を選択して、特定のインスタンスをマスターに変換します。このコマンドを実行するとマスターがマスタータブに追加されます。ファイル → フォント情報… → マスターで、プラスメニューから「他のフォントから追加」を選択すると、開いている別のGlyphsファイルから、現在選択中のファイルにマスターをコピーします。
13.9.3 フォントの比較
2つのフォントマスターを比較するには、 編集 → フォントの比較… を選択します。「フォントの比較」ウィンドウの上部には、2つのフォントファイルを選択するためのコントロールがあります。現在Glyphsで開いているすべてのフォントファイルから選択できます。ファイルコントロールの下には、フォントファイルからマスターを選択するためのポップアップボタンがあります。選択した2つのマスターは、ウィンドウの中央で比較されます。同じフォントファイルを2回選択すると、同じファイルの異なるマスターを比較することができます。
このウィンドウでは、2 つのマスターの詳細が 2 列のレイアウトで表示され、フォント情報、マスターメトリクス、グリフアウトライン、カーニングペアが比較されます。これらのカテゴリーは、グレーの見出しの横にある三角マークをクリックすることで、折りたたんだり広げたりすることができます。行をクリックすると、その行が選択されます。ウィンドウの下部には2つのボタンがあります。左を使う」と「右を使う」です。行が選択されている状態で、これらのボタンをクリックすると、値が一方から他方に書き換えられます。これは、マスターとGlyphsファイルの間の不整合を修正するのに役立ちます。
13.9.4 ファミリーの比較
編集 → ファミリーの比較…を開くと、開いているすべてのファイルを比較することができます。各ファイルは列で表示されます。
ウィンドウの左上にあるポップオーバーメニューから比較する属性を選びます。コンポーネント名、アンカー、左カーニンググループ、右カーニンググループ、グリフから選択できます。
空の値は「–(2本のダッシュ)」で表示されます。グリフがいずれかの文書に存在しない場合は「(missing glyph)」と表示されます。「グリフ」を選択している場合は、斜線付きの赤いリングマークが表示されます。
セルをダブルクリックすると対応するグリフが編集ビューで表示されます。グリフのリストをフィルタリングするには、フィルタリングボタンをクリックします。「All」は、関連する情報を持つすべてのグリフを表示します。「Missing in One」は、すべてのファイルには存在していないグリフを表示します。「Ignore If Missing in One」は、すべてのファイルに存在するグリフのみを表示します。
ピンボタンをクリックすると、ウィンドウをすべてのグリフファイルウィンドウの一番上に表示します。更新ボタンは、ファイルが編集された場合などに、すべてのグリフ情報を再読み込みするのに使用します。
13.10 バリアブルフォントのオプション
補間軸に影響を与えるバリアブルフォント、レガシーシステムでのフォールバックモード、ファイルサイズを追加調整することができます。
13.10.1 バリアブルフォントの基準マスター
バリアブルフォントには、基準マスターが必要です。このマスターのアウトラインがバリアブルフォントファイルに保存され、その他のマスターは基準マスターからの差分として保存されます。
デフォルトでは、Glyphsは ファイル → フォント情報… → マスター の中の最初のマスターを基準マスターとして使用します。ファイル → フォント情報… → フォント で「Variable Font Origin(バリアブルフォントの基準マスター)」カスタムパラメータを追加することにより、別のマスターを基準マスターとして指定することができます。
最小限のバリアブルフォント設定には、少なくとも基準マスターと各バリエーション軸に最低1つのマスターが必要です。これについては13.3.2「 最小限のマルチプルマスターの設定」で詳しく説明しています。
基準マスターは、バリアブルフォントに対応していないOSやアプリケーションでのデフォルト表示として使用されます。そのため、できるだけ基準マスターにはウェイトがRegularのマスターを選ぶことをお勧めします。こうすることで、レガシーシステムでThinウェイトやBoldウェイト、イタリック体ではなく、レギュラーウェイトのフォントを表示できます。Regularのマスターはデザイン空間の中心に位置するため、他のマスターを記述するために差分が多く必要になります。このため、LightやLight Condensedなどの端にあるマスターを選んだ場合と比べてフォントのファイルサイズが大きくなります。ファイルサイズが最重要視される環境(例えばWebフォントなど)では、デザイン空間のコーナーから基準マスターを選ぶことを検討してください。
13.10.2 軸の位置
バリアブルフォントを出力する場合、そのデザインバリエーションの軸は、Glyphsで設定された軸座標と同じ座標が使用されます。しかし、場合によっては、Glyphsファイル内の座標がバリアブルフォントの望ましい軸座標と異なることがあります。よくある例がWeight軸で、Glyphsではステム幅に基づいて設定されていることも多いですが、OpenType仕様ではWeight軸には1-1000の範囲を使用することが推奨されています。同様に、Italic、Optical Size、Slant、Widthの軸にも推奨設定があります。
ファイル → フォント情報… → マスター で、すべてのマスターに「Axis Location(軸の位置)」のカスタムパラメータを追加して、異なる軸座標を適用します。値をクリックして編集し、バリアブルフォント上でそのマスターが表示される座標を各軸に入力します。また、軸のマッピングを使用してバリアブルフォントの軸座標を設定します。
13.10.3 軸のマッピング
バリアブルフォントの場合、フォントユーザーが選んだ軸座標を、フォントが別の軸座標に変換することができます。この変換を行うのが軸のマッピングです。
同じウェイト軸に対して、3つの異なる軸マッピングを行なった例。
デフォルトでは、バリアブルフォントは線形軸マッピングを使用します。この場合の線形とは、各軸座標がそれと全く同じ数値にマッピングされ、結果的に値が変化しないことを意味します。にマッピングされ、したがって変更されないことを意味します。たとえば、44から130までのWeight軸で考えてみましょう。フォントユーザーがスライダーで95のWeight値を選んだ場合、その値は95にマップされ(変更されないまま)、補間に使用されます。
デフォルトで使用される線形軸マッピング。
スライダーの感度は軸の範囲全体で同じです。つまりスライダーの値を同じ量だけ変更すると、軸のどの場所でも同じ量の補間値が変更されます。
線形の直線から外れた場所に軸のマッピングで制御点を追加することによって、軸座標を他の値にマッピングすることができます。
2つの制御点を追加した、非線形の軸マッピング。
上端よりも下端の方がスライダーの感度が高くなっています。つまりスライダーの下端で同じ量の変更を行うと、上端で行うよりも補間値の変化が大きくなります。
グラフのinternal coordinates(内部座標)は、ファイル → フォント情報… → マスター → 軸座標 で設定された値です。external coordinates(外部座標)は、軸マッピングの結果であり、補間に使用されます。
軸のマッピング設定は、ファイル → フォント情報… → フォント にある「Axis Mappings(軸のマッピング)」カスタムパラメータを追加することで行います。値をクリックしてマッピングの編集を行います。
軸のマッピングダイアログは、以下の3つのペインに分かれています。
- 補間軸のリスト
- 選択した補間軸のマッピング制御点のリスト
- 選択された補間軸の制御点のビジュアルエディタ
マッピング制御点のリストは、左側の内部座標と右側の外部座標の2列に分かれています。外部座標には「Axis Location(軸の位置)」カスタムパラメータの設定がある場合はそれも適用されるため、線形マッピングであっても内部と外部の座標が異なる場合があります。
プラスボタンをクリックすると新しい制御点が追加されます。あるいは、ビジュアルエディタの青い線をクリックして、新しい制御点を追加することもできます。
リストの値をクリックするか、ビジュアルエディタでコントロールポイントを上下にドラッグして値を編集します。現在選択されているポイントを矢印キーで上下左右に移動することもできます。Shiftキーを押しながら10単位、Commandキーを押しながら100単位での移動も可能です。現在選択されている制御点はリスト上でハイライトされ、ビジュアルエディターで大きく強調表示されます。選択した制御点を削除するには、マイナスボタンをクリックします。
ファイル → フォント情報… → 出力スタイル で、バリアブルフォント設定に「Axis Mappings(軸のマッピング)」カスタムパラメータを追加し、マッピングをカスタマイズすることもできます。
13.10.4 スタイル属性テーブル
スタイル属性(STAT)テーブルは、フォントファイルに格納されている情報で、バリエーション軸の異なる位置に名前を与えるものです。これにより、バリアブルフォントを使用するソフトウェアは、さまざまな軸構成に対してスタイル名を表示することができます。
例えば、Weight軸(200~700)とWidth軸(50~150)を持つ「Example」という名前のバリアブルフォントを考えてみましょう。STATテーブルでは、特定の軸の位置に対して名称を定義することができます。
この情報により、アプリケーションは任意の軸構成のスタイル名を構成することができます。Weight=600、Width=75に設定すると、「Example Semibold Condensed」というスタイル名が得られます。また、名前は無視することが可能な名前として設定することもできます。無視可能な名前は、他の名前と組み合わされた場合には消去されます。例えばデフォルトの「Normal」ウェイトの名前を無視可能に設定すると、「Bold Normal」という名前のスタイル名は「Bold」というスタイル名に簡略化されます。
Glyphsは、フォントのインスタンス名とその軸座標からSTATテーブルに必要なすべての情報を自動的にコンパイルします。STATテーブルが想定通りにならない場合は、ファイル → フォント情報… → 出力スタイルで以下の2つのカスタムパラメータを追加してカスタマイズを行なってください。
- 1つの軸の基準マスター(13.10.1「バリアブルフォントの基準マスター」参照)と異なるインスタンスに、「Style Name as STAT entry(STATテーブル用スタイル名)」カスタムパラメータを追加します。値にはその軸の4文字タグを設定します。たとえば、Regularマスターが基準マスターで、LightインスタンスがWeight軸でのみ異なる場合は、このパラメータを追加して「wght」に設定します。
- 軸に無視可能な名前コンポーネントを持つインスタンスに、「Elidable STAT Axis Value Name(無視可能なSTAT補間スタイル名)」カスタム パラメータを追加します。この値には、インスタンス名が無視可能な軸の4文字タグを設定します。例えばRegularインスタンスは、すべてのケースで無視可能な名前であるため、フォントの軸ごとに複数のパラメータが必要になる場合があります。
コメント