From e0c6872cf40896c7be36b11dcc744620f10adf1d Mon Sep 17 00:00:00 2001 From: Norbert Preining Date: Mon, 2 Sep 2019 13:46:59 +0900 Subject: Initial commit --- macros/latex/contrib/type1cm/type1cm-doc.pdf | Bin 0 -> 320601 bytes macros/latex/contrib/type1cm/type1cm-doc.tex | 231 +++++++++++++++ macros/latex/contrib/type1cm/type1cm.fdd | 410 +++++++++++++++++++++++++++ macros/latex/contrib/type1cm/type1cm.ins | 76 +++++ macros/latex/contrib/type1cm/type1cm.txt | 160 +++++++++++ 5 files changed, 877 insertions(+) create mode 100644 macros/latex/contrib/type1cm/type1cm-doc.pdf create mode 100644 macros/latex/contrib/type1cm/type1cm-doc.tex create mode 100644 macros/latex/contrib/type1cm/type1cm.fdd create mode 100644 macros/latex/contrib/type1cm/type1cm.ins create mode 100644 macros/latex/contrib/type1cm/type1cm.txt (limited to 'macros/latex/contrib/type1cm') diff --git a/macros/latex/contrib/type1cm/type1cm-doc.pdf b/macros/latex/contrib/type1cm/type1cm-doc.pdf new file mode 100644 index 0000000000..07233d444d Binary files /dev/null and b/macros/latex/contrib/type1cm/type1cm-doc.pdf differ diff --git a/macros/latex/contrib/type1cm/type1cm-doc.tex b/macros/latex/contrib/type1cm/type1cm-doc.tex new file mode 100644 index 0000000000..2451581c9f --- /dev/null +++ b/macros/latex/contrib/type1cm/type1cm-doc.tex @@ -0,0 +1,231 @@ +\documentclass[pagesize=auto]{scrartcl} + +\usepackage{fixltx2e} +\usepackage{etex} +\usepackage{lmodern} +\usepackage[T1]{fontenc} +\usepackage{textcomp} +\usepackage[svgnames]{xcolor} +\usepackage{tikz} +\usepackage{amsmath} +\usepackage{mathtools} +\usepackage{booktabs} +\usepackage{listings} +\usepackage{microtype} +\usepackage{hyperref} + +\newcommand*{\mail}[1]{\href{mailto:#1}{\texttt{#1}}} +\newcommand*{\pkg}[1]{\textsf{#1}} +\newcommand*{\cs}[1]{\texttt{\textbackslash#1}} +\makeatletter +\newcommand*{\cmd}[1]{\cs{\expandafter\@gobble\string#1}} +\makeatother +\newcommand*{\opt}[1]{\texttt{#1}} + +\addtokomafont{title}{\rmfamily} + +\lstset{% + language=[LaTeX]TeX,% + columns=flexible,% + upquote=true,% + numbers=left,% + basicstyle=\ttfamily,% + keywordstyle=\color{Navy},% + commentstyle=\color{DimGray},% + stringstyle=\color{SeaGreen},% + numberstyle=\scriptsize\color{SlateGray}% +} + +\title{The \pkg{type1cm} package for \LaTeX\thanks{This manual corresponds to \pkg{type1cm.sty}~v0.04, dated~2002/09/05.}} +\author{David Carlisle\thanks{\mail{david@dcarlisle.demon.co.uk}}} +\date{2002/09/05} + + +\begin{document} + +\maketitle + +\noindent +\LaTeX\ separates its internal notion of font specification +from the external fonts available on the system by means of +`Font Shape Specifications', that are normally held in +`Font Descriptor' (\textsc{fd}) files. + +The \textsc{fd} files that come with \LaTeX\ that refer to the standard +Computer Modern set (and the related \AmS\ set) are based on +the classical bitmap fonts which are available in `magstep' +sizes only. For instance The specification of the main roman font is +% +\begin{lstlisting} +\DeclareFontShape{OT1}{cmr}{m}{n} + { <5> <6> <7> <8> <9> <10> <12> gen * cmr + <10.95> cmr10 + <14.4> cmr12 + <17.28><20.74><24.88>cmr17}{} +\end{lstlisting} +% +which says for instance that no font is available at 10.5\,pt (\LaTeX\ % +will substitute the nearest available size if you ask for this) +and similarly the font is not available at all above 25\,pt. + +Such restrictions are essential with bitmap fonts to save generating +huge numbers of bitmaps for any size that might be requested, however +with scalable versions of the fonts these restrictions are not really +needed. For instance the equivalent definition defined here is: +% +\begin{lstlisting} +\DeclareFontShape{OT1}{cmr}{m}{n}{ + <-6> cmr5 + <6-7> cmr6 + <7-8> cmr7 + <8-9> cmr8 + <9-10> cmr9 + <10-12> cmr10 + <12-17> cmr12 + <17-> cmr17 + }{} +\end{lstlisting} +% +which means that you can (Although some may consider it bad style) +go +% +\begin{verbatim} +\fontsize{10.7pt}{12pt}\selectfont +\end{verbatim} +% +and be given a suitably scaled +version of \texttt{cmr10} and a baseline setting of 12\,pt. Similarly if you really +want, you can go +% +\begin{verbatim} +\fontsize{2cm}{2.5cm}\selectfont +\end{verbatim} +% +and use \texttt{cmr17} scaled +to 2\,cm height for a special display context. + +\begin{flushleft} + \begin{tikzpicture} + \node[draw=black, inner sep=2ex] (frame) {% + \parbox{\dimexpr\linewidth-4ex-1pt\relax}{% + If you use this setup and produce \textsc{dvi} files using these sizes, be very + careful if you give the \textsc{dvi} files so created to someone using classical + bitmap versions of the cm fonts. Depending on how their system is set up + they will either not be able to print the file at all, as they will not + have the fonts at the corrrect sizes, or the system will make all these + strange sizes `on demand' and fill the disk with bitmaps. + }% + }; + \node[fill=white] at (frame.north) {\textbf{Warning}}; + \end{tikzpicture} +\end{flushleft} + +So the default way of using this package is as a \LaTeX\ package file. +Install \texttt{type1cm.sty} as described below and then just add +% +\begin{verbatim} +\usepackage{type1cm} +\end{verbatim} +% +to your document. This will override the definitions for all the fonts +and so the standard \textsc{fd} files are not used. +The disadvantage of this method is all the definitions are then loaded +into memory, even for fonts you don't use in the document. (However +only the size specifications are so loaded, not the fonts themselves). +However the advantage is that you can always choose not to specify +\verb|\usepackage{type1cm}| and so use the same font sizes (and get the +same line and page breaks) as everyone else. + +Alternatively you may use this package to produce a set of fd +files that \emph{replace} the standard files (such as \texttt{ot1cmr.fd}) +You will then need to remake the \LaTeX\ format by running \texttt{initex} on +\texttt{latex.ltx} (as some \textsc{fd} files are loaded into the format). Then you +will not need to use \cmd{\usepackage}. All your documents will have the +freedom of scalable font choices. + + +\section{Installation instructions} + +\renewcommand*{\labelenumi}{\theenumi)} + +The installation is controlled by the file \texttt{type1cm.ins} which you may +edit in two places. +% +\begin{enumerate} +\item If you have not got the \AmS\ Font set available in scalable form + remove the `\verb|%|' from the line \verb|%\def\ams{}|\\ + This will cause a more restricted font specification to be used. + + If you have an extended \AmS\ font set available in scalable form + (\textsf{msam6}, \textsf{msam8} and \texttt{msam9} in addition to \textsf{msam5}, \textsf{msam7} and \textsf{msam10}) + then remove the `\verb|%|' from the line \verb|%\def\ams{ams,extra}| + +\item If after reading the warning above you decide to make a set of fd + files, remove the `\verb|%|' from the line \verb|%\makefdtrue| +\end{enumerate} + +Then run \texttt{tex} (or \texttt{latex}) on the file \texttt{type1cm.ins} and a package file +\texttt{type1cm.sty} (and perhaps a set of \textsc{fd} files) will be produced +which you should place in a directory where \TeX\ looks for input files. + + +\section{Small technical note about the Font Shape specifications used.} + +I consistantly specified that given a requested size, the largest +available font size smaller than the requested size should be used +and then enlarged to the requested size. The exception being sizes +smaller than the smallest available font, which use a reduced version +of that font. The rationale for this is that enlarging a small font +typically produces a rather `fat' font, but something readable, whereas +shrinking a font may produce something unreadable quite quickly + +So for \textsf{msam} (if `\opt{extra}' is not specified) I used: +% +\begin{lstlisting} +\DeclareFontShape{U}{msa}{m}{n}{ + <-7> msam5 + <7-10> msam7 + <10-> msam10 + }{} +\end{lstlisting} +% +That is sizes strictly below 7\,pt use \textsf{msam5}, 7\,pt to (less than) 10\,pt +use \textsf{msam7} and sizes 10\,pt and above use \textsf{msam10}. + +This differs from the Specification that the \AmS\ use for the scalable +\AmS\ fonts (used by the \opt{psfonts} option to the \pkg{amsfonts} package) +They use +% +\begin{lstlisting} +\DeclareFontShape{U}{msa}{m}{n}{ + <-6> msam5 + <6-8> msam7 + <8-> msam10 + }{} +\end{lstlisting} +% +This has the advantage of minimising the scaling used, so for instance +a 9\,pt request is satisfied by \textsf{msam7} scaled up to~9 by this package, but +by \textsf{msam10} scaled down to~9 by the \AmS\ package. + +In practice this is not likely to make a difference that anyone notices, +but it could in principle affect line breaks etc, so I thought that +I would mention it here. + +\clearpage + + +\section{History} + +\begin{description} +\item[1997/01/27 v0.02 BlueSky/Y\&Y Type1 CM font definitions (DPC)] \leavevmode \\ + Possibly first public release? Maybe there was a 0.01.. + +\item[2002/04/01 v0.03 BlueSky/Y\&Y Type1 CM font definitions (DPC)] \leavevmode \\ + \textsf{cmdunhill} hasn't worked since the beginning: \cmd{\hyp\clap{\raisebox{-1.9ex}{\rmfamily\textuparrow}}enchar} + + Reported by Brian Mays via the Debian bug tracking system. + Also, made distribution conditions LPPL (previously unspecified) +\end{description} + +\end{document} diff --git a/macros/latex/contrib/type1cm/type1cm.fdd b/macros/latex/contrib/type1cm/type1cm.fdd new file mode 100644 index 0000000000..0aef1d355c --- /dev/null +++ b/macros/latex/contrib/type1cm/type1cm.fdd @@ -0,0 +1,410 @@ +%% +%% type1cm package for LaTeX +%% +%% Copyright 1997 2002 David Carlisle +%% This file may be distributed under the terms of the LPPL. +%% See type1cm.txt for details. +%% +% +% +%\ProvidesPackage{type1cm} +% +%<*!package> +%<*OT1> +%\ProvidesFile{ot1cmr.fd} +%\ProvidesFile{ot1cmss.fd} +%\ProvidesFile{ot1cmtt.fd} +%\ProvidesFile{ot1cmfr.fd} +%\ProvidesFile{ot1cmdh.fd} +%\ProvidesFile{ot1cmfib.fd} +% +% +%<*OML> +%\ProvidesFile{omlcmm.fd} +%\ProvidesFile{omlcmr.fd} +% +%<*OMS> +%\ProvidesFile{omscmsy.fd} +%\ProvidesFile{omscmr.fd} +% +%<*OMX> +%\ProvidesFile{omxcmex.fd} +% +%<*U> +%\ProvidesFile{ulasy.fd} +%\ProvidesFile{umsa.fd} +%\ProvidesFile{umsb.fd} +%\ProvidesFile{ueuex.fd} +%\ProvidesFile{ueuf.fd} +%\ProvidesFile{ueur.fd} +%\ProvidesFile{ueus.fd} +% +% +% + [2002/09/05 v0.04 BlueSky/Y&Y Type1 CM font definitions (DPC, + patched RF)] +% +% +%<*package> +\begingroup +\nfss@catcodes +% +% +%<*package,OT1> +%<*package,cmr> +\DeclareFontFamily{OT1}{cmr}{\hyphenchar\font=45} +\DeclareFontShape{OT1}{cmr}{m}{n}{ + <-6> cmr5 + <6-7> cmr6 + <7-8> cmr7 + <8-9> cmr8 + <9-10> cmr9 + <10-12> cmr10 + <12-17> cmr12 + <17-> cmr17 + }{} +\DeclareFontShape{OT1}{cmr}{m}{sl}{ + <-9> cmsl8 + <9-10> cmsl9 + <10-12> cmsl10 + <12-> cmsl12 + }{} +\DeclareFontShape{OT1}{cmr}{m}{it}{ + <-8> cmti7 + <8-9> cmti8 + <9-10> cmti9 + <10-12> cmti10 + <12-> cmti12 + }{} +\DeclareFontShape{OT1}{cmr}{m}{sc}{ +% <-10> cmcsc9 +% <-9> cmcsc8 +% <9-10> cmcsc9 +% <10-> cmcsc10 +% <-> cmcsc10 + }{} +\DeclareFontShape{OT1}{cmr}{m}{ui}{ + <-> cmu10 + }{} +\DeclareFontShape{OT1}{cmr}{b}{n}{ + <-> cmb10 + }{} +\DeclareFontShape{OT1}{cmr}{bx}{n}{ + <-6> cmbx5 + <6-7> cmbx6 + <7-8> cmbx7 + <8-9> cmbx8 + <9-10> cmbx9 + <10-12> cmbx10 + <12-> cmbx12 + }{} +\DeclareFontShape{OT1}{cmr}{bx}{sl}{ + <-> cmbxsl10 + }{} +\DeclareFontShape{OT1}{cmr}{bx}{it}{ + <-> cmbxti10 + }{} +\DeclareFontShape{OT1}{cmr}{bx}{ui} + {<->ssub * cmr/m/ui}{} +% +% +%<*package,cmss> +\DeclareFontFamily{OT1}{cmss}{\hyphenchar\font=45} +\DeclareFontShape{OT1}{cmss}{m}{n}{ + <-9> cmss8 + <9-10> cmss9 + <10-12> cmss10 + <12-17> cmss12 + <17-> cmss17 + }{} +\DeclareFontShape{OT1}{cmss}{m}{it} + {<->sub*cmss/m/sl}{} +\DeclareFontShape{OT1}{cmss}{m}{sl}{ + <-9> cmssi8 + <9-10> cmssi9 + <10-12> cmssi10 + <12-17> cmssi12 + <17-> cmssi17 + }{} +\DeclareFontShape{OT1}{cmss}{m}{sc} + {<->sub*cmr/m/sc}{} +\DeclareFontShape{OT1}{cmss}{m}{ui} + {<->sub*cmr/m/ui}{} +\DeclareFontShape{OT1}{cmss}{sbc}{n}{ + <-> cmssdc10 + }{} +\DeclareFontShape{OT1}{cmss}{bx}{n}{ + <-> cmssbx10 + }{} +\DeclareFontShape{OT1}{cmss}{bx}{ui} + {<->sub*cmr/bx/ui}{} +% +% +%<*package,cmtt> +\DeclareFontFamily{OT1}{cmtt}{\hyphenchar \font\m@ne} +\DeclareFontShape{OT1}{cmtt}{m}{n}{ + <-9> cmtt8 + <9-10> cmtt9 + <10-12> cmtt10 + <12-> cmtt12 + }{} +\DeclareFontShape{OT1}{cmtt}{m}{it}{ + <-> cmitt10 + }{} +\DeclareFontShape{OT1}{cmtt}{m}{sl}{ + <-> cmsltt10 + }{} +\DeclareFontShape{OT1}{cmtt}{m}{sc}{ + <-> cmtcsc10 + }{} +\DeclareFontShape{OT1}{cmtt}{m}{ui} + {<->sub * cmtt/m/it}{} +\DeclareFontShape{OT1}{cmtt}{bx}{n} + {<->sub * cmtt/m/n}{} +\DeclareFontShape{OT1}{cmtt}{bx}{it} + {<->sub * cmtt/m/it}{} +\DeclareFontShape{OT1}{cmtt}{bx}{ui} + {<->sub * cmtt/m/it}{} +% +% +%<*package,cmfr> +\DeclareFontFamily{OT1}{cmfr}{\hyphenchar\font=45} +\DeclareFontShape{OT1}{cmfr}{m}{n}{% + <-> cmff10 + }{} +\DeclareFontShape{OT1}{cmfr}{m}{it}{ + <-> cmfi10 + }{} +% +% +%<*package,cmdh> +\DeclareFontFamily{OT1}{cmdh}{\hyphenchar\font=45} +\DeclareFontShape{OT1}{cmdh}{m}{n}{ + <-> cmdunh10 + }{} +% +% +%<*package,cmfib> +\DeclareFontFamily{OT1}{cmfib}{\hyphenchar\font=45} +\DeclareFontShape{OT1}{cmfib}{m}{n}{ + <-> cmfib8 + }{} +% +% +% +%<*package,OML> +%<*package,cmm> +\DeclareFontFamily{OML}{cmm}{\skewchar\font127 } +\DeclareFontShape{OML}{cmm}{m}{it}{ + <-6> cmmi5 + <6-7> cmmi6 + <7-8> cmmi7 + <8-9> cmmi8 + <9-10> cmmi9 + <10-12> cmmi10 + <12-> cmmi12 + }{} +\DeclareFontShape{OML}{cmm}{b}{it}{% +%<*ams&!extra> + <-7> cmmib5 + <7-10> cmmib7 + <10-> cmmib10 +% +%<*ams&extra> + <-6> cmmib5 + <6-7> cmmib6 + <7-8> cmmib7 + <8-9> cmmib8 + <9-10> cmmib9 + <10-> cmmib10 +% +% <-> cmmib10 + }{} +\DeclareFontShape{OML}{cmm}{bx}{it} + {<-> ssub * cmm/b/it}{} +% +% +%<*package,cmr> +\DeclareFontFamily{OML}{cmr}{\skewchar\font127 } +\DeclareFontShape{OML}{cmr}{m}{n} + {<-> ssub * cmm/m/it}{} +\DeclareFontShape{OML}{cmr}{m}{it} + {<-> ssub * cmm/m/it}{} +\DeclareFontShape{OML}{cmr}{m}{sl} + {<-> ssub * cmm/m/it}{} +\DeclareFontShape{OML}{cmr}{m}{sc} + {<-> ssub * cmm/m/it}{} +\DeclareFontShape{OML}{cmr}{bx}{n} + {<-> ssub * cmm/b/it}{} +\DeclareFontShape{OML}{cmr}{bx}{it} + {<-> ssub * cmm/b/it}{} +\DeclareFontShape{OML}{cmr}{bx}{sl} + {<-> ssub * cmm/b/it}{} +\DeclareFontShape{OML}{cmr}{bx}{sc} + {<-> ssub * cmm/b/it}{} +% +% +% +%<*package,OMS> +%<*package,cmsy> +\DeclareFontFamily{OMS}{cmsy}{\skewchar\font48 } +\DeclareFontShape{OMS}{cmsy}{m}{n}{% + <-6> cmsy5 + <6-7> cmsy6 + <7-8> cmsy7 + <8-9> cmsy8 + <9-10> cmsy9 + <10-> cmsy10 + }{} +\DeclareFontShape{OMS}{cmsy}{b}{n}{% +%<*ams&!extra> + <-7> cmbsy5 + <7-10> cmbsy7 + <10-> cmbsy10 +% +%<*ams&extra> + <-6> cmbsy5 + <6-7> cmbsy6 + <7-8> cmbsy7 + <8-9> cmbsy8 + <9-10> cmbsy9 + <10-> cmbsy10 +% +% <-> cmbsy10 + }{} +% +% +%<*package,cmr> +\DeclareFontFamily{OMS}{cmr}{\skewchar\font48 } +\DeclareFontShape{OMS}{cmr}{m}{n} + {<-> ssub * cmsy/m/n}{} +\DeclareFontShape{OMS}{cmr}{m}{it} + {<-> ssub * cmsy/m/n}{} +\DeclareFontShape{OMS}{cmr}{m}{sl} + {<-> ssub * cmsy/m/n}{} +\DeclareFontShape{OMS}{cmr}{m}{sc} + {<-> ssub * cmsy/m/n}{} +\DeclareFontShape{OMS}{cmr}{bx}{n} + {<-> ssub * cmsy/b/n}{} +\DeclareFontShape{OMS}{cmr}{bx}{it} + {<-> ssub * cmsy/b/n}{} +\DeclareFontShape{OMS}{cmr}{bx}{sl} + {<-> ssub * cmsy/b/n}{} +\DeclareFontShape{OMS}{cmr}{bx}{sc} + {<-> ssub * cmsy/b/n}{} +% +% +% +%<*package,OMX> +%<*package,cmex> +\DeclareFontFamily{OMX}{cmex}{}{} +\DeclareFontShape{OMX}{cmex}{m}{n}{ +%<*ams&extra> + <-8> cmex7 + <8-9> cmex8 + <9-10> cmex9 + <10-> cmex10 +% +%<-> cmex10 + }{} +% +% +% +%<*package,U> +%<*package,lasy> +\DeclareFontFamily{U}{lasy}{} +\DeclareFontShape{U}{lasy}{m}{n}{ + <-6> lasy5 + <6-7> lasy6 + <7-8> lasy7 + <8-9> lasy8 + <9-10> lasy9 + <10-> lasy10 + }{} +\DeclareFontShape{U}{lasy}{b}{n}{ + <-> lasyb10 + }{} +% +%<*package,ams> +%<*package,msa> +\DeclareFontFamily{U}{msa}{} +\DeclareFontShape{U}{msa}{m}{n}{ +% <-7> msam5 +% <7-10> msam7 +% <-6> msam5 +% <6-7> msam6 +% <7-8> msam7 +% <8-9> msam8 +% <9-10> msam9 + <10-> msam10 + }{} +% +% +%<*package,msb> +\DeclareFontFamily{U}{msb}{} +\DeclareFontShape{U}{msb}{m}{n}{ +% <-7> msbm5 +% <7-10> msbm7 +% <-6> msbm5 +% <6-7> msbm6 +% <7-8> msbm7 +% <8-9> msbm8 +% <9-10> msbm9 + <10-> msbm10 + }{} +% +% +%<*package,euex> +\DeclareFontFamily{U}{euex}{} +\DeclareFontShape{U}{euex}{m}{n}{ + <-> euex10 % AMS file refers to euex7 but I dont have it. + }{} +% +% +%<*package,euf> +\DeclareFontFamily{U}{euf}{} +\DeclareFontShape{U}{euf}{m}{n}{ + <-7> eufm5 + <7-10> eufm7 + <10-> eufm10 + }{} +\DeclareFontShape{U}{euf}{b}{n}{ + <-7> eufb5 + <7-10> eufb7 + <10-> eufb10 + }{} +% +% +%<*package,eur> +\DeclareFontFamily{U}{eur}{\skewchar\font'177} +\DeclareFontShape{U}{eur}{m}{n}{ + <-7> eurm5 + <7-10> eurm7 + <10-> eurm10 + }{} +\DeclareFontShape{U}{eur}{b}{n}{ + <-7> eurb5 + <7-10> eurb7 + <10-> eurb10 + }{} +% +% +%<*package,eus> +\DeclareFontFamily{U}{eus}{\skewchar\font'60} +\DeclareFontShape{U}{eus}{m}{n}{ + <-7> eusm5 + <7-10> eusm7 + <10-> eusm10 + }{} +\DeclareFontShape{U}{eus}{b}{n}{ + <-7> eusb5 + <7-10> eusb7 + <10-> eusb10 + }{} +% +% +% +%<*package> +\endgroup +% +% diff --git a/macros/latex/contrib/type1cm/type1cm.ins b/macros/latex/contrib/type1cm/type1cm.ins new file mode 100644 index 0000000000..12a6089874 --- /dev/null +++ b/macros/latex/contrib/type1cm/type1cm.ins @@ -0,0 +1,76 @@ + +%% type1cm package Copyright 1997 2002 David Carlisle +%% This file may be distributed under the terms of the LPPL. +%% See type1cm.txt for details. +%% +%% Please see type1cm.txt for instructions. +%% + +% Assume AMS fontset by default +\def\ams{ams} + +% IF you have not got the AMS FONT SET +% remove the % on the next line. +%\def\ams{} + +% Conversely IF you have the `AMS Extra' font set available +% that is you have msam6 as well as msam5 msam7 and msam10 +% then remove the % on the next line. +%\def\ams{ams,extra} + + +% Assume you do not want to make fd files. +\newif\ifmakefd +\makefdfalse + +% IF you want to make fd files replacing the standard LaTeX and AMS +% ones, remove the % on the next line. +%\makefdtrue + + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% DO NOT EDIT BELOW THIS POINT +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + + +\def\batchfile{type1cm.ins} + +\input docstrip +\keepsilent + +\preamble +\endpreamble + +\generate{ + \file{type1cm.sty}{\from{type1cm.fdd}{package,\ams}}} + +{\ifmakefd + +\generate{ + \file{ot1cmr.fd}{\from{type1cm.fdd}{OT1,cmr,\ams}} + \file{ot1cmss.fd}{\from{type1cm.fdd}{OT1,cmss,\ams}} + \file{ot1cmtt.fd}{\from{type1cm.fdd}{OT1,cmtt,\ams}} + \file{ot1cmfr.fd}{\from{type1cm.fdd}{OT1,cmfr,\ams}} + \file{ot1cmdh.fd}{\from{type1cm.fdd}{OT1,cmdh,\ams}} + \file{omlcmm.fd}{\from{type1cm.fdd}{OML,cmm,\ams}} + \file{omlcmr.fd}{\from{type1cm.fdd}{OML,cmr,\ams}} + \file{omscmsy.fd}{\from{type1cm.fdd}{OMS,cmsy,\ams}} + \file{omscmr.fd}{\from{type1cm.fdd}{OMS,cmr,\ams}} + \file{omxcmex.fd}{\from{type1cm.fdd}{OMX,cmex,\ams}} + \file{ulasy.fd}{\from{type1cm.fdd}{U,lasy,\ams}} + } + + + +\ifx\ams\empty\else + +\generate{ + \file{ueuex.fd}{\from{type1cm.fdd}{U,euex,ams}} + \file{ueuf.fd}{\from{type1cm.fdd}{U,euf,ams}} + \file{ueur.fd}{\from{type1cm.fdd}{U,eur,ams}} + \file{ueus.fd}{\from{type1cm.fdd}{U,eus,ams}} + } + +\fi +\fi +} diff --git a/macros/latex/contrib/type1cm/type1cm.txt b/macros/latex/contrib/type1cm/type1cm.txt new file mode 100644 index 0000000000..5018bf77c5 --- /dev/null +++ b/macros/latex/contrib/type1cm/type1cm.txt @@ -0,0 +1,160 @@ + + type1cm package for LaTeX + ========================== + Copyright 1997 2002 David Carlisle + + + + All the files in this directory, and the LaTeX packages + that can be extracted from the source files in this directory + may be redistributed and/or modified under the terms + of the LaTeX Project Public License Distributed from CTAN + archives in directory macros/latex/base/lppl.txt; either + version 1 of the License, or (at your option) any later version. + + David Carlisle david@dcarlisle.demon.co.uk + + + + +LaTeX separates its internal notion of font specification +from the external fonts available on the system by means of +`Font Shape Specifications', that are normally held in +`Font Descriptor' (fd) files. + +The fd files that come with LaTeX that refer to the standard +Computer Modern set (and the related AMS set) are based on +the classical bitmap fonts which are available in `magstep' +sizes only. For instance The specification of the main roman font is + \DeclareFontShape{OT1}{cmr}{m}{n} + { <5> <6> <7> <8> <9> <10> <12> gen * cmr + <10.95> cmr10 + <14.4> cmr12 + <17.28><20.74><24.88>cmr17}{} +which says for instance that no font is available at 10.5pt (LaTeX +will substitute the nearest available size if you ask for this) +and similarly the font is not available at all above 25pt. + +Such restrictions are essential with bitmap fonts to save generating +huge numbers of bitmaps for any size that might be requested, however +with scalable versions of the fonts these restrictions are not really +needed. For instance the equivalent definition defined here is: +\DeclareFontShape{OT1}{cmr}{m}{n}{ + <-6> cmr5 + <6-7> cmr6 + <7-8> cmr7 + <8-9> cmr8 + <9-10> cmr9 + <10-12> cmr10 + <12-17> cmr12 + <17-> cmr17 + }{} + +which means that you can (Although some may consider it bad style) +go \fontsize{10.7pt}{12pt}\selectfont and be given a suitably scaled +version of cmr10 and a baseline setting of 12pt. Similarly if you really +want, you can go \fontsize{2cm}{2.5cm}\selectfont and use cmr17 scaled +to 2cm height for a special display context. + +**** Warning**** +If you use this setup and produce dvi files using these sizes, be very +careful if you give the dvi files so created to someone using classical +bitmap versions of the cm fonts. Depending on how their system is set up +they will either not be able to print the file at all, as they will not +have the fonts at the corrrect sizes, or the system will make all these +strange sizes `on demand' and fill the disk with bitmaps. +**************** + +So the default way of using this package is as a LaTeX package file. +Install type1cm.sty as described below and then just add +\usepackage{type1cm} +to your document. This will override the definitions for all the fonts +and so the standard fd files are not used. +The disadvantage of this method is all the definitions are then loaded +into memory, even for fonts you don't use in the document. (However +only the size specifications are so loaded, not the fonts themselves). +However the advantage is that you can always choose not to specify +\usepackage{type1cm} and so use the same font sizes (and get the +same line and page breaks) as everyone else. + +Alternatively you may use this package to produce a set of fd +files that *replace* the standard files (such as ot1cmr.fd) +You will then need to remake the LaTeX format by running initex on +latex.ltx (as some fd files are loaded into the format). Then you +will not need to use \usepackage. All your documents will have the +freedom of scalable font choices. + + INSTALLATION INSTRUCTIONS + ========================== + +The installation is controlled by the file type1cm.ins which you may +edit in two places. + + +1) If you have not got the AMS Font set available in scalable form + remove the `%' from the line %\def\ams{} + This will cause a more restricted font specification to be used. + + If you have an extended AMS font set available in scalable form + (msam6, msam8 and msam9 in addition to msam5, msam7 and msam10) + then remove the `%' from the line %\def\ams{ams,extra} + + +2) If after reading the warning above you decide to make a set of fd + files, remove the `%'from the line %\makefdtrue + + +Then run tex (or latex) on the file type1cm.ins and a package file +type1cm.sty (and perhaps a set of fd files) will be produced +which you should place in a directory where TeX looks for input files. + +========================================================================= + +Small technical note about the Font Shape specifications used. +I consistantly specified that given a requested size, the largest +available font size smaller than the requested size should be used +and then enlarged to the requested size. The exception being sizes +smaller than the smallest available font, which use a reduced version +of that font. The rationale for this is that enlarging a small font +typically produces a rather `fat' font, but something readable, whereas +shrinking a font may produce something unreadable quite quickly + +So for msam (if `extra' is not specified) I used: + +\DeclareFontShape{U}{msa}{m}{n}{ + <-7> msam5 + <7-10> msam7 + <10-> msam10 + }{} + +That is sizes strictly below 7pt use msam5, 7pt to (less than) 10pt +use msam7 and sizes 10pt and above use msam10. + +This differs from the Specification that the AMS use for the scalable +AMS fonts (used by the psfonts option to the amsfonts package) +They use + +\DeclareFontShape{U}{msa}{m}{n}{ + <-6> msam5 + <6-8> msam7 + <8-> msam10 + }{} + +This has the advantage of minimising the scaling used, so for instance +a 9pt request is satisfied by msam7 scaled up to 9 by this package, but +by msam10 scaled down to 9 by the AMS package. + +In practice this is not likely to make a difference that anyone notices, +but it could in principle affect line breaks etc, so I thought that +I would mention it here. + + + +[1997/01/27 v0.02 BlueSky/Y&Y Type1 CM font definitions (DPC)] + Possibly first public release? Maybe there was a 0.01.. + +[2002/04/01 v0.03 BlueSky/Y&Y Type1 CM font definitions (DPC)] + cmdunhill hasn't worked since the beginning: \hypenchar + ^ + Reported by Brian Mays via the Debian bug tracking system. + Also, made distribution conditions LPPL (previously unspecified) -- cgit v1.2.3