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/

2019-9-2-win10-uwp-打包第三方字体到应用的更多相关文章

  1. win10 uwp 打包第三方字体到应用

    有时候我们会把一些特殊字体打包到软件,因为如果找不到我们的字体会变为默认,现在很多字体图标我们用得好,有时候我们的应用会用很漂亮的字体,需要我们自己打包,因为用户一般是没有字体. UWP使用第三方字体 ...

  2. win10 uwp 如何打包Nuget给其他人

    原文:win10 uwp 如何打包Nuget给其他人 本文告诉大家,如果自己有做一些好用的库,如何使用 Nuget 打包之后上传,分享给大家. 首先需要知道一些 Nuget 打包需要知道的,请看 wi ...

  3. Win10 UWP版《芒果TV》v2.4.0直播超女,芒果台综艺一网打尽

    Win10 UWP版<芒果TV>直播超女,芒果台综艺一网打尽 Win10版UWP<芒果TV>自2015年9月登录商店以来,一直在持续更新,积极改进,拥有芒果台视频的独家点播和直 ...

  4. win10 uwp 发布旁加载自动更新

    在很多企业使用的程序都是不能通过微软商店发布,原因很多,其中我之前的团队开发了很久的应用,结果发现没有用户能从微软应用商店下载所以我对应用商店没有好感.但是作为一个微软粉丝,怎么能不支持 UWP 开发 ...

  5. Win10 UWP开发系列:使用VS2015 Update2+ionic开发第一个Cordova App

    安装VS2015 Update2的过程是非常曲折的.还好经过不懈的努力,终于折腾成功了. 如果开发Cordova项目的话,推荐大家用一下ionic这个框架,效果还不错.对于Cordova.PhoneG ...

  6. Win10 UWP开发系列:实现Master/Detail布局

    在开发XX新闻的过程中,UI部分使用了Master/Detail(大纲/细节)布局样式.Win10系统中的邮件App就是这种样式,左侧一个列表,右侧是详情页面.关于这种 样式的说明可参看MSDN文档: ...

  7. Win10 UWP开发实现Bing翻译

    微软在WP上的发展从原来的Win7到Win8,Win8.1,到现在的Win10 UWP,什么是UWP,UWP即Windows 10 中的Universal Windows Platform简称.即Wi ...

  8. Objective-C Runtime使用之全局字体替换为第三方字体(iOS)

    前言: iOS开发里头,常用的设置字体方式是使用UIFont的systemFontOfSize这个Class Method,在一半情况下都算够用. 最近有设计师朋友问能不能在客户端中使用特定的字体,答 ...

  9. Win10/UWP开发—使用Cortana语音与App后台Service交互

    上篇文章中我们介绍了使用Cortana调用前台App,不熟悉的移步到:Win10/UWP开发—使用Cortana语音指令与App的前台交互,这篇我们讲讲如何使用Cortana调用App的后台任务,相比 ...

随机推荐

  1. JasperReport报表参数9

    填充一个报表的主要输入是:报表模板,参数和数据源.本章将介绍这些参数,并在接下来的章节中,我们将介绍数据源. 参数是在报表填充操作传递给报表引擎的对象引用.参数传递有用的数据到报表引擎,它可以不通过数 ...

  2. java普通for循环和for-each迭代循环的区别

    PO实体类User: package aA; public class User { private String name; private int many; private int id; pu ...

  3. Latex报错: Could not start the command: xelatex.exe -synctex=1 -interaction=nonstopmode?

    Latex报错: Could not start the command: xelatex.exe -synctex=1 -interaction=nonstopmode 网上还有很多说出Could ...

  4. JAVA面试常见问题之设计模式篇

    1.常见的设计模式 单例模式.工厂模式.建造模式.观察者模式.适配器模式.代理模式.装饰模式. 参考:https://www.cnblogs.com/cr330326/p/5627658.html 2 ...

  5. 单元测试神器Mockito

    Mockit是一种mock工具/框架.mock可以模拟各种各样的对象,从而代替真正的对象做出希望的响应 1.工程中引入Mockito #以gradle的方式为例 testCompile("o ...

  6. For循环和闭包问题

    考虑一下以下的代码片段: for (var i = 0; i < 5; i++) { var btn = document.createElement('button'); btn.append ...

  7. 全球最牛的100家AI创企:有多少独角兽?

    全球最牛的100家AI创企:有多少独角兽? 自2012年以来,在共计263笔交易中筹集了38亿美元.那么,这100家顶尖AI公司主要集中在哪些方向?其中有多少家独角兽公司?中国企业表现如何呢? 近期, ...

  8. jquery 获取图片宽高为0的问题

    原理:页面加载完了,图片不一定加载完了. $(function(){ $("img").on("load",function(){ //核心 var w = $ ...

  9. db link的查看创建与删除 1

    1.查看dblink select owner,object_name from dba_objects where object_type='DATABASE LINK'; 或者 select * ...

  10. System V启动脚本启动的服务

    /etc/rc.d/init.d/目录下的内容如下:这些常用的服务器都是System v的服务,要控制System V 的服务,我们可以使用以下命令 #/etc/rc.d/init.d/script  ...