3

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:

\font\scriptheadingone=ITCEdscr at 24pt \font\scriptheadingtwo-ITCEdscr at 18pt

in my plain TeX source file?

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

Please help! Wedding program needs to be printed this week

Thank you.

George Stewart

7
  • 2
    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, 2016 at 23:41
  • Ok sorry I will edit that out. Thank you for the advice.
    – GAS4
    Apr 26, 2016 at 23:55
  • Do you mean this font? That sample is produced with pdfLaTeX and the truetype font.
    – cfr
    Apr 26, 2016 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, 2016 at 0:02
  • 1
    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, 2016 at 0:12

2 Answers 2

5

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

\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

enter image description here

9
  • I will try this out right away! Thank you. I will get back to you.
    – GAS4
    Apr 27, 2016 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, 2016 at 0:48
  • By the way I am using Xetex
    – GAS4
    Apr 27, 2016 at 0:49
  • 2
    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. Apr 27, 2016 at 1:08
  • 2
    @GAS4 pdfpageheight (same for width) not just \pageheight Apr 27, 2016 at 1:43
5

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}
\adddriver{dvips}{EdwardianScript.map}
\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
  \TeX{} aficionados
  \& \LaTeX{} typographers.\par
\end{document}

produces this output when compiled with pdfLaTeX:

pdfLaTeX scripts

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.

1
  • 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, 2016 at 4:04

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .