前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >win10 uwp 打包第三方字体到应用 UWP使用第三方字体

win10 uwp 打包第三方字体到应用 UWP使用第三方字体

作者头像
林德熙
发布2018-09-18 17:24:04
1.4K0
发布2018-09-18 17:24:04
举报
文章被收录于专栏:林德熙的博客林德熙的博客

有时候我们会把一些特殊字体打包到软件,因为如果找不到我们的字体会变为默认,现在很多字体图标我们用得好,有时候我们的应用会用很漂亮的字体,需要我们自己打包,因为用户一般是没有字体。 本文告诉大家如何在 UWP 内置字体,把字体打包到应用

UWP使用第三方字体

首先我们需要字体,这个字体下载,网上很多。http://font.chinaz.com/我在这网站下载,如果有人知道他的网站字体不是完全授权,请和我说,我就删除我的应用字体。

在网上下东西很要注意版权,有很多是我们不能直接拿来用。

我们简单在界面写一个 TextBlock

代码语言:javascript
复制
        <TextBlock Margin="10,100,10,10"
                       Text="Lov ms"></TextBlock>

然后我们能运行看到一个字“Lov ms”因为我对微软的love没有了最后

这里写图片描述
这里写图片描述

为什么在Margin写10,100,10,10因为上面有黑色会挡住。

这里写图片描述
这里写图片描述

第一步,我们去掉黑色左上角的调试,删除App.xaml.cs 下面的代码

代码语言:javascript
复制
# if DEBUG
            if (System.Diagnostics.Debugger.IsAttached)
            {
                this.DebugSettings.EnableFrameRateCounter = true;
            }
# endif

第二步, 大家可以看到我们的应用没有特殊字体,这时我们写一个我们系统不存在的字体And Love St.ttf ,如何设置字体,请看代码

代码语言:javascript
复制
        <TextBlock Margin="10,100,10,10"
                   FontFamily="And Love St.ttf"
                   Text="Lov ms"></TextBlock>

于是运行程序可以看到如下图

这里写图片描述
这里写图片描述

几乎看不到有变化

我们添加一个文件夹,用于存放字体

这里写图片描述
这里写图片描述

我把它叫 Font

把我们的字体放入。建议直接拖进去,uwp 导入字体是把字体放到解决方案的文件夹

这里写图片描述
这里写图片描述

在我们的字体类型写我们放进去字体,代码就是 路径#字体名称

假如我们的路径是Font/And Love St.ttf 名称And Love st,那么需要写的代码如下

注意路径是相对路径,和 页面放的位置有关。

代码语言:javascript
复制
        <TextBlock Margin="10,100,10,10"
                   FontFamily="Font/And Love St.ttf#And Love st"
                   Text="Lov ms" ></TextBlock> 

写完之后,运行一下程序,可以看到好看的字体

这里写图片描述
这里写图片描述

参见:http://www.cnblogs.com/mycing/p/5658355.html

除了上面的方法,因为需要设置路径,比较难用,于是我提供一个方法,让大家可以简单使用字体。这个方法是把字体作为资源,这样比较容易写,请看代码

代码语言:javascript
复制
    <Page.Resources>
        <FontFamily x:Key="Font" >Font/And Love St.ttf#And Love st</FontFamily>
    </Page.Resources>

这样就可以在很多地方都使用,使用方法请看代码

代码语言:javascript
复制
        <TextBlock Margin="10,100,10,10"
                   FontFamily="{StaticReources Font}"
                   Text="Lov ms" ></TextBlock>

如果在后台代码需要使用设置字体,那么请使用下面的代码

代码语言:javascript
复制
 textBlock.FontFamily = newFontFamily("/Assets/Swiftel.ttf#Swiftel Base DEMO");

路径和页面的方法一样,注意使用的是相对路径,和代码所在有关。如果已经写在资源,那么请看我的博客win10 uwp 后台获取资源

需要注意,UWP 不支持 OTF 字体。

参见:UWP开发百科之—内置字体 - 快乐 就在你的心 的博客

http://www.c-sharpcorner.com/article/custom-fonts-in-windows-10-uwp-app/


本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • UWP使用第三方字体
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档