提问者:小点点

斜体到一些字体没有在wpf中应用


我正在尝试将字体样式斜体字应用于wpf中的以下字体

Arial Narrow Calibri Light、Franklin哥特式Demi、Franklin哥特式重型、Franklin哥特式中型。,

但是斜体字没来,请注意这些字体在系统中安装了斜体字。

我觉得这是一个wpf相关的bug。所以如果有人遇到这个问题,请让我知道修复,解决方法等

xaml代码

<TextBlock FontFamily="Arial Narrow" FontSize="40" FontStyle="Italic" FontWeight="Normal">
   Text
</TextBlock>

在主代码中,我将列出所有已安装的字体系列,我有应用粗体和斜体字样式的按钮。除了上面列出的字体之外,所有其他字体都可以正常工作。


共1个答案

匿名用户

我认为您所指的字体不是WPF字体选择模型中的字体系列,而是根据FontStyle、FontWeight和FontStretch属性从基本字体系列中选择的。

这意味着要获得Arial Narrow,最好指定FontFamily="Arial"和FontStretch="Con的ed",而不是FontFamily="Arial Narrow"。(它也适用于FontFamily="Arial Narrow",但其他属性不起作用)。

示例:这将是Arial Narrow

<TextBlock Text="Test Arial Narrow" FontFamily="Arial" FontStretch="Condensed"/>

Arial窄斜体

<TextBlock Text="Test Arial Narrow" FontFamily="Arial" FontStretch="Condensed" FontStyle="Italic"/>

Arial窄粗体

<TextBlock Text="Test Arial Narrow" FontFamily="Arial" FontStretch="Condensed" FontWeight="Bold"/>

Arial窄斜体粗体

<TextBlock Text="Test Arial Narrow" FontFamily="Arial" FontStretch="Condensed" FontStyle="Italic" FontWeight="Bold"/>

这不会按预期工作(不会是斜体):

<TextBlock Text="Test Arial Narrow" FontFamily="Arial Narrow" FontStyle="Italic"/>