2012/07/07

スカイリムのEverywhere系フォントについて

最近、スカイリムのフォント周りをあれこれいじって遊んでいたのですが、ふと、疑問に思うことがありました。
日本語化する時、fontconfig.txtでフォントの指定を変えますが、その中で主にゲーム内のセリフやアイテム名など広範囲に渡って使われているであろうフォントの変数、
$EverywhereFont
$EverywhereBoldFont
$EverywhereMediumFont
の3つってそれぞれ、どういった箇所で使われているんだろうと。

日本語版のfontconfig.txtだと、この3つはまとめて『Skyrim_JP_EveryFont』で指定されちゃっているので、まったく違いがわからんのですが、英語版だとこの3つは、
$EverywhereFont……『Futura CondensedLight』
$EverywhereBoldFont……『Futura Condensed』のBold
$EverywhereMediumFont……『Futura Condensed』のNormal
という強弱の違いがあります。

↓この一番細い書体は$EverywhereFont、$DialogueFontで使われています。
↓こちらは$EverywhereMediumFontの他、$StartMenuFontでも使われています。
↓こちらは$EverywhereBoldFontです。

こうしてみると、結構太さが違うし、文字幅も違うんですよね。
まあ、同じファミリーの書体なので、たぶん英語表記で遊んでいてもそんなに違いに気づかないんじゃないかとは思うのですが、ゲーム内のどこでどう使い分けられているのか気になったので、調べてみることにしました。


まずは日本語フォントで特徴的な書体を3つチョイスしてswfファイルを作って、それぞれ『$EverywhereFont』『$EverywhereBoldFont』『$EverywhereMediumFont』に指定してみることにしました。
チョイスしたのは上の3書体。これだけ雰囲気が違えばわかりやすいかなーと。
まるもじの書体は($EverywhereFont)を指定、ひょろっとしたクラフト童は見た目に反してボールド($EverywhereBoldFont)を指定してみました。
そして勘亭流はミディアム($EverywhereMediumFont)を指定。
(ちなみにInterface周りのswfはすべて英語版のものを使用して試しました)


すると……
ゲームを起動した瞬間から、いきなりフォントがまるもじに変わってて驚きました。
スタートのこの画面は、てっきり『$StartMenuFont』かと思ってたんですけど、違うんですねえ。
ちなみに上記のEverywhere系の3種類以外のフォントは、オフィシャル日本語版の指定のままにしてあります。だから$StartMenuFont、$DialogueFontといったフォント指定の箇所はゼニマックスアジア版の日本語ゴシックフォントで表示される筈です。

まずは、通りすがりのNPCの字幕や、主人公の選択肢が出てくる会話の画面。
どうやらセリフ周りの表示はすべて勘亭流の書体……『$EverywhereMediumFont』のようです。
それにしても『$DialogueFont』ってのはどこで使われているんですかねえ。
上の画像みたいに主人公の選択肢を入力する箇所で使われてるのが、$DialogueFontなのかしら、と思っていたんですが、予想が外れました。

クエストの開始の時に出てくる文字や、左上に出てくるお知らせ文字欄も、『$EverywhereMediumFont』のようです。
このクエストの開始時に突然出てくる文字のフィールドって、Interface関連のswfのどれに収録されているんでしょうか。
幅のある日本語フォントだと表示が切れてしまうので修正したいのですが、どこで指定されているのか全然わからなくて困ってます。

さて、お次はインベントリ画面。 だいたいは『$EverywhereMediumFont』ですが、重量や金額といったスペック関連の数値は『$EverywhereBoldFont』で表示されるようです。
ただし所持アイテムの個数に関しては、アイテムの名前と繋がって表示されるためか、『$EverywhereMediumFont』のままですね。
…というか、内部的には「ウルフリックの服を99個持っている」、という感覚ではなく、「99個のウルフリックの服を1かたまり持っている」という感じなのかしら。

インベントリ画面内じゃなくても、金額や重量といったスペックの数値は同じように『$EverywhereBoldFont』で表示されるもよう。

