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

  • 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 '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
  • 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 '16 at 0:12
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

  • 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
  • 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. – Paul Gessler Apr 27 '16 at 1:08
  • 2
    @GAS4 pdfpageheight (same for width) not just \pageheight – Paul Gessler Apr 27 '16 at 1:43
4

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.

  • 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

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.