为新语言创建字体

平面设计 字体设计
2022-02-22 07:51:24

假设有人开发了一种具有全新字符的新语言。并且必须创建相同的字体。如何做到这一点?

3个回答

创建自定义语言字体与创建标准字体没有任何区别,只要可以使用标准键盘来编写即可:

广告 DA01 提到,您可以先绘制字体并使用平板电脑将其数字化,或者使用您选择的扫描仪和软件重新绘制曲线。然后,您可以使用程序将字符转换为字体。

ILoveTypography 对此有一篇很好的文章:http: //ilovetypography.com/2007/10/22/so-you-want-to-create-a-font-part-1/在那里您可以找到替代方案、方法的列表和建议(还有第 2 部分)。

如果您的字体与当前的字母无关,那么您将不得不创建新的输入硬件/软件或以不同的方式使用您的语言。

首先,您需要了解Unicode 的私人使用区域(PUA)。它们提供代码点,其使用由字体创建者自行决定。例如,它可用于提供装饰元素,提供回退方式来访问原本只能通过 OpenType 功能访问的字符,以及对尚未编码的现有语言的类似或编码字符。特别是,它还可以用于全新语言(或更准确地说是脚本)的字符,直到它们被包含在 Unicode 中——这可能需要一段时间。

因此,您应该做的第一件事是为您的语言的用户制定一些约定,即 PUA 中的哪些字符应该用于脚本的哪些字符。如果您的脚本具有变音符号连字等功能,您可以阅读 Unicode 的当前政策并采用它们¹。除非您的脚本有比第一个 PUA 更多的字符(在基本多语言平面中),否则我建议使用它,因为这可以确保最大的软件兼容性。

为脚本创建字体就像为现有脚本创建字体一样,只是为选定的 PUA 代码点创建字符,而不是为现有脚本保留的代码点。最好的事情是:如果您为脚本创建其他字体,您可以轻松地在它们之间切换文本,并且想要呈现文本的语言用户只需要一种支持它的字体。

这留下了为您的脚本实现键盘布局或其他输入法的问题,但这是您可能无论如何都会面临的问题,而且现在这不是一个大问题。避免这种情况的唯一方法是重用拉丁语的代码点(或您的语言使用者中的任何标准脚本),但我强烈建议不要这样做,因为它会产生比它长期解决的问题更多的问题。


¹ 在示例的情况下,这意味着:为每个变音字符使用修饰符而不是一个字符,并且不要对连字进行编码 - 让智能字体功能处理它们。

这是一篇关于克林贡字体(一种人工语言)的文章,其中涵盖了这一点。http://www.klingonwiki.net/En/Fonts

记住新语言字符的实际设计是微不足道的。它就像一个 dingbats 字体。您设计任意字符并将它们分配给现有的键盘字符(unicode)。像 FontForge 这样的东西可以帮助设计字母并从中创建字体文件。http://fontforge.github.io/en-US/

正如其他人所指出的那样,实际正确使用该语言是另一回事。