日本語環境でMMToolの一部が表示されない問題の対処法

操作に必要なボタンが表示されない。

MMTool
AMI BIOS用のツール
AMI BIOSファイル内のモジュールやMicrocodeの削除・抽出・挿入・置き換えができます。

日本語版Windowsでは、MMTool画面の一部が表示されず、肝心のモジュール操作ができません。(英語環境では正常に表示されます)

MMTool GUI表示の違い (日本語環境 vs 英語環境)

システム言語=日本語 (日本語版 Windows 10)

MMTool v5.0.0.7

日本語環境 MMTool v5.0.0.7の表示

MMTool v5.2.0.24 (= v5.02.0024)

日本語環境 MMTool v5.2.0.24の表示

システム言語=English [United States] (日本語版 Windows 10)

MMTool v5.0.0.7

英語環境 MMTool v5.0.0.7の表示

MMTool v5.2.0.24 (= v5.02.0024)

英語環境 MMTool v5.2.0.24の表示

※ MMTool v5.2.0.24 = MMTool v5.02.0024。以降、v5.2.0.24と表記します。

対処法 4つ

  1. 一時的にWindowsのシステム言語を英語に変更する。

    • 変更後、サインアウトかPC再起動の必要がある。
    • 注意: システムフォントをデフォルトから変更しているマシンでは、システムフォントがデフォルトに戻る。再設定が必要。

    参照: Windowsでの言語の追加と切り替え方法

  2. コマンドで使用する。
  3. 一時的にレジストリのGUIフォント設定を変更する。

    • 変更後、サインアウトかPC再起動の必要がある。
    • MMTool v5.0.0.7以前 向け。MMTool v5.2.0.24には効果なし。
  4. MMToolのGUIを修正する。

    ちょっとした改造

1と2を省いて、34について書きます。

対処法その3 一時的にレジストリのGUIフォント設定を変更

※ Windows 10 1709で検証。

注意: MMTool v5.2.0.24には効果がありません。

Windows 10 デフォルト設定

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\GRE_Initialize]
"GUIFont.Facename"="MS UI Gothic"
"GUIFont.Height"=dword:00000009

これを変更します。

※ 変更前にバックアップをとってください。(上のレジストリキーをエクスポート)

変更例1

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\GRE_Initialize]
"GUIFont.Facename"="Arial"
"GUIFont.Height"=dword:00000009

変更例2

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\GRE_Initialize]
"GUIFont.Facename"="Tahoma"
"GUIFont.Height"=dword:0000000a

変更例3

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\GRE_Initialize]
"GUIFont.Facename"="MS UI Gothic"
"GUIFont.Height"=dword:0000000b

レジストリを変更したら、サインアウト→サインイン、またはPCを再起動させます。

MMToolを使い終わったらデフォルトに戻しましょう。

対処法その4 MMToolのGUI表示の修正

用意するもの

  • MMTool.exe
  • Resource Hacker

    http://www.angusj.com/resourcehacker/
    のページ一番下、"ZIP install"をダウンロードする。

    プロパティからブロックの解除を行い、展開しておきます。

