【问题标题】:How can I substitute one glyph for another in an OpenType PostScript OTF font file?如何在 OpenType PostScript OTF 字体文件中用一个字形替换另一个字形?
【发布时间】:2012-12-13 16:04:21
【问题描述】:

我正在尝试使用Nitti Basic 系列的字体进行编程。这些字体被打包为 OpenType PostScript OTF 文件。

它的 U+002D (HYPHEN-MINUS) 字形可以很好地用作连字符,但不如减号。 例如,它不与加号的水平条对齐。 另一方面,Nitti 的 U+2212 (MINUS) 字形非常适合作为减号(当然),这也是我在编程时需要的。实际使用代码点 U+2212 对我来说是不可行的;毕竟,U+002D 是你按下键盘上的减号时得到的,它是编程语言用于减法的。

因此,我想从 U+2212 中窃取字形并将其用于 U+002D,以便该字符看起来像一个减号。

我该怎么做?

更新:是的,可以在源代码中使用 U+002D 作为连字符。 如上所述,我需要一个减号。

【问题讨论】:

    标签: unicode fonts opentype


    【解决方案1】:

    我同意 Jukka,有工具可以做到这一点。

    但是,请不要忘记,字体通常受到与软件非常相似的合同的保护。在这种情况下,您提供的链接例如指向一份法律文件,内容如下(除其他外):

    “除非本文允许,否则您不得重命名、修改、改编、 翻译、逆向工程、反编译、反汇编、更改或 否则复制 Bold Monday 字体软件。”

    请注意,法律不允许您更改此字体。如果您阅读协议的其余部分,您也会看到对字体的实际使用有很多限制。确保您所做的事情没有违反您的许可证...

    【讨论】:

    • 我们先不谈法律问题;这完全是题外话。
    • 我同意并且我不是律师 - 但是,我的回答确实指出,他可能采取的行动不应该是他现在所追求的,我认为这在编程上下文。开发人员应该(有时)更加了解他们所在的世界
    【解决方案2】:

    FontForge 等工具可用于以简单的方式编辑字体。

    请注意,在编程中,HYPHEN-MINUS 也有多种用途:作为减号,而且(在某些语言中)允许在标识符和 cmets 中使用,它通常以连字符的角色出现。在某些用途中,连字符字形看起来很奇怪。

    【讨论】:

      【解决方案3】:

      为了后代,这里是如何做到的:

      1. 获取 Adob​​e 的 AFDKO 字体工具并安装。

      2. 将 OTF 文件放入空目录。

      3. 运行 ttx *.otf 将 OTF 文件转换为 TTX (XML)。

      4. 在文本编辑器中编辑每个 TTX 文件:

        1. cmap 部分中,将出现的hyphen 更改为minus。此表将字符映射到字形。字符 U+002D 最初映射到连字符字形;此更改将其映射到减号字形。

        2. 在整个文件中,将NittiBasic 的出现次数更改为NittiBasicM,将Nitti Basic 的出现次数更改为Nitti Basic M。这将在安装后区分字体的修改版本和原始版本。

      5. 重命名 TTX 文件,将 Nitti Basic 替换为 Nitti Basic M

      6. 运行 ttx -b *.ttx 将 TTX 文件转换回 OTF。

      7. 最后,安装新创建的 OTF 文件。

      【讨论】:

      • 这就像一个魅力。
      猜你喜欢
      • 2010-11-15
      • 2012-01-24
      • 2013-06-26
      • 2021-06-08
      • 1970-01-01
      • 2016-01-01
      • 2016-06-13
      • 1970-01-01
      • 2014-06-04
      相关资源
      最近更新 更多