首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何从ttf / woff文件中仅导出一个字符,以避免加载不必要的文件大小?

从ttf / woff文件中仅导出一个字符,以避免加载不必要的文件大小,可以通过以下步骤实现:

  1. 字符提取:使用字体编辑工具(如FontForge)打开ttf / woff文件,选择要导出的字符,然后导出为新的ttf / woff文件。
  2. 字体子集化:使用字体子集化工具(如pyftsubset)将新的ttf / woff文件进一步优化,只保留所需字符的字形数据,删除其他字符的字形数据。这样可以大大减小文件大小。
  3. 字体压缩:对新的ttf / woff文件进行压缩,以进一步减小文件大小。可以使用压缩工具(如Zopfli)对文件进行无损压缩,或者使用压缩算法(如Brotli)对文件进行有损压缩。

通过以上步骤,可以从ttf / woff文件中仅导出一个字符,并且减小文件大小,从而提高加载速度和性能。

推荐的腾讯云相关产品:腾讯云字体库(Tencent Cloud Font Library)

腾讯云字体库是腾讯云提供的一项云计算服务,用于存储和管理字体文件。用户可以将自定义字体文件上传到腾讯云字体库,并通过API调用实现字体文件的动态加载和使用。腾讯云字体库支持字体子集化功能,可以根据需求提取和压缩字体文件,以减小文件大小和提高加载速度。

产品介绍链接地址:https://cloud.tencent.com/product/tcf

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

Web 中文字体性能优化实践

在字体定义,轮廓是由一个个位置点构成,并且每个位置点具有编号,这些编号0开始按升序排列。因此我们读取指定字形就是读取 Glyph Headers 各项值以及轮廓位置点坐标。...如果用上面的方法,每一个截取后字体 base64 字符串形式存在,则可以在服务端做一个缓存,就没有这个问题。...减小字体文件体积优势 下面附上字体截取后文件大小加载速度对比表格。可以看出,相较于全量加载,对字体进行截取后加载速度快了145 倍。...fontmin 是支持生成 woff2 文件,但是官方文档并没有更新,最开始我使用 woff 文件,但是 woff2 格式文件体积更小并且浏览器支持不错 字体名称 大小 时间 HanyiSentyWoodcut.ttf...在浏览器字体显示行为存在阻塞期和交换期两个概念, Chrome 为例,在字体加载完成前,会有一段时间显示空白,这段时间被称为阻塞期。

1.9K10

(转载非原创)前端网页字体优化指南

日常开发网页经常会使用一些特殊字体,比如思源黑体、苹方字体等,因为这些字体在一般宿主环境是不存在,需要通过 css @font-face 定义,并从服务器中加载对应字体文件,而字体文件一般都是比较大...可是很多时候美术同学只提供其他格式字体文件给我们,比如 TTF 或 OTF,那如何将其转换成 woff2 呢?...OTF 转 WOFF2 除了 TTF ,美术同学还经常提供 OTF 给我们,这是微软和 Adobe 共同研发字体,因此在 windows 平台还是比较流行。那如何将其转换成 WOFF2 呢?.../myfont.woff2') format('woff2'); } body { font-family: myfont; } 假如这个 myfont.woff2 文件大小为 4M,而网络下载速度只有...下面来看一下如何使用: 在 css 通过 @font-face 定义一个字体: @font-face { font-family: 'myfont'; src: url('.

1.2K00

让你网站用上炫酷中文字体

由于字符集小,字体文件也可以做非常小;中文字体就完全不同,单单 GB2313 编码中文字符(含符号)就达到 7445 个,字符数量是 ASCII 码表 58 倍,而字体设计师需要为每一个中文字符设计字体...,简单计算下,中文字体文件大小也几乎达到英文字体文件数十倍。...02 解决思路 解决思路其实也很简单,只在字库中保留页面中出现文字,将其他大量不用文字删掉,生成一个只包含特定字符小字体文件,便可以大大减少字体文件,从而提高访问速度。...主要思路是采集线上网页使用到字体,字体文件中分离出来,完成大幅度压缩。另一个是腾讯大佬改版后 font-soider,叫 font-spider-plus[2]。它们工作原理如下: ?...base64 编码 灵机一动,想到了 base64,编码之后可以不用拷贝这些字体文件,还能减少网站字体加载体积,真是一箭双雕啊!具体步骤我就不解释了,直接把所有步骤放到脚本: #!

2.5K20

前端字体截取技术,做炫酷网站再也不用怕中文字体数据量大啦!【实战】

