Xamarin.forms: [错误] ExportFont无法在UWP上运行

创建于 2020-04-12  ·  55评论  ·  资料来源: xamarin/Xamarin.Forms

描述

使用新的ExportFontAttribute时,自定义字体不会显示在UWP中。

重现步骤

  1. 将Google字体,FontAwesome,icomoon等中的TTF或OTF文件添加为共享项目中的嵌入式资源
  2. 将ExportFont属性添加到您的程序集。 例如[assembly: ExportFont("FA5Regular.otf", Alias = "FontAwesome")]
  3. 在XAML标记中引用字体系列
  4. 编译并运行UWP应用

预期行为

应使用自定义字体。

实际行为

自定义字体用于iOS和Android,但不用于UWP。

基本信息

  • 有问题的版本:4.5.0.617
  • 平台目标框架:

    • iOS:13.4

    • Android:9.0

    • UWP:18362

复制链接

https://github.com/jfversluis/EmbeddedFontsSample

embedded fonts fonts 3 in-progress high impact UWP bug

最有用的评论

我遇到了同样的问题。 似乎UWP一直是Xamarin.Forms的事后想法,几乎也不受支持。 我了解它的使用率可能远低于Android或iOS,但令人非常沮丧。

所有55条评论

格式为TTF或OTF的嵌入式字体可在Android和iOS中使用。

Captura de pantalla 2020-04-20 a las 16 17 49

在UWP中,Fontawesome OTF字体无法正常工作:
Captura de pantalla 2020-04-20 a las 16 17 59

我遇到了同样的问题。 似乎UWP一直是Xamarin.Forms的事后想法,几乎也不受支持。 我了解它的使用率可能远低于Android或iOS,但令人非常沮丧。

我在UWP上也遇到了这个问题。 但是,当我从ExportFont声明中删除Alias时,就可以使用它。

这是我所做的:

  1. 我创建了自己的字体。 我使用的字形都映射为小写字符
  2. 在App.xaml.cs中共享的项目中,我添加了:[assembly:ExportFont(“ karenfont.ttf”)]
  3. 我将karenfont.ttf作为嵌入式资源添加到共享项目的顶级目录中。
  4. 在我的xamarin表格xaml文件中,我有以下内容:
    <Button Text="b" FontFamily="karenfont"/>

现在可以在UWP上使用。 它不适用于Android。 我正在使用Xamarin Forms v4.5.0.617

我遇到了同样的问题。 似乎UWP一直是Xamarin.Forms的事后想法,几乎也不受支持。 我了解它的使用率可能远低于Android或iOS,但令人非常沮丧。

我认为许多Xamarin开发人员(以及从事与Xamarin相关的工作的Visual Studio开发人员)仅使用macs,而当他们使用Windows时,他们纯粹忽略了UWP。 有时它们在示例项目中包括UWP,但很少在视频演示中显示它们-因此,我什至不确定所演示的功能是否在UWP上真正起作用。

@jsuarezruiz我现在正在Xamarin 4.6的第一个发行版上尝试ExportFont,我已经按照Xamarin视频上显示的示例进行操作,并且猜测是什么,它不适用于UWP,我只能得到平方。 在Android上运行正常。 根据FlyMe应用程序中的示例,我没有使用别名。 字体文件位于共享项目的顶层。 不起作用。

我很不幸,必须为我们的产品支持iOS,Android和UWP,而且UWP经常被抛在后面的事实导致我们不得不等待几个发布周期才能实际使用新功能。
我们已经加载了三种自定义字体。 无论出于何种原因,我都无法为UWP加载图标字体。 其他两个平台没有问题。

@joshminor,这样您可以在使用UWP的3种字体中使用2种吗?
可能是某些字体引起的问题...

实际上,我只是意识到可以使用的两种字体作为系统字体安装在Windows测试机上……因此可能与它有关。
编辑
我尝试安装非工作字体,但没有任何改变。 我尝试了一种与Google WebFonts(“龙虾”)完全不同的字体,并且该字体没有任何问题(别名不起作用)

我已经尝试过龙虾字体,并且它唯一起作用的方法是在系统上安装它。 字体嵌入无效。

编辑:我拿回它,它确实起作用(我的名字有错字)。 因此,似乎有些字体有效而有些字体无效? 非常有趣

多一点信息

我已经抓住了这个Google字体,将文件及其代码中的引用从Lobster-Regular.ttf重命名为Lobster-Regular-renamed.ttf-这使其停止工作。 放回原来的名称,它可以再次工作。
这可能表明文件名必须与字体本身的某些内部属性匹配才能正常工作,并且可以解释为什么人们使用相同的实现会有不同的结果-它取决于字体文件本身中的某些内容。

