
原文: Adding glyphs to your font
タグ: 言語
執筆者: Rainer Erich Scheichelbauer
言語: en fr zh
2021年11月10日更新
(初版公開: 2016年11月9日)
新しいグリフ(文字)をフォントに追加する方法は実にたくさんあります。ここでは、その便利な方法をまとめてご紹介します。
サイドバーから追加する
新しいグリフを追加するおそらく最良の方法は、フォントタブのサイドバーにあるリストやカテゴリを使うことです。カテゴリ、言語項目、フィルタの一部には、そのグループに属するグリフの総数と、現在フォントに含まれている数を表す数字バッジ(例:8/24=総数24個中、8個が存在)が表示されています。

数字バッジが付いている項目を右クリックすると、そのグループに含まれるものの、まだフォントには存在しない(欠けている)グリフ名のリストが表示されます。そこから任意のグリフ、あるいは複数のグリフ(クリック&ドラッグ、またはShiftキー/Cmdキーを押しながらクリック)、さらにはすべてのグリフ(Cmd-A)を選択できます。その後、「生成」ボタンをクリックするかReturnキーを押せば、それらがフォントに追加されます。

グループには「カテゴリ」「言語」「フィルタ」の3種類があります。
- カテゴリ: 「文字」「合字」「数字」などは、主にフォントタブでの表示を絞り込むためのものです。一部には数字バッジがあり、右クリックで不足グリフを追加できます。
- 言語: 特定の言語や言語グループ、あるいは完全な文字体系(スクリプト)をカバーするために十分なグリフがあるかを確認するのに役立ちます。技術的あるいは言語学的に意味のあるサブグループが含まれていることが多く、ほぼすべての言語グループに数字バッジが付いています。
- フィルタ: 一番下にはカスタマイズ可能なフィルタがあります。「スマートフィルタ」と「リストフィルタ」があり、後者は単純なグリフ名のリストで、数字バッジが表示されます。
カテゴリと言語はあらかじめ定義されていますが、サイドバーの項目は自分で追加することもできます。リストフィルタの作成は簡単です。左下の歯車メニューをクリックし、「リストフィルタを追加」を選択します。

表示されるダイアログでリストフィルタの名前を決め、1行に1つずつグリフ名を追加してください。

グリフを選択した状態でこの操作を行うと、ダイアログには最初からそのグリフ名が入力された状態になります。グリフ名を指定する際は、有効な名前であることを確認してください。
これらサイドバー項目の共通の利点は、すべてのGlyphsファイルで利用できることです。つまり、一貫したグリフセットを持つフォントを作成したり、複数のファイル間でグリフセットを同期させたりするのに役立ちます。
グリフのバリエーションを追加する
代替グリフは、元のグリフと同じ名前に、ドット(.)で始まる接尾辞を追加した名前を持つことになっています。グリフのバリエーションには通常Unicode値が割り当てられていないため、キーボードから入力することはできません。そのため、例えばスタイルセットのようなOpenType機能を通じてアクセスする必要があります。ドット接尾辞は通常、OpenType機能の名前を反映しています。例えば、adieresisの最初のスタイルセットバリエーションは、adieresis.ss01という名前になります。
ヒント
Glyphsは、グリフ名の接尾辞に基づいて一部のOpenType機能のコードを自動化できます。対応する機能の完全なリストとその利用方法については、Glyphsハンドブックの付録を参照してください。
グリフバリエーションを素早く作成する方法は、編集ビューまたはフォントビューで1つ以上のグリフを選択し、「グリフ > グリフを複製(Glyph > Duplicate Glyph)」(Cmd-D)を選択することです。するとGlyphsは、選択されたグリフのコピーを.001という接尾辞付きで作成します。その接尾辞が既に使用されている場合は、.002といったように連番が続きます。作成後、複製されたグリフは自動的に選択され、すぐに次の作業に移れます。
新しく複製されたグリフの接尾辞を素早く変更するには、選択状態を維持したまま、「編集 > 検索 > 検索と置換…(Edit > Find > Find and Replace…)」(Cmd-Shift-F)を選択します。ダイアログで、複製グリフの接尾辞(例:.001)を検索し、目的の接尾辞に置き換えます。

多くのグリフを一度にリネームする方法については、一括リネームのチュートリアルで詳しく説明しています。
Add Glyphsダイアログ
「グリフ > グリフを追加…(Glyph > Add Glyphs …)」(Cmd-Shift-G)を選択すると、多目的なテキスト入力フィールドを持つダイアログが表示されます。ここに、様々な方法で任意の数のグリフを追加できます。
- ペーストまたは入力した文字(区切り文字としてスペース、改行、タブを使用):
Ä Ö Ü ä ö ü ẞ ß - グリフ名:
a.ss02 adieresis.ss02 aacute.ss02 - コロンで区切ったUnicode範囲:
a:zまたはuni0300:uni033F - レシピ:
y.alt+dotbelowcomb=ydotbelowまたはf.connect+f=f_f.liga
「Generate」ボタンをクリックすると、対応するグリフがフォントに追加され、その名前は内蔵のグリフデータベース(別名ナイスネーム)に従って、人間が読みやすいグリフ名に変換されます。これには、uni0421やdotlessiのようなレガシーグリフ名やプロダクショングリフ名も含まれます。この名前の変換を防ぎたい場合は、「ファイル > フォント情報 > その他 > カスタム命名規則を使用(File > Font Info > Other > Use Custom Naming)」(Cmd-I)の設定を有効にしてください。

