下記の文章はGlyphs3ハンドブックを個人的に日本語に訳したものです。
DeepLを活用し機械翻訳で作成した文章がメインの構成です(一部手動による翻訳と、Glyphs2.3のマニュアルより引用した記述が含まれます。今後も随時修正予定です。)
まだまだ未完成の文章も多く、内容には誤訳を含む可能性もあります故、あくまで参考程度でお願いします。恐れ入りますが誤訳により生じた一切の責任については負いかねますので予めご了承ください。
参照元:Glyphs3 Handbook (PDF)、Glyphs2.3ハンドブック日本語版 (PDF)
8 フォント情報
フォント情報ウィンドウには、フォントのファミリー名、マスター、フォントの出力スタイル、OpenTypeフィーチャーなど、Glyphsファイルに関する一般的な情報が含まれます。フォント情報を開くには、ファイル → フォント情報… (Cmd–I) を選択するか、メインウィンドウの左上にある「i」(Info)ボタンをクリックして、フォント情報を開きます。
フォント情報は複数のタブに分かれています。フォント、マスター、出力スタイルの各タブは、フィールドの列でフォントのメタデータを制御します。太字の見出しの右にあるプラスボタンをクリックすると、フィールドが追加されます。フィールドを削除するには、行の右側にあるマイナスボタンをクリックします。右側にプラスボタンがある行は、Optionキーを押してマイナスボタンを表示させます。または、行をクリックして選択し、Cmd–Deleteを押して削除することもできます。

一部のフィールドは、複数の言語にローカライズできます。これらのフィールドでは、言語メニューが表示され、フィールドの右側にプラスボタンが表示されます。ローカライズを追加するには、プラスボタンをクリックして、言語メニューからそれぞれの言語を選択します。
1つまたは複数の行コピーするには、Commandを押しながら行をクリックして選択し、編集 → コピー(Cmd–C)を選択して編集 → 貼り付け (Cmd–V)で行を貼り付けます。
8.1 フォント
「フォント」タブには、出力されるすべてのフォントファイルに適用される情報が含まれています。フィールドを追加するには、見出しの「一般」の右にある「+」ボタンをクリックします。
「フォント」タブの「補間軸」(8.1.12「補間軸」参照)とカスタムパラメーター(8.1.13「カスタムパラメーター」参照)については、このセクションの最後で詳しく説明しています。
8.1.1 ファミリー名
「ファミリー名」とは、出力されたフォントに付けられた名前のことです。この名前はフォントメニューに表示されます。同じファミリー名のフォントはグループ化されてサブメニューにまとめられます。ファミリー名には、ASCII文字(a〜zおよびA〜Z)、数字(0〜9)、およびスペースのみを含めることができます。それ以外の文字が含まれていると、フォントの出力やインストールができない場合があります。
「Localized Family Names」フィールドを追加して、非ASCII文字を含むファミリー名を提供したり、ファミリー名を複数の言語にローカライズすることもできます。見出しの「一般」の右にある「+」ボタンをクリックし、「Localized Family Names」を選択して、「追加」をクリックします。
Glyphsはファミリー名を使用して出力フォントのファイル名とName IDの1(Font Family)、3(Unique font identifier)、4(Full font name)、および6(PostScript name)のエントリを導き出します。PostScript/CFF ベースの OpenType フォントでは、ファミリ名は CFF テーブルのFontNameおよびFullNameにも使用されます。ファイル → フォント情報… → フォント → 一般 で「フォント名」と「フルネーム」のフィールドを追加すると、ファミリー名とは別にこれらの値を制御することができます。
Name IDは、OTFおよびTTFフォントに格納されているOpenType Naming Tableエントリを参照しています。可能なすべてのNaming Tableエントリのリストについては、OpenType Naming Tableの仕様を参照してください。
フォント名は、出力スタイルに「Localized Family Names」フィールドを使用することで設定を上書きすることができます。
8.1.2 全角ユニット数(UPM)
「全角ユニット数(UPM)」(Units per em)は、各グリフのemスクエアに含まれるユニット数を設定します。UPMを大きくすると、ノードの配置オプションが増えるため、細かいディテールの表現ができます。新規Glyphsファイルでは1000UPMがデフォルト値です。OpenTypeの仕様では、16(24)から16,384(214)までの値を許容していますが、5000UPMを超える値を設定すると、Adobe InDesignおよびIllustratorで問題が発生する可能性があります。一部のアプリケーションでは、3000UPMを超える値で問題が発生します。
さらに、ポイント(ノードとハンドル)の座標は±32,768を超えてはならず、PostScript/CFFフォントのグリフ幅は4096UPM(212)を超えると問題が生じます。したがって、フォントのデザインがより高い精度を必要とする場合は、グリッドのユニット間隔とグリッド細分の値を変更したほうがよいでしょう。詳しくは8.5.1「グリッドのユニット間隔とグリッド細分」を参照してください。
フォント全体を異なるUPMに拡大縮小するには、テキストフィールドの横にある斜め両方向の矢印ボタンをクリックします。拡大縮小では、UPMとグリフのアウトラインが一緒に変更され、アウトラインの見かけの大きさは変わりません。UPMを拡大縮小せずに小さい値を設定し(たとえば1000から800)、その後UPMを元の値(たとえば1000)に戻すことで、フォントのすべてのアウトラインを拡大します。UPMをより小さな値に変更し、元のUPMにスケールバックすることで、アウトラインをより小さくすることができます。
出力スタイルの「Scale to UPM」カスタムパラメータを使用して、出力したファイルのUPM値を変更し、グリフのアウトラインとメトリクスを新しいUPM値に合わせて拡大縮小することもできます。アウトラインやメトリクスを拡大縮小せずに UPMを変更する場合は、「unitsPerEm」カスタム パラメーターを使用します。
8.1.3 バージョン
「バージョン」フィールドは、ピリオドで区切られたメジャーバージョンとマイナーバージョンに分かれています。新しいGlyphsファイルのバージョンは「1.000」です。上下の数値変更ボタンをクリックして、マイナーバージョンを変更します。
フォントのメジャーバージョンとマイナーバージョンは、フォントのヘッダーテーブル(headテーブル)内の「fontRevision」エントリとして書き込まれます。さらにGlyphsはバージョン文字列を書き込む前に、フォントのバージョンに自分のバージョンを付加することで、バージョンエントリからName ID 5(Version string)を生成します。例えば「Version 1.000;FEAKit 1.0」(FEAKitは、Glyphsが内部で使用しているソフトウェアです)のようになります。
詳細は、OpenTypeヘッダーの仕様を参照してください。
カスタムのバージョン文字列を定義するには、「バージョン番号」カスタムパラメータを使用します。アプリケーションによっては、このバージョン文字列が「Version」で始まり、メジャーバージョン、ピリオド、マイナーバージョンと続くことを要求する場合がありますのでご注意ください。詳細については、OpenTypeの仕様書を参照してください。
8.1.4 作成日
「作成日」フィールドには、フォントの作成日を入力します。この項目は、headテーブルの「created」および「modified」の日付に使用されます。
8.1.5 デザイナーとデザイナーのURL
「デザイナー」フィールドには、書体デザイナーの名前を入力します。この項目はName ID 9(Designer)に対応しています。
「デザイナー URL」フィールドには、デザイナーのURL(通常はデザイナーのウェブサイトのURL)を入力します。この項目は「Name ID 12(URL Designer)」に対応しています。このフィールドには、URLスキーム(httpsなど)を含める必要があります。
例えば、以下のようになります。