Resource Hackerでフォントを変更

  1. ResourceHacker.exeを起動
  2. Resorce Hackerから、MMTool.exeを開く。

    Resorce Hackerの画面に、MMTool.exeをドラッグアンドドロップ
    または、ファイル→開く (Ctrl + O)から、MMTool.exeを指定。

  3. Resorce Hackerの左ペインで、Dialog → 102 : 1033を選択。

    Resorce Hackerの右ペインに詳細が表示され、別ウィンドウで「Dialog - 102」が開く。

  4. Resorce Hacker 右ペインの"FONT 8, "MS Sans Serif"を他のものに変更する。

    Resource Hacker画面 MMToolの変更箇所 Dialog-102:1033 6行目

    変更例

    1. FONT 9, "Arial"

      Arial 見本1Arial 見本2

    2. FONT 10, "Tahoma"

      Tahoma 見本1Tahoma 見本2

    3. FONT 10, "Verdana"

      Verdana 見本1Verdana 見本2

    4. FONT 9, "Segoe UI"

      Segoe UI 見本1Segoe UI 見本2

    5. FONT 10, "Consolas"

      Consolas 見本1Consolas 見本2

  5. Compile Sript (ボタン、または、F5)
  6. オプション (対象: MMTool v5.0.0.7、v5.2.0.24、v5.2.0.24 patched)

    (ここは飛ばしてもよい。使用上問題なし)
    Option ROM タブだけ、Browseボタンの見た目が違うのを直す。

    MMTool Browseボタン (Option ROM タブ)

    ↓ Browseボタンをこのように変更

    MMTool Browseボタン (Option ROM以外のタブ)

    1. Dialog → 192 : 1033
    2. 別ウィンドウ「Dialog - 192」で[Browse]ボタンをダブルクリックし、Control Editorを開く。

    3. Left: 269, Top 7 → Left: 270, Top 6
      Tab Order: 1 → 3
    4. Compile Sript (ボタン、または、F5)
  7. 全ての変更とCompileが終わったら、別名で保存する。Asと書かれたボタン、または、File→Save As ...)

    Resource Hacker画面 MMToolのFONT変更→Compile Script→Save as...

注意1 Resource Hackerでの編集時

  • フォントの種類

    • 自分のマシンで使えるフォントを選ぶ。
    • Windowsのバージョンによって、インストールされているフォントが異なる。アンインストールしたフォントは使えない。
    • 使えないフォントを指定した場合、レジストリ設定に従って、別フォントが適用される。
  • フォントの種類とフォントサイズ

    MMTool画面サイズへの影響大。

  • MS Sans SerifMS SANS SERIF(全て大文字)

    • Windows v5.0.0.7以前では、区別される。

      Windowsシステム言語が日本語の場合、MS Sans Serif→MS UI Gothic、MS SANS SERIF→MS Sans Serifとなる。

      MS Sans Serif → MS SANS SERIFへと変更すると、MMToolのウィンドウサイズにも影響し、さらに表示が崩れる。(v5.2.0.24と同じ状態)

    • Windows v5.2.0.24では、区別されない。

      MS Sans SerifとMS SANS SERIFの両方とも、MS Sans Serifとして扱われる。

    (Windows 10で使用可能なMS Sans Serifのフォントサイズは、8,10,12,14,18,24)

  • Resource Hackerの仕様で、次の操作をするとフォント名が全て大文字になる。

    別ウィンドウ「Dialog - 102」を右クリック →Edit Dialog (Ctrl + O)→Dialog Editorウィンドウを表示→OKボタン

MMTool v5.0.0.7 Dialog - 102 : 1033のフォント設定
MS Sans Serif(頭文字だけ大文字)[デフォルト]とMS SANS SERIF(すべて大文字)の違い。

日本語環境のMMTool v5.0.0.7画面の比較。上 MS Sans Serif、下 MS SANS SERIF(すべて大文字)

注意2 Resource Hackerで保存する時

MMTool v5.2.0.24の場合、Resource Hackerでコンパイル・保存した後は、変更前よりもファイルサイズが小さくなります。これはResource Hackerがファイル内の使われていない領域をカットするためです。

変更と保存を繰り返すと、下のエラーが発生しやすくなります。(特にv5.2.0.24とv5.2.0.24 Patched) できれば、1回で全ての変更を済ませておくといいでしょう。

エラー「このアプリはお使いのPCでは実行できません」

Windowsのエラーエラーメッセージ このアプリはお使いのPCでは実行できません

1度Resource Hackerで変更・保存したMMToolを、再度変更・保存すると、このエラーが出て、MMtoolを起動できないことがあります。

