- string sfontfile = フォントファイルのパス
- FileStream fs = new FileStream(sfontfile, FileMode.Open, FileAccess.Read);
先日、MSDNで、GlyphTypeFaceクラスを見てたら、GetFontStream()というメソッドがあることに気づきました。

引用元 : https://docs.microsoft.com/ja-jp/dotnet/api/system.windows.media.glyphtypeface?view=netframework-4.8
これ使えそうだなと思い、使ってみました。こんな感じです。
- System.IO.Stream gfs = mytypeface.GetFontStream();
- MemoryStream ms = new MemoryStream();
- gfs.CopyTo(ms);
元々Filestreamを使ってたので、Filestreamにキャストしたりしようとしてたのですが、うまくいかず、 とりあえずこの方法だと例外やエラーが発生しないので、こうしてます。
GlyphTypefaceをnewするときにフォントファイルのパスは必要なので、卵が先かにわとりが先かという感じもしますが、 一度GlyphTypefaceを作ってしまえばそこからフォントファイルにアクセスできるのは、利便性があると感じました。
0 件のコメント:
コメントを投稿