TRLE Level BOX
This Site is an unofficial site by NGLE fan.

NGLE講座

■フォント

-フォント-

スクリプトコマンドの説明を読んでいるとフォントの指定を行う場合があります。
そこで、フォントの説明しておこうと思います。

Windowsにはシステムフォントというものがあります。
スクリプトコマンドにWindowsFontコマンドがあるので紛らわしいのですが、「ごみ箱」とかの文字がシステムフォントでWindowsが使用しているフォントのことです。
一方ゲームを起動した際に表示される「New Game」とかのフォントはゲームフォントとでも呼べばいいでしょうか。とにかくWindowsのシステムフォントとは関係ありません。

イメージしやすい例をあげると、ブラウザで韓国語、中国語、アラビア語で書かれたサイトを表示してみてください。IEの頃は、文字フォントをインストールするようメッセージが表示されたり、文字化けして表示されていました。他に文字コードも関係してくるのですが、長くなるので割愛します。
このように、文字化けが発生する原因は、ブラウザに文字フォントがインストールされていないからです。

-フォントの指定-

同じようにNGLEにも韓国語や中国語や日本語を表示出来るフォントはインストールされていません。
そのため、レベル名などに日本語を使用すると文字化けしてしまいます。
ブラウザでは文字フォントをインストールすれば文字化けは直りますが、NGLEにはそういったインストール機能はありません。そのため、スクリプトコマンドで指定する文字フォントには注意が必要です。ところで、NG_Centerにはイタリア語に変更できる機能があります。これはフォントというより言語の話になるので、これまた割愛します。

ヘルプを読むと東洋の文字を表示できるようなことが書かれています。おそらく、NGLEのゲームフォントにWindowsのシステムフォントまたは、インストールされているフォントを代用しようということだと思います。
日本語版のWindowsには当然日本語用のフォント(MSゴシックやMS明朝など)がインストールされているので、スクリプトコマンドに日本語用のフォントを指定してやれば表示できるでしょう。

ところが、海外のPCに日本語フォントがインストールされているとは限りません。
先述のブラウザの話と同じく文字化けしてしまいます。
自分だけで楽しむ分には何の問題もないのですが、海外にリリースする予定があるなら、日本語よりも英語を使い、英語圏で良く使われるフォントを指定するようにしましょう。
ヘルプで推奨されているフォントは以下の通り。

Arial
Comic Sans MS
Courier
Courier New
Ms Sans Serif
Times New Roman
Verdana

-プレイヤーの画面サイズ-

スクリプトコマンドでフォントの指定を行うのはWindowsFontコマンドだけですが、WindowsFontコマンドを呼び出すDefaultWindowsFont、Diary、SavegamePanelコマンドではまた違った注意が必要です。それは、

プレイヤーの画面サイズが自分のサイズと同じとは限らない。

ということです。DiaryやSavegamePanelコマンドで文字を表示させても画面が小さいと全て表示することは出来ません。また、一覧を表示させても行頭が揃っていなかったりすることがあります。
全てを表示させるには、フォントサイズを小さくしたり、画面の中央に表示するようにしたりする必要があります。
画面サイズを800x600か1024x768にして、表示できるか確認しましょう。

このサイズなら大抵のPCモニタで表示できる筈です。
NGLEはスマホアプリではないので、スマホの画面は意識する必要はありません。
タブレットの画面サイズとなるとこれまた面倒なのですが、640x480か400x300あたりで確認するとよいでしょう。

行頭を揃えるには、フォントに固定幅(等幅)のフォントを指定します。
ちなみに等幅フォントに対してプロポーショナルフォントというのがあります。
例えばMSゴジックとMS Pゴジックというフォントがありますが、「P」がついているのがプロポーショナルフォントです。プロポーショナルフォントは読みやすさを重視して一文字一文字幅が違います。
指定したフォントが固定幅か、プロポーショナルか注意する必要があります。

-まとめ-

このように、文字フォントを変更する場合は、プレイヤーのPC環境を想定して設定することが大切です。
そういったことが面倒なら、色だけを変更し、それ以外は全く変更しないという選択肢もあります。

-テキスト指定の優先度-

スクリプトコマンドにはテキストを指定するコマンドが複数あります。
そのコマンドごとに優先度や指定して変更できるテキストや影響範囲が違います。

テキストに関する優先度。

SavegamePanel=(一部DefaultWindowsFontの名ごりが表示される。バグっぽい)、Diary= > DefaultWindowsFont= > TextFormat= > FONT_GRAPHICSオブジェクト > Parameters=。

例えば、Parametersコマンドで以下のように設定した場合、

Parameters=PARAM_PRINT_TEXT, 1, CL_GOLD, FT_SIZE_DOUBLE_CHAR, >
					IGNORE, IGNORE, 30, 100

この時のFT_SIZE_DOUBLE_CHARのサイズは、FONT_GRAPHICSオブジェクトのフォントサイズが基準になっています。
そのためFONT_GRAPHICSオブジェクトのフォントサイズを変更すると、そちらが優先されFT_SIZE_DOUBLE_CHARのサイズも変更される、といった具合です。

指定して変更できるテキスト。

Diaryコマンド
変更できるテキストは、日誌のみ。
SavegamePanelコマンド
変更できるテキストは、セーブデータパネルのみ。
DefaultWindowsFontコマンド
変更できるテキストは、タイトルレベルのメニューの他、インベントリーなどUklogo.pakで指定するテキスト以外すべての表示位置。
ColorRGBコマンド
変更できるテキストは、SavegamePanel、Diary、DefaultWindowsFont、WindowsFontコマンドで呼ばれた場合のテキストの色のみ。
WindowsFontコマンド
変更できるテキストは、SavegamePanel、Diary、DefaultWindowsFontコマンドで呼ばれた場合のテキストのフォント、サイズのみ。
TextFormatコマンド
変更できるテキストは、[Title]セクションでは、タイトルレベルのメニューの他、インベントリーなどUklogo.pakで指定するテキスト以外すべてのサイズ。
[Level]セクションでは、FLIPEFFECTトリガ(64番など)で表示するテキストのみ。
FONT_GRAPHICSオブジェクト
変更できるテキストは、FONT_GRAPHICSオブジェクトが追加されているレベルのフォントのみ。
Parametersコマンド
PARAM_PRINT_TEXTなど文字系のコンスタンツを使用した場合に、テキストの色、表示位置、点滅のタイミングのみ。