第一次了解到@font-face是小伙伴给我展示的功能  感觉奇妙的不得了    @font-face 是CSS3中的一个模块  使用它你就可以将你自定义的web字体 去实现一些奇妙的想法

首先先介绍一款字体制作软件   fontforge   下载地址 http://fontforge.github.io/en-US/

下面演示下一个小的使用流程

首先打开软件  选择一个字体文件(这个文件是我windows本身的文件  也可以到字体网站上去下载其他样式的字体文件)

下面是打开之后的界面

这是字体文件的一部分  当你使用这个字体的时候   5在页面中就会变成下面的样子   我们利用这个字体重新生成一个自定义的字体

在刚才打开的字体页面  选择 file->new

就显示出一个完全空的没有对应规则的字体文件(此时的后缀名是.sfd)  下面我们来编写这个字体文件

在最开始的文件中选择一个对应项 比如1下面的值  右键复制  到new出来的文件中 我将粘贴到5下面  也就是我完成了一个 5到1的对应  在页面中我使用数字5的时候 使用这个自定义字体会展示成1     (我一共完成了 1- 5  2-4  3-3  4-2 5-1 )  也就是在页面中12345 会展示成54321

     

接下来 我对0的对应项进行了设置  双击new出来的file下面的空白项  弹出窗口 在这里你就可以设置你0 对应的字体了  我打开了另一个字体文件(也是我电脑里面的字体文件)

webdings.ttf

我将其中的一个非常炫酷的摩托车 粘贴到0的下面   (当然你也可以按照这个摩托车的比例 去自己画一些图案 )

下面将new出来的文件保存为ttf格式文件    在new出来的窗口选择file->Generate fonts

在弹出的窗口中 options的选项上面 选择 TrueType(Symbol)格式 就会生成ttf格式的文件了 我保存的文件名是fun.ttf (这里面如果你选择的了别的字体样式 通过更改后缀名 是不会生成有效的字体的文件的  保存的过程中出现提示 说字体中存在错误 也选择继续save )

这样就生成了自定义的字体了  有关fontforge的介绍完毕

使用方法:

   @font-face {
font-family: <YourWebFontName>; //是你自定义的字体的名字
src: <source> [<format>][,<source> [<format>]]*; //<source> 是字体文件的位置 [<format>]帮助浏览器识别字体文件的类型
[font-weight: <weight>]; //是否粗体
[font-style: <style>];// 字体样式
}

下面在我的页面中使用我自定义的字体(我是在chrome下测试的 因为浏览器对各种字体的支持度不同 为了兼容浏览器  还要通过字体转换工具把ttf文件转换成你需要的格式)

    <style type="text/css">
@font-face {
font-family: "test";
src:url('fonts/fun.ttf') format('truetype');
} #test {
font-family:'test';
}
</style>

这样在我页面中id为test的里面的文字就会应用我的自定义的字体

<p id="test">012345</p>

出现了那个炫酷的摩托车  12345也对应成了54321

1)摩托车应用

可以在logo出使用自定义字体来代替图片

2)12345 -> 54321

可以设计成一些页面展示值的混淆      上面的例子中你打开chrome的控制台 发现显示的值还是012345   也就是其他人还是能读取我的值  我想到一个最简单的方式就是 比如后台数据是1  在传给前端的时候给个2  而2 在页面中就变成了4  这样后台数据与前端数据的对应显示 就变成了 1 - 4 的关系  但是别人看见的仍然是2 - 4的对应关系 你也可以在后边对数据进行更加复杂的数据处理 来实现数据混淆的效果

参考http://www.w3cplus.com/content/css3-font-face

