From 2a880d217a7d88f43b934deb51e531751dc6335f Mon Sep 17 00:00:00 2001 From: Norbert Preining Date: Fri, 23 Nov 2007 20:32:28 +0000 Subject: new package fonttable git-svn-id: svn://tug.org/texlive/trunk@5575 c570f23f-e606-0410-a88d-b1316a301751 --- .../texmf-dist/tex/latex/fonttable/fonttable.sty | 232 +++++++++++++++++++++ 1 file changed, 232 insertions(+) create mode 100644 Master/texmf-dist/tex/latex/fonttable/fonttable.sty (limited to 'Master/texmf-dist/tex/latex') diff --git a/Master/texmf-dist/tex/latex/fonttable/fonttable.sty b/Master/texmf-dist/tex/latex/fonttable/fonttable.sty new file mode 100644 index 00000000000..c18b34bf2ed --- /dev/null +++ b/Master/texmf-dist/tex/latex/fonttable/fonttable.sty @@ -0,0 +1,232 @@ +%% +%% This is file `fonttable.sty', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% fonttable.dtx (with options: `pack') +%% ------------------------------------------------------------------ +%% Author: Peter Wilson (Herries Press) herries dot press at earthlink dot net +%% Copyright 2005 Peter R. Wilson +%% +%% This work may be distributed and/or modified under the +%% conditions of the Latex Project Public License, either +%% version 1.3 of this license or (at your option) any +%% later version. +%% The latest version of the license is in +%% http://www.latex-project.org/lppl.txt +%% and version 1.3 or later is part of all distributions of +%% LaTeX version 2003/06/01 or later. +%% +%% This work has the LPPL maintenance status "author-maintained". +%% +%% This work consists of the files listed in the README file. +%% ------------------------------------------------------------------ +\NeedsTeXFormat{LaTeX2e} +\ProvidesPackage{fonttable}[2005/12/06 v1.0a displays a font] + +\providecommand*{\sevenrm}{\fontsize{7}{9pt}\rmfamily} +\newcount\f@tm \newcount\f@tn \newcount\f@tp \newdimen\f@tdim + +\newcommand*{\fonttable}[1]{% + \def\f@tfontname{#1}% + \bgroup + \f@tstartfont + \ftable + \egroup} + +\newcommand*{\f@tstartfont}{\font\f@ttestfont=\f@tfontname + \f@ttestfont \f@tsetbaselineskip + \ifdim\fontdimen6\f@ttestfont<10pt \rightskip=0pt plus 20pt + \else\rightskip=0pt plus 2em \fi + \spaceskip=\fontdimen2\f@ttestfont % space between words (\raggedright) + \xspaceskip=\fontdimen2\f@ttestfont \advance\xspaceskip + by\fontdimen7\f@ttestfont} + +\newcommand*{\f@tsetbaselineskip}{\setbox0=\hbox{\f@tn=0 + \loop\char\f@tn \ifnum \f@tn<255 \advance\f@tn 1 \repeat} + \baselineskip=6pt \advance\baselineskip\ht0 \advance\baselineskip\dp0 } + +\newcommand*{\f@toct}[1]{\hbox{\rmfamily\'{}\kern-.2em\itshape + #1\/\kern.05em}} % octal constant +\newcommand*{\f@thex}[1]{\hbox{\rmfamily\H{}\ttfamily#1}} % hexadecimal constant +\def\f@tsetdigs#1"#2{\gdef\h{#2}% \h=hex prefix; \0\1=corresponding octal + \f@tm=\f@tn \divide\f@tm by 64 \xdef\0{\the\f@tm}% + \multiply\f@tm by-64 \advance\f@tm by\f@tn \divide\f@tm by 8 \xdef\1{\the\f@tm}} +\newcommand*{\f@ttestrow}{\setbox0=\hbox{\penalty 1\def\\{\char"\h}% + \\0\\1\\2\\3\\4\\5\\6\\7\\8\\9\\A\\B\\C\\D\\E\\F% + \global\f@tp=\lastpenalty}} % \f@tp=1 if none of the characters exist + +\newif\ifhexoct +\newcommand*{\hexoct}{\hexocttrue} +\newcommand*{\nohexoct}{\hexoctfalse} +\hexoct + +\newcommand*{\f@toddline}{\cr + \noalign{\nointerlineskip} + \multispan{19}\hrulefill& + \setbox0=\hbox{\lower 2.3pt\hbox{\f@thex{\h x}}}\smash{\box0} + \cr + \noalign{\nointerlineskip}} + +\newif\iff@tskipping + +\newcommand*{\fontrange}[2]{% + \ifnum#1<#2\relax + \ifnum#1<\z@ + \f@tm=\z@ + \else + \f@tm=#1 + \divide \f@tm \sixt@@n + \multiply \f@tm \sixt@@n + \fi + \edef\f@tlow{\the\f@tm} + \f@tm=#2 + \divide \f@tm \sixt@@n + \advance \f@tm \@ne + \multiply \f@tm \sixt@@n + \ifnum \f@tm > \@cclvi \f@tm=\@cclvi \fi + \edef\f@thigh{\the\f@tm} + \else + \PackageError{fonttable}{% + Improper values for fontrange. Default values substituted}{\@ehc} + \def\f@tlow{0} \def\f@thigh{256} + \fi} +\fontrange{0}{256} + +\newcommand*{\f@tloopforsixteen}{% + \ifnum\f@tn<\f@tlow \global\f@tn=\f@tlow\fi + \loop\f@tskippingfalse + \ifnum\f@tn<\f@thigh \f@tm=\f@tn \divide\f@tm \sixt@@n \chardef\next=\f@tm + \expandafter\f@tsetdigs\meaning\next \f@ttestrow + \ifnum\f@tp=\@ne \f@tskippingtrue \fi\fi + \iff@tskipping \global\advance\f@tn \sixt@@n \repeat} + +\newcommand*{\f@tevenline}{% + \f@tloopforsixteen + \ifnum\f@tn=\f@thigh \let\next=\f@tendchart\else\let\next=\f@tmorechart\fi + \next} +\newcommand*{\f@tevenlinenonum}{% + \f@tloopforsixteen + \ifnum\f@tn=\f@thigh + \\\hline + \else + \\\hline + \f@tmorechartnonum + \fi} + +\newcommand*{\f@tmorechart}{\cr\noalign{\hrule\penalty5000} + \f@tchartline \f@toddline \f@tm=\1 \advance\f@tm 1 \xdef\1{\the\f@tm} + \f@tchartline \f@tevenline} +\newcommand*{\f@tmorechartnonum}{% + \f@tsimpleline \\ \hline + \f@tsimpleline \f@tevenlinenonum} + +\newcommand*{\f@tchartline}{&\f@toct{\0\1x}&&\:&&\:&&\:&&\:&&\:&&\:&&\:&&\:&&} +\newcommand*{\f@tsimpleline}{% + \:\f@tchartstrut& \: & \: & \: & \: & \: & \: & \:} + +\newcommand*{\f@tchartstrut}{\lower4.5pt\vbox to14pt{}} +\newdimen\ftablewidth + \ftablewidth=\hsize +\newdimen\fntcolwidth + \setlength{\fntcolwidth}{0.08\ftablewidth} +\newcommand*{\f@tcol}{% + \multicolumn{1}{c}{\hspace*{\fntcolwidth}}} +\newcommand*{\f@tstartchartnonum}{% + \f@tcol &\f@tcol &\f@tcol &\f@tcol &\f@tcol &\f@tcol &\f@tcol &\f@tcol} + +\newcommand*{\f@tftablenum}{$$\global\f@tn=\z@ + \halign to\ftablewidth\bgroup + \f@tchartstrut##\tabskip0pt plus10pt& + &\hfil##\hfil&\vrule##\cr + \lower6.5pt\null + &&&\f@toct0&&\f@toct1&&\f@toct2&&\f@toct3&&\f@toct4&&\f@toct5&&\f@toct6&&\f@toct7&% + \f@tevenline} +\newcommand*{\f@tftablenonum}{% + \global\f@tn=\z@ + \begin{tabular}{|c|c|c|c|c|c|c|c|} + \f@tstartchartnonum + \f@tevenlinenonum + \end{tabular}} +\newcommand*{\ftable}{\ifhexoct\f@tftablenum\else\f@tftablenonum\fi} + +\newcommand*{\f@tendchart}{\cr\noalign{\hrule} + \raise11.5pt\null&&&\f@thex 8&&\f@thex 9&&\f@thex A&&\f@thex B& + &\f@thex C&&\f@thex D&&\f@thex E&&\f@thex F&\cr + \egroup$$\par} + +\newcommand*{\nodecimals}{% +%%% the original + \def\:{\setbox0=\hbox{\char\f@tn}% + \ifdim\ht0>7.5pt\f@treposition + \else\ifdim\dp0>2.5pt\f@treposition\fi\fi + \box0\global\advance\f@tn 1 }} +\newcommand{\decimals}{% +%%% mine + \def\:{\setbox0=\hbox{\char\f@tn\,\rlap{\tiny \the\f@tn}}% + \ifdim\ht0>7.5pt\f@treposition + \else\ifdim\dp0>2.5pt\f@treposition\fi\fi + \box0\global\advance\f@tn 1 }} +\decimals + +\newcommand*{\f@treposition}{\setbox0=\vbox{\kern2pt\box0}\f@tdim=\dp0 + \advance\f@tdim 2pt \dp0=\f@tdim} + +\def\fonttext#1{% + \def\f@tfontname{#1}% + \bgroup + \f@tstartfont + \knutext + \egroup} + +\def\regulartext#1{% + \bgroup + #1 + \knutext + \egroup} + +\def\knutext{{ +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.'' + +\moreknutext + +\capknutext + +\knunames +\par}} + +\def\@moreknutext{?`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? } + +\newcommand{\@capknutext}{% +(!`THE DAZED BROWN FOX QUICKLY GAVE 12345--67890 JUMPS!)} +\let\capknutext\@capknutext + +\def\@knunames{ {\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} + +\newcommand*{\simpletext}{\let\moreknutext\relax \let\knunames\relax} +\newcommand*{\fulltext}{\let\moreknutext\@moreknutext \let\knunames\@knunames} +\simpletext + +\endinput +%% +%% End of file `fonttable.sty'. -- cgit v1.2.3