魔法画面も同じく、大半が『$EverywhereMediumFont』で、変動のある数値周りが『$EverywhereBoldFont』という構成。
この『$EverywhereBoldFont』のフォントは、主に数値に使われるようなので、ひょっとしたら欧文書体を指定してもいけるんじゃないかと思ったのですが、魔法の使用可能レベルの表示が思いっきり日本語なので、文字化けしちゃいますね。
まあ、Stringsを編集して、レベル名を英語にしちゃえばいいですが。
だいたい「熟練者」とか「精鋭」とかって、どっちが上なのか下なのか、わかりづらくていけません。
しかし英語でも「Expert」と「Adept」……なんですね。
英語圏の方はどっちが上で下なのか、瞬時に判断できるのでしょうか。
おばちゃんにはムリですが。

スキル画面も同じく、基本が『$EverywhereMediumFont』で、変動のある数値周りが『$EverywhereBoldFont』という構成です。
面白いのは、プレイヤーのスキルレベルの数値は『$EverywhereBoldFont』なのに、Perkの取得に必要とされるスキルレベルの数値に関しては『$EverywhereMediumFont』だということ。
つまり今現在の自分のレベル、というのがボールドで強調されていて、ゲームの元からの設定値である必要レベル値はデフォルトのミディアムなんですね。
全部同じフォント指定で遊んでいるとまったくわからないですが、このへんの2つの数値に強弱があると、今現在のレベルがいくつで、あといくつレベルが上がるといいんだ、みたいなのが直感的にわかるような気がします。

レベルアップ時など、別ウィンドウ枠で開くタイプのメッセージボックス内の文字はだいたい『$EverywhereMediumFont』で表示されるのですが、付呪や鍛冶などを初めてチャレンジしようとした時に表示されるチュートリアル?っぽい説明の本文に関しては、『$EverywhereFont』になるようです。
あとはトゥイーン画面の項目名とか、システム画面のテキスト内でも『$EverywhereFont』が使われているもよう。


こうしてみると、メタっぽい情報とか、ちょっと雰囲気を変えたいな、みたいなノリの時に『$EverywhereFont』を使ってる感じでしょうか(適当)。
日本語フォントでも、少し違いのあるフォントを指定してあげるといいかもしれません。

【関連記事】
fontconfig.txtについて
book.swfと本のフォント について
スカイリム手書き文字用カスタムフォント(ふい字)

