このページでは、フォント エディタ で使用できる Font と Font Face のアセットのタイプについて説明します。
Font アセット
UE4 のフォントは Font アセットとして分類され、 2 種類のキャッシング方法を使用します。ランタイム は、コンポジット フォントの形式をとります。オフライン は、 事前計算された古いフォント アトラス方式です。フォント エディタで Font アセットを開くことで、この 2 つの方式を切り替えることができます (これはオフラインの既存のフォント アセットを置き換える必要なく 新しいコンポジット方式に変換する簡単な方法です)。
Font Face アセット
Font Face アセットは、フォント インポート時に作成され、Font アセットが参照できるフォント データを保存します。つまり、同じフォント データを複数のフォント アセットで再利用することができます。 さらに、ひとつの Font アセット内で複数の書体を再利用することもできます。その結果、メモリ消費を減らします。

Font Face アセットを開くと、[Hinting] と [Loading Policy] の設定にアクセスすることができます。
プロパティ | 説明 | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Source File Name | 書体の作成元のファイル名です。必ずしもディスク上にありません。フォント データを過去にロードして、このアセット内にキャッシュしたかもしれないからです。 | ||||||||||||
Hinting | 書体と合わせて使うヒント アルゴリズムです。
|
||||||||||||
Loading Policy | ランタイムにこうした書体がどのようにロードされるかを制御する列挙型変数です。オプションの詳細説明については、列挙型変数をご覧ください。
|
||||||||||||
Layout Method | フォントをレイアウトする場合に使う方法を選択します。フォントでクリッピングや高さの問題が生じたら、これを使ってみてください。
|
Font アセットを 4.15 以降にアップグレード
Unreal Engine 4.15 から Font アセットは、Font と Font Faces という 2 つのアセットに分かれました。ロード中に既存の Font アセットはその内部フォントデータを、埋め込まれた Font Face アセットに自動的にアップグレードします。 しかし、自動的にそれらを分割はしません。これを行うには、Font エディタを開き、フォント ファミリー内のエントリーで [Upgrade Data] を選択します。 これらのアセットを編集したり、作成した他の Font アセットと共有できるようになります。

[Upgrade Data] をクリックすると、新しい Font Face アセットを保存するように促されます。
フォント エディタ
[コンテンツ ブラウザ] でフォント アセットをダブルクリックすると、フォント エディタ ウィンドウ内でそのフォント アセットが開きます。

以下は Font Editor ウィンドウの各部を示したものです。
ツールバー メニュー

加えた変更を保存し、[コンテンツ ブラウザ] でアセットを見つけ、プレビュー ウィンドウの背景色を変更したり、 文字の表示色 (テキスト カラー) を変更することができます。加えられている変更を更新またはエクスポートするオプションがあります。しかし、こうしたオプションは オフライン キャッシュ モード内でのみ利用可能です。
Default Font Family

このウィンドウでは Font アセットと合わせて使用するデフォルト フォント ファミリーを指定することができます。特定のフォント スタイルのバージョンを追加したり (例えば、標準、太字、イタリック、アンダーラインなど)、 ひとつのコンポジット フォントとして様々なフォント スタイルのコレクションを持つことができます。ブランクの Font アセットを作成したらこのウィンドウ内からフォントを 指定することもできます。
Sub-Font Family

このウィンドウで [Add Sub-Font Family] ボタンをクリックすると、Font アセットが使用するサブフォント ファミリーを指定することができます。

ここでは、文字範囲 (Character Range) を指定し、入力した文字がこの範囲に入ったらデフォルトの代わりに 別のフォント スタイルを指定することができます。これは異なる言語で様々なフォント タイプを使用したい場合に役立ちます。
Preview

このウィンドウではフォントのプレビューが可能であり、サンプル テキストを入力するテキスト入力ボックスがあります。
Draw Font Metrics

Draw Font Metrics を切り替えると、ラインの高さ、グリフのバウンディング ボックス、ベース ラインのプレビューがオーバーレイ表示されます。
- Base Line - テキストが入るラインです。
- Line Bounds - 任意のテキスト文字列の長さに対して作られたバウンディング ボックスです。
- Grapheme Cluster Bounds - 任意の言語で論理文字とみなされる物の回りに描画されるバウンディング ボックスです。いくつかのグリフを含むことがあります (例、基本文字とアクセントのグリフ)。
- Glyph Bounds - 任意のグリフ周囲に描画されるバウンディング ボックスです。
Details

このウィンドウではフォント キャッシュ タイプ、フォント サイズ、フォント名 (ランタイム用) を変更することができます。
- 古い方式を使用している場合は、オフライン キャッシュ モードでフォントのパラメータを変更することができます。
- 既存のフォント アセットを置き換えることなく オフライン から ランタイム に変換できます。
Font アセットの例
以下は Font アセットの例です。
画像をクリックして全画面表示にします。
コンポジット フォントには常にデフォルト フォント ファミリーが含まれます。任意の文字範囲で使用するサブフォント ファミリーをいくつでも含むことができます。各フォント ファミリー自体は、スタイルに基づいて命名できる任意の数の Font Face から構成されます。ランタイムには、その文字範囲に対してフォント ファミリーで (利用可能なフォントに基づき) 各文字に最適なフォントが使用されます。
上の画像でわかるように、日本語のテキストは日本語フォント ファミリーの文字範囲にあります。そのため、デフォルト フォント ファミリー (Roboto) ではなく Source Han Sans を使用して描画されます。サブフォント ファミリーのフォントは Regular、Bold、および Light の場合と同様に名前の一致によって選択されるのが理想的です。しかし、Bold Italic のようにデフォルト フォントの属性に基づきマッチするようにフォールバックすることもできます (自動的に太字の日本語フォントが選択されます。このフォントには、太字属性が含まれていたからです)。