情報
要求されたトピックは次のとおりです。しかし、このトピックはこのライブラリには含まれていません。

Windows Phone 8 のフォントと言語構成のサポート

2014/06/18

対象: Windows Phone 8 および Windows Phone Silverlight 8.1 | Windows Phone OS 7.1

 

Windows Phone 8 では、世界の大部分の書記体系のフォントをサポートしています。電話のクライアントの UI は 50 の主要な言語にローカライズされていますが、アプリではより幅広い言語から選択し、表示できます。Windows Phone 8 と Windows Phone OS 7.1 のいずれも、各言語に対して少なくとも 1 つのフォント ファミリを、多くの場合は複数のフォント ファミリをサポートしています。

このトピックは、次のセクションで構成されています。

 

Windows Phone 8 の場合、すべてのフォントがすべてのバージョンの電話に存在します。ただし、Windows Phone OS 7.1 の場合、サポートされる言語ごとに少なくとも 1 つのフォントが提供されますが、言語固有の追加フォントがいくつか、その言語を使用する市場でのみ出荷されます。

カスタム埋め込みフォント

電話に付属しない書体を提供するためにアプリにフォントを埋め込むこともできます。

テキスト入力

電話にキーボードと入力方法の UI をあらかじめ組み込む際の言語の選択は、電話が販売される市場によって決まります。ユーザーはいつでも、電話のクライアントの UI にサポートされている 50 の言語からキーボードを選んでダウンロードし、使用できます。キーボードの言語は、TextBox コントロールに記述される文字を決定しますが、アプリからプログラムを通して利用することはできません。

フォントに与える xaml:lang の影響

Windows Phone では、アプリで指定される FontFamily でテキストが表示されます。文字がその FontFamily でサポートされない場合、またはアプリで FontFamily が指定されない場合、Windows Phone では、文字と、テキストを表示するフレームワーク要素の xml:lang の両方に基づいてフォントが選択されます。

Windows Phone では、xml:lang により、予備のフォント選択、複雑な文字の整形、データ バインドの型変換が実行されます。また、サードパーティのコントロールは、多くの場合、日付の選択などの動作を xml:lang に基づいて実行します。

テキストを表示するフレームワーク要素の xml:lang 属性はアプリ コードで変更できます。この属性は、通常、コントロールの Language 属性により設定または取得されます。XAML マークアップまたは分離コードで要素の Language がアプリにより指定されない場合は、その親要素から値が継承されます。アプリのルート要素の Language が指定されていない場合は、“en-US” になります。アプリをローカライズするためにサポートされる言語を追加する場合は、新しいプロジェクト テンプレートに、読み込まれたローカライズ済みのリソース ファイルからアプリ言語を選択し、それを既定で RootFrame.Language に割り当てるコードが含まれることに注意してください。

Unicode コード ポイントと言語

本来備わっている Unicode 機能に起因して、場合によっては、適切な Unicode 値を指定しても目的のフォントが表示されないことがあります。東アジアの言語や複雑な書体で記述される言語については、フォントを表示する要素の正確な Language 値を指定することが特に重要です。コード “zh-CN”、“zh-TW”、“ja-JP”、“ko-KR” で表されるロケールと、アラビア文字、キリル文字、デバナーガリ文字で書かれる言語のロケールがこれに該当します。

サポートされる表示言語の一覧は、「Windows Phone のカルチャおよび言語サポート」を参照してください。

概要で述べたように、新しいプロジェクトの既定の動作では、実行中のアプリの Language プロパティはアプリが起動時に読み込むリソース ファイルのパラメーターを使用して初期化されます (ResourceLanguageResourceFlowDirection)。この動作では、実行時に表示されるリソースの言語に合わせてフォントとテキストのフロー方向が調整されるパターンが決められます。

アプリに言語 (サポートされるカルチャ) を追加するとき、Visual Studio により言語別の新しい .resx ファイルが生成されます。また、サポートされるカルチャの地域 ID コード (LCID) がファイル名に挿入されます。さらに、リソース ファイルのロケールの言語とその文字の伝統的な筆記方向に合わせて言語パラメーターのストリング テーブル値が初期化されます。

App.xaml.cs ファイルの InitializeLanguage() 関数により、アプリの RootFrame.LanguageAppResoures.ResourceLanguage リソースの値に基づいて、その RootFrame.lowDirectionAppResources.ResourceFlowDirection リソースの値に基づいて設定されます。

