java中使用sfntly的sfnttool.jar 抽取指定中文字符串ttf文件,简化、裁剪ttf字体库文件大小,java缩小中文ttf字体库文件大小

1、sfnttool.jar 下载地址:  点击打开链接

2、(终端)生成命令

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

   注:字体内容 单引号表示不允许有空格字符 双引号表示可以有空格字符

3、java代码生成

String content = fontUtil.getContent();
content = content.replaceAll("\\s*",""); //文字内容去除空格字符

Process exec = Runtime.getRuntime().exec(

    "java -jar conf"+File.separator+"sfnttool.jar -s '"+content

    +"' conf"+File.separator+"font"+File.separator+fontFamily+".ttf "+ttf_target);

int i = exec.waitFor(); //当前线程等待 0表示正常终止

ttf_target:目标文件

效果图:

java中使用sfntly的sfnttool.jar 抽取指定中文字符串ttf文件,简化、裁剪ttf字体库文件大小,java缩小中文ttf字体库文件大小

4、前端

<html>  
<head>  
<meta charset="utf-8">   
<style type="text/css">  
@font-face {
    font-family: "pomo";
    src: url("D:\\000\\pomo_sub.ttf") format("truetype");
    font-style: normal;
    font-weight: normal;
}
.test {  
    font-family: 'pomo';  
}  
</style>  
</head>  
<body>  
<h1 class="test">测试 English TeST 英语</h1>  
</body>  

</html> 

示例:

java中使用sfntly的sfnttool.jar 抽取指定中文字符串ttf文件,简化、裁剪ttf字体库文件大小,java缩小中文ttf字体库文件大小


注:某些网络字体ttf裁剪后是看不到效果的!!!!

多试几个就知道了。。。。。。。