使用自定义字体 @font-face 小试的更多相关文章

  1. java 引入自定义字体font后出现的硬盘吃光的问题

    有个需求要用美术字体在图片上写字 用自定义的文字有两个方法: 1. Font dynamicFont = Font.createFont(Font.TRUETYPE_FONT, InputStream ...

  2. css3 自定义字体的使用方法

    @font-face是CSS3中的一个模块,他主要是把自己定义的Web字体嵌入到你的网页中,随着@font-face模块的出现,我们在Web的开发中使用字体不怕只能使用Web安全字体,你们当中或许有许 ...

  3. iOS - 使用自定义字体-苹方字体

    苹方提供了六个字重,font-family 定义如下:苹方-简 常规体font-family: PingFangSC-Regular, sans-serif;苹方-简 极细体font-family: ...

  4. CSS 自定义字体

    移动端如何兼容UI给的字体 [toc] 移动端的默认字体 IOS 默认中文字体是Heiti SC 默认英文字体是Helvetica 默认数字字体是HelveticaNeue Android 默认中文字 ...

  5. iOS自定义字体

    1.下载字体库,如:DINCond-Bold.otf 2.双击,在mac上安装 3.把下载的字体库拖入工程中: 4.配置info.plist文件 5.xib方式设置自定义字体:Font选Custom, ...

  6. css3之自定义字体

    使用@font-face自定义字体 我们在浏览国外的一些个人网站时,总是可以发现一些非常个性的字体,比如

  7. TextView的一些高级应用(自定义字体、显示多种颜色、添加阴影)

    1.    自定义字体可以使用setTypeface(Typeface)方法来设置文本框内文本的字体,而android的Typeface又使用TTF字体文件来设置字体所以,我们可以在程序中放入TTF字 ...

  8. Windows Phone:自定义字体在xaml和代码中使用

    最近,我的小应用<认字>更新了一个能发声的版本,朋友对Speech做读音没有兴趣,反而对其中使用的楷体文字表示了兴趣,也许Speech的文章比较多,这次我对这个自定义字体在xaml和代码中 ...

  9. css自定义字体

    @font-face { font-family: 华文隶书; src: url( ../font/STLITI.eot ); /* IE */ src: url( ../font/STLITI.tt ...

随机推荐

  1. sublime3+wamp配置php,(无需配环境变量)

    思来想去,最后还是决定给自己的手游加简单后端验证.好久没搞php了,最近搜了搜资料,发现现在php比几年前方便简单的多,有wampserver和sublime用.想想当年我还用记事本+phnow呢. ...

  2. 你还在问android横竖屏切换的生命周期?

    本文原创,转载请注明来自xiaoQLuhttp://www.cnblogs.com/xiaoQLu/p/3324503.html 开源帮助android获得了飞速的发展,开源也导致了数不清的碎片问题. ...

  3. Android:如何从堆栈中还原ProGuard混淆后的代码

    本文翻译自Android: How To Decode ProGuard's Obfuscated Code From Stack Trace 本篇文章是写给那些在他们的应用中使用ProGuard并且 ...

  4. 读书笔记_Effective_C++_条款四十六:需要类型转换时请为模板定义非成员函数

    这个条款可以看成是条款24的续集,我们先简单回顾一下条款24,它说了为什么类似于operator *这样的重载运算符要定义成非成员函数(是为了保证混合乘法2*SomeRational或者SomeRat ...

  5. Alwayson+Replication

    本文将介绍如何实现Alwayson + Replication ,通过AlwaysOn实现Publication database的高可用性,使Publication database在failove ...

  6. Lua中的weak表——weak table

    弱表(weak table)是一个很有意思的东西,像C++/Java等语言是没有的.弱表的定义是:A weak table is a table whose elements are weak ref ...

  7. Lua中的require

    lua中的require机制    为了方便代码管理,通常会把lua代码分成不同的模块,然后在通过require函数把它们加载进来.现在看看lua的require的处理流程.1.require机制相关 ...

  8. Axure RP介绍

    1.什么是原型设计?产品原型设计(Prototype Design)最基础的工作,就是结合批注.大量的说明以及流程图画框架图WireFrame,将自己的产品原型完整而准确的表述给 UI.UE.程序工程 ...

  9. LeetCode-95. Unique Binary Search Trees II

    Description: Given n, generate all structurally unique BST's (binary search trees) that store values ...

  10. 浅析LRU(K-V)缓存

    LRU(Least Recently Used)算法是缓存技术中的一种常见思想,顾名思义,最近最少使用,也就是说有两个维度来衡量,一个是时间(最近),一个频率(最少).如果需要按优先级来对缓存中的K- ...