一个简单的方法来添加或修改TrueType字体(TTF)中的字形

5
我正在寻找一种简单的方法来向现有的True Type字体中添加字形。我想知道是否存在一个库(C++或C#)或者命令行工具来支持这个功能,因为从头开始生成TTF似乎是一项非常复杂的任务。
提出这个问题的背景是我们想开发一个工具,能够向字体中添加字形。该字形将被定义为由多个轮廓组成的轮廓线,这些轮廓线由点列表(在曲线和直线上)组成。

如果您向现有的TTF添加了一个字形,它将不再是相同的TTF。例如,如果有人更改了Times New Roman字符集中的某个字体,那么使用该计算机的任何人都会出现混乱的字体。因此,我猜现有字体是不可编辑的。也许您应该考虑创建一个新字体,从要默认使用的字体复制信息开始。 - user153923
2个回答

2
据我所知,我没有看到过这样的命令行工具/库。
生成字体可能很复杂,但修改现有字体也同样困难。
当你向现有字体添加字形时,你需要同时指定一些其他内容(例如独特的字符代码、度量值等)。此外,你还需要更新字体文件中的多个表格(例如cmap、loca、maxp等),具体取决于新轮廓的性质。
基本上,我认为没有简单的方法来添加一个字形。
我能想到的最好的方法是使用字体编辑器工具添加你的字形/创建一个新字体(例如FontForge http://fontforge.sourceforge.net/)。

-6

你基本上不能这样做(除非使用一些允许派生作品的开放授权字体)。

这不是因为不可能,而是因为这是违法的。字体受版权保护。

我建议你找到另一种解决问题的方法。


5
如果字体已经在最终用户的系统上,他们通常有权使用它。如何使用或捆绑可能会涉及一些法律问题,但并非所有情况都是如此。无论如何,这与本题无关;这是一个技术问题,而不是法律问题。 - Toby Wilson

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接