所有这些文本看起来都一样,但我试图让它们看起来不同。我要小的大写字母。为了让小字体的排版效果发挥作用,我这里遗漏了什么?
若要复制此文件,请打开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新的等效字体)是否支持这些字体?
-
有支持什么字体的列表吗?
-
有多少百分比的字体可以支持这个——大多数、一些或很少?
-
您能在代码中确定字体支持什么吗?如果是这种情况,我可以伪造所有大小写,例如,将文本转换为所有大写字母并缩放80%。但不是小帽子。