某些字体的斜体未在wpf中应用

时间:2016-04-14 15:52:00

标签: c# wpf windows fonts true-type-fonts

我正在尝试将字体样式斜体应用于wpf

中的以下字体

Arial Narrow Calibri Light, 富兰克林哥特德米, 富兰克林哥特式重, Franklin Gothic Medium。,

但斜体不会来。请注意,这些字体已在系统中安装了斜体。

我觉得这是一个与wpf相关的错误。所以如果有人遇到这个问题,请告诉我修复,解决方法等等。

xaml代码

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

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

1 个答案:

答案 0 :(得分:0)

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

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

示例: 这将是Arial Narrow

ActionMailer::Base.add_delivery_method :ses, AWS::SES::Base,
access_key_id: "abc",
secret_access_key: "pqr",
signature_version: 4

Arial 窄斜体

<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"/>

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

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