WPF/XAML:排版。大写字母似乎没有效果

WPF/XAML:排版。大写字母似乎没有效果,wpf,xaml,flowdocument,smallcaps,Wpf,Xaml,Flowdocument,Smallcaps,所有这些文字看起来都一样,但我试图让它们看起来不同。我想要大写的文字。我在这里遗漏了什么来让小型字体效果发挥作用 要重现此情况,请打开Visual Studio 2008,执行文件|新建项目,创建一个新的Windows | WPF应用程序,将下面的标记粘贴到Window1.xaml中,然后运行它 <Window x:Class="WpfApplication1.Window1" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/

所有这些文字看起来都一样,但我试图让它们看起来不同。我想要大写的文字。我在这里遗漏了什么来让小型字体效果发挥作用

要重现此情况,请打开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">

。。你有小杯和全杯,但不是小杯或全杯。所以这取决于字体。但这引发了其他问题:

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

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

我注意到带有“粗体”字体权重的默认字体确实正确呈现了SmallCaps:

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

下午2点
下午2点

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