ここで説明した Language 調整の既定パターンが設計中のアプリで機能しない場合は、いくつかの方法で、ロケールの既定の言語と筆記方向をオーバーライドできます。以下にいくつかの例を挙げます。既定の動作を変更する場合、東アジア言語や複雑な文字言語を表示するときは、コントロールの Language 値を明示的に設定する必要があることを忘れないでください。

  • 最初から記述する場合は、アプリの InitializeLanguage メソッドの呼び出しを App.xaml.cs でコメントアウトできます。

  • 電話の表示言語としてユーザーが選択したロケールに関係なく、特定の言語をグローバルに使用する場合は、アプリの .resx ファイルごとに RootLanguage 文字列を変更できます。

  • アプリの実行時言語の従来の筆記方向に関係なく、FlowDirection をグローバルに 1 方向にする場合、アプリの .resx ファイルで ResourceFlowDirection 文字列を変更できます。

  • 特定の要素 (または一連の要素) で特定の言語を使用する場合は、アプリの既定の InitializeLanguage パターンをそのまま残し、XAML 階層の任意のポイントで要素の言語を明示的に宣言することで継承をオーバーライドします。

アプリでサーバーからローカライズされたデータを表示する場合は、言語の配置に留意してください。表示されたコンテンツの言語が実行中のアプリの CurrentUICulture に指定されている言語と異なる場合、ここで説明した言語の問題に遭遇することがあります。表示するデータの言語をアプリのロジックやサーバーのメタデータから把握し、それに合わせて表示要素の言語属性を明示的に設定することで、アプリの言語配置を維持できます。

言語配置はユーザー入力の考慮事項でもあります。要素の Language 属性はそれが表示するコンテンツの言語に設定するのが理想的ですが、現在使用されているキーボードの言語はアプリ モデルで利用できないことを忘れないでください。

アプリで使用するフォントが Windows Phone でサポートされていない場合は、アプリにフォントを組み込むことができます。

注意注意:

Windows Phone でサポートされる UI フォント」の表に記載されている東アジア言語フォントは、アプリ用に再配布可能ではありません。

Windows Phone は、Unicode を使用して文字を表現します。グローバルなコンテキストでアプリを実行可能にするために、Unicode エンコードを使用してアプリを開発することを推奨します。Encoding クラスを利用して、ある Unicode タイプから別の Unicode タイプに、たとえば UTF-8 から UTF-16 に、エンコードを変換できます。

エンコードのない文字

エンコード情報のない非 Unicode 文字は、電話の [システム ロケール] 設定に従って表示されます。[システム ロケール] 設定は、ユーザーによって設定され、電話の既定の文字セットおよびフォントを表します。

円およびウォンを表す文字 - ¥ および ₩

'Reverse Solidus' Unicode 文字 (U+005C) は、日本語の表示言語では円、韓国語の表示言語ではウォンを表す記号を表示します。ただし、その他のすべての表示言語では、この文字はバックスラッシュとして表示されるので、常に正しく表示されるようにするには、代わりに '円記号' Unicode 文字 (U+00A5) および 'ウォン記号' Unicode 文字 (U+20A9) を使用してください。

WebBrowser コントロール

WebBrowser コントロールを使用してコンテンツを表示したり、Windows Phone で表示される Web サイトを設計する場合は、HTML に正しいエンコード メタデータ情報を必ず含めるようにします。

次のコード例では、文字列が正しくエンコードされていないため、BrowserControl という名前の WebBrowser インスタンスで多数の文字が正確にレンダリングされません。

string testString = "<html><body>日本列島の占領の最初の兆候が縄文時代で約14,000のBC。</body></html>";BrowserControl.NavigateToString(testString);

代わりに、次のコード例で説明するように、HTML コンテンツ内にエンコード情報を入れるようにします。

string testString = "<html><head><meta content=”text/html; charset=utf-16”/></head><body>日本列島の占領の最初の兆候が縄文時代で約14,000のBC。</body></html>";BrowserControl.NavigateToString(testString);

次の表に、Windows Phone デバイスでサポートされる UI フォントをすべて示します。特定のデバイスにおける各フォントの有無は、そのデバイスに搭載されている表示言語によって決まります。

ラテン語、キリル語、およびギリシャ語ベースの言語

ラテン語、キリル言語、ギリシャ語、アラビア語、およびヘブライ語ベースのすべての表示言語は、UI フォント Segoe WP を使用します。このフォントはすべての電話に含まれています。したがって、たとえば日本語など、別の表示言語が設定されている場合にも、ラテン語、キリル言語、ギリシャ語、アラビア語、またはヘブライ語のテキストは、Segoe WP UI フォントで表示されます。

Windows Phone 8 UI フォント

フォント名

言語

標準

太字

斜体

斜体太字

Segoe WP

ラテン語、キリル語、ギリシャ語、アラビア語、およびヘブライ語ベースの言語

