需要帮助查找 Adob​​e Type1 二进制字体文件 - PFB 的规范文档

发布于 2024-11-02 02:17:20 字数 170 浏览 0 评论 0原文

我需要读取 PFB 文件并从中提取字形信息。我无法找到特定文件的规范。我有 Adob​​e Type1 字体规范。但 PFB 文件是二进制格式,我无法从中解码字形信息。

我在网上搜索了规格。但我找到的只是类型 1 规范或字形信息。但我需要有关如何从 PFB 文件检索字形信息的说明。

提前致谢。

I need to read PFB files and extract Glyph information from it. I am unable to find the specification for the specific file. I have the Adobe Type1 font specification. But the PFB file is in binary format and i am unable to decode glyph information from it.

I have searched internet for the specification. But all i find is type 1 specification or glyph information. But i need instruction for how to retrieve the glyph information from PFB file.

Thanks in advance.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

往事风中埋 2024-11-09 02:17:20

在 Linux/Unix 上,您可以找到 pfb2pfa 实用程序。该工具将 .pfb 文件转换为其 ASCII 表示形式(带有 .pfa 后缀)。只需运行:

pfb2pfa /path/to/input-fontfile.pfb /path/to/output-fontfile.pfa

您还可以使用 Ghostscript 将 PFB 字体文件转换为其 PFA 形式。

首先,将此内容保存到文件中并将其命名为 pfb2pfa.ps

[ shellarguments {
  counttomark 2 eq {
    /pfa exch def /pfb exch def pop
    /in1 pfb (r) file def
    /in in1 true /PFBDecode filter def
    /out pfa (w) file def
    { in read not { exit } if out exch write } loop
    out closefile in closefile in1 closefile
    quit
  } {
    cleartomark (Usage: pfbtopfa input.pfb output.pfa) = flush
  } ifelse
  } {
  pop
} ifelse

然后,对于 Windows 上的 Ghostscript,运行此命令来转换 fontname.pfb

 gswin32c.exe ^
   -q ^
   -P- ^
   -dSAFER ^
   -dNODISPLAY ^
   -- ^
   "d:/path/to/pfb2pfa.ps" ^
   "f:/path/to/fontname.pfb" ^
   "e:/path/to/fontname.pfa"

对于 Linux、Unix 上的 Ghostscript或者 Mac 运行此修改后的命令:

 gs \
   -q \
   -P- \
   -dSAFER \
   -dNODISPLAY \
   -- \
   "/path/to/pfb2pfa.ps" \
   "/path/to/fontname.pfb" \
   "/path/to/fontname.pfa"

PFA 字体文件是可读的 PostScript 代码,我可以帮助您实现您想要的...

如果您不幸,它们可能包含很大一部分 eexec 编码的 PostScript。您还需要解码此代码才能获得完全可读的 PostScript 代码......

On Linux/Unix you can find the pfb2pfa utility. This tool converts .pfb files to its ASCII representation (with .pfa suffix). Simply run:

pfb2pfa /path/to/input-fontfile.pfb /path/to/output-fontfile.pfa

You can also use Ghostscript to convert PFB font files to their PFA form.

First, save this content to a file and name it pfb2pfa.ps:

[ shellarguments {
  counttomark 2 eq {
    /pfa exch def /pfb exch def pop
    /in1 pfb (r) file def
    /in in1 true /PFBDecode filter def
    /out pfa (w) file def
    { in read not { exit } if out exch write } loop
    out closefile in closefile in1 closefile
    quit
  } {
    cleartomark (Usage: pfbtopfa input.pfb output.pfa) = flush
  } ifelse
  } {
  pop
} ifelse

Then, for Ghostscript on Windows run this command to convert fontname.pfb:

 gswin32c.exe ^
   -q ^
   -P- ^
   -dSAFER ^
   -dNODISPLAY ^
   -- ^
   "d:/path/to/pfb2pfa.ps" ^
   "f:/path/to/fontname.pfb" ^
   "e:/path/to/fontname.pfa"

For Ghostscript on Linux, Unix or Mac run this modified command:

 gs \
   -q \
   -P- \
   -dSAFER \
   -dNODISPLAY \
   -- \
   "/path/to/pfb2pfa.ps" \
   "/path/to/fontname.pfb" \
   "/path/to/fontname.pfa"

PFA fontfiles are readable PostScript code and my help you to achieve what you want...

If you are unlucky, they may contain a large section of eexec-encoded PostScript. This one you need to decode as well for the fully readable PostScript code....

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文