gpt4 book ai didi

fonts - 某些字体类型无法在 UWP 中应用

转载 作者:行者123 更新时间:2023-12-02 21:03:34 25 4
gpt4 key购买 nike

我发现一些字体类型无法在 UWP 中使用。

例如:Noto Sans CJK TC,或者Noto Sans(都是谷歌开源字体)

即使该字体已经安装在系统中,或者放入应用程序项目中并使用“ms-appx:”或相对路径来设置该字体。

(比如这个问题的答案:UWP - Font only applied in Designer,提供了一个例子,可以使用自定义字体)

当我应用一些字体时,只在设计器中看到效果,但在运行时看不到。

并且有指南,但没有说明如何知道哪种字体类型不能在 UWP 中使用。 https://msdn.microsoft.com/en-us/windows/uwp/controls-and-patterns/fonts?f=255&MSPPError=-2147217396

UWP 有字体类型限制吗?

谢谢!

最佳答案

I found the problem cause I put page inside folder, but why?

在您的代码中,您使用以下代码设置FontFamily:

FontFamily="Assets/fonts/NotoSansCJKtc-Thin.otf#Noto Sans CJK TC"

您使用的 URI 是相对 URI,它将访问相对于当前 XAML 页面的文件。在您的情况下,在 BlankPage1 中使用它时,它将尝试访问当前文件夹(即“UI”文件夹)中的 Assets/fonts/NotoSansCJKtc-Thin.otf 文件。由于“UI”文件夹中没有这样的文件,FontFamily 属性将使用其默认值。

要从 XAML 页面访问相对于包根目录的文件,您可以使用绝对路径 URI(以“/”开头的 URI),如下所示:

<TextBlock Margin="0,80,0,0"
HorizontalAlignment="Center"
FontFamily="/Assets/fonts/NotoSansCJKtc-Thin.otf#Noto Sans CJK TC"
FontSize="80"
Foreground="#878787">
微abc012
</TextBlock>

或使用 ms-appx: 如下方案:

<TextBlock Margin="0,80,0,0"
HorizontalAlignment="Center"
FontFamily="ms-appx:///Assets/fonts/NotoSansCJKtc-Thin.otf#Noto Sans CJK TC"
FontSize="80"
Foreground="#878787">
微abc012
</TextBlock>

And FontFamily="Assets/fonts/NotoSansCJKtc-Thin.otf#Noto Sans CJK TC" can work, but FontFamily="Assets/fonts/NotoSansCJKtc-Thin.otf#Noto Sans CJK TC Thin" won't.

我身边也有同样的问题。形成otf文件,其字体名称应为“Noto Sans CJK TC Thin”。
enter image description here但是,使用此字体名称在 XAML 设计器和运行时都不起作用。我认为这个问题可能与 otf 文件有关,因为我用其他一些字体进行了测试,它们都按预期工作。

I also try to reference other project font resource in same solution.

要在同一个解决方案中引用其他项目的字体资源,可以引用我之前在UWP - Font only applied in Designer中的回答。 .

关于fonts - 某些字体类型无法在 UWP 中应用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37159246/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com