DVI 驱动程序无法访问自定义 PK 文件

DVI 驱动程序无法访问自定义 PK 文件

我尝试去理解新字体是如何被创建的。

  1. 我画了我风格的字母“L”。
  2. 然后我用 Metafont (MyL.mf) 对其进行了编程。
    mode_setup;
    fontmaking:=1;
    pixels_per_inch:=600;
    beginchar("L", 10pt#, 10pt#, 0);
      "A stylized letter L";
      z1 = (3/8 w, 7/8 h);
      z2 = (1/8 w, 1/8 h);
      z3 = (5/8 w, 1/8 h);
      z4 = (4/8 w, 2/8 h);
      pickup pencircle scaled 0.15w;
      draw z1--z2--z3--z4;
      penlabels(1, 2, 3, 4);  
    endchar;
    end
  1. 之后我用 mf.exe ( mf MyL.mf) 处理了 MyL.mf,得到了文件 MyL.2602gf 和 MyL.tfm。
  2. 然后我将 gftopk.exe 应用于 MyL.2602gf,得到了 MyL.2602pk ( gftopk MyL.2602gf MyL.2602pk)。
  3. 我将 MyL.tfm 复制到了包含 sample.tex 的文件夹中。
  4. 我在那里写道
    \documentclass{article}
    \usepackage[cp1251]{inputenc}
    \usepackage[russian]{babel}

    \newfont{\letterL}{MyL}
    \newcommand{\otherL}{{\letterL L}}
    \font\myfont=MyL

    \begin{document}
    {\myfont L}
    \otherL
    \end{document}
  1. 我使用 latex.exe 编译了 sample.tex。然后我得到了 sample.dvi,我用 yap.exe 打开了它。
  2. 然后我转到 C:\Users\Vladimir\AppData\Local\MiKTeX\2.9\fonts\pk\ljfour\public\latex-fonts,在那里创建一个文件夹 dpi2602 并将 MyL.2602pk 放在那里。我以为 DVI 驱动程序会将 PK 文件带到那里的某个地方……
  3. 打开 DVI 文件时,Yap 生成了一条错误消息,称无法创建所有字体位图。结果,两个字母 L 都打印成了普通字母 L,而不是我所设计的样式。

我有一些疑问:

  1. 总体来说,我的行为顺序正确吗?
  2. 运行 mf.exe 和 gftopk.exe 而不使用任何选项就足够了吗?我只是将这些可执行文件应用到我的文件中。
  3. 我应该将 PK 文件放在哪里以便 Yap 之类的 DVI 驱动程序可以获取它?
  4. 所有其他 PK 文件的扩展名都是 *.pk,但我的文件是 *.2602pk。如何获取 *.pk 文件?

答案1

所以我用自己的字体成功了。感谢回答者。自上述第 3 点以来,我做了一些更改。

  • 我创建了一个批处理文件

    mf.exe "\mode=ljfour; input myL"
    gftopk.exe MyL.600gf myL.pk
    gftodvi myL.600gf
    
  • 然后我复制了两个都将 MyL.tfm 和 MyL.pk 复制到我使用字体的 .tex 文件的文件夹中。.tex 文件如下:

    \documentclass{article}
    \usepackage[cp1251]{inputenc}
    \usepackage[russian]{babel}
    
    \newfont{\lfont}{myL}
    
    \begin{document}
    {\lfont L} L
    \end{document}
    
  • 第一个 L 是我的字体,第二个 L 是默认字体(cmr10)。

  • .tfm 文件对于 LaTeX 是必需的,而 .pk 文件则是用于 DVI 驱动程序的。

相关内容