再変更時にMMToolが破損した可能性があります。Resource HackerでオリジナルのMMToolを開くところから、やり直してください。

MMToolの表示問題対策は以上です。

MMToolの表示が崩れる原因と、フォント設定の変更だけで修正できる理由

要因1 MMTool GUIの各部分の大きさはフォントで決まる。

MMTool GUIの各パーツの大きさは、使用するフォントの文字の幅と高さの平均値から計算されて決まるみたいです。そのため、使用するフォントの種類・フォントサイズが変われば、各パーツの大きさも変化します。

要因2 使用されるフォントは、環境によって変わる。

MMToolで使われるフォントは、Windowsの言語環境で違います。日本語版Windowsのシステム言語を英語(en-us)に変更した場合でも、元から英語(en-US)版のWindowsとは異なる部分がありました。

要因3 MMToolのGUIでは、部分的に違うフォントが使用される。

MMTool画面 表示問題に関係する箇所を色分け

上の画像の水色部分の表示に使われるフォントと、大きさ(青枠部分)を決定付けるフォント設定は別々です。

前者はシステムフォント、後者はDialog - 102に設定されているフォントです。

3つの要因が合わさった結果、部分ごとの大きさがバラバラに変化。

MMToolの開発環境とは異なる、大きさがまちまちなフォントが使用される。
→パーツのサイズに影響。水色部分が広がる。青枠部分のサイズは変わらないか、縮む。
水色部分を表示するためのスペースが不足

水色部分の表示

Windowsのシステムフォント

実際に使用されるフォント

  • 日本語版Windowsでシステム言語が英語(en-US)
    MS UI Gothic 8ポイントに変換 *1
  • 日本語版Windowsでシステム言語が日本語
    Yu Gothic UI 9ポイント

青枠部分の大きさ、および、他の大半のパーツの大きさやフォント

Dialog - 102のフォント設定: MS Sans Serif 8ポイント

実際に使用されるフォント

  • 日本語版Windowsでシステム言語が英語(en-US)
    MS UI Gothic 9ポイントに変換 *2
    (v5.2.0.24は、MS Sans Serif 8ポイント *3)
  • 日本語版Windowsでシステム言語が日本語
    MS UI Gothic 9ポイントに変換 *2
    (v5.2.0.24は、MS Sans Serif 8ポイント *3)

水色部分を小さくするのは難しそうです。システムフォント変更ツールで試してみましたが、MMToolには影響ありませんでした。

そんなわけで、青枠が広がるように、Dialog - 102のフォント設定を変更してあげれば問題解決です。ただし、Dialog - 102のフォント設定はMMTool画面の全体のサイズ画面左上のボタンにも影響しますから、あまり大きくなりすぎないようにしてください。

*1 [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\FontSubstitutes]
"MS Shell Dlg"="MS UI Gothic"

*2 [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\GRE_Initialize]
"GUIFont.Facename"="MS UI Gothic"
"GUIFont.Height"=dword:00000009

*3 MS SANS SERIFとすべて大文字で入力すると、必ずMS Sans Serifが適用されます。MS Sans Serifで入力した場合は、バージョンによって挙動が異なります。

  • v5.0.0.7以前 「FONT 8, "MS Sans Serif"」(デフォルト) → MS UI Gothic 9ポイント
  • v5.0.0.7以前 「FONT 8, "MS SANS SERIF"」→ MS Sans Serif 8ポイント
  • v5.2.0.24 「FONT 8, "MS SANS SERIF"」(デフォルト) → MS Sans Serif 8ポイント
  • v5.2.0.24 「FONT 8, "MS Sans Serif"」→ MS Sans Serif 8ポイント

実は最初、Resource Hackerを使って、MMTool画面の各パーツのサイズを直接変更してました。MMToolのバージョンに合わせて微調整も行いました。

フォント設定を1カ所変えるだけでいいと気づいたのは、入手済みのバージョン全ての改造が済んだ後でした。

関連記事