レシピ

広告

原文: Recipes

チュートリアル

シェイプの再利用

執筆者: Rainer Erich Scheichelbauer

en fr zh

2022年8月5日更新(初版公開:2013年1月14日)

コンポーネントでグリフを調理しましょう。優しくかき混ぜ、数分間煮立たせ、熱いうちにお召し上がりください。どうぞお楽しみに。

おそらく「グリフ > グリフを追加…」(Cmd-Shift-G)コマンドはご存知でしょう。これは次のようなテキスト入力シートを表示します。

ここに、グリフ情報パネルに表示されるようなグリフ名、例えばgermandblsfiveguillemetleftなどを入力できます。あるいは、実際の文字、例えばäàを入力すると、Glyphsは適切なグリフ名を持つグリフ、この場合はadieresisagraveを追加します。このコマンドは合字も認識するので、t_tと入力すると、2つのtコンポーネントを持つt_tという名前の合字グリフが得られます。スペースや改行で区切って、一度に多くのグリフ名を入力できます。この方法で、テキストファイルに保存しているグリフリスト全体をコピー&ペーストして、一度に多くのグリフを作成できます。

単一コンポーネントのレシピ

しかし、本当にクールなのはレシピです。レシピとは、等号を含む文字列のことで、例えばsix.numr=six.supsです。Glyphsは、等号の左側にあるものをコンポーネントにしようとします。等号の右側にあるものは、結果として得られるグリフ名です。したがって、six.numr=six.supsの例では、Glyphsはsix.supsという名前のグリフを作成し、six.numrコンポーネントを挿入します。

その可能性を考えてみてください。大文字だけのフォントを作りたいとします。次のように入力できます。

A=a B=b C=c D=d E=e F=f G=g H=h I=i J=j K=k L=l M=m
N=n O=o P=p Q=q R=r S=s T=t U=u V=v W=w X=x Y=y Z=z

これにより、小文字のaからzまでが作成され、その中に大文字のAからZまでがコンポーネントとして挿入されます!この方法なら、大文字と小文字は常に同期したままです。クールですね。

プロのヒント

オールキャップスフォントを作成するには、もっと良い方法があります。オールキャップスフォントの作成チュートリアルをご覧ください。

複数コンポーネント

オプション1:マークのアタッチメント

プラス記号を入力します。このレシピを見てください。

h.short+circumflexcomb.case=hcircumflex

このレシピは、h.shortという文字コンポーネントを取り、circumflexcomb.caseというマークコンポーネントを追加し、hcircumflexというグリフを作成します。コンポーネントは、ダイアクリティカルマークの場合のように、それぞれのtop_topアンカーで接続されます。新しいグリフを追加してh.shortと名付ける必要があるかもしれません。これで、バーを短くしてtopアンカーを再配置し、より美しいhcircumflexを得ることができます。

ほとんどの場合、内蔵のレシピで十分です。グリフ名を入力するだけで、Glyphsが残りを解決してくれます。例えば、edieresisと入力すると、Glyphsはedieresiscombコンポーネントからそれを構築します。内蔵のレシピは、「ウインドウ > グリフ情報」の「コンポーネント」列で見ることができます。もし事前に調理されたレシピに同意できない場合は、プラス記号を使って独自のレシピを作成できます。

オプション2:合字のアタッチメント

もう一歩進んでみましょう。レシピにマークを追加しないとどうなるでしょうか?

f.ligature+icaron=f_icaron.liga
f.ligatureLow+f.ligature+icaron=f_f_icaron.liga

これらのケースでは、2番目と3番目のグリフはダイアクリティカルマークではなく、通常の文字です。合字に適したfのバリエーションです。これは、この例では、Glyphsがそれぞれの文字のコンポーネントを互いに隣接して挿入し、合字を形成することを意味します。

コンポーネントは、文字が隣り合って入力された場合と同じように合字内に配置されます。配置はカーニングを尊重します。あるいは、#exit#entryアンカーで配置を正確に制御することもできます。fの部分では、キャンバスを右クリックし、コンテキストメニューから「アンカーを追加」を選択し、アンカーの名前を#exitに変更することでアンカーを配置します。

そして、icaronのベースコンポーネントであるidotlessには、対応する#entryアンカーを配置します。

要するに、レシピを使って2つのグリフを追加し、ダイアクリティカルマークまたはダイグラフを作成できます。そして何よりも良いのは、結果として得られるグリフがコンポーネントで構成されることです。#exit#entryアンカーで接続の正確なポイントを制御できます。このようなトリックについては、コンポーネントのテクニックチュートリアルで詳しく説明しています。

範囲

コロンを2つのグリフ名の間に挟むことで、Unicodeの完全な範囲を追加できます。このように。

uni2500:uni257F

これは、例えば、すべての罫線文字をグリフとしてフォントに追加します。要するに、構造はglyphname1:glyphname2で、glyphname1のUnicode値はglyphname2のそれより小さいです。すると、これら2つの間にUnicodeでリストされているすべての文字が追加されます。

ちなみに、どのグリフ名の構造に従うかは問題ではありません。ナイスネームでも、uniXXXX名でも構いません。したがって、これは上記の例と同等です。

boxLightHorizontal:boxHeavyUpAndLightDown

複数行編集

似たような構造のレシピの行がいくつかあり、それを扱う状況に直面するでしょう。そしてその時、ロボットのように、すべての行で似たようなことを何度も繰り返し入力している自分に気づくでしょう。うげぇ。

幸いなことに、複数行編集を可能にするテキストエディタがあります。すなわち、Sublime TextTextMateです。TextMateでは、Optionキーをタップして通常の選択と列選択を切り替えます。列選択モードに入ると、行う編集はすべての行で行われます。Sublime Textでは、Cmd-Shift-Lを押すことで同じことができます。

これと、選択したすべてのグリフ名をコピーする機能を組み合わせます。フォントタブでグリフを選択し、右クリックしてコンテキストメニューを表示し、「グリフ名をコピー > 1行に1つ」を選択します。

次に、TextMateまたはSublime Textにペーストし、複数行編集を行います。

かなりクールですね。


サンプルフォント:Alena、Roland Stieger氏提供。

更新履歴 2017-10-05: 範囲と複数行編集に関する注記と段落を追加。

更新履歴 2019-08-05: 誤字を修正(Nathalieさん、ありがとう!)。

更新履歴 2022-08-05: 「複数コンポーネント」の章を書き直し、ヒントを追加、スクリーンショットを更新、軽微なフォーマット。

更新履歴 2022-09-11: 誤字を修正(Curtisさん、ありがとう!)。

関連記事

すべてのチュートリアルを見る →

コメント

タイトルとURLをコピーしました