【问题标题】:Italic to some fonts not getting applied in wpf斜体表示某些字体未在 wpf 中应用
【发布时间】:2016-08-06 07:14:52
【问题描述】:

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

宋体窄 口径灯, 富兰克林哥特式黛咪, 富兰克林哥特式重型, 富兰克林哥特式中号,

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

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

xml 代码

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

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

【问题讨论】:

  • 您能否提供与您所要求的内容相关的代码 (xaml) 示例?
  • 我已经用 xaml 示例编辑了问题
  • 并非所有字体都支持斜体。 Arial Narrow 在我的系统上不会斜体,但 Arial 会。
  • Arial Narrow 有斜体字体(这可以通过搜索字体目录和使用 word 等应用程序来确认)。所以应该支持斜体
  • @Paparazzi 这正是我提到的问题。

标签: c# wpf windows fonts truetype


【解决方案1】:

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

这意味着要获得 Arial Narrow,最好指定 FontFamily="Arial" 和 FontStretch="Condensed",而不是 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"/>

【讨论】:

    猜你喜欢
    • 2011-08-06
    • 1970-01-01
    • 2014-12-08
    • 2016-10-22
    • 1970-01-01
    • 2011-08-21
    • 1970-01-01
    • 1970-01-01
    • 2012-11-01
    相关资源
    最近更新 更多