Glyphs Tips


今月はじめ、私の愛用するフォント作成ソフトGlyphsの説明書であるGlyphsハンドブックの日本語版が公開されました。
訳者である大曲都市さん、ならびに関係者の皆様、お疲れ様です。そしてありがとうございます!
これでズボラな私でもGlyphsの仕様を正しく把握できる。

ある程度読み進めたところ、実作業で使えそうなTipsを思いついたのでこのブログにて紹介します。
もしかするとこれから紹介する内容よりもっとスマートな方法があるかもしれないので、もしご存知であればご教授いただければ幸いです(あと何か間違っていた場合も)。

では早速、

exit・entryアンカーを活用したコンポーネント化

グリフの各パーツをコンポーネント化して、変更があった際の修正箇所を最小化する方法です。
例として、小文字のb、dのボウル(丸いところ)部分を一つのコンポーネントとして再利用していく過程を紹介します。

まずbを例に、とりあえずアウトラインを作ってから”ポイントを再接続”などを利用してボウルとステム(縦棒)に分解し、それぞれをコンポーネントに変換します。
※下に載せたスクリーンショットではステム側の形状が複雑ですが、デザイン上の都合なのであまり気にしないでください。

glyphs23_02

次に、2つのコンポーネントにそれぞれアンカーを追加します。今回はステム側に”exit”、ボウル側に”entry”アンカーをそれぞれ追加します。アンカーの位置は双方とも、X方向はコンポーネント同士がちょうど接する点、Y方向はベースライン上(Y=0)に配置します。

glyphs23_03

あとはそれぞれのコンポーネントを”自動整列を有効化”すればきれいに整列してくれる、はずです。
ここで重要なのは個々のコンポーネントの順番で、bの場合ステムを1番、ボウルを2番にします。
これは自動整列の際、順番の早い方の”exit”、遅い方の”entry”アンカーを結びつけているためで、コンポーネントの順番が入れ替わるとそれぞれのアンカーの関係性が崩れてしまうためです。
コンポーネントの順序を変更する際は、後にしたい方を一旦切り取ってからペーストして再配置するか、メニューの”フィルタ” → “マスター互換性を手動修正”から変更できます。

glyphs23_04

で、なぜこのような方法で自動整列をさせるかというと、サイドベアリング(左右のスペーシング)の調整を簡単にするためです。
コンポーネントの自動整列を有効化すると、サイドベアリングの値はコンポーネント依存となり直接的には変更できなくなります。
上記のような自動整列は、わざわざexit・entryアンカーを使わなくとも任意のアンカー名(例: “connect”と”_connect”とか)でも可能です。が、その場合グリフの幅は一方の側のコンポーネント(この場合ステムの方)依存となり、もう一方のグリフ幅が無視される状態となります。つまりbの場合、ステムのコンポーネントの右サイドベアリングをボウル幅の分だけ見込んで広げておかないと、カーニングが効きすぎたような状態になってしまい、隣のグリフにめり込むことになります。
また、これではコンポーネントを他のグリフで使い回すときにサイドベアリングの整合性をとるのが困難になってしまいます。

glyphs23_05

この点、exit・entryアンカーを使用した場合は先のコンポーネントの左サイドベアリング、後のコンポーネントの右サイドベアリングをそれぞれ参照してくれるのでそれぞれのコンポーネント内の調整で済みますし、コンポーネントを再利用する際もこちらの方が都合がよいです。

別グリフでのコンポーネント再利用

続いて小文字のdにボウルを再利用する方法について。
基本的にはbと同じくボウルとステムをコンポーネント化するのですが、ボウルはbからコピペします。
bではステム、ボウルの順でグリフを構成しましたが、dでは逆にボウル、ステムの順でグリフを構築することになります。
なのでステムの方には”entry”アンカーを追加します。
(当初ボウル側にも”exit”アンカーを追加しないといけない、と思っていたのですが無くても想定通りの挙動をしてくれました。不思議。)

glyphs23_06

今回、ボウル側は180度回転させて利用するので、新しく追加する”entry”アンカーはxハイトライン上に配置します。こうすることでボウルを回転させて自動整列させたときにちょうどよい位置にコンポーネントが配置されます。
ちなみにサンセリフ体などでボウルを左右反転で配置させたいときはベースライン上に配置しておけばよいです。

実際に両コンポーネントを組み合わせる際は、一旦ボウルの自動整列を無効化しパレットサイドバーの変形機能を利用して180回転させてから再度自動整列を有効化すると180度回転した状態で整列します。
この場合のサイドベアリングに関して言うとGlyphsというソフトは大変素晴らしく、dの左サイドベアリングにボウルの右サイドベアリングの値をあててくれます。
つまりボウルのコンポーネント内で右サイドベアリングを調整すると(例えば+10増やすとか)、bの右サイドベアリングとdの左サイドベアリングがそれにあわせて同時に変動してくれます。大変賢い。

もちろん同様のことは小文字のp、qでも可能なので、一つのボウル(とサイドベアリングの設定)を4つのグリフで共有することができるようになります。またスマートコンポーネントを併用すれば細部の調整も一括管理できるでしょう。
今回は割愛しますが、同じ方法でh、m、n(デザイン上問題なければuも)でもコンポーネントを共有することができます。

さて、駆け足で解説しましたがいかがでしょうか。
文章だけだときちんと伝わるかが大変不安なので、サンプルの.glyphsファイルを公開します。Glyphsをお持ちの方はぜひダウンロードしてみてください。
ではまた。

2017年8月追記:

上記で紹介したexit・entryアンカーですが、そのまま使用すると連綿位置調整フィーチャーの生成に使われ、意図しない動作が発生する可能性があります(というかありました)。
Glyphsハンドブック(日本語版P103)によると、名前の頭に記号をつければフィーチャーの生成から除外される(例:#top、_#top、#exit、#entry)ので、皆さんもこの手法を利用する際はお気をつけください。

広告