【WP 8.1开发】如何把自定义字体塞进应用里

或许,系统自带的字体不足以体现应用程序的魅力,对于表现极强的汉字来说,更是如此。这时候,我们就会想,要是能把网上下载的艺术字体塞到应用包中,那岂不美哉?那么,这可以实现吗?答案是Yes的。

接下来,阿拉就给大家分别演示WP 8.1两个开发框架中如何嵌入自定义字体。

为啥是两大框架?我们知道从7x到8.0的开发框架是Silverlight for Windows Phone,为了便于兼容和直接项目升级,在8.1中,微软的开发团队依然保留了这个框架;另外一个框架是从Win RT应用移植的API集,这个不用我多说了,猜也猜到了,就是方便编写与Windows 平板应用通用应用而准备的。

当然,如果仅仅打算开发WP应用,那么两个框架都可以用,你看哪个顺眼就用哪个,无所谓,大同小异;如果你计划编写通用程序,那只能选择运行时API集,即从RT应用移植过来的子集。

但我告诉你,无论是哪个框架,都没什么本质区别,至少用起来是一样的,微软后来许多开发技术都是从WPF中来的,保存了很好的延续性,你只要学会WPF,其他的框架就可以不学自通了。

总之,记住我的一句话:技术和知识永远是死的,人永远是活的,不要把知识学死了

运行时API

先看看在运行时API下如何嵌入自定义字体。这个就灰常简单了。

1、打开万能的VS,新建一个项目,项目模板选择“空白应用程序(Windows Phone)”,凡是括号中指明“Windows Phone”的模板都是基于从RT移植的运行时API的。如图。

2、打开“解决方案资源管理器”窗口(不要问我在哪里),用鼠标右键拼命点击项目名称节点,从弹出的菜单中选择“添加”-“现有项”,选择一个字体文件,字体可以网上下,多得是。

3、打开MainPage.xaml页,声明一个TextBlock元素,然后在XAML编辑器中选中这个TextBlock,接着打开属性窗口,找到FontFamily属性,点击下拉列表,你就会看到刚添加到项目的字体文件了。

注意看,添加到项目的自定义字体的右边会多了一个A符号。这样就会生成以下XAML:

<TextBlock FontFamily="禹卫书法行书简体.ttf#yuweij" ……

连URL都不用自己写了,从中我们看到引用字体文件的方法是“文件URL + # + 字体名称”。#后面就是字体的名字。
4、搞定,现在往TextBlock中放些文本。

        <TextBlock FontFamily="禹卫书法行书简体.ttf#yuweij" FontSize="50">
            《登黄鹤楼》<LineBreak/>
                    崔颢<LineBreak/>
            昔人已乘黄鹤去,<LineBreak/>
            此地空余黄鹤楼。<LineBreak/>
            黄鹤一去不复返,<LineBreak/>
            白云千载空悠悠。<LineBreak/>
            晴川历历汉阳树,<LineBreak/>
            芳草萋萋鹦鹉州。<LineBreak/>
            日暮乡关何处是,<LineBreak/>
            烟波江上使人愁。
        </TextBlock>

现在,可以运行一下了。看看应用页面,是不是发现,气质马上提升了九个档次?

Silverlight框架

SL框架也是可以嵌入字体的,和上面的差不多。

1、新建一个项目,项目模板为“空白应用程序(Windows Phone Silverlight)”,凡是用SL框架的项目模板,括号中都会注明“Windows Phone Silverlight”。

版本就选8.1吧。

2、打开“解决方案资源管理器”窗口,右击项目节点,从弹出的菜单中选择“添加”-“现有项”,把自定义字体文件添加进来。

3、打开MainPage主页,声明一个TextBlock元素,然后在XAML编辑器中选中它,并打开属性窗口。找到FontFamily属性,从下拉列表中选择刚刚添加的字体。

这时候,生成的XAML中同样向我们展示了其URL格式:

 <TextBlock FontFamily="/CustFontfamilyAppSL;component/禹卫书法行书简体.ttf#yuweij"/>

格式同样是“字体文件URL + # + 字体名字”。

4、现在,可以往TextBlock中放点文本,以体验一下。

        <TextBlock FontFamily="/CustFontfamilyAppSL;component/禹卫书法行书简体.ttf#yuweij" FontSize="50">
            《秋窗风雨夕》<LineBreak/>
            秋花惨淡秋草黄,<LineBreak/>
            耿耿秋灯秋夜长。<LineBreak/>
            已觉秋窗秋不尽,<LineBreak/>
            那堪风雨助凄凉。<LineBreak/>
            ……<LineBreak/>
            泪烛摇摇爇短檠,<LineBreak/>
            牵愁照恨动离情。<LineBreak/>
            谁家秋院无风入?<LineBreak/>
            何处秋窗无雨声。<LineBreak/>
            ……<LineBreak/>
            不知风雨几时休,<LineBreak/>
            已教泪洒窗纱湿。
        </TextBlock>

然后,我们可以运行了,看看结果吧。

估计此刻有人已经在骂我是骗子了,为什么运行后看不到自定义的字体啊?

莫急,莫急,镇定是一笔财富,千万别急。先结束调试项目,然后打开“解决方案资源管理器”,找到刚才添加到项目的字体文件,并且选中它,然后打开属性窗口,将“生成操作”改为Resource。

现在,你再运行一次看看。

看到了吧,我这么诚实的人,怎么会骗你呢?

