This post is Private. Only a writer or those who know its URL can access this post.

Skyrim Special Editionのフォントカスタマイズ方法

  • 0
    Comment

検証環境

  • SkyrimSpecialEdition 英語版 v1.5.3.0

基礎知識

Skyrimのフォント表示は次のような構成で成り立っている。

  • フォントファイル(fonts_***.swf)
  • フォント設定ファイル(fontconfig.txt)
  • 各種インターフェース(***.swf)

フォントファイル

単純にフォントが格納されているだけのSWFファイル。
慣例的にファイル名はfonts_{言語別}.swfとし、インストールフォルダ\Data\interfaceフォルダの中に配置される。
一つのフォントファイルの中に複数のフォントが入っている場合もある。

fonts_en.swfに格納されているフォント

  • Controller Buttons
  • Controller Buttons inverted
  • Eurostile Cyr Std
  • Eurostile LT Cyr Std
  • Futura CondensedLight
  • Futura Condensed
  • Futura Condensed(Bold)
  • Dragon_script
  • SkyrimBooks_Gaelic
  • SkyrimBooks_Handwritten_Bold
  • Daedric
  • Dwemer
  • Falmer
  • SkyrimSymbols
  • Mage Script
  • SkyrimBooks_Unreadable

参考: 日本語版fonts_en.swfに格納されているフォント

  • Skyrim_JP_EveryFont
  • Dragon_script
  • Skyrim_JP_HandWriteFont
  • MS PGothic
  • Daedric
  • Dwemer
  • Falmer
  • SkyrimSymbols
  • Mage Script
  • SkyrimBooks_Unreadable
  • Futura Condensed
  • Skyrim_JP_BookFont

フォント設定ファイル

インストールフォルダ\Data\interface\fontconfig.txtという名前で配置されているテキストファイル。
このファイルはフォントファイルの読み込みフォントマップの定義を行っている。
文字コードはUTF-8で保存する必要があるため、編集の際にはメモ帳ではなくサクラエディタSublimeTextといった高機能テキストエディタを使用すること。

fontconfig.jpg

フォントファイルの読み込み

fontlib "フォントファイル"
fontlib "Interface\fonts_en.swf"

フォントファイルの読み込み指定はいくつでも良いが、読み込ませるフォントファイルの合計ファイルサイズはなるべく低く抑えるべきである。
あまりにも数が多いと起動直後にCTDしてしまう。作者環境では70MB付近まで読み込ませたら起動しなくなった。

フォントマップの定義

map "${マップ名}" = "{フォント名}" {フォントウェイト}
map "$ConsoleFont" = "Skyrim_JP_EveryFont" Normal

=(イコール)を挟んで左側は変更してはならない。右側のみ変更してフォントマップ定義を行う。
なお、拙作のフォントMODでは故意にウェイトを "Normal" から変更しなくても良いようにしている。一般的にフォントはほとんどの場合Normalであり、ごく少数のウェイト指定の為に直すのは正直面倒だからである。

各種インターフェース

コンソールやインベントリ-、本やメモを表示するためのSWFファイル。
フォント設定ファイルで定義されているフォントマップを元にしてフォントを読み込んでいる。

デフォルトでは以下のような使い方をしている模様。

利用箇所 使っているフォントマップ
コンソール ConsoleFont
インベントリなどの大部分のUI EverywhereFont, EverywhereBoldFont, EverywhereMediumFont
書籍 SkyrimBooks
手書きメモ HandwrittenFont, HandwrittenBold
CreationClub CClub_Font, CClub_Font_Bold
ドラゴン文字などの特殊文字 DragonFont, FalmerFont, DwemerFont, DaedricFont, MageScriptFont, SkyrimSymbolsFont, SkyrimBooks_UnreadableFont, ControllerButtons, ControllerButtonsInverted
不明 StartMenuFont, DialogueFont

定義されていないフォントマップを読み込もうとしていたり、フォントマップに正しくフォントが設定されていない場合には□□□といった表示になる。

フォントのカスタマイズ

フォントの変更は次の流れで行う。

  1. フォントファイルの配置
  2. フォントファイルの読み込み
  3. フォントマップの変更

例として、コンソールのフォントを変更してみる。

フォントファイルの配置

フォントファイルをSkyrimインストールフォルダ\Data\interfaceフォルダの中に置く。
ここでは、バニラのフォントファイル(fonts_en.swf)を利用することにする。既に存在するファイルのため、特に作業は必要ない。

フォント設定ファイルの編集

違いが明らかにわかるように、コンソールフォントを "Dragon_script" に変えてみる。
ドラゴン文字はfonts_en.swfに含まれていて、Dragon_scriptという名前で利用でき、$ConsoleFontの割り当てを変更すればいいということを理解すること。

cgange_consolefontmap.jpg

動作の確認

フォント設定ファイルを編集したら、ゲームを起動して確認する。
今回はコンソールを変更したので、コンソール画面(半角/全角キー)を開いてコンソールを開く。

consolefont_changed.jpg

Dragon_scriptは数字と一部の英語にしか対応していないため、テストでは "01234567890" と入力している。
これでフォントが変更できた。他の箇所についても、同様の方法で変更すると良い。