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

时间:2011-04-19 06:26:31

标签: fonts adobe embedded-fonts glyph

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

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

提前致谢。

1 个答案:

答案 0 :(得分:1)

在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或Mac上的Ghostscript运行此修改后的命令:

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

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

如果你运气不好,它们可能包含大部分eexec编码的PostScript。这个你还需要解码完全可读的PostScript代码......