diff options
author | Norbert Preining <norbert@preining.info> | 2019-09-02 13:46:59 +0900 |
---|---|---|
committer | Norbert Preining <norbert@preining.info> | 2019-09-02 13:46:59 +0900 |
commit | e0c6872cf40896c7be36b11dcc744620f10adf1d (patch) | |
tree | 60335e10d2f4354b0674ec22d7b53f0f8abee672 /fonts/cmastro |
Initial commit
Diffstat (limited to 'fonts/cmastro')
38 files changed, 1459 insertions, 0 deletions
diff --git a/fonts/cmastro/00astro.sty b/fonts/cmastro/00astro.sty new file mode 100644 index 0000000000..ce76045a6d --- /dev/null +++ b/fonts/cmastro/00astro.sty @@ -0,0 +1,32 @@ + +% Load the fonts + +\newfont\twentyfiveastro{cmastro10 scaled \magstep5} +\newfont\twentyastro{cmastro10 scaled \magstep4} +\newfont\seventeenastro{cmastro10 scaled \magstep3} +\newfont\fourteenastro{cmastro10 scaled \magstep2} +\newfont\twelveastro{cmastro10 scaled \magstep1} +\newfont\elevenastro{cmastro10 scaled \magstephalf} +\newfont\tenastro{cmastro10} +\newfont\nineastro{cmastro9} +\newfont\eightastro{cmastro8} +\newfont\sevenastro{cmastro7} +\newfont\sixastro{cmastro6} +\newfont\fiveastro{cmastro5} + +\def\Sun{\astro S} % Sun symbol, "S" +\def\Mercury{\astro 1} % Mercury symbol, "1" +\def\Venus{\astro 2} % Venus symbol, "2" +\def\Earth{\astro 3} % Earth symbol, "3" +\def\Mars{\astro 4} % Mars symbol, "4" +\def\Jupiter{\astro 5} % Jupiter symbol, "5" +\def\Saturn{\astro 6} % Saturn symbol, "6" +\def\Uranus{\astro 7} % Uranus symbol, "7" +\def\Neptune{\astro 8} % Neptune symbol, "8" +\def\Pluto{\astro 9} % Pluo symbol, "9" +\def\Moon{\astro M} % Moon symbol, "M" +\def\ascnode{\astro N} % ascending node (dragon's head), +\def\descnode{\astro D} % descending node (dragon's tail), +\def\VE{\astro V} % vernal equinox (Aries), "V" +\def\AE{\astro L} % autumnal equinox (Libra), "L" +\def\circ{\astro\char'16} % circle, replacing the one in \sy diff --git a/fonts/cmastro/00astro.tex b/fonts/cmastro/00astro.tex new file mode 100644 index 0000000000..2d30ac6c5e --- /dev/null +++ b/fonts/cmastro/00astro.tex @@ -0,0 +1,75 @@ +% Load astro symbols at 10pt, 7pt, 5pt +\font\tenastro=cmastro10 +\font\sevenastro=cmastro7 +\font\fiveastro=cmastro5 + +% Define a new family; but since we need its family number to be < 8 +% (in order to use \mathchardef -- see p. 155 of The TeXbook), we'll need +% to do some rearranging. So put \sl into family 8 (note that this may mean +% that we can't use it in subscripts any more) and \astro where \sl was +% (family 5). Plain TeX's definitions from p. 351. +% Family Plain TeX: Now: +% 0 \rm \rm +% 1 \mit \mit (math italic) +% 2 \sy \sy (math symbols) +% 3 \ex \ex (math extension) +% 4 \it \it +% 5 \sl \astro +% 6 \bf \bf +% 7 \tt \tt +% 8 (none) \sl +\newfam\astrofam +\let\astrofam=\slfam +\let\slfam=\allocationnumber % last number allocated (pp. 346-7) + +% Set up astro's math family now. +\textfont\astrofam=\tenastro +\scriptfont\astrofam=\sevenastro +\scriptscriptfont\astrofam=\fiveastro +\def\astro{\fam\astrofam\tenastro} + +% And make sure that \sl still works +\textfont\slfam=\tensl +%\scriptfont\slfam=\sevensl % we don't have this font +%\scriptscriptfont\slfam=\fivesl % or this one +\def\sl{\fam\slfam\tensl} + +% Finally, define symbols in the astro fonts. First hex digit = 0 for +% "ordinary" symbol; second = 5 for family 5; third and fourth = ASCII +% code for location of symbol in the font. But \circ is family 2. +\mathchardef\Sun="0553 % Sun symbol, "S" +\mathchardef\Mercury="0531 % Mercury symbol, "1" +\mathchardef\Venus="0532 % Venus symbol, "2" +\mathchardef\Earth="0533 % Earth symbol, "3" +\mathchardef\Mars="0534 % Mars symbol, "4" +\mathchardef\Jupiter="0535 % Jupiter symbol, "5" +\mathchardef\Saturn="0536 % Saturn symbol, "6" +\mathchardef\Uranus="0537 % Uranus symbol, "7" +\mathchardef\Neptune="0538 % Neptune symbol, "8" +\mathchardef\Pluto="0539 % Pluo symbol, "9" +\mathchardef\Moon="054D % Moon symbol, "M" +\mathchardef\ascnode="054E % ascending node (dragon's head), "N" +\mathchardef\descnode="0544 % descending node (dragon's tail), "D" +\mathchardef\VE="0556 % vernal equinox (Aries), "V" +\mathchardef\AE="054C % autumnal equinox (Libra), "L" +\mathchardef\circ="250E % circle, replacing the one in \sy + +$$ +\astro + \Mercury + \Venus + \Earth + \Mars + \Jupiter + \Saturn + \Uranus + \Neptune + \Pluto + \Moon + \ascnode + \descnode + \VE + \AE + \circ +$$ +\bye diff --git a/fonts/cmastro/00dofour.sh b/fonts/cmastro/00dofour.sh new file mode 100644 index 0000000000..dda367bab0 --- /dev/null +++ b/fonts/cmastro/00dofour.sh @@ -0,0 +1,6 @@ + cmmf "\mode=localfont; mag=magstep 4; input cmastro10" + cmmf "\mode=localfont; mag=magstep 4; input cmastro9" + cmmf "\mode=localfont; mag=magstep 4; input cmastro8" + cmmf "\mode=localfont; mag=magstep 4; input cmastro7" + cmmf "\mode=localfont; mag=magstep 4; input cmastro6" + cmmf "\mode=localfont; mag=magstep 4; input cmastro5" diff --git a/fonts/cmastro/00dohalf.sh b/fonts/cmastro/00dohalf.sh new file mode 100644 index 0000000000..45c683e221 --- /dev/null +++ b/fonts/cmastro/00dohalf.sh @@ -0,0 +1,6 @@ + cmmf "\mode=localfont; mag=magstep 0.5; input cmastro10" + cmmf "\mode=localfont; mag=magstep 0.5; input cmastro9" + cmmf "\mode=localfont; mag=magstep 0.5; input cmastro8" + cmmf "\mode=localfont; mag=magstep 0.5; input cmastro7" + cmmf "\mode=localfont; mag=magstep 0.5; input cmastro6" + cmmf "\mode=localfont; mag=magstep 0.5; input cmastro5" diff --git a/fonts/cmastro/00dozero.sh b/fonts/cmastro/00dozero.sh new file mode 100644 index 0000000000..2e47ceb463 --- /dev/null +++ b/fonts/cmastro/00dozero.sh @@ -0,0 +1,7 @@ +cmmf "\mode=localfont; input cmastro10" +cmmf "\mode=localfont; input cmastro9" +cmmf "\mode=localfont; input cmastro8" +cmmf "\mode=localfont; input cmastro7" +cmmf "\mode=localfont; input cmastro6" +cmmf "\mode=localfont; input cmastro5" + diff --git a/fonts/cmastro/00loadastr.tex b/fonts/cmastro/00loadastr.tex new file mode 100644 index 0000000000..d856a79875 --- /dev/null +++ b/fonts/cmastro/00loadastr.tex @@ -0,0 +1,153 @@ + + +% Load astro symbols at 10pt, 7pt, 5pt +\font\tenastro=cmastro10 +\font\sevenastro=cmastro7 +\font\fiveastro=cmastro5 + +% Define a new family; but since we need its family number to be < 8 +% (in order to use \mathchardef -- see p. 155 of The TeXbook), we'll need +% to do some rearranging. So put \sl into family 8 (note that this may mean +% that we can't use it in subscripts any more) and \astro where \sl was +% (family 5). Plain TeX's definitions from p. 351. +% Family Plain TeX: Now: +% 0 \rm \rm +% 1 \mit \mit (math italic) +% 2 \sy \sy (math symbols) +% 3 \ex \ex (math extension) +% 4 \it \it +% 5 \sl \astro +% 6 \bf \bf +% 7 \tt \tt +% 8 (none) \sl +\newfam\astrofam +\let\astrofam=\slfam +\let\slfam=\allocationnumber % last number allocated (pp. 346-7) + +% Set up astro's math family now. +\textfont\astrofam=\tenastro +\scriptfont\astrofam=\sevenastro +\scriptscriptfont\astrofam=\fiveastro +\def\astro{\fam\astrofam\tenastro} + +% And make sure that \sl still works +\textfont\slfam=\tensl +%\scriptfont\slfam=\sevensl % we don't have this font +%\scriptscriptfont\slfam=\fivesl % or this one +\def\sl{\fam\slfam\tensl} + +% Finally, define symbols in the astro fonts. First hex digit = 0 for +% "ordinary" symbol; second = 5 for family 5; third and fourth = ASCII +% code for location of symbol in the font. But \circ is family 2. +\mathchardef\Sun="0553 % Sun symbol, "S" +\mathchardef\Mercury="0531 % Mercury symbol, "1" +\mathchardef\Venus="0532 % Venus symbol, "2" +\mathchardef\Earth="0533 % Earth symbol, "3" +\mathchardef\Mars="0534 % Mars symbol, "4" +\mathchardef\Jupiter="0535 % Jupiter symbol, "5" +\mathchardef\Saturn="0536 % Saturn symbol, "6" +\mathchardef\Uranus="0537 % Uranus symbol, "7" +\mathchardef\Neptune="0538 % Neptune symbol, "8" +\mathchardef\Pluto="0539 % Pluo symbol, "9" +\mathchardef\Moon="054D % Moon symbol, "M" +\mathchardef\ascnode="054E % ascending node (dragon's head), "N" +\mathchardef\descnode="0544 % descending node (dragon's tail), "D" +\mathchardef\VE="0556 % vernal equinox (Aries), "V" +\mathchardef\AE="054C % autumnal equinox (Libra), "L" +\mathchardef\circ="250E % circle, replacing the one in \sy + +$$ +\astro + \Mercury + \Venus + \Earth + \Mars + \Jupiter + \Saturn + \Uranus + \Neptune + \Pluto + \Moon + \ascnode + \descnode + \VE + \AE + \circ +$$ +\bye + +% Load astro symbols at 10pt, 7pt, 5pt +\font\tenastro=cmastro10 +\font\sevenastro=cmastro7 +\font\fiveastro=cmastro5 + +% Define a new family; but since we need its family number to be < 8 +% (in order to use \mathchardef -- see p. 155 of The TeXbook), we'll need +% to do some rearranging. So put \sl into family 8 (note that this may mean +% that we can't use it in subscripts any more) and \astro where \sl was +% (family 5). Plain TeX's definitions from p. 351. +% Family Plain TeX: Now: +% 0 \rm \rm +% 1 \mit \mit (math italic) +% 2 \sy \sy (math symbols) +% 3 \ex \ex (math extension) +% 4 \it \it +% 5 \sl \astro +% 6 \bf \bf +% 7 \tt \tt +% 8 (none) \sl +\newfam\astrofam +\let\astrofam=\slfam +\let\slfam=\allocationnumber % last number allocated (pp. 346-7) + +% Set up astro's math family now. +\textfont\astrofam=\tenastro +\scriptfont\astrofam=\sevenastro +\scriptscriptfont\astrofam=\fiveastro +\def\astro{\fam\astrofam\tenastro} + +% And make sure that \sl still works +\textfont\slfam=\tensl +%\scriptfont\slfam=\sevensl % we don't have this font +%\scriptscriptfont\slfam=\fivesl % or this one +\def\sl{\fam\slfam\tensl} + +% Finally, define symbols in the astro fonts. First hex digit = 0 for +% "ordinary" symbol; second = 5 for family 5; third and fourth = ASCII +% code for location of symbol in the font. But \circ is family 2. +\mathchardef\Sun="0553 % Sun symbol, "S" +\mathchardef\Mercury="0531 % Mercury symbol, "1" +\mathchardef\Venus="0532 % Venus symbol, "2" +\mathchardef\Earth="0533 % Earth symbol, "3" +\mathchardef\Mars="0534 % Mars symbol, "4" +\mathchardef\Jupiter="0535 % Jupiter symbol, "5" +\mathchardef\Saturn="0536 % Saturn symbol, "6" +\mathchardef\Uranus="0537 % Uranus symbol, "7" +\mathchardef\Neptune="0538 % Neptune symbol, "8" +\mathchardef\Pluto="0539 % Pluo symbol, "9" +\mathchardef\Moon="054D % Moon symbol, "M" +\mathchardef\ascnode="054E % ascending node (dragon's head), "N" +\mathchardef\descnode="0544 % descending node (dragon's tail), "D" +\mathchardef\VE="0556 % vernal equinox (Aries), "V" +\mathchardef\AE="054C % autumnal equinox (Libra), "L" +\mathchardef\circ="250E % circle, replacing the one in \sy + +$$ +\astro + \Mercury + \Venus + \Earth + \Mars + \Jupiter + \Saturn + \Uranus + \Neptune + \Pluto + \Moon + \ascnode + \descnode + \VE + \AE + \circ +$$ +\bye diff --git a/fonts/cmastro/00readme.tex b/fonts/cmastro/00readme.tex new file mode 100644 index 0000000000..272414f333 --- /dev/null +++ b/fonts/cmastro/00readme.tex @@ -0,0 +1,39 @@ +[no author was given in the sources] + +This message is in response to your request for my METAFONT source code +for the planetary symbols. I thank you for your interest, and I hope +that somebody out there may actually find these useful. + +The rest of this message contains: +\begin{itemize} +\item command procedures to set up and run computer-modern METAFONT; +\item font drivers at 10, 9, 8, 7, 6, and 5 pt; +\item source code for the symbols themselves; +\item a TeX file to define the symbols. + \end{itemize} + + +The basic scheme is that one of the driver files (e.g. CMASTRO10.MF) is +input to CMMF on the command line; it sets up values for the standard +computer modern variables, then inputs SYMBOLS.MF. This in turn defines +more symbols, then inputs the source code for each character in turn. +This is the same sort of scheme used by Knuth, particularly in the math +fonts, from which all this was taken. + +You may find that the arrows for Uranus and Neptune are very slightly +lopsided. I haven't had the time to investigate this; you are welcome to, +of course. + +[ +NOTE: the sources as they arrived were set up for a VMS site; I have +created two Unix shell scripts (`dozero.sh' and `dohalf.sh') to stand +in for the similar DCL scripts. Otherwise the files should be the same +under any system. + +I have also provided a different use of the fonts in `astro.sty', a +LaTeX style file which uses the fonts at magstep 4 (made by +dofour.sh) as nice big pictures (see demo.tex). + +Sebastian Rahtz +4-4-89 +] diff --git a/fonts/cmastro/README b/fonts/cmastro/README new file mode 100644 index 0000000000..879a447f51 --- /dev/null +++ b/fonts/cmastro/README @@ -0,0 +1,47 @@ +This directory contains the cmastro fonts as collected +by Sebastian Rahtz. No author was given in the sources. + +I have changed the standard setup and added a summary page; the files +distributed by Sebastian Rahtz all start with 00. + +WHAT IS CMASTRO? + +CMASTRO is a collection of fonts containing special astronomical (and +astrological :-) symbols for the planets, sun, moon, etc. + +HOW TO INSTALL (on un*x systems): + +0) CMASTRO is distributed with a complete set of PK files generated + for a 300dpi laser printer. If you can manage with these then skip + to 3). + +1) Edit the do.sh script to suit your font format. + +2) Run do.sh. If you need more magnifications than are generated here + then feel free to generate them... + +3) Install the font metric (.tfm) files where TeX will them and the + pixel files (usually .gf or .pk) where your DVI driver(s) will find + them. + +4) Install the macro files astro.tex and astro.sty in a place where + TeX will find them. + +5) Run plain TeX on the file cmastro.tex (typically you should execute + the command tex cmastro). This should produce a summary of the + available symbols. + +FINALLY... + +If anyone knows the author of the cmastro fonts then please write a +mail to <kris@diku.dk> so he/she can be properly acknowledged! + +Neither Sebastian Rahtz nor myself (Kristoffer H. Rose) should be held +responsible for any consequences of any form of use (or misuse) of this +package. + +Enjoy, +-- + Kristoffer H{\o}gsbro ROSE <kris@diku.dk> + DIKU (TOPPS group), University of Copenhagen + Universitetsparken 1, DK-2100 Copenhagen {\O} (+45) 31396466 diff --git a/fonts/cmastro/astro.sty b/fonts/cmastro/astro.sty new file mode 100644 index 0000000000..ffdfbf6f8e --- /dev/null +++ b/fonts/cmastro/astro.sty @@ -0,0 +1,55 @@ +% astro.sty: LaTeX style option to load CMASTRO fonts and define the symbols +% +% NOTE: uses the old font selection scheme... +% +\input astro.tex +% +\def\astro{\protect\pastro} +% +\@addfontinfo\@vpt{% + \def\pastro{\fam\astrofam\fiveastro}\textfont\astrofam=\fiveastro + \scriptfont\astrofam=\fiveastro \scriptscriptfont\astrofam=\fiveastro} +% +\@addfontinfo\@vipt{% + \def\pastro{\fam\astrofam\sixastro}\textfont\astrofam=\sixastro + \scriptfont\astrofam=\fiveastro \scriptscriptfont\astrofam=\fiveastro} +% +\@addfontinfo\@viipt{% + \def\pastro{\fam\astrofam\sevenastro}\textfont\astrofam=\sevenastro + \scriptfont\astrofam=\fiveastro \scriptscriptfont\astrofam=\fiveastro} +% +\@addfontinfo\@viiipt{% + \def\pastro{\fam\astrofam\eightastro}\textfont\astrofam=\eightastro + \scriptfont\astrofam=\sixastro \scriptscriptfont\astrofam=\fiveastro} +% +\@addfontinfo\@ixpt{% + \def\pastro{\fam\astrofam\nineastro}\textfont\astrofam=\nineastro + \scriptfont\astrofam=\sevenastro \scriptscriptfont\astrofam=\fiveastro} +% +\@addfontinfo\@xpt{% + \def\pastro{\fam\astrofam\tenastro}\textfont\astrofam=\tenastro + \scriptfont\astrofam=\sevenastro \scriptscriptfont\astrofam=\fiveastro} +% +\@addfontinfo\@xipt{% + \def\pastro{\fam\astrofam\elevenastro}\textfont\astrofam=\elevenastro + \scriptfont\astrofam=\eightastro \scriptscriptfont\astrofam=\sixastro} +% +\@addfontinfo\@xiipt{% + \def\pastro{\fam\astrofam\twelveastro}\textfont\astrofam=\twelveastro + \scriptfont\astrofam=\eightastro \scriptscriptfont\astrofam=\sixastro} +% +\@addfontinfo\@xivpt{% + \def\pastro{\fam\astrofam\fourteenastro}\textfont\astrofam=\fourteenastro + \scriptfont\astrofam=\tenastro \scriptscriptfont\astrofam=\sevenastro} +% +\@addfontinfo\@xviipt{% + \def\pastro{\fam\astrofam\seventeenastro}\textfont\astrofam=\seventeenastro + \scriptfont\astrofam=\twelveastro \scriptscriptfont\astrofam=\eightastro} +% +\@addfontinfo\@xxpt{% + \def\pastro{\fam\astrofam\twentyastro}\textfont\astrofam=\twentyastro + \scriptfont\astrofam=\fourteenastro \scriptscriptfont\astrofam=\twelveastro} +% +\@addfontinfo\@xxvpt{% + \def\pastro{\fam\astrofam\twentyfiveastro}\textfont\astrofam=\twentyfiveastro + \scriptfont\astrofam=\seventeenastro \scriptscriptfont\astrofam=\fourteenastro} diff --git a/fonts/cmastro/astro.tex b/fonts/cmastro/astro.tex new file mode 100644 index 0000000000..8d5023f886 --- /dev/null +++ b/fonts/cmastro/astro.tex @@ -0,0 +1,50 @@ +% astro.tex: Load CMASTRO fonts and define the symbols +% +\ifx\astroloaded\relax \message{[not reloaded]}\endinput \fi +\let\astroloaded=\endinput + +% Load the fonts +% +\font\twentyfiveastro=cmastro10 scaled \magstep5 +\font\twentyastro=cmastro10 scaled \magstep4 +\font\seventeenastro=cmastro10 scaled \magstep3 +\font\fourteenastro=cmastro10 scaled \magstep2 +\font\twelveastro=cmastro10 scaled \magstep1 +\font\elevenastro=cmastro10 scaled \magstephalf +\font\tenastro=cmastro10 +\font\nineastro=cmastro9 +\font\eightastro=cmastro8 +\font\sevenastro=cmastro7 +\font\sixastro=cmastro6 +\font\fiveastro=cmastro5 + +% Define default sizes (as plain 10,7,5pt) +% +\newfam\astrofam +% +\textfont\astrofam=\tenastro +\scriptfont\astrofam=\sevenastro +\scriptscriptfont\astrofam=\fiveastro +% +\def\astro{\tenastro\fam\astrofam} + +% Define the special symbols +% +\def\Sun{{\astro S}} % Sun symbol, "S" +\def\Mercury{{\astro 1}} % Mercury symbol, "1" +\def\Venus{{\astro 2}} % Venus symbol, "2" +\def\Earth{{\astro 3}} % Earth symbol, "3" +\def\Mars{{\astro 4}} % Mars symbol, "4" +\def\Jupiter{{\astro 5}} % Jupiter symbol, "5" +\def\Saturn{{\astro 6}} % Saturn symbol, "6" +\def\Uranus{{\astro 7}} % Uranus symbol, "7" +\def\Neptune{{\astro 8}} % Neptune symbol, "8" +\def\Pluto{{\astro 9}} % Pluo symbol, "9" +\def\Moon{{\astro M}} % Moon symbol, "M" +\def\ascnode{{\astro N}} % ascending node (dragon's head), +\def\descnode{{\astro D}} % descending node (dragon's tail), +\def\VE{{\astro V}} % vernal equinox (Aries), "V" +\def\AE{{\astro L}} % autumnal equinox (Libra), "L" +\def\circ{{\astro\char'16}} % circle, replacing the one in \sy + +\astroloaded diff --git a/fonts/cmastro/cmastro.tex b/fonts/cmastro/cmastro.tex new file mode 100644 index 0000000000..6e05a8a6bc --- /dev/null +++ b/fonts/cmastro/cmastro.tex @@ -0,0 +1,54 @@ +% cmastro.tex: Using the cmastro fonts. +% +% Run this through tex (plain TeX) to get summary of the astro option for +% using the cmastro fonts. + +\input astro +% +\def\t#1{\hbox{\tt #1}} \def\cs#1{\t{\char'134 #1}} +\def\_{\t{\char'137}} \def\${\t{\char'44}} +\def\{{\t{\char'173}} \def\}{\t{\char'175}} +\def\AMS{{$\cal A$\kern-.1667em\lower.5ex\hbox{$\cal M$}\kern-.125em$\cal S$}} +\def\LaTeX{L\kern-.36em\raise.3ex\hbox{\sevenrm A}\kern-.15em\TeX} +% +\bigskip +\centerline{\bf Using the cmastro fonts} +\bigskip + + The \t{cmastro} fonts contain the special symbols +$$ +\vcenter{\tabskip=1emplus1fil + \halign to\hsize{&\hfil#\hfil\tabskip=1em&#\hfil\tabskip=1emplus1fil\cr + \omit\span\bf Planets &\omit\span\bf Other \cr + \Mercury & \cs{Mercury} &\Sun & \cs{Sun} \cr + \Venus & \cs{Venus} &\Moon & \cs{Moon} \cr + \Earth & \cs{Earth} \cr + \Mars & \cs{Mars} &\ascnode & \cs{ascnode} \cr + \Jupiter & \cs{Jupiter} &\descnode & \cs{descnode} \cr + \Saturn & \cs{Saturn} \cr + \Uranus & \cs{Uranus} &\VE & \cs{VE} \cr + \Neptune & \cs{Neptune} &\AE & \cs{AE} \cr + \Pluto & \cs{Pluto} &\circ & \cs{circ} \cr +}} +$$ + to \TeX's repertoire of characters. They also work in sub- and + superscripts, {\it e.g.}, \$\t{M}\_\cs{Jupiter}\$ will give + $M_\Jupiter$. + + In order to use the fonts you must create and install \t{tfm} and + bitmap files as well as the two \TeX\ sources \t{astro.tex} and + \t{astro.sty} in a place where \TeX\ will find them. Then + +\item{$\bullet$} In \LaTeX\ you should use the ``\t{[astro]}'' document style + option, {\it e.g.}, +$$ + \cs{documentstyle[astro,12pt]\{article\}} +$$ + +\item{$\bullet$} With plain \TeX\ and \AMS-\TeX\ you should add the line +$$ + \cs{input astro} +$$ + in the preamble of your document. + +\bye diff --git a/fonts/cmastro/cmastro10.300pk b/fonts/cmastro/cmastro10.300pk Binary files differnew file mode 100644 index 0000000000..71adeeb366 --- /dev/null +++ b/fonts/cmastro/cmastro10.300pk diff --git a/fonts/cmastro/cmastro10.329pk b/fonts/cmastro/cmastro10.329pk Binary files differnew file mode 100644 index 0000000000..134cc100ff --- /dev/null +++ b/fonts/cmastro/cmastro10.329pk diff --git a/fonts/cmastro/cmastro10.360pk b/fonts/cmastro/cmastro10.360pk Binary files differnew file mode 100644 index 0000000000..6d4a3918ee --- /dev/null +++ b/fonts/cmastro/cmastro10.360pk diff --git a/fonts/cmastro/cmastro10.432pk b/fonts/cmastro/cmastro10.432pk Binary files differnew file mode 100644 index 0000000000..67b9d2515a --- /dev/null +++ b/fonts/cmastro/cmastro10.432pk diff --git a/fonts/cmastro/cmastro10.518pk b/fonts/cmastro/cmastro10.518pk Binary files differnew file mode 100644 index 0000000000..49d15556f1 --- /dev/null +++ b/fonts/cmastro/cmastro10.518pk diff --git a/fonts/cmastro/cmastro10.622pk b/fonts/cmastro/cmastro10.622pk Binary files differnew file mode 100644 index 0000000000..ca03bd77e9 --- /dev/null +++ b/fonts/cmastro/cmastro10.622pk diff --git a/fonts/cmastro/cmastro10.746pk b/fonts/cmastro/cmastro10.746pk Binary files differnew file mode 100644 index 0000000000..eeab6b2bb0 --- /dev/null +++ b/fonts/cmastro/cmastro10.746pk diff --git a/fonts/cmastro/cmastro10.mf b/fonts/cmastro/cmastro10.mf new file mode 100644 index 0000000000..dbc43dbb41 --- /dev/null +++ b/fonts/cmastro/cmastro10.mf @@ -0,0 +1,97 @@ + +% Computer Modern Astro Symbols 10 point (wmo) +if unknown cmbase: input cmbase fi + +font_identifier:="CMASTRO"; font_size 10pt#; + +u#:=20/36pt#; % unit width +width_adj#:=0pt#; % width adjustment for certain characters +serif_fit#:=0pt#; % extra sidebar near lowercase serifs +cap_serif_fit#:=5/36pt#; % extra sidebar near uppercase serifs +letter_fit#:=0pt#; % extra space added to all sidebars + +body_height#:=270/36pt#; % height of tallest characters +asc_height#:=250/36pt#; % height of lowercase ascenders +cap_height#:=246/36pt#; % height of caps +fig_height#:=232/36pt#; % height of numerals +x_height#:=155/36pt#; % height of lowercase without ascenders +math_axis#:=90/36pt#; % axis of symmetry for math symbols +bar_height#:=87/36pt#; % height of crossbar in lowercase e +comma_depth#:=70/36pt#; % depth of comma below baseline +desc_depth#:=70/36pt#; % depth of lowercase descenders + +crisp#:=8/36pt#; % diameter of serif corners +tiny#:=8/36pt#; % diameter of rounded corners +fine#:=7/36pt#; % diameter of sharply rounded corners +thin_join#:=7/36pt#; % width of extrafine details +hair#:=9/36pt#; % lowercase hairline breadth +stem#:=24/36pt#; % lowercase stem breadth +curve#:=29/36pt#; % lowercase curve breadth +ess#:=27/36pt#; % breadth in middle of lowercase s +flare#:=32/36pt#; % diameter of bulbs or breadth of terminals +dot_size#:=38/36pt#; % diameter of dots +cap_hair#:=11/36pt#; % uppercase hairline breadth +cap_stem#:=30/36pt#; % uppercase stem breadth +cap_curve#:=35/36pt#; % uppercase curve breadth +cap_ess#:=33/36pt#; % breadth in middle of uppercase s +rule_thickness#:=.4pt#; % thickness of lines in math symbols + +dish#:=1/36pt#; % amount erased at top or bottom of serifs +bracket#:=20/36pt#; % vertical distance from serif base to tangent +jut#:=30/36pt#; % protrusion of lowercase serifs +cap_jut#:=37/36pt#; % protrusion of uppercase serifs +beak_jut#:=10/36pt#; % horizontal protrusion of beak serifs +beak#:=70/36pt#; % vertical protrusion of beak serifs +vair#:=8/36pt#; % vertical diameter of hairlines +notch_cut#:=10pt#; % maximum breadth above or below notches +bar#:=11/36pt#; % lowercase bar thickness +slab#:=11/36pt#; % serif and arm thickness +cap_bar#:=11/36pt#; % uppercase bar thickness +cap_band#:=11/36pt#; % uppercase thickness above/below lobes +cap_notch_cut#:=10pt#; % max breadth above/below uppercase notches +serif_drop#:=4/36pt#; % vertical drop of sloped serifs +stem_corr#:=1/36pt#; % for small refinements of stem breadth +vair_corr#:=1/36pt#; % for small refinements of hairline height +apex_corr#:=0pt#; % extra width at diagonal junctions + +o#:=8/36pt#; % amount of overshoot for curves +apex_o#:=8/36pt#; % amount of overshoot for diagonal junctions + +slant:=.25; % tilt ratio $(\Delta x/\Delta y)$ +fudge:=1; % factor applied to weights of heavy characters +math_spread:=0; % extra openness of math symbols +superness:=1/sqrt2; % parameter for superellipses +superpull:=1/6; % extra openness inside bowls +beak_darkness:=11/30; % fraction of triangle inside beak serifs +ligs:=2; % level of ligatures to be included + +square_dots:=false; % should dots be square? +hefty:=false; % should we try hard not to be overweight? +serifs:=true; % should serifs and bulbs be attached? +monospace:=false; % should all characters have the same width? +variant_g:=true; % should an italic-style g be used? +low_asterisk:=false; % should the asterisk be centered at the axis? +math_fitting:=true; % should math-mode spacing be used? + +% the following font parameters are explained in {\sl The \TeX book}, Appendix G +subs:=7/10; % subscripts to 10pt will normally be in 7pt type +rth#:=.4pt#; % assume that rules will come from cmex10 +fontdimen 8: % parameters $\sigma_8$ through $\sigma_{22}$ will now be listed + math_axis#+3.51rth#+54/36pt#+subs*desc_depth#, % num1 + math_axis#+1.51rth#+30/36pt#, % num2 + math_axis#+1.51rth#+48/36pt#, % num3 + -(math_axis#-3.51rth#-subs*fig_height#-124/36pt#), % denom1 + -(math_axis#-1.51rth#-subs*fig_height#-30/36pt#), % denom2 + 8.99pt#-subs*asc_height#, % sup1 + 8.49pt#-subs*asc_height#, % sup2 + 104/36pt#, % sup3 + 54/36pt#, % sub1 + -(8.49pt#-2subs*asc_height#-3.1rth#), % sub2 + subs*asc_height#-36/36pt#, % sup\_drop + 18/36pt#, % sub\_drop + 23.9pt#, % delim1 + 10.1pt#, % delim2 + math_axis#; % axis\_height + +generate symbols % switch to the driver file + diff --git a/fonts/cmastro/cmastro10.tfm b/fonts/cmastro/cmastro10.tfm Binary files differnew file mode 100644 index 0000000000..dc4876ab05 --- /dev/null +++ b/fonts/cmastro/cmastro10.tfm diff --git a/fonts/cmastro/cmastro5.300pk b/fonts/cmastro/cmastro5.300pk Binary files differnew file mode 100644 index 0000000000..b864b52cf5 --- /dev/null +++ b/fonts/cmastro/cmastro5.300pk diff --git a/fonts/cmastro/cmastro5.mf b/fonts/cmastro/cmastro5.mf new file mode 100644 index 0000000000..f021d87459 --- /dev/null +++ b/fonts/cmastro/cmastro5.mf @@ -0,0 +1,97 @@ + +% Computer Modern Astro Symbols 5 point (wmo) +if unknown cmbase: input cmbase fi + +font_identifier:="CMASTRO"; font_size 5pt#; + +u#:=12.5/36pt#; % unit width +width_adj#:=0pt#; % width adjustment for certain characters +serif_fit#:=0pt#; % extra sidebar near lowercase serifs +cap_serif_fit#:=2/36pt#; % extra sidebar near uppercase serifs +letter_fit#:=10/36pt#; % extra space added to all sidebars + +body_height#:=135/36pt#; % height of tallest characters +asc_height#:=125/36pt#; % height of lowercase ascenders +cap_height#:=123/36pt#; % height of caps +fig_height#:=116/36pt#; % height of numerals +x_height#:=77.5/36pt#; % height of lowercase without ascenders +math_axis#:=45/36pt#; % axis of symmetry for math symbols +bar_height#:=43.5/36pt#; % height of crossbar in lowercase e +comma_depth#:=35/36pt#; % depth of comma below baseline +desc_depth#:=35/36pt#; % depth of lowercase descenders + +crisp#:=6/36pt#; % diameter of serif corners +tiny#:=6/36pt#; % diameter of rounded corners +fine#:=5/36pt#; % diameter of sharply rounded corners +thin_join#:=5/36pt#; % width of extrafine details +hair#:=7.5/36pt#; % lowercase hairline breadth +stem#:=15.5/36pt#; % lowercase stem breadth +curve#:=17.5/36pt#; % lowercase curve breadth +ess#:=12/36pt#; % breadth in middle of lowercase s +flare#:=18.5/36pt#; % diameter of bulbs or breadth of terminals +dot_size#:=22/36pt#; % diameter of dots +cap_hair#:=8/36pt#; % uppercase hairline breadth +cap_stem#:=18.5/36pt#; % uppercase stem breadth +cap_curve#:=20.5/36pt#; % uppercase curve breadth +cap_ess#:=13.5/36pt#; % breadth in middle of uppercase s +rule_thickness#:=.28pt#; % thickness of lines in math symbols + +dish#:=.7/36pt#; % amount erased at top or bottom of serifs +bracket#:=10/36pt#; % vertical distance from serif base to tangent +jut#:=17/36pt#; % protrusion of lowercase serifs +cap_jut#:=20/36pt#; % protrusion of uppercase serifs +beak_jut#:=6/36pt#; % horizontal protrusion of beak serifs +beak#:=35/36pt#; % vertical protrusion of beak serifs +vair#:=6/36pt#; % vertical diameter of hairlines +notch_cut#:=5pt#; % maximum breadth above or below notches +bar#:=8/36pt#; % lowercase bar thickness +slab#:=8/36pt#; % serif and arm thickness +cap_bar#:=8/36pt#; % uppercase bar thickness +cap_band#:=8/36pt#; % uppercase thickness above/below lobes +cap_notch_cut#:=5pt#; % max breadth above/below uppercase notches +serif_drop#:=2/36pt#; % vertical drop of sloped serifs +stem_corr#:=.7/36pt#; % for small refinements of stem breadth +vair_corr#:=.5/36pt#; % for small refinements of hairline height +apex_corr#:=0pt#; % extra width at diagonal junctions + +o#:=4/36pt#; % amount of overshoot for curves +apex_o#:=4/36pt#; % amount of overshoot for diagonal junctions + +slant:=.25; % tilt ratio $(\Delta x/\Delta y)$ +fudge:=1; % factor applied to weights of heavy characters +math_spread:=1; % extra openness of math symbols +superness:=1/sqrt2; % parameter for superellipses +superpull:=1/6; % extra openness inside bowls +beak_darkness:=11/30; % fraction of triangle inside beak serifs +ligs:=1; % level of ligatures to be included + +square_dots:=false; % should dots be square? +hefty:=false; % should we try hard not to be overweight? +serifs:=true; % should serifs and bulbs be attached? +monospace:=false; % should all characters have the same width? +variant_g:=true; % should an italic-style g be used? +low_asterisk:=false; % should the asterisk be centered at the axis? +math_fitting:=true; % should math-mode spacing be used? + +% the following font parameters are explained in {\sl The \TeX book}, Appendix G +subs:=5/5; % subscripts to 5pt will normally be in 5pt type +rth#:=.4pt#; % assume that rules will come from cmex10 +fontdimen 8: % parameters $\sigma_8$ through $\sigma_{22}$ will now be listed + math_axis#+3.51rth#+36/36pt#+subs*desc_depth#, % num1 + math_axis#+1.51rth#+3/36pt#, % num2 + math_axis#+1.51rth#+24/36pt#, % num3 + -(math_axis#-3.51rth#-subs*fig_height#-63/36pt#), % denom1 + -(math_axis#-1.51rth#-subs*fig_height#-3/36pt#), % denom2 + 5.99pt#-subs*asc_height#, % sup1 + 5.49pt#-subs*asc_height#, % sup2 + 53/36pt#, % sup3 + 36/36pt#, % sub1 + 72/36pt#, % sub2 + subs*asc_height#-36/36pt#, % sup\_drop + 18/36pt#, % sub\_drop + 9.9pt#, % delim1 + 7.1pt#, % delim2 + math_axis#; % axis\_height + +generate symbols % switch to the driver file + diff --git a/fonts/cmastro/cmastro5.tfm b/fonts/cmastro/cmastro5.tfm Binary files differnew file mode 100644 index 0000000000..a975f92b77 --- /dev/null +++ b/fonts/cmastro/cmastro5.tfm diff --git a/fonts/cmastro/cmastro6.300pk b/fonts/cmastro/cmastro6.300pk Binary files differnew file mode 100644 index 0000000000..4a470a9e38 --- /dev/null +++ b/fonts/cmastro/cmastro6.300pk diff --git a/fonts/cmastro/cmastro6.mf b/fonts/cmastro/cmastro6.mf new file mode 100644 index 0000000000..245318d3f8 --- /dev/null +++ b/fonts/cmastro/cmastro6.mf @@ -0,0 +1,97 @@ + +% Computer Modern Astro Symbols 6 point (wmo) +if unknown cmbase: input cmbase fi + +font_identifier:="CMASTRO"; font_size 6pt#; + +u#:=14/36pt#; % unit width +width_adj#:=0pt#; % width adjustment for certain characters +serif_fit#:=0pt#; % extra sidebar near lowercase serifs +cap_serif_fit#:=2.8/36pt#; % extra sidebar near uppercase serifs +letter_fit#:=6/36pt#; % extra space added to all sidebars + +body_height#:=162/36pt#; % height of tallest characters +asc_height#:=150/36pt#; % height of lowercase ascenders +cap_height#:=147.6/36pt#; % height of caps +fig_height#:=139.2/36pt#; % height of numerals +x_height#:=93/36pt#; % height of lowercase without ascenders +math_axis#:=54/36pt#; % axis of symmetry for math symbols +bar_height#:=52.2/36pt#; % height of crossbar in lowercase e +comma_depth#:=42/36pt#; % depth of comma below baseline +desc_depth#:=42/36pt#; % depth of lowercase descenders + +crisp#:=6.5/36pt#; % diameter of serif corners +tiny#:=6.5/36pt#; % diameter of rounded corners +fine#:=6/36pt#; % diameter of sharply rounded corners +thin_join#:=6/36pt#; % width of extrafine details +hair#:=8/36pt#; % lowercase hairline breadth +stem#:=17.5/36pt#; % lowercase stem breadth +curve#:=20/36pt#; % lowercase curve breadth +ess#:=17/36pt#; % breadth in middle of lowercase s +flare#:=20.5/36pt#; % diameter of bulbs or breadth of terminals +dot_size#:=26/36pt#; % diameter of dots +cap_hair#:=8.5/36pt#; % uppercase hairline breadth +cap_stem#:=21/36pt#; % uppercase stem breadth +cap_curve#:=23.5/36pt#; % uppercase curve breadth +cap_ess#:=18.5/36pt#; % breadth in middle of uppercase s +rule_thickness#:=.31pt#; % thickness of lines in math symbols + +dish#:=.8/36pt#; % amount erased at top or bottom of serifs +bracket#:=12/36pt#; % vertical distance from serif base to tangent +jut#:=19/36pt#; % protrusion of lowercase serifs +cap_jut#:=23/36pt#; % protrusion of uppercase serifs +beak_jut#:=6.8/36pt#; % horizontal protrusion of beak serifs +beak#:=42/36pt#; % vertical protrusion of beak serifs +vair#:=7/36pt#; % vertical diameter of hairlines +notch_cut#:=6pt#; % maximum breadth above or below notches +bar#:=8.5/36pt#; % lowercase bar thickness +slab#:=8.5/36pt#; % serif and arm thickness +cap_bar#:=8.5/36pt#; % uppercase bar thickness +cap_band#:=8.5/36pt#; % uppercase thickness above/below lobes +cap_notch_cut#:=6pt#; % max breadth above/below uppercase notches +serif_drop#:=2.4/36pt#; % vertical drop of sloped serifs +stem_corr#:=.8/36pt#; % for small refinements of stem breadth +vair_corr#:=.7/36pt#; % for small refinements of hairline height +apex_corr#:=0pt#; % extra width at diagonal junctions + +o#:=4.5/36pt#; % amount of overshoot for curves +apex_o#:=4.5/36pt#; % amount of overshoot for diagonal junctions + +slant:=.25; % tilt ratio $(\Delta x/\Delta y)$ +fudge:=1; % factor applied to weights of heavy characters +math_spread:=.8; % extra openness of math symbols +superness:=1/sqrt2; % parameter for superellipses +superpull:=1/6; % extra openness inside bowls +beak_darkness:=11/30; % fraction of triangle inside beak serifs +ligs:=2; % level of ligatures to be included + +square_dots:=false; % should dots be square? +hefty:=false; % should we try hard not to be overweight? +serifs:=true; % should serifs and bulbs be attached? +monospace:=false; % should all characters have the same width? +variant_g:=true; % should an italic-style g be used? +low_asterisk:=false; % should the asterisk be centered at the axis? +math_fitting:=true; % should math-mode spacing be used? + +% the following font parameters are explained in {\sl The \TeX book}, Appendix G +subs:=5/6; % subscripts to 6pt will normally be in 5pt type +rth#:=.4pt#; % assume that rules will come from cmex10 +fontdimen 8: % parameters $\sigma_8$ through $\sigma_{22}$ will now be listed + math_axis#+3.51rth#+36/36pt#+subs*desc_depth#, % num1 + math_axis#+1.51rth#+9/36pt#, % num2 + math_axis#+1.51rth#+29/36pt#, % num3 + -(math_axis#-3.51rth#-subs*fig_height#-74/36pt#), % denom1 + -(math_axis#-1.51rth#-subs*fig_height#-9/36pt#), % denom2 + 6.49pt#-subs*asc_height#, % sup1 + 5.99pt#-subs*asc_height#, % sup2 + 62/36pt#, % sup3 + 36/36pt#, % sub1 + 72/36pt#, % sub2 + subs*asc_height#-36/36pt#, % sup\_drop + 18/36pt#, % sub\_drop + 11.9pt#, % delim1 + 8.1pt#, % delim2 + math_axis#; % axis\_height + +generate symbols % switch to the driver file + diff --git a/fonts/cmastro/cmastro6.tfm b/fonts/cmastro/cmastro6.tfm Binary files differnew file mode 100644 index 0000000000..c24b6fbab1 --- /dev/null +++ b/fonts/cmastro/cmastro6.tfm diff --git a/fonts/cmastro/cmastro7.300pk b/fonts/cmastro/cmastro7.300pk Binary files differnew file mode 100644 index 0000000000..bbd62b831e --- /dev/null +++ b/fonts/cmastro/cmastro7.300pk diff --git a/fonts/cmastro/cmastro7.mf b/fonts/cmastro/cmastro7.mf new file mode 100644 index 0000000000..d0e85573f0 --- /dev/null +++ b/fonts/cmastro/cmastro7.mf @@ -0,0 +1,97 @@ + +% Computer Modern Astro Symbols 7 point (wmo) +if unknown cmbase: input cmbase fi + +font_identifier:="CMASTRO"; font_size 7pt#; + +u#:=15.5/36pt#; % unit width +width_adj#:=0pt#; % width adjustment for certain characters +serif_fit#:=0pt#; % extra sidebar near lowercase serifs +cap_serif_fit#:=3.5/36pt#; % extra sidebar near uppercase serifs +letter_fit#:=4/36pt#; % extra space added to all sidebars + +body_height#:=189/36pt#; % height of tallest characters +asc_height#:=175/36pt#; % height of lowercase ascenders +cap_height#:=172.2/36pt#; % height of caps +fig_height#:=162.4/36pt#; % height of numerals +x_height#:=108.5/36pt#; % height of lowercase without ascenders +math_axis#:=63/36pt#; % axis of symmetry for math symbols +bar_height#:=60.9/36pt#; % height of crossbar in lowercase e +comma_depth#:=49/36pt#; % depth of comma below baseline +desc_depth#:=49/36pt#; % depth of lowercase descenders + +crisp#:=7/36pt#; % diameter of serif corners +tiny#:=7/36pt#; % diameter of rounded corners +fine#:=6/36pt#; % diameter of sharply rounded corners +thin_join#:=6/36pt#; % width of extrafine details +hair#:=8.5/36pt#; % lowercase hairline breadth +stem#:=19.5/36pt#; % lowercase stem breadth +curve#:=22.5/36pt#; % lowercase curve breadth +ess#:=21/36pt#; % breadth in middle of lowercase s +flare#:=23.5/36pt#; % diameter of bulbs or breadth of terminals +dot_size#:=29/36pt#; % diameter of dots +cap_hair#:=9/36pt#; % uppercase hairline breadth +cap_stem#:=23.5/36pt#; % uppercase stem breadth +cap_curve#:=26.5/36pt#; % uppercase curve breadth +cap_ess#:=22.5/36pt#; % breadth in middle of uppercase s +rule_thickness#:=.34pt#; % thickness of lines in math symbols + +dish#:=.9/36pt#; % amount erased at top or bottom of serifs +bracket#:=14/36pt#; % vertical distance from serif base to tangent +jut#:=21/36pt#; % protrusion of lowercase serifs +cap_jut#:=26/36pt#; % protrusion of uppercase serifs +beak_jut#:=7.6/36pt#; % horizontal protrusion of beak serifs +beak#:=49/36pt#; % vertical protrusion of beak serifs +vair#:=7/36pt#; % vertical diameter of hairlines +notch_cut#:=7pt#; % maximum breadth above or below notches +bar#:=9/36pt#; % lowercase bar thickness +slab#:=9/36pt#; % serif and arm thickness +cap_bar#:=9/36pt#; % uppercase bar thickness +cap_band#:=9/36pt#; % uppercase thickness above/below lobes +cap_notch_cut#:=7pt#; % max breadth above/below uppercase notches +serif_drop#:=2.8/36pt#; % vertical drop of sloped serifs +stem_corr#:=.9/36pt#; % for small refinements of stem breadth +vair_corr#:=.9/36pt#; % for small refinements of hairline height +apex_corr#:=0pt#; % extra width at diagonal junctions + +o#:=5/36pt#; % amount of overshoot for curves +apex_o#:=5/36pt#; % amount of overshoot for diagonal junctions + +slant:=.25; % tilt ratio $(\Delta x/\Delta y)$ +fudge:=1; % factor applied to weights of heavy characters +math_spread:=.6; % extra openness of math symbols +superness:=1/sqrt2; % parameter for superellipses +superpull:=1/6; % extra openness inside bowls +beak_darkness:=11/30; % fraction of triangle inside beak serifs +ligs:=2; % level of ligatures to be included + +square_dots:=false; % should dots be square? +hefty:=false; % should we try hard not to be overweight? +serifs:=true; % should serifs and bulbs be attached? +monospace:=false; % should all characters have the same width? +variant_g:=true; % should an italic-style g be used? +low_asterisk:=false; % should the asterisk be centered at the axis? +math_fitting:=true; % should math-mode spacing be used? + +% the following font parameters are explained in {\sl The \TeX book}, Appendix G +subs:=5/7; % subscripts to 7pt will normally be in 5pt type +rth#:=.4pt#; % assume that rules will come from cmex10 +fontdimen 8: % parameters $\sigma_8$ through $\sigma_{22}$ will now be listed + math_axis#+3.51rth#+36/36pt#+subs*desc_depth#, % num1 + math_axis#+1.51rth#+12/36pt#, % num2 + math_axis#+1.51rth#+34/36pt#, % num3 + -(math_axis#-3.51rth#-subs*fig_height#-86/36pt#), % denom1 + -(math_axis#-1.51rth#-subs*fig_height#-12/36pt#), % denom2 + 6.99pt#-subs*asc_height#, % sup1 + 6.49pt#-subs*asc_height#, % sup2 + 72/36pt#, % sup3 + 36/36pt#, % sub1 + 72/36pt#, % sub2 + subs*asc_height#-36/36pt#, % sup\_drop + 18/36pt#, % sub\_drop + 11.9pt#, % delim1 + 8.1pt#, % delim2 + math_axis#; % axis\_height + +generate symbols % switch to the driver file + diff --git a/fonts/cmastro/cmastro7.tfm b/fonts/cmastro/cmastro7.tfm Binary files differnew file mode 100644 index 0000000000..8f09c23b7f --- /dev/null +++ b/fonts/cmastro/cmastro7.tfm diff --git a/fonts/cmastro/cmastro8.300pk b/fonts/cmastro/cmastro8.300pk Binary files differnew file mode 100644 index 0000000000..b56ddfc1bb --- /dev/null +++ b/fonts/cmastro/cmastro8.300pk diff --git a/fonts/cmastro/cmastro8.mf b/fonts/cmastro/cmastro8.mf new file mode 100644 index 0000000000..aadd47eede --- /dev/null +++ b/fonts/cmastro/cmastro8.mf @@ -0,0 +1,97 @@ + +% Computer Modern Astro Symbols 8 point (wmo) +if unknown cmbase: input cmbase fi + +font_identifier:="CMASTRO"; font_size 8pt#; + +u#:=17/36pt#; % unit width +width_adj#:=0pt#; % width adjustment for certain characters +serif_fit#:=0pt#; % extra sidebar near lowercase serifs +cap_serif_fit#:=4.1/36pt#; % extra sidebar near uppercase serifs +letter_fit#:=0pt#; % extra space added to all sidebars + +body_height#:=216/36pt#; % height of tallest characters +asc_height#:=200/36pt#; % height of lowercase ascenders +cap_height#:=196.8/36pt#; % height of caps +fig_height#:=185.6/36pt#; % height of numerals +x_height#:=124/36pt#; % height of lowercase without ascenders +math_axis#:=72/36pt#; % axis of symmetry for math symbols +bar_height#:=69.6/36pt#; % height of crossbar in lowercase e +comma_depth#:=56/36pt#; % depth of comma below baseline +desc_depth#:=56/36pt#; % depth of lowercase descenders + +crisp#:=8/36pt#; % diameter of serif corners +tiny#:=8/36pt#; % diameter of rounded corners +fine#:=7/36pt#; % diameter of sharply rounded corners +thin_join#:=7/36pt#; % width of extrafine details +hair#:=9/36pt#; % lowercase hairline breadth +stem#:=21.5/36pt#; % lowercase stem breadth +curve#:=25/36pt#; % lowercase curve breadth +ess#:=23/36pt#; % breadth in middle of lowercase s +flare#:=26.5/36pt#; % diameter of bulbs or breadth of terminals +dot_size#:=32/36pt#; % diameter of dots +cap_hair#:=9.5/36pt#; % uppercase hairline breadth +cap_stem#:=25.5/36pt#; % uppercase stem breadth +cap_curve#:=29/36pt#; % uppercase curve breadth +cap_ess#:=26/36pt#; % breadth in middle of uppercase s +rule_thickness#:=.36pt#; % thickness of lines in math symbols + +dish#:=1/36pt#; % amount erased at top or bottom of serifs +bracket#:=16/36pt#; % vertical distance from serif base to tangent +jut#:=24/36pt#; % protrusion of lowercase serifs +cap_jut#:=29/36pt#; % protrusion of uppercase serifs +beak_jut#:=8.4/36pt#; % horizontal protrusion of beak serifs +beak#:=56/36pt#; % vertical protrusion of beak serifs +vair#:=8/36pt#; % vertical diameter of hairlines +notch_cut#:=8pt#; % maximum breadth above or below notches +bar#:=9.5/36pt#; % lowercase bar thickness +slab#:=9.5/36pt#; % serif and arm thickness +cap_bar#:=9.5/36pt#; % uppercase bar thickness +cap_band#:=9.5/36pt#; % uppercase thickness above/below lobes +cap_notch_cut#:=8pt#; % max breadth above/below uppercase notches +serif_drop#:=3.2/36pt#; % vertical drop of sloped serifs +stem_corr#:=1/36pt#; % for small refinements of stem breadth +vair_corr#:=1/36pt#; % for small refinements of hairline height +apex_corr#:=0pt#; % extra width at diagonal junctions + +o#:=6/36pt#; % amount of overshoot for curves +apex_o#:=6/36pt#; % amount of overshoot for diagonal junctions + +slant:=.25; % tilt ratio $(\Delta x/\Delta y)$ +fudge:=1; % factor applied to weights of heavy characters +math_spread:=.4; % extra openness of math symbols +superness:=1/sqrt2; % parameter for superellipses +superpull:=1/6; % extra openness inside bowls +beak_darkness:=11/30; % fraction of triangle inside beak serifs +ligs:=2; % level of ligatures to be included + +square_dots:=false; % should dots be square? +hefty:=false; % should we try hard not to be overweight? +serifs:=true; % should serifs and bulbs be attached? +monospace:=false; % should all characters have the same width? +variant_g:=true; % should an italic-style g be used? +low_asterisk:=false; % should the asterisk be centered at the axis? +math_fitting:=true; % should math-mode spacing be used? + +% the following font parameters are explained in {\sl The \TeX book}, Appendix G +subs:=6/8; % subscripts to 8pt will normally be in 6pt type +rth#:=.4pt#; % assume that rules will come from cmex10 +fontdimen 8: % parameters $\sigma_8$ through $\sigma_{22}$ will now be listed + math_axis#+3.51rth#+36/36pt#+subs*desc_depth#, % num1 + math_axis#+1.51rth#+24/36pt#, % num2 + math_axis#+1.51rth#+38/36pt#, % num3 + -(math_axis#-3.51rth#-subs*fig_height#-98/36pt#), % denom1 + -(math_axis#-1.51rth#-subs*fig_height#-24/36pt#), % denom2 + 7.49pt#-subs*asc_height#, % sup1 + 6.99pt#-subs*asc_height#, % sup2 + 82/36pt#, % sup3 + 36/36pt#, % sub1 + 72/36pt#, % sub2 + subs*asc_height#-36/36pt#, % sup\_drop + 18/36pt#, % sub\_drop + 11.9pt#, % delim1 + 9.1pt#, % delim2 + math_axis#; % axis\_height + +generate symbols % switch to the driver file + diff --git a/fonts/cmastro/cmastro8.tfm b/fonts/cmastro/cmastro8.tfm Binary files differnew file mode 100644 index 0000000000..5acdcb7e5e --- /dev/null +++ b/fonts/cmastro/cmastro8.tfm diff --git a/fonts/cmastro/cmastro9.300pk b/fonts/cmastro/cmastro9.300pk Binary files differnew file mode 100644 index 0000000000..db1be573ca --- /dev/null +++ b/fonts/cmastro/cmastro9.300pk diff --git a/fonts/cmastro/cmastro9.mf b/fonts/cmastro/cmastro9.mf new file mode 100644 index 0000000000..cb532c26a3 --- /dev/null +++ b/fonts/cmastro/cmastro9.mf @@ -0,0 +1,97 @@ + +% Computer Modern Astro Symbols 9 point (wmo) +if unknown cmbase: input cmbase fi + +font_identifier:="CMASTRO"; font_size 9pt#; + +u#:=18.5/36pt#; % unit width +width_adj#:=0pt#; % width adjustment for certain characters +serif_fit#:=0pt#; % extra sidebar near lowercase serifs +cap_serif_fit#:=4.6/36pt#; % extra sidebar near uppercase serifs +letter_fit#:=0pt#; % extra space added to all sidebars + +body_height#:=243/36pt#; % height of tallest characters +asc_height#:=225/36pt#; % height of lowercase ascenders +cap_height#:=221.4/36pt#; % height of caps +fig_height#:=208.8/36pt#; % height of numerals +x_height#:=139.5/36pt#; % height of lowercase without ascenders +math_axis#:=81/36pt#; % axis of symmetry for math symbols +bar_height#:=78.3/36pt#; % height of crossbar in lowercase e +comma_depth#:=63/36pt#; % depth of comma below baseline +desc_depth#:=63/36pt#; % depth of lowercase descenders + +crisp#:=8/36pt#; % diameter of serif corners +tiny#:=8/36pt#; % diameter of rounded corners +fine#:=7/36pt#; % diameter of sharply rounded corners +thin_join#:=7/36pt#; % width of extrafine details +hair#:=9/36pt#; % lowercase hairline breadth +stem#:=23/36pt#; % lowercase stem breadth +curve#:=27/36pt#; % lowercase curve breadth +ess#:=25/36pt#; % breadth in middle of lowercase s +flare#:=29/36pt#; % diameter of bulbs or breadth of terminals +dot_size#:=35/36pt#; % diameter of dots +cap_hair#:=10/36pt#; % uppercase hairline breadth +cap_stem#:=28/36pt#; % uppercase stem breadth +cap_curve#:=32/36pt#; % uppercase curve breadth +cap_ess#:=30/36pt#; % breadth in middle of uppercase s +rule_thickness#:=.38pt#; % thickness of lines in math symbols + +dish#:=1/36pt#; % amount erased at top or bottom of serifs +bracket#:=18/36pt#; % vertical distance from serif base to tangent +jut#:=27/36pt#; % protrusion of lowercase serifs +cap_jut#:=33/36pt#; % protrusion of uppercase serifs +beak_jut#:=9.2/36pt#; % horizontal protrusion of beak serifs +beak#:=63/36pt#; % vertical protrusion of beak serifs +vair#:=8/36pt#; % vertical diameter of hairlines +notch_cut#:=9pt#; % maximum breadth above or below notches +bar#:=10/36pt#; % lowercase bar thickness +slab#:=10/36pt#; % serif and arm thickness +cap_bar#:=10/36pt#; % uppercase bar thickness +cap_band#:=10/36pt#; % uppercase thickness above/below lobes +cap_notch_cut#:=9pt#; % max breadth above/below uppercase notches +serif_drop#:=3.6/36pt#; % vertical drop of sloped serifs +stem_corr#:=1/36pt#; % for small refinements of stem breadth +vair_corr#:=1/36pt#; % for small refinements of hairline height +apex_corr#:=0pt#; % extra width at diagonal junctions + +o#:=7/36pt#; % amount of overshoot for curves +apex_o#:=7/36pt#; % amount of overshoot for diagonal junctions + +slant:=.25; % tilt ratio $(\Delta x/\Delta y)$ +fudge:=1; % factor applied to weights of heavy characters +math_spread:=.2; % extra openness of math symbols +superness:=1/sqrt2; % parameter for superellipses +superpull:=1/6; % extra openness inside bowls +beak_darkness:=11/30; % fraction of triangle inside beak serifs +ligs:=2; % level of ligatures to be included + +square_dots:=false; % should dots be square? +hefty:=false; % should we try hard not to be overweight? +serifs:=true; % should serifs and bulbs be attached? +monospace:=false; % should all characters have the same width? +variant_g:=true; % should an italic-style g be used? +low_asterisk:=false; % should the asterisk be centered at the axis? +math_fitting:=true; % should math-mode spacing be used? + +% the following font parameters are explained in {\sl The \TeX book}, Appendix G +subs:=6/9; % subscripts to 9pt will normally be in 6pt type +rth#:=.4pt#; % assume that rules will come from cmex10 +fontdimen 8: % parameters $\sigma_8$ through $\sigma_{22}$ will now be listed + math_axis#+3.51rth#+36/36pt#+subs*desc_depth#, % num1 + math_axis#+1.51rth#+30/36pt#, % num2 + math_axis#+1.51rth#+43/36pt#, % num3 + -(math_axis#-3.51rth#-subs*fig_height#-111/36pt#), % denom1 + -(math_axis#-1.51rth#-subs*fig_height#-30/36pt#), % denom2 + 8.49pt#-subs*asc_height#, % sup1 + 7.99pt#-subs*asc_height#, % sup2 + 93/36pt#, % sup3 + 36/36pt#, % sub1 + -(7.99pt#-2subs*asc_height#-3.1rth#), % sub2 + subs*asc_height#-36/36pt#, % sup\_drop + 18/36pt#, % sub\_drop + 23.9pt#, % delim1 + 9.1pt#, % delim2 + math_axis#; % axis\_height + +generate symbols % switch to the driver file + diff --git a/fonts/cmastro/cmastro9.tfm b/fonts/cmastro/cmastro9.tfm Binary files differnew file mode 100644 index 0000000000..510b87a8ec --- /dev/null +++ b/fonts/cmastro/cmastro9.tfm diff --git a/fonts/cmastro/demo.tex b/fonts/cmastro/demo.tex new file mode 100644 index 0000000000..81021b9d00 --- /dev/null +++ b/fonts/cmastro/demo.tex @@ -0,0 +1,24 @@ +\documentstyle[astro]{article} + +\def\Strut{\vphantom{$\bigg|$}} + +\begin{document} +\begin{tabular}{cl} +\Strut\Sun & \verb|\Sun| \\ +\Strut\Mercury & \verb|\Mercury| \\ +\Strut\Venus & \verb|\Venus| \\ +\Strut\Earth & \verb|\Earth| \\ +\Strut\Mars & \verb|\Mars| \\ +\Strut\Jupiter & \verb|\Jupiter| \\ +\Strut\Saturn & \verb|\Saturn| \\ +\Strut\Uranus & \verb|\Uranus| \\ +\Strut\Neptune & \verb|\Neptune| \\ +\Strut\Pluto & \verb|\Pluto| \\ +\Strut\Moon & \verb|\Moon| \\ +\Strut\ascnode & \verb|\ascnode| \\ +\Strut\descnode & \verb|\descnode| \\ +\Strut\VE & \verb|\VE| \\ +\Strut\AE & \verb|\AE| \\ +%\Strut\circ & \verb|\circ| \\ +\end{tabular} +\end{document} diff --git a/fonts/cmastro/do.sh b/fonts/cmastro/do.sh new file mode 100644 index 0000000000..9bfa94d134 --- /dev/null +++ b/fonts/cmastro/do.sh @@ -0,0 +1,26 @@ +#!/bin/sh +# +# do.sh: build the standard CMASTRO font sizes. +# Set MODE and GFPOST to your liking below. +# +MODE=localfont +GFPOST="gftopk ./cmastro*.*gf; rm ./cmastro*.*gf" +# +# Generate sizes loaded by astro.tex: +# +rm -f ./cmastro*.*gf ./cmastro*.tfm *.log +# +cmmf "\mode=$MODE; mag=magstep 5; input cmastro10"; eval $GFPOST +cmmf "\mode=$MODE; mag=magstep 4; input cmastro10"; eval $GFPOST +cmmf "\mode=$MODE; mag=magstep 3; input cmastro10"; eval $GFPOST +cmmf "\mode=$MODE; mag=magstep 2; input cmastro10"; eval $GFPOST +cmmf "\mode=$MODE; mag=magstep 1; input cmastro10"; eval $GFPOST +cmmf "\mode=$MODE; mag=magstep 0.5; input cmastro10"; eval $GFPOST +cmmf "\mode=$MODE; input cmastro10"; eval $GFPOST +cmmf "\mode=$MODE; input cmastro9"; eval $GFPOST +cmmf "\mode=$MODE; input cmastro8"; eval $GFPOST +cmmf "\mode=$MODE; input cmastro7"; eval $GFPOST +cmmf "\mode=$MODE; input cmastro6"; eval $GFPOST +cmmf "\mode=$MODE; input cmastro5"; eval $GFPOST +# +exit diff --git a/fonts/cmastro/symbols.mf b/fonts/cmastro/symbols.mf new file mode 100644 index 0000000000..6da5cb4dff --- /dev/null +++ b/fonts/cmastro/symbols.mf @@ -0,0 +1,303 @@ + +% The Computer Modern Symbols family (by D. E. Knuth, 1979--1985) + +font_coding_scheme:="TeX math symbols"; +mode_setup; font_setup; + +autorounding:=0; + +font_slant slant; font_x_height x_height#; +font_quad 18u# if not monospace:+4letter_fit# fi; +% (The spacing is zero so that \TeX\ will always add the italic correction.) +% (The calling file should give the other math symbol font parameters.) + +slant:=mono_charic#:=0; % the remaining characters will not be slanted +currenttransform:=identity yscaled aspect_ratio scaled granularity; + +% The Sun symbol + +cmchar "Sun symbol (S)"; +beginarithchar("S"); pickup light_rule.nib; autorounded; +lft x6=hround u; x2=w-x6; y8=x2-x6; y2=.5y8; +circle_points; draw_circle; % circle +fill fullcircle scaled(1.1dot_size+eps) shifted(.5[z4,z8]); % dot +labels(1,2,3,4,5,6,7,8); endchar; + +% The Mercury symbol + +cmchar "Mercury symbol (1)"; +beginchar("1",11u#,6u#+math_axis#,6u#-math_axis#); + italcorr math_axis#*slant-.5u#; + adjust_fit(0,0); +pickup light_rule.nib; autorounded; +lft x6=hround u; x2=w-x6; bot y2=2.25u+.5(x2-x6); y8-y2=.5(x2-x6); +circle_points; draw_circle; +% now for the cross underneath +x9=x4; y9=-2.25u; x10=x4-2.25u; x11=x4+2.25u; y10=y11=0; +draw z4--z9; draw z10--z11; +% now for the horns +z0 = .5[z6,z2]; % center of the circle +z12 = z0 + (z8-z0) rotated 30; +z14 = z0 + (z8-z0) rotated -30; +bot y13 = bot y15 = top y8 + (y8-y12); +rt x13 = 0.5(x6+x7); x15 = w-x13; +draw z12{left}..{z7-z4}z13; +draw z14{right}..{z1-z4}z15; +labels(1,2,3,4,5,6,7,8,9,10,11,12,13,14,15); endchar; + +% The Venus (female) symbol + +cmchar "Venus symbol (2)"; +beginchar("2",12u#,6u#+math_axis#,6u#-math_axis#); + italcorr math_axis#*slant-.5u#; + adjust_fit(0,0); +pickup light_rule.nib; autorounded; +lft x6=hround u; x2=w-x6; bot y2=2.5u+.5(x2-x6); y8-y2=.5(x2-x6); +circle_points; draw_circle; % 10u in diameter +% now for the cross underneath +x9=x4; y9=-2.5u; x10=x4-2.5u; x11=x4+2.5u; y10=y11=0; +draw z4--z9; draw z10--z11; +labels(1,2,3,4,5,6,7,8,9,10,11); endchar; + +% The Earth symbol + +cmchar "Earth symbol (3)"; +beginarithchar("3"); pickup light_rule.nib; autorounded; +lft x6=hround u; x2=w-x6; y8=x2-x6; y2=.5y8; +circle_points; draw_circle; % circle +draw z2--z6; draw z4--z8; % bar and stem +labels(1,2,3,4,5,6,7,8); endchar; + +% The Mars (male) symbol + +cmchar "Mars symbol (4)"; +beginchar("4",12u#,6u#+math_axis#,6u#-math_axis#); + italcorr 2u#; + adjust_fit(0,0); +pickup light_rule.nib; autorounded; +lft x6=hround u; x2=w-x6; y8=x2-x6; y2=.5y8; +circle_points; draw_circle; % circle +% now for the arrow +z0 = .5[z6,z2]; % center of the circle +z9 = 2[z0,z1]; +y10 = y9; x11 = x9; +lft x10 = x1; bot y11 = y1; +draw z1--z9; draw z9--z10; draw z9--z11; +labels(1,2,3,4,5,6,7,8,9,10,11); endchar; + +% The Jupiter symbol + +cmchar "Jupiter symbol (5)"; +beginchar("5",13u#,6u#+math_axis#,6u#-math_axis#); +adjust_fit(0,0); +pickup light_rule.nib; autorounded; +penpos1(cap_hair,90); penpos2(.4cap_curve,90); +penpos3(.8cap_curve,0); penpos4(cap_hair,0); +penpos5(1.414214cap_hair,45); penpos6(cap_hair,90); +penpos7(1.1cap_hair,0); penpos8(1.1cap_hair,0); +x1=hround u; y1r=0.5(asc_height+x_height); +x2=5u; top y2=vround asc_height; +x3 = 8u; y3=x_height; +x5l=hround 2u; y5l=0; +z4l=z5r; +x5r := x4r; y5r := y4r; % redefine so we can leave out z4 +y6l=y5l; x6l=w-x1; +x7r=x6; y7=x_height; +x8=x3; y8=-desc_depth; +penstroke z1e..z2e{right}..z3e{down}..{z5l-z4l}z5e--z6e; +penstroke z7e--z8e; +penlabels(1,2,3,4,5,6,7,8); endchar; + +% The Saturn symbol + +cmchar "Saturn symbol (6)"; +beginchar("6",11u#,asc_height#,0); +italcorr .5[bar_height#,x_height#]*slant-serif_fit#+.5stem#-2u#; +adjust_fit(serif_fit#+stem_shift#,serif_fit#-stem_shift#); +pickup tiny.nib; pos1(stem,0); pos2(stem,0); +pos3(stem,90); pos4(cap_hair,90); pos5(stem,0); +pos6(0.75stem,0); pos7(cap_hair,45); +lft x1l=hround(2.5u-.5stem); x1l=x2l; +top y1=h; bot y2=0; +filldraw stroke z1e--z2e; % left stem +if serifs: nodish_serif(1,2,a,1/3,jut,b,1/3,jut); fi % upper serif +x3=x2r; y3=y5=math_axis; +x5=w-x1; +x4=0.5(x3r+x5r); y4=x_height; +x6r=x5l; y6=vround u; +rt x7r = hround(w-u); y7r=-0.5desc_depth; +filldraw stroke z3e{up}..z4e{right}..z5e{down}..z6e{down}..z7e; +penlabels(1,2,3,4,5,6,7); endchar; + +% The Uranus symbol + +cmchar "Uranus symbol (7)"; +beginchar("7",10u#,6u#+math_axis#,6u#-math_axis#); + italcorr math_axis#*slant-.5u#; + adjust_fit(0,0); +pickup light_rule.nib; autorounded; +lft x6=hround u; x2=w-x6; bot y2=.5(x2-x6); y8-y2=.5(x2-x6); +circle_points; draw_circle; % 8u in diameter +z0 = .5[z4,z8]; +fill fullcircle scaled(.8dot_size+eps) shifted z0; % dot +% now for the arrow on top +z9 = 2[z0,z8]; y10=y11 = .5(y8+y9); x10-x8 = x8-x11 = .5(y9-y8); +draw z8--z9; draw z9--z10; draw z9--z11; +labels(1,2,3,4,5,6,7,8,9,10,11); endchar; + +% The Neptune symbol + +cmchar "Neptune symbol (8)"; +beginchar("8",14u#,6u#+math_axis#,6u#-math_axis#); + italcorr math_axis#*slant-.5u#; + adjust_fit(0,0); +pickup light_rule.nib; autorounded; +lft x6=hround 2u; x2=w-x6; bot y2=2.5u+.5(x2-x6); y8-y2=.5(x2-x6); +circle_points; +draw z6{down}..z5{z4-z6}..z4{right}..z3{z2-z4}..{up}z2; % semicircle +% now for the cross underneath +x9=x4; y9=-2.5u; x10=x4-3.5u; x11=x4+3.5u; y10=y11=0; +draw z4--z9; draw z10--z11; +% and the three arrows +x12=x6; x13=x4; x14=x2; y12=y13=y14=y7; % tips of arrows +y15=y16=y17=y18=y19=y20=y7-1u; +x15=x12-1u; x16=x12+1u; x17=x13-1u; x18=x13+1u; x19=x14-1u; x20=x14+1u; +draw z6--z12; draw z4--z13; draw z2--z14; +draw z12--z15; draw z12--z16; +draw z13--z17; draw z13--z18; +draw z14--z19; draw z14--z20; +labels(2,3,4,5,6,9,10,11,12,13,14,17,18); endchar; + +% The Pluto symbol + +cmchar "Pluto symbol (9)"; +beginchar("9",12u#,cap_height#,0); +adjust_fit(cap_serif_fit#,-1u#); +pickup tiny.nib; pos1(cap_stem,0); pos2(cap_stem,0); +lft x1l=lft x2l=hround max(2u,3u-.5cap_stem); top y1=h; bot y2=0; +filldraw stroke z1e--z2e; % stem +pickup crisp.nib; pos8(slab,-90); pos9(hair,0); +bot y8r=0; x8=x2; y9=y8l+beak+eps; rt x9r=hround(w-.75u); +arm(8,9,e,1.2beak_darkness,beak_jut); % lower arm and beak (of L) +if serifs: nodish_serif(1,2,a,1/3,cap_jut,b,1/3,.5cap_jut); % upper serif + nodish_serif(2,1,c,1/3,cap_jut,d,1/3,.5cap_jut); fi % lower serif + +penpos3(cap_band,90); penpos4(cap_band,90); +penpos5(cap_curve if hefty:-3stem_corr fi,0); +penpos6(.5[vair,cap_band],-90); penpos7(.5[vair,cap_band],-90); +z3r=top z1; y4=y3; y5=.5[y4l,y6l]; y6=y7; +x7=x2; y7l=vround .5h; x4=x6=.5w+.75u; x5r=hround(w-u); +x4l:=x6l:=x4-.25cap_curve; +fill stroke z3e..pulled_arc.e(4,5) & pulled_arc.e(5,6)..z7e; % lobe +math_fit(0,u#); penlabels(1,2,3,4,5,6,7,8,9); endchar; + +% The crescent moon symbol. We have to be careful here because this +% is to be half width (7u instead of 14u) -- so don't use beginarithchar! + +cmchar "Moon symbol (M)"; +beginchar("M",7u#,6u#+math_axis#,6u#-math_axis#); + italcorr math_axis#*slant-.5u#; + adjust_fit(0,1u#); % add back the 1u# of space that SHOULD be at the right +pickup light_rule.nib; autorounded; +lft x6=hround u; x2=2w-x6; y8=x2-x6; y2=.5y8; +circle_points; +% "limb" is a semicircle drawn directly +draw z8{left}..z7{z6-z8}..z6{down}..z5{z4-z6}..{right}z4; +% "terminator" is halfway between limb and vertical line +z9 = .25[z7,z1]; z10 = .25[z6,z2]; z11 = .25[z5,z3]; +draw z8{left}..z9..z10{down}..z11..{right}z4; +labels(1,2,3,4,5,6,7,8,9,10,11); endchar; + +% The ascending node symbol ("dragon's head") + +cmchar "Ascending node symbol (N)"; +beginchar("N",14u#,cap_height#,0); +adjust_fit(0,0); +pickup light_rule.nib; autorounded; +numeric diameter, rad; +diameter = 3u; rad = 1/2diameter; +lft x1 = 1u+rad; x5 = w - x1; top y1 = top y5 = rad; +z2 = z1 + (rad,0) rotated 30; +z4 = z5 + (rad,0) rotated 150; +x3 = 1/2(x1+x5); top y3 = h; +penpos3(.75cap_curve,-90); penpos2(.86cap_hair,30); +penpos4(.86cap_hair,-210); +draw fullcircle scaled diameter shifted z1; +draw fullcircle scaled diameter shifted z5; +penstroke z2e{(z2-z1) rotated 90}..z3e{right}..{(z4-z5) rotated 90}z4e; +penlabels(1,2,3,4,5); endchar; + +% The descending node symbol ("dragon's tail") + +cmchar "Descending node symbol (D)"; +beginchar("D",14u#,cap_height#,0); +adjust_fit(0,0); +pickup light_rule.nib; autorounded; +numeric diameter, rad; +diameter = 3u; rad = 1/2diameter; +lft x1 = 1u+rad; x5 = w - x1; bot y1 = bot y5 = h - rad; +z2 = z1 + (rad,0) rotated -30; +z4 = z5 + (rad,0) rotated -150; +x3 = 1/2(x1+x5); bot y3 = 0; +penpos3(.75cap_curve,-90); penpos2(.86cap_hair,150); +penpos4(.86cap_hair,30); +draw fullcircle scaled diameter shifted z1; +draw fullcircle scaled diameter shifted z5; +penstroke z2e{(z2-z1) rotated -90}..z3e{right}..{(z4-z5) rotated -90}z4e; +penlabels(1,2,3,4,5); endchar; + +% The vernal equinox symbol (Aries or ram's horn) + +cmchar "Vernal Equinox (V)"; +beginchar("V",14u#,cap_height#,0); +italcorr .8cap_height#*slant-.5u#; +adjust_fit(0,0); +pickup tiny.nib; pos1(.75cap_stem,0); pos2(.75cap_stem,0); +lft x1l=lft x2l=hround(.5w-.375cap_stem); y1=.5h; bot y2=0; +filldraw stroke z1e--z2e; % stem +penpos3(.45cap_stem,0); penpos4(.6cap_curve,90); +penpos5(.4cap_curve,180); penpos6(cap_hair,270); +z3l=lft z1l; x5r=hround u; y5=bot .8h; x4=x6=.61803[x3l,x5l]; y4r=h+o; +y5-y6=y4l-y5; +penstroke z3e{up}..z4e{left}..z5e{down}..{right}z6e; % left arc +%fill z3r{up}...z4r{left}...{down}diag_end(5'r,5r,1,1,5l,5'l){up} +% ...{right}z4l...{down}z3l--cycle; % left arc +penpos7(.45cap_stem,0); penpos8(.6cap_curve,-90); +penpos9(.4cap_curve,-180); penpos10(cap_hair,-270); +z7r=rt z1r; x9=w-x5; y9=y5; x8=w-x4; y8=y4; +x10=w-x6; y10=y6; +penstroke z7e{up}..z8e{right}..z9e{down}..{left}z10e; % right arc +%fill z6r{up}...z7r{right}...{down}diag_end(8'r,8r,1,1,8l,8'l){up} +% ...{left}z7l...{down}z6l--cycle; % right arc +math_fit(-.8cap_height#*slant-.5u#,ic#-2.5u#); +penlabels(1,2,3,4,5,6,7,8,9,10); endchar; + +% The autumnal equinox symbol (Libra or scales) + +cmchar "Autumnal Equinox (L)"; +compute_spread(.45x_height#,.55x_height#); +beginchar("L",14u#,v_center(2spread#+rule_thickness#)); +italcorr h#*slant-.5u#; +adjust_fit(0,0); pickup rule.nib; +numeric diameter; +lft x1=hround u; x3=x1; x2=x7=w-x1; x5=.5(x3+x7); +x4=.5(x3+x5); x6=.5(x5+x7); +y1=y2; y3=y4=y5=y6=y7=math_axis; y3-y1=spread; +draw z1--z2; % lower bar +draw z3--z4; % left of top bar +draw z6--z7; % right of top bar +diameter = x6-x4; +draw halfcircle scaled diameter shifted (x5,y5); % semicircle at top +labels(1,2,3,4,5,6,7); endchar; + +% small circle, refined from symbol.cm---guaranteed to be circular! + +cmchar "Circle operator"; +beginchar(oct"016",9u#,v_center(7u#)); +adjust_fit(0,0); pickup rule.nib; autorounded; +lft x6=hround u; x2=w-x6; y2=math_axis; y8-y2=.5(x2-x6); +circle_points; draw_circle; % circle +labels(1,2,3,4,5,6,7,8); endchar; + +bye. + |