方法
在线转换(适用于小于100MB的文件)
transfonter.org 点击前往
本地转换(适用于在线转换无法解决的情况)
需要的软件:
2.dosbox 前往官网
(对于官网还能正常访问的网站只提供官网下载地址,如果官网挂了请在评论区联系我,我会提供备用下载方式)
方法:
1.安装dosbox。
2.创建一个文件夹用于挂载到dosbox。示例:在C盘根目录创建一个名称为“a”的文件夹。
3.解压ttsdk.zip。如果是将TTC解包成TTF,那么将解压出的TTC文件夹里的BREAKTTC.EXE复制到刚才创建的文件夹中。如果是将TTF打包成TTC,那么将MAKETTC.EXE复制到刚才创建的文件夹中。
4.将需要打包/解包的字体文件复制到刚才创建的文件夹中。
5.运行dosbox。
6.将刚才创建的文件夹挂载为dosbox的C盘。输入mount C 刚才创建的文件夹的地址
。示例:mount C C:\a
。
7.输入C:\
切换到C盘。
8.如果是将TTC解包成TTF,那么输入BREAKTTC.EXE TTC文件的名称
。示例:BREAKTTC.EXE a.ttc
。如果是将TTF打包成TTC,那么输入MAKETTC.EXE 所有TTF文件的名称
示例:MAKETTC.EXE a.ttf b.ttf c.ttf
。
9.前往刚才创建的文件夹查看成果。
发现过程
事件起源于一个很离谱的事情:哔哩哔哩直播姬只支持TTF格式的字体,而我需要的那款字体只提供了TTC格式和OTF格式的下载。
我开始在搜索引擎上寻找转换的方法,大部分结果推荐上文的在线转换网站,但我的文件过大,无法使用在线转换工具。而少部分关于本地转换工具的结果一致地提供了ttctools这款软件,但按照页面提供的方法无法运行。
随后我找到了ttctools中包含的可执行文件的源头,也就是上文提到的ttsdk。一开始我以为ttctools包含的BREAKTTC.EXE的修改日期是显示错误,而找到ttsdk的介绍页面后,我发现它真的是一个诞生于1997年的可执行文件,这让我意识到它可能是一个DOS程序。不出意料,它成功地在dosbox中运行了。
总结一下我找到的解决方案有:
1.使用在线转换工具(文件过大的话无法使用)。
2.一些大佬写的程序,多是练手作品,我找到的那几位大佬只提供了源代码,需要自己编译,考虑到大部分人电脑里是没有相关程序的,所以没有介绍。
3.ttctools,但这么多结果中没有人提示它是一个DOS程序。
虽然字体格式转换确实是一个比较小众的需求(而且因为法律风险,我不推荐你这么做),但鉴于因为国内外几乎没有网站提供合适的解决方案,因此决定将其记录下来,希望对你有用。
1 条评论
感谢博主,另外发现个问题
打包TTC需要像这样 MAKETTC.EXE 1.ttc a.ttf b.ttf c.ttf 在前面加上将要创建的TTC文件名才行