在页面开发中设计经常会使用一些比较好看的特殊字体,引用完整的中文字体库都比较大,加载性能非常差,所以我们提取部分我们使用到的字体,这样可以把字体文件变成几KB。

fontmin 是一个纯 JavaScript 字体子集化方案,支持提取部分文字、转换字体格式、生成 webfont 和对应 css 样式。

fontmin 安装

官网:http://ecomfe.github.io/fontmin

Github:https://github.com/ecomfe/fontmin

# 安装
npm install --save fontmin

使用方法

项目根目录创建 trans-fongt.js 文件


const Fontmin = require('fontmin')exports.transFontfile = (inputFile, outputDir, extractText) => (new Promise((res, rej) => {const fontmin = new Fontmin().src(inputFile).use(Fontmin.glyph({text: extractText,hinting: false, // keep ttf hint info (fpgm, prep, cvt). default = true})).dest(outputDir)fontmin.run((err, files) => {if (err) {rej(err)} else {res(files)}})
}))

vue.config.js 中

const { transFontfile } = require('./trans-font') // 原生完整的字体文件存放路径
const inputFile = path.resolve(__dirname, 'src/assets/font-input/HuXiaoBo-NanShen.ttf')// 抽取需要文字之后的字体文件存放路径
const outputDir = path.resolve(__dirname, 'src/assets/font')// 需要用到的特殊字体文字 例:项目系统名称
const extractText = ${process.env.VUE_APP_BASE_TITLE}transFontfile(inputFile, outputDir, extractText)

在原字体文件同级目录下创建 font.css 文件,使用 @font-face 引入字体

@font-face {font-family: 'HuXiaoBo-NanShen'; /* 重命名字体名 */src: url('../font/HuXiaoBo-NanShen.ttf'); /* chrome, firefox, opera, Safari, Android, iOS 4.2+ */font-weight: normal;font-style: normal;
}

主入口文件( main.js/app.vue)中引用 font.css 文件

// main.js中引用import '@dm/assets/font-input/font.css'

使用

.title {margin-right: 106px;font-family: HuXiaoBo-NanShen, sans-serif;font-size: 24px;font-weight: normal;color: rgba(255, 255, 255, 90%);
}

.gitignore 忽略切割后的字体文件

/src/assets/font

使用fontmin 进行字体压缩相关推荐

  1. 导入外部字体且带字体压缩,以及判断h5,app,微信小游戏环境和字体的具体实现方式(egret为例)

    1.压缩字体方式 因为一般项目中不需要用到所有字体,所以需要将需要的字体在字体包提取出来重新打字体包 我选择的压缩字体方式是 :使用fontmin进行字体压缩 fontmin官网为: https:// ...

  2. 中文字体压缩器并且转换(推荐阅读)

    字蛛是一个中文字体压缩器 官方网站:http://font-spider.org/index.html 用于解决页面引入的css字体过大的问题 使用方法: npm i -g font-spider 在 ...

  3. 字蛛(FontSpider,中文字体压缩器)网页自由引入中文字体

    之前看过设计师面试一位 Web 前端工程师,其中有一段这样的对话: "如果设计师希望用图片实现某个字体样式,而从技术的角度来说这样不合理,但设计师非常坚持,这时候你怎么办?" &q ...

  4. 中文字体压缩器——字蛛

    网站多处使用中文特殊字体,而导入字体文件随便十几M,做成图片又不好维护,介绍一个简单实用的字体压缩工具. 中文字体压缩器--字蛛 css font-face 引入中文字体必备神器 字蛛通过分析本地 C ...

  5. 字体压缩 前端字体压缩

    最近在写官网时候开开心心的将需求开发完成验收完毕,就在上线的时候你发生了奇怪的事情. 上线后通过域名访问发现要很久页面才能展示出来,后来通过排查发现服务器带宽小的可怜,机智的我有通过Network 和 ...

  6. 前端字体压缩(免费简单易上手)

    场景:前端在开发过程中有时候要用到特殊字体,但如果引用网上下载好的字体,它们都是一个全的字体文件,这种字体文件里往往包含了大量你用不到的文字字符,从而导致你引入的字体文件大小高达1M以上,这会严重影响 ...

  7. hexo的yelee主题使用自定义字体并用字蛛进行字体压缩的sed脚本

    说真的,这个操作有点复杂,我也是花了一天时间才搞定,大部分时间都消耗在font-spider的调试上面了. 根目录路径: /home/appleyuchi/桌面/Github博客/整体测试/blog_ ...

  8. 字体压缩神器font-spider的使用

    前言: 很多时候项目会遇到需要引入外部字体,不管是vue,小程序,react等等,但是pc端项目还好,把源文件放我们本地是可以的,小程序就不行了,因为体量比较小,对大小有限制. font-spider ...

  9. 使用font-spider进行字体压缩

    字体太大的原因是中文汉字太多了,但是其中很大一部分生僻字我们是极少用到的,所以font-spider对字体进行压缩的原理,也只是将这部分极少用到的生僻字给剔除掉. 具体操作流程如下: 1.新建一个普通 ...

最新文章

  1. Exchange 2016集成ADRMS系列-12:域内outlook 2010客户端测试
  2. 技术图文:双指针在求解算法题中的应用
  3. python项目运行环境_python项目运行环境安装小结
  4. CRM Fiori Opportunity应用的新建Opportunity操作的实现
  5. loadrunner学习记录一
  6. python画tan_Python入门之三角函数tan()函数实例详解
  7. [原创]简单即是美:QQ2009英文版
  8. 国内第四大运营商中国广电成立:5G 192号段要来了!
  9. 使用webpack开发ES6程序的正确姿势
  10. iOS 入门——Hello World app
  11. java注解 python装饰器_python装饰器
  12. Firefox开发者版本终于支持Windows 64位
  13. 交换机虚拟化和堆叠的区别_交换机级联与堆叠有何区别
  14. QT5 qml的ListView控件使用
  15. 2020年最完整的ftp搭建教程-亲测可用
  16. 软件测试思想者(Software Testing - Thinker) - Logo一览
  17. chronodex怎么用_手账技巧| 时间饼Chronodex的用法经验、使用心得和灵感收集
  18. 【评测】Tecan品牌系列产品
  19. MindSpore联邦学习框架解决行业级难题
  20. CommDGI: Community detection oriented deep graph infomax 2020 CIKM

热门文章

  1. InDesign grep当前目录_InDesign 中的已修复问题
  2. 正则表达式中括号的意义
  3. php视频网毕业论文范文,毕业设计论文-基于PHP的精品课程网站的设计与实现.doc...
  4. 谷歌浏览器使用迅雷下载资源
  5. Linux系统出现故障应如何修复(rhel8.0)
  6. ffmpeg为mkv封装格式的音视频文件添加内挂字幕
  7. 我爱天文 - 天文软件知多少?
  8. 专业影像编辑软件Vegas pro17注册机下载安装
  9. 1049: 平方和与立方和 ZZULIOJ
  10. Python全栈开发,Day7 - 面向对象学习