TureType/OpenType 字体瘦身、字体转换和字符替换

TureType/OpenType 字体瘦身、字体转换和字符替换

本文讲解下面一些关于 TTF/OTF 字体的基本知识和操作:

  1. 什么是TTF和OTF字体
  2. 删除/插入/替换字体中的字符
  3. TTF/OTF 的互相转换

1. 什么是TTF和OTF字体

下面是英文全称,免费加送一个TTC

嗯,懒惰的我觉得写了中文说明反而更加难懂(当然这是借口 :-)),这里引用一段微软的解释( 原文在这里 ):

TrueType 字体可调整到任意大小,并且在所有大小情况下,都是清晰可读的。可以将它们发送给 Windows 支持的任何打印机或其他输出设备。OpenType 字体与 TrueType 字体相关,但包括更大的基本字符集扩展,包括小型大写、老样式数字及更复杂的形状,如“字形”和“连字”。OpenType 字体在任意大小下仍清晰可读,并且可以发送到 Windows 支持的任何打印机或其他输出设备。

我们只需要知道,OTF 格式相对先进(目前),TTF 格式相对主流(也是目前)。

TTC 则是一坨 OTF 或者 TTF 字体的集合体。例如 Windows7 下面的宋体(simsun.ttc) 就是个 TTC 文件。

2. 删除字体中不需要的字符

这就要请出字体编辑工具了。FontCreator 无疑是Windows上最好的字体编辑工具;Mac OS 上是 Glyphsfontforge 是跨平台的开源工具。

使用 FontCreator 删除不需要的字符

删除恐怕是最简单的事情了。在 FontCreator 7.5 上,已经将字符进行了分类。切换到相应的分类,选择不需要的字符,直接删除即可。

font creator delete characters

如果是使用 FontCreator 6,由于软件还没有分类功能,所以可以先使用 Font 菜单提供的排序功能将字符进行排序。然后再删除。

使用 FontCreator 插入字符

有时我们需要将A字体中的一些字符加入到B字体中,形成一个新的字体,例如 雅黑-Consolas混合字体 就是这种字体。步骤应该是这样的:

  1. 同时打开A字体和B字体,选择A字体中需要加入的字符并复制;
  2. 在B字体的界面中选择 Insert-Glyphs 插入空的字形,数量与复制的A字体字符相同;
  3. 在B字体界面中选择这些空的字形,粘贴即可。

使用 FontCreator 替换字符

  1. 选择A字体中的字符复制;
  2. 在B字体中选择 Edit-Paste Special;
  3. 选中 Items 中的所有选项,Codepoints 选择 Overrule same codepoints ,单击 OK 完成替换。

font creator replace characters

3. TTF/OTF 相互转换

经常会有一些莫名其妙的需求,要把TTF和OTF这两种格式相互转换。当然,作为一个有责任感的无证程序员,一定要尽可能满足这些莫名其妙的需求。生命在于折腾嘛。

freefontconverter 这个网站提供在线转换功能。简单说就是你传个字体上去,然后选择转换类型,再下载一个已经转换过的字体下来。

freefontconverter.com

fontforge 软件则直接提供转换功能。步骤应该是这样的:

  1. 打开要转换的字体;
  2. 选择 File-Generate Fonts 命令;
  3. 选择字体类型,例如 TureType;
  4. 保存即可;
  5. 如果保存的时候软件直接挂了,可以取消勾选 Validate Before Saving 选项然后重新保存。

fontforge generate fonts