モノPrivateFontCollection.AddFontFileバグの回避策
-
22-09-2019 - |
質問
私はMono.netそれでPrivateFontCollection.AddFontFileメソッド呼び出しは常に標準のフォントファミリを返します。このバグはすでにいくつかのウェブサイト上で報告したが、私の知る限りでは、それを解決する方法のないされています。バグ自体はまだモノ図書館で固定されていません。そのため任意の回避策はありますか?
EDIT:子分の答え上の反応として、私は、コードを掲載します。
PrivateFontCollection pfc = new PrivateFontCollection();
pfc.AddFontFile("myFontFamily.ttf");
myFontFamily = pfc.Families[0x00];
Font myFont = new Font(myFontFamily,14.0f);
私は、このコードはMicrosoft.Netフレームワークに罰金を動作します知っているが、モノに実行する際に、それだけでmyFontFamily.ttfの名前
の標準フォントファミリ(私はそれがArialのだと思う)を与えます解決
Googleからのこの記事を見つけました。それはどんな慰めだ場合、私はAddMemoryFontと同じ問題を経験しています(Windows上の罰金を動作しますが、モノは私に、一般的なフォントを提供します。)それはどんな慰めだ場合、それはあなたのコード、それはモノラルでの問題だように見える、とではない。
ソースを掘り、System.Windows.Drawing.PrivateFontCollectionはほとんど自体はfontconfigののFcConfigAppFontAddFileのラッパーですGDIPlus.GdipPrivateAddFontFile、単なるラッパーです。すべてのエラーをスローするように表示されない理由は、それはそうしてはfontconfigが何らかの理由でフォントを読み取ることができないようにGDIPlusのは、fontconfigのからの戻り値をチェックしませんが、GDIPlusのはそれについて知らないということですので、どちらもPrivateFontCollectionは行いません。