green check markconditional check markconditional check markconditional check markred xred x

DengXian

簡体字中国語

green check markconditional check markconditional check markconditional check markred xred x

Microsoft Mhei

繁体字中国語

green check markconditional check markconditional check markconditional check markred xred x

Yu Gothic

日本語

green check markconditional check markconditional check markconditional check markred xred x

Microsoft NeoGothic

韓国語

green check markconditional check markconditional check markconditional check markred xred x

Segoe UI

ラテン語、キリル語、ギリシャ語、アラビア語、およびヘブライ語ベースの言語

green check markconditional check markconditional check markconditional check markred xred x

Nirmala UI

インド言語

green check markconditional check markconditional check markconditional check markred xred x

Leelawadee

タイ語

green check markconditional check markconditional check markconditional check markred xred x

Segoe UI Symbol

さまざまな Unicode 記号をサポートします (Unicode 6.0 で追加された絵文字記号を含む)。

green check markconditional check markconditional check markconditional check markred xred x

Windows Phone OS 7.1 UI フォント

フォント名

言語

標準

太字

斜体

斜体太字

Segoe WP

ラテン語、キリル語、ギリシャ語、アラビア語、およびヘブライ語ベースの言語

green check markconditional check markconditional check markconditional check markgreen check markgreen check mark

Segoe WP SemiLight

ラテン語、キリル語、ギリシャ語、アラビア語、およびヘブライ語ベースの言語

green check markconditional check markconditional check markconditional check markred xred x

Segoe WP SemiBold

ラテン語、キリル語、ギリシャ語、アラビア語、およびヘブライ語ベースの言語

green check markconditional check markconditional check markconditional check markred xred x

DengXian

簡体字中国語

green check markconditional check markconditional check markconditional check markred xred x

Microsoft Mhei

繁体字中国語

green check markconditional check markconditional check markconditional check markred xred x

Yu Gothic

日本語

green check markconditional check markconditional check markconditional check markred xred x

Microsoft NeoGothic

韓国語

green check markconditional check markconditional check markconditional check markred xred x

Segoe UI

ラテン語、キリル語、ギリシャ語、アラビア語、およびヘブライ語ベースの言語

green check markconditional check markconditional check markconditional check markred xred x

SimSun

簡体字中国語

注意注意:
このフォントは、中国語 (簡体字) 表示言語を搭載した Windows Phone OS 7.1 デバイスにのみ含まれています。
green check markconditional check markconditional check markconditional check markred xred x

Segoe UI Symbol

さまざまな Unicode 記号をサポートします (Unicode 6.0 で追加された絵文字記号を含む)。

green check markconditional check markconditional check markconditional check markred xred x

メモメモ:

Windows Phone アプリを日本語にローカライズする場合は、Yu Gothic UI フォントを使用します。

次の表に、Windows Phone でサポートされるテキスト表示フォントをすべて示します。

Windows Phone 8 テキスト表示フォント

フォント名

言語

標準

太字

斜体

斜体太字

Ebrima

ンコ文字、エチオピア語、ティフィナグ文字、ヴァイ語、およびオスマン文字

green check markconditional check markconditional check markconditional check markred xred x

Estrangelo Edessa

シリア語

green check markconditional check markconditional check markconditional check markred xred x

Gadugi

チェロキー文字、および統合カナダ先住民音節文字

green check markconditional check markconditional check markconditional check markred xred x

Khmer UI

クメール語

green check markconditional check markconditional check markconditional check markred xred x

Lao UI

ラオス語

green check markconditional check markconditional check markconditional check markred xred x

Microsoft Himalaya

チベット語

green check markconditional check markconditional check markconditional check markred xred x

Microsoft New Tai Lue

新タイ・ルー文字

green check markconditional check markconditional check markconditional check markred xred x

Microsoft Tai Le

タイ・レ文字

green check markconditional check markconditional check markconditional check markred xred x

Microsoft Uighur

ウイグル語

green check markconditional check markconditional check markconditional check markred xred x

Microsoft Yi Baiti

イ語

green check markconditional check markconditional check markconditional check markred xred x

Mongolian Baiti

モンゴル語

green check markconditional check markconditional check markconditional check markgreen check markgreen check mark

MV Boli

ターナ文字

green check markconditional check markconditional check markconditional check markred xred x

PhagsPa

パスパ文字

green check markconditional check markconditional check markconditional check markred xred x

SimSun

簡体字中国語

green check markconditional check markconditional check markconditional check markred xred x

Urdu Typesetting

アラビア語

green check markconditional check markconditional check markconditional check markred xred x

Windows Phone OS 7.1 テキスト表示フォント

