无法使用Open Sans字体渲染特殊字符?

时间:2018-11-13 16:56:50

标签: uwp

我有一个带有文本块的UWP应用,该文本块使用Open Sans字体呈现字母字符。但是不会呈现正确的字符,而不受支持的字符是...

关于如何获取UWP应用程序文本块以呈现正确字体的任何想法吗?

当我将字体安装到Windows 10计算机中时,该字体会在记事本中正确显示,但在引用相同字体系列的UWP应用中却无法正确显示。

我知道我的UWP正在渲染正确的字体,因为我可以看到默认字体和默认字体之间的区别。正常的字母数字字符可以正确渲染。

有什么想法吗?

1 个答案:

答案 0 :(得分:-1)

我不确定如何在UWP应用中渲染Open Sans字体,建议您将自定义字体文件(.ttf或其他)添加到Assets文件夹中,然后使用FontFamily属性设置字体:

<TextBlock
    FontFamily="ms-appx:///Assets/OpenSans-Bold.ttf#Open Sans"
    FontSize="36" 
    Text="Hello, this is OpenSans-Bold Style"/>
<TextBlock
    FontFamily="ms-appx:///Assets/OpenSans-BoldItalic.ttf#Open Sans"
    FontSize="36" 
    Text="Hello, this is OpenSans-BoldItalic Style" />
<TextBlock
    FontFamily="ms-appx:///Assets/OpenSans-ExtraBold.ttf#Open Sans"
    FontSize="36" 
    Text="Hello, this is OpenSans-ExtraBold Style" />
<TextBlock
    FontFamily="ms-appx:///Assets/OpenSans-Light.ttf#Open Sans"
    FontSize="36" 
    Text="Hello, this is OpenSans-Light Style" />

FontFamily格式类似于[FontFilePath]#[FontName],请注意,在我的测试中,FontName必须为“ Open Sans”。

您也可以在后面的代码中进行设置,例如:

MyTextBlock.FontFamily = new FontFamily("/Assets/OpenSans-Light.ttf#Open Sans");

--------------编辑-------------------------------- -------------------------

请提供一些代码和屏幕截图以获取更多详细信息,我在这里误解了吗?哪个特定字符在这里不起作用?您是说像“β”这样的东西不起作用吗?

enter image description here