5

我正在使用 FontForge 来更改字体。 问题是我想从Arial字体文件中更改字母(空格和 U00A0(不间断空格) ) ,以便在我的企业中为特殊用例显示不同的这两个字符。

当我打开 Fontforge并尝试操作空格字符或不间断空格字符时 -两个字符都会更改。我需要它们看起来不同。这似乎不是参考问题(我已经尝试在编辑之前取消对这两个字符的引用)。

它们以某种方式联系在一起,我想知道:我怎样才能取消它们的链接?

任何建议都受到高度赞赏。

4

3 回答 3

5

To solve this issue in fontforge you have to:

  • select the targeted character
  • in menu, click Encoding->Detach Glyphs: this will dissociate the character from the current glyph, which in your case will also remove the association between space and non-breaking space
  • copy or create whatever glyph you want in the new empty character
于 2013-02-06T16:43:14.613 回答
2

在 Arial 中,与许多其他字体一样,空格 (U+0020) 和不间断空格 (U+00A0) 字符都映射到同一个字形。您首先需要创建一个新的字形(可以通过简单的复制和粘贴来完成)。然后,通过 Char Info 编辑映射。理想情况下,编号较低的字形将映射到空格/U+0020,而编号较高的字形将映射到不间断空格,但这不是必需的。分离映射后,您可以根据需要对每个映射进行更改。

但是:有几件重要的事情需要了解:1) Arial 字体数据由 Microsoft 拥有和控制。您拥有以非常特定的方式使用它的许可,除非您已获得特别许可,否则您无权分发该字体的修改版本。

2)某些应用程序将 U+0020 引用的字形用于 U+0020 和 U+00A0,而不管字体中的内容。所以你的修改可能是徒劳的。不幸的是,我不知道表现出这种行为的应用程序的明确列表;你必须仔细测试。

于 2012-01-30T04:46:38.227 回答
0

我们使用在 Arial 之前加载的第二个 fontforge 字体解决了这个问题。在我们使用新字体(a rte)的上下文中,我们将受保护的空间映射到具有几乎相同行为的另一个字符(我认为它是一个图形空间)。所以在那个新字体中,我们使用不同U+0020的字母和替换字符。这样我们就不会违反任何许可并具有所需的行为。

于 2012-01-31T09:28:24.103 回答