【问题标题】:FontForge - Add stroke to font with fill color and generate fontFontForge - 使用填充颜色向字体添加描边并生成字体
【发布时间】:2022-07-09 08:54:09
【问题描述】:

我需要为字体应用黑色轮廓,但保持白色填充颜色。扩展描边或添加轮廓样式会应用轮廓,但是当我生成 .ttf 或 .otf 时,填充颜色会丢失。我以前从未使用过 fontforge,文档中的很多术语都被我弄丢了。任何指导表示赞赏。使用 Windows 10。

【问题讨论】:

    标签: fonts truetype opentype fontforge


    【解决方案1】:

    在 OpenType 字体中,字形被描述为由 TrueType 或 CFF(PostScript 类型 1)光栅化器填充的形状轮廓。光栅化器正在确定哪些区域在轮廓内部,并因此确定哪些像素获得“墨水”。但是光栅化器不能确定颜色。由应用程序决定字形形状内部使用什么颜色(“前景”颜色)以及背景使用什么颜色。

    许多图形应用程序允许您设置与描边颜色分开的填充颜色。但是这样做的方法是使用填充颜色作为前景色来绘制文本(因为通常会绘制文本),然后分别从字体中获取轮廓数据,然后将其绘制为顶部的路径“充满”。实际上,该应用在两种不同的模式下使用了两次轮廓。

    您可以创建一种显示为带有填充的轮廓描边的字体,其中前景色应用于轮廓,而背景颜色应用于填充。例如,

    这些字体通常被称为“轮廓”字体。 (不要将“轮廓”的技术意义混淆为字体字形数据中的路径。)这是另一个相同字体的示例,但前景色设置为红色,背景设置为浅绿色:

    这样做的方式是字形轮廓包括笔划的外轮廓和​​内轮廓。

    光栅器将只为组合路径的内部区域打开像素。

    到目前为止,这是描述典型的单色字体。如果你想控制轮廓描边的颜色和字体内的填充,那么你可以创建一个 colour 字体。与典型的单色字体不同,其中字体不指定任何颜色信息并且应用程序确定前景色和背景色,彩色字体具有多色字形,字体开发人员在其中指定特定颜色。有关彩色字体的概述,请参阅 here(有点过时并且没有提及最近的增强功能,但仍然是一个很好的介绍)。

    OpenType 规范支持不同格式的彩色字体:

    • 使用嵌入的彩色位图
    • 使用嵌入式 SVG
    • 使用标准字形轮廓作为形状,但能够将它们组合成具有指定颜色的图层或应用其他图形操作

    我不知道 Fontforge 是否支持创建彩色字体,但其他字体开发应用程序如 FontCreatorFontLabGlyphs 确实支持彩色字体。

    【讨论】:

      猜你喜欢
      • 2022-08-14
      • 2015-10-21
      • 1970-01-01
      • 2017-12-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多