メモメモ:

Windows Phone OS 7.1 の次のテキスト表示フォントは Windows Phone 8 では使用できません。

フォント名

言語

標準

太字

斜体

斜体太字

Microsoft YaHei

中国語 (繁体字)、中国語 (簡体字)

green check markconditional check markconditional check markconditional check markred xred x

Meiryo UI

日本語

green check markconditional check markconditional check markconditional check markred xred x

Malgun Gothic

韓国語

green check markconditional check markconditional check markconditional check markred xred x

次の表に、Windows Phone でサポートされる追加フォントをすべて示します。

Windows Phone 8 追加のフォント

フォント名

言語

標準

太字

斜体

斜体太字

Arial

ラテン語、キリル語、およびギリシャ語ベースの言語

green check markconditional check markconditional check markconditional check markred xgreen check mark

Calibri

ラテン語、キリル語、およびギリシャ語ベースの言語

green check markconditional check markconditional check markconditional check markgreen check markred x

Comic Sans MS

ラテン語、キリル語、およびギリシャ語ベースの言語

green check markconditional check markconditional check markconditional check markred xred x

Courier New

ラテン語、キリル語、およびギリシャ語ベースの言語

green check markconditional check markconditional check markconditional check markred xred x

グルジア

ラテン語、キリル語、およびギリシャ語ベースの言語

green check markconditional check markconditional check markconditional check markred xred x

Lucida Sans Unicode

ラテン語、キリル語、およびギリシャ語ベースの言語

green check markconditional check markconditional check markconditional check markred xred x

Tahoma

ラテン語、キリル語、およびギリシャ語ベースの言語

green check markconditional check markconditional check markconditional check markred xred x

Times New Roman

ラテン語、キリル語、およびギリシャ語ベースの言語

green check markconditional check markconditional check markconditional check markred xred x

Trebuchet MS

ラテン語、キリル語、およびギリシャ語ベースの言語

green check markconditional check markconditional check markconditional check markred xred x

Verdana

ラテン語、キリル語、およびギリシャ語ベースの言語

green check markconditional check markconditional check markconditional check markred xred x

Windows Phone OS 7.1 追加のフォント

フォント名

言語

標準

太字

斜体

斜体太字

Arial

ラテン語、キリル語、およびギリシャ語ベースの言語

green check markconditional check markconditional check markconditional check markred xgreen check mark

Calibri

ラテン語、キリル語、およびギリシャ語ベースの言語

green check markconditional check markconditional check markconditional check markred xred x

Comic Sans MS

ラテン語、キリル語、およびギリシャ語ベースの言語

green check markconditional check markconditional check markconditional check markred xred x

Courier New

ラテン語、キリル語、およびギリシャ語ベースの言語

green check markconditional check markconditional check markconditional check markred xred x

グルジア

ラテン語、キリル語、およびギリシャ語ベースの言語

green check markconditional check markconditional check markconditional check markred xred x

Lucida Sans Unicode

ラテン語、キリル語、およびギリシャ語ベースの言語

green check markconditional check markconditional check markconditional check markred xred x

Tahoma

ラテン語、キリル語、およびギリシャ語ベースの言語

green check markconditional check markconditional check markconditional check markred xred x

Times New Roman

ラテン語、キリル語、およびギリシャ語ベースの言語

green check markconditional check markconditional check markconditional check markred xred x

Trebuchet MS

ラテン語、キリル語、およびギリシャ語ベースの言語

green check markconditional check markconditional check markconditional check markred xred x

Verdana

ラテン語、キリル語、およびギリシャ語ベースの言語

green check markconditional check markconditional check markconditional check markred xred x

次の表に、Windows Phone でサポートされる数学フォントおよび記号フォントをすべて示します。

Windows Phone 8 数学記号および記号フォント

フォント名

言語

標準

太字

斜体

斜体太字

Cambria / Cambria Math

ラテン語、キリル語、およびギリシャ語ベースの言語

green check markconditional check markconditional check markconditional check markred xred x

Wingdings

シンボル

green check markconditional check markconditional check markconditional check markred xred x

Webdings

シンボル

green check markconditional check markconditional check markconditional check markred xred x

Windows Phone OS 7.1 記号フォント

フォント名

言語

標準

太字

斜体

斜体太字

Wingdings

シンボル

green check markconditional check markconditional check markconditional check markred xred x

Webdings

シンボル

green check markconditional check markconditional check markconditional check markred xred x

以下は上の表で使用されている記号の説明です。

記号

説明

green check mark

サポートされています

conditional check mark

アルゴリズム的に太字または斜体で実現されます

red x

サポートされていません

表示: