2010-11-28 13 views
2

コードはかなり簡単です:WPFは:フォント(サイズ)XPとVista/7上で、異なるレンダリング

<TextBlock TextAlignment="Center" Text="{Binding TimeAgo}" Foreground="White" FontSize="12" FontFamily="Calibri" Background="Transparent"/> 

私の知る限りでは、WPFはCalibriフォントをネイティブでサポートしています。ただし、フォントがXP上とVista/7上で、異なるレンダリング:

XP: alt text

ビスタ: alt text

私の主な問題は、フォントのサイズである(これはXP上で大きなレンダリング)以来私は、テキストのために専用の限られたスペースを持っています。

私は現在UseLayoutRounding = "True"を使用していますが、それを削除しても差はありません。私も使用しています:

<ResourceDictionary Source="/PresentationFramework.Aero, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, ProcessorArchitecture=MSIL;component/themes/aero.normalcolor.xaml" /> 

しかし、それを削除しても、フォントサイズの点で違いはありませんでした。

+0

XPと7は同じマシンにありますか?もしそうなら、彼らは同じ解像度を使用していますか? –

+0

Vista SP2 @ 1920x1200、XP SP3 @ 1280x1024どちらも.NET v4を実行しています – sagibb

答えて

8

WPFはどのフォントもネイティブサポートしていないため、マシンにインストールされているフォントのみを使用できます。

大きなテキストはCalibri(私にはArialやTahomaのようです)では、 "g"の形を見ると同じフォントではないことがわかります。

あなたや他のソフトウェア(Office 2007以降など)が最初にインストールした場合、CalibriはXP上でのみ使用できます。

+0

「g」の形によく似ています。私は完全にそれを逃した。 – ChrisF

+0

ああ、それを他のアセンブリに含める簡単な方法はありますか? – sagibb

+2

@tutipute - あなたのアプリを使ってフォントを配布するためのライセンスを購入する必要があります(自分のアプリだけの場合でも)。私はCalibriのルールを知らない手順:http://msdn.microsoft.com/en-us/library/ms753303.aspxまたはBlendで実行する場合はhttp://msdn.microsoft.com/en-us/library/cc296385を参照してください。 aspx – Nir

関連する問題