问题标签 [fontforge]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
2552 浏览

truetype - 防止 TrueType 字体的抗锯齿(或子像素渲染)

这是 .ttf 字体的呈现方式:

字体是如何呈现的

我使用 FontForge 创建了这个纯矢量 TrueType 字体。我想在需要基于矢量的字形的应用程序上使用这种字体,并且不支持加载 .ttf 嵌入式位图(似乎没有这个问题)

在某些配色方案中,Windows 所做的这种子像素渲染使字体完全不可读。这种效果存在于大多数 ttf 字体中,但在像我这样具有像素完美边缘的字体上要强得多。

有没有人知道任何可编程的提示技巧或字体设置,可以让字体完美呈现像素而不是这个红色/蓝色光环?我希望字体在不修改操作系统以禁用 ClearType 或类似的情况下正常工作。

澄清一下,这是一个关于利用 TrueType 指令集或更改我可能忽略正确设置的 TrueType 字体设置(不是系统/应用程序设置)以使字体清晰呈现(如果可能)的问题。

0 投票
0 回答
281 浏览

fonts - FontForge 制造的 OpenType 字体在某些(但不是全部)程序中缺少字形

我制作了一个字体系列。它们在除 Google Chrome 和几个 Adob​​e 产品之外的所有程序上都正确呈现,这似乎完全忽略了包括小写 m 在内的少数符号,而是用方形空格替换它们,这是有害的。(此错误已在 Photoshop、Illustrator 和 After Effects 上重现,并且可能是大多数(如果不是所有)其他 Adob​​e 产品。)

未显示的字母为: m Đ Ð Ņ Ũ Ū

您可以看到显示为空白的字母实际上是加载到其他程序上的现有字母。我在 FontForge 上制作了字体,它没有返回任何明显的错误。为什么会发生这种情况,我该如何解决这个问题?

此错误不会在记事本、LibreOffice、GIMP 或 Inkscape 上发生。

两种粗细的字体(顺便说一下,我命名为 Apricity)可以免费下载,而且它有相同的错误。这是下载链接。

0 投票
0 回答
438 浏览

pdf - 如何在多个字体对象具有相同基本字体名称的 PDF 中使用 fontforge 提取字体?

我有这个特殊的单页pdf,其中包含使用两种不同字体对象的内容流。一个恰好是 TrueType 类型,另一个是 Type0。奇怪的是,它们的 BaseFont 名称恰好是相同的,即“ArialMT”。如何使用 fontforge 脚本的 Open() 函数提取这两种字体?

编辑:正如 Mike 'Pomax' Kamermans 所建议的,我会稍微解释一下为什么需要这两种字体。页面的内容流在文本的不同部分使用这两种字体。在使用 Type0 多种字体的情况下(在第二行显示“14.99 m2”),文本内容作为十六进制编码字符串嵌入到内容流中(即在 PDF 的 < hexcharacters> 十六进制字符串的语法)使用 Identity-H 编码。因此,字符串的每两个字节对应一个字形,该字形将使用 Type0 字体后代字体的字体描述符中引用的 FontFile2(TrueType 字体文件,对象引用:9 0 R)字体程序进行映射。现在所有的 PDF 阅读器似乎都正确地呈现了一切,显然 fontforge 开发似乎没有考虑到这种情况(遇到两个具有相同 BaseFont 名称的字体对象),或者我在脚本语言中遗漏了什么?

0 投票
1 回答
2165 浏览

fonts - fontforge - 合并字体以添加字形的脚本

我有两个 .ttf 字体文件,其中一个包含我需要合并到另一个字体文件的字形。使用GUI,会有一个对话框说

当要紧缩的字形之一将来自基本字体时,是否要保留所选字体的紧缩信息?

我需要为此选择。生成合并字体后,会出现一条警告,指出该字体使用了非常规的 em 大小。生成的字体应该带有错误,例如Missing points at extrema,没关系。

现在,这一切都是通过 GUI 完成的,我必须合并很多字体文件,所以我选择了编写脚本。

