2019-9-2-win10-uwp-打包第三方字体到应用
title | author | date | CreateTime | categories |
---|---|---|---|---|
win10 uwp 打包第三方字体到应用
|
lindexi
|
2019-09-02 12:57:38 +0800
|
2018-2-13 17:23:3 +0800
|
Win10 UWP
|
有时候我们会把一些特殊字体打包到软件,因为如果找不到我们的字体会变为默认,现在很多字体图标我们用得好,有时候我们的应用会用很漂亮的字体,需要我们自己打包,因为用户一般是没有字体。
本文告诉大家如何在 UWP 内置字体,把字体打包到应用
UWP使用第三方字体
首先我们需要字体,这个字体下载,网上很多。http://font.chinaz.com/我在这网站下载,如果有人知道他的网站字体不是完全授权,请和我说,我就删除我的应用字体。
在网上下东西很要注意版权,有很多是我们不能直接拿来用。
我们简单在界面写一个 TextBlock
<TextBlock Margin="10,100,10,10"
Text="Lov ms"></TextBlock>
然后我们能运行看到一个字“Lov ms"因为我对微软的love没有了最后
为什么在Margin写10,100,10,10
因为上面有黑色会挡住。
第一步,我们去掉黑色左上角的调试,删除App.xaml.cs 下面的代码
# if DEBUG
if (System.Diagnostics.Debugger.IsAttached)
{
this.DebugSettings.EnableFrameRateCounter = true;
}
# endif
第二步,
大家可以看到我们的应用没有特殊字体,这时我们写一个我们系统不存在的字体And Love St.ttf
,如何设置字体,请看代码
<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
,那么需要写的代码如下
注意路径是相对路径,和 页面放的位置有关。
<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
除了上面的方法,因为需要设置路径,比较难用,于是我提供一个方法,让大家可以简单使用字体。这个方法是把字体作为资源,这样比较容易写,请看代码
<Page.Resources>
<FontFamily x:Key="Font" >Font/And Love St.ttf#And Love st</FontFamily>
</Page.Resources>
这样就可以在很多地方都使用,使用方法请看代码
<TextBlock Margin="10,100,10,10"
FontFamily="{StaticReources Font}"
Text="Lov ms" ></TextBlock>
如果在后台代码需要使用设置字体,那么请使用下面的代码
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/
最新文章
- spring MVC mybatis dispacherServlet(源码解读)
- jquery css属性练习
- 【翻译四】java-并发之线程暂停
- IndexOf、LastIndexOf、Substring的用法
- 颜色追踪块CamShift---33
- 关于P2P架构的网络游戏
- jquery下拉列表选中项改变时获取新选项的属性值
- VIM打开文件与保存文件
- ping网络故障
- selenium 学习笔记 ---新手学习记录(2) 问题总结
- SSH框架的多表查询和增删查改 (方法一)上
- JavaBean初识
- window下的计划任务
- delphi 导出到excel的7种方法
- Python机器学习笔记:深入学习Keras中Sequential模型及方法
- tomcat server.xml maxPostSize=0 导致 果post表单收不到参数解决方案
- php 统计一维数组中重复的元素个数
- 2016.6.17——Valid Parentheses
- vue源码cached高阶函数解析
- hdu 1372Knight Moves