基本上,我有几个字体文件,目前有拉丁字母字形,我想从一个不同的字体文件导入阿拉伯字符到这些字体文件。是的,阿拉伯文的字形是来自个人免费使用的字体,如果有人担心这种字体,而拉丁字是来自我自己的知识产权。我只想找到一种方法来快速导入所有的阿拉伯字形,而不是一次一个地完成它们。有没有一种已知的快捷方法?谢谢。如何从一个字体文件(otf)向另一个字体文件一次传输几个字形?
回答
最好的解决方案是找出如何在操作系统中启用备用字体。任何可以读取现代TTF或OTF字体的操作系统都应该支持这一点。它可以让你保持字体的原始形式,这意味着更少的工作,更少的测试和更容易的维护。
FontForge(免费工具)可以合并字体:see here。但我怀疑这可能不会给出最佳结果。阿拉伯字体往往包含许多连字和其他复杂的功能,我不认为这些功能所需的所有内部字体表将被合并。你必须进行广泛的测试,以确保阿拉伯文结果仍然很好。
在FontForge中打开两种字体,从自己的字体中选择您的拉丁字形的全部范围,然后将它们复制粘贴到阿拉伯字体中,您可能会有更多的运气。然后将结果保存为合并的字体。这意味着任何用于阿拉伯语特征的特殊表格都会保留,而用于拉丁字形的特殊表格(例如基于类别的字距)会丢失。成对的字距会被保留。作为拉丁字体的作者,您会对这可能会有多成功有所了解。
还有其他的字体功能不一定适用于这两种字体,例如ascender/descender指标,蓝色值等。您最终可能会导致在小尺寸下拉丁语的渲染效果不佳,甚至会被切掉角色的顶部和底部。这些都可以修复,但需要时间和仔细的测试。一个制作精良的字体是一个高度调整的机器,并且合适地合并两种字体是一个耗时的过程。
合并永远不是解决方案。字体是为GSUB/GPOS /等设计的,以便在该字体中有意义,所以真正的唯一明智的事情是“只使用字体后备,它是2017年,所有您使用的都可以做到这一点”。 –
- 1. 从一个字体文件复制/粘贴字形/字符到另一个字体文件
- 2. 如何从一个.M传递一个字符串到另一个.m文件
- 3. 如何在另一个文件之间插入几行文字
- 4. 将字体从一个类传递到另一个类
- 5. 如何将对象从一个php文件传输到另一个php文件
- 6. 如何从python文件中一次读取一个字符?
- 7. 在Android中将一个文件传输到另一个文件?
- 8. 将中文字符从一个文件写入另一个文件
- 9. CSS字体:如何将多个TTF文件转换为一个文件?
- 10. 从文件到Python中的另一个文件从一些字符集写入到另一个文件
- 11. 如何打开一个窗体,如果窗体位于另一个文件夹
- 12. 如何在一个文件中搜索字符串到另一个文件?
- 13. PHP将文件从一个FTP传输到另一个
- 14. 将数据从一个excel文件传输到另一个
- 15. 将文件从一个ftp传输到另一个ftp
- 16. 从一个jsp文件传递值到另一个jsp文件
- 17. LibGDX:用不同的文字多次绘制一个字体
- 18. 在Python中测试一个字形是否是同一字体中的另一个字形的反射
- 19. 在SQL文件中将值从一个字段移到另一个字段
- 20. 如何从另一个python文件运行一个python文件?
- 21. 如何从另一个js文件回调一个js文件?
- 22. 从一个JavaScript传递一个值到另一个JS文件
- 23. 如何将字符串值从一个.m文件传递给另一个.m文件
- 24. [VB.NET]将数据从一个文件传输到另一个文件
- 25. 将权限从一个文件夹传输到另一个文件夹
- 26. 如何确定一个字体是一个符号字体(例如Wingdings)
- 27. 如何从每一行从一个文件复制字符的具体数目另一
- 28. 从另一个减去一个SQL Server几何体
- 29. 从文件中读取字符并写入另一个文件
- 30. 从另一个.cpp文件的主体编译.cpp文件
...为什么?我想不出任何实际的原因:只使用两种字体。现在不再是二十世纪七十年代了,几乎任何你想到的应用都可以被教会使用字体堆栈。或者换个说法:我很确定这是[XY问题](https://meta.stackexchange.com/questions/66377/what-is-the-xy-problem),你需要解释你的原来的问题是“复制字形”是你想出的解决方案,现在正在询问。相反,我们来解决原来的问题。 –
虽然我想这样做,但它被用作显示字体,它不知道在某些字体中显示某些字符,或者在其他字体中显示主字体中的未知字符,而且我不知道如何告诉操作系统查看其他字体,专门用于主显示字体中不存在的字符。如果你知道如何做到这一点,那将是膨胀的。否则,这似乎是最简单和最有用的解决方案。 –
将整个字体的逻辑转换为另一种字体没有任何简单之处。你不能只是“复制这些字母”,并且突然发生了一些事情,你需要复制定位,替换等所有的元数据,这对于我们在80年代发明字体回退的东西来说是一个疯狂的工作量。所以:“这被用作不知道显示某些字体中的某些字符的显示字体”是您真正的问题:请关闭此问题并发布一个新问题,询问如何在GUI框架中启用字体回退正在使用。 –