纯 TeX 格式的“婚礼”字体

纯 TeX 格式的“婚礼”字体

我有一个纯 TeX 源文件,可以用于制作一个不错的婚礼程序。但我需要一个脚本字体来制作标题。类似于 Windows Edwardian Script(Open Type)的字体,它包含在一个名为 ITCEdscr.TTF 的文件中。

我的婚礼程序源文件既适用于 PCTeX,也适用于 MiKTex 2.9。但是,我无法在任何一个系统中安装脚本字体。我不想详细解释为什么我无法使用系统资源进行安装,我想知道是否有人可以帮助我手动安装到 PCTeX 或 MiKTeX 这两个系统中。

以下是我的具体问题:

  1. 我有 True Type 字体,在本例中为 ITCEdscr.ttf,位于目录 C:\temp。我如何获取该文件,以便生成纯 TeX 所需的文件(.pfb、.tfm、.enc、.map 和任何其他文件)?我想我从 ttf2afm 开始,但我不确定。

  2. 我应该将这些文件(.pfb、.tfm、.enc、.map 等)放入哪些目录?

  3. 我还必须做什么,以便我可以简单地去做:

\font\scriptheadingone=ITCEdscr 位于 24pt \font\scriptheadingtwo-ITCEdscr 位于 18pt

在我的纯 TeX 源文件中?

此时,我正在寻找一种快速但粗糙的手动解决方案。

请帮忙!本周需要打印婚礼计划表

谢谢。

乔治·斯图尔特

答案1

如果使用 XeTeX 或 LuaTeX引擎使用 Plain TeX格式是一个选项,有一个相当简单的解决方案:

%\input luaotfload.sty % uncomment this line if using luatex; not required for xetex

\font\scriptheadingone="[ITCEDSCR.TTF]" at 24pt
\font\scriptheadingtwo="[ITCEDSCR.TTF]" at 18pt

{\scriptheadingone A wedding}

{\scriptheadingtwo of at least one \TeX\ user to someone who may or may not be a \TeX\ user}

\bye

在此处输入图片描述

答案2

如果它对任何人都有用,这里是我用来安装 ITC Edwardian Script 以便与 pdfLaTeX 一起使用的文件。

首先,将 truetype 字体放入一个干净的工作目录并将其命名为EdwardianScript.ttf。然后从 truetype 生成一个 AFM 文件。有多种方法可以做到这一点。ttf2afm是一个相对简单的选择。

然后创建两个.tex文件。

EdwardianScript-drv.tex

\input fontinst.sty
\needsfontinstversion{1.926}
%:substitutions
%bold for bold extended
\substitutesilent{bx}{b}
\substitutesilent{b}{m}
%:record transformations for later map file creation
\recordtransforms{EdwardianScript-rec.tex}
%:transformations - reencode
        \transformfont{EdwardianScript8r}{\reencodefont{8r}{\fromafm{EdwardianScript}}}
%:installation - creation of virtual fonts
        \installfonts
                \installfamily{T1}{EdwardianScript}{}
                \installfont{EdwardianScript8t}{EdwardianScript8r,newlatin}{t1}{T1}{EdwardianScript}{m}{n}{}
                \installfontas{EdwardianScript8t}{T1}{EdwardianScript}{m}{sc}{}
                \installfontas{EdwardianScript8t}{T1}{EdwardianScript}{m}{it}{}
                \installfontas{EdwardianScript8t}{T1}{EdwardianScript}{m}{sl}{}
                \installfamily{TS1}{EdwardianScript}{}
                \installfont{EdwardianScript8c}{EdwardianScript8r,textcomp}{ts1}{TS1}{EdwardianScript}{m}{n}{}
                \installfontas{EdwardianScript8c}{TS1}{EdwardianScript}{m}{sc}{}
                \installfontas{EdwardianScript8c}{TS1}{EdwardianScript}{m}{it}{}
                \installfontas{EdwardianScript8c}{TS1}{EdwardianScript}{m}{sl}{}
        \endinstallfonts
\endrecordtransforms
\bye

EdwardianScript-map.tex

\input finstmsc.sty
\resetstr{PSfontsuffix}{.ttf}
\adddriver{dvips}{EdwardianScript.map}
\input EdwardianScript-rec.tex
\donedrivers
\bye

处理-drv.tex随后的-map.tex文件。

然后使用 将所有.pl文件转换为.tfm文件pltotf <filename>.pl,并使用 将所有.vpl文件转换为.vf文件vptovf <filename>.vpl

这会生成使用 TrueType 字体和 LaTeX 所需的一切,但包文件很方便。

创造EdwardianScript.sty

\NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{EdwardianScript}[2007/12/20 v1.0 EdwardianScript]
\RequirePackage[T1]{fontenc}
\RequirePackage{textcomp}
%\RequirePackage{nfssext-cfr}
%%Adjusted by cfr in line with gtmacfonts
%%We don't want to add the map file through updmap because only pdftex can use truetype fonts.
\pdfmapfile{+EdwardianScript.map}

\DeclareRobustCommand{\edwardian}{%
        \fontencoding{T1}%
        \fontseries{m}%
        \fontshape{n}%
        \fontfamily{EdwardianScript}%
        \selectfont}
\DeclareTextFontCommand{\edward}{\edwardian}
\endinput
%% end EdwardianScript.sty

现在可以使用工作目录中的所有内容和以下代码来测试字体

\documentclass{article}
\usepackage{EdwardianScript}
\begin{document}
  \Huge\centering
  \edwardian Edwardian Script ITC\par
  A script for\par
  \TeX{} aficionados
  \& \LaTeX{} typographers.\par
\end{document}

使用 pdfLaTeX 编译时产生此输出:

pdfLaTeX 脚本

如果需要,可以将文件移动到 TEXMFLOCAL:

.
├── doc
│   └── fonts
│       └── EdwardianScript
│           ├── EdwardianScript-drv.tex
│           └── EdwardianScript-map.tex
├── fonts
│   ├── afm
│   │   └── public
│   │       └── EdwardianScript
│   │           └── EdwardianScript.afm
│   ├── map
│   │   └── pdftex
│   │       └── EdwardianScript
│   │           └── EdwardianScript.map
│   ├── tfm
│   │   └── public
│   │       └── EdwardianScript
│   │           ├── EdwardianScript.tfm
│   │           ├── EdwardianScript8c.tfm
│   │           ├── EdwardianScript8r.tfm
│   │           └── EdwardianScript8t.tfm
│   ├── truetype
│   │   └── public
│   │       └── EdwardianScript
│   │           └── EdwardianScript.ttf
│   └── vf
│       └── public
│           └── EdwardianScript
│               ├── EdwardianScript8c.vf
│               └── EdwardianScript8t.vf
└── tex
    └── latex
        └── EdwardianScript
            ├── EdwardianScript.sty
            ├── t1edwardianscript.fd
            └── ts1edwardianscript.fd

mktexlsr用于更新文件名数据库。

相关内容