追加したいグリフのUnicodeがわかっている場合は、Unicode値0000からFFFFまではuniXXXX、Unicode値10000以上はuXXXXXと入力できます。
レシピを利用できる唯一の方法であることとは別に、この方法は、どこかから持ってきたUnicode範囲やグリフリストを、サイドバーに恒久的に追加したくない場合に最適です。また、特定の文字の入力方法は知っているがグリフ名がわからない場合にも、最も手早い方法です。
Glyph Infoからグリフを追加する
「ウインドウ > Glyph Info(Window > Glyph Info)」を使えば、内蔵のグリフデータベースを覗くことができます。各項目には、グリフ名、Unicode値、カテゴリーとサブカテゴリー、スクリプト、そして該当する場合はその構成要素がリストされています。

検索フィールドを使って、グリフ名、Unicode値、または文字で検索できます。リストから1つまたは複数のグリフを選択し(クリック&ドラッグ、またはShiftキーかCmdキーを押しながらクリック)、次に「Add to Font」ボタンを押します。これだけです。
この方法を使えば、サイドバーのどこにもリストされていなくても、アプリが認識しているすべてのグリフにアクセスできます。また、「Glyph Info」ウインドウは、データベース内の特定のスクリプトに属するすべてのグリフを素早く見つけるのにも便利です。単にスクリプト拡張子(例:-deva)を入力するだけです。
作成したいグリフの一部またはすべてが既にフォント内に存在する場合、Glyphsはどうするか尋ねてきます。

追加ボタン
単一のグリフを追加するには、「フォント」タブの下部にある小さなプラス(+)ボタンを押すこともできます。GlyphsはnewGlyphという名前のグリフをフォントに追加します。もし最初何も表示されない場合は、一番下にある「Other」カテゴリーまでスクロールダウンする必要があるかもしれません。また、「All」カテゴリーに切り替える必要があるかもしれません。
グリフ名はすでに入力・選択された状態になっているはずなので、すぐに目的のグリフ名を入力できます。少し待つと、オートコンプリート(入力補完)の候補が表示されます。

「グリフ > グリフを追加…」と同様に、この入力欄はレガシーグリフ名や単なる文字の入力も受け付け、Returnキーを押すと適切なナイスネームに変換されます。
グリフを削除する
追加したグリフが気に入らなかった場合は? フォントビューでそれらを選択し、追加ボタンの隣にあるマイナス(ー)の「削除」ボタンを押します。または、Cmd-Deleteキーを押して選択したグリフを削除することもできます。このショートカットは編集ビューでも機能します。表示される確認ダイアログを承認すれば、不要なグリフを削除できます。

スクリプト
スクリプトを使う方のために、GSGlyphクラスをインスタンス化し、そのGSGlyphオブジェクトをGSFontオブジェクトのglyphsに追加することで、簡単にグリフを作成できます。複雑に聞こえますか?いいえ、そんなことはありません。以下に見ればわかるはずのPythonサンプルを示します。
myGlyph = GSGlyph()
myGlyph.name = "estimated"
myGlyph.unicode = "212E"
Glyphs.font.glyphs.append(myGlyph)
その後、myGlyphのレイヤーなどにアクセスして作業を進めることができます。
別の方法として、名前を指定してGSGlyphオブジェクトを直接作成することもできます。つまり、上記のコードサンプルの最初の2行をmyGlyph = GSGlyph("estimated")に置き換えることができます。これに関する詳細や、その他多くのPython関連の情報は、docu.glyphsapp.comでご覧いただけます。
同じことをAppleScriptで行うと、次のようになります。
tell application "Glyphs"
tell font of first document
make new glyph at the end of glyphs with properties {name:"estimated", unicode:"212E"}
end tell
end tell
お楽しみください!
更新履歴 2018-07-28: 誤解を招く表現を変更し、抜けていた単語を追加しました。
更新履歴 2018-09-03: 軽微なフォーマットの修正。
更新履歴 2021-11-10: 軽微なフォーマットの更新。
更新履歴 2022-08-16: スクリーンショットを新しくし、一括リネームのチュートリアルへのリンクを追加しました。
関連記事
- グリフ名を正しく設定する チュートリアル
- レシピ チュートリアル
コメント