【WP 8.1开发】如何把自定义字体塞进应用里

时间: 2024-10-01 03:13:17

【WP 8.1开发】如何把自定义字体塞进应用里的相关文章

移动视频开发让我们把会议室装进口袋里

移动视频开发让我们把会议室装进口袋里 在这个时代,手机被开发者们所赋予的意义已经远远超出了大众的期望,与上网.完成电子购物.读书.看杂志相比,似乎打电话.发信息这些原本最主要的部分却变成了辅助功能. 现在,手机在“智能”的前提下,已经越来越多的占据了人们的生活空间,因为,在Android.iOS等主流系统支持下的智能手机上,我们几乎已经无所不能,包括商务人士最常使用的高清视频会议,也因此而走上了街头. 随着智能手机屏幕越来越大,有人提出:这个尺寸是有极限的.然而不管开发商们是否认同这种观点,手机

iOS开发中自定义字体的方法

http://www.cnblogs.com/iyou/archive/2014/05/25/3751669.html 1. 首先下载你想要设置的字体库,例如设置方正启体简体 2. 添加到工程,一定要注意勾选红色框框处,默认是不勾选的  添加以后 3.在plist文件中添加 4.现在已经添加成功了,但是要使用就必须知道FontName,用以下代码可查到 NSArray *familyNames = [[NSArray alloc] initWithArray:[UIFont familyName

【WP 8.1开发】自定义(RAW)通知的使用

继续前面的话题,还是推送通知.上一篇文章中遗留了RAW通知的推送没有给各位演示,特特地留到现在,不为别的,只为这个RAW通知有点意思,玩起来会比较有意思.官方文档将RAW通知译为“原始通知”,这里还是沿用官方的翻译. 在开始吹牛之前,先说一说与推送通知相关的要点. 有人说,如果我有22222222个客户端,岂不是都要获取每个手机客户端的通道URL来推送吗?是的.于是有人想到了所谓的“极光推送”,忽悠人的,“极光”显然偷换了概念.我们得明确,在什么情况下才会考虑使用推送. 推送好比服务器与手机客户

Android 开发使用自定义字体

有时候,系统自带的字体并不能满足我们特殊的需求,这时候就需要引用其他的字体了,可以把下载的字体文件放在 assets 目录下. 自定义字体文件不能使用xml代码读取而应该使用java代码: public class MyActivity extends Activity { private TextView mText; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstance

css3 自定义字体的使用方法

@font-face是CSS3中的一个模块,他主要是把自己定义的Web字体嵌入到你的网页中,随着@font-face模块的出现,我们在Web的开发中使用字体不怕只能使用Web安全字体,你们当中或许有许多人会不自然的问,这样的东西IE能支持吗?当我告诉大家@font-face这个功能早在IE4就支持了你肯定会感到惊讶.我的Blog就使用了许多这样的自定义Web字体,比如说首页的Logo,Tags以及页面中的手写英文体,很多朋友问我如何使用,能让自己的页面也支持这样的自定义字体,一句话这些都是@fo

HTML中用自定义字体实现小图标icon(不是原作, 只是一个研究笔记)

最近在做一个项目时, 研究了一下新浪微博的前端, 看到首页中那个图标了吗, 以前看到这类效果的第一反应就是用一个gif之类的图标做出来!! 但在研究的过程, 发现了一个小技巧, 注意那个em标签中的文本是E, 但显示出来一个类似ICON的图标. 既然是HTML+CSS写出来的, 那么应该是由css控制显示出来的效果的. 其他的一些css基本没什么问题, 都理解了, 但只有这个 font-family, 强制设置成了 "wbficonregular", 一般操作系统里应该没这个命名的字体

01_MUI之Boilerplate中:HTML5示例,动态组件,自定义字体示例,自定义字体示例,图标字体示例

?? 1安装HBuilder5.0.0,安装后的界面截图如下: 2 按照https://www.muicss.com/docs/v1/css-js/boilerplate-html中的说明,创建上图的Boilerplate.html: 3 代码内容如下: <!-- 作者:[email protected] 时间:2015-08-02 描述:使用MUI,您可以先简单地直接将以下CSS和JS加入到您的HTML文档中: <link href="//cdn.muicss.com/mui-0.

【WP 8.1开发】手机客户端应用接收推送通知

上一篇文章中,已经完成了用于发送通知的服务器端,接下来我们就用这个服务端来测试一下. 在开始测试之前,我们要做一个接收通知的WP应用. 1.启动VS Express for Windows,新建项目,在项目模板中选择“空白应用程序(Windows Phone)”. 2.既然要接收通知,肯定少不了Toast.磁贴这几样常用的通知的,故我们得先准备一些图片. 在“解决方案资源管理器”中,双击打开清单文件,切换到“可见资产”选项卡,这个“资产”指的不你的银行卡存款有多少,而是你的应用中的一些如图片.音

【WP 8.1开发】How to 图像处理

在今天的吹牛节目开始之前,先交代一件事: 关于玩WP 8.1开发所使用的VS版本问题.对版本的要求是2013的Update2,这是最低要求,只要是这个版本或以上都可以,而update3,update4,update5是不是必须更新呢?不是的,VS的update是可选的,而且每个update都会累积,所以,update越多,安装包的体积越大.因此,WP开发我们只需update2就行了,我用的也是u2.如果你觉得MSDN原版不好下,可以从下面的地址下,我已经把相关的.iso上传到115.这里面是旗舰