ttf字体压缩,抽取指定字符串,减少字体包大小

2022-04-24  本文已影响0人  润实

背景:项目开发中,遇到ttf字体过大,需要按照使用到的文字进行裁剪,从而减少字体包的大小。

使用场景:web前端 ,cocos creator , java

方案一:java中使用sfnttool.jar 抽取指定中文字符串ttf文件

一、准备java运行环境,并下载sfnttool.jar文件
链接: https://pan.baidu.com/s/17IOWBq5C2ta2Z1tPzrkuVA 提取码: hxcm
二、运行命令

java -jar sfnttool.jar文件路径 -s '字体内容' 原始ttf文件路径 裁剪后ttf文件路径

三、最终生成裁剪后的ttf文件。

这个方案在cocos creator中使用时,部分字体文件无法识别加载,推荐方案二。

方案二:利用nodeJs插件font-spider,抽取指定中文字符串ttf文件

一、安装nodeJs运行环境,并下载安装字蛛font-spider

npm install font-spider -g

二、使用方法
1.创建font.css,引入需要用到的字体,定义好font-famaily,并在下方定义好需要用到的id名,方便后面改变字体直接使用

font.css

@font-face {
    font-family: 'kaiti';
    src: url('kaiti.ttf') format('truetype');
}
#txt{
    font-family: 'kaiti';
}

index.html

<!DOCTYPE html>
<html lang="en">
    <head>
        <meta charset="UTF-8">
        <meta name="viewport" content="width=device-width,initial-scale=1.0">
        <meta http-equiv="X-UA-Compatible" content="ie=edge">
        <title>文字过滤</title>
        <link rel="stylesheet" href="./css/font.css">
    </head>
    <body>
        <div id="txt">
            部首结构笔画数易错点书写要点::
        </div>
    </body>
</html>

三、终端输入命令,提取需要的字体

 font-spider ./index.html
上一篇下一篇

猜你喜欢

热点阅读