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/mbboard/texinputs |
Initial commit
Diffstat (limited to 'fonts/mbboard/texinputs')
-rw-r--r-- | fonts/mbboard/texinputs/mbboard.dcl | 162 | ||||
-rw-r--r-- | fonts/mbboard/texinputs/mbboard.sty | 40 | ||||
-rw-r--r-- | fonts/mbboard/texinputs/mbboard.tex | 98 | ||||
-rw-r--r-- | fonts/mbboard/texinputs/mbbtest.tex | 357 | ||||
-rw-r--r-- | fonts/mbboard/texinputs/testmac.tex | 416 |
5 files changed, 1073 insertions, 0 deletions
diff --git a/fonts/mbboard/texinputs/mbboard.dcl b/fonts/mbboard/texinputs/mbboard.dcl new file mode 100644 index 0000000000..f3b4b8f08a --- /dev/null +++ b/fonts/mbboard/texinputs/mbboard.dcl @@ -0,0 +1,162 @@ +% blackboard typefaces by Anthony Phan. +% file: mbboard.dcl (\TeX\ and \LaTeX\ file) +% last modification: November 1st, 1999. +% +% the \bbdagesh construction works now by ligature system. +% +% definitions thru mbbfam +% +%\symbol@message{\centerline{---~Starting mbboard declarations~---}} +% +\symbol@message{Miscellaneous symbols} +% +\DeclareMathSymbol{\Bbbk}{0}{mbb}{"6B} +\chardef\ctlig="09 +\chardef\stlig="0A +% +\symbol@message{Some delimiters} +% +\DeclareMathSymbol{\bbvert} {3}{mbb}{"DC} +\DeclareMathSymbol{\bbslash} {0}{mbb}{"2F} +\DeclareMathSymbol{\bbbackslash} {0}{mbb}{"5C} +\DeclareMathSymbol{\bblbrack} {4}{mbb}{"5B} +\DeclareMathSymbol{\bbrbrack} {5}{mbb}{"5D} +\DeclareMathSymbol{\bblbrace} {4}{mbb}{"DB} +\DeclareMathSymbol{\bbrbrace} {5}{mbb}{"DD} +\DeclareMathSymbol{\bblangle} {4}{mbb}{"DE} +\DeclareMathSymbol{\bbrangle} {5}{mbb}{"DF} +% +\symbol@message{Greek lowercase} +% +\DeclareMathSymbol{\bbalpha} {0}{mbb}{"A1} +\DeclareMathSymbol{\bbbeta} {0}{mbb}{"A2} +\DeclareMathSymbol{\bbgamma} {0}{mbb}{"A3} +\DeclareMathSymbol{\bbdelta} {0}{mbb}{"A4} +\DeclareMathSymbol{\bbepsilon} {0}{mbb}{"A5} +\DeclareMathSymbol{\bbzeta} {0}{mbb}{"A6} +\DeclareMathSymbol{\bbeta} {0}{mbb}{"A7} +\DeclareMathSymbol{\bbtheta} {0}{mbb}{"A8} +\DeclareMathSymbol{\bbiota} {0}{mbb}{"A9} +\DeclareMathSymbol{\bbkappa} {0}{mbb}{"AA} +\DeclareMathSymbol{\bblambda} {0}{mbb}{"AB} +\DeclareMathSymbol{\bbmu} {0}{mbb}{"AC} +\DeclareMathSymbol{\bbnu} {0}{mbb}{"AD} +\DeclareMathSymbol{\bbxi} {0}{mbb}{"AE} +\DeclareMathSymbol{\bbomicron} {0}{mbb}{"AF} +\DeclareMathSymbol{\bbpi} {0}{mbb}{"B0} +\DeclareMathSymbol{\bbrho} {0}{mbb}{"B1} +\DeclareMathSymbol{\bbsigma} {0}{mbb}{"B2} +\DeclareMathSymbol{\bbtau} {0}{mbb}{"B3} +\DeclareMathSymbol{\bbupsilon} {0}{mbb}{"B4} +\DeclareMathSymbol{\bbphi} {0}{mbb}{"B5} +\DeclareMathSymbol{\bbchi} {0}{mbb}{"B6} +\DeclareMathSymbol{\bbpsi} {0}{mbb}{"B7} +\DeclareMathSymbol{\bbomega} {0}{mbb}{"B8} +\DeclareMathSymbol{\bbvarepsilon} {0}{mbb}{"B9} +\DeclareMathSymbol{\bbvartheta} {0}{mbb}{"BA} +\DeclareMathSymbol{\bbvarkappa} {0}{mbb}{"BB} +\DeclareMathSymbol{\bbvarpi} {0}{mbb}{"BC} +\DeclareMathSymbol{\bbvarrho} {0}{mbb}{"BD} +\DeclareMathSymbol{\bbvarsigma} {0}{mbb}{"BE} +\DeclareMathSymbol{\bbvarphi} {0}{mbb}{"BF} +% +\symbol@message{Greek uppercase} +% +\DeclareMathSymbol{\bbAlpha} {0}{mbb}{"81} +\DeclareMathSymbol{\bbBeta} {0}{mbb}{"82} +\DeclareMathSymbol{\bbGamma} {0}{mbb}{"83} +\DeclareMathSymbol{\bbDelta} {0}{mbb}{"84} +\DeclareMathSymbol{\bbEpsilon} {0}{mbb}{"85} +\DeclareMathSymbol{\bbZeta} {0}{mbb}{"86} +\DeclareMathSymbol{\bbEta} {0}{mbb}{"87} +\DeclareMathSymbol{\bbTheta} {0}{mbb}{"88} +\DeclareMathSymbol{\bbIota} {0}{mbb}{"89} +\DeclareMathSymbol{\bbKappa} {0}{mbb}{"8A} +\DeclareMathSymbol{\bbLambda} {0}{mbb}{"8B} +\DeclareMathSymbol{\bbMu} {0}{mbb}{"8C} +\DeclareMathSymbol{\bbNu} {0}{mbb}{"8D} +\DeclareMathSymbol{\bbXi} {0}{mbb}{"8E} +\DeclareMathSymbol{\bbOmicron} {0}{mbb}{"8F} +\DeclareMathSymbol{\bbPi} {0}{mbb}{"90} +\DeclareMathSymbol{\bbRho} {0}{mbb}{"91} +\DeclareMathSymbol{\bbSigma} {0}{mbb}{"92} +\DeclareMathSymbol{\bbTau} {0}{mbb}{"93} +\DeclareMathSymbol{\bbUpsilon} {0}{mbb}{"94} +\DeclareMathSymbol{\bbPhi} {0}{mbb}{"95} +\DeclareMathSymbol{\bbChi} {0}{mbb}{"96} +\DeclareMathSymbol{\bbPsi} {0}{mbb}{"97} +\DeclareMathSymbol{\bbOmega} {0}{mbb}{"98} +% +\symbol@message{Greek like symbols} +% +\DeclareMathSymbol{\bbdigamma} {0}{mbb}{"99} +\DeclareMathSymbol{\bbnabla} {0}{mbb}{"9A} +\DeclareMathSymbol{\bbcoprod} {0}{mbb}{"9B} +\DeclareMathSymbol{\bbmho} {0}{mbb}{"9C} +\DeclareMathSymbol{\bbslashSigma} {0}{mbb}{"9D} +\DeclareMathSymbol{\bbslashnabla} {0}{mbb}{"9E} +\DeclareMathSymbol{\bbslashlambda}{0}{mbb}{"9F} +% +%\symbol@message{Ionian extension} +%% +% \DeclareMathSymbol{\bbDigamma} {0}{mbb}{"C0} +% \DeclareMathSymbol{\bbKoppa} {0}{mbb}{"C1} +% \DeclareMathSymbol{\bbSampi} {0}{mbb}{"C2} +% \DeclareMathSymbol{\bbdigamma} {0}{mbb}{"C3} +% \DeclareMathSymbol{\bbkoppa} {0}{mbb}{"C4} +% \DeclareMathSymbol{\bbsampi} {0}{mbb}{"C5} +% \DeclareMathSymbol{\bbvardigamma}{0}{mbb}{"C6} +% \DeclareMathSymbol{\bbvarkoppa} {0}{mbb}{"C7} +% +\symbol@message{Hebrew} +% +\DeclareMathSymbol{\bbaleph} {0}{mbb}{"C0} +\DeclareMathSymbol{\bbbeth} {0}{mbb}{"C1} +\DeclareMathSymbol{\bbgimmel} {0}{mbb}{"C2} +\DeclareMathSymbol{\bbdalet} {0}{mbb}{"C3} +\DeclareMathSymbol{\bbhe} {0}{mbb}{"C4} +\DeclareMathSymbol{\bbvav} {0}{mbb}{"C5} +\DeclareMathSymbol{\bbzayin} {0}{mbb}{"C6} +\DeclareMathSymbol{\bbhet} {0}{mbb}{"C7} +\DeclareMathSymbol{\bbtet} {0}{mbb}{"C8} +\DeclareMathSymbol{\bbyod} {0}{mbb}{"C9} +\DeclareMathSymbol{\bbfinalkaf} {0}{mbb}{"CA} +\DeclareMathSymbol{\bbkaf} {0}{mbb}{"CB} +\DeclareMathSymbol{\bblamed} {0}{mbb}{"CC} +\DeclareMathSymbol{\bbfinalmem} {0}{mbb}{"CD} +\DeclareMathSymbol{\bbmem} {0}{mbb}{"CE} +\DeclareMathSymbol{\bbfinalnun} {0}{mbb}{"CF} +\DeclareMathSymbol{\bbnun} {0}{mbb}{"D0} +\DeclareMathSymbol{\bbsamekh} {0}{mbb}{"D1} +\DeclareMathSymbol{\bbayin} {0}{mbb}{"D2} +\DeclareMathSymbol{\bbfinalpe} {0}{mbb}{"D3} +\DeclareMathSymbol{\bbpe} {0}{mbb}{"D4} +\DeclareMathSymbol{\bbfinaltzadik}{0}{mbb}{"D5} +\DeclareMathSymbol{\bbtzadik} {0}{mbb}{"D6} +\DeclareMathSymbol{\bbqof} {0}{mbb}{"D7} +\DeclareMathSymbol{\bbresh} {0}{mbb}{"D8} +\DeclareMathSymbol{\bbshin} {0}{mbb}{"D9} +\DeclareMathSymbol{\bbtav} {0}{mbb}{"DA} +\DeclareMathSymbol{\bbdagesh} {0}{mbb}{"FF} +% +\symbol@message{Currency signs} +% +\DeclareMathSymbol{\bbdollar} {0}{mbb}{"24} +\DeclareMathSymbol{\bbeuro} {0}{mbb}{"FB} +\DeclareMathSymbol{\bbpound} {0}{mbb}{"FC} +\DeclareMathSymbol{\bbcent} {0}{mbb}{"FD} +\DeclareMathSymbol{\bbyen} {0}{mbb}{"FE} +%\DeclareMathSymbol{\bbshereq} {0}{mbb}{"FF} +% +% end of file +% +%\symbol@message{\centerline{---~ending of mbboard declarations~---}} +\endinput + + + + + + + + diff --git a/fonts/mbboard/texinputs/mbboard.sty b/fonts/mbboard/texinputs/mbboard.sty new file mode 100644 index 0000000000..cd38b7eb85 --- /dev/null +++ b/fonts/mbboard/texinputs/mbboard.sty @@ -0,0 +1,40 @@ +% blackboard typefaces by Anthony Phan. +% file: mbboard.tex (\TeX' file for mbb's fonts) +% last modification: November 1st, 1999. +% +\catcode`@=11 +% +% mbb's font declarations +% +\DeclareFontFamily{OT1}{mbb}{\hyphenchar\font45} +% +\DeclareFontShape{OT1}{mbb}{m}{n}{ + <5> <6> <7> <8> <9> <10> gen * mbb + <10.95> mbb10 <12> <14.4> mbb12 <17.28> <20.74> <24.88> mbb17 + }{} +\DeclareSymbolFont{mbb}{OT1}{mbb}{m}{n} +% +\DeclareFontShape{OT1}{mbb}{bx}{n}{ + <5> <6> <7> <8> <9> <10> gen * mbb + <10.95> mbb10 <12> <14.4> mbb12 <17.28> <20.74> <24.88> mbb17 + }{} +\DeclareSymbolFont{mbb}{OT1}{mbb}{bx}{n} +% +\DeclareSymbolFontAlphabet{\mathbb}{mbb} +\DeclareFontSubstitution{OT1}{mbb}{m}{n} +\DeclareRobustCommand\bbfamily + {\not@math@alphabet\bbfamily\mathbb + \fontfamily{mbb}\selectfont} +\DeclareTextFontCommand{\textbb}{\bbfamily} +% +% no proofmode +% +\def\symbol@message#1{\relax} +\input mbboard.dcl +% +% end of file. +% +\catcode`@=12 +\endinput + + diff --git a/fonts/mbboard/texinputs/mbboard.tex b/fonts/mbboard/texinputs/mbboard.tex new file mode 100644 index 0000000000..bc0aa9e631 --- /dev/null +++ b/fonts/mbboard/texinputs/mbboard.tex @@ -0,0 +1,98 @@ +% blackboard typefaces by Anthony Phan. +% file: mbboard.tex (\TeX' file for mbb's fonts) +% last modification: November 1st, 1999. +% +\catcode`@=11 +% +% proofing? +% +\ifx\proofmode\undefined + \def\symbol@message#1{\relax}% + \def\symbol@mark#1#2{\relax}% +\else + \def\symbol@message#1{\medbreak{\noindent\bf #1} + \medskip\noindent\ignorespaces}% + \def\symbolsp@cing#1{(\ifcase\number#1 ord\or op% + \or bin\or rel\or open\or close\or punct% + \or var\else ???\fi)}% + \def\symbol@mark#1#2{$#1$ {\tt\string#1} + \symbolsp@cing{#2},\ \ignorespaces}% +\fi +% +% Symbols declarations: \LaTeX-like commands +% +\def\hexnumber@#1{\ifcase\number#1 0\or 1\or 2\or 3\or 4% + \or 5\or 6\or 7\or 8\or 9\or A\or B\or C\or D\or E\or F\fi}% +% +\def\DeclareMathSymbol#1#2#3#4{% + \count255=#2\multiply\count255 by 16 + \advance\count255 by \csname#3fam\endcsname + \multiply\count255 by 256\advance\count255 by #4 + \ifcat\noexpand#1\relax\mathchardef#1=\count255 + \else\expandafter + \mathcode\expandafter`\csname#1\endcsname=\count255 + \fi\symbol@mark{#1}{#2}} +% +\def\gobble@quotes#1{\ifx#1"\else#1\fi} +% +\def\@DeclareMathDelimiter#1#2#3#4#5#6{% + \edef#1{\noexpand\delimiter\noexpand"\gobble@quotes#2% + \expandafter\hexnumber@\csname#3fam\endcsname\gobble@quotes#4% + \expandafter\hexnumber@\csname#5fam\endcsname\gobble@quotes#6 }% + \symbol@mark{#1}{#2}} +% +\def\@xDeclareMathDelimiter#1#2#3#4#5{% + \count255=\csname#2fam\endcsname + \multiply\count255 by 256\advance\count255 by #3 + \multiply\count255 by 16 + \advance\count255 by \csname#4fam\endcsname + \multiply\count255 by 256\advance\count255 by #5 + \expandafter\delcode\expandafter`\csname#1\endcsname=\count255 + \symbol@mark{#1}{#2}} +% +\def\DeclareMathDelimiter#1{% + \ifcat\noexpand#1\relax + \def\Large@stuff{\noexpand\delimiter}% + \expandafter\@DeclareMathDelimiter + \else\expandafter\@xDeclareMathDelimiter\fi#1} +% +\def\DeclareMathRadical#1#2#3#4#5{% + \edef#1{\noexpand\radical\noexpand"% + \expandafter\hexnumber@\csname#2fam\endcsname\gobble@quotes#3% + \expandafter\hexnumber@\csname#4fam\endcsname\gobble@quotes#5 }% + \symbol@mark{#1.}{8}} +% +\def\DeclareMathAccent#1#2#3#4{% + \edef#1{\noexpand\mathaccent\noexpand"% + \expandafter\hexnumber@\csname#3fam\endcsname\gobble@quotes#4 }% + \symbol@mark{#1.}{8}} +% +% loading blackboard fonts +% +\font\twelvembb=mbb12 \font\tenmbb=mbb10 +\font\ninembb=mbb9 \font\eightmbb=mbb8 +\font\sevenmbb=mbb7 \font\sixmbb=mbb6 +\font\fivembb=mbb5 +% +\skewchar\tenmbb="7F \skewchar\ninembb="7F \skewchar\eightmbb="7F +\skewchar\sevenmbb="7F \skewchar\sixmbb="7F \skewchar\fivembb="7F +\hyphenchar\tenmbb="2D \hyphenchar\ninembb="2D \hyphenchar\eightmbb="2D +\hyphenchar\sevenmbb="2D \hyphenchar\sixmbb="2D \hyphenchar\fivembb="2D +% +\newfam\mbbfam +% +% Initialization +% (make changes in your own file if you want different sizes) +% +\textfont\mbbfam=\tenmbb \scriptfont\mbbfam=\sevenmbb +\scriptscriptfont\mbbfam=\fivembb \def\mbb{\fam\mbbfam\tenmbb} +\def\mathbb#1{{\fam\mbbfam#1}} +% +\input mbboard.dcl +% +\catcode`@=12 +\let\proofmode=\undefined +\endinput + + + diff --git a/fonts/mbboard/texinputs/mbbtest.tex b/fonts/mbboard/texinputs/mbbtest.tex new file mode 100644 index 0000000000..020c9d0a55 --- /dev/null +++ b/fonts/mbboard/texinputs/mbbtest.tex @@ -0,0 +1,357 @@ +% blackboard typefaces by Anthony Phan. +% file: mbtest.tex (testfile) +% last modification: 10.08.2001. + +\magnification=\magstep1 +\overfullrule=0pt +\input testmac.tex + +\begintitle +\title{Mbbxxx series} +\subtitle{Informations} +\author{Anthony Phan} +\endtitle + +\nonfrenchspacing + +The {\it Mbboard}\/ series are quite good quality fonts primarily intended +to be used as blackboard bold fonts in mathematical texts typesetted +in \TeX\ with Computer Modern as main fonts' set. Their design comes +from printed mathematical books and articles, and, thus, from +some commercial fonts. One of the main contribution of the +mbboard-series lies in its completeness as one could se further on, +completeness due to their author's work only. + +These fonts have been designed in such a way that they can be used +as text fonts, even if such texts would be hardly readable. +This also means that even if they are mostly intended to be used +in mathematical formulae, they are not ``mathematical fonts'' +as understood in the MetaFont experts' community. I believe that +it doesn't matter to much since these are upright fonts (in some +cases, one would have to insert some negative thin space in subscrits). + +The current distribution of these fonts and \TeX's packages +is the {\it mbboard0.4}\/ which appears to be quite good and +stable. The two supported subseries are {\it mbbXX}\/ and +{\it mbbxXX}\/ where {\it XX}\/ is the point size. Other +subseries should be seen as oddities and, then, unsupported. +The author also claims no responsability in translations +of these fonts into other formats (type 1, etc.). + +\section{Progress} + +\subsection{Mbboard0.0, january 2000} +Space and time initial distribution. +If most glyphs look correct, kerning +properties are to be checked. The +dagesh marking is to be changed. + +\subsection{Mbboard0.1, april 2000} +There have been changes in ligtables and designs: + +\item{$\bullet$} +There is no more automatic c--t nor s--t +ligature in the basic encoding. +The corresponding glyphs have to +be accessed directly with \cs{\ctlig} +or \cs{\stlig} in text mode. + +\item{$\bullet$} +There is now a dagesh sign such that +this sign plus a Hebrew letter +give the Hebrew letter with dagesh +by ligaturing system. Otherwise, +it does nothing. Its location +on mbb's encoding is the former +shereq sign's location. +This last glyph has been removed +from the basic encoding. + +\item{$\bullet$} +Some vertical overshots have been corrected. + +\item{$\bullet$} +The Roman shaped `a' and `3' have been slightly modified. + +\item{$\bullet$} +Dorian pi has been rewritten. + +\item{$\bullet$} +Kerning properties are still to +be checked. + +\subsection{Mbboard0.2, december 2000} +Just code-check before the first ``expected +to be stable''-distribution. + +\subsection{Mbboard0.3, june 2001} +Input files' names have been changed in order +to avoid conflicts with other source files---such +as the bbold's ones (Alan Jeffrey's fonts). + +Roundish bowls are experimented. It will lead +to a simpler code: there will be less explicit +intersection control sequences. + +\subsection{Mbboard0.4, october 2001} +Some control sequences' names or variables' names +have been changed. Roundish bowls have been (not fully) +implemented. Some important changes have been done: + +\item{$\bullet$} +The width of `lambda' is now equal to the width of `A'. +(so that metrics have changed!) + +\item{$\bullet$} +Percent sign and related ones have been corrected. +(someone could have told me of that error!) + +\item{$\bullet$} +The letter `e' and related ones have been sharpen; +`xi', `zeta' have been slightly changed\dots\ and so on. + +\item{$\bullet$} 17pt size has been introduced. + +\item{$\bullet$} A whole bold extended font has been created. + +\item{$\bullet$} +Kerning properties are still to be checked. + +\subsection{Mbboard0.5, october 2001} +The main change is my trial to get rid of every {\tt square\_end} +control sequence. But it alters design quite deeply. So design +itself is at least slightly changed. Some metrics have changed +too just because I could not remember why I've made some odd +choices. All those changes can not be reported without making +a comparison between this version and the former one. + +\item{$\bullet$} +The width of `cedilla' has changed, it's now very thin just +as `ogonek'. (So that metrics have changed!) + +\item{$\bullet$} +Kerning properties are still to be checked. + +\fuzzytext +\let\proofmode=! +\input mbboard.tex +\normaltext + +\section{Different sizes} + +\usuals{mbb17 }\usuals{mbbx17 } +\usuals{mbb12 }\usuals{mbbx12 } +\usuals{mbb10 }\usuals{mbbx10 } +\usuals{mbb9 }\usuals{mbbx9 } +\usuals{mbb8 }\usuals{mbbx8 } +\usuals{mbb7 }\usuals{mbbx7 } +\usuals{mbb6 }\usuals{mbbx6 } +\usuals{mbb5 }\usuals{mbbx5 } +% +% tests comparatifs +% +\compare{mbb10 }{cmr10 } +\compare{mbb10 }{cmbx10 } +\compare{mbb10 }{mbbx10 } +\compare{mbb10 }{cmss10 } +%\compare{mbb10 }{ptmr } +\docomparison{mbb10 }{msbm10 }from 65 to 90. +\docomparison{msbm10 }{ptmr }from 65 to 90. + +\section{Greek letters} + +$\bbalpha\alpha$ +$\bbbeta\beta$ +$\bbgamma\gamma$ $\bbdelta\delta$ $\bbepsilon\epsilon$ +$\bbzeta\zeta$ $\bbeta\eta$ $\bbtheta\theta$ +$\bbiota\iota$ $\bbkappa\kappa$ $\bblambda\lambda$ +$\bbmu\mu$ $\bbnu\nu$ $\bbxi\xi$ $\bbomicron o$ +$\bbpi\pi$ $\bbrho\rho$ $\bbsigma\sigma$ $\bbtau\tau$ +$\bbupsilon\upsilon$ $\bbphi\phi$ $\bbchi\chi$ $\bbpsi\psi$ +$\bbomega\omega$ $\bbvarepsilon\varepsilon$ $\bbvartheta\vartheta$ +$\bbvarsigma\varsigma$ $\bbvarkappa$%\varkappa$ +$\bbvarpi\varpi$ +$\bbvarrho\varrho$ $\bbvarsigma\varsigma$ $\bbvarphi\varphi$ +\par\let\machin=\rm +$\bbAlpha\machin A$ $\bbBeta\machin B$ +$\bbGamma\machin\Gamma$ +$\bbDelta\machin\Delta$ $\bbEpsilon\machin\rm E$ $\bbZeta\machin Z$ +$\bbEta\machin H$ $\bbTheta\machin\Theta$ $\bbIota\machin I$ +$\bbKappa\machin K$ $\bbLambda\machin\Lambda$ $\bbMu\machin M$ +$\bbNu\machin N$ $\bbXi\machin\Xi$ $\bbOmicron\machin O$ +$\bbPi\machin\Pi$ $\bbRho\machin P$ $\bbSigma\machin\Sigma$ +$\bbTau\machin T$ $\bbUpsilon\machin\Upsilon$ $\bbPhi\machin\Phi$ +$\bbChi\machin X$ $\bbPsi\machin\Psi$ $\bbOmega\machin\Omega$ + +\section{Accents} + +{\mbb +\AA\aa +\c R\u R\=R\d R\.R\"R\`R\'R\^R\v R\~R\H R +\c a\u a\=a\d a\.a\"a\`a\'a\^a\v a\~a\H a +\c o\u o\=o\d o\.o\"o\`o\'o\^o\v o\~o\H o +\c e\u e\=e\d e\.e\"e\`e\'e\^e\v e\~e\H e +\c c} +\medbreak +{\rm\AA\aa +\c R\u R\=R\d R\.R\"R\`R\'R\^R\v R\~R\H R +\c a\u a\=a\d a\.a\"a\`a\'a\^a\v a\~a\H a +\c o\u o\=o\d o\.o\"o\`o\'o\^o\v o\~o\H o +\c e\u e\=e\d e\.e\"e\`e\'e\^e\v e\~e\H e +\c c} + +%\section{Random test of gray} + +%{\mbb \mixfrom 65 to 90. + +%\medbreak + +%\mixfrom 97 to 122. + +%\medbreak + +%\mixfrom 192 to 250. +%} + +%\section{Kerning tables} + +%{\mbb +%\kerningtable["41,"5A]["41,"5A] +%\kerningtable["41,"5A]["61,"7A] +%\kerningtable["61,"7A]["61,"7A] +%\kerningtable["61,"7A]["41,"5A] +%} + +\section{Other basic control sequences} +The most important control sequence is \cs{\mathbb} +which has one argument and is similar to the +classical one. There is also \cs{\mbb} +which changes current font in text or math mode +to blackboard. Those two control sequences are available +in plain\TeX\ and La\TeX. +About text, usual \TeX's control sequences +or ligaturing mechanisms apply. +The c--t and s--t ligatures can be used via +\cs{\ctlig} and \cs{\stlig} +in text mode only, but switching to another +font may produce oddities. +French double quotes are obtained by `{\tt<<}' +and `{\tt>>}'. But french single quotes cannot +be obtained by `{\tt<}' nor `{\tt>}', they have +to be reached by their {\tt charcode}. + +{\mbb << This was the noble\stlig\ Roman of them all\dots>>} + +\section{The \cs{\bbdagesh} construction} +One of the most current diacritic marks in Hebrew is dagesh. +If Hebrew is quite rarely used in mathematical composition, +to our knowledge it appeared one time in a logic book with +Hebrew letters from aleph to gimmel with, or not, dagesh mark. +The fact that this mark cannot be applied by simply putting aside +lead pieces lead us to design particuliar characters for those +cases. The big question was how to switch from normal characters +to marked ones. The last solution is to use ligaturing properties +to make a dagesh mark meeting a Hebrew character becoming a dagesh +marked Hebrew character. This means that a dagesh sign had to be +designed, and that it had to have a nice behavior with other +characters. By now, we don't know if the solution that we retain +could be considered as a canonical one. It's just the one that +is built-in the current version of our fonts. Look at samples below: +$$ +\bbdagesh\bbaleph\bbdagesh\bbbeth\bbdagesh\bbgimmel +\bbdagesh\bbdalet\bbdagesh\mathbb R +\bbdagesh\mathbb U\bbdagesh\mathbb O +$$ + +\section{Mbb, the regular blackboard serie} + +The following font is actually the only one that is fully supported. +This essentially means that evolution of metrical properties will be +based on them. Other series could get some improvement as this one +may do (I hope so), but that's not certain\dots + +\UsualTest{mbb10} + +\section{Mbbx, the regular blackboard bold extended serie} + +\UsualTest{mbbx10} + +\section{Mbbr, a variant that may look better for text (unsupported yet)} + +\UsualTest{mbbr10} + +\section{Mbbi, an italic version (unsupported yet)} + +\UsualTest{mbbi10} + +\section{Mbbsl, a slanted version (unsupported yet)} + +\UsualTest{mbbsl10} + +\section{Mbbcr, a T1-encoded version (unsupported yet)} + +As one can see in the following table, the Euro sign has +been introduced in this T1-encoding. I just cannot +remember which symbol I've then removed. + +\UsualTest{mbbcr10} + +\section{Mbbgr, why not some Greek version? (unsupported yet)} + +The following font consists only of a +fairly simple rewriting of some driver +file. Encoding has been inspired by +Silvio Levy's work and some foregoing +contributors. It is not +(at that time) supposed to be a complete +Greek font. + +\UsualTest{mbbgr10} + +\section{Mbbheb, what about a Hebrew version? (unsupported yet)} + +The following font should not be taken too seriously. +There are at least three reasons for that. +The first one is that it seems to contain a lot of +diacritic marks, but the fact is that we don't know +how to deal with them. If they are to be handled by +a \cs{\accent} mecanism, their metrical design +should fit that. If they are not, what should be done? +Secondly, there is the great encoding matter. I can't remember +why I choosed the following encoding. It was inspired, +I think, by some comparisons with existing ones, expecially +with unicode specifications and with Yannis Haralambous' work +on tiqwah fonts. The last reason that comes to my mind +is that I know nothing about Hebrew and, furthermore, +about Hebrew typographical composition. +So, most of this serie is a first draft for an unexpectable +and unusefull Hebrew font. + +\UsualTest{mbbheb10} +\bye + + +Il y a quelques ann\'ees, je d\'ecouvrais l'univers +de \TeX\ par contrainte. Jusqu'alors je m'\'etais +efforc\'e d'y \'echapper pensant que celui-ci me +serait imp\'en\'etrable. M\^u par je ne sais quel +enthousiasme, je finis par m'y mettre en abordant +La\TeX\ sur un Mac. Pas typographe pour deux sous, +ni informaticien pour une roupie, je dus faire face +\`a de nombreuses difficult\'es. Mon plus grand +succ\`es \`a l'\'epoque fut de d\'ecouvrir et de +pouvoit utiliser la fonte {\tt msym} qui r\'esidait +encore sur l'ordinateur dont je me servais. Celle-ci +comblait mes attentes quant \`a disposer de caract\`eres +ad\'equats pour repr\'esenter ---~entre autres~--- +les ensembles fondamentaux. H\'elas, d'une plateforme +on doit passer \`a une autre simplement parce que +l'on change de bureau. J'ai alors red\'ecouvert (avec +r\'etiscence) les syst\`emes de type Unix et surtout +les distributions \TeX\ pour ceux-ci. Il n'y avait +plus de {\tt msym} mais seulement un {\tt msbm} qui ne +me plaisait pas. De nombreuses recherches sur le web +se seront sold\'ees par la conviction qu'il fallait +recoder ce qui me faisait d\'efaut. J'ai alors +emprunt\'e une premi\`ere fois le {\tt MetaFontbook} +et j'ai commenc\'e par les premiers exercices\dots diff --git a/fonts/mbboard/texinputs/testmac.tex b/fonts/mbboard/texinputs/testmac.tex new file mode 100644 index 0000000000..791ff9a88f --- /dev/null +++ b/fonts/mbboard/texinputs/testmac.tex @@ -0,0 +1,416 @@ +% +% TESTMAC.tex +% +\catcode`\@=11 +% +% Page setup +% +%\magnification=\magstep1 +\voffset=0.12 true cm +\hoffset=0.31 true cm +\vsize=24.2 true cm +\hsize=15.3 true cm +\parindent=1.333em +% +% Heading +% +\font\nineit=cmti9 +\font\twelverm=cmr12 +\newif\iftitle +\titlefalse +\footline={\hfil} +\headline={\iftitle\hfil\global\titlefalse + \ifodd\pageno\advance\pageno by 1\fi + \else\vbox{\line{\ifodd\pageno + {\nineit\@title}\hfil\llap{\tenrm\folio} + \else\rlap{\tenrm\folio}\hfill{\nineit\@title}% + \fi}\vskip6pt\hrule}\fi} +% +% Sectionning +% +\def\,{\ifmmode\mskip\thinmuskip\else\thinspace\fi} +\def\dots{\ifmmode\ldots\else% + .\kern\fontdimen3\font + .\kern\fontdimen3\font + .\fi} +% +\def\french{\frenchspacing\language=1 + \def\@textsep{~---~}% + \def\Author{Auteur~}\def\LastVersion{Derni\`ere version~}% + \def\today{\day\space\ifcase\month\or + janvier\or f\'evrier\or mars\or avril\or mai\or juin\or + juillet\or ao\^ut\or septembre\or octobre\or novembre\or + d\'ecembre\fi\space\number\day,\space\number\year}}% +% +\def\english{\frenchspacing\language=0 + \def\@textsep{\kern 1em}% + \def\Author{Author}\def\LastVersion{Last version}% + \def\today{\ifcase\month\or + January\or February\or March\or April\or May\or June\or + July\or August\or September\or October\or November\or + December\fi\space\number\day,\space\number\year}}% +% +\def\begintitle{\bgroup + \def\title##1{\gdef\@title{##1}}% + \def\subtitle##1{\def\@subtitle{##1}}% + \def\author##1{\def\@author{##1}}% + \let\@title=\undefined + \let\@subtitle=\undefined + \let\@author=\undefined} +% +\def\endtitle{\global\titletrue\parindent=0pt + \leavevmode + \ifx\@title\undefined\else{\twelverm\@title}\par\fi + \vskip 6pt + \hrule height 6pt + \vskip 6pt + \ifx\@subtitle\undefined\else\hfill{\twelverm\@subtitle}\par\fi + \ifx\@author\undefined\else\hfill{\rm\Author: \@author}\par\fi + \hfill{\rm\LastVersion: \today}\par + \egroup + \bigbreak} +% +\def\section#1{\bigbreak\noindent{\bf#1}\par\nobreak\medskip} +\def\subsection#1{\medbreak\noindent{\bf#1\unskip.}\@textsep\ignorespaces} +\def\cs#1{{\tt\string#1}}% +\long\def\comments#1\endcomments{}% +\def\fuzzytext{\tolerance=9999\hfuzz=3em\vfuzz=0.1pt}% +\def\normaltext{\tolerance=200\hfuzz=0.1pt\vfuzz=0.1pt}% +\def\newpage{\par\vfill\eject}% +% +% font tests +% +\newcount\randomnumber +\newcount\rndmult \rndmult=16% 3*5+1 +\newcount\rndincr \rndincr=19019% 7*11**13*19 +\newcount\rndmodu \rndmodu=66430125% 3*3*3*3*5*5*5 +\newcount\reducednumber +\def\reduce#1modulo#2.{% + \reducednumber=#1% + \divide\reducednumber by#2% + \multiply\reducednumber by #2% + \advance\reducednumber by -#1% + \multiply\reducednumber by -1} +\def\randomchoice{% + \multiply\randomnumber by \rndmult + \advance\randomnumber by \rndincr + \reduce\randomnumber modulo \rndmodu. + \global\randomnumber=\reducednumber} +\randomnumber=\day +\advance\randomnumber by -1 +\multiply\randomnumber by 1440 +\advance\randomnumber by \time +\multiply\randomnumber by 12 +\advance\randomnumber by \month +\advance\randomnumber by -1 +\reduce\randomnumber modulo \rndmodu. +\randomnumber=\reducednumber +% +\newcount\n\newcount\m +\def\mixfrom#1to#2.{\medbreak\noindent{\count255=#2% + \advance\count255 by -#1% + \n=0\loop\ifnum\n<25 \m=0% + {\loop\ifnum\m<43\randomchoice + \reduce\randomnumber modulo\count255. + \advance\reducednumber by #1% + \char\reducednumber + \advance\m by 1 + \repeat} + \advance\n by 1\endgraf\noindent + \repeat}\medbreak} +% +\def\compare#1#2{\medbreak\noindent{% + \font\ftestfont=#1\font\stestfont=#2% + \count255=0% + {\bf#1\unskip/\ignorespaces#2} + \par\nobreak\medskip\noindent + {\loop\ifnum\count255<256 + {\ftestfont\char\count255 + \stestfont\char\count255} + \advance\count255 by 1\repeat}}\medbreak} +% +\def\docomparison#1#2from#3to#4.{\medbreak\noindent{% + \font\ftestfont=#1\font\stestfont=#2% + \count255=#3% + \count0=#4\advance\count0 by 1 + {\bf#1\unskip/\ignorespaces#2} + \par\medskip\noindent + {\loop\ifnum\count255<\count0 + {\ftestfont\char\count255 + \stestfont\char\count255$_{_{\the\count255}}$} + \advance\count255 by 1\repeat}}\medbreak} +% +\def\usuals#1{\medbreak\noindent{\bf#1\unskip.}~---~{% + \font\testfont=#1\testfont\setbaselineskip + \let\-=\allowbreak + A\-B\-C\-D\-E\-F\-G\-H\-I\-J\-K\-L\-M\-% + N\-O\-P\-Q\-R\-T\-S\-U\-V\-W\-X\-Y\-Z \- + a\-b\-c\-d\-e\-f\-g\-h\-i\-j\-k\-l\-m\-% + n\-o\-p\-q\-r\-s{}\-t\-u\-v\-w\-x\-y\-z \- + \AE\-\OE\-\O + \ae\-\oe\-\o\-\ss + +\-=\-\# @ 1\-2\-3\-4\-5\-6\-7\-8\-9\-0 \-\$ \& () []% + \medbreak}} +% +% in math (display) mode +% +\let\normall=\mathopen +\let\normalm=\mathrel +\let\normalr=\mathclose +\def\biggg#1{{\hbox{$\left#1\vbox to20.5\p@{}\right.\n@space$}}} +\def\bigggl{\mathopen\biggg} +\def\bigggr{\mathclose\biggg} +\def\bigggm{\mathrel\biggg} +\def\testdelimiter#1{ + \csname#1l\endcsname({\rm H} + \csname#1m\endcsname|{\rm O} + \csname#1r\endcsname) + =\csname#1l\endcsname[{\rm H} + \csname#1m\endcsname\thickvert{\rm O} + \csname#1r\endcsname] + =\csname#1l\endcsname\{{\rm H} + \csname#1m\endcsname|{\rm O} + \csname#1r\endcsname\} + =\csname#1l\endcsname\langle {\rm H} + \csname#1m\endcsname|{\rm O} + \csname#1r\endcsname\rangle + =\csname#1l\endcsname\lbbbrack{\rm H} + \csname#1m\endcsname|{\rm O} + \csname#1r\endcsname\rbbbrack + =\csname#1l\endcsname\lceil{\rm H} + \csname#1m\endcsname\thickvert{\rm O} + \csname#1r\endcsname\rceil +\cr + =\csname#1l\endcsname\lfloor{\rm H} + \csname#1m\endcsname\thickvert{\rm O} + \csname#1r\endcsname\rfloor + =\csname#1l\endcsname\lgroup{\rm H} + \csname#1m\endcsname\thickvert{\rm O} + \csname#1r\endcsname\rgroup +%=\csname#1l\endcsname\lmoustache {\rm H}\csname#1r\endcsname\rmoustache + =\csname#1l\endcsname|{\rm H}\csname#1r\endcsname| + =\csname#1l\endcsname\Vert {\rm H}\csname#1r\endcsname\Vert + =\csname#1l\endcsname\vvvert {\rm H}\csname#1r\endcsname\vvvert + =\csname#1l\endcsname\uparrow {\rm H} + \csname#1m\endcsname\updownarrow{\rm H} + \csname#1r\endcsname\downarrow + =\csname#1l\endcsname\Uparrow {\rm H} + \csname#1m\endcsname\Updownarrow{\rm H} + \csname#1r\endcsname\Downarrow + =\sqrt{\csname#1m\endcsname|}} +\def\testwideaccent#1{#1{I}=#1{H}=#1{II}=#1{III}= + #1{IIII}=#1{IIIII}=#1{IIIIII}=#1{IIIIIIII}} +\def\kerningtable[#1,#2][#3,#4]{\medbreak\noindent{\parindent=0pt + \m=#4 \advance\m by -#3 \advance\m by 1 + \dim=\hsize \divide\dim by \m + \m=#1 \advance\m by -1 + \n=#3 \advance\n by -1 + {\loop\leavevmode + \ifnum\m<#2 + \advance\m by 1 + {\loop + \ifnum\n<#4 + \advance\n by 1 + \setbox0\hbox{\char\m\char\n}% + \setbox1\hbox{\char\m\null\char\n}% + \hbox to \dim{\char\m\char\n + \ifdim\wd0=\wd1\else{\rm*}\fi\hss}% + \repeat}\endgraf + \repeat}% + }\medbreak}% +% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +\hyphenation{prom-i-nent} + +%\newcount\m \newcount\n +\newcount\p \newdimen\dim +\chardef\other=12 + +\def\hours{\n=\time \divide\n 60 + \m=-\n \multiply\m 60 \advance\m \time + \twodigits\n\ heures \twodigits\m\ minutes} + +\def\twodigits#1{\ifnum #1<10 0\fi \number#1} + +\def\startfont{\tracinglostchars=0 + \fuzzytext +% \tolerance=1000 +% \raggedbottom + \parindent=0pt +% \newlinechar=`@ +% \hyphenpenalty=200 +% \doublehyphendemerits=30000 + \font\testfont=\fontname +% \spaceskip=0pt + % \leftline{{\bf\fontname\unskip}\ (tel que le \today, \`a \hours)} + % \nobreak\medskip\nobreak + \testfont %\setbaselineskip +% \ifdim\fontdimen6\testfont<10pt \rightskip=0pt plus 20pt +% \else\rightskip=0pt plus 2em \fi +% \spaceskip=\fontdimen2\testfont % space between words (\raggedright) +% \xspaceskip=\fontdimen2\testfont +% \advance\xspaceskip by\fontdimen7\testfont + } + +\def\setbaselineskip{\setbox0=\hbox{\n=0 + \loop\char\n \ifnum \n<255 \advance\n 1 \repeat} + \baselineskip=6pt \advance\baselineskip\ht0 + \advance\baselineskip\dp0 } + +\def\setchar#1{{\escapechar-1\message{\string#1 character = }% + \def\do##1{\catcode`##1=\other}\dospecials + \read-1 to\next + \expandafter\finsetchar\next\next#1}} +\def\finsetchar#1#2\next#3{\global\chardef#3=`#1 + \ifnum #3=`\# \global\chardef#3=#2 \fi} +\def\promptthree{\setchar\background + \setchar\starting \setchar\ending} + +\def\mixture{\promptthree \domix\mixpattern} +\def\alternation{\promptthree \domix\altpattern} +\def\mixpattern{\0\1\0\0\1\1\0\0\0\1\1\1\0\1} +\def\altpattern{\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0} +\def\domix#1{\par\chardef\0=\background \n=\starting + \loop \chardef\1=\n #1\endgraf + \ifnum \n<\ending \advance\n 1 \repeat} + +\def\!{\discretionary{\background}{\background}{\background}} +\def\series{\promptthree \!\doseries\starting\ending\par} +\def\doseries#1#2{\n=#1\loop\char\n\!\ifnum\n<#2\advance\n 1 \repeat} +\def\complower{\!\doseries{`a}{`z}\doseries{'31}{'34}\par} +\def\compupper{\!\doseries{`A}{`Z}\doseries{'35}{'37}\par} +\def\compdigs{\!\doseries{`0}{`9}\par} +\def\alphabet{\setchar\background\complower} +\def\ALPHABET{\setchar\background\compupper} + +\def\lowers{\docomprehensive\complower{`a}{`z}{'31}{'34}} +\def\uppers{\docomprehensive\compupper{`A}{`Z}{'35}{'37}} +\def\digits{\docomprehensive\compdigs{`0}{`4}{`5}{`9}} +\def\docomprehensive#1#2#3#4#5{\par\chardef\background=#2 + \loop{#1} \ifnum\background<#3\m=\background\advance\m 1 + \chardef\background=\m \repeat \chardef\background=#4 + \loop{#1} \ifnum\background<#5\m=\background\advance\m 1 + \chardef\background=\m \repeat} + +\def\names{ {\AA}ngel\aa\ Beatrice Claire + Diana \'Erica Fran\c{c}oise Ginette H\'el\`ene Iris + Jackie K\=aren {\L}au\.ra Mar{\'\i}a N\H{a}ta{\l}{\u\i}e {\O}ctave + Pauline Qu\^eneau Roxanne Sabine T\~a{\'\j}a Ur\v{s}ula + Vivian Wendy Xanthippe Yv{\o}nne Z\"azilie\par} +\def\punct{\par\dopunct{min}\dopunct{pig}\dopunct{hid} + \dopunct{HIE}\dopunct{TIP}\dopunct{fluff} + \$1,234.56 + 7/8 = 9\% @ \#0\par} +\def\dopunct#1{#1,\ #1:\ #1;\ `#1'\ ?`#1?\ !`#1!\ (#1)\ [#1]\ #1*\ #1.\par} + +\def\bigtest{\sample + hamburgefonstiv HAMBURGEFONSTIV\par + \names \punct \lowers \uppers \digits} + +\def\math{\textfont1=\testfont \skewchar\testfont=\skewtrial + \mathchardef\Gamma="100 \mathchardef\Delta="101 + \mathchardef\Theta="102 \mathchardef\Lambda="103 \mathchardef\Xi="104 + \mathchardef\Pi="105 \mathchardef\Sigma="106 \mathchardef\Upsilon="107 + \mathchardef\Phi="108 \mathchardef\Psi="109 \mathchardef\Omega="10A + \def\ii{i} \def\jj{j} + \def\\##1{|##1|+}\mathtrial + \def\\##1{##1_2+}\mathtrial + \def\\##1{##1^2+}\mathtrial + \def\\##1{##1/2+}\mathtrial + \def\\##1{2/##1+}\mathtrial + \def\\##1{##1,{}+}\mathtrial + \def\\##1{d##1+}\mathtrial + \let\ii=\imath \let\jj=\jmath \def\\##1{\hat##1+}\mathtrial} +\newcount\skewtrial \skewtrial='177 +\def\mathtrial{$\\A \\B \\C \\D \\E \\F \\G \\H \\I \\J \\K \\L \\M \\N \\O + \\P \\Q \\R \\S \\T \\U \\V \\W \\X \\Y \\Z \\a \\b \\c \\d \\e \\f \\g + \\h \\\ii \\\jj \\k \\l \\m \\n \\o \\p \\q \\r \\s \\t \\u \\v \\w \\x \\y + \\z \\\alpha \\\beta \\\gamma \\\delta \\\epsilon \\\zeta \\\eta \\\theta + \\\iota \\\kappa \\\lambda \\\mu \\\nu \\\xi \\\pi \\\rho \\\sigma \\\tau + \\\upsilon \\\phi \\\chi \\\psi \\\omega \\\vartheta \\\varpi \\\varphi + \\\Gamma \\\Delta \\\Theta \\\Lambda \\\Xi \\\Pi \\\Sigma \\\Upsilon + \\\Phi \\\Psi \\\Omega \\\partial \\\ell \\\wp$\par} +\def\mathsy{\begingroup\skewtrial='060 % for math symbol font tests + \def\mathtrial{$\\A \\B \\C \\D \\E \\F \\G \\H \\I \\J \\K \\L + \\M \\N \\O \\P \\Q \\R \\S \\T \\U \\V \\W \\X \\Y \\Z$\par} + \math\endgroup} + +\def\oct#1{\hbox{\rm\'{}\kern-.2em\it#1\/\kern.05em}} % octal constant +\def\hex#1{\hbox{\rm\H{}\tt#1}} % hexadecimal constant +\def\setdigs#1"#2{\gdef\h{#2}% \h=hex prefix; \0\1=corresponding octal + \m=\n \divide\m by 64 \xdef\0{\the\m}% + \multiply\m by-64 \advance\m by\n \divide\m by 8 \xdef\1{\the\m}} +\def\testrow{\setbox0=\hbox{\penalty 1\def\\{\char"\h}% + \\0\\1\\2\\3\\4\\5\\6\\7\\8\\9\\A\\B\\C\\D\\E\\F% + \global\p=\lastpenalty}} % \p=1 if none of the characters exist +\def\oddline{\cr + \noalign{\nointerlineskip} + \multispan{19}\hrulefill& + \setbox0=\hbox{\lower 2.3pt\hbox{\hex{\h x}}}\smash{\box0}\cr + \noalign{\nointerlineskip}} +\newif\ifskipping +\def\evenline{\loop\skippingfalse + \ifnum\n<256 \m=\n \divide\m 16 \chardef\next=\m + \expandafter\setdigs\meaning\next \testrow + \ifnum\p=1 \skippingtrue \fi\fi + \ifskipping \global\advance\n 16 \repeat + \ifnum\n=256 \let\next=\endchart\else\let\next=\morechart\fi + \next} +\def\morechart{\cr\noalign{\hrule\penalty5000} + \chartline \oddline \m=\1 \advance\m 1 \xdef\1{\the\m} + \chartline \evenline} +\def\chartline{&\oct{\0\1x}&&\:&&\:&&\:&&\:&&\:&&\:&&\:&&\:&&} +\def\chartstrut{\lower4.5pt\vbox to14pt{}} +\def\table{\bigbreak\global\n=0 + \halign to\hsize\bgroup + \chartstrut##\tabskip0pt plus10pt& + &\hfil##\hfil&\vrule##\cr + \lower6.5pt\null + &\hbox to 0pt{\hss\rm\fontname\hss} + &&\oct0&&\oct1&&\oct2&&\oct3&&\oct4 + &&\oct5&&\oct6&&\oct7&\evenline} +\def\endchart{\cr\noalign{\hrule} + \raise11.5pt\null&&&\hex 8&&\hex 9&&\hex A&&\hex B& + &\hex C&&\hex D&&\hex E&&\hex F&\cr\egroup\bigbreak\par} +\def\:{\setbox0=\hbox{\char\n}% + \ifdim\ht0>7.5pt\reposition + \else\ifdim\dp0>2.5pt\reposition\fi\fi + \box0\global\advance\n 1 } +\def\reposition{\setbox0=\vbox{\kern2pt\box0}\dim=\dp0 + \advance\dim 2pt \dp0=\dim} +\def\centerlargechars{ + \def\reposition{\setbox0=\hbox{$\vcenter{\kern2pt\box0\kern2pt}$}}} + +\def\text{{%\advance\baselineskip-4pt +%\setbox0=\hbox{abcdefghijklmnopqrstuvwxyz} +%\ifdim\hsize>2\wd0 \ifdim 15pc>2\wd0 \hsize=15pc \else \hsize=2.5\wd0 \fi\fi +On November 14, 1885, Senator \& Mrs.~Leland Stanford called +together at their San Francisco mansion the 24~prominent men who had +been chosen as the first trustees of The Leland Stanford Junior University. +They handed to the board the Founding Grant of the University, which they +had executed three days before. This document---with various amendments, +legislative acts, and court decrees---remains as the University's charter. +In bold, sweeping language it stipulates that the objectives of the University +are ``to qualify students for personal success and direct usefulness in life; +and to promote the publick welfare by exercising an influence in behalf of +humanity and civilization, teaching the blessings of liberty regulated by +law, and inculcating love and reverence for the great principles of +government as derived from the inalienable rights of man to life, liberty, +and the pursuit of happiness.'' \moretext +(!`THE DAZED BROWN FOX QUICKLY GAVE 12345--67890 JUMPS!)\par}} +\def\moretext{?`But aren't Kafka's Schlo{\ss} and {\AE}sop's {\OE}uvres +often na{\"\i}ve vis-\`a-vis the d{\ae}monic ph{\oe}nix's official r\^ole +in fluffy souffl\'es? } +\def\omitaccents{\let\moretext=\relax} +\def\sample{\table\text} +\def\UsualTest#1{{\def\fontname{#1 }\startfont\sample\names}} +\english +\def\LaTeX{L\kern-.36em% + {\setbox\z@\hbox{T}% + \vbox to\ht\z@{\hbox{$\rm\scriptstyle A$}% + \vss}% + }% + \kern-.15em% + \TeX} +\catcode`\@=12 +\endinput |