可是中文字体非常庞大,很多时候“全量”加载某个字体文件是不现实。特别是对于一些动态页面且每个页面只有少量字符用到该字体情况下。...当然,也不是每个页面都会用到一个字体文件所有字符,全量加载本身也极其浪费。...它类似于一种快捷方式,而不能真正减少浏览器需要下载字体文件大小。...假设不删除上述码点,而直接在标点左侧输入一个自定义字体并不包含字符,Chrome会强制把这个字符显示成自定义字体。看来浏览器实现还是有不一致地方。...无论如何,我们可以再定义一个只包含逗号和句号两个字符自定义字体来解决这个问题: @font-face { font-family: punc; src: local(PingFang SC);

2.5K20

Bootstrap里文件分别代表什么意思及其引用方法

关于Bootstrap打包文件分别代表什么意思,官网也没有给出一个明确解释,本吊在网上查了一些资料,总价归纳了如下: bootstrap/     ├── css/    <!...,所以文件大小会比bootstrap.css小,可以在部署网站时候引用,如果引用了这个文件,就没必要引用bootstrap.css了,下面的文件同样。...、bootstrap.min.js这两个文件放入HTML网页最底部,这么做是为了防止网页未加载完毕而这两个文件加载可能产生不必要问题。...WOFF – Web Open Font Format (.woff) WOFF(Web开发字体格式)是一种专门为了Web而设计字体格式标准,实际上是对于TrueType/OpenType等字体格式封装...SVG字体就是使用SVG技术来呈现字体,还有一种gzip压缩格式SVG字体。使用方法:使用CSS3@font-face属性可以实现在网页嵌入任意字体。

1.7K00

TTF、TOF、WOFFWOFF2 相关概念

前言 在上一篇文章,我引入了 TTF 格式字体文件来解决各平台字体表现不统一问题。...OTF 主要优点有: 增强跨平台功能; 更好支持Unicode标准定义国际字符集; 支持高级印刷控制能力; 生成文件尺寸更小; 支持在字符集中加入数字签名,保证文件集成功能。...这个字体格式使用zlib压缩,文件大小一般比 TTF 小 40%。...总结 通过上面的概念,可以看出: TTF 兼容性更好,但是其字体文件体积最大。 WOFF 字体比 TTF 字体有更小体积和更好表现性。 WOFF 2 字体是对 WOFF 字体升级。...所以,如果不考虑兼容性的话,字体使用首推 WOFF 2 ,这也是我在文章开头说使用 TTF 并非最优解决方案原因,大家可以根据自己实际情况,酌情选择合适字体文件达到性能优化目的。

1.5K30

CSS使用字体新姿势 unicode-range用法与使用场景

我试着加载一个8M左右字体文件,测试下来需要50多秒差不多1分钟才能加载完成。...可以看到使用WOFF2字体文件WOFF字体自带压缩功能,所以会比通常TTF字体文件更小,WOFF2则在WOFF基础上更进一步压缩,所以实际体积应该会更小。...还有就是在这个样式文件,多次使用@font-face规则定义同一个字体ZCOOL KuaiLe,但是每一个使用src资源都不一样,我想到就是分片,把一个字体文件拆分成多个细小文件,然后利用游览器并行下载来提升加载速度...两个字体文件中都有鹿这个字符,但是这里鹿字显示是第二个规则字体,所以如果多个@font-face规则中有重复字符最后为准 最后我个人猜测: 谷歌字体访问这么快原因是把字体按照字符类型拆分开来...,比如英文拆分为一个字体文件块,标点符号啥拆分为一个块,然后只有当网页有命中条件以后才会加载相应字体块,一些特殊字符拆分为一个块,这时比如一些特殊字符一般网页很少用,既可保证特殊字符正常加载

2.2K10

想要字体图标设计师却给了SVG?没关系,自己转

本文为Varlet组件库源码主题阅读系列第三篇,读完本篇,你可以了解到如何将svg图标转换成字体图标文件,以及如何设计一个简洁Vue图标组件。...文件都会转换成上面的一个glyph元素,所以上面这段svg定义了一个名为geniconsfont字体,包含两个字符图形,我们可以通过glyph上定义Unicode码来使用该字形,详细了解svg字体请阅读...;在css,格式为\hhhh,反斜杠开头;在js,格式为\uhhhh,\u开头。...,遍历所有svg文件文件取出图标名称和图标代码。...这个约定是svgicons2svgfont规定: 如果我们不自定义图标的Unicode,那么会默认E001开始,在Unicode,E000-F8FF区间没有定义字符,用于给我们自行使用private-use-area

1K10

webpack处理ttf字体文件报错方法

webpack处理ttf字体文件报错方法 我们在使用webpack打包时候经常因为引入ttf字体报错而烦恼,这里解决ttf字体报错方法需要加入一个url-loader,没有的话需要npm先安装下:...(ttf|eot|svg|woff|woff2)$/, use: 'url-loader' }, // 处理 字体文件 loader 完整webpack.config.js如下: // 由于 webpack...,同时自动把打包好bundle注入到页面底部 // 如果要配置插件,需要在导出对象,挂载一个 plugins 节点 var htmlWebpackPlugin = require('html-webpack-plugin...') // 当命令行形式运行 webpack 或 webpack-dev-server 时候,工具会发现,我们并没有提供 要打包 文件 入口 和 出口文件,此时,他会检查项目根目录配置文件...(ttf|eot|svg|woff|woff2)$/, use: 'url-loader' }, // 处理 字体文件 loader { test: /\.js$/, use: 'babel-loader

