diff options
Diffstat (limited to 'Master/texmf-dist/doc/fonts/tipa/boxchar.sty')
-rw-r--r-- | Master/texmf-dist/doc/fonts/tipa/boxchar.sty | 218 |
1 files changed, 218 insertions, 0 deletions
diff --git a/Master/texmf-dist/doc/fonts/tipa/boxchar.sty b/Master/texmf-dist/doc/fonts/tipa/boxchar.sty new file mode 100644 index 00000000000..efadd07fcec --- /dev/null +++ b/Master/texmf-dist/doc/fonts/tipa/boxchar.sty @@ -0,0 +1,218 @@ +% boxchar.sty --- for displaying large scale character images. +% 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. +% +% 2001/12/24 Rei Fukui + +% For extra huge size fonts, some modifications necessary to the *.fd +% files. + +% Without the following, NFSS will complain because T3 and U/tipx +% are not declared at this moment. + +{\fontencoding{T3}\selectfont + \fontencoding{U}\fontfamily{tipx}\selectfont} + +% Redefine several font commands. For xipa and xipx fonts, these +% redefinitions are unnecessary. + +\DeclareFontShape{T3}{cmr}{m}{n}{% + <5> <6> <7> <8> tipa8 + <9> tipa9 + <10> <10.95> tipa10 + <12> <14.4> tipa12 + <17.28> <20.74> <24.88> tipa17 + <25-> tipa10 +}{} +\DeclareFontShape{U}{tipx}{m}{n}{% + <5> <6> <7> <8> tipx8 + <9> tipx9 + <10> <10.95> tipx10 + <12> <14.4> tipx12 + <17.28> <20.74> <24.88> tipx17 + <25-> tipx10 +}{} + +% An extra huge size font for the MainItem. +% Can be used with 10pt, 11pt, and 12pt texts. + +\def\ExHuge{% + \ifnum\@ptsize=0 % 10*1.2^9 = 51.5978 + \fontsize{51.6}{\f@baselineskip}\selectfont + \else\ifnum\@ptsize=1 % 11*1.2^9 = 56.75758 + \fontsize{56.758}{\f@baselineskip}\selectfont + \else\ifnum\@ptsize=2 % 12*1.2^9 = 61.91736 + \fontsize{61.917}{\f@baselineskip}\selectfont + \fi\fi\fi} + +\def\ExHugeTipa{% + \ifnum\@ptsize=0 % 10*1.2^9 = 51.5978 + \fontencoding{T3}\fontsize{51.6}{\f@baselineskip}\selectfont + \else\ifnum\@ptsize=1 % 11*1.2^9 = 56.75758 + \fontencoding{T3}\fontsize{56.758}{\f@baselineskip}\selectfont + \else\ifnum\@ptsize=2 % 12*1.2^9 = 61.91736 + \fontencoding{T3}\fontsize{61.917}{\f@baselineskip}\selectfont + \fi\fi\fi} + +% Another extra huge size font for the SubItem. +% Can be used with 10pt, 11pt, and 12pt texts. + +\def\exHuge{% + \ifnum\@ptsize=0 % 10*1.2^8 = 42.998 + \fontsize{43}{\f@baselineskip}\selectfont + \else\ifnum\@ptsize=1 % 11*1.2^8 = 47.298 + \fontsize{47.298}{\f@baselineskip}\selectfont + \else\ifnum\@ptsize=2 % 12*1.2^8 = 51.5978 + \fontsize{51.6}{\f@baselineskip}\selectfont + \fi\fi\fi} + +\def\exHugeTipa{% + \ifnum\@ptsize=0 % 10*1.2^8 = 42.998 + \fontencoding{T3}\fontsize{43}{\f@baselineskip}\selectfont + \else\ifnum\@ptsize=1 % 11*1.2^8 = 47.298 + \fontencoding{T3}\fontsize{47.298}{\f@baselineskip}\selectfont + \else\ifnum\@ptsize=2 % 12*1.2^8 = 51.5978 + \fontencoding{T3}\fontsize{51.6}{\f@baselineskip}\selectfont + \fi\fi\fi} + +% Another extra huge size font for the SubItem. +% Can be used with 10pt, 11pt, and 12pt texts. + +\def\exhuge{% + \ifnum\@ptsize=0 % 10*1.2^6 = 29.85984 + \fontsize{29.86}{\f@baselineskip}\selectfont + \else\ifnum\@ptsize=1 % 11*1.2^6 = 32.845824 + \fontsize{32.846}{\f@baselineskip}\selectfont + \else\ifnum\@ptsize=2 % 12*1.2^6 = 35.831808 + \fontsize{35.832}{\f@baselineskip}\selectfont + \fi\fi\fi} + +\def\exhugeTipa{% + \ifnum\@ptsize=0 % 10*1.2^6 = 29.85984 + \fontencoding{T3}\fontsize{29.86}{\f@baselineskip}\selectfont + \else\ifnum\@ptsize=1 % 11*1.2^6 = 32.845824 + \fontencoding{T3}\fontsize{32.846}{\f@baselineskip}\selectfont + \else\ifnum\@ptsize=2 % 12*1.2^6 = 35.831808 + \fontencoding{T3}\fontsize{35.832}{\f@baselineskip}\selectfont + \fi\fi\fi} + +% Produces a super huge image such that 10pt = 10cm. + +\def\SuperHuge{% + \fontsize{284.52756}{\f@baselineskip}\selectfont} + +\def\SuperHugeTipa{% + \fontencoding{T3}\fontsize{284.52756}{\f@baselineskip}\selectfont} + + +% A huge size font for the SubSubItem. + +\def\hugeTipa{\huge\fontencoding{T3}\selectfont} + +% Macros for setting up character box size and margins. + +\newcommand\chaboxvmarginrate{.8} +\newcommand\chaboxhmarginrate{.6} + +% Calculate various sizes for an IPA box. +% global: \ch@rboxxheight, \ch@rboxht, \ch@rboxdp, \ch@rboxwd +% Sizes can be changed by #1 (font size) and the above two values. + + +\def\ipasetb@xsize#1#2{{% + \setbox\z@\hbox{#2{x}}% + \xdef\ch@rboxxheight{\the\ht\z@\relax}% + \dimen\z@\ht\z@ \dimen\@ne \chaboxvmarginrate\dimen\z@ + \edef\ch@rboxvmargin{\the\dimen\@ne\relax}% + \dimen\z@\wd\z@ \dimen\@ne \chaboxhmarginrate\dimen\z@ + \edef\ch@rboxhmargin{\the\dimen\@ne\relax}% + \setbox\z@\hbox{#2{l}}% + \dimen\z@\ht\z@ \advance\dimen\z@ \ch@rboxvmargin + \xdef\ch@rboxht{\the\dimen\z@\relax}% + \setbox\z@\hbox{#2{p}}% + \dimen\z@\dp\z@ \advance\dimen\z@ \ch@rboxvmargin + \xdef\ch@rboxdp{\the\dimen\z@\relax}% + \setbox\z@\hbox{#2{m}}% + \dimen\z@\wd\z@ \advance\dimen\z@ \ch@rboxhmargin + \xdef\ch@rboxwd{\the\dimen\z@\relax}}} + +\def\ptmxheight{128.0374pt\relax} + +\def\ipasetb@xsizevar#1#2{{% + \setbox\z@\hbox{#2{x}}% +% \xdef\ch@rboxxheight{\the\ht\z@\relax}% + \xdef\ch@rboxxheight{\ptmxheight\relax}% + \dimen\z@\ht\z@ \dimen\@ne \chaboxvmarginrate\dimen\z@ + \edef\ch@rboxvmargin{\the\dimen\@ne\relax}% + \dimen\z@\wd\z@ \dimen\@ne \chaboxhmarginrate\dimen\z@ + \edef\ch@rboxhmargin{\the\dimen\@ne\relax}% + \setbox\z@\hbox{#2{l}}% + \dimen\z@\ht\z@ \advance\dimen\z@ \ch@rboxvmargin + \xdef\ch@rboxht{\the\dimen\z@\relax}% + \setbox\z@\hbox{#2{p}}% + \dimen\z@\dp\z@ \advance\dimen\z@ \ch@rboxvmargin + \xdef\ch@rboxdp{\the\dimen\z@\relax}% + \setbox\z@\hbox{#2#1}% + \dimen\z@\wd\z@ \advance\dimen\z@ \ch@rboxhmargin + \xdef\ch@rboxwd{\the\dimen\z@\relax}}} + +\def\rigidframe{\let\ipasetb@xsize\ipasetb@xsizevar} + +\def\doubleframebox#1#2{% + \hbox{\fboxrule.8pt\fboxsep3pt\fbox{% + \fboxrule.4pt\fboxsep\z@\fbox{\symbolb@x{#1}{#2}}}}} + +\def\singleframebox#1#2{% + \hbox{\fboxrule.4pt\fboxsep\z@\fbox{\symbolb@x{#1}{#2}}}} + +% The main macro for displaying a large scale image of a character in +% a framebox with the base and x-height lines indicated. +% Note that the frame is not drawn by this macro. +% +% Arguments: +% #1 = the character to display +% #2 = font size +% +% The result of this macro is an \hbox of which the width is +% \ch@rboxwd and the height is \ch@rboxtotalht. + +\def\symbolb@x#1#2{{% + \ipasetb@xsize{#1}{#2}\setbox\z@\hbox{#2{#1}}% + \dimen\z@\ch@rboxht \advance\dimen\z@ by\ch@rboxdp + \edef\ch@rboxtotalht{\the\dimen\z@}% + \hbox to\ch@rboxwd{\hsize\ch@rboxwd + \hss + \vbox to\ch@rboxtotalht{\offinterlineskip + \dott@dline{\ch@rboxxheight}{\patterni} + \dott@dline{\z@}{\patternii} + \dimen\z@\ch@rboxht \advance\dimen\z@ by-\ht\z@ + \kern\dimen\z@ + \hbox to\hsize{\hfil\box\z@\hfil} + \vss}% + \hss}}} + +% A macro for drawing a dotted line. + +\def\dott@dline#1#2{% + \dimen\z@\ch@rboxht \advance\dimen\z@ by-#1\relax + \vtop to\z@{\kern\the\dimen\z@ + \hbox to\ch@rboxwd{\xleaders#2\hfil}\vss}} + +% Patterns used for dotted lines + +\def\patterni{\hbox to 2pt{% thin dotted line + \hfil\vrule width .5pt height .1pt depth .1pt \hfil}} + +\def\patternii{\hbox to 2pt{% thick dotted line + \hfil\vrule width .5pt height .15pt depth .15pt \hfil}} + +\endinput |