我刚刚升级到Xamarin Forms 4.6.0.726,我的嵌入式字体karenfont仍在UWP(Windows 10 1903)上运行。 它仍无法在Android(Android 10)上运行。

我不会加载的字体是自定义图标字体,我通过FontForge确认内部字体系列名称与文件名完全相同,但仍然不会加载。 我确定这里有某种模式。 目前,我将回退到之前加载字体的方式(基于平台的资源)

我使用IcoMoon应用程序创建了自定义字体。 可能感兴趣的是,直到我将字形映射到字母然后在我的xaml中引用该字母(与使用像&#xf57e;这样的十六进制代码相对),嵌入karenfont才起作用。

我已经重新创建了字体文件,并看到它可以工作,但是似乎字体名和文件名必须相似,这样才有可能工作。

我还发现,即使看上去可行,也不是所有的UI元素都能按预期工作,即带有字体图像源的工具栏图标似乎不起作用,我只是得到一个正方形而不是适当的图标。

我在使用MaterialDesignIcons字体(https://materialdesignicons.com/)时遇到了同样的问题,在iOS和Android上工作正常,但在UWP上所有矩形都正常工作。

如果安装了Font pack,在这里可以看到相同的效果,但似乎可以正常工作,但是如果它是像FontAwesome或MaterialDesignIcons这样的项目的一部分,但它们并未安装在计算机上,那么它将无法正常工作。

回到添加到每个项目并在ResourceDictionary中进行引用的旧方法,但这是更多的工作,而不是新的热点。

不知道这是回归还是从未使用过,因为我的其他项目没有包含UWP。

同样在这里,只看到UWP上的正方形...

关于何时解决的任何更新?

一样...无望的UWP ...

同样在这里。 看起来UWP已死。

好的,我需要为当前项目修复此问题,因此,我将研究修复问题。

@samhouts @jsuarezruiz您能证明它正在被处理吗? 谢谢

好的,我想我已经找到了这里发生的事情,不需要PR。

对于UWP,旧的做法是将带有OnPlatform的FontPack添加到ResourcesDictionary,它看起来像这样:

<ResourceDictionary>
  <OnPlatform x:TypeArguments="x:String"
            x:Key="IconFont">
    <On Platform="Android"
        Value="materialdesignicons-webfont.ttf#Material Design Icons" />
    <On Platform="iOS"
        Value="Material Design Icons" />
    <On Platform="UWP"
        Value="/Assets/materialdesignicons-webfont.ttf#Material Design Icons" />
  </OnPlatform>
</ResourceDictionary>

注意,对于Android和UWP,有#Material Design Icons才能与Embedded Font一起使用,这部分仍是UWP所需要的。

我发现这是在控件库的Xamarin代码库中,XAML在EmbeddedFonts页面上有以下行:

<Label Text="Mono Font" FontFamily="PTM55FT#PTMono-Regular"/>

注意字体名称末尾的#PTMono-Regular

所以我在字体名称的末尾添加了#Material Design Icons ,如下所示:

FontFamily="materialdesignicons-webfont#MaterialDesignIcons"

Hey Presto,它可以工作,我检查了一下,它可以在UWP / Droid和iOS上工作,因为这是我当前项目所需的全部。

如果您想知道#后面的部分,那就是字体文件中字体的名称,最简单的获取方法是(无论如何在Win10上!)打开字体文件,然后在顶部的名称是:

image

希望对您有所帮助,我想它可以解决此问题@jsuarezruiz,因为除文档外没有其他要修复的问题。

我认为XF如果用户未指定,则应从文件中获取第一个字体名称

是! 我的app.xaml中有这个,字体一直在为我工作:
<OnPlatform x:Key="MaterialWebFontFamily" x:TypeArguments="x:String"> <On Platform="Android" Value="materialdesignicons-webfont.ttf#Material Design Icons" /> <On Platform="UWP" Value="Assets/Fonts/materialdesignicons-webfont.ttf#Material Design Icons" /> </OnPlatform>

@ ktd12,但是您正在使用新的EmbeddedFonts吗?

@VladislavAntonyuk也许确实需要调查一下。 我没有在较旧版本的XF上尝试过,因此不确定它是否可以在UWP上运行或是否是新问题,我目前的项目向我强调了它。 很高兴看看您是否相信它应该如何工作。

抱歉-我讲得太早了。 我用作嵌入式字体的字体是我创建的一种叫做karenfont的字体。 我和其他所有人都有相反的问题:它适用于UWP,但不适用于Android。 我在Surface Pro 7上使用XF 4.6.0.726,Windows 10 1903和在Samsung Galaxy s10上使用Android 10
<Button x:Name="btnBackup" Text="b" HorizontalOptions="FillAndExpand" FontSize="Medium" FontFamily="karenfont"/>

在Windows上,字母“ b”如下所示:
b on windows

在Android上,字母“ b”如下所示:
b on android

字体是什么样的:
karenfont

好的,我想我已经找到了这里发生的事情,不需要PR。

对于UWP,旧的做法是将带有OnPlatform的FontPack添加到ResourcesDictionary,它看起来像这样:

<ResourceDictionary>
  <OnPlatform x:TypeArguments="x:String"
            x:Key="IconFont">
    <On Platform="Android"
        Value="materialdesignicons-webfont.ttf#Material Design Icons" />
    <On Platform="iOS"
        Value="Material Design Icons" />
    <On Platform="UWP"
        Value="/Assets/materialdesignicons-webfont.ttf#Material Design Icons" />
  </OnPlatform>
</ResourceDictionary>

注意,对于Android和UWP,有#Material Design Icons才能与Embedded Font一起使用,这部分仍是UWP所需要的。

我发现这是在控件库的Xamarin代码库中,XAML在EmbeddedFonts页面上有以下行:

<Label Text="Mono Font" FontFamily="PTM55FT#PTMono-Regular"/>

注意字体名称末尾的#PTMono-Regular

所以我在字体名称的末尾添加了#Material Design Icons ,如下所示:

FontFamily="materialdesignicons-webfont#MaterialDesignIcons"

Hey Presto,它可以工作,我检查了一下,它可以在UWP / Droid和iOS上工作,因为这是我当前项目所需的全部。

如果您想知道#后面的部分,那就是字体文件中字体的名称,最简单的获取方法是(无论如何在Win10上!)打开字体文件,然后在顶部的名称是:

image

希望对您有所帮助,我想它可以解决此问题@jsuarezruiz,因为除文档外没有其他要修复的问题。

你好
您在示例项目上工作了吗? https://github.com/jfversluis/EmbeddedFontsSample
我尝试过,但没有成功。

添加#fontname似乎对我没有任何帮助。 我以为它起初是可以的,但是我从系统上卸载了字体后,它又回到显示正方形。 我与另一位同事确认,如果您安装该字体,它将开始正确显示。

我做了更多的挖掘工作,这与字体文件有关。 我可以换成不同的字体,并且一切正常。 我将尝试重新导出我们的字体,看看是否可以使任何工作。

是的,同意,它不适用于UWP。 不要按照@CliffAgius的建议添加#FontName ,除非您在Windows 10操作系统中手动安装字体文件。因此,不是,这不是修复程序。 :),请团队@samhouts @jsuarezruiz解决。

Xamarin发布博客本身具有的示例项目不适用于UWP, https://github.com/jfversluis/EmbeddedFontsSample
https://devblogs.microsoft.com/xamarin/embedded-fonts-xamarin-forms/

image

似乎这些天每当他们在Xamarin.Forms中推出新功能时,他们都在故意放弃对Windows 10的支持! :(

@UdaraAlwis是的,感谢您发帖,因为我完全忘记了这一点,我的修复工作是因为我将FotPack加载到开发机器上用于其他事情,因此认为它可以正常工作。 我一推向客户进行预览时就坏了。 我不得不回到为该项目添加字体的老方法,因为它针对某些用户的UWP。

我不同意该团队在构建中不考虑UWP,只是没有编写UI测试来证明这一点,并且许多开发人员都使用Mac,因此无法测试UWP。 在Mac上构建时,可能需要一种更好的方法来执行此操作,例如Windows的#HotRestart样式。

仅添加我的投票。
如果Windows机器上已经安装了字体,则ExportFont仅适用于UWP。 因此,安装应用程序后,它将无法在客户端计算机上运行。

现在,我不得不将字体放到一个文件夹中,并将“动作”设置为“内容”,并使用#表示法引用它。

/fonts/xyx.ttf#xyz.ttf

在调试模式下或关闭“使用.net本机工具链编译”时,我设法使字体正确显示。
重新启用.net本机编译将立即破坏所有字体。

我是Xamarin的新手,因此此解决方案可能会引起误解。 我使用了@CliffAgius解释的方法,再次,我可能使用的是旧方法或完全错误。

对我来说,我不必安装任何字体。 它在所有3个平台上对我而言唯一有效的方法是使用“ .otf”文件而不是“ .ttf”文件。

“ .ttf”文件仅适用于文本字体系列,但不适用于Glyph。
与此同时,我必须将“ .otf”添加到各个平台特定的文件夹中。

以下是我的用法和资源文件。

以下代码未经IOS测试。

资源文件:

<?xml version="1.0" encoding="utf-8" ?>
<ResourceDictionary xmlns="http://xamarin.com/schemas/2014/forms"
                    xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
                    xmlns:d="http://xamarin.com/schemas/2014/forms/design"
                    xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
                    xmlns:local="clr-namespace:ProjectName.Themes.FontIcon;assembly=ProjectName.Themes"
                    mc:Ignorable="d"
                    x:Class="ProjectName.Themes.Styles.IconImage">
    <ResourceDictionary.MergedDictionaries>
        <ResourceDictionary Source="ColorsResource.xaml" />
    </ResourceDictionary.MergedDictionaries>
    <OnAppTheme x:Key="ImageLogoSample"
                x:TypeArguments="FileImageSource"
                Light="{x:Static local:AwesomeFontSolid.TicketAlt}"
                Dark="{x:Static local:AwesomeFontSolid.PersonBooth}" />  
    <!-- Sizes -->
    <x:Double x:Key="SizeTabIcon">24</x:Double>

    <!-- Fonts Icon -->

    <OnPlatform x:TypeArguments="x:String"
                x:Key="FontAwesomeBrand">
        <On Platform="Android"
            Value="FABrand.otf#Font Awesome 5 Brands" />
        <On Platform="iOS"
            Value="FABrand-Regular" />
        <On Platform="UWP"
            Value="/Assets/FABrand.otf#Font Awesome 5 Brands" />
    </OnPlatform>

    <OnPlatform x:TypeArguments="x:String"
                x:Key="FontAwesomeRegular">
        <On Platform="Android"
            Value="FARegular.otf#Font Awesome 5 Pro" />
        <On Platform="iOS"
            Value="FontAwesome5Free-Regular" />
        <On Platform="UWP"
            Value="/Assets/FARegular.otf#Font Awesome 5 Pro" />
    </OnPlatform>

    <OnPlatform x:TypeArguments="x:String"
                x:Key="FontAwesomeSolid">
        <On Platform="Android"
            Value="FASolid.otf#Font Awesome 5 Pro" />
        <On Platform="iOS"
            Value="FontAwesome5Free-Solid" />
        <On Platform="UWP"
            Value="/Assets/FASolid.otf#Font Awesome 5 Pro" />
    </OnPlatform>



    <OnPlatform x:TypeArguments="x:String"
                x:Key="FontAwesomeLight">
        <On Platform="Android"
            Value="FALight.otf#Font Awesome 5 Pro" />
        <On Platform="iOS"
            Value="Font Awesome 5 Pro" />
        <On Platform="UWP"
            Value="/Assets/FALight.otf#Font Awesome 5 Pro" />
    </OnPlatform>

    <OnPlatform x:TypeArguments="x:String"
                x:Key="FontAwesomeSolidDuoTone">
        <On Platform="Android"
            Value="FASolidDuotone.otf#Font Awesome 5 Duotone" />
        <On Platform="iOS"
            Value="Font Awesome 5 Duotone" />
        <On Platform="UWP"
            Value="/Assets/FASolidDuotone.otf#Font Awesome 5 Duotone" />
    </OnPlatform>


    <OnPlatform x:TypeArguments="x:String"
                x:Key="MaterialDesign">
        <On Platform="Android"
            Value="MD.otf#Material Design Icons" />
        <On Platform="iOS"
            Value="Material Design Icons" />
        <On Platform="UWP"
            Value="/Assets/MD.otf#Material Design Icons" />
    </OnPlatform>

    <!--ICONS 30 by 30-->  
    <!--Black-->
    <FontImageSource x:Key="IconPowerOff"
                     FontFamily="{DynamicResource FontAwesomeSolid}"
                     Glyph="{x:Static local:AwesomeFontSolid.PowerOff}"
                     Size="30"
                     Color="Black" />
    <!--ICONS 100 by 100-->
    <FontImageSource x:Key="IconHand"
                     FontFamily="{DynamicResource FontAwesomeSolid}"
                     Glyph="{x:Static local:AwesomeFontSolid.Hands}"
                     Size="100"
                     Color="Black" />   
</ResourceDictionary>

在Xamal用法中

  <Image Margin="20,0" WidthRequest="30">
                        <Image.Source>
                            <FontImageSource
                                FontFamily="{StaticResource FontAwesomeSolid}"
                                Glyph="{x:Static local:AwesomeFontSolid.Users}"
                                Color="{DynamicResource SurfaceTextColor}" />
                        </Image.Source>
                    </Image>

萨米特(Samit),我在Android / iOS上使用Embedded / ExportFont使用.ttf字体。

疑难排解是一击成败-没有消息或指标可以帮助您了解为什么它不起作用。 对于Xamarin代码库,这是我不喜欢的,在许多情况下,如果您传递了不正确的参数,则该函数只会执行任何操作,而不是通知您参数值不正确。 错误消息/日志记录/异常可能非常有帮助。

萨米特(Samit),我在Android / iOS上使用Embedded / ExportFont使用.ttf字体。

疑难排解是一击成败-没有消息或指标可以帮助您了解为什么它不起作用。 对于Xamarin代码库,这是我不喜欢的,在许多情况下,如果您传递了不正确的参数,则该函数只会执行任何操作,而不是通知您参数值不正确。 错误消息/日志记录/异常可能非常有帮助。

克里斯你好,

是的,我确实观察到了相同的行为,很难理解或调试出什么问题,“。ttf”文件适用于android和IOS,但不适用于UWP(Glyph)。
所以我尝试使用.otf文件,它适用于所有三个图像平台(Glyph)。

同样奇怪的是,“。ttf”在所有三个平台上均可用于文本字体(不确定如何解释,但Roboto-Italic.ttf文件将在所有三个平台上均可),但是正如我之前所说,.ttf文件的字形不是加工。

希望我们能尽快解决此问题。

@Samit。
我相信您的代码是指在Xamarin中支持自定义字体的“传统”方式。 在这种情况下,您将字体文件安装在每个项目文件夹中,并添加一些清单代码,然后引用资源文件示例中显示的字体名称,每个平台使用的字体名称略有不同。
Xamarin最近引入了“ ExportFont”功能在此报告的问题,该问题使您可以在Shared项目中包含一次字体,然后使用ExportFont指令将其告知应用程序。
[程序集:ExportFont(“ Samantha.ttf”,Alias =“ MyAwesomeCustomFont”)]

https://devblogs.microsoft.com/xamarin/embedded-fonts-xamarin-forms/

该错误报告说,此方法适用于Android和iOS项目,但不适用于UWP,因为我们需要恢复到先前的方法。

在这里面临同样的问题。 我们正在使用字体嵌入,在Android和iOS上轻而易举。 并且由于某些客户要求,我们添加了一个额外的UWP项目。 它根本不起作用,我们只看到一些盒子。

萨米特(Samit),我在Android / iOS上使用Embedded / ExportFont使用.ttf字体。
疑难排解是一击成败-没有消息或指标可以帮助您了解为什么它不起作用。 对于Xamarin代码库,这是我不喜欢的,在许多情况下,如果您传递了不正确的参数,则该函数只会执行任何操作,而不是通知您参数值不正确。 错误消息/日志记录/异常可能非常有帮助。

克里斯你好,

是的,我确实观察到了相同的行为,很难理解或调试出什么问题,“。ttf”文件适用于android和IOS,但不适用于UWP(Glyph)。
所以我尝试使用.otf文件,它适用于所有三个图像平台(Glyph)。

同样奇怪的是,“。ttf”在所有三个平台上均可用于文本字体(不确定如何解释,但Roboto-Italic.ttf文件将在所有三个平台上均可),但是正如我之前所说,.ttf文件的字形不是加工。

希望我们能尽快解决此问题。

您可能要检查“ Roboto-Italic.ttf”在所有3个平台上都能运行的原因,是因为它实际上已安装在要测试的Windows计算机上。
我花了很长时间才弄清楚为什么某些字体可以与ExportFont一起在UWP上使用,而另一些却不能,直到我意识到它只使用Windows中已经安装的字体。

问题在于UWP希望将字体名称作为字体系列名称的一部分。 Xamarin Forms错误地假定字体名称与字体文件名称相同。 对于许多无效字体(例如,FontAwesome)

我将创建PR来解决此问题。

Xamarin.Forms:4.8.0.1269
ExportFont适用于Android,但不适用于UWP

不是在共享项目中使用ExportFont,而是一种解决方法:

  1. 将字体文件(xxx.ttf)复制到Androind和UWP项目中的Assets文件夹中:

[Android]:
资产/xxx.ttf
建立动作:AndroidAsset
复制到输出目录:不复制

[UWP]:
资产/xxx.ttf
建立动作:内容
复制到输出目录:不复制

  1. 设置文本的FontFamily属性:

       <Label.FontFamily>
            <OnPlatform x:TypeArguments="x:String">
                <On Platform="Android"
                    Value="xxx.ttf#Font Name" />
                <On Platform="UWP"
                    Value="/Assets/xxx.ttf#Font Name" />
            </OnPlatform>
        </Label.FontFamily>
    

现在它可以正常工作了!

@ johncao158这是在Xamarin Forms中使用自定义字体的传统方法,该方法自一开始就起作用。 此问题专门与[ExportFont]在UWP上不起作用有关。 您建议的解决方法仍然不允许您将字体添加为嵌入式资源。

我的项目是这样工作的:

[共享项目]
AssemblyInfo.cs
[程序集:ExportFont(“ entypo.ttf”,Alias =“ entypo-plus”)]
字体/entypo.ttf“用于iOS和Android”

建立动作:内容
复制到输出目录:不复制

我的项目是这样工作的:

[共享项目]
AssemblyInfo.cs
[程序集:ExportFont(“ entypo.ttf”,Alias =“ entypo-plus”)]
字体/entypo.ttf“用于iOS和Android”

建立动作:内容
复制到输出目录:不复制

你是对的。 此新功能可在iOS和Android上使用。
问题是,除非计算机上已经安装了字体,否则它将无法在Windows上运行。

为什么关闭了? 尽管自定义字体可在UWP调试中使用,但它们不适用于发行版。

当我在发行版侧面加载中使用它们时,自定义字体所在的页面完全空白。 当我注释掉xaml中的字体系列时,页面看起来很好……但是,当然没有自定义字体。

我还检查了在windows /字体文件夹,字体在我安装的应用程序的笔记本电脑。

即使使用最新的XF 4.8.0.1534 + 384-sha.712849b9d-azdo.4114742,我在UWP版本上也有与@ BillyMartin1964相同的问题

我们也遇到了与@ BillyMartin1964相同的问题-这非常令人困惑,因为字体在Debug模式下在Android / iOS甚至UWP上都可以正常工作,而在Release模式下则不能。

@samhouts是否可以使用此解决方法,是否可以重新打开该问题以解决UWP发布模式?

至少,如果没有将自定义字体安装在用户计算机/ XBox中,我们是否可以忽略该自定义字体的代码?

至少,如果没有将自定义字体安装在用户计算机/ XBox中,我们是否可以忽略该自定义字体的代码?

我认为您可以在页面上添加两个元素,并使它们可见,具体取决于它们所运行的平台。 为此使用

@ArtjomP ,这不是问题。 当我们在发行版本侧面加载到另一台PC上使用嵌入式字体时,整个页面为空白。 有人说这是因为另一台PC先前没有安装该字体。 我对此不太确定,但是如果是这种情况,我们需要测试已安装的字体,如果未安装,请不要使用它。

我个人认为这是另一个问题,因为该字体似乎位于用户计算机上的字体文件夹中。

@ BillyMartin1964非常奇怪,我的页面在UWP版本上都运行良好。 自定义字体的标签仅显示@jsuarezruiz上图中的正方形

@ArtjomP ,您要安装到另一台计算机吗?

@ BillyMartin1964确保我正在我的机器上开发应用程序,在另一台CI上进行UI测试,并且用户在PC和Xbox上使用商店中的我的应用程序

@ArtjomP ,不能告诉您有关商店的信息,因为我怕在生产应用程序上使用它。 我可以告诉您,页面是否为空白白色的唯一区别是删除了FontFamily属性。 广场似乎是他的偶像。

@ BillyMartin1964,您可以尝试删除obj和bin文件夹并使用包含的FontFamily属性重建项目。 有时它有助于摆脱神秘的错误。

为什么关闭了? 尽管自定义字体可在UWP调试中使用,但它们不适用于发行版。

当我在发行版侧面加载中使用它们时,自定义字体所在的页面完全空白。 当我注释掉xaml中的字体系列时,页面看起来很好……但是,当然没有自定义字体。

我还检查了在windows /字体文件夹,字体在我安装的应用程序的笔记本电脑。

对此有一个新问题:#12404

此页面是否有帮助?
0 / 5 - 0 等级