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/

最新文章

  1. spring MVC mybatis dispacherServlet(源码解读)
  2. jquery css属性练习
  3. 【翻译四】java-并发之线程暂停
  4. IndexOf、LastIndexOf、Substring的用法
  5. 颜色追踪块CamShift---33
  6. 关于P2P架构的网络游戏
  7. jquery下拉列表选中项改变时获取新选项的属性值
  8. VIM打开文件与保存文件
  9. ping网络故障
  10. selenium 学习笔记 ---新手学习记录(2) 问题总结
  11. SSH框架的多表查询和增删查改 (方法一)上
  12. JavaBean初识
  13. window下的计划任务
  14. delphi 导出到excel的7种方法
  15. Python机器学习笔记:深入学习Keras中Sequential模型及方法
  16. tomcat server.xml maxPostSize=0 导致 果post表单收不到参数解决方案
  17. php 统计一维数组中重复的元素个数
  18. 2016.6.17——Valid Parentheses
  19. vue源码cached高阶函数解析
  20. hdu 1372Knight Moves

热门文章

  1. 关于maven 把插件依赖一起打包进jar问题
  2. Pywinauto自动化操作PC微信提取好友微信号
  3. 扫描线矩形周长的并 POJ1177
  4. LeetCode412Fizz Buzz
  5. Visual Studio 2013打开Orchard1.8.1版本源码,出现无法打开解决方法
  6. WPF学习笔记-用Expression Blend制作自定义按钮
  7. navicat修改mysql用户密码,前提是能登陆
  8. 提升mysql服务器性能(HA MMM MHA MaxScale)
  9. Vue.之.项目开发工具选用
  10. 考试总结 模拟27(W)