2017-08-04 118 views
-1

基本上,我有几个字体文件,目前有拉丁字母字形,我想从一个不同的字体文件导入阿拉伯字符到这些字体文件。是的,阿拉伯文的字形是来自个人免费使用的字体,如果有人担心这种字体,而拉丁字是来自我自己的知识产权。我只想找到一种方法来快速导入所有的阿拉伯字形,而不是一次一个地完成它们。有没有一种已知的快捷方法?谢谢。如何从一个字体文件(otf)向另一个字体文件一次传输几个字形?

+0

...为什么?我想不出任何实际的原因:只使用两种字体。现在不再是二十世纪七十年代了,几乎任何你想到的应用都可以被教会使用字体堆栈。或者换个说法:我很确定这是[XY问题](https://meta.stackexchange.com/questions/66377/what-is-the-xy-problem),你需要解释你的原来的问题是“复制字形”是你想出的解决方案,现在正在询问。相反,我们来解决原来的问题。 –

+0

虽然我想这样做,但它被用作显示字体,它不知道在某些字体中显示某些字符,或者在其他字体中显示主字体中的未知字符,而且我不知道如何告诉操作系统查看其他字体,专门用于主显示字体中不存在的字符。如果你知道如何做到这一点,那将是膨胀的。否则,这似乎是最简单和最有用的解决方案。 –

+1

将整个字体的逻辑转换为另一种字体没有任何简单之处。你不能只是“复制这些字母”,并且突然发生了一些事情,你需要复制定位,替换等所有的元数据,这对于我们在80年代发明字体回退的东西来说是一个疯狂的工作量。所以:“这被用作不知道显示某些字体中的某些字符的显示字体”是您真正的问题:请关闭此问题并发布一个新问题,询问如何在GUI框架中启用字体回退正在使用。 –

回答

0

最好的解决方案是找出如何在操作系统中启用备用字体。任何可以读取现代TTF或OTF字体的操作系统都应该支持这一点。它可以让你保持字体的原始形式,这意味着更少的工作,更少的测试和更容易的维护。

FontForge(免费工具)可以合并字体:see here。但我怀疑这可能不会给出最佳结果。阿拉伯字体往往包含许多连字和其他复杂的功能,我不认为这些功能所需的所有内部字体表将被合并。你必须进行广泛的测试,以确保阿拉伯文结果仍然很好。

在FontForge中打开两种字体,从自己的字体中选择您的拉丁字形的全部范围,然后将它们复制粘贴到阿拉伯字体中,您可能会有更多的运气。然后将结果保存为合并的字体。这意味着任何用于阿拉伯语特征的特殊表格都会保留,而用于拉丁字形的特殊表格(例如基于类别的字距)会丢失。成对的字距会被保留。作为拉丁字体的作者,您会对这可能会有多成功有所了解。

还有其他的字体功能不一定适用于这两种字体,例如ascender/descender指标,蓝色值等。您最终可能会导致在小尺寸下拉丁语的渲染效果不佳,甚至会被切掉角色的顶部和底部。这些都可以修复,但需要时间和仔细的测试。一个制作精良的字体是一个高度调整的机器,并且合适地合并两种字体是一个耗时的过程。

+0

合并永远不是解决方案。字体是为GSUB/GPOS /等设计的,以便在该字体中有意义,所以真正的唯一明智的事情是“只使用字体后备,它是2017年,所有您使用的都可以做到这一点”。 –

相关问题