「デザイナー」フィールドはローカライズ可能です。
8.1.6 製造者と製造者のURL
「製造者」フィールドには、製造者(メーカー)の名前を入力します。この項目はName ID 8(Manufacturer Name)に対応します。
「製造者 URL」フィールドには、製造者のURL(通常は製造者のウェブサイトのURL)を入力します。Name ID 11(URL Vendor)に対応します。このフィールドには、URLスキーム(httpsなど)を含める必要があります。
例えば、以下のようになります。

「製造者」フィールドはローカライズ可能です。
8.1.7 著作権
「著作権」フィールドには、フォントの著作権表示を入力します。この項目はName ID 0(Copyright notice)に対応しています。典型的な著作権表示は、「Copyright 2021 Some Name. All rights reserved.」となります。このフィールドはローカライズ可能です。
8.1.8 ライセンスとライセンスURL
「ライセンス」フィールドには、フォント配布のライセンスについての説明を入力します。この項目はName ID 13(License Description)に対応しています。このフィールドはローカライズ可能です。
「ライセンス URL」フィールドには、追加のライセンス情報へのURLを入力します。この項目はName ID 14(License Info URL)に対応しています。このフィールドには、URLスキーム(httpsなど)を含める必要があります。
8.1.9 商標
「商標」フィールドには、フォントの商標権者がいる場合にはその旨が記載されており、Name ID 7(Trademark)に対応しています。商標表示は、法的な助言に基づいて行う必要があります。このフィールドはローカライズ可能です。
8.1.10 書体の説明
「書体の説明」フィールドには、書体の説明を入力します。この説明には、更新情報、使用上の推奨事項、フォントの特徴、およびフォントに関連するその他の情報を記述できます。このフィールドはName ID 10(Description)に対応しており、ローカライズ可能です。
8.1.11 サンプルテキスト
「サンプルテキスト」フィールドには、フォント管理ソフトウェアでのフォントプレビュー用のサンプル文字列を入力します。この項目はName ID 19(Sample text)に対応しています。ソフトウェアによっては提供されたサンプル文字列を使用できない場合があることに注意してください。このフィールドはローカライズ可能です。
8.1.12 補間軸
「補間軸」では、補間や可変フォントのデザイン軸を定義します。新しい軸を追加するには、「補間軸」見出しの右にある「+」ボタンをクリックします。軸には名前と4文字のタグがあり、非表示にすることもできます。
Glyphsには、さまざまな定義済みの軸名があります。定義済みの軸名のいずれかを選択するとタグが変更されます。軸をフォントユーザーから見えなくするには、「Hidden」チェックボックスを有効にします。
複数のマスターにまたがる軸の扱いについては、13「マルチプルマスター」を、可変フォントでの軸の使い方については特に13.2「軸の設定」を参照してください。
8.1.13 カスタムパラメーター
フォントの設定は、カスタムパラメーターで追加することができます。「カスタムパラメーター」の見出しの右にある「+」ボタンをクリックすると、カスタムパラメーターのリストが表示されます。検索を使用するか、リスト内をスクロールして目的のパラメータを探します。パラメータ名をクリックして説明を表示し「追加」をクリックすると、選択したパラメータがフォントに追加されます。
8.2 マスター
マスターとは、明示的に設計・設定されたグリフのアウトラインとメトリクスのセットです。Glyphsファイル内で設定されたマスターからフォントの出力スタイルが計算され、OpenTypeフォントファイルとして出力されます。詳細は8.3「出力スタイル」を参照してください。
8.2.1 マスターの管理
新規Glyphsファイルを作成すると、そのフォントには1つのRegularマスターが作成されます。「マスター」タブの下部には、マスターを追加および削除するための「+」と「-」のボタンがあります。「+」ボタンをクリックすると、新しいマスターの作成方法として次の3つのオプションが表示されます。
- 「空のマスターを追加」は、新しい空のマスターを追加します。すべてのグリフレイヤーは空で、メトリクスはデフォルト値に設定されています。
- 「他のフォントから追加」を選択すると、現在Glyphsで開いているフォントのすべてのマスターのリストが表示されます。1つまたは複数のマスターを選択し、「OK」をクリックしてインポートします。「キャンセル」をクリックすると、どのマスターもインポートされません。
- 「選択中のマスターを複製」は、「マスター」タブで現在選択されているマスターを複製します。新しいマスターは選択されているマスターと同じ名前、グリフレイヤー、およびメトリクスを持ちます。元のマスターと区別するために、複製したマスターの名前は変更するほうが良いでしょう。
「フォント情報」ウィンドウの左下にある「-」ボタンをクリックすると、選択したマスターが削除されます。
マスターを並び替えるには、マスターリスト内でドラッグして希望の位置に変更します。リストの最初のマスターは、グリフレベルのヒンティング情報に特別な関連があります(「Get Hints From Master」カスタムパラメータが設定されている場合を除く)。11.3「手動ヒンティング」および12「TrueType ヒンティング」を参照してください。
名前、メトリクス、カスタムパラメーターなどのプロパティは、選択した複数のマスターを一度に編集することもできます。共通の値を持たないプロパティには、「複数の値」と書かれた灰色のテキストが表示されます。
8.2.2 一般
ファイル → フォント情報… → マスター → 一般 で、マスターの名前とそのアイコンを定義します。マスター名はGlyphsの内部でのみ使用され、出力されたフォントファイルでは使用されません。出力されるフォントファイルの定義には8.3「出力スタイル」の設定値を使用します。

