首页 > 其他分享 >特殊字体的优化

特殊字体的优化

时间:2023-07-20 14:11:19浏览次数:42  
标签:Fontmin 特殊 Bold 字体 font 优化 woff2 加载

背景

在开发一个数据大屏项目中使用了阿里巴巴的普惠字体,其中最小的一个特殊字体的大小都超过 2M(ε=(´ο `*)体积真是大啊)。这么大的体积导致项目发布到线上后单单特殊字体的体积就占总体积的 50%以上,导致首次进入数据大屏首页速度特别慢(平均超过 6s 以上)。
图片

 

解决方案

 

1、字体格式选择

选择适合您需求的字体格式。常见的字体格式包括 TrueType(TTF)、OpenType(OTF)和 Web 字(WOFF、WOFF2)。不同格式的体在文件大小、览器兼容性和功能方面可能有所不同。

 

@font-face {
  font-family: Alibaba-PuHuiTi-Bold;
  src: url('./origin/Alibaba-PuHuiTi-Bold.woff2') format('woff2'), url('./origin/Alibaba-PuHuiTi-Bold.woff')
      format('woff'),
    url('./origin/Alibaba-PuHuiTi-Bold.ttf') format('truetype');
  font-weight: normal;
  font-style: normal;
  font-display: swap;
}

 

2、压缩特殊字体

对于那些体积过大的字体,比如 ttf 可以转换成 eot、woff、woff2 等体积更小的字体类型,以提高加载速度。

 

var Fontmin = require('fontmin')

var fontmin = new Fontmin().use(
  Fontmin.ttf2woff({
    deflate: true, // deflate woff. default = false
  })
)

 

3、子集化字体

如果您只需要使用字体中的部分字符,可以使用子集化工具将字体文件中仅包含需字符的子集提取出来。这可以减小字体文件的大小,并提高加载速度。

 

var Fontmin = require('fontmin')

var fontmin = new Fontmin().use(
  Fontmin.glyph({
    text: '天地玄黄 宇宙洪荒',
    hinting: false, // keep ttf hint info (fpgm, prep, cvt). default = true
  })
)

 

4、字体预加载

对于网页应用程序,可以使用 CSS 的@font-face 则中的 preload 属性来预加载字体文件。这可以确保字体在需要时能够立即加载,避免页面内容闪烁延迟加载的问题。

 

@font-face {
  font-family: 'MyCustomFont';
  src: url('myfont.woff2') format('woff2');
  preload: auto;
}

 

5、字体缓存

利用浏览的缓存机制,让字体文件在首次加载被缓存起来,以便在后续访中能够更快地加载。

标签:Fontmin,特殊,Bold,字体,font,优化,woff2,加载
From: https://www.cnblogs.com/ziyoublog/p/17568285.html

相关文章

  • 高频面试题 - 数据库优化方案
    一.考题再现最近很多小伙伴在跳槽面试,遇到了各种奇奇怪怪的问题。比如健哥的一个学生,在面试时被面试官问到如下问题:“我们做web开发都离不开http协议,那你了解http协议吗?”这时大家一般都是回答了解。然后面试官会接着对这个问题展开三连击,“Http协议是长连接还是短连接?......
  • EasyCVR告警类型设置后首页需要刷新才能更新的问题优化
    EasyCVR视频融合平台基于云边端一体化架构,可支持多协议、多类型设备接入,包括:NVR、IPC、视频编码器、无人机、车载设备、智能手持终端、移动执法仪等。平台具有强大的数据接入、处理及分发能力,可在复杂的网络环境中,将分散的各类视频资源进行统一汇聚、整合、集中管理。关于平台的......
  • 优化基础4——分支定界法与粒子群算法
    1.分支定界算法王源大佬在这里讲的很清楚,看这个整数规划里面的内容就可以看懂【整数规划(三)】分支定界法及其代码实现-知乎(zhihu.com)主要在于如何分支、如何根据每个节点的上下界确定全局上下界、如何剪枝2.粒子群混合粒子群算法(PSO):C++实现TSP问题-知乎(zhihu.com......
  • Linux的特殊文件
    /dev/null/dev/null代表linux的空设备文件,所有往这个文件里面写入的内容都会丢失,俗称"黑洞"。比较常见的用法是吧不需要的输出重定向到这个文件。pingwww.baiud.com>/dev/null&/dev/zero"零"设备,可以无限的提供空字符(0x00,ASCII代码NUL)。常用来生成一个特定大小的文件......
  • JVM系统优化实践(20):GC生产环境案例(三)
    您好,这里是「码农镖局」51CTO博客,欢迎您来,欢迎您再来~某新手开发工程师接到了一个保存Elasticsearch日志的任务,以供后续分析之用。但写代码的时候,误将保存日志的代码段弄成了无限循环,程序启动后,没用多久就崩溃了。另一名工程师在动态创建类时,没有实现动态代理机制,也就没有缓存动态生......
  • 特殊案例分享
    描述   配置 natstaticoutbound10.4.207.11172.19.11.2descriptionDX_GJinterfaceGigabitEthernet0/5portlink-moderouteipaddress172.19.11.2255.255.255.252natoutbound2010nathairpinenablenatstaticenableiproute-static192.168.69......
  • 前端优化之高并发处理
    大部分的高并发处理基本都是在后端处理,但是在部分特殊情况下,后端无法阻止用户行为,需要前端做配合。例如在抢购、秒杀等场景。高并发是什么?对此,我们首先需要简单的去了解一下,高并发是什么?高并发是指在极短单位时间内,有很多用户同时的访问同一API接口或者Url地址,造成极多个请......
  • SQL优化汇总
    前言 SQL优化经验的考察。一提到数据库,先“说一说你对SQL优化的见解吧?”。SQL优化已经成为衡量程序猿优秀与否的硬性指标,有朋友疑问到,SQL优化真的有这么重要么?如下图所示,SQL优化在提升系统性能中是:(成本最低&&优化效果最明显)的途径。优化成本:硬件>系统配置......
  • dfs优化剪枝
    题目链接:D-PeacefulTeams(atcoder.jp)先看数据范围,肯定是搜索相关首先想到从第1个人,第0个队开始的搜索顺序,因为这属于内部顺序,所以每次搜索要回溯状态,注意要进行大量剪枝#include<bits/stdc++.h>usingnamespacestd;usingull=unsignedlonglong;usingll=lon......
  • macOS 常用字体下载安装
    简介在使用Mac版本Office编辑文档时,经常会出现在Mac上的保存的文档放在Windows打开会出现字体扭曲、不整齐等现象。在MacOffice中的仿宋字体也会在WindowsOffice中显示为FangSong等现象。若安装过同名的字体,请删除并清空缓存后再行安装。安装首先下载好所需的字体在mac使......