4.1K20

Web使用HarmonyOS字体压缩方案

网页加载速度影响 如果需要全站使用同一种字体,那么我们或许需要同时加载 Regular、Medium、Bold 等不同字重字体文件,这里给一个参考: HarmonyOS_Sans_SC_Regular.ttf...文件大小高达 8068KB,注意,这仅仅是 Regular。...所以,如果不对字体文件进行压缩,将其作为 Web 字体是不合理,这将极大拉缓网页加载速度,严重影响用户体验。 字体压缩 FontTools What is this?...如何压缩 借助以上工具,我们可以将 unicode 分为多个片段来对字体文件进行压缩: 字符集 字数 Unicode 编码 拉丁字母 -- 0000-007F,0080-00FF等 基本汉字 20902...字 4E00-9FA5 中文字符 -- 3002,FF1F等 我们只需要对这两万多个基本汉字进行分段即可,至于数字、拉丁字母等,其实并不会过多影响字体文件大小

1.1K30

移动端引入字体文件过大处理方法

一.背景 前端开发同学,我们经常会碰到需要还原设计稿特殊字体.这时,我们可能会采用两种方案 1.使用photoshop将文本图层单独导出成图片;  2.直接引入改字体字体库.ttf文件   首先第一种方案缺点...第二种方案,解决了上述一些问题,但是由于汉字数量太大,导致中文字体文件也较大,通常都会有几M大小,不适合在项目中使用.尤其是移动端项目,由于字体加载速度很慢,体验会十分不好.本篇博客将介绍两种自动化工具...三.Font-Spider(字蛛) 字蛛通过分析本地 CSS 与 HTML 文件获取 WebFont 没有使用字符,并将这些字符数据字体删除以实现压缩,同时生成跨浏览器使用格式。...WebFont没有使用过字符,这样一来,对于动态生成文字,就没有办法使用font-slider了.这是个坏消息!...使用fontmin可以按需提取字体部分字型,最小化打包字体,自动生成 WebFont 字体文件ttf/woff/eot/svg)和 CSS 文件, 并可利用 @font-face 将自定义字体呈现到网页

7.4K220

2020前端性能优化清单(二)

Sketch 内置支持 WebP,而 Photoshop 可以使用WebP 插件[15] Photoshop 导出 WebP 图像。...另外,您还可以使用多背景图像技术[55]来提高图像感知性能。请记住,调整对比度[56]和模糊不必要细节(或消除颜色)也可以减小文件大小。嗯,如果您需要放大一张小照片而不损失画质吗?...例如,您可以使图像不必要部分模糊(通过应用高斯模糊滤镜)减小文件大小,最终您甚至可以删除颜色或将图片变成黑白进一步减小大小。...对于背景图像,在 Photoshop 0 到 10%质量导出图片也是绝对可以接受。...否则,字体加载将在第一次渲染时就耗费您时间。 有选择性地[88]选择最重要文件一个好主意,例如,那些对渲染至关重要文件,或者那些可以帮助页面提升可见性避免破坏性文本重排文件

1.6K10

