diff options
Diffstat (limited to 'Master/texmf-dist/doc/fonts/tipa/codelist.sty')
-rw-r--r-- | Master/texmf-dist/doc/fonts/tipa/codelist.sty | 125 |
1 files changed, 125 insertions, 0 deletions
diff --git a/Master/texmf-dist/doc/fonts/tipa/codelist.sty b/Master/texmf-dist/doc/fonts/tipa/codelist.sty new file mode 100644 index 00000000000..b5494fc3402 --- /dev/null +++ b/Master/texmf-dist/doc/fonts/tipa/codelist.sty @@ -0,0 +1,125 @@ +% codelist.sty +% Copyright 2002 FUKUI Rei +% +% This program may be distributed and/or modified under the +% conditions of the LaTeX Project Public License, either version 1.2 +% of this license or (at your option) any later version. +% The latest version of this license is in +% http://www.latex-project.org/lppl.txt +% and version 1.2 or later is part of all distributions of LaTeX +% version 1999/12/01 or later. +% +% This program consists of all files listed in Manifest.txt. +% +% examples: +% \usepackage{codelist} % necessary in all cases in the preamble +% +% \fonttable{cmr10} +% +% \fonttablescaled{cmr10}{\magstep1} +% +% \fonttable{\empty} % draw an empty code table for a font designer who +% % wants to create a new font from scratch +% % (see also \def\dummyfont below) + +%\topmargin -2cm +%\textheight 24cm + +%\newcommand\dummyfont{cmr10} % for 128 empty boxes +\newcommand\dummyfont{dcr1000} % for 256 empty boxes + +\tracinglostchars=0 +\newcount\@@m \newcount\@@n \newcount\@@p \newdimen\dim +\newif\ifemptybox \emptyboxfalse + +\newcommand\fonttable[1]{% + \ifx\empty#1\font\testfont=\dummyfont % dummy + \emptyboxtrue\def\fontnamestring{empty font}% + \else\font\testfont=#1\def\fontnamestring{#1}\fi +% \leftline{{\small Test of {\itshape{\fontnamestring}}\unskip\ on \today}} +% \smallskip + \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 + \f@nttable} + +\newcommand\fonttablescaled[2]{% + \ifx\empty#1\font\testfont=\dummyfont % dummy + \emptyboxtrue\def\fontnamestring{empty font}% + \else\font\testfont=#1 scaled #2\def\fontnamestring{#1}\fi +% \leftline{{\small Test of {\itshape{\fontnamestring}}\unskip\ on \today}} +% \smallskip + \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 + \f@nttable} + +\newcommand\setbaselineskip{\setbox0=\hbox{\@@n=0 + \loop\char\@@n \ifnum \@@n<255 \advance\@@n 1 \repeat} + \baselineskip=6pt \advance\baselineskip\ht0 \advance\baselineskip\dp0 } + +\newcommand\oct[1]{\hbox{\rm\'{}\kern-.2em\it#1\/\kern.05em}} % octal constant +\newcommand\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}} + +\newcommand\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 + +\newcommand\oddline{\cr + \noalign{\nointerlineskip} + \multispan{19}\hrulefill& + \setbox0=\hbox{\lower 2.3pt\hbox{\hex{\h x}}}\smash{\box0}\cr + \noalign{\nointerlineskip}} + +\newif\ifskipping + +\newcommand\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} + +\newcommand\morechart{\cr\noalign{\hrule\penalty5000} + \chartline \oddline \@@m=\1 \advance\@@m 1 \xdef\1{\the\@@m} + \chartline \evenline} + +\newcommand\chartline{&\oct{\0\1x}&&\CHAR&&\CHAR&&\CHAR&&\CHAR&&\CHAR&& + \CHAR&&\CHAR&&\CHAR&&} + +%\newcommand\chartstrut{\lower6pt\vbox to18pt{}} +\newcommand\chartstrut{\lower5.5pt\vbox to15pt{}} + +\newcommand\f@nttable{$$\global\@@n=0 + \halign to\hsize\bgroup + \chartstrut##\tabskip0pt plus10pt& + &\hfil##\hfil&\vrule##\cr + \lower6.5pt\null + &&&\oct0&&\oct1&&\oct2&&\oct3&&\oct4&&\oct5&&\oct6&&\oct7&\evenline} + +\newcommand\@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$$\par} + +\newcommand\CHAR{\setbox0=\hbox{\char\@@n}% + \ifdim\ht0>7.5pt\reposition + \else\ifdim\dp0>2.5pt\reposition\fi\fi + \ifemptybox\hbox{}\else \box0\fi + \global\advance\@@n 1 } + +\newcommand\reposition{\setbox0=\vbox{\kern2pt\box0}\dim=\dp0 + \advance\dim 2pt \dp0=\dim} + +\newcommand\centerlargechars{ + \newcommand\reposition{\setbox0=\hbox{$\vcenter{\kern2pt\box0\kern2pt}$}}} + +\endinput |