下記の文章は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には、クラシックなレイヤーカラーフォント、CPALテーブルおよびCOLRテーブルを使用したMicrosoft方式のOpenTypeカラーフォント、sbixテーブルを使用したApple方式のOpenTypeカラーフォント、SVGテーブルを使用したMozilla/Adobe方式のOpenTypeカラーフォントといった、4つのカラーフォント形式を作成するための効率的なワークフローが用意されています。
14.1 カラーフォントでの作業
カラーフォントは、グリフごとに複数のレイヤーを使用するため、グリフを作成する際には複数のマスターを編集する必要があります。このような複数のレイヤーの扱いに関する一般的な情報は、13.8「マルチプルマスターの編集」を参照してください。
14.1.1 メトリクス情報の同期
カラーフォントの制作にあたっては、全てのカラーレイヤーのマスターにおいて、メトリクス情報とカーニング情報が同じであることが重要です。そのためには、ファイル → フォント情報… → マスターで「Link Metrics With First Master(メトリクスを最初のマスターとリンク)」というカスタムパラメータを使用し、最初のマスターのメトリクス情報とカーニング情報を全てのマスターで同期させることが望ましいです。もしくは、「Link Metrics With Master(メトリクスをマスターとリンク)」というカスタムパラメータを追加すれば、最初のマスターだけでなく他のマスターにもリンクすることが可能です。
14.1.2 カラーフォントのプレビュー
Glyphsの編集ビューでは、現在編集中のグリフでカラーレイヤーが選択されていると、他のグリフのカラーも同時に表示します。また、編集ビューの下部にあるプレビュー領域(目のアイコンで表示)やプレビューパネル(ウィンドウ → プレビューパネル)では、選択されたグリフのカラーレイヤーを表示することができます。Text Preview(ウィンドウ → Text Preview)は、Core Textを使用して表示されるMacアプリケーション(テキストエディットやPagesなど)で表示されるフォントのプレビューを表示します。
14.1.3 カラーフォントの出力
カラーフォントは、一般的なOpenTypeフォントと同じように、PostScript/CFF(.otf)、TrueType(.ttf)、WOFF/WOFF2などの形式に互換性があります。ただし、カラーフォントにはカラーレイヤーが含まれるため、適切な環境でのみ正しく表示されます。たとえば、レイヤーカラーフォントは、テキストを正確に重ねることができるDTPアプリケーションなどでのみ使用できます。
14.2 レイヤーカラーフォント
レイヤーカラーフォントは、複数のフォントを重ねたものです。このようなフォントが正常に表示されるためには、使用するソフトウェア環境がテキストレイヤーの重ねに対応している必要があります。
14.2.1 初期設定
レイヤーカラーフォントには色軸があります。ファイル → フォント情報… → フォント で、「軸」見出しの横にあるプラスボタンをクリックして追加します。軸の名前は「カラー」とし、「COLR」などの4文字のタグを使用します。
レイヤーカラーフォントには、一般的に「カラー」という名前の色用の軸が含まれています。この軸を追加するには、フォント情報… → フォント で「補間軸」の横にあるプラスボタンをクリックします。補間軸の名前を「Color」とし、4文字のタグ(例えば「COLR」)を指定します。
レイヤーカラーフォントの各マスターは、一般的なフォントが持つような補間関係性を持ちません。そのため、フォントの互換性チェックでエラーが発生することがあります。この問題を回避するためには、フォント情報→フォントのカスタムパラメータで「Enforce Compatibility Check(互換性チェックを強制)」をオフにします。
このパラメーターを無効にし、各カラーレイヤーにマスターを追加します。各マスターには、「Front」、「InsideLight」、「InsideShadow」、「OuterShadow」などの説明的なマスター名をつけます。「補間軸上の座標」セクションで、各マスターに異なる「Color」の値を設定します。
各マスターにカスタムパラメータ「Master Color(マスターカラー)」を追加して、プレビューカラーを定義します。なお、カスタムパラメータは、複数のマスターを選択した場合にも追加できます。この色は、「グリフ」内でのみ使用されます。フォントユーザーは、エクスポートしたフォントファイルを任意の色に設定できます。カラーピッカーの不透明度スライダをドラッグすると、プレビューに半透明の色が使用されます。
各マスターに「Master Color(マスターカラー)」というカスタムパラメータを追加し、プレビューで使用する色を定義します。複数のマスターを選択した状態でこのカスタムパラメータを追加することも可能です。また、カラーピッカーで不透明度スライダーを調整することで、プレビューに半透明の色を使用することもできます。
ProTip: さらにカスタムパラメータ「Master Color Dark(ダークモードのマスター描画色)」を追加することで、ダークモードでの表示時に異なる色を使用できます。
なお、ここで設定した色はGlyphsアプリ内でのみ使用されます。実際に出力したフォントファイルを使用する場合は、ユーザー自身で任意の色を設定する必要があります。
出力スタイルタブに切り替え、左下にあるプラスボタンをクリックし、「全マスターをインスタンスとして追加」を選択します。これにより、出力用のインスタンスが自動的に追加されます。
14.2.2 カラーレイヤーの編集
カラーレイヤーは、通常のマスターレイヤーと同様に編集ビューで編集することができます(4.13.2「マスターのプレビュー」参照)。デフォルトでは、現在選択されているマスターが表示されます。複数のレイヤーを同時に表示するには、レイヤーパレットの目のアイコンをクリックします(5.3「レイヤー」参照)。通常、レイヤーカラーフォントを扱う場合は、すべてのマスターレイヤーを表示するのが一般的です。
ファイル → フォント情報… → マスター でのマスターの順番は、編集画面においても反映されます。最初のマスターが一番上に表示され、2番目のマスターはその下に、それ以下も同様の順に表示されます。
レイヤー化されたカラーフォントは、カラーレイヤーごとに別々のフォントファイルとして出力されます。例えばカラーレイヤーが4つある場合であれば、4つのフォントファイルが生成されます。これらのフォントファイルはそれぞれ独立しており、14.2.1「初期設定」で解説したようにインスタンスをもとにして出力されています。
Glyphsでは、レイヤーカラーフォントを、複数のカラーレイヤーを1つのフォントファイルに含むSVGカラーフォントに変換することもできます。その手順は、ファイル → フォント情報… → 出力スタイル で新しいインスタンスを追加し、「Color Layers to SVG(カラーレイヤーをSVGとして…)」というカスタムパラメータを追加します。続いて同じインスタンスにカスタムパラメータ「Export SVG Table(SVGテーブルを出力)」を追加します。両方のカスタムパラメータのチェックボックスをチェックすることで、SVGカラーフォントを出力することができます。
14.3 CPAL/COLRカラーフォント
マイクロソフト形式のカラーフォントは、CPAL(カラーパレット)とCOLR(カラー)という2つの追加テーブルを含むフォントです。レイヤーカラーフォントと同様に動作しますが、レイヤーごとに1つのフォントファイルを書き出すのではなく、すべてのカラーレイヤーを1つのフォントファイルに書き出します。
14.3.1 カラーパレットの定義
ファイル → フォント情報… → フォントで、「Color Palettes(カラーパレット)」というカスタムパラメータを追加します。その値をクリックすると、カラーパレットが編集できます。
「+」ボタンをクリックするとパレットに色が追加されます。色見本をクリックすると、カラーピッカーが表示され、好きな色を選択できます。また、行を選択して「−」ボタンをクリックすることで、その行を削除することができます。
また、複数のカラーパレットを定義することもできます。新しいカラーパレットを追加するには、歯車ボタンから「パレットを追加」を選びます。パレットの列見出しをクリックしてから歯車ボタンを押し、「パレットの削除」を選択することでパレットを削除できます。インスタンスごとにパレットを選択する方法については14.3.4「出力」を参照してください。
カラーパレットの編集内容を「OK」で確認すると、編集内容が保存されます。一方、「キャンセル」をクリックすると、編集内容が破棄され、パレットが元の状態に戻ります。
14.3.2 フォールバック用のマスターレイヤ
CPAL/COLRカラーフォントは、すべてのアプリケーションでサポートされているわけではありません。アプリケーションが色情報を扱えない場合は、マスターレイヤーが表示されます。CPAL/COLRカラーフォントに対応しているアプリケーションでは、マスターレイヤーは表示されません。
14.3.3 カラーパレットレイヤー
カラーレイヤーを追加するには、レイヤーパレットの「+」ボタン(ウィンドウ → パレット、Cmd–Opt–P)をクリックし、レイヤー名を右クリックして「カラーパレット」を選択します。レイヤー名の右にある色見本をクリックして、カラーパレットから色を選びます。定義済みの色を選択するか、アスタリスク (*) オプションを選択します。アスタリスクオプションは、フォントユーザーが定義した色を使用します。Glyphsではこの色を黒でプレビューします(ダークモードの場合は白で表示可能)。
カラーパレットのレイヤーは、「Color」という名前と、「Color Palettes(カラーパレット)」カスタムパラメータで設定したカラーインデックスを持っています。グリフの複数のレイヤーが同じ色を持つことも可能であり、またパレットの一部の色をグリフ内でまったく使用しない、ということも可能です。すべてのグリフが同じ数のカラーレイヤーを持つ必要はありません。1つのカラーレイヤーしか持たないグリフもあれば、各色に対して複数のレイヤーを持つようなグリフも作成できます。
14.3.4 出力
CPAL/COLRフォント形式で出力される場合、デフォルトの状態では一番目のカラーパレットを使用して出力を行います。ファイル → フォント情報… → 出力スタイルで「Color Palette for CPAL(CPAL用カラーパレット)」カスタムパラメータをインスタンスに追加すると、異なるカラーパレットを選択することができます。カラーパレットのIDは、一番目のパレットが0から始まることに注意してください。14.3.1「カラーパレットの定義」の説明に従って、新しいパレットを追加します。
インスタンスからすべての色を削除するには、「Export COLR Table(COLRテーブルを出力)」カスタムパラメータを追加し、チェックを外します。これにより、フォールバックレイヤーのみが使用され、CPALテーブルとCOLRテーブルは出力されなくなります。
Glyphsでは、ファイル → フォント情報… → 出力スタイルで以下のカスタムパラメータを追加することで、CPAL/COLRフォントをSVGカラーフォントに変換することもできます。
- 「Color Layers to SVG(カラーレイヤーをSVGとして…)」カスタムパラメータにチェックを入れます。
- 「Color palette for SVG(SVG用カラーパレット)」カスタムパラメータを追加し、変換に使用するパレット番号を設定します。パレットには「0」から始まる番号がつけられています。パレット番号はカスタムパラメータ「カラーパレット」を開いた時の列名に表示されています。
- 「Export SVG Table(SVGテーブルの出力)」カスタムパラメータを追加してチェックを入れ、SVGデータを出力に含めます。
14.4 SBIXカラーフォント
Apple形式のカラーフォントには、さまざまな解像度のビットマップデータを含むsbixテーブル(Standard Bitmap Graphics)が含まれています。各グリフには様々なサイズの複数の画像を割り当てることができ、表示するデバイスによって最適な解像度を選択することができます。
sbixカラーフォントの詳細については、TrueTypeリファレンスマニュアルを参照してください。
14.4.1 標準的なビットマップグラフィックス
この章で扱った他のカラーフォントフォーマットとは異なり、sbixフォントはベクターグラフィックスではなくビットマップグラフィックスを使用しています。これらのグラフィックには、PNG、JPEG、またははTIFF形式を使用します。
それぞれのグリフには少なくとも1つの画像ファイルが含めますが、異なるピクセルサイズの画像を複数含むこともできます。例えば、1つのグリフに512×512ピクセルの画像だけでなく、128、32、16ピクセルなどの低解像度バージョンも同時に含めることが可能です。1つの大きな画像があればそれを縮小してそれ以下のすべての画像サイズに合わせることができますが、あえて小さいサイズの画像を含めることについては主に2つの利点があります。
- 小さいサイズの画像を用意することで、低解像度の出力に合わせてグラフィックを微調整することができます。例えば、小さなピクセルサイズでも読みやすいよう、デザインを調整することができます。
- フォントに小さい画像が含まれていない場合、テキストレンダラーは大きな画像を希望のフォントサイズに縮小する必要があります。これは、特にローエンドデバイスでは時間がかかり、より多くのエネルギーを消費することになります。
最大画像サイズを超えるフォントサイズを使用すると、テキストレンダラーによって画像が拡大され、グリフ画像は不鮮明になります。
14.4.2 画像の準備
画像編集アプリケーションを使用してグラフィックを作成し、希望のサイズでエクスポートします。ここでのサイズはフォントサイズの単位ではなく、ピクセル単位でのサイズです。例として、高さが512、256、32、16ピクセルなどの画像を書き出します。
1つのグリフに含める画像は、すべて同じアスペクト比でなければなりません。アスペクト比とは、幅÷高さの数値で表します。仮に高さが512ピクセル、幅が512ピクセル(512÷512=1、正方形)の画像の場合であれば、他のすべてサイズの画像も同じく正方形でなければなりません。画像の縦幅が横幅の2倍(256÷512=0.5)の場合であれば、そのグリフが持つ他の画像もすべてアスペクト比0.5でなければなりません。
Glyphsファイルにカラーフォント用の画像を追加する場合、画像は単に参照されるだけで、Glyphsファイル内にコピーされるわけではありません。そのため、画像ファイルを移動したり、名前を変更したり、削除したりすると、参照が失われてしまうことになります。画像はGlyphsファイルが保存されているフォルダ内などに置き、参照していることがわかりやすいようにしておくことをお勧めします。
PRO TIP: 分かりやすくするために、画像ファイルの名前にはグリフ名とピクセルサイズを付けることをおすすめします。例えば🌈の場合は「rainbow 32.png」とします。
14.4.3 Glyphsへの画像の追加
マスターレイヤーはグリフのアウトラインを含みません。しかし、Google ChromeやAdobe Photoshopなどの一部のソフトウェアでは、マスターレイヤー上のパスのバウンディングボックスをビットマップ画像のマスクとして扱うため、以下のようにマスターレイヤーの左下と右上に小さなパスを配置するのがよいでしょう。
これらの小さなパスは、ノードが同じ一点上にあることもあり、パスを隠すことができます。この場合、Glyphsがノードの重なりに対して表示する赤いノードの背景は、無視することができます。上の画像で緑色にハイライトされているこのバウンディングボックスは、Glyphsが画像をカラーレイヤーに配置する際に使用されます。
sbix形式のカラーレイヤーは、「iColor」レイヤーと名付けられています。iColor レイヤーを追加するには、レイヤーパレット(ウィンドウ → パレット、Cmd–Opt–P)の「+」ボタンをクリックし、レイヤーのコンテキストメニューから「iColor」を選択します。iColor レイヤーの名前には、「iColor 512」や「iColor 24」のように、サイズが含まれています。
sbix形式のカラーレイヤーは「iColor」レイヤーと呼ばれます。iColorレイヤーを追加するには、レイヤーパレット(ウィンドウ → パレット、Cmd–Opt–P)の「+」ボタンをクリックし、レイヤー名を右クリックして「iColor」を選択します。iColorレイヤーの名前には「iColor 512」や「iColor 24」などのようにサイズを含めます。
レイヤーパレットのレイヤーをダブルクリックすると、サイズを変更できます。このiColorピクセルサイズを変更することで、画像を拡大縮小することができます。入力したピクセルサイズが画像よりも大きい場合は画像が小さく、小さい場合は大きく表示されます。
設定したい画像の解像度ごとにiColorレイヤーを追加します。なお、マスターレイヤーの幅を変更すると、すべてのiColorレイヤーの幅も変更されます。
14.4.4 出力
Glyphsでは、フォントにiColorレイヤーが存在する場合、フォントファイルにsbixテーブルを含めて出力します。インスタンスに「Export sbix Table(sbixテーブルを出力)」というカスタムパラメータを追加し、チェックを外すことで、sbixテーブルを出力しないように設定できます。
Glyphsでは、sbixカラーフォントをSVGカラーフォントに変換できます(14.5「SVGカラーフォント」参照)。これにより、SVGカラーフォントには対応しているがsbixフォントには対応していないソフトウェアでもカラーフォントを使用することができます。カスタムパラメータ「SBIX to SVG(SBIXをSVGへ)」をインスタンスに追加し、その値をGlyphsがsbix画像データをSVGデータに変換する際に使用してほしいピクセルサイズに設定します。例えばこのパラメータを128に設定した場合、ちょうど128ピクセルサイズのiColorレイヤーがあればそれを使用し、なければ128ピクセル以上の中で最も128ピクセルに近いiColorレイヤー、128ピクセル以上のサイズがなければその次に大きいiColorレイヤーを使用します。
「Export sbix Table(sbixテーブルを出力)」のチェックを外し、「SBIXをSVGに」パラメータを設定すると、SVGのみのカラーフォントがエクスポートされます。
14.5 SVGカラーフォント
SVG(Scalable Vector Graphics)画像フォーマットは、ベクターデータとビットマップデータの両方を含むことができます。SVGカラーフォントは OpenType-SVG または SVG-in-OpenType とも呼ばれ、SVGファイルを使用してグリフを表示しています。Glyphsでは、SVGカラーフォントを作成するために3つの方法が用意されています。
- レイヤーカラーフォント、CPAL/COLRカラーフォント、sbixカラーフォントをSVGに変換
- グラフィックデザインアプリ等で作成したSVGファイルを使用
- Glyphs内でSVG画像を作成
以前は画像ではなく、フォントのためのSVGフォーマットがありました。そのSVGフォーマットは現在では廃止されています。この章のSVGカラーフォントは、グリフにSVG画像を含んでいますが、OpenTypeフォントであることに変わりはありません。
14.5.1 SVGへの変換
レイヤーカラーフォント、CPAL/COLRフォント、sbixフォントをSVGに変換する方法については、それぞれのセクションを参照してください。
- レイヤーカラーフォント:14.2.3「出力」
- CPAL/COLRカラーフォント:14.3.4 「出力」
- sbixカラーフォント:14.4.4 「出力」
14.5.2 既存のSVGファイルの読み込み
編集画面でレイヤーパレット(ウィンドウ→パレット、Cmd–Opt–P)の「+」ボタンをクリックしてレイヤー追加し、レイヤー名を右クリックしてコンテキストメニューから「svg」を選択します。SVG画像には、手書きを模したフォントのようなビットマップデータを含めることもできます。SVGファイルをレイヤーにドラッグすると、そのグリフに適用することができます。
SVG画像をGlyphsファイルに追加しても、単に画像への参照リンクが記録されるだけで、Glyphsファイル自体にSVG画像がコピーされるのではありません。SVGファイルを移動したり、名前を変更したり、削除したりするとこれらの参照は解除されてしまいます。画像はGlyphsファイルが保存されているフォルダ内などに置き、参照していることがわかりやすいようにしておくことをお勧めします。
Tip: 分かりやすくするために、画像ファイルは「A.svg」のようにグリフ名の名前を付け、「Images」という名前のフォルダにまとめると良いでしょう。
他の画像を配置した場合と同様に、グリフレイヤー上のSVG画像のサイズ変更や再配置を行うことができます(4.12.2「画像の調整」参照)。
マスターレイヤーの幅を変更すると、SVGレイヤーの幅も変更されます。アプリケーションがSVGデータを扱えない場合はマスターレイヤーを表示します。SVGのカラーフォントに対応しているアプリケーションではマスターレイヤーは表示されません。
14.5.3 SVGグリフの作成
SVGグリフは、カラーレイヤーを使用して作成します。カラーレイヤーを追加するには、レイヤーパレット(ウィンドウ → パレット、Cmd–Opt–P)の「+」ボタンをクリックし、レイヤー名を右クリックしてコンテキストメニューから「カラー」を選択します。カラーレイヤーは「カラー」という名前になり、名前の右にカラースペクトルのディスクアイコンが表示されます。
カラーレイヤーでも他のレイヤーと同様にパスを描画することができます。描かれた図形はデフォルトでは灰色で塗りつぶされます。パレット(ウィンドウ → パレット、Cmd–Opt–P)の下部にある属性インスペクタで、選択したパスのスタイルを編集します。属性インスペクタの表示は、表示 → 情報を表示(Cmd–Shift–I)で切り替えられます。
属性インスペクタには、デフォルトでは選択したパスの「線幅」と「塗り」の設定が表示されます。「属性」の見出しの横にある「+」ボタンをクリックすると追加のオプションが表示されます。ただし、「影」、「内側の影」、「パターン画像」オプションはSVGに出力することができません。これらのオプションは、フィルタ → 画像ファイルに出力 で PNGまたはPDFにエクスポートするときに使用されます。
属性の色を変更するには、色見本のボタンをクリックします。色見本に赤い斜線が入っている場合は、完全に透明であることを表しています。
線幅
線幅の見出しの右横にあるフィールドに線幅の数値を入力します。線幅はフォントユニット単位で表されます。例えば「12」と入力すると、パスに沿って12ユニット単位の線が描画されます。デフォルトでは線はパスの中央に配置されます。線をパスの内側または外側に移動させるには、「パスの左側」または「パスの右側」のアイコンを選択します。
色見本のボタンをクリックして線の色を変更します。「−」ボタンをクリックすると線幅0、透明となって線が削除されます。
塗り
色見本のボタンをクリックして、塗りの色を変更します。「−」ボタンをクリックすると、透明になって塗りつぶしが解除されます。パスにグラデーションが追加されている場合、塗りの設定は表示されません。
グラデーション
選択したパスにグラデーション効果を追加するには、属性の見出しの横にある「+」ボタンをクリックして「グラデーションを追加」を選択します。グラデーションが設定されている場合、塗りの設定は非表示になります。グラデーションには線形グラデーションと放射状グラデーションの2種類があります。アイコンをクリックしてグラデーションの種類を変更します。
グラデーションには、最低でも2つのカラーストップが必要です。これらのカラーストップは、グラデーションバーの下部の小さな丸で表示されます。丸をクリックすると、ストップカラーを編集できます。カラーストップを追加する場合はグラデーションバーの任意の場所をクリックします。カラーストップを削除するには、その丸をグラデーションバーからドラッグして離します。
フォント編集画面内にある丸の位置で、グラデーションの位置を調整します。線形グラデーションの場合は2つの丸でグラデーションの開始位置と終了位置をコントロールします。放射状グラデーションの場合は、1つの丸の位置でグラデーションの中心点をコントロールします。
出力
ファイル → フォント情報… → 出力スタイル で「Color Layers to SVG(カラーレイヤーをSVGとして…)」というカスタムパラメータを追加し、パス属性を持ったカラーレイヤーをSVGとして出力します。このパラメータを選択すると、Glyphsはカラーレイヤーのパスと属性を使ってSVGテーブルを作成し、出力されたフォントファイルに追加します。
コメント