現象
特定のアプリを Windows 10 Desktop または Windows 10 Mobile で実行すると、一部の文字が、正方形や長方形、または中に点、疑問符、"x" を含む枠として表示されます。それに対し、同じアプリを以前のバージョンの Windows や Windows Phone で実行してもこの問題は発生しません。
通常、この問題は、中東またはアジアの言語 (アラビア語、中国語、ヒンディー語など) のテキストが関係します。 Windows 10 Mobile では、この問題は東アジア言語 (中国語、日本語、韓国語) に関係している場合がほとんどです。 Windows 10 Desktop では、この問題は、一般に、システムが構成されている言語以外の言語のテキストに関係し、多言語が表示される可能性のあるシナリオをサポートする特定の種類のアプリ (Web の閲覧、ソーシャル ネットワーク アプリのユーザー通知など) 内で発生します。原因
Windows 10 では、フォントに影響を及ぼす重要な機能強化がいくつか行われました (詳細については、後で説明します)。 このような変更の副作用として、以前のバージョンの Windows や Windows Phone 用に作成された既存のアプリのごく一部が影響を受ける可能性があります。
-
Windows Phone 8.1 に搭載されていたフォントの一部が Windows 10 Mobile に搭載されていません。
-
以前はすべての Windows デスクトップ システムに搭載されていたフォントの一部がオプションのフォント パッケージに移されたため、Windows 10 のデスクトップ システムに存在しない可能性があります。
これらの変更については、以下に詳しく説明します。 特定のアプリでは、これらの変更が原因で、多言語のあるテキストを表示したときに "正方形" が表示される現象が生じる可能性があります。 Windows 10 のすべてのエディションには、幅広い言語サポートを提供するフォントが用意されています。また、Windows プラットフォームには、任意の言語のテキストが枠ではなく判読可能なグリフで常に表示されるように設計されたフォント フォールバック メカニズムが搭載されています。 ただし、アプリによっては、特定の Unicode 文字を表示するための特殊なフォントに直接依存している可能性があるため、Windows で提供されているフォント フォールバック メカニズムが使用されません。 場合によっては、このようなアプリは、既定で Windows 10 の一部のシステムにしか存在しないフォントに直接依存していることもあります。 アプリで使用するフォントがシステムに存在しないため、テキストの表示には他のフォントが代わりに使用されますが、表示対象の文字がそのフォントですべてサポートされているとは限らない場合があります。 文字の表示にその文字をサポートしないフォントを使用すると、そのフォントの既定の "未定義" グリフが使用されます。 ほとんどのフォントの "未定義" グリフは、長方形の枠かそれが変化した形で表示されます。
Windows 10 の主要なフォントの機能強化の概要
Windows 10 の高度で重要な目標は、Windows を共通の OS コアと共有アプリ プラットフォームに、つまりユニバーサル Windows プラットフォーム (UWP) を中心に作成されたさまざまなデバイスのカテゴリーに対応するオペレーティング システムのファミリにすることでした。 UWP により、アプリは一度記述してビルドするだけで、Hololens から Xbox や Surface Hub までの幅広いデバイスで実行できるようになります。 この収束されたアプリ プラットフォームの 1 つの要件は、このようなデバイスのカテゴリ全体で共通するフォント セットを用意することです。 過去のリリースでは、Windows Phone、Xbox One、Windows デスクトップ クライアントには異なるフォント セットが付属していました。 Windows 10 では、Windows 10 のエディション、デバイスのカテゴリやフォーム ファクターを問わず、Windows 10 のすべてのデバイスに必ず存在する共通のフォント セットがあります。 さらに、この共通のフォント セットでは、Unicode を包括的にサポートしているため、ディスク領域を少ししか必要としない小さなフォント セットで世界中の何千もの言語に対応しています。Windows 10 フォント リスト Windows デスクトップ クライアントは、通常、記憶域の制約があまり厳しくないデバイスで使用されるため、より幅広いフォントに対応できます。 ところが、Windows デスクトップは従来、記憶域容量が非常に大きいデバイスで使用されていたのに対して、近年では、記憶域がより限定された、低価格のタブレットなどの新しいフォーム ファクターが見られるようになりました。 Windows 10 のもう 1 つの高度で重要な目標は、Windows デスクトップ クライアントの動作をこのような低価格のデバイスでもこれまで以上に快適にすることでした。 Windows でカバーされる言語が増加するにつれ、特定のシステムのユーザーが他の言語のフォントを実際に必要としているかどうかに関係なく、すべてのシステムでフォントがさらに増加しました。 ところが、これにより、フォント ピッカー コントロールやダイアログには、特定のユーザーにあまり関係のない多くの選択肢が追加されました。 たとえば、スペイン語のユーザーは、タイ語を使う可能性がなくても、多数のタイ語フォントから選択できるようになりました。 さらに、これは、すべての Windows デスクトップ システムのサイズが数百 MB 拡大される原因にもなりました。 Windows に必要なディスク領域を減らし、特定のユーザーにより関連性の高いフォントの選択肢が提供されるように、多くの Windows フォントがオプションのフォント機能に移行されました。 これらのオプションのフォント機能は、文字ごとに分類され、言語と関連付けられています。また、このような言語の関連付けに基づいて自動的にインストールされます。 たとえば、"簡体字中国語補助フォント" 機能には、特に簡体字中国語で使用されるフォントが含まれています。 Windows 10 の簡体字中国語バージョンがインストールされている場合は、このオプションのフォント機能が既にプレインストールされていることになります。 Windows 10 の別の言語バージョンがインストールされていてもユーザーが簡体字中国語の入力方式を有効にする場合や、簡体字中国語を含むプロファイルが Microsoft アカウントに関連付けられていてそのプロファイルをデバイスに移動する場合は、簡体字中国語補助フォント機能が Windows Update を介して自動的にインストールされます。 システムで積極的に使用される言語のセットに一致するようにオプションのフォント パッケージをインストールすることで、提供されるフォントの選択肢の数と使用されるディスクのフットプリントとの間のバランスを最適に保つことができます。 しかし、これらのオプションのフォント機能がインストールされていない場合でも、すべての Windows 10 デスクトップ システムには共通の UWP フォントが含まれており、Windows が Unicode とインターナショナル テキストに対して引き続き大きなサポートを提供し、ユニバーサル Windows アプリがデスクトップ デバイスやその他すべてのフォーム ファクターに優れたテキスト表示を用意しています。
UWP の共通のフォント セットについては、次の記事を参照してください。Windows 10 Mobile でのフォントの変更の詳細
限られた数のフォントを使用してコンバージド UWP フォント セットを定義するために、Windows Phone 8.1 に存在していた一部のフォントは Windows 10 Mobile から除外されています。
-
Dengxian、Dengxian Bold
-
Estrangelo Edessa
-
Khmer UI、Khmer UI Bold
-
Lao UI、Lao UI Bold
-
Leelawadee、Leelawadee Bold
-
Lucida Sans Unicode
-
Microsoft MHei、Microsoft MHei Bold
-
Microsoft NeoGothic、Microsoft NeoGothic Bold
-
Microsoft Uighur
-
Segoe WP、Segoe WP Light、Segoe WP SemiLight、Segoe WP Semibold、Segoe WP Bold、Segoe WP Black
-
Segoe WP Emoji
-
Tahoma、Tahoma Bold
-
Urdu Typesetting、Urdu Typesetting Bold
-
Yu Gothic Bold
Windows Phone アプリが、特定の Unicode 文字を表示するために上記のフォントのいずれかに直接依存し、Windows が提供するフォント フォールバック メカニズムを使用しない場合、結果は "正方形のボックス" グリフとして表示されます。
Windows 10 デスクトップでのフォントの変更の詳細
前述のように、以前はすべての Windows デスクトップ クライアント システムに含まれていた多くのフォントが Windows 10 から削除され、オプションのフォント機能に移動されました。
次の表に、オプションのフォント機能と代表的な言語の関連付けの一覧を示します。 これらのパッケージへの移動対象として選ばれたフォントが示されています。これらのフォントは、以前のバージョンの Windows でシェル ユーザー インターフェイス フォントとして使用されていましたが、新しい Windows フォントに取って代わられました。
オプションのフォント パッケージ |
言語の関連付け |
オプションのパッケージに移行された主なフォント |
アラビア文字追加フォント |
アラビア文字を使用する言語 (例: アラビア語、ペルシャ語、ウルドゥ語)。 |
|
バングラ文字追加フォント |
バングラ文字を使用する言語 (例: アッサム語、バングラ語)。 |
Vrinda |
カナダ先住民音節追加フォント |
カナダ先住民音節文字を使用する言語 (例: イヌクティトット語)。 |
Euphemia |
チェロキー語追加フォント |
チェロキー語。 |
Plantagenet Cherokee |
デーバナーガリー文字追加フォント |
デーバナーガリー文字を使用する言語 (例: ヒンディー語、コンカニ語、マラーティー語)。 |
Mangal |
エチオピア文字追加フォント |
エチオピア文字を使用する言語 (例: アムハラ語、ティグリニア語)。 |
Nyala |
グジャラート語追加フォント |
グジャラート語、グジャラート文字を使用するその他の言語。 |
Shruti |
グルムキー文字追加フォント |
パンジャーブ語、グルムキー文字を使用するその他の言語。 |
Raavi |
簡体字中国語補助フォント |
簡体字中国語 |
|
繁体字中国語補助フォント |
繁体字中国語 |
MingLiU、MingLiU_HKSCS |
ヘブライ語追加フォント |
ヘブライ語 |
|
日本語補助フォント |
日本語版 |
メイリオ、Meiryo UI、MS ゴシック、MS 明朝 |
クメール語追加フォント |
カンボジア語、クメール文字を使用するその他の言語。 |
DaunPenh、Khmer UI |
カンナダ語追加フォント |
カンナダ語、カンナダ文字を使用するその他の言語。 |
Tunga |
韓国語補助フォント |
韓国語 |
Batang、Dotum、Gulim |
ラオス語追加フォント |
ラオス語、ラオス文字を使用するその他の言語。 |
DokChampa、Lao UI |
マラヤーラム語追加フォント |
マラヤーラム語、マラヤーラム文字を使用するその他の言語。 |
Karthika |
オディア語追加フォント |
オディア語、オディア文字を使用するその他の言語。 |
Kalinga |
ヨーロッパ各国語追加フォント |
言語との自動的な関連付けはありません。 |
なし (すべてのフォントが Windows 10 で初めて使用されます)。 |
シンハラ語追加フォント |
シンハラ語、シンハラ文字を使用するその他の言語。 |
Iskoola Pota |
シリア語追加フォント |
シリア文字を使用する言語。 |
Estrangelo Edessa |
タミール語追加フォント |
タミール語、タミール文字を使用するその他の言語。 |
Latha |
テルグ語追加フォント |
テルグ語、テルグ文字を使用するその他の言語。 |
Gautami |
タイ語補助フォント |
タイ語、タイ文字を使用するその他の言語。 |
Leelawadee |
アプリが特定の Unicode 文字を表示するためにこれらのフォントのいずれかに依存し、Windows が提供するフォント フォールバック メカニズムを使用しない場合、およびそのフォントを含むオプションのフォント パッケージがシステムにインストールされていない場合 (通常はシステムとユーザー プロファイルが、関連付けられた言語が有効になっているように構成されていない場合)、結果は "正しいボックス" グリフとして表示されます。
Windows 10 ユーザー向けの推奨事項
Windows 10 デスクトップの一部のアプリでこれらの現象が発生した場合は、アプリ開発者に Windows 10 用アプリの更新を提案するフィードバックを提供できます。 その間、アプリが正しく機能するために必要な 1 つまたは複数のオプションのフォント機能をインストールすることもできます。 これを行う手順を次に示します。
正しく表示されないテキストの言語を把握していて、その言語をよく使用する場合: 関係のある言語がわかっている場合は、その言語をユーザー プロファイルに追加すると、関連付けられているオプションのフォント機能が自動的にインストールされます (注: 予測入力やスペル チェックなど、言語に関連した他のオプション機能がインストールされる場合もあります。)-
[スタート] メニューの [設定] を開きます。
-
[時刻と言語] を選択します。
-
[地域と言語] を選択します。
-
[言語の追加] を選択します。
-
対象の言語を選択します。
言語の設定を変更せずにオプションのフォント機能を有効にする場合:
特定の言語がわからない場合や、正しく表示されないテキストの言語がわかっていてもその言語をユーザー プロファイルに追加することを望まない場合は、その言語を有効にせずにオプションのフォント機能をインストールすることができます。-
[スタート] メニューの [設定] を開きます。
-
[システム] を選択します。
-
[アプリと機能] を選択します。
-
[オプション機能の管理] を選択します。
-
[機能の追加] を選択します。
-
一覧からオプションのフォント機能を選択します。
説明した現象が一部の Windows Phone アプリで発生する場合は、アプリ開発者に連絡して、ここで提供されているガイダンスに従ってアプリを更新するように提案することをお勧めします。 注: Windows 10 Mobile では、オプションのフォント機能はサポートされていません。
OEM およびシステム管理者向けの推奨事項
Windows 10 展開イメージの言語パックまたは地域と言語の設定を構成している場合は、展開イメージのサービスと管理 (DISM) ツールを使用して、イメージに追加する言語パックに関連付けられているオプションのフォント パッケージ (および言語に関連した他のオプション機能) を含めてください。 オプションのフォント機能と関連する Windows 10 の言語パックの言語の詳細については、次の記事を参照してください。
Windows 10 の言語パックと言語に関連したその他すべてのオプション機能の概要については、次の記事も参照してください。
システム管理者で、シナリオでこれらのオプションのフォント機能の 1 つまたは複数のフォントが必要であることがわかっている場合は、関連する言語パックを展開イメージに含めていなくても、任意のフォント機能を DISM を使用して展開イメージに追加できます。
開発者向けの推奨事項
Windows 10 Mobile から除外されたフォントのいずれかに依存する Windows Phone アプリがある場合、またはオプションのフォント パッケージに移行されたフォントのいずれかに依存する Windows デスクトップ アプリがある場合、アプリで Windows が提供するフォント フォールバック メカニズムを使用していない場合、アプリは Windows 10 のフォントの変更の影響を受ける可能性があります。 影響を受ける可能性が最も高いアプリの種類とアプリのシナリオを次に示します。
-
フォント フォールバックを提供しない低レベル グラフィック API (DrawGlyphRun、ETO_GLYPH_INDEX を使用した ExtTextOut、ScriptTextOut など) を使用して複雑なレイアウトを実現するブラウザーなどのアプリ。
-
サードパーティ製のグラフィックス ライブラリを使用するゲームなどのアプリ。
-
アプリや Windows の表示言語以外の言語、またはユーザーが使用する他の言語を含むテキストが表示される可能性のあるアプリ シナリオ (Web 閲覧、他のユーザーが送信したテキスト メッセージや通知の受信など)。
説明した現象がアプリで発生する場合、特に上記のシナリオでは、アプリが依存しているフォントを確認する必要があります。 Windows 10 のアプリでの使用が推奨されているフォントについては、次の記事を参照してください。
この記事に記載されているフォントは、すべての Windows 10 デバイスに存在することが保証されています。
アプリで DirectWrite を使用する場合は、DirectWrite に用意されているフォント フォールバック メカニズムの使用を検討することをお勧めします。 低レベル API を使用していて、独自のフォント フォールバックを実装する場合でも、DirectWrite には、独自のカスタム マッピングで補完できる既定のマッピングを提供する API があります。 主な API については、次の MSDN の記事を参照してください。