summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/doc/fonts/levy
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2006-01-09 00:47:01 +0000
committerKarl Berry <karl@freefriends.org>2006-01-09 00:47:01 +0000
commit950209b26f70aa87ed07c54f82a95b6f03b7c3a0 (patch)
tree32b2d4ab4e36aee3a9aaf41877a5c0c581de9b77 /Master/texmf-dist/doc/fonts/levy
parent71c5ce4be7e36bdc6bdda98641bc9368e28223ad (diff)
doc/fonts
git-svn-id: svn://tug.org/texlive/trunk@83 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/doc/fonts/levy')
-rw-r--r--Master/texmf-dist/doc/fonts/levy/00readme.txt99
-rw-r--r--Master/texmf-dist/doc/fonts/levy/greekhist.tex443
-rw-r--r--Master/texmf-dist/doc/fonts/levy/greekuse.tex248
-rw-r--r--Master/texmf-dist/doc/fonts/levy/grinstall.tex198
-rw-r--r--Master/texmf-dist/doc/fonts/levy/grtestfont.tex245
-rw-r--r--Master/texmf-dist/doc/fonts/levy/makeall20
-rw-r--r--Master/texmf-dist/doc/fonts/levy/makefont18
-rw-r--r--Master/texmf-dist/doc/fonts/levy/testfont25
-rw-r--r--Master/texmf-dist/doc/fonts/levy/todo.txt9
9 files changed, 1305 insertions, 0 deletions
diff --git a/Master/texmf-dist/doc/fonts/levy/00readme.txt b/Master/texmf-dist/doc/fonts/levy/00readme.txt
new file mode 100644
index 00000000000..000ef26a9ef
--- /dev/null
+++ b/Master/texmf-dist/doc/fonts/levy/00readme.txt
@@ -0,0 +1,99 @@
+This directory contains materials for using TeX to typeset Greek
+text using Sylvio Levy's fonts. The following files are present:
+
+00readme.txt This file.
+a.mf MF code for alpha-based characters
+b.mf MF code for beta-based characters
+d.mf MF code for delta-based characters
+digits.mf MF code for numerals
+e.mf MF code for epsilon-based characters
+f.mf MF code for phi-based characters
+g.mf MF code for gamma-based characters
+gen_acc.mf MF code for accents
+gen_sigma.mf MF code for sigma compounds
+graccent.mf MF code for accents
+grbase.mf MF code for base Greek macros
+grbld8.mf Parameter file for 8pt Bold
+grbld9.mf Parameter file for 9pt Bold
+grbld10.mf Parameter file for 10pt Bold
+greek.mf Driver file for Greek font
+greekhist.tex History of Greek typesetting and info on
+ these fonts
+greekmacros.tex Macros to use Greek fonts.
+greekuse.tex Instructions on using the fonts.
+grinstall.tex Instructions on installing the fonts.
+grpunct.mf MF code for punctuation
+grreg8.mf Parameter file for 8pt "Roman"
+grreg9.mf Parameter file for 9pt "Roman"
+grreg10.mf Parameter file for 10pt "Roman"
+grtestfont.tex Testing TeX file for Greek (analagous to
+ testfont.tex)
+grtt10.mf Parameter file for 10pt Typewriter
+h.mf MF code for eta-based characters
+i.mf MF code for iota-based characters
+j.mf MF code for theta-based characters
+k.mf MF code for kappa-based characters
+l.mf MF code for lambda-based characters
+lig.mf MF code for ligatures
+lower.mf Driver file for lower case Greek letters
+m.mf MF code for mu-based characters
+makeall. Shell script to make all fonts
+makefont. Shell script to generate a font.
+modes.mf Mode definitions
+n.mf MF code for nu-based characters
+o.mf MF code for omicron-based characters
+p.mf MF code for pi-based characters
+q.mf MF code for chi-based characters
+r.mf MF code for rho-based characters
+s.mf MF code for sigma-based characters
+t.mf MF code for tau-based characters
+testfont. Shell script to test fonts.
+todo.txt List of improvements to be made to the fonts.
+u.mf MF code for upsilon-based characters.
+upper.mf MF code for upper case characters
+w.mf MF code for omega-based characters
+x.mf MF code for xi-based characters
+y.mf MF code for psi-based characters
+z.mf MF code for zeta-based characters
+
+Copyright (C) 1987 Princeton University
+
+These fonts by Silvio Levy are partly based on Don Knuth's
+Computer Modern family of fonts. They are distributed WITHOUT
+ANY WARRANTY, express or implied. Please send comments,
+suggestions, etc. to levy@princeton.edu
+
+IMPORTANT NOTE:
+
+These fonts make use of the 256-character capabilities of gf
+format. They cannot be converted to the obsolete PXL format which
+allows only 128 characters. If you are still using PXL format
+drivers, it is time to convert. If you are using a gf format
+driver with only 128 character capacity, you are missing
+something. See doc/install.tex.
+
+Metafont must have |max_in_open| increased (to 10) to compile
+these fonts as they stand. The appropriate change has been added
+to the change files on the UnixTeX distribution. If you're
+getting these fonts other than from the TeX distribution, and if
+you don't have access to Metafont source, you'll have to merge
+some files before you attempt compilation:
+
+ In src/s.mf, replace the line readfrom("gen_sigma") by the
+ contents of src/gen_sigma.mf.
+ In src/lower.mf, replace each line by the contents of the
+ corresponding file; for instance, replace readfrom("a") by
+ the contents of src/a.mf.
+ In greek.mf, right after the line that says ``font_setup''
+ insert the lines
+
+ readfrom("gen_acc");
+ readfrom("gen_sigma");
+
+HMC:
+At HMC a couple of modifications have been made to the MF files:
+
+ The definition of readfrom has been changed so that no
+ directory information is present.
+ accent.mf has been renamed graccent.mf and punct.mf has been
+ renamed grpunct.mf to prevent conflicts with CM files.
diff --git a/Master/texmf-dist/doc/fonts/levy/greekhist.tex b/Master/texmf-dist/doc/fonts/levy/greekhist.tex
new file mode 100644
index 00000000000..044e29601e0
--- /dev/null
+++ b/Master/texmf-dist/doc/fonts/levy/greekhist.tex
@@ -0,0 +1,443 @@
+%\magnification=\magstep1
+\def\midspace#1{}
+\def\caption#1{}
+
+\input greekmacros
+
+\greekdelims
+
+\def\plus{\math{}+{}\math}
+\font\man=logo10 at 10true pt % font used for special symbols (old version)
+ \def\MF{{\man META}\-{\man FONT}}%
+% macros for verbatim scanning
+\newskip\ttglue \ttglue=.5em plus.25em minus.15em
+\chardef\other=12
+\def\ttverbatim{\begingroup
+ \catcode`\\=\other
+ \catcode`\{=\other
+ \catcode`\}=\other
+ \catcode`\$=\other
+ \catcode`\&=\other
+ \catcode`\#=\other
+ \catcode`\%=\other
+ \catcode`\~=\other
+ \catcode`\_=\other
+ \catcode`\^=\other
+ \obeyspaces \obeylines \tt}
+
+\outer\def\begintt{$$\let\par=\endgraf \ttverbatim \parskip=\z@
+ \catcode`\|=0 \rightskip-5pc \ttfinish}
+{\catcode`\|=0 |catcode`|\=\other % | is temporary escape character
+ |obeylines % end of line is active
+ |gdef|ttfinish#1^^M#2\endtt{#1|vbox{#2}|endgroup$$}}
+
+\catcode`\|=\active
+{\obeylines \gdef|{\ttverbatim \spaceskip\ttglue \let^^M=\ \let|=\endgroup}}
+
+%\documentstyle{amsppt}
+%\nologo
+%
+%\topmatter
+%\title Typesetting Greek \endtitle
+%\author Silvio Levy \endauthor
+%\affil Princeton University \endaffil
+%\address{Fine Hall, Washington Road, Princeton, NJ, 08544}
+%\abstract{
+%We discuss the design, creation and use of a family of Greek fonts for
+%\TeX. The fonts can be used for modern or classical
+%Greek, by themselves or in combination with the Computer Modern family
+%of fonts. A short historical introduction is followed by a discussion
+%of special topics, including the handling of accents and breathings,
+%hyphenation, and the two varieties of sigma.
+%}
+%\endtopmatter
+%\document
+%
+
+\font\eightpoint=cmr8
+\font\twelverm=cmr10 at 12pt
+\def\heading#1\endheading{\bigskip\centerline{\twelverm#1}\medskip}
+
+%formatting conventions for proceedings
+\catcode`@=11
+\font\titlefont=cmr17
+\font\namefont=cmcsc10 scaled \magstep1
+\font\twelvebd=cmbx10 scaled \magstep1
+\font\twelverm=cmr10 scaled \magstep1
+\font\sixrm=cmr6
+\vsize=43pc
+\hsize=29pc
+\parindent=16pt
+\nopagenumbers
+\normalbaselines
+\footline={\hss\sixrm\folio\hss}
+\def\makefootline{\baselineskip3pc\line{\the\footline}}
+\def\plainoutput{\shipout\vbox{\makeheadline\pagebody\makefootline}%
+ \advancepageno
+ \vsize=45pc
+ \ifnum\outputpenalty>-\@MM \else\dosupereject\fi}
+\def\makeheadline{\vbox to\z@{\vskip-22.5\p@
+ \line{\vbox to8.5\p@{}\ifnum\count0=1
+ \else\ifodd\count0
+ \hfill\the\doctitle\ignorespaces
+ \else \the\authorname\hfill\fi\fi}\vss}\nointerlineskip}
+
+\newtoks\doctitle \newtoks\authorname
+
+\doctitle={Typesetting Greek}
+\authorname={Silvio Levy}
+\catcode`@=12 % at signs are no longer letters
+\tenrm
+\begingroup
+\titlefont
+\the\doctitle
+\vskip 3pc
+\namefont\the\authorname
+\tenrm
+\vskip 1pc
+{\obeylines
+Mathematics Department
+Princeton University
+Princeton, NJ, 08544
+}
+\vskip 3pc
+\line{\hfill\twelvebd ABSTRACT\hfill}
+\vskip 3pc
+\leftskip 4pc \rightskip 4pc
+We discuss the design, creation and use of a family of Greek fonts for
+\TeX. The fonts can be used for modern or classical
+Greek, by themselves or in combination with the Computer Modern family
+of fonts. A short historical introduction is followed by a discussion
+of special topics, including the handling of accents and breathings,
+hyphenation, and the two varieties of sigma.
+\par
+\endgroup
+\vskip 3pc
+
+\heading A Bit of History \endheading
+
+During the first four centuries after the introduction of the printing
+press in Europe, the printing of Greek was hampered by the relative
+inadequacy of existing types, at least in comparison with the quality
+and variety of the best roman fonts. This was partly a consequence
+of the antiquity of the language and its consequent evolution in both
+writing and pronunciation: not only did the letterforms change over time,
+but they came to be adorned with a multitude of diacritical marks, a
+legacy of zealous scribes and grammarians anxious to preserve the
+pristine state of the language that lent them their prestige.
+
+In the early days we find that the few printers that attempted to cut
+Greek type generally ignored all this complexity, either disregarding
+the diacritics or casting them separately and setting them
+above each line of text. Some texts were printed in
+lowercase only; others would make do with roman capitals like `A' and
+even some lowercase roman glyphs, like `v' for `$n$'. (See figures
+1--12 in [Brit.~Mus.~1927], an excellent historical survey.)
+
+In 1495 Aldus Manutius introduced cursive greeks.
+They became a resounding success, as they reproduced the florid
+and idiosyncratic handwriting of the day, full of abbreviations
+and ligatures. The inordinate number of ligatures is in fact the
+most striking feature of such fonts: for example, Fell's ``Great
+Primer Greek'' [Morison 1967, p.~102] has sorts for many
+four-letter words and prefixes.
+
+Although skilfully typeset books using cursive fonts are undeniably
+beautiful (see [Brit.~Mus.~1927], figure 29), the use of so many
+ligatures was a nightmare for compositor and reader alike, since
+in some cases the component letters are virtually unidentifiable.
+Gradually the fonts were scaled down in size, but the practice
+of imitating handwriting remained until the end of the eighteenth
+century, when Bodoni, G\"oschen and Didot paved the way back to a
+more sober course.
+
+Still problems remained. Porson's greek [Mosley 1960], first used
+in 1826 and destined to become the standard of the English-speaking
+world, continues the illogical tradition of mixing upright capitals
+with slanted minuscules; in particular the blending of Greek and roman
+text leads to poor results (figure 1). Didot's design was somewhat
+more felicitous, and became standard in Italy, France and Greece itself
+(figure 2), but the type is narrow and irregular, bearing, according
+to Scholderer [Brit.~Mus.~1927, p.~14], the `malign mark' of Bodoni's
+greeks (which were admittedly not a match for his inspired romans).
+\midspace{1.1truein}
+\caption{\eightpoint Figure 1}
+
+\midspace{1.2truein}
+\caption{\eightpoint Figure 2}
+
+(Incidentally, the different treatment of capitals established itself
+in mathematical typesetting. In English books, Greek capitals are the
+only math letters that are not slanted; in French and German books
+they conform with the rest. The Computer Modern Greek faces are
+based on Porson. They are, of course, meant for math; when used
+for text, as in [Wonneberger 1987], the results fall short of
+the perfection achievable with \TeX.)
+
+It was not until the beginning of this century that really
+well-designed Greek types became available, including Scholderer's
+`New Hellenic' type (figure 3), based on a pre-Aldine model,
+and the Monotype font shown in figure 4, a much improved version
+of Didot's design and perhaps the typeface most favored for
+high-quality printing in Greece during the last few decades.
+\midspace{1.1truein}
+\caption{\eightpoint Figure 3}
+
+\midspace{1.3truein}
+\caption{\eightpoint Figure 4}
+
+\heading Requirements \endheading
+
+My main motivation in designing a family of Greek fonts is the
+preparation of a Modern Greek--English dictionary. This in itself
+makes the design more exacting: the fonts should not only look good
+individually and in combination, but also blend well with Computer
+Modern fonts; there should be at least three main styles, different
+enough that no special effort to distinguish between them is required,
+even in small point size; and the typing should be as painless as
+possible on a standard (English) keyboard.
+This last condition is, of course, open to interpretation, but I
+define it to mean that each grapheme (letter, accent, etc.)~should
+require as few keystrokes as possible---generally one, but
+occasionally more, like accents in English.
+
+In esthetic terms there are a lot of details to work out, but the
+foundation has been laid. I follow loosely the type shown in figure 4,
+which shares several features with the Computer Modern roman:
+sharp contrast between thicks and thins, similar letter widths,
+and a wealth of texture and detail. (This is not surprising since
+the `modern' family of fonts goes back to Bodoni and Didot.)
+But it also has distinguishing features, which recapture some of the
+beauty of cursive writing: its strokes are more fluid, and there
+is no left-right symmetry (compare a roman `o' with a greek `$o$').
+
+Modern Greek has traditionally been typeset with the diacritic
+apparatus of ancient Greek, which is very rich: it contains two accents,
+the acute $'$ and the grave $`$, that can go over any vowel, plus one,
+the circumflex $~$, that can go over the vowels $ahiuw$; two so-called
+breathings $<>$, one of which goes over every vowel or diphthong
+in initial position; the diaeresis $"$, that can go over $i$ and $u$;
+and the iota subscript $|$, that can go under $ahw$. An accent
+plus a breathing, or an accent plus the dieresis, can coexist;
+furthermore any accent, breathing or accent-breathing combination
+can share a vowel with an iota subscript. Here, for example,
+are the 24 possible varieties of lowercase $a$:
+\display
+\hbox{$a 'a `a ~a <a <'a <`a <~a >a >'a >`a >~a
+a| 'a| `a| ~a| <a| <'a| <`a| <~a| >a| >'a| >`a| >~a|$}
+\display
+
+In the last several decades the tendency has been to get rid of these
+complications, and now the ``official'' system in use in Greece includes
+only one accent and the dieresis, without breathings or iota subscripts.
+Even though I work primarily with modern Greek, however, I thought
+it short-sighted not to include the whole apparatus, having in mind
+both classicists and those traditionalists who
+still prefer the three-accent system, as do some publishing houses.
+
+It was clear right away that these diacritics should be implemented as
+ligatures, not as \TeX\ accents, because in \TeX\ words that include
+accents cannot be hyphenated. This implied that 128 font
+positions were not enough. Fortunately \TeX\ and \MF\ are
+well equipped to handle 256-position fonts, though most device
+drivers are not (see the section `Other Problems').
+
+Following the one-keystroke-per-grapheme rule, then, one can conjure
+up the last alpha in the display above by typing |>~a|{\tt\char`\|},
+which accesses a four-character ligature. The remaining conventions
+for diacritics are: |'| and |`| for the acute and grave, respectively;
+|"| for the dieresis; and |<| for the rough breathing. (If you're
+wondering how to produce quotation marks, or $((e>isagwgik'a))$,
+it's by typing |((| and |))|.)
+
+\heading The Font Layout \endheading
+
+A further complication has to do with the letter sigma. According to
+Knuth [1980], the letter `s' is in a class by itself in terms of
+complexity of design; its Greek counterpart is similarly difficult, though
+for different reasons. A sigma in initial or medial position in the word
+is written $c$, but in final position it is written $s$. Since the
+alternation is entirely conditioned, it seemed a pity to require different
+characters in the \TeX\ file to represent the two varieties of sigma.
+
+The first solution I tried made no assumptions on the font. It
+consisted in making `s' an active character, which checked the next
+token and printed $c$ if it was a letter, $s$ otherwise. There were
+two drawbacks to this procedure: the letter `s' could not be used
+in control sequences, and the check was expensive. (It also didn't
+work when the next token was a control sequence that expanded to one
+or more letters.)
+
+A better idea is to save one position in the font for an
+invisible dummy character. All punctuation marks (and the space)
+are made active; they expand to the dummy end-of-word character,
+plus the punctuation character. An `s' by itself prints as $c$,
+while an `s' in ligature with the dummy---which is to say, at the end
+of a word---prints as $s$. All other letters yield themselves when
+in ligature with the dummy. This is still not ideal for two reasons:
+\TeX\ is always ``obeying spaces,'' and words separated by something
+other than punctuation or spaces (say |\par|) count as one. (But
+this might be the only practicable solution for the Hebrew alphabet,
+which has five chameleon letters.)
+
+The solution I chose avoids the drawbacks above, at the expense of
+several positions in the font. Namely, the font contains each of
+the possible combinations $sa$, $sb$, \dots, $sw$, which are
+automatically accessed as ligatures when the word contains `s'
+followed by a letter.
+
+\pageinsert
+{
+\font\twelverm=cmr10 scaled \magstep1
+\font\twelvei=cmmi10 scaled \magstep1\skewchar\twelvei='177
+\font\twelvesy=cmsy10 scaled \magstep1\skewchar\twelvesy='60
+\font\twelvebf=cmbx10 scaled \magstep1
+\font\twelvett=cmtt10 scaled \magstep1\hyphenchar\twelvett=-1
+\font\twelvesl=cmsl10 scaled \magstep1
+\font\twelveit=cmti10 scaled \magstep1
+
+\def\twelvepoint{\def\rm{\fam0\twelverm}%
+ \textfont0=\twelverm
+ \textfont1=\twelvei
+ \textfont2=\twelvesy
+ \textfont3=\tenex
+ \def\it{\fam\itfam\twelveit}%
+ \textfont\itfam=\twelveit
+ \def\sl{\fam\slfam\twelvesl}%
+ \textfont\slfam=\twelvesl
+ \def\bf{\fam\bffam\twelvebf}%
+ \textfont\bffam=\twelvebf \scriptfont\bffam=\sevenbf
+ \scriptscriptfont\bffam=\fivebf
+ \def\tt{\fam\ttfam\twelvett}%
+ \textfont\ttfam=\twelvett
+ \tt \ttglue=.5em plus.25em minus.15em
+ \normalbaselineskip=14.5pt
+ \setbox\strutbox=\hbox{\vrule height10.5pt depth4pt width0pt}%
+ \normalbaselines\rm}
+
+\twelvepoint
+\font\my=grreg10 scaled \magstep1
+\centerline{
+\def\:{\char\count255\global\advance\count255 by 1}
+\count255='0
+\vbox{
+\hbox{\hbox to 40pt{\it\hfill0\/\hfill}%
+\hbox to 40pt{\it\hfill1\/\hfill}%
+\hbox to 40pt{\it\hfill2\/\hfill}%
+\hbox to 40pt{\it\hfill3\/\hfill}%
+\hbox to 40pt{\it\hfill4\/\hfill}%
+\hbox to 40pt{\it\hfill5\/\hfill}%
+\hbox to 40pt{\it\hfill6\/\hfill}%
+\hbox to 40pt{\it\hfill7\/\hfill}}
+\vskip 4pt
+\hrule
+\def\^{\vrule height 10.5pt depth 4.5pt}
+\halign{\hbox to 0pt{\hskip -24pt {\rm\'{}\kern-.2em\it#}\hfill}&\^
+\hbox to 40pt{\my\hfill#\hfill\^}&
+&\hbox to 40pt{\my\hfill#\hfill\^}\cr
+00&\:&\:&\:&\:&\:&\:&\:&\:\cr\noalign{\hrule}
+01&\:&\:&\:&\:&\:&\:&\:&\:\cr\noalign{\hrule}
+02&\:&\:&\:&\:&\:&\:&\:&\:\cr\noalign{\hrule}
+03&\:&\:&\:&\:&\:&\:&\:&\:\cr\noalign{\hrule}
+04&\:&\:&\:&\:&\:&\:&\:&\:\cr\noalign{\hrule}
+05&\:&\:&\:&\:&\:&\:&\:&\:\cr\noalign{\hrule}
+06&\:&\:&\:&\:&\:&\:&\:&\:\cr\noalign{\hrule}
+07&\:&\:&\:&\:&\:&\:&\:&\:\cr\noalign{\hrule}
+10&\:&\:&\:&\:&\:&\:&\:&\:\cr\noalign{\hrule}
+11&\:&\:&\:&\:&\:&\:&\:&\:\cr\noalign{\hrule}
+12&\:&\:&\:&\:&\:&\:&\:&\:\cr\noalign{\hrule}
+13&\:&\:&\:&\:&\:&\:&\:&\:\cr\noalign{\hrule}
+14&\:&\:&\:&\:&\:&\:&\:&\:\cr\noalign{\hrule}
+15&\:&\:&\:&\:&\:&\:&\:&\:\cr\noalign{\hrule}
+16&\:&\:&\:&\:&\:&\:&\:&\:\cr\noalign{\hrule}
+17&\:&\:&\:&\:&\:&\:&\:&\:\cr\noalign{\hrule}
+20&\:&\:&\:&\:&\:&\:&\:&\:\cr\noalign{\hrule}
+21&\:&\:&\:&\:&\:&\:&\:&\:\cr\noalign{\hrule}
+22&\:&\:&\:&\:&\:&\:&\:&\:\cr\noalign{\hrule}
+23&\:&\:&\:&\:&\:&\:&\:&\:\cr\noalign{\hrule}
+24&\:&\:&\:&\:&\:&\:&\:&\:\cr\noalign{\hrule}
+25&\:&\:&\:&\:&\:&\:&\:&\:\cr\noalign{\hrule}
+26&\:&\:&\:&\:&\:&\:&\:&\:\cr\noalign{\hrule}
+27&\:&\:&\:&\:&\:&\:&\:&\:\cr\noalign{\hrule}
+30&\:&\:&\:&\:&\:&\:&\:&\:\cr\noalign{\hrule}
+31&\:&\:&\:&\:&\:&\:&\:&\:\cr\noalign{\hrule}
+32&\:&\:&\:&\:&\:&\:&\:&\:\cr\noalign{\hrule}
+33&\:&\:&\:&\:&\:&\:&\:&\:\cr\noalign{\hrule}
+34&\:&\:&\:&\:&\:&\:&\:&\:\cr\noalign{\hrule}
+35&\:&\:&\:&\:&\:&\:&\:&\:\cr\noalign{\hrule}
+36&\:&\:&\:&\:&\:&\:&\:&\:\cr\noalign{\hrule}
+37&\:&\:&\:&\:&\:&\:&\:&\:\cr\noalign{\hrule}}}
+}
+}
+\endinsert
+
+With all the s\plus letter combinations and all the vowels with
+diacritics, it turns out that not even 256 characters are enough.
+Since I couldn't push the font size any further, I decided to
+eliminate some of the vowel\plus diacritic combinations. The obvious
+candidates were the combinations of breathings with grave accent,
+which can only occur in a restricted number of monosyllables, and
+thus can be typeset as accents, because no hyphenation is required
+anyway. So I made the characters |<| and |>| active. Depending on
+whether or not the next character is $`$, these active characters
+expand to an |\accent| or to a |\char|, the latter meant to form
+a ligature with what comes next. (Actually, things are not quite
+so simple. A breathing or accent over a capital vowel is
+traditionally written before the letter, so the |\accent| control
+sequence is only emitted if the following character is lowercase.)
+
+The complete layout of the fonts is shown on the next page. There
+are a few unfilled positions, two of which I'm saving for the digamma,
+whose design I haven't yet tackled.
+
+\heading Other Problems \endheading
+
+In order to write continuous text, I had to prepare a modern Greek
+hyphenation table, which I'm currently testing.
+The hyphenation of modern Greek follows closely that of ancient Greek,
+which is straightforward (that is, described by a fairly short set of
+rules) because Greek had originally a phonetic script---one letter
+for each phoneme and vice versa. This conservatism means that
+hyphenation does not necessarily occur between syllables, as in
+the word $stau-r'os$ `cross', now pronounced
+[sta\'{}vros]; but this apparently doesn't bother anyone.
+
+One difficulty, however, cannot be resolved by means of mechanical
+rules: the digraphs $mp$, $nt$ and $gk$ are sometimes pronounced as
+nasal\plus voiced stop, sometimes as voiced stop alone, depending on
+the word (also sometimes on the speaker). In the first case, the group
+can be split, but in the second, one should hyphenate before the group.
+This problem seems to be solvable only by trial and error.
+
+The last problem I want to discuss is that of device drivers.
+We have been using various |dvi|-to-PostScript drivers in Princeton,
+and I found that none of them would work with
+256-character fonts, even though both \TeX\ and PostScript are
+designed to handle such fonts. I was, however, able to adapt Nelson
+Beebe's excellent driver |dvialw| [Beebe 1987] after making only
+three changes, because the program is well written and well documented.
+I exhort all those who write |dvi| drivers to include 256-character
+fonts in their design, since they will certainly become more necessary
+as \TeX\ extends its reach around the world.
+
+\heading Bibliography \endheading
+
+\def\\{\smallskip\hangindent=\parindent\hangafter=1\noindent\ignorespaces}
+\\
+Nelson H. F. Beebe, Public domain \TeX\ DVI driver family,
+{\it TUGboat}, {\bf 8}:1 (1987), 41--42.
+\\
+British Museum, {\it Greek Printing Types}, London, British Museum, 1927.
+\\
+Donald E. Knuth, The Letter S, {\it The Mathematical Intelligencer},
+{\bf 2} (1980), 114--122.
+\\
+Stanley Morison, {\it John Fell: the University Press and the `Fell'
+Types}, Oxford, Clarendon Press, 1967.
+\\
+J. M. Mosley, Porson's Greek Types, {\it Penrose Annual}, {\bf 54} (1960),
+36--40.
+\\
+Reinhard Wonneberger, Typesetting `Normaltext', {\it TUGboat},
+{\bf 8}:1 (1987), 63--72.
+\end
diff --git a/Master/texmf-dist/doc/fonts/levy/greekuse.tex b/Master/texmf-dist/doc/fonts/levy/greekuse.tex
new file mode 100644
index 00000000000..39c6504c13f
--- /dev/null
+++ b/Master/texmf-dist/doc/fonts/levy/greekuse.tex
@@ -0,0 +1,248 @@
+\input amstex
+\documentstyle{amsppt}
+\nologo
+\hsize=6.5in
+\vsize=9in
+\widowpenalty=10000
+\clubpenalty=10000
+
+\input greekmacros
+\greekdelims
+
+\font\sc=cmcsc10
+\def\LaTeX{{\rm L\kern-.36em\raise.3ex\hbox{\sc a}\kern-.15em
+ T\kern-.1667em\lower.7ex\hbox{E}\kern-.125emX}}
+\def\plus{\math{}+{}\math}
+\def\.#1{{\tt #1}}
+\def\disp#1{\line{\tt #1\hfil}}
+\def\angles#1{{$\langle$\rm #1$\rangle$}}
+\chardef\!`\\
+\chardef\~`\~
+\chardef\{`\{
+\chardef\}`\}
+\chardef\#`\#
+\def\begineight{\smallskip\bgroup\eightpoint}
+\def\endeight{\par\egroup\smallskip}
+
+\def\verbatim{\begingroup
+ \def\do##1{\catcode`##1=12 } \dospecials
+ \parskip 0pt \parindent 0pt
+ \catcode`\ =13 \catcode`\^^M=13
+ \tt \catcode`\?=0 \verbatimdefs \verbatimgobble}
+{\catcode`\^^M=13{\catcode`\ =13\gdef\verbatimdefs{\def^^M{\ \par}\let =\ }} %
+ \gdef\verbatimgobble#1^^M{}}
+\def\beginverbatim{\smallskip\begingroup\verbatim}
+\def\endverbatim{\endgroup\endgroup\smallskip}
+
+\topmatter
+\title Using Greek Fonts with \TeX\endtitle
+\author Silvio Levy \endauthor
+\affil
+ Princeton University \\
+ Fine Hall, Washington Road\\
+ Princeton, NJ, 08544\\
+ (\.{levy\@princeton.edu})
+\endaffil
+\endtopmatter
+\document
+
+\abovedisplayskip6pt plus3pt minus3pt
+\belowdisplayskip6pt plus3pt minus3pt
+\abovedisplayshortskip0pt plus3pt
+\belowdisplayshortskip4pt plus3pt minus4pt
+
+In this document I hope to show that typesetting Greek in \TeX\
+using the \.{gr} family of fonts can be as easy as typesetting
+English text, and leads to equally good results.
+This is meant to be a tutorial, not an exhaustive discussion;
+some \TeX nical remarks that should be useful after the reader
+has acquired some familiarity with the fonts are printed in fine
+print.
+
+\heading
+The Alphabet
+\endheading
+
+In order to typeset Greek text, you need to go into ``Greek mode.''
+This is achieved by typing \.{\!begingreek} anywhere in your document;
+Greek mode will remain in effect until you type a matching \.{\!endgreek}.
+While in Greek mode, the letters `a' to `z' and `A' to `Z' come out
+as Greek letters, according to the following code:
+\display
+\hbox{\valign
+ {\hbox to 10pt{\hfil\strut$#$\hfil}&\hbox to 10pt{\hfil\strut\tt#\hfil}\cr
+ a&a\cr b&b\cr g&g\cr d&d\cr e&e\cr z&z\cr h&h\cr j&j\cr
+ i&i\cr k&k\cr l&l\cr m&m\cr n&n\cr x&x\cr o&o\cr p&p\cr
+ r&r\cr c&s\cr t&t\cr u&u\cr f&f\cr q&q\cr y&y\cr w&w\cr}}
+\enddisplay
+
+There is no digamma yet. The same character `s' will print as
+`$c$' or `$s$', depending on its position in a word.
+
+\begineight
+The system does this by accessing a ligature of `s' with any other
+letter that follows it. If, for some reason, you want to print
+an initial/medial sigma by itself (as in the table above), or
+at the end of a word, you should type `c'.
+\endeight
+
+Try to typeset some simple text now. Create a file
+containing the following lines:
+
+\beginverbatim
+\input greekmacros % where \begingreek and other commands are defined
+This is English text.
+\begingreek
+This is Greek text.
+\endgreek
+?endverbatim
+
+When you \TeX\ this file, you get the following gibberish:
+\display
+\hbox{
+This is English text.
+\begingreek
+This is Greek text.
+\endgreek
+}
+\enddisplay
+
+If you say \.{\!greekdelims} near the top of your file,
+the character \.{\$} can be used
+in place of both \.{\!begingreek} and \.{\!endgreek}. The control
+sequence \.{\!math} takes on the former meaning of \.{\$}.
+
+\heading
+Accents and Breathings
+\endheading
+
+To get an acute, grave or circumflex accent over a vowel,
+type \.{'}, \.{`} or \.{\~}, respectively, before the vowel.
+To get a rough or smooth breathing, type \.{<} or \.{>} before
+the vowel (or rho) and any accent that it may have. To get an iota
+subscript, type \.{|} {\it after\/} the vowel. A diaeresis is
+represented by \.{"}, and if accompanied by an accent it can come
+before or after the accent.
+
+For example, \hbox{\.{>en >arq\~h| >\~hn <o l'ogos}}
+gives \hbox{$>en >arq~h| >~hn <o l'ogos$}.
+Neat, ain't it?
+
+\begineight
+Accents and breathings, too, are typeset by means of ligatures: a
+vowel with a breathing, an accent and iota subscript, for example,
+is realized as a four-character ligature. The only exception is
+when a breathing is followed by a grave accent, in which case the
+breathing\plus accent combination is typeset as a \TeX\ \.{\!accent}
+over the vowel. This means that words containing such combinations
+cannot be hyphenated in (standard) \TeX; but this is not a problem
+because, with the exception of very rare cases of crasis, all such words
+are monosyllables.
+\endeight
+
+\heading
+Punctuation
+\endheading
+
+Here's the table of correspondences for punctuation:
+\display
+\hbox{\valign
+ {\hbox to 15pt{\hfil\strut$#$\hfil}&\hbox to 15pt{\hfil\strut\tt#\hfil}\cr
+ .&.\cr ,&,\cr ;&;\cr :&:\cr !&!\cr ?&?\cr ''&''\cr ((&((\cr ))&))\cr}}
+\enddisplay
+The last three entries represent the apostrophe and quotations marks.
+The other available non-letters are the ten digits, parentheses,
+brackets, hyphen, em- and en-dashes, slash, percent sign, asterisk,
+plus and equal signs. All of these are accessible in the same way as
+under plain \TeX. In a future release there will be tick marks for
+numbers (\math\hbox{$a$}'=1\math, \math{}_\prime\hbox{$a$}=1000\math).
+
+\heading
+Hyphenation
+\endheading
+
+A hyphenation table for both modern and ancient Greek is currently
+being debugged. For now one can use plain \TeX\ with its (English)
+hyphenation table, which gives the right results about 90\% of the
+time (amazing, isn't it?). Be sure to proofread your text carefully,
+unless you've turned hyphenation off.
+
+\begineight
+In standard \TeX, only one hyphenation dictionary can be used in
+a job. Thus, even with a Greek hyphenation table, a file that
+combines Greek and English text is likely to be incorrectly
+hyphenated. Michael Ferguson's extension to \TeX\ handles multiple
+hyphenation tables, and hyphenates words containing \.{\!accent}s
+(cf.~the previous fine print paragraph).
+\endeight
+
+\heading
+Interaction with other macros
+\endheading
+
+While in Greek mode you can do just about everything that you can
+outside: go into math mode, create boxes, alignments, and so on.
+The file \.{greekmacros.tex} sets things up so that in Greek mode
+the control sequences \.{\!tt} and \.{\!bf} switch to a
+typewriter and a bold Greek font, respectively: thus
+\.{\{\!tt s''>agap\~w\}} gives \hbox{$\tt s''>agap~w$}. (Try it.)
+On the other hand, there are no ``italic'' or slanted Greek fonts,
+so \.{\!it} and \.{\!sl} will give you the same fonts as outside
+Greek mode. The various constructions under
+\AmSTeX\ and \LaTeX\ for increasing or decreasing point sizes don't
+work yet; they will in a future release.
+
+The characters that form diacritics (\.{<}, \.{>},
+\.{'}, \.{`}, \.{\~}, \.{"} and \.{|}) are treated differently
+depending on whether or not you're in Greek mode. More exactly,
+under plain \TeX\ these characters (with the exception of
+\.{\~}) have a \.{\!catcode} of 12: they print as themselves,
+and they cannot appear in control words. But in Greek mode
+\.{'}, \.{`}, \.{\~}, \.{"} and \.{|} are ``letters'', that is,
+they have a \.{\!catcode} of 11, while \.{<} and \.{>} are
+active, with a \.{\!catcode} of 13. This may be important even
+for beginners because it means that \.{'}, for example, can be taken
+as part of a control word. Thus the sequence
+\beginverbatim
+\begingreek
+\line{wm'ega\hfil'alfa}
+\endgreek
+?endverbatim
+\noindent
+will cause an error message about an
+undefined control sequence \.{\!hfil'alfa}, instead of printing
+\display
+$\line{wm'ega\hfil 'alfa}$
+\enddisplay
+as you might expect. (I hope classicists will forgive this use
+of the modern Greek one-accent system.) The solution, of course,
+is to remember to add a blank after the \.{\!hfil}.
+
+\begineight
+A more subtle problem arises when you use Greek text in macro
+arguments, if the arguments are scanned while you're outside Greek
+mode. This is because \TeX\ assigns \.{\!catcode}s to tokens
+as it first reads them, so when the argument is plugged into
+the body of the macro the characters above have the wrong
+\.{\!catcode}. If the legendary Jonathan Horatio Quick were
+to write
+\display
+\hbox{\.{%
+\!def\!hellenize\#1\{\!begingreek \#1\!endgreek\}
+\!hellenize\{d'uo >`h tre\~is,\}}}
+\enddisplay
+he would be unpleasantly surprised by the following output:
+\display
+\def\hellenize#1{\begingreek #1\endgreek}
+\hbox{\hellenize{d'uo >`h tre~is,}}
+\enddisplay
+which can be explained as follows: the \.{\~}, which should be
+a letter, is seen as an active character, and expands to a blank
+as in plain \TeX; while the breathing, which should be active,
+is not, and in particular it doesn't do the right thing when
+next to the grave accent. Solutions to this problem require a
+bit of wizardry, and will not be discussed here; see, for example,
+Reinhard Wonneberger's article in the October, 1986 issue of
+{\it TUGboat}, especially pages 179--180.
+\endeight
+\end
diff --git a/Master/texmf-dist/doc/fonts/levy/grinstall.tex b/Master/texmf-dist/doc/fonts/levy/grinstall.tex
new file mode 100644
index 00000000000..2a5a1c2be52
--- /dev/null
+++ b/Master/texmf-dist/doc/fonts/levy/grinstall.tex
@@ -0,0 +1,198 @@
+\magnification=\magstep1
+\def\.#1{{\tt #1}}
+\def\disp#1{\line{\tt #1\hfil}}
+\def\angles#1{{$\langle$\rm #1$\rangle$}}
+\chardef\!`\\
+
+\def\verbatim{\begingroup
+ \def\do##1{\catcode`##1=12 } \dospecials
+ \parskip 0pt \parindent 0pt
+ \catcode`\ =13 \catcode`\^^M=13
+ \tt \catcode`\?=0 \verbatimdefs \verbatimgobble}
+{\catcode`\^^M=13{\catcode`\ =13\gdef\verbatimdefs{\def^^M{\ \par}\let =\ }} %
+ \gdef\verbatimgobble#1^^M{}}
+
+\centerline{INSTALLATION INSTRUCTIONS}
+
+\medskip
+
+(Note to non-UNIX sites: These instructions should be followed verbatim
+only on systems running UNIX. I've tried to make the instructions
+understandable to people without knowledge of UNIX, so that if you're
+familiar with your own operating system it should not be hard to
+figure out the right thing to do under it. If the separator between
+components of a file pathname is not `/', you should change the
+definition of \.{readfrom} in \.{grbase.mf}.
+
+See the \.{README} file for an important note concerning required
+METAFONT capabilities.)
+
+In order to make the fonts, you need an executable version of
+METAFONT, version 1.0 or newer, with the `plain' base preloaded
+(see p.~279 of {\it The METAFONTbook\/} if you're not familiar with this).
+You will also need the \.{cmbase.mf} file, which is distributed
+with METAFONT, unless you have an executable METAFONT with that
+file already preloaded. The shell script (batch file) \.{makefont}
+assumes that \.{cmmf} is an executable METAFONT with \.{cmbase.mf}
+preloaded; if you don't have that you can replace \.{cmmf} by
+\.{mf} in \.{makefont}. (Non-UNIX sites: you'll have to edit
+\.{makefont} anyway, as well as \.{testfont} and \.{makeall} below.
+In each case the comments inside the file should guide you in finding
+the right incantations under your operating system.)
+
+If METAFONT has never been used at your site before, you will
+also need to create a file \.{local.mf} and preload it together
+with \.{plain.mf}. (See pp.~278--9 of {\it The METAFONTbook}.)
+This file
+should contain the characteristics of the different output
+devices that you will generate fonts for. The parameters
+for many output devices can be found on page 269 of the November
+1987 issue of TUGboat; and two more devices (the Apple laserwriter
+and Sun workstation) which are not in that table can be found
+in \.{modes.mf} (in this distribution). The values in \.{modes.mf}
+are experimental; if you feel like fiddling with them and think
+you can get better results, let me know. In any case, your
+\.{local.mf} should contain mode definitions for all output devices
+you intend to use the fonts with, and it should be preloaded
+together with \.{plain.mf}, so that when you issue the command
+\.{mf} or \.{cmmf} all this information is already in memory.
+
+Next you should test one font by saying
+
+\smallskip
+\disp{makefont grreg10 [\angles{modename}]}
+\smallskip
+
+(where \angles{modename} stands for \.{alw} if you're generating
+for the laserwriter, for example; the default is
+\.{localmode}, which should be defined in \.{local.mf}).
+It will take a while to make the font, and when
+it's done you can look in \.{grreg10.log} to see if everything went
+smoothly. If everything is OK, move \.{grreg10.tfm}
+and \.{grreg10.NNNgf} to the system's \TeX\ font directory (often
+\.{/usr/lib/tex/fonts}) and do a test run:
+
+\smallskip
+\disp{\% tex}
+\disp{\angles{blurb...}}
+\disp{**\!font\!test=grreg10 \!test ABC \!end}
+\disp{\angles{more blurbs; hopefully no error messages}}
+\disp{\%}
+\smallskip
+
+The text typed during this test should be very simple, as above:
+no accents, ligatures, etc. If you got a \.{texput.dvi} file without
+problems, you should try to print it, using your local dvi driver.
+Some dvi drivers cannot read font files of the form \.{*.NNNgf},
+only those of the form \.{*.NNNpk}; you can use the utility
+\.{gftopk}, which comes with the METAFONT distribution, to carry
+out the conversion. If your driver can only read \.{*.NNNpxl} fonts,
+it's time to get a new one.
+
+Another problem with some dvi drivers is that they don't
+take 256 character fonts, although they should, since 256 characters
+is part of standard \TeX. (The reason is, presumably, that Computer
+Modern fonts only have 128 characters, and programmers were counting
+on all other fonts being similarly restricted.) To test this
+aspect of your driver, create a dvi file with a character in the
+range 128-255:
+
+\smallskip
+\disp{\% tex}
+\disp{\angles{blurb...}}
+\disp{**\!font\!test=grreg10 \!test 'a \!end}
+\disp{\angles{more blurbs}}
+\disp{\%}
+\smallskip
+
+When you try to print this, you may get an error message, or
+a core dump, or simply a blank page. If so, you will have to
+fix your driver or get a new one. Fixing your driver involves
+understanding fairly well the dvi format (carefully explained
+in {\it\TeX: The Program}), but should not be beyond anyone with
+a modicum of systems programming experience. Getting a driver
+that works is probably easier if you're well connected,
+electronically speaking. I recommend Nelson Beebe's family
+of drivers (page 41 of the April 1987 TUGboat). Here are
+some hints from Nelson Beebe for obtaining his drivers:
+
+\medskip
+\begingroup
+\verbatim
+> From BEEBE@SCIENCE.UTAH.EDU Mon Dec 21 10:28:08 1987
+> From: "Nelson H.F. Beebe" <Beebe@SCIENCE.UTAH.EDU>
+> Subject: Re: dvi drivers
+> X-Us-Mail: "Center for Scientific Computing, South Physics,
+> University of Utah, Salt Lake City, UT 84112"
+> X-Telephone: (801) 581-5254
+>
+> Internet users may retrieve the DVI driver family via ANONYMOUS
+> FTP to SCIENCE.UTAH.EDU; get the via 00README.TXT in the login
+> directory for details. The files 00PCDOS.TXT, 00TOPS20.TXT and
+> 00VMSSETUP.TXT in the same directory describe TeX and DVI
+> directory layouts and system logical names on IBM PC DOS, TOPS-20
+> and VAX VMS. Compressed Unix tar files are available in several
+> directories.
+>
+> VAX VMS BACKUP savesets (compressed and uncompressed) are
+> available via ANONYMOUS FTP to CTRSCI.UTAH.EDU; the file
+> 00README.TXT in the login directory has further details.
+>
+> Australian ACSnet users may retrieve the DVI drivers from
+> LaTrobe University, Bundoora, Victoria; send mail to
+> "munnari!latvax8.lat.oz.au!ccmk"@uunet.uu.net
+> for retrieval details.
+>
+> European Bitnet users may contact $92@dhdurz1.bitnet
+> at the University of Heidelberg. Here is how:
+> With the command directed at LISTSERV at DHDURZ1.BITNET
+> GET DRIVER FILELIST
+> you will receive a directory from the driver
+> subdirectory. To receive a file:
+> GET filename filetype
+>
+> European DECNET users may retrieve the DVI drivers (and a
+> large collection of other TeX-related software) from the
+> University of Padova in Padova, Italy; send mail to
+> CALVANI%VAXFPD.INFNET@IBOINFN.BITNET
+> for retrieval details.
+>
+> UK Janet users should contact AbbottP@uk.ac.aston.mail (Aston
+> University). Here is the latest retrieval information from
+> TeXHaX #92 (03-Nov-87):
+> The DVI family of drivers software is now stored
+> under (and has been for some time) public.texdvi208.
+> I have been notified that version 2.10 is being
+> shipped and this will be made available under
+> public.texdv210. The index for version 2.08 is
+> aston.kirk::[public.texdvi208]000index.list
+> If you want to know the latest state of the
+> archive the file is
+> aston.kirk::[public]000aston.readme
+?endgroup
+\endgroup
+\medskip
+
+Once you've got the driver working, you can type
+
+\smallskip
+\disp{testfont grreg10}
+\smallskip
+
+for a full-blown test of the font \.{grreg10}. This creates
+a dvi file \.{grtestfont.dvi} and moves it to \.{grreg10.dvi}, which you
+should then print.
+
+Finally, you can say
+
+\smallskip
+\disp{makeall [ \angles{modename} [ \angles{mag} ]]}
+\smallskip
+
+for all modes and magnifications desired. Don't forget to move
+the \.{*.tfm} and \.{*.NNNgf} files thus obtained to their destination
+directory.
+
+The last step is to TeX the user's manual page (\.{doc/readme.tex})
+and make it available to users.
+\end
diff --git a/Master/texmf-dist/doc/fonts/levy/grtestfont.tex b/Master/texmf-dist/doc/fonts/levy/grtestfont.tex
new file mode 100644
index 00000000000..82f5a9faaad
--- /dev/null
+++ b/Master/texmf-dist/doc/fonts/levy/grtestfont.tex
@@ -0,0 +1,245 @@
+% This file is still being written and changed frequently.
+% Eventually it is supposed to provide a testbed for font evaluation.
+
+\tracinglostchars=0
+\tolerance=1000
+\raggedbottom
+\nopagenumbers
+\parindent=0pt
+\newlinechar=`@
+\input greekmacros
+
+\newcount\m \newcount\n \newcount\p \newdimen\dim
+\chardef\other=12
+
+\def\today{\ifcase\month\or
+ January\or February\or March\or April\or May\or June\or
+ July\or August\or September\or October\or November\or December\fi
+ \space\number\day, \number\year}
+\def\hours{\n=\time \divide\n 60
+ \m=-\n \multiply\m 60 \advance\m \time
+ \twodigits\n\twodigits\m}
+\def\twodigits#1{\ifnum #1<10 0\fi \number#1}
+
+{\catcode`\|=0 \catcode`\\=\other
+|gdef|help{|message{%
+\init switches to another font;@%
+\end or \bye finishes the run;@%
+\table prints the font layout in tabular format;@%
+\text prints a sample text, assuming TeX text font conventions;@%
+\sample combines \table and \text;@%
+\mixture mixes a background character with a series of others;@%
+\alternation interleaves a background character with a series;@%
+\alphabet prints all lowercase letters within a given background;@%
+\alphabets does one \alphabet for each lowercase background letter;@%
+\ALPHABET prints all uppercase letters within a given background;@%
+\ALPHABETs does one \ALPHABET for each uppercase background letter;@%
+\accents prints all lowercase vowels with accents and breathings;@%
+\series prints a series of letters withing a given background;@%
+\lowers prints a comprehensive test of lowercase;@%
+\uppers prints a comprehensive test of uppercase;@%
+\digits prints a comprehensive test of numerals;@%
+\math prints a comprehensive test of TeX math italic;@%
+\names prints a text that mixes upper and lower case;@%
+\punct prints a punctuation test;@%
+\bigtest combines many of the above routines;@%
+\help repeats this message;@%
+and you can use ordinary TeX commands (e.g., to \input a file).}}}
+
+\def\setbaselineskip{\setbox0=\hbox{\n=0
+\loop\char\n \ifnum \n<255 \advance\n 1 \repeat}
+\baselineskip=6pt \advance\baselineskip\ht0 \advance\baselineskip\dp0 }
+
+\def\setchar#1{{\escapechar-1\message{\string#1 character = }%
+ \def\do##1{\catcode`##1=\other}\dospecials
+ \read-1 to\next
+ \expandafter\finsetchar\next\next#1}}
+\def\finsetchar#1#2\next#3{\global\chardef#3=`#1
+ \ifnum #3=`\# \global\chardef#3=#2 \fi}
+\def\promptthree{\setchar\background
+ \setchar\starting \setchar\ending}
+
+\def\init{\message{@Name of the font to test = }
+ \read-1 to\fontname
+ \font\testfont=\fontname
+ \headline={\sevenrm Test of \fontname\unskip\ on \today\ at \hours\hfil
+ Page \folio}
+ \testfont \setbaselineskip
+ \ifdim\fontdimen6\testfont<10pt \rightskip=0pt plus 20pt
+ \else\rightskip=0pt plus 2em \fi
+ \spaceskip=\fontdimen2\testfont % space between words (\raggedright)
+ \xspaceskip=\fontdimen2\testfont \advance\xspaceskip by\fontdimen7\testfont
+ \message{Now type a test command (\string\help\space for help):}}
+
+\def\mixture{\promptthree \domix\mixpattern}
+\def\alternation{\promptthree \domix\altpattern}
+\def\mixpattern{\0\1\0\0\1\1\0\0\0\1\1\1\0\1}
+\def\altpattern{\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0}
+\def\domix#1{\par\chardef\0=\background \n=\starting
+ \until\ifnum\n=\ending\do\chardef\1=\n #1\par\n=\count\n \repeat}
+
+\count`w=`a\count`a=`b\count`b=`g\count`g=`d\count`d=`e\count`e=`z
+\count`z=`h\count`h=`j\count`j=`i\count`i=`k\count`k=`l\count`l=`m
+\count`m=`n\count`n=`x\count`x=`o\count`o=`p\count`p=`r\count`r=`c
+\count`c=`t\count`t=`u\count`u=`f\count`f=`q\count`q=`y\count`y=`w
+\count`W=`A\count`A=`B\count`B=`G\count`G=`D\count`D=`E\count`E=`Z
+\count`Z=`H\count`H=`J\count`J=`I\count`I=`K\count`K=`L\count`L=`M
+\count`M=`N\count`N=`X\count`X=`O\count`O=`P\count`P=`R\count`R=`S
+\count`S=`T\count`T=`U\count`U=`F\count`F=`Q\count`Q=`Y\count`Y=`W
+\count`0=`1\count`1=`2\count`2=`3\count`3=`4\count`4=`5
+\count`5=`6\count`6=`7\count`7=`8\count`8=`9\count`9=`0
+
+\long\def\until#1\do#2\repeat{\def\body{#2}\def\cond{#1}\etareti}
+\def\etareti{\cond\let\next=\relax\else\let\next=\etareti\fi\body\next}
+
+\def\alphabet{\setchar\background \dosseries{`a}{`w}}
+\def\ALPHABET{\setchar\background \doseries{`A}{`W}}
+\def\series{\promptthree \doseries\starting\ending}
+\def\doseries#1#2{\def\!{\discretionary{\background}{\background}{\background}}
+ \!\n=#1\until\ifnum\n=#2\do\char\n\!\n=\count\n \repeat\par}
+\def\dosseries#1#2{\def\!{\discretionary{\background}{\background}{\background}}
+ \!\n=#1\until\ifnum\n=#2\do\char\n\!\n=\count\n \repeat s\par}
+
+\def\lowers{\docomprehensive hs{`a}{`w}}
+\def\uppers{\docomprehensive HO{`A}{`W}}
+\def\digits{\docomprehensive H0{`0}{`9}}
+\def\docomprehensive#1#2#3#4{\par\n=#3
+ \until\ifnum\n=#4\do\line{\altr#1\hfil\altr#2}\n=\count\n\repeat}
+\def\altr#1{\setbox0=\hbox{#1}\setbox2=\hbox{#1\char\n}%
+ \dim=.5\hsize \advance\dim-\wd0 \divide\dim\wd2 \multiply\dim\wd2
+ \xleaders\box2\hskip\dim\box0}
+\def\alphabets{\m=`a\until\ifnum\m=`w
+ \do\chardef\background=\m{\dosseries{`a}{`w}}\m=\count\m \repeat}
+\def\ALPHABETS{\m=`A\until\ifnum\m=`W
+ \do\chardef\background=\m{\doseries{`A}{`W}}\m=\count\m \repeat}
+
+\def\separator{\vfil\penalty-100\vfilneg
+ \medskip\leaders\hrule height.4pt\vskip.4pt\medskip}
+
+\def\bigtest{%
+\sample\vfil\break
+\accents\separator
+\names\separator
+\punct\separator
+\alphabets\separator
+\lowers\separator
+\uppers\separator
+\digits}
+
+\def\math{\message{(Sorry, that's not here yet.)}}
+
+\def\oct#1{\hbox{\tenrm\'{}\kern-.2em\tenit#1\/\kern.05em}} % octal constant
+\def\hex#1{\hbox{\tenrm\H{}\tentt#1}} % hexadecimal constant
+\def\setdigs#1"#2{\gdef\h{#2}% \h=hex prefix; \0\1=corresponding octal
+ \m=\n \divide\m by 64 \xdef\0{\the\m}%
+ \multiply\m by-64 \advance\m by\n \divide\m by 8 \xdef\1{\the\m}}
+\def\testrow{\setbox0=\hbox{\penalty 1\def\\{\char"\h}%
+ \\0\\1\\2\\3\\4\\5\\6\\7\\8\\9\\A\\B\\C\\D\\E\\F%
+ \global\p=\lastpenalty}} % \p=1 if none of the characters exist
+\def\oddline{\cr
+ \noalign{\nointerlineskip}
+ \multispan{19}\hrulefill&
+ \setbox0=\hbox{\lower 2.3pt\hbox{\hex{\h x}}}\smash{\box0}\cr
+ \noalign{\nointerlineskip}}
+\newif\ifskipping
+\def\evenline{\loop\skippingfalse
+ \ifnum\n<256 \m=\n \divide\m 16 \chardef\next=\m
+ \expandafter\setdigs\meaning\next \testrow
+ \ifnum\p=1 \skippingtrue \fi\fi
+ \ifskipping \global\advance\n 16 \repeat
+ \ifnum\n=256 \let\next=\endchart\else\let\next=\morechart\fi
+ \next}
+\def\morechart{\cr\noalign{\hrule}
+ \chartline \oddline \m=\1 \advance\m 1 \xdef\1{\the\m}
+ \chartline \evenline}
+\def\chartline{&\oct{\0\1x}&&\:&&\:&&\:&&\:&&\:&&\:&&\:&&\:&&}
+\def\chartstrut{\lower4.5pt\vbox to14pt{}}
+\def\table{$$\global\n=0
+ \halign to\hsize\bgroup
+ \chartstrut##\tabskip0pt plus10pt&
+ &\hfil##\hfil&\vrule##\cr
+ \lower6.5pt\null
+ &&&\oct0&&\oct1&&\oct2&&\oct3&&\oct4&&\oct5&&\oct6&&\oct7&\evenline}
+\def\endchart{\cr\noalign{\hrule}
+ \raise11.5pt\null&&&\hex 8&&\hex 9&&\hex A&&\hex B&
+ &\hex C&&\hex D&&\hex E&&\hex F&\cr\egroup$$\par}
+\def\:{\setbox0=\hbox{\char\n}%
+ \ifdim\ht0>7.5pt\reposition
+ \else\ifdim\dp0>2.5pt\reposition\fi\fi
+ \box0\global\advance\n 1 }
+\def\reposition{\setbox0=\vbox{\kern2pt\box0}\dim=\dp0
+ \advance\dim 2pt \dp0=\dim}
+\def\centerlargechars{
+ \def\reposition{\setbox0=\hbox{$\vcenter{\kern2pt\box0\kern2pt}$}}}
+
+\begingreek
+
+\def\accents{\longseries a\shortseries e\longseries h\mediumseries i
+\shortseries o\mediumseries u\longseries w \rseries}
+\def\longseries#1{#1 `#1 '#1 ~#1 #1| `#1| '#1| ~#1| <#1 <`#1 <'#1 <~#1 <#1|
+ <`#1| <'#1| <~#1| >#1 >`#1 >'#1 >~#1 >#1| >`#1| >'#1| >~#1| \par}
+\def\shortseries#1{#1 `#1 '#1 <#1 <`#1 <'#1 >#1 >`#1 >'#1 \par}
+\def\mediumseries#1{#1 `#1 '#1 ~#1 %
+ <#1 <`#1 <'#1 <~#1 >#1 >`#1 >'#1 >~#1 "#1 "`#1 "'#1 "~#1 \par}
+\def\rseries{r <r >r\par}
+\def\names{ >Afrod'ith Beatr'ikh Gi'wrgos Dhm'htrhs E>ugen'ia
+ Zw'h <Hrakl~hs Je'ofilos >Iw'anna K'wstas Louk~as
+ Mar'ia N'ikh Xanjo'ula O>id'ipous Pl'atwn Rox'anh S'ilbio
+ Thl'emaqos <Upat'ia F'ilippos Qar'a Yuq'h >Wrig'enhs\par}
+\def\punct{{\hyphenpenalty=10000\par\dopunct{ka'i}\dopunct{t~hs}\dopunct{<'ena}
+ \dopunct{<ELLAS}\par}}
+\def\dopunct#1{#1, #1: #1; ''#1'' #1? #1! ((#1)) (#1) [#1] #1* #1.\par}
+
+\def\from#1{{\sevenrm\unskip\nobreak\hfil\penalty50\hskip2em\hbox{}
+ \nobreak\hfil (From #1)\parfillskip=0pt\finalhyphendemerits=0 \par}}
+
+\def\text{{\advance\baselineskip-4pt
+\setbox0=\hbox{abcdefghijklmnopqrstuvwxyz}
+\ifdim\hsize\gt2\wd0 \ifdim 15pc\gt2\wd0 \hsize=15pc \else \hsize=2\wd0 \fi\fi
+T`h stigm`h to'uth ni'wjw p'oso bar'u ''nai t`o
+must'hrio t~hs xomol'oghshs. <Ws t'wra, kane`is
+d`en x'erei p~ws p'erasa t`a du`o qr'onia mou
+st`o <'Agion >'Oros. O<i f'iloi mou jarro~un p`ws
+p~hga n`a d~w buzantin`a kon'ismata >`h >ap`o
+mustikop'ajeia n`a z'hsw mi`a perasm'enh >epoq'h.
+Ka`i t'wra, n'a, ntr'epomai n`a mil'hsw.
+
+P~ws n`a t`o p~w? Jumo~umai <'ena >anoixi'atiko
+deilin'o, po`u kat'ebaina t`on Ta"'ugeto, mi`a xafnik`h
+j'uella m`e k'uklwse kont`a sto'us Pentaulo'us. T'oso
+fober`os >anemoc'ifounas, po`u >'epesa katag~hs gi`a n`a m`hn
+gkremist~w. O<i >astrap`es m'' >'exwsan <olo~uje ki >'ekleisa
+t`a m'atia m`hn tuflwj~w, ka`i kat'aqama, p'istoma, per'imena.
+<'Olo t`o pan'uyhlo boun`o >'etreme, ka`i du`o >'elata d'ipla mou
+tsak'isthkan >ap'' t`h m'esh ka`i br'onthxan q'amou.
+>'Eniwja t`o jei'afi to~u kerauno~u st`on >a'era, ka`i xafnik`a
+x'espase <h mp'ora, >'epesen <o >'anemos, ka`i qontr'es, jerm`es
+st'ales broq`h qt'uphsan t`a dentr`a ka`i t`o q~wma.
+T`o jum'ari, <h jro'umpa, t`o fask'omhlo, t`o flisko'uni,
+qtuphm'ena >ap'' t`o ner'o, t'inaxan t`is murwdi'es tous
+ki <'olh <h g~hs m'urise.
+\from{Kazantzakis' ``Symposium''}
+
+\medskip
+>All'' >ako'usontai, >e'anper e>~u dok~h|s l'egein. t'ode d'e sou
+>enen'ohsa <'ama l'egontos, ka`i pr`os >emaut`on skop~w; e>i
+<'oti m'alist'a me E>uj'ufrwn did'axeien, <ws o<i jeo`i <'apantes
+t`on toio~uton j'anaton <hgo~untai >'adikon e>~inai, t'i m~allon >eg`w
+mem'ajhka par'' E>uj'ufronos, t'i pot'' >est`in t`o <'osi'on te ka`i
+t`o >an'osion? jeomis`es m`en g`ar to~uto t`o >'ergon, <ws >'eoiken,
+e>'ih >'an; >all`a g`ar o>u to'utw| >ef'anh >'arti <wrism'ena t`o
+<'osion ka`i m'h; t`o g`ar jeomis`es >`on ka`i jeofil`es >ef'anh.
+<wste to'utou m`en >af'ihm'i se, >~w E>uj'ufron; e>i bo'ulei, p'antes
+a>ut`o <hge'isjwn jeo`i >'adikon ka`i p'antes miso'untwn. >all''
+>~ara to~uto n~un >epanorj'wmeja >en t~w| l'ogw|, <ws <`o m`en >`an
+p'antes o<i jeo`i mis~wsin, >an'osi'on >estin, <`o d'' >`an fil~wsin,
+<'osion; <`o d'' >`an o<i m`en fil~wsin, o<i d`e mis~wsin, o>ud'etera
+>`h amf'otera? >~ar'' o<'utw bo'ulei <hm~in <wr'isjai n~un per`i to~u
+<os'iou ka`i to~u >anos'iou?
+\from{Plato's ``Euthyphro''}
+
+}}
+
+\def\sample{\text\table}
+
+\init
diff --git a/Master/texmf-dist/doc/fonts/levy/makeall b/Master/texmf-dist/doc/fonts/levy/makeall
new file mode 100644
index 00000000000..c12e1612418
--- /dev/null
+++ b/Master/texmf-dist/doc/fonts/levy/makeall
@@ -0,0 +1,20 @@
+#!/bin/sh
+# In this script "$@" stands for the set of arguments passed to the
+# script, as expanded by the UNIX shell; these arguments are passed,
+# without further expansion, to `makefont'. For examply, typing
+#
+# makeall boo
+#
+# to the UNIX shell has the same effect as typing
+#
+# makefont grreg10 boo
+# makefont grreg8 boo
+# makefont grbld10 boo
+# makefont grtt10 boo
+#
+#
+
+makefont grreg10 "$@"
+makefont grreg8 "$@"
+makefont grbld10 "$@"
+makefont grtt10 "$@"
diff --git a/Master/texmf-dist/doc/fonts/levy/makefont b/Master/texmf-dist/doc/fonts/levy/makefont
new file mode 100644
index 00000000000..d071359689e
--- /dev/null
+++ b/Master/texmf-dist/doc/fonts/levy/makefont
@@ -0,0 +1,18 @@
+#!/bin/sh
+# In this script $# stands for the number of arguments, not including the
+# command name. $0 is the command name, $1 the first argument, and so
+# on. For instance, typing
+#
+# makefont grreg10 alw 1
+#
+# to the UNIX shell gives the same result as typing
+#
+# cmmf '\mode:=alw;mag:=magstep(1);batchmode;input grreg10'
+#
+
+case $# in
+0) echo $0 source [ mode [ mag ]];;
+1) cmmf '\mode:=localmode;batchmode;input '$1;;
+2) cmmf '\mode:='$2';batchmode;input '$1;;
+3) cmmf '\mode:='$2';mag:=magstep('$3');batchmode;input '$1;;
+esac
diff --git a/Master/texmf-dist/doc/fonts/levy/testfont b/Master/texmf-dist/doc/fonts/levy/testfont
new file mode 100644
index 00000000000..470e6835344
--- /dev/null
+++ b/Master/texmf-dist/doc/fonts/levy/testfont
@@ -0,0 +1,25 @@
+#!/bin/sh
+# In this script $1 stands for the first argument passed to the
+# script. The three lines preceding EOF are passed as standard
+# input to the program called on the first line. For example,
+# typing
+#
+# testfont foo
+#
+# to the UNIX shell has the same effect as typing
+#
+# tex grtestfont %this line is read by the shell
+# foo %these three lines are read by TeX
+# \bigtest
+# \end
+# mv grtestfont.dvi foo.dvi %this is again read by the shell
+#
+# mv means move, or rename.
+#
+
+tex grtestfont << EOF
+$1
+\bigtest
+\end
+EOF
+mv grtestfont.dvi $1.dvi
diff --git a/Master/texmf-dist/doc/fonts/levy/todo.txt b/Master/texmf-dist/doc/fonts/levy/todo.txt
new file mode 100644
index 00000000000..4a6f40c34b7
--- /dev/null
+++ b/Master/texmf-dist/doc/fonts/levy/todo.txt
@@ -0,0 +1,9 @@
+create digamma
+
+add kerning, especially between accents and capitals
+
+create more typefaces (italics?)
+
+complete hyphenation table
+
+create tick marks for numbers