web-dev-qa-db-ja.com

Fontlink(レジストリのFontLink / SystemLink)がWindow 10 x64で期待どおりに機能しない

私が欲しいもの

私はNotepad ++のデフォルトフォントとしてConsolasを使用していますが、Consolasを使用するときは中国語と日本語の文字と記号の見栄えを良くしたいと考えています。

MSDNの記事 によると、複数のフォントをConsolasにリンクできるため、独自にサポートしていない文字を表示できます。

目標

  • フォントConsolasを使用してラテン文字を表示する
  • Microsoft YaHeiを使用して中国語と日本語の文字を表示する
  • YaHeiMeiryoを使用して処理できないシンボルを表示する
  • Meiryoでは表示できない残りの文字もシステムで処理します

目標を達成するためのステップ

  1. REG_MULTI_SZHKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\FontLink\SystemLinkエントリConsolasを追加します
  2. Consolasの値を設定します。

    MSYH.TTC,Microsoft YaHei,128,96
    MSYH.TTC,Microsoft YaHei
    MEIRYO.TTC,Meiryo,128,85
    MEIRYO.TTC,Meiryo
    
  3. Windowsからログオフし、再度ログインする

Windows 7での実際の結果

  1. ラテン文字(0-9、a-z、A-Z)と頻繁に使用される記号(;: '"など)は、Consolasを使用して表示されます。
  2. 中国語と日本語の文字はMicrosoft YaHeiを使用して表示されます
  3. 特殊記号はMeiryoを使用して表示されます
  4. 上記のフォントでサポートされていない他の文字や記号は、システムデフォルトを使用して表示されます(IDKとは何か)

Windows 10での実際の結果

  1. ラテン文字(0-9、a-z、A-Z)と頻繁に使用される記号(;: '"など)は、Consolasを使用して表示されます。
  2. 中国語と日本語の文字はMicrosoft YaHeiを使用して表示されます
  3. 特殊記号はSegoe UI Symbolを使用して表示されます
  4. 上記のフォントでサポートされていない他の文字や記号は、システムデフォルトを使用して表示されます。

追加情報

(リンクと画像を投稿するには10人の担当者が必要です。画像リンクをクリックしてテストケースの結果のスクリーンショットを表示し、URLテキストをコピーして貼り付けて、自分でサイトにアクセスしてください)

上記のフォント(およびその他)の文字カバレッジを理解しようとするテストです。

使用したツール

  • メモ帳:%WINDIR%/Notepad.exe
  • BabelMap:http://www.babelstone.co.uk/Software/BabelMap.html
  • テスト文字列:我风おA☃

    我(\u6211): A character available in both Chinese and Japanese
    风(\u98ce): A Chinese only character
    お(\u304a): A Japanese only character
    A(\u0041): A Latin character
    ☃(\u2603): A unicode symbol
    

テストする手順

  1. BabelMapをダウンロードして開き、テスト文字列をEdit Bufferにコピーします
  2. Single Fontラジオボタンを選択します
  3. Simple Renderingチェックボックスをオンにする
  4. Single Fontの右にあるドロップボックスをクリックしてフォントを選択します
  5. Edit Bufferの文字グリフを確認します
  6. 上記のようにConsolasのfontlinkを設定し、ログオフ/ログインして有効にします
  7. Notepad.exeを開き、Format > Fontsメニューを開いてフォントをConsolasに設定します
  8. テスト文字列を貼り付けて観察します

テスト結果

Test case result comparison

テスト結果説明

  • Microsoft YaHeiは雪だるまのシンボルを表示できません
  • Meiryo漢字がありません
  • Segoe UI Symbolには記号のみが含まれています
  • Yu GothicMeiryoに似ていますが、見た目が異なります
  • Consolasはラテン文字用にのみ設計されています。
  • Notepad.exeのテキストは、3つの異なるフォントを使用して表示されます。

      我风お: Microsoft YaHei
      A: Consolas
      ☃: Segoe UI Symbol
    

    確かにSegoe UI Symbolだとわかるでしょう。これらの雪だるまはフォントによって大きく異なります。

    ただし、この場合、Notepad.exeは次のようなフォントを使用してこれらの文字を表示することを期待していました。

      我风お: Microsoft YaHei
      A: Consolas
      ☃: Meiryo
    

ご質問

  • Fontlinkレジストリで設定したMeiryoが完全に無視されるのはなぜですか?
  • Windows 10で目標を達成する方法は?
13
Byzod

マイクロソフトは、Windows 10のいくつかのフォントを削除することを決定しました。

https://docs.Microsoft.com/en-us/windows/deployment/windows-10-missing-fonts

これは、HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\FontLink\SystemLinkを確認することで確認できます

デフォルトではWindows 7に存在する必要があり、Windows 10には存在しません

いずれかの手順で、Meriyo ttcファイルをマシンにインストールできます

1
Miral