マスターアイコンには、フォントのグリフを使用することも、さまざまな幅や重さの25種類の定義済み小文字nグリフを使用することもできます。マスターアイコンをクリックして定義済みの画像を選択するか、アイコンピッカーの下部にあるテキストフィールドにグリフ名を入力すると、そのグリフがアイコンとして使用されます。
8.2.3 補間軸上の座標
「補間軸上の座標」は、デザインスペースにおけるマスターの位置を示します。デザインスペースは、「フォント」タブの「補間軸」によって定義されます(8.1.12「補間軸」参照)。例えば、Width(幅)とWeight(太さ)の2つの軸を持つフォントは、2次元のデザインスペースを持つことになります。マスターは、そのデザインスペース内のどこにでも配置することができます。デザインスペースにマスターを配置する方法については、13.3「マスターの設定」を参照してください。
8.2.4 メトリクスとアラインメントゾーン
マスターのメトリクスでは、フォントのベースライン、そのベースラインからのオフセット、およびイタリックグリフの傾斜角度などの値を定義します。編集ビューではメトリクスはオレンジ色の直線で表示されます(「表示」 → 「メトリクスを表示」がオンの場合)。デフォルトのメトリクスは選択したスクリプトと言語に応じて設定されます。たとえば、欧文フォントのデフォルトの垂直方向のメトリクスは次のとおりです。
アセンダー
b、d、f、h、k、l、þ、ßなどの小文字の最高位置。
キャップハイト
H、T、Wなどの大文字の高さ(オーバーシュートを除く)。
xハイト
x、a、c、e、nなどの小文字の高さ(オーバーシュートを除く)。
ベースライン
文字を配置する際の基本の位置。常に0です。
ディセンダー
Q、g、j、þ、qなど文字の最低位置。ベースラインより下にあるため、この値はマイナスになります。
イタリック角度
イタリック体のステムの傾斜角度。この値は、サイドベアリングの計算、選択したノード間のアンカーの配置、イタリック角度を考慮した変換など、いくつかの要素に影響を与えます。値の単位は時計回りの度数です。
他の文字体系では、異なるデフォルトのメトリクスが使用されています。例えば、アラビア語フォントの場合、デフォルトのメトリクスはアセンダー、ベースライン、ディセンダー、アレフハイト、接合線、ミームの深さです。

メトリクスの名前をクリックすると、メトリクスのタイプ、カスタム名、適用グリフを編集できます。カテゴリはメトリクスの種類を表し、名前はメトリクスを識別するために自由に決めることができます。適用グリフは、そのメトリクスをグリフの一部に限定します。たとえば、メトリクスをデーヴァナーガリー文字を持つグリフにのみ適用すると、他のグリフではそのメトリクスは表示されません。適用グリフのフィルタリングの詳細については、7.5.4「スマートフィルタ」を参照してください。

メトリクスの左の数値フィールドは、ベースラインからのオフセット値を定義します(イタリック角度のメトリクスのフィールドは1つです)。右側の数値フィールドはアラインメントゾーンのサイズで、メトリクスのオフセット位置から始まります。アラインメントゾーンに配置されたノードやアンカーは強調表示されます。4.2.5「アラインメントゾーン内のノード」および4.4.1「アンカーの追加、編集、削除」を参照してください。
アラインメントゾーンは、オートヒンティング処理で使用されます。これにより、小さなフォントサイズや低解像度の画面でも、オーバーシュート部分がメトリクス線上で整列するようになります。アラインメントゾーンを使ったPostScriptヒンティングの詳細については、11.1.2「アラインメントゾーン」を参照してください。TrueTypeヒンティングでは、別のゾーンを設定することができます(12.2.1「TrueTypeゾーン」参照)。
8.2.5 ステム
フォントのデザインは通常、標準的なステムに準拠しています。例えば、大文字のIには垂直方向のステムがあり、大文字のHには2つの垂直方向のステムと1つの水平方向のステムがあります。アルファベットOのような丸みを帯びた形は、左右の縦ステムと上下の横ステムを持っています。小文字の f や t のようなセリフやクロスバーもステムです。
よく使われるステムの幅は、ファイル → フォント情報… → マスター → ステム で定義されています。オートヒンターは、これらのステムの値を使って縦と横のステムにヒントを加えます。オートヒンターによるヒンティングの詳細については11.2「オートヒンティング」を参照してください。TrueType のヒンティングでは、別のステムを設定することができます (12.2.2「TrueTypeステム」を参照)。

