答案1
如果你访问 CTAN:
https://ctan.org/tex-archive/language/hebrew/hebtex/fonts/pccode
您可以下载存档pcfonts.zip
。解压它,然后查看 INPUTS/MF 文件夹。在那里,您将找到四种所需字体的 metafonts *.mf。
免费程序 FontForge(Linux 和 Windows,可能还有 OS/X)能够打开元字体,并将它们转换为 Unicode Open Type(或 TrueType)字体。这很容易做到。
我刚刚试了一下,确实有效。但我不知道编码是否符合你的预期。
请注意,已经有一个“Jerusalem”TrueType 字体,但它与您想要的字体不同(它是一种具有希伯来风格的拉丁字体)。因此,您需要为字体指定唯一的名称。
上面链接的字体包有“禁止商业使用”的许可证,因此限制了您可以使用它们做的事情。
编辑:关于 2 的幂:TrueType 字体必须具有 1024 或 2048(有时为 4096)个内部单位的“网格”。大多数字体有 1024 个。此外,每个控制点的坐标必须是整数。但如果字体是带 PostScript 轮廓的 Open Type(推荐),则网格为 1000,坐标可以是十进制。
当在 FontForge 中打开 *.mf 时,它会读取现有网格(如果已知)或猜测(根据其自己的默认设置)。如果它使用 1024 并且您尝试导出 Open Type,它会通知您它需要 1000 个网格。如果它使用 1000 并且您尝试导出 TrueType,它会通知您网格必须是 1024 或 2048(2 的幂),并且点必须位于整数坐标上。
如何修复:在 FontForge 菜单中,元素 > 字体信息 > 常规 > em 大小。将 Open Type with PostScript 轮廓更改为 1000。确保选中“缩放轮廓”。然后转到元素 > 字体信息 > 图层并选择“所有图层为立方体”。保存。生成字体时,选择“Open Type (CFF)”。
在字体验证过程中,可能会出现错误消息。通常可以忽略“缺失极值”。您应该更正以错误方式绘制的字形(最外轮廓必须是顺时针方向),并更正自相交的字形。在大多数情况下,即使字体有错误,您也可以生成该字体。
有时,您会看到“错误的字形名称”或“错误的蓝色值”。在许多情况下,如果您关闭程序,然后重新打开文件,这些问题就会自行纠正。
关于丢失的文件:我不知道该怎么办。它们真的很重要吗?我假设您在软件包中使用 LuaLaTeX 或 XeTeX fontspec
,因此您可以加载 Open Type 字体而不需要 TeX 指标或字体定义文件。