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. python-web-webbrower-beautifuSoup

    webbrowser:是 Python 自带的,打开浏览器获取指定页面. requests:从因特网上下载文件和网页. Beautiful Soup:解析 HTML,即网页编写的格式. seleniu ...

  2. HBase 三维模型解析

    总结下一直想写hbase的实践经验,在用hbase的过程中,我们都知道,rowkey设计的好坏,是我们能最大发挥hbase的架构优势,也是我们是否正确理解hbase的一个关键点.闲话少说,进入正题. ...

  3. JavaBean基础学习总结

    学习目标: 掌握JavaBean的基本定义格式. 掌握Web目录的标准结构. 掌握JSP中对JavaBean支持的三个标签,即<jsp:useBean>,<jsp:setProper ...

  4. linux在线用户管理

    LINUX是个多用户系统,一旦连接到网络中,它可以同时为多个登录用户提供服务.系统管理员可以随时了解系统中有那些用户,用户都在进行什么操作. 1.查看该系统在线用户 系统管理员若想知道某一时刻用户的行 ...

  5. CF549G Happy Line

    传送门 解题思路 题意大概就是给你个数列,你可以随意交换i,i+1,交换后位于第i+1位的数字+1,位于第i位的数字-1,问最终能否形成一个不下降序列并输出.设初始数列中两个位置x,y最终交换后的位置 ...

  6. Vue.js系列之项目搭建(vue2.0 + vue-cli + webpack )

    1.安装node node.js环境(npm包管理器) cnpm npm的淘宝镜像 从node.js官网下载并安装node,安装过程很简单,一路“下一步”就可以了(傻瓜式安装).安装完成之后,打开命令 ...

  7. macbook双网卡路由

    用route命令可以解决,步骤如下:1)确定你内网的网段,如果有多个都一一列出来,例如:192.168.1.0/24,10.20.0.0/16等 2)确定你内网网卡的网关IP,通过netstat -r ...

  8. OpenLayers修改要素

    <!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content ...

  9. C#调用C++ DLL动态库的两种方式

    第一种方式:C++导出函数, c#dllimport 的方式 在很多地方都看到过,如[dllimport "user32.dll"]这种代码,调用windows API,就是通过这 ...

  10. 让footer始终待在页面底部

    1.把html和body的height属性设为100%;保证content的高度能撑满浏览器; 2.把#content的高度也设置为100% ,但是这里我们使用了“min-height”属性,而不是的 ...