# “Wedding” font in plain TeX

I have a plain-TeX source file ready to go that makes a nice wedding program. But I need a script font for the headings. Something like Windows Edwardian Script (Open Type) which comes in a file called ITCEdscr.TTF.

My wedding program source file works both with PCTeX and with MiKTex 2.9. However, I have been unable to install the script font into either system. Without getting into the details of why I have not been able to use system resources to do the installation, I am wondering if someone can help me do a manual installation into either one of these systems, PCTeX or MiKTeX.

Here are my specific questions:

1. I have the True Type font, in this case, ITCEdscr.ttf, located in a directory C:\temp. How do I get that file to to make the files I need for plain TeX to use it (.pfb, .tfm, .enc, .map and any others)? I think I start with ttf2afm but am not sure.

2. Into which directories would I place these files (.pfb, .tfm, .enc, .map, etc.)

3. What else would I have to do, so that I can simply go:

in my plain TeX source file?

At this point I am looking for a quick and dirty, manual-effort solution.

Thank you.

George Stewart

• Is there any reason why you want to use plain TeX? It would be quite simple with XeLaTeX, which can use system fonts! – Bernard Apr 26 '16 at 23:41
• Ok sorry I will edit that out. Thank you for the advice. – GAS4 Apr 26 '16 at 23:55
• Do you mean this font? That sample is produced with pdfLaTeX and the truetype font. – cfr Apr 26 '16 at 23:56
• Yes that one! I just can't get it working in PCTeX or MiKTeX 2.9. I want to create all the necessary files .tfm .pfb .afm .enc .map. And where to put them. For use in plain tex as shown in my original post. – GAS4 Apr 27 '16 at 0:02
• We really need to know if you can use one of the newer engines. Because, if so, that's the easiest solution. See Paul's answer below. – cfr Apr 27 '16 at 0:12

If using the XeTeX or LuaTeX engine with the Plain TeX format is an option, there is a quite simple solution:

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

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

\bye


• I will try this out right away! Thank you. I will get back to you. – GAS4 Apr 27 '16 at 0:17
• It seems to work but how do I make the output in landscape format because that's the way I set it up. When I look at the PDF file it is showing in portrait format so much of the text is cut off – GAS4 Apr 27 '16 at 0:48
• By the way I am using Xetex – GAS4 Apr 27 '16 at 0:49
• You can change the page layout in xetex the same way you change(d) it in pdftex (namely, change \pdfpageheight and \pdfpagewidth and friends for margins). See this question for details: Page Layout in plain tex. – Paul Gessler Apr 27 '16 at 1:08
• @GAS4 pdfpageheight (same for width) not just \pageheight – Paul Gessler Apr 27 '16 at 1:43

In case it is useful to anybody, here are the files I used to install ITC Edwardian Script for use with pdfLaTeX.

As a preliminary, place the truetype font into a clean working directory and name it EdwardianScript.ttf. Then generate an AFM file from the truetype. There are different ways to do this. ttf2afm is a relatively straightforward option.

Then create two .tex files.

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}
\input EdwardianScript-rec.tex
\donedrivers
\bye


Process the -drv.tex followed by the -map.tex file.

Then convert all .pl files to .tfm files using pltotf <filename>.pl and all .vpl files to .vf files using vptovf <filename>.vpl.

This generates everything required to use the truetype font with LaTeX, but a package file is a convenience.

Create 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


The font can now be tested with everything in the working directory and the following code

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


produces this output when compiled with pdfLaTeX:

If desired, the files may be moved into 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


and mktexlsr used to update the file name database.

• Awesome! That is exactly what I was looking for. In the meantime, I was advised that Xetex can access ttf files directly. But I will definitely use the information that you have provided. Thank you – GAS4 Apr 27 '16 at 4:04