見出し「ステム」の右側にあるプラスボタンをクリックして、新しいステム定義を追加します。ステムには、垂直方向(左から右に計測)と水平方向(上から下に計測)があります。ステムの名前は、その説明と補間のために使用されます。マスター間で補間する場合、両方のマスターで同じ名前のステムは、中間のステム値を補間するために使用されます。ステム値は、できるだけ多くのマスターのステムに近い値にする必要があります。良いステム値の詳細については、11 「PostScriptヒンティング」を参照してください。
ステム入力行の右にあるアクションボタンをクリックすると、その入力をグリフの一部に限定できます。この絞り込みは、マスターのメトリクスやスマートフィルタと同じように機能します。グリフのフィルタリングの詳細については、7.5.4「スマートフィルタ」を参照してください。
8.2.6 カスタムパラメータ
マスターには、フォントタブと同様にカスタムパラメータを設定することができます(8.1.13「カスタムパラメータ」参照)。カスタムパラメータの値は、すべてのマスターで定義されている場合は補間されます。カスタムパラメータの中には、フォントレベルとマスターレベルで存在するものがあります。マスター上のパラメータは、そのようなフォントパラメータを上書きします。出力スタイル上のカスタムパラメータで、フォントとマスターの両方のパラメーターを上書きすることもできます。
8.2.7 Number Values
トークンは、OpenTypeフィーチャーコードの中のNumber Valuesを使用してマスター間を補間する数値を挿入することができます。新しい数値を追加するには、「Number Values」の見出しの右にあるプラスボタンをクリックします。詳細については、8.4.4「Number Valuesトークン」を参照してください。
8.3 出力スタイル
「出力スタイル」タブには、「ファイル → 出力…」(Cmd–E)で出力したときに作成される静的なインスタンスとバリアブルフォント設定が含まれます。「出力スタイル」タブの左下にあるプラスボタンをクリックして、新しいインスタンスまたはバリアブルフォント設定を追加します。以下の4つの選択項目があります。
- 「新規インスタンスを追加」は、「Regular」という名前の新しいインスタンスを追加します。
- 「全マスターを新規インスタンスとして追加」は、各マスターのデザインスペースの位置にインスタンスを追加します。例えば、フォントに2つのマスター(Weight=100のThinと、Weight=700のBold)がある場合、ThinとBoldのインスタンスがそれぞれのマスターと同じ補間軸の値で追加されます。
- 「選択スタイルをマスターとして追加」は、現在選択されているインスタンスのアウトラインとメトリクスを使用して、新しいマスターを追加します。例えば、ThinとBoldの2つのマスターと、Thin、Light、Regular、Semibold、Boldの5つのインスタンスを持つフォントを考えてみましょう。Light、Regular、Semiboldのインスタンスは2つのマスターの間の補間です。ここでRegularインスタンスを選択して「選択スタイルをマスターとして追加」を選択すると、インスタンスから取得したアウトラインとメトリクスを持つRegularマスターが追加されます。この結果、LightインスタンスはThinマスターとRegularマスターの間を補間し、Regularインスタンスは補間なしでRegularマスターを使用し、SemiboldインスタンスはRegularマスターとBoldマスターの間を補間することとなります。
- 「バリアブルフォント設定を追加」は、バリアブルフォント用のインスタンスを追加します。詳細は、15.1.2「バリアブルフォントの出力」を参照してください。
選択したインスタンスを削除する場合は下部の「-」ボタンをクリックします。サイドバーのインスタンスをCommnadを押しながらクリックして複数選択するか、Shiftを押しながらインスタンスの範囲を選択します。また、インスタンスをドラッグして並べ替えることもできます。インスタンスの順序はGlyphs内での整理のために使用されるだけで、出力されるフォントファイルには影響しません。インスタンスの補間の詳細については、13「マルチプルマスター」を参照してください。
8.3.1 有効
「有効」のチェックボックスで、ファイル → 出力…(Cmd–E)でインスタンスを出力するかどうかを制御します。ボックスがチェックされていないインスタンスは、サイドバーのアイコンが灰色で表示されます。
8.3.2 スタイル名
スタイル名は、アプリケーションのフォントメニューに表示されます。例えば、「Regular」、「Bold」、「Light Italic Display」などです。スタイル名には、アルファベットのA〜Z、a〜z、数字の0〜9、スペース、およびハイフンなどの一部の記号を含めることができます。ASCIIの範囲外の文字はすべてのソフトウェアと互換性がありません。この場合は「Localized Style Names」カスタムパラメータを追加して、Unicode文字を含むスタイル名を設定してください。
オペレーティングシステム、アプリケーション、プリンタによっては、長いフォント名を持つフォントを使用できない場合があります。全体の名前(ファミリー名とスタイル名)で20文字を上限とするのが妥当です。フォント名が長すぎる場合は、「フォント名」および「フルネーム」というカスタムパラメータを追加して、フォント名を省略することを検討してください。
適切なスタイル名とソフトウェアとの互換性を最大限に高めるための短縮方法の詳細については、Naming tutorialを参照してください。
8.3.3 ウェイトクラスと字幅クラス
ウェイトクラスおよび字幅クラスの値は、インスタンスを分類するために使用されます。一部のアプリケーションでは、フォントメニューでフォントの順序を決めるためにウェイトクラスと字幅クラスを使用しています。また、CSSでウェブサイトのタイポグラフィを定義する際には、ウェイトクラスを使って異なるウェイトのフォントにアクセスします。
ドロップダウンメニューの▼をクリックすると、定義済みの値の範囲から選択することができます。これらの値はOpenType OS/2の仕様に従っています。標準的なウェイトクラスは100、200、…、900で、字幅クラスは1~9です。フォントファミリーが9つの標準ウェイトクラスよりも多くのウェイトクラスを必要とする場合は、ウェイトクラスに1から1000までの任意の値を設定することができます。ウェイトクラスのフィールドをクリックすると、1から1000までの値を手動で入力することができます(例えば、セミライトスタイルの場合は350)。なお、アプリケーションによっては、あらかじめ定義されたウェイトクラスのいずれかを使用しているフォントしか扱えず、その中間の値のフォントを拒否する場合があります。
ウェイトと字幅のクラスは、ウェイトと字幅の補間軸の座標とは必ずしも同じではありません(フォントにそのような軸がある場合)。ウェイトと字幅のクラスは、Glyphs以外のアプリケーションがフォントの順序付けと分類のために使用します。補間軸はGlyphs の内部で補間のために用いられます(ただし公開することも可能です。13.3.1 「補間軸座標」 参照)。ウェイトと字幅の補間軸は、ウェイトと字幅のクラスと同じ値とは限りません。
8.3.4 補間軸上の座標

