古事連記帖

趣味のこと、技術的なこと、適当につらつら書きます。

Windows Phoneで中華フォントに悩まされないために 8.1編

以前、Windows Phoneで日本語フォントが中華フォントになってしまう問題があって、これは正式にプロジェクトテンプレート内で対応することで決着がつきましたが、
Windows Phone 8.1から新たに登場したプロジェクトでまた中華フォントが復活しました…。
f:id:ChiiAyano:20140509000041p:plain
そうです、またしてもフレームの言語設定が英語になっているためです。この辺、システムの言語設定を読むようにならないんでしょうか…。


といいつつ、これも今までやった書き方にちかいやり方でさくっと解決できます。

僕の場合は、App.xaml.csのOnLaunchedに書きましたが、他の方が良いかもしれないので良いところあったら教えて下さい。

protected override void OnLaunched(LaunchActivatedEventArgs e)
{
    // 略

    Frame rootFrame = Window.Current.Content as Frame;

    //略

    // 追加したのはこれ↓
    rootFrame.Language = System.Globalization.CultureInfo.CurrentUICulture.Name;

    // 現在のウィンドウがアクティブであることを確認します
    Window.Current.Activate();
}

こんな感じで、rootFrame.Language = System.Globalization.CultureInfo.CurrentUICulture.Name; を足してやれば綺麗にYu Gothicが出てきました。
f:id:ChiiAyano:20140509000649p:plain


Universal Appだとまた違うかもしれないので、もうちょっと調べてみます。