背景:项目开发中,遇到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
网友评论