5 件のコメント:

  1. 初めまして。かなり古い記事ですが、コメントさせていただきます。

    現在使っているフォントの大きさだけを変更することは可能でしょうか?
    具体的には$EverywhereMediumFontだけ大きくしたいです。
    私が考えたのはswfフォントを調節して..ってこのswfの弄り方がわからんです(汗)。
    ただ、単に大きくしてしまうと最終的に文字幅も調整しないといけないですが。

    あと記事違いなのですが、「fontconfig.txtについて」の記事について質問があります。
    例えば[map "$EverywhereMediumFont" = "Skyrim_JP_EveryFont" Normal]の一行。
    気になったのは最後の「Normal」という引数。これは別の引数もあるのでしょうか?もしあるのだとしたら何が変わるんでしょう。

    返信削除
    返信
    1. フォントのサイズを一気に大きくできる方法……そんな方法があるのでしたら私も知りたいです。
      ちなみに先ほど、Scaleform(SkyrimのUI開発ツール)のフォントについてググってヒットしたpdf(http://gameware.autodesk.com/documents/sf_4.3_font_jp.pdf)を見ていたら、フォントマップに「scaleFactor」という、文字のスケールを調整するためのパラメータがあるのを見つけました。
      これをfontconfig.txtの「map」の部分で指定することができるといいんですけどねえ……

      ちなみにフォントの種類によっては同じポイント数でも大きめに表示されるフォントがありますので、文字を大きくしたいのなら、そういった大きな形状を持ったフォントでswfを作ってしまうのもひとつの手かと思います。
      ただし、そういった大きなフォントはその分横幅も取るので、文字がテキストフィールドからあふれてしまいがちなのが弱点なんですが。
      もともとスカイリム英語版の標準フォントは非常に幅の狭い凝縮された字体ですから、日本語の全角文字をそのまま置き換えると入りきらない場合が多いんですよね。

      私が愛用している明朝のフォントもデフォルトのままではフィールドに収まらない箇所が結構あったので、「FontForge」というツールでフォントそのものの字形を弄ってしまいました。
      しかし文字間を詰めたり、長体をかけたり、横棒を短くしたり、という修正ができたのは、ひらがな・カタカナ・記号・数字くらいで、漢字の字幅を調整することは難しかったです。
      なにしろ漢字のデータは膨大なので……変形をかけるとPCが落ちてしまって。


      > 「Normal」という引数。これは別の引数もあるのでしょうか?

      英語版のfontconfig.txtを見るところ、他に「Bold」というのがあるようです。
      名前からして、文字のスタイル(太字とかイタリック体とか)を指定するオプションかと思います。
      英語版のfontconfig.txtには、"Futura Condensed" Normal というのと、"Futura Condensed" Bold という指定があって、ためしに英語版のfont_en.swfを読み込んでからその指定を使ってみると、確かにBoldの方がNormalよりも太字になります。
      ただし日本語版のfont_jp.swfの中に含まれている"Futura Condensed"では太字にはなりません。(それどころか文字が□□になってしまいます)
      それを見るところ、フォントのswfそのものに、Boldのスタイルのフォントデータが埋め込まれていなければ、たとえBoldを指定してもダメみたいですね。

      削除
  2. 通りすがり2014/03/07 12:20

    はじめまして、色々ググってたらここにたどりついたので藁もすがる思いで
    質問させていただきます。

    NMMでSkyuiをアンインストール&インストールをしたのですがその際
    何かがおかしかったのかタイトル画面及びシステム周りの文字の文頭に
    $がつき日本語化ができなくってしまいました。タイトル画面の選択肢だと
    $continueとか$newとか$Loadなどになってしまいます。

    ググって見ると$EverywhereFont系だというのでこちらの記事にコメントさせていただきました。考えられる原因はありますでしょうか、思い当たる節あればご教授ください。

    返信削除
    返信
    1. タイトル画面の選択肢が$continueや$newといった表示になってしまう原因として考えられるのは、私が知る限りでは以下の三つです。

      (1)「Data/Interface」内に$continueや$newの表示テキストの元となる「Translate_xxxxx.txt」というテキストファイルが入っていない。

      ちなみにxxxxxという部分は、Skyrim.iniで指定した「sLanguage」の言語名になります。スカイリム英語版を日本語化という作業を行っているのでしたら「Translate_JAPANESE.txt」を「Translate_ENGLISH.txt」というファイル名にリネームして使用している場合が多いです。
      「Data/Interface」内に「Translate_ENGLISH.txt」がちゃんと入っているか、確かめてみてください。


      (2)「Data/Interface」の中に「Translate_xxxxx.txt」というテキストファイルが入っていても、そのテキストの中身が、フォーマット通りの記述になっていない。

      ちなみにこのテキストファイルのフォーマットは「$変数名、タブ、テキスト、改行」という決まりがあります。
      たとえばこの中のタブが単なるスペースになっていただけでも、フォーマットがずれてしまって、$continueや$newなど誤表示の原因となります。
      ですから「Translate_ENGLISH.txt」がSteamからダウンロードした純正のファイルかどうか、今一度お確かめください。


      (3)スタート画面のUI表示のFlashファイル「startmenu.swf」が、ゲームオリジナルの物ではないファイルと差し変わってしまっている。

      「startmenu.swf」は、通常は「Skyrim - Interface.bsa」の中に圧縮されていますので、もし「Data/Interface」の中に「startmenu.swf」というファイルが存在するのでしたら、それは何かのModで追加されたものだと思います。
      「startmenu.swf」が「Data/Interface」の中にある場合は、それを削除してみて表示を確認してみてください。

      削除
  3. 通りすがり2014/03/08 11:28

    ご丁寧な返信ありがとうございます。おかげさまで直りました。
    お返事いただいた1と3が該当していたらしく問題なくできそうです。
    突然のコメントに返信していただき感謝します。では失礼いたします。

    返信削除