字体问题:如何取消两个以某种方式链接的字符?
我正在使用 FontForge 来更改字体。 问题是我想更改字母(空格和U00A0(不间断空格))从Arial字体文件以便使这两个字符在我的企业中的特殊用例中显示不同。
当我打开 Fontforge 并尝试操作空格字符或不间断空格字符时 - 两个字符都会更改。我需要它们看起来有所不同。这似乎不是一个引用问题(我已经尝试在编辑之前取消引用两个字符的链接)。
它们以某种方式链接在一起,我想知道:如何取消它们的链接?
非常感谢任何建议。
I am using FontForge to alter fonts.
Problem is i want to change letters (space and U00A0 (non-break space)) from an Arial font file in order to have those two characters to be shown different for a special use-case in my enterprise.
When i open Fontforge and try to manipulate the space character or the non-break space character - both characters get changed. I need them to look different. It does not seem to be a reference problem (i already tried to unlink reference both characters before editing).
They are somehow linked together and i would like to know: How can i unlink them?
Any suggestions are highly appreciated.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
我们使用第二种 fontforge 字体解决了这个问题,该字体在 Arial 之前加载。
在我们使用新字体(a rte)的上下文中,我们将受保护的空间映射到具有几乎相同行为的另一个字符(我认为这是一个图形空间)。因此,在新字体中,我们对
U+0020
和替换字符使用不同的字母。这样我们就不会违反任何许可证并具有所需的行为。
We solved that issue using a second fontforge font which gets loaded before Arial.
In the context in which we use the new font (a rte) we map the protected space to another character with almost same behaviours (i think it was a figure space). So in that new font we use different letters for
U+0020
and the replacement character.This way we do not violate any licenses and have the desired behaviour.
在 Arial 中,与许多其他字体一样,空格 (U+0020) 和不间断空格 (U+00A0) 字符都映射到相同的字形。您首先需要创建一个新的字形(可以通过简单地复制和粘贴来完成)。然后,通过字符信息编辑映射。理想情况下,较低编号的字形将映射到空格/U+0020,较高编号的字形将映射到不间断空格,但这不是必需的。分离映射后,您可以根据需要对每个映射进行更改。
然而:有一些重要的事情需要理解:
1) Arial 字体数据由 Microsoft 拥有和控制。您拥有以特定方式使用它的许可,除非您已获得特别许可,否则您无权分发该字体的修改版本。
2) 某些应用程序将使用 U+0020 引用的字形来表示 U+0020 和 U+00A0,无论字体是什么。因此您的修改可能毫无意义。不幸的是,我不知道表现出这种行为的应用程序的明确列表;你必须仔细测试。
In Arial, as in many other fonts, both the space (U+0020) and non-breaking space (U+00A0) characters map to the same glyph. You will first need to create a new glyph (which can be done by simply copying and pasting). Then, edit the mappings through Char Info. Ideally, the lower-numbered glyph will map to space/U+0020, and the higher-numbered glyph will map to the non-breaking space, but this is not essential. Once you've separated the mappings, you can effect changes on each one as you desire.
HOWEVER: there are a couple of important things to understand:
1) the Arial font data is owned and controlled by Microsoft. You have a license to use it in a very specific way, and unless you have been specifically licensed otherwise, you do not have the right to distribute modified versions of the font.
2) Some applications will use the glyph referenced by U+0020 for both U+0020 and U+00A0 regardless of what is in the font. So your modifications may be for naught. Unfortunately I'm not aware of a definitive list of applications that exhibit this behavior; you'll have to test carefully.
要在 fontforge 中解决此问题,您必须:
当前字形中的字符,在您的情况下也将
删除空格和不间断空格
To solve this issue in fontforge you have to:
character from the current glyph, which in your case will also
remove the association between space and non-breaking space