如何在Linux中把字体转换成TTF和OTF格式

697 阅读3分钟

本文将介绍使用FontForge命令行和图形工具将TTF字体转换为OTF文件格式和OTF字体转换为TTF文件格式的指南,该工具几乎可以安装在所有主要的Linux发行版中。OTF或 "OpenType字体 "文件比TTF或 "TrueType字体 "文件具有某些优势。除此之外,它们几乎在任何地方都可以互换使用,除非某个项目特别要求某些功能只能在OTF文件格式中使用。

在Linux中安装FontForge

FontForge是一个免费的、开源的命令行和图形化的字体编辑器,可以用来创建新的字体、编辑现有的字体以及将字体转换为不同的文件格式。你可以使用下面提到的命令在Ubuntu中安装FontForge。

$ sudo apt install fontforge

FontForge在许多Linux发行版的默认软件库中都有,所以你可以从软件包管理器中安装它。更多的下载选项,包括一个通用的AppImage文件,都可以在FontForge官方网站上找到。

使用FontForge命令行工具将TTF转换为OTF,将OTF转换为TTF文件

一旦FontForge安装完毕,您可以使用其内置的脚本系统从命令行中转换字体。下面是一个使用FontForge中的自定义脚本系统将一个TTF文件转换为一个OTF文件的例子。

$ fontforge -lang=ff -c 'Open($1); Generate($2); Close();' font.ttf font.otf

要使用这个命令将TTF文件转换为OTF文件,用输入的TTF文件替换 "font.ttf",用你想要的转换后的OTF文件的名称替换 "font.otf"。该命令使用"-c "开关从命令行运行FontForge特定的脚本语言。"-lang "开关告诉fontforge命令使用它自己的脚本语言,而不是它所支持的任何其他编程语言(FontForge也支持Python脚本)。

你也可以使用同一命令将OTF文件转换为TTF文件。参数需要按顺序提供给命令,其中输入文件的参数在前,其次是转换后的输出文件的理想名称。所以,为了将一个OTF文件转换为TTF文件,你需要以如下格式运行相同的命令。

$ fontforge -lang=ff -c 'Open($1); Generate($2); Close();' font.otf font.ttf

注意,为输入和输出的字体文件指定正确的文件扩展名是很重要的。FontForge使用文件扩展名自动识别文件类型,并使用它们来转换和生成正确类型的新字体。

在转换过程中,有时fontforge可能会输出一些关于字形的布局、结构和几何形状的警告。这些警告是由于FontForge的验证规则造成的,只要它们是警告而不是错误,你就可以安全地忽略它们。

使用FontForge图形客户端将TTF转换为OTF和将OTF转换为TTF文件

如果您不喜欢命令行版本,想使用图形界面将字体转换为TTF和OTF文件格式,您可以使用随FontForge软件包安装的FontForge GUI。

要做到这一点,从您的Linux发行版的主应用程序菜单中启动FontForge应用程序,并选择一个输入字体,如下面的窗口所示。

你会得到一个新的窗口,在那里你可以看到网格状布局的字体字符。

接下来,点击位于左上角的 "文件 "菜单,然后点击在下拉菜单中可见的 "生成字体 "菜单项,如下图所示。

你将会看到一个新的窗口,你可以在生成/转换字体之前改变设置。在字体类型下拉框中,根据你的要求选择 "TrueType "或 "OpenType"。接下来,为输出文件输入一个适当的文件名,选择一个你想保存转换后文件的文件夹,然后点击 "生成 "按钮。等到这个过程结束就可以得到转换后的字体了。

请注意,就像FontForge命令行工具一样,图形客户端也可能向您提示一些警告,因为转换过程将通过内置的验证系统。如果它们只是警告而不是错误,您可以忽略它们并继续进行转换。

结论

TTF和OTF字体是最流行和广泛使用的字体。根据你的软件或项目的性质,你可能需要使用特定类型的字体文件格式,并可能必须在其中一个中选择。在这种情况下,您可以使用FontForge的命令行工具和图形客户端来轻松地将字体转换成不同的格式。