質問

私は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は行いません。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top