locked
ユーザにフォントを選択させたい RRS feed

  • 質問

  • http://msdn.microsoft.com/ja-jp/library/system.windows.media.fonts(v=VS.95).aspx

    の冒頭の説明には

        「FontFamily オブジェクトと Typeface オブジェクトに対して列挙のサポートを提供します。」

    とありますが、実際にはFontsクラスにはTypefaceの列挙を返すプロパティしか存在しません。WPFのように、

      Fonts.SystemFontFamilies

    が無いのです。 

    ユーザ自身にシステムにインストールされているフォントを選択させ、それを使ってテキストを編集させたいのですが、ここで行き詰まってしまいました。何か代替策はあるでしょうか?

    もし、他に方法がないとすると極簡単なアプリケーションの可能性の多くをSilverlightでは諦めなければならなくなってしまいます。また、印刷まで対応しているのにSilverlightでこの機能が省略される理由が想像し難いです。

     

    2011年1月4日 6:15

回答

  • Ver.5になってもこの設計上のバグとも言える仕様は見向きもされないようでした。だれも、自分の使っているPCのフォントを選択できなくても文句を言わないようです。と言うか、Silverlight自体誰も使っていない可能性の方が高いでしょうけれど。

    本当かどうか知りませんが、噂ではVer.5が最後で、もう止めてしまうとか。IE10では動作もしないらしい。

    もう、Microsoftがなにか新しいことを始めてもだれも付いていかないでしょう。これ以上、ひどい裏切りに誰も遭いたくはありませんから。

    願わくばSilverlight全体を他社に売り渡してくれたらと思う。まだその方が可能性が高い。それがだめならMicrosoft自体が消えて欲しい。

    今、Microsoftに対しては憎しみの感情しか持ち得ない。


    • 編集済み cafelasm 2012年1月5日 9:02
    • 回答としてマーク cafelasm 2012年1月5日 9:04
    2012年1月5日 9:01

すべての返信

  • 検索しただけ申し訳ありませんが、以下は参考になりますでしょうか?(特に最後に載っているコードです)

    How to get the list of system fonts???
    http://forums.silverlight.net/forums/p/172793/412363.aspx

     


    ★良い回答には回答済みマークを付けよう! わんくま同盟 MVP - Visual C# http://d.hatena.ne.jp/trapemiya/
    2011年1月4日 7:09
    モデレータ
  • どうやらご呈示いただいたページは私と同様の質問のようですね~。

    でも、ここでの回答(最後のコード)はフォント名ではなく、フォントファイル名の一覧になっているのではないかと思われます。フォントファイル名はフォント名とはほとんどの場合異なりますし、1つのフォントファイルに複数の書体が格納されている場合もあります(Typefaceはファイルに対応しているという説明があります)。実際、複数の書体が格納されている場合、TryGetGlyphTypefaceメソッドではnull参照が返されてしまうようです。

    つまり、ユーザにフォントファイル名の一覧を見せても意味がないし、表示されないものも多いと思われる、と言うことです。

    実は、フォントファイルから格納されているフォント名全てを取得できる別のAPIがあるのかな?という期待はあったのですが・・・

    2011年1月4日 14:47
  • どうやら、やはりSilverlightではシステムにインストールされているフォントの一覧は取得することができないようですね。

    これではちょっとしたワープロのようなアプリケーションや、簡単なビジネスアプリでも印刷を伴うようなものではユーザが好きなフォントを使うことができないのでほぼ諦めなければなりませんね。Silverlightを使ったビジネスチャンスは期待とは裏腹にごくごく限られた狭いものであることをここでも実感させられてしまいました。

    • 回答としてマーク cafelasm 2011年1月5日 16:50
    • 回答としてマークされていない cafelasm 2011年1月15日 11:40
    2011年1月5日 16:50
  • Ver.5になってもこの設計上のバグとも言える仕様は見向きもされないようでした。だれも、自分の使っているPCのフォントを選択できなくても文句を言わないようです。と言うか、Silverlight自体誰も使っていない可能性の方が高いでしょうけれど。

    本当かどうか知りませんが、噂ではVer.5が最後で、もう止めてしまうとか。IE10では動作もしないらしい。

    もう、Microsoftがなにか新しいことを始めてもだれも付いていかないでしょう。これ以上、ひどい裏切りに誰も遭いたくはありませんから。

    願わくばSilverlight全体を他社に売り渡してくれたらと思う。まだその方が可能性が高い。それがだめならMicrosoft自体が消えて欲しい。

    今、Microsoftに対しては憎しみの感情しか持ち得ない。


    • 編集済み cafelasm 2012年1月5日 9:02
    • 回答としてマーク cafelasm 2012年1月5日 9:04
    2012年1月5日 9:01