记一次使用 fontTools 优化网页字体(字体文件大小

一直以来,本站使用是 HarmonyOS Sans 字体,但由于中文字体文件过大(约 4.3 MB),导致网页加载速度缓慢,不利于弱网环境下访问。...因此,本文将介绍如何使用 fontTools pyftsubset 对网页字体进行切片,优化网页字体文件大小。...设置环境变量 export PATH=$PATH:/root/woff2/out 使用方法 上传字体文件 新建一个文件夹,将需要切片字体文件放入其中: mkdir fonts cd fonts 切片并转换为...woff2 格式 本文使用是 HarmonyOS Sans 字体,字体文件名为 HarmonyOS_Sans_SC_Regular.ttf,使用以下命令进行切片: 注意: 1.如您使用是其他字体,..._compress HarmonyOS_Sans_SC_Regular.21.ttf 对应 CSS 样式文件 注意:如您使用是其他字体,请将代码复制到编辑器,并将 CSS HarmonyOS_Sans_SC_Regular

73210

入门webpack最佳实践(基于webpack4.X 5.X)--基础篇

css-loader作用是识别css文件@import语句,以及url链接等,并将css文件样式编译为js模块,并导出,而style-loader作用就是将导出样式模块style标签方式插入...DOM树 支持加载图片 file-loader: 解决CSS等文件引入图片路径问题,不使用的话,样式url路径打包后会参照html,而不是css文件。...类似的 raw-loader 功能. asset 会根据文件大小来选择使用哪种类型,当文件小于 8 KB(默认) 时候会使用 asset/inline,否则会使用 asset/resource 加载图片...loader使用了use+loader写法,这样写我们可以给loader传递参数,放入配置对象options属性,比如在上面的代码,传入了文件大小和输出路径两个参数。...(woff2?|eot|ttf|otf)(\?.*)?

39840

webpack超详细教程!入门一篇就够了

就会解析执行这个配置文件,当解析执行完配置文件后,就得到了配置文件导出配置对象 当 webpack 拿到配置对象后,就拿到了配置对象,指定入口和出口,然后进行打包构建 如果 webpack...处理,这种文件类型 在调用 loader 使用,是后往前调用 当最后一个 loader 调用文件,会把处理结果,直接交给 webpack 进行打包合并,最终输出到 bundle.js 中去 10...url 形式进行传输,否则图片就会被转为 base64格式字符串进行传值 而后面的 name 参数是对客户端浏览器文件名进行设置,会将浏览器图片文件名设置成路径中一样文件名,因为经过上面的步骤只会将图片路径设置成...ttf、 eot、 svg、 woffwoff2 进行配置 14 处理 ES6 高级语法 在 webpack ,默认只能处理一部分 ES6 语法,一些更高级 ES6 语法 语法或者 ES7...,则可以不再 {} 定义 它导出成员,必须严格按照导出时候名称,来使用 {} 按需接收,但可以使用 as 来起别名 17 如何在 webpack 使用 vue-router 17.1 安装 npm

8.6K52

vue项目部署最佳实践

前言 使用vue、react、angular等技术开发过程,我们都会遇到以下问题: 首屏加载慢 每一次更新都需要清除浏览器缓存才能看到效果(经常被测试吐槽) 这两个问题可以很多方面进行优化,今天我就从前端页面部署阶段来优化一下这两个问题...前端页面文件缓存方案 vue-cli3打包说起 路由使用按需加载后,打包生成文件,每一个路由页面都对应一个js和css文件,入口main.js及其依赖则打包成了app.js和app.css,公共依赖都放到了...那么字体文件呢,是不是和图片一样? 阿里巴巴矢量图库生成图标字体css我们可以看出,一般常见字体文件有:eot、woffttf、svg,另外woff2是以base64格式存储。...('woff2'), url('iconfont.ttf?...结论:svg、eot 和 ttf 这三种格式字体文件可以使用CompressionWebpackPlugin进行压缩,并且配合Nginxgzip_types配置,woffwoff2格式字体文件不需要

1.6K10

微前端框架qiankun项目实战(二)--踩坑与部署篇

token存到localStorage逻辑,并编写了一个VuexstoragePlugin插件,该插件主要功能是在应用加载时候去获取localStoragetoken,如果有的话直接commit...我们只需要拷贝iconfont.css、iconfont.ttf、iconfont.woff、iconfont.woff2这几个文件到src/assets目录下,然后在main.css引入就可以了 iconfont.css...我们明明一个有心有个无心! 如何解决?...官方提供了基于shadowDom样式隔离方案,不过似乎还是未做到完全隔离,同类名情况下可能还是会出现冲突,所以我们尽量通过不同类名,添加前缀方式去避免样式冲突,或者是把类名降级放到一个父类中去避免样式冲突...,这里我们不用那么麻烦,vue-cli帮我们做好了,我们在根目录添加.env.production、.env.development文件,这两个文件就是用来导出一些变量,顾名思义这些变量分别用在dev和

1.7K30
领券