summaryrefslogtreecommitdiff
path: root/macros/generic/musixtex/doc/musixdoc/fonts.tex
diff options
context:
space:
mode:
Diffstat (limited to 'macros/generic/musixtex/doc/musixdoc/fonts.tex')
-rw-r--r--macros/generic/musixtex/doc/musixdoc/fonts.tex231
1 files changed, 231 insertions, 0 deletions
diff --git a/macros/generic/musixtex/doc/musixdoc/fonts.tex b/macros/generic/musixtex/doc/musixdoc/fonts.tex
new file mode 100644
index 0000000000..2326b86c95
--- /dev/null
+++ b/macros/generic/musixtex/doc/musixdoc/fonts.tex
@@ -0,0 +1,231 @@
+\chapter{Font Selection and Text Placement}
+
+\section{Predefined text fonts}
+While any font with support for \TeX\ can be used by \musixtex, certain styles and
+sizes can be selected using shortcut commands.
+For ordinary text, the shortcuts cover fonts of nine different
+sizes and six styles. The sizes in points are $7$, $8$, $9$, $10$, $12$, $14$, $17$, $20$, and $25$;
+the styles are from the standard Computer Modern family: Roman, bold, italic, bold italic
+and small capitals.
+The size selection macros from smallest to biggest are
+\keyindex{tinytype},
+\keyindex{smalltype},
+\keyindex{Smalltype},
+\keyindex{normtype}, \keyindex{medtype}, \keyindex{bigtype},
+\keyindex{Bigtype},
+\keyindex{BIgtype} and \keyindex{BIGtype}.
+The style may be selected or changed using \keyindex{rm} (Roman), \keyindex{bf}
+(bold), \keyindex{it} (italic), \keyindex{bi} (bold italic) or
+\keyindex{sc} (small-capitals). If no style is explicitly selected, Roman style
+will be used for the sizes \verb|\medtype| or smaller; for the larger sizes,
+bold style is the default. Thus, for example,
+eight point italic is selected with \verb|\smalltype\it|, while
+twelve point Roman is selected using \verb|\medtype\rm| or simply
+\verb|\medtype|. To change between styles while maintaining the same size,
+code \verb|\rm|, \verb|\it|, \verb|\bf|, \verb|\bi| or \verb|\sc|, as in Plain \TeX.
+When \musixtex\ is started, the default font for ordinary text is
+ten point Roman, equivalent to \verb|\normtype\rm|.
+
+Another group of fonts, in bold extended italic style, is predefined in point sizes
+$8$, $10$, $12$, $14$, and $17$ for dynamic markings. The appropriate font for the current
+staff size may be selected simply by using \keyindex{ppff} as a
+font specification. Macros \keyindex{tinydyn}, \keyindex{smalldyn}, \keyindex{normdyn}, or \keyindex{meddyn} may be
+used to redefine \verb|\ppff| to represent one of the smallest four.
+
+
+A selection of predefined fonts is summarized in Table~\ref{predefinedfonts}. The second column gives an
+explicit control sequence that can alternatively be used locally as a font specification.
+\font\ctinytype=cmr7
+\font\ctinytypebf=cmbx7
+\font\ctinytypeit=cmti7
+\font\csmalltype=cmr8
+\font\csmalltypebf=cmbx8
+\font\csmalltypeit=cmti8
+\font\cSmalltype=cmr9
+\font\cSmalltypebf=cmbx9
+\font\cSmalltypeit=cmti9
+\font\cnormtype=cmr10
+\font\cnormtypebf=cmbx10
+\font\cnormtypeit=cmti10
+\font\cnormtypebi=cmbxti10
+\font\cnormtypesc=cmcsc10
+\font\cmedtype=cmr12
+\font\cmedtypebf=cmbx12
+\font\cmedtypeit=cmti12
+\font\cmedtypebi=cmbxti10 scaled \magstep1
+\font\cmedtypesc=cmcsc10 scaled \magstep1
+\font\cbigtype=cmbx12 scaled \magstep1
+\font\cBigtype=cmbx12 scaled \magstep2
+\font\cBIgtype=cmbx12 scaled \magstep3
+\font\cBIGtype=cmbx12 scaled \magstep4
+\font\cppfftwelve=cmbxti10 at 8pt
+\font\cppffsixteen=cmbxti10
+\font\cppfftwenty=cmbxti10 scaled \magstep1
+\font\cppfftwentyfour=cmbxti10 scaled \magstep2
+\font\cppfftwentynine=cmbxti10 scaled \magstep3
+\font\cbigtype=cmbx12 scaled \magstep1
+\font\cBigtype=cmbx12 scaled \magstep2
+\font\cBIgtype=cmbx12 scaled \magstep3
+\font\cBIGfont=cmbx12 scaled \magstep4
+\begin{table}
+\begin{center}
+\renewcommand{\arraystretch}{1.15}
+ \begin{tabular}{lll}
+ \hline
+ Size and style & Font specification & Example \\
+ \hline
+ \verb|\tinytype| & \verb|\sevenrm| & {\ctinytype tiny Roman} \\
+ \verb|\tinytype\bf| & \verb|\sevenbf| & {\ctinytypebf tiny bold} \\
+ \verb|\tinytype\it| & \verb|\sevenit| & {\ctinytypeit tiny italic} \\
+ \verb|\smalltype| & \verb|\eightrm| & {\csmalltype small Roman} \\
+ \verb|\smalltype\bf| & \verb|\eightbf| & {\csmalltypebf small bold} \\
+ \verb|\smalltype\it| & \verb|\eightit| & {\csmalltypeit small italic} \\
+ \verb|\Smalltype| & \verb|\ninerm| & {\cSmalltype Small Roman} \\
+ \verb|\Smalltype\bf| & \verb|\ninebf| & {\cSmalltypebf Small bold} \\
+ \verb|\Smalltype\it| & \verb|\nineit| & {\cSmalltypeit Small italic} \\
+ \verb|\normtype| & \verb|\tenrm| & {\cnormtype normal Roman} \\
+ \verb|\normtype\bf| & \verb|\tenbf| & {\cnormtypebf normal bold} \\
+ \verb|\normtype\it| & \verb|\tenit| & {\cnormtypeit normal italic}\\
+ \verb|\normtype\bi| & \verb|\tenbi| & {\cnormtypebi normal bold italic}\\
+ \verb|\normtype\sc| & \verb|\tensc| & {\cnormtypesc normal small capitals}\\
+ \verb|\medtype| & \verb|\twelverm| & {\cmedtype medium Roman} \\
+ \verb|\medtype\bf| & \verb|\twelvebf| & {\cmedtypebf medium bold} \\
+ \verb|\medtype\it| & \verb|\twelveit| & {\cmedtypeit medium italic}\\
+ \verb|\medtype\bi| & \verb|\twelvebi| & {\cmedtypebi medium bold italic}\\
+ \verb|\medtype\sc| & \verb|\twelvesc| & {\cmedtypesc medium small capitals}\\
+ \verb|\bigtype| & \verb|\frtbf| & {\cbigtype big bold} \\[.4ex]
+ \verb|\Bigtype| & \verb|\svtbf| & {\cBigtype Big bold} \\[.4ex]
+ \verb|\BIgtype| & \verb|\twtybf| & {\cBIgtype BIg bold} \\[.4ex]
+ \verb|\BIGtype| & \verb|\twfvbf| & {\cBIGtype BIG bold} \\
+ ~ & \verb|\ppfftwelve| & {\cppfftwelve pp ff diminuendo}\\
+ ~ & \verb|\ppffsixteen| & {\cppffsixteen pp ff diminuendo}\\
+ ~ & \verb|\ppfftwenty| & {\cppfftwenty pp ff diminuendo}\\
+ ~ & \verb|\ppfftwentyfour| & {\cppfftwentyfour pp ff diminuendo}\\[.4ex]
+ ~ & \verb|\ppfftwentynine| & {\cppfftwentynine pp ff diminuendo}\\[.4ex]
+ \hline
+ \end{tabular}
+\end{center}
+\caption{Various predefined fonts}
+\label{predefinedfonts}
+\end{table}
+
+\section{User-defined text fonts}
+
+Since \musixtex\ is a superset of \TeX, you are free to use the standard \TeX\
+machinery for defining and using any special font you desire. You must first
+of course ensure that (a)~all the necessary font files (e.g., \verb|bla10.tfm|,
+\verb|bla10.pfb|, or equivalents) are installed in the right places in your system, (b)~all
+configuration files (e.g., \verb|config.ps| or equivalent) have been updated, and
+(c)~the \TeX\ file-name database has been updated, as required by your \TeX\ system. Then you can use the font just as
+in any \TeX\ document, e.g., by coding \verb|\font blafont=bla10| and then
+\verb|\zchar{10}{\blafont Text in user-defined font}|.
+
+You might also wish to replace once and for all the typefaces invoked by the
+commands described in the previous section. Again, before doing this, you must
+follow steps (a-c) of the previous paragraph for all fonts in question.
+\label{UserFonts}
+You can use bitmapped fonts, which are converted to
+Postscript by e.g.,~\verb|dvips|, but you also may replace them
+by native Postscript fonts.
+
+The extension library
+\verb|musixtmr.tex|\footnote{by Hiroaki {\sc Morimoto}}
+replaces the default Computer Modern text fonts by
+the Times series of fonts; see Section~\ref{times}.
+Other extension libraries, \verb|musixplt.tex| and \verb|musixhv.tex|, replace the default text fonts by
+Palatino and Helvetica fonts, respectively; see Sections~\ref{palatino} and \ref{helvetica}.
+\font\tnormtype=ptmr7t
+\font\tnormtypebf=ptmb7t
+\font\tnormtypeit=ptmri7t
+\font\tbigtype=ptmr7t scaled \magstep2
+\font\tBigtype=ptmr7t scaled \magstep3
+\font\pnormtype=pplr8r
+\font\pnormtypebf=pplb8r
+\font\pnormtypeit=pplri8r
+\font\pbigtype=pplrc8r at 14pt
+\font\pBigtype=pplrc8r at 17pt
+\font\hnormtype=phvr8r at 10pt
+\font\hnormtypebf=phvb8r at 10pt
+\font\hnormtypeit=phvro8r at 10pt
+\font\hbigtype=phvr8r at 14pt
+\font\hBigtype=phvr8r at 17pt
+Here is a comparison of some Times,
+Palatino and Helvetica fonts:
+\begin{center}
+ \begin{tabular}{lll}
+ \hline
+ {\tnormtype normal Times Roman} & {\pnormtype normal Palatino Roman} &{\hnormtype normal Helvetica Roman} \\
+ {\tnormtypebf normal Times bold} & {\pnormtypebf normal Palatino bold}& {\hnormtypebf normal Helvetica bold} \\
+ {\tnormtypeit normal Times italic} & {\pnormtypeit normal Palatino italic } & {\hnormtypeit normal Helvetica italic }\\[.4ex]
+ {\tbigtype Times big} & {\pbigtype Palatino big } & {\hbigtype Helvetica big } \\[.4ex]
+ {\tBigtype Times Big } & {\pBigtype Palatino Big } & {\hBigtype Helvetica Big } \\
+ \hline
+ \end{tabular}
+\end{center}
+
+For users who prefer to stick with the default Computer Modern
+family but want to use the T$1$-encoded EC variants, the extension library
+\verb|musixec.tex| is available; see Section~\ref{ecfonts}\@.
+
+\section{Text placement}\label{textplacement}
+Special macros are provided to allow precise placement of any \TeX\ text, vertically
+relative to the staff, and horizontally relative to any note in
+the staff.
+
+The macros in the first group will vertically position the text with the
+baseline at any specified pitch or staff line. They must be used
+inside \verb|\notes...\en|. They will not insert any additional
+horizontal space. They have the forms
+\keyindex{zcharnote}\pitchp\verb|{|\ital{text}\verb|}|, \keyindex{lcharnote}\pitchp\verb|{|\ital{text}\verb|}|,
+and \keyindex{ccharnote}\pitchp\verb|{|\ital{text}\verb|}|,
+where \ital{p} is the pitch. With the first one, text will spill to the right
+from the current insertion point, with the second it will spill to the left, and with the
+third it will be centered horizontally.
+The following abbreviations are available:
+\begin{quote}
+\begin{tabular}{lcl}
+\keyindex{zcn}& for&\verb|\zcharnote| \\
+\keyindex{lcn}& for&\verb|\lcharnote| \\
+\keyindex{ccn}& for&\verb|\ccharnote| \\
+\end{tabular}
+\end{quote}
+
+There are similar macros \keyindex{zchar}\pitchp\verb|{|\ital{text}\verb|}|,
+\keyindex{lchar}\pitchp\verb|{|\ital{text}\verb|}|, and \keyindex{cchar}\pitchp\verb|{|\ital{text}\verb|}|,
+which differ from the previous three in that the pitch \ital{must} be given with
+a number (representing the number of staff positions up from the lowest line),
+and that the number need not be an integer.
+
+To vertically position any text midway between two consecutive staves, use
+\keyindex{zmidstaff}\verb|{|{\it text}\verb|}|, \keyindex{lmidstaff}\verb|{|{\it text}\verb|}|,
+or \keyindex{cmidstaff}\verb|{|{\it text}\verb|}| at the appropriate point in the lower staff.
+
+The macros \keyindex{uptext}\verb|{|\ital{text}\verb|}| and
+\keyindex{Uptext}\verb|{|\ital{text}\verb|}|
+are simply shorthands for
+\verb|\zchar{10}{|\ital{text}\verb|}| and
+\verb|\zchar{14}{|\ital{text}\verb|}|,
+respectively.
+
+The text items handled by all of the above macros can include any appropriate
+string of \TeX\
+control sequences, including font definitions, \verb|\hbox|'es, etc.
+
+Material posted with any of the macros described in this section will not
+create any additional horizontal or vertical space within the current system,
+and will overwrite anything in the current system that gets in the way. It is
+the typesetter's responsibility to ensure there is adequate white space
+within the current system to accommodate any text placed with
+these macros. On the other hand, if text is placed far above or below a
+system, \musixtex\ will usually insert additional vertical space if needed.
+
+\section{Rehearsal marks}
+
+Rehearsal marks are usually
+boxed or circled uppercase letters or digits. They can be defined using the macros
+\keyindex{boxit}\verb|{|\ital{text}\verb|}| or
+\keyindex{circleit}\verb|{|\ital{text}\verb|}|. For boxed text,
+the margin between the text and box is controlled by the dimension
+register \keyindex{boxitsep}, which can be reset to any \TeX\ dimension if the
+default value of \verb|3pt| is unsatisfactory. To place the mark, use \verb|\Uptext| or
+any of the other macros defined in the previous section.