修复一些不能直接使用或不好用的ttf字体文件
Overview
有些TrueType字体文件(.ttf
)下载回来后,虽然能在专用的字体编辑/查看软件中正常打开,并能看到字体形状,但却不能在无论Word、LibreOffice、Windows、Linux、Android中当一个正常字体用。
胡搞一通后(本人不懂字体),摸索出了一些解决以下问题的方法:
-
.ttf
文件无法当普通字体用 -
该
.ttf
文件中没有图形的字符,使到时显示空白,并不像正常情况那样fallback到系统默认字体 -
能用但太小,一个字图形边缘空白太大
解决步骤
用的软件是FontForge。
-
把以下脚本保存为
.pe
后缀,通过cli调用1#!/usr/bin/env fontforge 2 3Open($1) 4 5RemoveAllKerns() 6DetachAndRemoveGlyphs() 7SelectAll() 8UnlinkReference() 9Reencode("unicode") 10 11Generate($1:r + "_patch.ttf")
如果不懂通过cli调用,也可以在FontForge在界面中打开字体文件后,点击菜单“文件->执行脚本->选择FF”,然后把
1RemoveAllKerns() 2DetachAndRemoveGlyphs() 3SelectAll() 4UnlinkReference() 5Reencode("unicode")
这几行粘贴进去,点击确定。
-
在FontForge界面中打开上一步处理过后生成的新字体文件,菜单“文件->生成字体”保存成一个新
.ttf
文件。这一步要点时间(1分钟)。忽略所有警告和错误。 -
菜单“编辑->选择->空格字形”,然后点“Clear”删掉它们。
你会看见原本空白的格子变成了一个带浅灰色叉的格子。这样这个字体文件中没有图形的字符就可以被fallback用默认字体显示出来了。
针对某一类字符调整图形
菜单“基础->字体信息->统一码范围”,这里可以按类型批量选择字符,例如:
-
基本大小写英文字母+数字+基本符号:基本拉丁文
-
我们平时所用汉字(包括简和繁):中日韩统一表意字符
改变字符图形大小
图形太小是常见的情况。如果用起来字符间总有消除不掉的间距,有可能是这个原因。
批量选择要放大的字符后,菜单“基础->变换->变换”,其中有等比缩放功能。
完全处理完成后,使用菜单“文件->生成字体”保存成一个新.ttf
文件。
本博客文章皆属原创(除特别标明外)。 未联系作者获得同意前,不可转载。
All articles are original (except for those specially claimed) and copyrighted. Copying without permission is forbidden.
All articles are original (except for those specially claimed) and copyrighted. Copying without permission is forbidden.
打赏作者
写作不易,感谢支持! 扫个码吧~