有了这个,我得到了错误,MergeFeature: Failed to find kern info in file因此无法生成字体。有什么我想念的吗?

0 投票
0 回答
366 浏览

woff - 比较 WOFF 文件

我想知道是否可以(在 Windows 或 ubuntu 中)比较 woff 字体文件。有没有办法找出两个文件是否包含相同的字形等?我获取一个.ttf文件并将其压缩以在 Ubuntu上.woff使用。fontforge一个大小为 220 kb 的 ttf 文件被压缩到 69 kb。

我使用了 jkew 的 people.mozilla 页面上提供的工具,文件被缩小到 113 kb。

2个文件有什么区别?只有压缩还是内容?

0 投票
1 回答
323 浏览

fontforge - 制作多个 unicode 字符的字形

我想知道是否可以将“ 100 ”组合为字形。- 背后的想法是:使“100”与任何 2 位数字相同 - 我只需要能够操作的数字“100”。- 如果我有“100”作为自己的字形,我可以制作自己的“100”或调整 WITH -我知道它可以使用 2 个字符,它称为字距调整,但这仅适用于 PAIRS!- 所以我的问题是用 3 个字符。或者简单地拥有我自己的“100”来编辑 - 或者更简单:如何组合 unicode 字符。

也许它甚至不可能,或者我只需要正确的地方或词来寻找....很多谢谢

0 投票
1 回答
265 浏览

fontforge - 组合变音符号不组合

我有一种字体,其中组合的变音符号不组合。一些应用程序(Adobe Illustrator)正确渲染字体,一个应用程序单独显示字符。不幸的是,这个应用程序存在于我无法控制的服务器上,这使得测试变得困难。当我切换到另一种字体(Arial Unicode MS)时,组合的变音符号会正确显示。此应用程序不支持 OpenType 字体。

例如,U+00EA(ê) 加U+0323(下面的点)应该被呈现为一个上面带有抑扬符和下面的点 (ệ) 的 e,但是一个应用程序将它呈现为 ê。ê 后面的点(点位于正确的垂直位置)

当我View->Combinations->Ligatures在 FontForge 中使用时,这两个字形的组合显示正确。

不是字体设计师,我有点迷茫。什么可能导致这个问题?

0 投票
1 回答
244 浏览

fontforge - FontForge - 如何为字母添加名称

我想在 FontForge 中为我的字母添加文本标签,这样我就可以在 HTML 中按名称而不是实际的字母或符号来引用它们。例如,Google Material Design Font 有许多符号,您可以通过文本标签 (cloud_queue) 或实体代码 () 来引用它们。小料云图标是这样的:

如何在 FontForge 中为字母添加文本标签,例如 cloud_queue?

提前致谢

0 投票
0 回答
346 浏览

python - FontForge - 为什么 Python 脚本不能通过“文件->执行脚本”工作

这曾经在这台机器上工作:我在 Windows 10 的 FontForge 中打开一个字体(图形用户界面,而不是通过命令行)。之前(大约一年前)我能够通过使用菜单从程序中执行 Python 脚本:“文件 -> 执行脚本”。

现在,当我输入脚本时 - 选择了“Python”单选按钮 - 没有任何反应。没有什么。脚本没有结果,没有错误消息,只有“执行脚本”窗口关闭,就像执行了脚本一样。我尝试了简单的单命令脚本进行测试,比如只调用 Close() 或 "Select("xxxx")" 没有运气。

我该如何解决这个问题?我是否缺少一些明显的先决条件?

我正在运行 FontForge 8:20 并在我的 Windows 10 机器上安装了 3.5.1(64 位)。非常感谢您的任何想法。

在此处输入图像描述

更新:我重新安装了 FontForge 并更新了 Python。当我尝试运行脚本时仍然没有发生任何事情。

0 投票
1 回答
297 浏览

python - 如何使用 FontForge Python 分离字形?

在“编码”菜单下的 FontForge GUI 中,有一个“分离字形”选项。我可以在 Python 中做到这一点吗?

更具体地说,在我的 Python 脚本中,当我删除附加到另一个字形的字形时,两者都被清除。我怎样才能避免这种情况?