Century Gothicがインストールされている場合はそのデザインを使用しますが、使用できない場合はArialまたはLucidiaに戻します。マシンにCentury Gothicがインストールされていない限り、これはほとんどの場合うまく動作しますが、はにCentury(OfficeなしのXPマシンがたくさんあるようです)があります。 Century Gothicのために恐ろしくてセリフの代わりになるCenturyを「助けて」置き換え、フォールバックフォントを完全に無視します。Century Gothicの代わりにCenturyを使用してWPFを停止する
それは世紀ではなく世紀のゴシック様式を持つマシンを持っていることによって容易に再現だ、そしてなどのTextBlockを作成します。ちんぷんかんぷんWingdingsフォントとして
<TextBlock FontFamily="Century Gothic, Wingdings">Should be gibberish</TextBlock>
それはずショー、代わりにそれは醜いが、読みやすい世紀に示し。
私はcompositefontで世紀のゴシック様式を包む試してみたが、それは同じ問題があります:フォントを埋め込む
<FontFamily
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/composite-font"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:System="clr-namespace:System;assembly=mscorlib">
<FontFamily.FamilyNames>
<System:String x:Key="en-US">CenturyGothic</System:String>
</FontFamily.FamilyNames>
<FontFamily.FamilyTypefaces>
<FamilyTypeface Weight="Normal" Stretch="Normal" Style="Normal" />
<FamilyTypeface Weight="Bold" Stretch="Normal" Style="Normal" />
</FontFamily.FamilyTypefaces>
<FontFamily.FamilyMaps>
<FontFamilyMap Target="Century Gothic" Scale="1" />
</FontFamily.FamilyMaps>
</FontFamily>
はオプション(ライセンス)ではない - にそれを強制する方法はあります世紀を無視するか、別のフォントを使用するように辞めたのですか?
編集:私はちょうどFontFace =「『世紀のゴシック』、Wingdingsフォント」を使用してみましたが、それはそれがインストールされています場合にも、世紀のゴシックを表示することはありません。ハード
<TextBlock Margin="20" FontFamily="c:\windows\fonts\GOTHIC.TTF#Century Gothic, Wingdings">Should be gibberish</TextBlock>
パスをコーディングすることは理想的ではありませんが、ユーザーが実行している場合には、フォントのフレンドリ名を使用するフォールバックを追加することができます。
私は理解できませんが、フォント選択モデルは、http://blogs.msdn.com/b/text/archive/2007/04/23/wpf-font-selection-modelのPDFで概要を説明しています。 aspx。それはあまり役に立たないかもしれませんが、私の目はそれを見ようとしています。 –