補間軸上の座標は、デザインスペースにおけるインスタンスの位置を定義します。フォントの補間軸は「フォント」タブで定義され(8.1.12「補間軸」参照)、マスターはそれらの補間軸のデザインスペース内の特定の位置にアウトラインとメトリクスを定義します(8.2.3「補間軸上の座標」参照)。
マスター間の補間軸座標を持つインスタンスは、デザインスペースの外にあるときは補間され、外挿されます。例えば、Lightが40、Boldが120の2つのマスターを持つ単一のウェイト軸を考えてみましょう。ウェイトが80のインスタンスは補間されます。ウェイトが20と150のインスタンスは両方とも外挿されます。外挿されたインスタンスを適切に処理することはかなり困難です。すべてのインスタンスが補間されるように、補間軸の両端にマスターを描くようにしてください。
8.3.5 スタイルリンク
スタイルリンクを使用して、ボールド、イタリック、またはボールドイタリックのインスタンスを通常のインスタンスに接続します。スタイルリンクは、ワードプロセッサなどのアプリケーションで使用される機能で、ユーザーが太字ボタンをクリックしたり、選択したテキストにCmd–Iを押して斜体を設定すると、あらかじめ適切に設計されたフォントに切り替えることができます。
スタイルリンクには、ボールドとイタリックの2つのチェックボックスと、ベースとなるインスタンスの名前を入力するテキストフィールドがあります。例えば、Bold Italicのインスタンスでは両方のチェックボックスを選択し、テキストフィールドに通常のインスタンスの名前(「Regular」)を入力します。
スタイルリンクは、同じファミリー名のフォント間でのみ機能します。デフォルトでは、Glyphsは「フォント」タブのファミリー名を「出力スタイル」タブのすべてのインスタンスに使用します。ファミリー名は、ファイル → フォント情報… → 出力スタイル → 一般で「Localized Family Names」を追加することで、個々のインスタンスに対して上書きすることができます。異なるGlyphsファイルから生成されたフォントでも同じファミリー名を使用することが可能です。これは、同じファミリーに属するローマンとイタリックに別々のGlyphsファイルを使用している場合によく見られます。
アプリケーションによっては、フォントのすべてのスタイルの完全なリストを公開せずに、BoldボタンとItalicボタンを使いレギュラー、ボールド、イタリック、ボールドイタリックのスタイルを選択できるようにしているものもあります。このようなアプリケーションでは、スタイルリンクが設定されていないフォントはフォントファミリーの一覧の中で別項目として表示されます。次のようなスタイルリンクの手法を検討してください。
- フォントファミリーのBold、Italic、Bold Italicインスタンスは、常にRegularインスタンスにリンクする必要があります。
- その他のイタリック体は、常に非イタリック体にリンクさせる必要があります。例えば、Medium ItalicはMediumのイタリックとして表示されます。
フォントデザイナーによっては、ボールドを他のスタイルとリンクさせることもあります。例えば、SemiboldはLightのボールドとして表示されます。これにより、Semiboldスタイルはフォントファミリーの一覧から隠され、Lightスタイルが選択されている状態でBoldボタンを押したときにのみ利用できるようになります。そのため、ユーザーはフォントファミリーにSemiboldスタイルが含まれていることに気づかない場合があります。
8.3.6 カスタムパラメータ
インスタンスには、カスタムパラメータを設定することができます。カスタムパラメータの中には、「フォント」、「マスター」、「出力スタイル」の各タブに存在するものがあります。「出力スタイル」タブのパラメータは、「マスター」タブや「フォント」タブで設定した値を上書きします。例えば、試用版用のインスタンスを用意してファミリー名の末尾に「TRIAL」という単語を追加することができます。
8.4 フィーチャー
「フィーチャー」タブでは、グリフを置換したり配置したりするOpenTypeフィーチャーコードを管理します。これらの機能は、OpenType仕様のGSUBテーブル(グリフの置換)とGPOSテーブル(グリフの位置決め)に記述されています。
カーニング、発音記号の位置合わせ、続け書き(連綿体)の位置合わせなどのGPOS機能は、主に編集ビューでグリフ間のカーニング値を編集し、アンカーを配置することで定義されます。これらの暗黙的なフィーチャーは、「フィーチャー」タブには表示されません。詳細は8.4.7「暗黙的なフィーチャー」を参照してください。
8.4.1 OpenType フィーチャーコード
OpenTypeフィーチャーは、AFDKO (Adobe Font Development Kit for OpenType) 構文を使用して定義されます。詳細については、8.4.4「トークン」および8.4.5「条件付きフィーチャーコード」を参照してください。
「フィーチャー」のサイドバーは、「プレフィックス」「クラス」「フィーチャー」の3つの部分に分かれています。各見出しの右にあるプラスボタンをクリックしてエントリーを追加します。1つまたは複数のサイドバーエントリーを選択し、ウィンドウの左下にあるマイナスボタンをクリックして削除します。
「プレフィックス」エントリーには、任意のフィーチャーコードが含まれており、主に特定のフィーチャーの外部に配置する必要のあるルックアップを定義するために使用されます。
「クラス」は、グリフ名のリストです。グリフ名は、スペースまたは改行の空白文字で区切られます。
「フィーチャー」は、グリフの置換と配置のルールを制御します。フィーチャーは4文字のタグで識別されます。「フィーチャー」と書かれた見出しの横にある「+」ボタンをクリックするとフィーチャータグを検索することができます。フィーチャーをダブルクリックして追加するか、上下の矢印キーで選択リストを移動し、希望のフィーチャーを選択してReturnキーを押します。
フィーチャーが選択されると、ウィンドウの右上に「仕様ページ」ボタンが表示されます。このボタンをクリックすると、Microsoft OpenType開発者向けWebサイトの機能仕様書が表示されます。
8.4.2 フィーチャーコードの自動生成
Glyphsは、一般的に使用されている多くのOpenTypeフィーチャーのフィーチャーコードを自動的に生成することができます。ウィンドウの左下にある「更新」ボタンをクリックすると、自動生成されたプレフィックス、クラス、およびフィーチャを一度に作成・更新できます。
またGlyphsは更新の際、生成可能な新しいクラスやフィーチャを探します。例えば名前にアンダースコアを持つグリフ(f_lなど)が前回のアップデート以降に追加されたとします。その場合、Glyphsはそれらの追加を検出し、対応するフィーチャーコードを持つ「liga」(標準的な合字)フィーチャーをサイドバーに自動的に追加します。
多くの自動フィーチャーでは、グリフ名にドットつきの接尾辞を使用しています。たとえば、「.sc」で終わるグリフではsmcp(スモールキャップ字形)フィーチャーにsub a by a.sc
が、「.tf」で終わるグリフではtnum(等幅ライニング)フィーチャーにsub zero by zero.tf
が追加されます。この機能はグリフ名の最後にフィーチャータグを追加することで実現します。たとえば、g.ss01というグリフでは、ss01(1番目のスタイルセット)が有効なときグリフgに置き換わります。
自動プレフィックス、クラス、およびフィーチャーを使用するときは、その名前の右側にある更新ボタンをクリックします。クリックしたエントリーだけが更新されます。サイドバーからエントリーを選択し、コードエディターの上にある「フィーチャーを自動で生成」チェックボックスの選択を解除すれば、コードを手動で編集することができます。手動のコードは更新ボタンをクリックしても更新されません。詳細は、8.4.3「フィーチャーコードの手動編集」を参照してください。
一部のフィーチャーやクラスは、Glyphsが自動生成できるにもかかわらず、更新ボタンを押しても自動的に追加されません。たとえば、すべての出力するグリフを含むクラス「All」は自動的に生成できますが、すべてのフォントプロジェクトがこれを必要とするわけではありません。また、大文字の間に少し余分なスペースを追加するCapital Spacing機能(cpsp)も自動生成できますが、すべてのデザインで必要なわけではなく、デザイナーによっては手動で記述する場合もあるでしょう。
Glyphsで自動生成されたフィーチャーの中には「フィーチャー」タブに表示されないものがあります。詳しくは8.4.7「暗黙的なフィーチャー」を参照してください。
8.4.3 フィーチャーコードの手動編集
フィーチャーコードのテキストフィールドの上にある「フィーチャーを自動で生成」チェックボックスをオフにすると、コードを手動で書くことができます。calt(前後関係に依存する字形)フィーチャーのように自動生成できないコードは、常に手動モードになります。
フィーチャーコードはOpenType Feature File Specificationで規定されているAFDKO構文で記述されます。フィーチャーコードを編集した後、ウィンドウの左下にある「コンパイル」ボタンをクリックすると編集ビューでプレビューが可能になります。詳細は 4.13.3「OpenTypeフィーチャーのプレビュー」を参照してください。なお編集ビューでは、手動置換コードのみがプレビューでき、手動配置コードはプレビューできません。
Glyphsの構文は、エディタでフィーチャーコードをハイライトします。キーワード(subやlookupなど)は、グリフ名(ka-devaやzeroなど)とは異なるフォーマットになっており、数値、ルックアップ名、コメントとはまた異なるフォーマットになっています。
グリフ名、クラス名、またはルックアップ名(たとえば、キーワードsubの後にグリフ名、またはキーワードlookupの後にルックアップ名)を入力して、オートコンプリート機能を起動します。Glyphsは条件に一致する候補のメニューをリスト表示します。

