我們需要爲特定的外語使用特定的字體。基於這個問題的答案,似乎CompositeFont將是處理這個問題的最好方法。如何在應用程序中使用自定義CompositeFont?
Best way to localize fonts in wpf
但我努力讓這該死的東西的工作。
我如下
<FontFamily xmlns="http://schemas.microsoft.com/winfx/2006/xaml/composite-font"
xmlns:System="clr-namespace:System;assembly=mscorlib"
Baseline="0.9"
LineSpacing="1.2">
<!-- Name mapping -->
<FontFamily.FamilyNames>
<System:String Key="en-US">MyFont</System:String>
</FontFamily.FamilyNames>
<!-- Faces to report in font chooser UI -->
<FontFamily.FamilyTypefaces>
<FamilyTypeface Weight="Normal"
Stretch="Normal"
Style="Normal"
UnderlinePosition="-0.1"
UnderlineThickness="0.05"
StrikethroughPosition="0.3"
StrikethroughThickness="0.05"
CapsHeight="0.5"
XHeight="0.3" />
<FamilyTypeface Weight="Bold"
Stretch="Normal"
Style="Normal"
UnderlinePosition="-0.1"
UnderlineThickness="0.05"
StrikethroughPosition="0.3"
StrikethroughThickness="0.05"
CapsHeight="0.5"
XHeight="0.3" />
</FontFamily.FamilyTypefaces>
<FontFamily.FamilyMaps>
<FontFamilyMap Unicode="0000-052F, 1D00-1FFF, FB00-FB0F"
Target="Comic Sans MS"
Scale="1.0" />
</FontFamily.FamilyMaps>
</FontFamily>
構建屬性已被設置爲資源,並且它被保存在.CompositeFont名創建Font.CompositeFont文件。
但是,將我的任何字體的FontFamily設置爲「/#MyFont」似乎沒有設置字體。我確定我在某個地方錯過了一個步驟,但如果我能找到有關該步驟的任何資源,我會被詛咒。 (我會繼續找然而)
在樣式設置字體如下
<Style x:Key="defaultLabelFont"
TargetType="Label">
<Setter Property="FontFamily"
Value="#MyFont" />
<Setter Property="FontSize"
Value="12" />
<Setter Property="VerticalAlignment"
Value="Bottom" />
<Setter Property="HorizontalAlignment"
Value="Center" />
</Style>
如果任何人都可以在正確的方向指向我什麼我已經錯過了它會不勝感激。
開始,讓你只能在您的應用程序這種方式.TTF的感覺,而不是複合字體。 – user3265613