【问题标题】:WPF/XAML: Typography.Capitals seems to have no effectWPF/XAML:Typography.Capitals 似乎没有效果
【发布时间】:2010-10-12 19:05:23
【问题描述】:

所有这些文本看起来都一样,但我试图让它们看起来不同。我想要小型大写字母。为了使小型大写字体效果起作用,我在这里缺少什么?

要重现这一点,请打开 Visual Studio 2008,执行文件|新建项目,创建一个新的 Windows|WPF 应用程序,将下面的标记粘贴到 Window1.xaml 中,然后运行它。

<Window x:Class="WpfApplication1.Window1"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    Title="Window1" Height="300" Width="300">
    <Grid>
        <FlowDocumentReader>
        <FlowDocument>
            <Paragraph>
                <Run>Some text</Run> <LineBreak />
                <Run Typography.Capitals="SmallCaps">Some text</Run> <LineBreak />
                <Run Typography.Capitals="AllSmallCaps">Some text</Run> <LineBreak />
                <Run Typography.Capitals="PetiteCaps">Some text</Run> <LineBreak />
                <Run Typography.Capitals="AllPetiteCaps">Some text</Run> <LineBreak />
            </Paragraph>
        </FlowDocument>
        </FlowDocumentReader>
    </Grid>
</Window>   

根据第一个答案,如果您指定特定字体,您似乎可以到达某个地方。将 FlowDocument 开始标记更改为:

   <FlowDocument FontFamily="Palatino Linotype">

.. 你会得到 SmallCaps 和 AllSmallCaps,但不会得到 PetiteCaps 或 AllPetiteCaps。所以这取决于字体。但这引发了其他问题:

  • 为什么默认字体(看起来很像 Times New Roman)不支持这些?
  • 其他广泛使用的字体(例如本地 Courier New 等效字体)是否支持这些字体?
  • 是否有支持哪些字体的列表?
  • 多少百分比的字体会支持这一点 - 大部分、部分还是少数?
  • 您能否在代码中确定字体支持的内容 - 如果是这种情况,我可以伪造 AllSmallCaps - 例如通过将文本转换为全部大写并按 80% 缩放。但不是小型股。

【问题讨论】:

  • 好问题。这几乎是帮助中最基本的示例,但它不起作用。

标签: wpf xaml flowdocument smallcaps


【解决方案1】:

这仅适用于特定的 OpenType 字体 - 帮助中的示例使用 Open Type 示例中的 Pescadero。即使这样,也只支持 SmallCaps 和 AllSmallCaps。

【讨论】:

    【解决方案2】:

    我注意到带有“粗体”字体粗细的默认字体确实可以正确渲染 SmallCap:

    <StackPanel>
        <TextBlock Typography.Capitals="SmallCaps" FontFamily="Pescadero" Padding="2">2pm</TextBlock>
        <TextBlock Typography.Capitals="SmallCaps" FontWeight="Bold" Padding="2">2pm</TextBlock>
    </StackPanel>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-05-18
      • 1970-01-01
      • 2010-12-24
      • 2020-07-04
      • 2014-11-06
      • 2020-04-11
      相关资源
      最近更新 更多