リスト内で上下の矢印キーを使って希望の候補を選択します。一致する候補が多数ある場合は、希望の候補が表示されるまでスクロールするか、さらに数文字入力して候補リストを絞り込みます。強調表示された候補を、リターンキーを押して決定します。
グリフ名またはクラス名をOptionを押しながらクリックするとビジュアルプレビューが表示されます。クラス名の場合は、すべてのグリフがリスト表示されます。

Glyphsは、フィーチャーコードに誤りがあってコンパイルできない場合、インラインでエラーメッセージを表示します。エラーのアイコンをクリックすると、詳細な説明が表示されます。レンチのアイコンが付いているエラーには修正案が含まれています。「修正」ボタンをクリックすると修正案が適用されます。

エラーのあるプレフィックス、クラス、およびフィーチャーは、サイドバーにアイコンが表示されます。サイドバーのエラーアイコンをクリックすると、コードの誤った部分に直接ジャンプします。
フィーチャーコードの下にあるテキストフィールドには、プレフィックス、クラス、またはフィーチャーに関するメモを書き込むことができます。メモフィールドの上にある灰色の線を上下にドラッグすると、メモフィールドの高さを変更できます。

右下のスニペットボタンをクリックすると、定義済みのコードスニペットが挿入されます。スニペットを選択すると、そのフィーチャーのコードに挿入されます。カスタムフィーチャーコードスニペットの追加については、17.2「カスタムフィーチャーコードスニペット」を参照してください。
8.4.4 トークン
トークンとは、フィーチャーコードを自動化するためのコードの一部です。トークンはfi-tyaコードに値やグリフ名を動的に挿入するもので、その構文はドル記号($)で始まります。トークンには数値トークン、プロパティトークン、式トークンの3つの種類があります。
数値トークン
数値トークンは、ファイル → フォント情報…→ マスター → Number Values(8.2.7「Number Values」参照)で定義された値を挿入します。数値トークンはドル記号の後に数値の名前を付けて記述します。
たとえば、$padding
というトークンは、フォントのマスターに「padding」という数値を挿入します。複数のマスターが存在する場合、トークンが挿入する値は補間されます。
トークンは、基本的な演算にも対応しています。数値の名前を中括弧で囲んで${padding*2}
のように記述することで、加算(+
)、減算(-
)、乗算(*
)、除算(/
)の各演算子が使用できます。数値の名前は算術式の最初に置かなければなりません。このような演算は、例えば、大文字のスペーシング「cpsp」フィーチャーなどに役立ちます。
pos @Uppercase <$padding 0 ${padding*2} 0>;
Optionキーを押しながら数値トークンをクリックすると、その計算値が表示されます。
プロパティトークン
プロパティトークンは ${glyphname:property}
のように記述されます。glyphname
はグリフの名前、property
はドットで区切られたプロパティのパスです。
プロパティにはメトリクス(字幅、LSB、RSB、TSB、BSB)やアンカーの位置(anchors.top.xなど)を指定できます。基本的な算術も数値トークンと同様にサポートされています(前項参照)。例えば、以下のようになります。
# グリフの位置調整(cpspフィーチャーなど)
pos a.alt <${period:LSB} 0 ${period:LSB*2} 0>;
# 発音記号とベース文字の位置調整のカスタマイズ
pos base b <anchor
${b:anchors.top_special.x}
${b:anchors.top_special.y}> mark @SpecialTopMark;
プロパティトークンをOptionキーを押しながらクリックすると、その値が表示されます。
式トークン
式トークンは、式にマッチするグリフをスペースで区切りのリストに変換して挿入します。例えば $[script == "adlam"]
は、アドラム文字に属するすべてのグリフを含んだスペース区切りのリストに変換されます。
また、$[name endswith ".star"]
は、接尾辞が「.star」で終わるすべてのグリフのリストに変換されます。
フィーチャークラスで使用する場合、式トークンは以下のように他のグリフ名と並べて書くことも可能です。
period comma $[category == "Symbol"]
上記の式トークンは、展開されることで下記と同じ内容になります。
period comma at ampersand plus minus ...
プレフィックスやフィーチャーの中では、式トークンは次のように角括弧で囲む必要があります。
@Signs = [period comma $[category == "Symbol"]];
@SmallCaps = [$[case == smallCaps]];
式トークンでは、グリフのさまざまな設定値を参照することができます。
真/偽
真・偽の条件が適用されるかどうかをチェックします。例えば、以下のようになります。
$[isAligned == true]
$[hasHints == false]
$[isColorGlyph == true]
数値
グリフの数値をチェックします。例えば、以下のようになります。
$[countOfLayers == 3]
$[countOfUnicodes > 0]
数値は、限られた値を持つプロパティにも使用されます。たとえば、以下のようになります。
$[colorIndex == 5]
(色番号は7.3.5「カラーラベル」参照)$[case == upper]
(noCase、upper、lower、smallCaps、minor、other)$[direction == 2]
(0: LTR, 1: BiDi, 2: RTL)
文字列
テキスト文字列をグリフのプロパティと比較します。例えば、以下のようになります。
$[name endswith ".sc"]
$[script == "balinese"]
$[category == "Letter"]
オブジェクト
ネストしたグリフデータにアクセスして比較します。例えば、以下のようになります。
$[layer.anchors.top.y > 600]
$[layer.maxX > 300]
$["ipa" in tags]
式は組み合わせることもできます。2つの式の両方が真である必要がある場合は、2つの式の間に「AND
」を記述します。2つのうち1つだけが真であれば良い場合は「OR
」を記述します。式の前に「NOT
」を記述すると、式の判定を反転させることができます。必要に応じて、括弧を使って式をグループ化します。
例えば、以下のようになります。
$[script == "greek" AND case == upper]
$["todo" in tags OR NOT note contains "done"]
$["ipa" in tags OR ("lang" in tags AND case == lower)]
式トークンは、あるフィーチャークラス(@SomeClass
)に含まれるすべてのグリフを表す、特別なclass(...)
関数にも対応しています。これを使って、あるグリフが与えられたクラスに含まれるかどうかをチェックします。
# クラス @SomeClass のすべての小文字のグリフ
$[name in class(SomeClass) AND case == lower]# 2つのクラスの共通グリフ
$[name in class(Narrow) AND name in class(TopMark)]
式トークンをOptionキーを押しながらクリックすると、一致するすべてのグリフのリストが表示されます。
8.4.5 条件付きフィーチャーコード
フィーチャーコードを#ifdef
ブロックで囲むと、ブロック内の記述をバリアブルフォントに限定することができます。コードブロックは#endif
行で閉じます。
#ifdef VARIABLE
sub a by a.var;
#endif
#ifdef
(if defined)ブロック内のルールはバリアブルフォントにのみ適用されます。#ifndef
(if not defined)を使うと、非バリアブルフォントにのみフィーチャーが適用されます。
#ifndef VARIABLE
sub a by a.static;
#endif
バリアブルフォントにのみ適用されるブロックには、OpenTypeフィーチャーの値の範囲が含まれる場合があります。これは、置換や配置のルールをデザインスペースの特定の範囲に限定するものです。フィーチャーの値の範囲を定義するには、条件キーワードに続けて補間軸の範囲を記述します。
#ifdef VARIABLE
condition 600 < wght < 900;
sub dollar by dollar.alt;
#endif
補間軸の範囲は、補間軸名を下限値と上限値で囲んで記述します。制限値と補間軸名の間には、小なり記号(<)を書きます。下限値と上限値の両方に小なり記号が書かれていますが、実際には下限値はイコール小なり記号(≦)として扱われるので注意してください。補間軸の範囲には、下限と上限の両方を指定することも、どちらか一方だけを指定することもできます。
1つの条件を複数の補間軸の範囲に限定することができます。その場合はコンマで区切って記述します。条件に続くコードは指定されたすべての補間軸の範囲が一致する場合にのみ使用されます。
#ifdef VARIABLE
condition 600 < wght < 900, 70 < wdth < 90;
sub won by won.boldcondensed;
#endif
8.4.6 スタイリスティックセットの命名
デザインのセット(「ss01」から「ss20」まで)フィーチャーには、適切な名前を付けることができます。フィーチャー名をサポートするアプリケーションでは、「Stylistic Set 1」、…、「Stylistic Set 20」ではなく、これらの名前が表示されます。
サイドバーでデザインのセット(ss01〜ss20)を選択すると、コードエディタの上部にフィーチャー名の行が表示されます。各行には、言語選択リストと、その言語でローカライズされた名前のテキストフィールドがあります。行の右側にある「+」ボタンをクリックすると、フィーチャー名のローカライズ設定が追加されます。行を削除するには、「-」ボタンをクリックします。
デフォルトの言語を使用して、他のローカライズされた名前がユーザーのロケールと一致しない場合の予備の名前をサポートします。多くのシステムでは、デフォルトの言語は英語であると想定されています。例えば、「ss07」という機能の名前を英語とドイツ語で提供するには、英語の機能名にはDefault言語を、ドイツ語の名前にはGerman言語を使用します。
8.4.7 暗黙的なフィーチャー
暗黙的なフィーチャーは、Glyphsによって自動的に生成されますが「フィーチャー」タブには表示されないフィーチャーをいいます。カーニング機能(「kern」)がその代表例です。カーニングの値は編集ビューで定義され、カーニングウィンドウで管理されます(10.2「カーニング」参照)。「kern」フィーチャーのコードは、マスターやインスタンスごとに異なるため、「フィーチャー」タブでは表示されず、出力時にバックグラウンドで密かに追加されます。暗黙のうちに追加される他のフィーチャーについても同様です。
グリフ間距離の調整(dist)フィーチャーは、カーニングと似た働きをしますが、カーニングとは異なりユーザーが制御することはできません。
発音記号の位置調整(mark)フィーチャーは、ベースのグリフが「top」や「bottom」などのベースアンカーを持ち、発音記号グリフが「_top」や「_bottom」などの対応するアンカーを持つ場合に生成されます。これは、「abvm」(音節の基底子音より上の発音記号位置調整)フィーチャーおよび「blwm」(音節の基底子音より下の発音記号位置調整)フィーチャーにも適用されます。詳しくは、4.4.2「ベースグリフ+発音記号の位置合わせ」を参照してください。
発音記号+発音記号位置(mkmk)フィーチャーも、「mark」フィーチャーと同様に生成されます。詳しくは、4.4.3「発音記号+発音記号の位置合わせ」を参照してください。
続け書きの接続位置調整(curs)フィーチャーは、編集ビューで「exit」と「entry」のアンカーを配置することで定義されます。詳細は4.4.4「連綿(続け書き)の位置合わせ」を参照してください。
暗黙的はフィーチャーは、手動で拡張することもできます。サイドバーの「フィーチャー」見出しの横にあるプラスボタンをクリックし、「kern」などのフィーチャータグを検索します。検索結果をダブルクリックするか、Returnキーを押して、フィーチャーを挿入します。
フィーチャーコードエディターで、フィーチャーコードのどこかに「# Automatic Code」という行を挿入すると、この行より上のコードは自動生成されたフィーチャーコードの前に配置され、下のコードは自動生成されたフィーチャーコードの後に配置されます。
pos a b -20;
# Automatic Code
pos x y 15;
pos y z -5;
ウィンドウの右下にある「スニペット」ボタンをクリックして、自動コードプレースホルダーを挿入します。
8.4.8 出力スタイル別の自動フィーチャー
以下のカスタムパラメーターを使用して、個々の出力スタイルのフィーチャーをカスタマイズします。
- 「Add Prefix」、「Remove Prefixes」、「Replace Prefix」
- 「Add Class」、「Remove Classes」、「Replace Class」
- 「Add Feature」、「Remove Features」、「Replace Feature」
自動化されたクラスやフィーチャーは、異なる出力スタイルに対して変更する必要はなく、出力スタイルごとに自動的に適応されます。
8.5 その他の設定
8.5.1 グリッドのユニット間隔とグリッド細分
アウトラインを定義するポイントはグリッド上に配置されます。「グリッド間隔」はポイントの座標をどのように丸めるかを定義します。グリッド間隔のデフォルト値は1で、これはポイントの小数点以下を切り捨てて数値を丸めます。例えば、(3.142, 7.816)であれば(3, 7)に丸められます。5を指定すると、5ユニットごとの座標値に丸められます。例えば(3.142, 7.816)の場合は(5, 10)となります。値が0の場合は数値は丸められず、(3.142, 7.816)の小数点以下の数値もそのまま維持されます。丸めを無効にすることは装飾品のような非常に細かいデザインや、グリフを新しいサイズに拡大縮小する際に役立ちます。ピクセルフォントのような粗いデザインでは高い値が有効です。
一般的な認識とは異なり、少数点座標でもCFF形式(PostScript)のOpenTypeフォントに出力が可能です。
すべてのツールや処理結果はグリッドに整列します。パス → ポイントをグリッド状に整列 を選ぶと、 選択したすべての点がグリッドに揃えられます。
グリッド細分に1以上の値を使用すると、デザイン座標のグリッド間隔を大きく保ったまま、より細かい制御が可能になります。例えば、「グリッド間隔」を100、「細分化」を5に設定すると、20ユニット単位のサブグリッドにポイントが配置されます。ユニット間隔が1でグリッド細分が10の場合、ポイントの座標は小数点以下1桁となり、例えば(3.1, 7.8)のようになります。
8.5.2 修飾キーの増減単位
Glyphsの多くの場所では、矢印キーを使って値を変更することができます。例えば、編集ビューでポイントを移動したり、テキストフィールドの数値を上下矢印キーで増減させることができます。Shiftキーを押している間は10単位、Commandキーを押している間は100単位で値が修正されます。ShiftキーとCommandキーの値はテキストボックスから任意に変更が可能です。
8.5.3 カスタムのグリフ名を使用
組み込みのグリフデータベースの名前(Nice name)を使用せず、異なるカスタムのグリフ名を使用したい場合は、「カスタムのグリフ名を使用」オプションを有効にします。カスタムのグリフ名を使用しているワークフローに対してこのオプションを有効にすると名前の自動置換が行われなくなります。
編集中に「カスタムのグリフ名を使用」オプションを無効にしても、フォントのグリフ名が即座にNice nameに変更されるわけではありません。変更するには、グリフ → グリフ情報を更新 を選択し、選択したグリフの、グリフ名を含むプロパティを更新します。ただし取得したフィーチャーコードや手動で編集したフィーチャーコードが無効になる場合があり、この場合は手動でのコード修正が必要になります。
OpenTypeフォントまたはUFOソースをインポートする際は、グリフ名は内蔵のグリフデータベースに合わせて修正されます。「環境設定」→「ユーザー設定」で、「読み込み元のファイルのグリフ名を保持」の設定を変更してください(3.3「ユーザー設定」参照)。
8.5.4 コンポーネントの自動整列を解除
このオプションは、コンポーネントの自動整列と、発音記号などの複合グリフのメトリクスの自動更新を無効にします。個々のコンポーネントの位置をロックするには、編集ビューのコンテキストメニューから[コンポーネントをロック]を選択します。Glyphs → 環境設定…→ ユーザ設定 の「読み込んだファイルではコンポーネントの自動整列を解除」で、ファイルをインポートしたときの設定を行います(3.3「ユーザー設定」参照)。また、9.1.8「自動整列」も参照してください。
8.5.5 オルタネートを元のグリフの横に並べる
フォントビュー内で、ドット付き拡張子名を持つグリフをドット付き拡張子名を持たないベースグリフの直後に配置したいときは、「オルタネートを元のグリフの横に並べる」を有効にします。このオプションを有効にすると、例えば「a.ss15」「a.alt」「a.loclDEU」などのグリフは基本小文字のカテゴリの後ではなく、グリフ「a」の直後に配置されます。
8.5.6 ファイル形式のバージョン
Glyphsファイルのフォーマットは、Glyphs2からGlyphs3へのバージョンアップで若干変更されました。互換性のため、Glyphs3でも古いGlyphs2のファイルフォーマットを読み書きすることは可能です。
Glyphs2で作成されたGlyphsファイルで作業する場合、Glyphs3はこれをバージョン2のファイルとしてインポートします。しかし、Glyphs3で新たに追加された機能の中にはバージョン2形式のファイルには保存できないものがあります。この設定をバージョン3に変更してすべてのGlyphsの機能を使用することをおすすめします。新規のGlyphsファイルは常にバージョン3形式で作成されます。
8.6 メモ
フォントビューの「メモ」タブにはテキストノートを保存できます。この内容は出力時には適用されず、Glyphs内での作業にのみ利用されます。このメモは、フォントの「note」カスタムパラメータと同等です。
テキストフィールドでは、Markdownのシンタックスハイライトが使用できます。イタリック(*italic*, _italic_)、ボールド(**bold**, __bold__)、ハイパーリンク([Link Text](https://example.org) または <https://example.org>)、および見出し(#, ##, ###, ####, #####, ######)のフォーマットがサポートされています。

前:#7 フォントビュー|現在:#8 フォント情報|次:#9 図形の再利用
コメント