none
外字の表示について RRS feed

  • 質問

  • はじめまして。

    WPFでウィンドウズアプリケーションを作成しています。

    TextBoxに外字を入力した際に、入力文字が『・』(WinXP Vistaの場合は『□』)となってしまいます。

    WPFアプリケーションで外字を表示できるようにするにはどうすればよいのでしょうか?

     

    ちなみに入力した文字をコピーしてメモ帳に貼り付けると外字はうまく表示されます。

     

    よろしくお願いいたします。

    2007年8月24日 6:44

回答

  • Visual Studio 2008 beta2 (en) でも確認できました。

    テキストボックスに限らず、 WPF のコントロールは、 どれも外字が表示されないみたいですね。

     

    これで良いのだというドキュメントは見つけられませんでしたが、 とりあえず表示には成功しました。

    コントロールの FontFamily に "EUDC" を追加してみてください。

     

    Code Snippet

    <Window x:Class="Window1"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        Title="外字表示" Height="300" Width="300" AllowsTransparency="False"

        FontFamily="メイリオ, EUDC" Visibility="Visible">

     

    ※ Windows XP では、 GlobalUserInterface.CompositeFont ファイルを編集してから、 FontFamily として "Global User Interface" を指定することでも、 外字が表示できました。 しかし、 Windows のシステムワイドな変更ですので、 お勧めできません。 また、 Vista では、 CompositeFont ファイルの場所が分かりませんでした。

     

    ※ 検索用キーワード: 複合フォント ファミリ (composite font family), フォントの代替シーケンス (Font Fallback Sequence), end-user-defined characters, System.Windows.Media.FontFamily

    2007年8月30日 5:36

すべての返信

  • Visual Studio 2008 beta2 (en) でも確認できました。

    テキストボックスに限らず、 WPF のコントロールは、 どれも外字が表示されないみたいですね。

     

    これで良いのだというドキュメントは見つけられませんでしたが、 とりあえず表示には成功しました。

    コントロールの FontFamily に "EUDC" を追加してみてください。

     

    Code Snippet

    <Window x:Class="Window1"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        Title="外字表示" Height="300" Width="300" AllowsTransparency="False"

        FontFamily="メイリオ, EUDC" Visibility="Visible">

     

    ※ Windows XP では、 GlobalUserInterface.CompositeFont ファイルを編集してから、 FontFamily として "Global User Interface" を指定することでも、 外字が表示できました。 しかし、 Windows のシステムワイドな変更ですので、 お勧めできません。 また、 Vista では、 CompositeFont ファイルの場所が分かりませんでした。

     

    ※ 検索用キーワード: 複合フォント ファミリ (composite font family), フォントの代替シーケンス (Font Fallback Sequence), end-user-defined characters, System.Windows.Media.FontFamily

    2007年8月30日 5:36
  • biac様

    ご回答ありがとうございます!

    おかげで外字を表示することができました。

     

    ありがとうございました。

     

     

    2007年8月30日 9:44