summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/doc/plain/impatient-cn/fonts.tex
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2014-11-13 23:53:39 +0000
committerKarl Berry <karl@freefriends.org>2014-11-13 23:53:39 +0000
commite0056016e425d97e79d80fdee01acf4cd84c1d8d (patch)
treec6024370d669e546e6c66fca1784ec0a980e8694 /Master/texmf-dist/doc/plain/impatient-cn/fonts.tex
parentc3397e2195329b400975b069f1f6e3b2092f84a8 (diff)
impatient-cn (13nov14)
git-svn-id: svn://tug.org/texlive/trunk@35576 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/doc/plain/impatient-cn/fonts.tex')
-rw-r--r--Master/texmf-dist/doc/plain/impatient-cn/fonts.tex334
1 files changed, 334 insertions, 0 deletions
diff --git a/Master/texmf-dist/doc/plain/impatient-cn/fonts.tex b/Master/texmf-dist/doc/plain/impatient-cn/fonts.tex
new file mode 100644
index 00000000000..9094b3b339d
--- /dev/null
+++ b/Master/texmf-dist/doc/plain/impatient-cn/fonts.tex
@@ -0,0 +1,334 @@
+% This is part of the book TeX for the Impatient.
+% Copyright (C) 2003 Paul W. Abrahams, Kathryn A. Hargreaves, Karl Berry.
+% See file fdl.tex for copying conditions.
+
+% Fonts for TeX for the Impatient.
+
+% This file is being distributed with the macros because the macro file
+% refers to it. We used a combination of Bitstream and standard TeX
+% fonts for the original printed book, but for the free edition, we
+% stick to Computer Modern.
+% -----------------------------------------------------------------------
+%
+% We used Computer Modern for the main text and math, and Zapf Humanist
+% (i.e., Optima) for heads. (bs00015 is Optima Roman, 16 italic, 17
+% bold, 18 bold italic.)
+%
+% First we define all of the fonts we use for any purpose, in terms of the
+% font files. Later we define fonts functionally, using \let or \def.
+
+% Computer Modern fonts.
+%
+\chardef\chinesefont = 2
+\ifcase\chinesefont
+ \def\song{Adobe Song Std}
+ \def\hei{Adobe Heiti Std}
+ \def\kai{Adobe Kaiti Std}
+ \def\fang{Adobe Fangsong Std}
+\or
+ \def\song{SimSun}
+ \def\hei{SimHei}
+ \def\kai{KaiTi}
+ \def\fang{FangSong}
+\or
+ \def\song{FandolSong}
+ \def\hei{FandolHei}
+ \def\kai{FandolKai}
+ \def\fang{FandolFang}
+\fi
+%
+\newif\ifxecjk \xecjktrue
+\ifxecjk
+ \font\CJKfont="\song" at 10pt
+ \input xeCJK-base
+ \def\letfont{\let\CJKfont}
+ \normalspacedchars{-}
+\else
+ \font\zhfont="\song" at 10pt
+ \def\zhpunctfont{\zhfont}
+ \input zhspacing.sty
+ \zhspacing
+ \def\letfont{\let\zhfont}
+\fi
+%
+\font\enfiverm = cmr5
+\font\zhfiverm = "\song" at 5pt
+\def\fiverm{\enfiverm\letfont\zhfiverm}
+\font\eneightrm = cmr8
+\font\zheightrm = "\song" at 8pt
+\def\eightrm{\eneightrm\letfont\zheightrm}
+\font\enninerm = cmr9 % Glue pictures, small caps for ASCII.
+\font\zhninerm = "\song" at 9pt
+\def\ninerm{\enninerm\letfont\zhninerm}
+%\font\tenrm = xcmr10 % with our kerning
+\font\entenrm = cmr10 % don't have the xcmr10 source any more
+\font\zhtenrm = "\song" at 10pt
+\def\tenrm{\entenrm\letfont\zhtenrm}
+\font\enoldtenrm = cmr10 % straight CM
+\font\zholdtenrm = "\song" at 10pt
+\def\oldtenrm{\enoldtenrm\letfont\zholdtenrm}
+\font\entwelverm = cmr12
+\font\zhtwelverm = "\song" at 12pt
+\def\twelverm{\entwelverm\letfont\zhtwelverm}
+\font\entwentysixrm = cmr10 at 26pt
+\font\zhtwentysixrm = "\hei" at 26pt
+\def\twentysixrm{\entwentysixrm\letfont\zhtwentysixrm}
+%
+\font\eneightit = cmti8
+\font\zheightit = "\kai" at 8pt
+\def\eightit{\eneightit\letfont\zheightit}
+\font\ennineit = cmti9
+\font\zheightit = "\kai" at 9pt
+\def\nineit{\ennineit\letfont\zhnineit}
+\font\entenit = cmti10
+\font\zhtenit = "\kai" at 10pt
+\def\tenit{\entenit\letfont\zhtenit}
+%
+\font\eneighttt = cmtt8
+\font\zheighttt = "\fang" at 8pt
+\def\eighttt{\eneighttt\letfont\zheighttt}
+\font\ententt = cmtt10
+\font\zhtentt = "\fang" at 10pt
+\def\tentt{\ententt\letfont\zhtentt}
+\font\eneleventt = cmtt10 at 11pt
+\font\zheleventt = "\fang" at 11pt
+\def\elventt{\enelventt\letfont\zhelventt}
+\font\entwelvett = cmtt10 scaled \magstep2
+\font\zhtwelvett = "\fang" at 12pt
+\def\twelvett{\entwelvett\letfont\zhtwelvett}
+%
+\font\entenbt = cmtt10
+\font\zhtenbt = "\fang" at 10pt
+\def\tenbt{\entenbt\letfont\zhtenbt}
+%
+\font\enelevensf = cmss10 scaled\magstephalf
+\font\zhelevensf = "\hei" at 11pt
+\def\elevensf{\enelevensf\letfont\zhelevensf}
+\font\enfourteensf = cmss10 scaled\magstep2
+\font\zhfourteensf = "\hei" at 14pt
+\def\fourteensf{\enfourteensf\letfont\zhfourteensf}
+%
+\font\eneightbf = cmbx8
+\font\zheightbf = "\hei" at 8pt
+\def\eightbf{\eneightbf\letfont\zheightbf}
+\font\entenbf = cmbx10
+\font\zhtenbf = "\hei" at 10pt
+\def\tenbf{\entenbf\letfont\zhtenbf}
+\font\enelevenbf = cmbx10 scaled \magstephalf
+\font\zhelevenbf = "\hei" at 11pt
+\def\elevenbf{\enelevenbf\letfont\zhelevenbf}
+\font\entwelvebf = cmbx12
+\font\zhtwelvebf = "\hei" at 12pt
+\def\twelvebf{\entwelvebf\letfont\zhtwelvebf}
+\font\enthirtysixbf = cmbx10 at 36pt
+\font\zhthirtysixbf = "\hei" at 36pt
+\def\thirtysixbf{\enthirtysixbf\letfont\zhthirtysixbf}
+%
+\font\entenbi = cmbxti10
+\font\zhtenbi = "\hei" at 10pt
+\def\tenbi{\entenbi\letfont\zhtenbi}
+\font\enelevenbi= cmbxti10 scaled \magstephalf
+\font\zhelevenbi = "\hei" at 11pt
+\def\elevenbi{\enelevenbi\letfont\zhelevenbi}
+\font\enfourteenbi= cmbxti10 scaled \magstep2
+\font\zhfourteenbi = "\hei" at 14pt
+\def\fourteenbi{\enfourteenbi\letfont\zhfourteenbi}
+%
+\font\entensc = cmcsc10
+\font\zhtensc = "\fang" at 10pt
+\def\tensc{\entensc\letfont\zhtensc}
+\font\eneightsl = cmsl8
+\font\zheightsl = "\fang" at 8pt
+\def\eightsl{\eneightsl\letfont\zheightsl}
+\font\eneighti = cmmi8
+\font\zheighti = "\kai" at 8pt
+\def\eighti{\eneighti\letfont\zheighti}
+\font\eneightsy = cmsy8
+\font\zheightsy = "\song" at 8pt
+\def\eightsy{\eneightsy\letfont\zheightsy}
+
+% % Optima fonts.
+% %
+% \font\eightopt = bs0015 at 8pt
+% \font\nineopt = bs0015 at 9pt
+% \font\twelveopt = bs0015 at 12pt
+% \font\twentysixopt = bs0015 at 26pt
+% \font\nineoptit = bs0016 at 9pt
+% \font\tenoptit = bs0016 at 10pt
+% \font\tenoptbf = bs0017 at 10pt
+% \font\thirtysixoptbf = bs0017 at 36pt
+% \font\tenbt = bs00175 at 10pt
+% \font\tenoptbi = bs0018 at 10pt
+% \font\elevenoptbi = bs0018 at 11pt
+% \font\fourteenoptbi = bs0018 at 14pt
+
+% Palatino fonts.
+%
+\font\tenpal = pplr
+%\font\tenpal = bs0023
+%\font\tenpalit = bs0024
+%\font\tenpalbf = bs0025
+%\font\tenpalbi = bs0026
+
+% Logo and picture fonts.
+%
+\font\eightlogo = logo8
+\font\logosl = logosl10
+\font\handfont = pzdr
+
+% The following changes are to avoid driver overflow
+\ifmsdos
+ \font\cnum = cnum % 36-pt bold Optima, numbers only (just for MS-DOS)
+ \let\chapternumeralfont = \cnum
+ %\let\thirtysixoptbf = \twentysixopt
+ %\font\sevensy = cmsy8
+ %\font\seveni = cmmi8
+\fi
+
+\def\undefinedfont{\errmessage{Undefined font}}
+
+% This should only be called when \rm et al. are going to be defined
+% directly.
+%
+\def\clearfonts{\let\rm = \undefinedfont \let\bf = \undefinedfont
+ \let\it = \undefinedfont \let\bi = \undefinedfont
+ \let\tt = \undefinedfont \let\bt = \undefinedfont
+ \let\sc = \undefinedfont
+ \let\ss = \undefinedfont
+}
+
+% We only need to assign to \fam if the font is going to be used in math
+% mode, which isn't the case with any of these. \rm, \it, \sl, \bf, and
+% \tt are defined in plain.
+%
+\def\bi{\tenbi}
+
+\def\mapquotes{\catcode`` = \active \catcode`' = \active}
+{\mapquotes
+ \gdef\bt{% The font change also draws \ ` ' from a different font.
+ \tenbt
+ \def\\{{\tentt \char92}}%
+ \def`{{\tentt \char96}}\def'{{\tentt \char39}}%
+ }
+}
+
+\def\bti{\tenbi}
+\def\sc{\tensc}
+
+% Text fonts.
+%
+\def\textfonts{%
+ \def\rm{\fam0\tenrm}%
+ \textfont0=\tenrm \scriptfont0=\sevenrm \scriptscriptfont0=\fiverm
+ \textfont1=\teni \scriptfont1=\seveni \scriptscriptfont1=\fivei
+ \textfont2=\tensy \scriptfont2=\sevensy \scriptscriptfont2=\fivesy
+ \textfont3=\tenex \scriptfont3=\tenex \scriptscriptfont3=\tenex
+ \def\it{\fam\itfam\tenit}\textfont\itfam=\tenit
+ \def\sl{\fam\slfam\tensl}\textfont\slfam=\tensl
+ \def\bf{\fam\bffam\tenbf}\textfont\bffam=\tenbf
+ \scriptfont\bffam=\sevenbf \scriptscriptfont\bffam=\fivebf
+ \def\tt{\fam\ttfam\tentt}\textfont\ttfam=\tentt
+ \let\sc = \tensc
+ \setbox\strutbox=\hbox{\vrule height8.5pt depth3.5pt width\z@}%
+ \normalbaselineskip=12pt
+ \normalbaselines \rm
+}
+
+
+% Footnote fonts. We generally use eight point.
+%
+\def\footnotefonts{%
+ \def\rm{\fam0\eightrm}%
+ \textfont0=\eightrm \scriptfont0=\sevenrm \scriptscriptfont0=\fiverm
+ \textfont1=\eighti \scriptfont1=\seveni \scriptscriptfont1=\fivei
+ \textfont2=\eightsy \scriptfont2=\sevensy \scriptscriptfont2=\fivesy
+ \textfont3=\tenex \scriptfont3=\tenex \scriptscriptfont3=\tenex
+ \def\it{\fam\itfam\eightit}\textfont\itfam=\eightit
+ \def\sl{\fam\slfam\eightsl}\textfont\slfam=\eightsl
+ \def\bf{\fam\bffam\eightbf}\textfont\bffam=\eightbf
+ \scriptfont\bffam=\sevenbf \scriptscriptfont\bffam=\fivebf
+ \def\tt{\fam\ttfam\eighttt}\textfont\ttfam=\eighttt
+ \let\sc = \eightsc
+ \setbox\strutbox=\hbox{\vrule height7pt depth2pt width\z@}%
+ \normalbaselineskip=9pt
+ \normalbaselines \rm
+}
+
+% Fonts for the example titles. They are defined in the first example,
+% also.
+%
+
+\def\exampletitlefonts{\clearfonts
+ \let\bf = \elevenbf
+ \let\bi = \elevenbi
+ \baselineskip = 13pt \bf
+}
+
+% Fonts for the subsection titles.
+%
+\def\subsectionfonts{\clearfonts \let\sf = \elevensf
+ \baselineskip = 12pt \sf
+}
+
+
+% Fonts for the section titles.
+%
+\def\sectionfonts{\clearfonts \let\sf = \fourteensf
+ \baselineskip = 16pt \sf
+}
+
+% Fonts for the chapter titles.
+%
+\let\chapternumeralfont = \thirtysixbf
+
+\def\chapterfonts{\clearfonts \let\bf = \twentysixrm
+ \baselineskip = 32pt \bf
+}
+
+% Fonts for the table of contents.
+%
+\def\shorttocfonts{\clearfonts \let\rm = \twelverm
+ \baselineskip = 20pt \rm
+}
+
+\def\tocfonts{\clearfonts \let\rm = \ninerm
+ \let\it = \tenit \let\bf = \tenbf
+ \baselineskip = 12pt \rm
+}
+
+% Fonts for the index.
+%
+
+\def\indexfonts{\clearfonts
+ \let\rm = \eightrm
+ \let\it = \eightit
+ \let\tt = \eighttt
+ \let\sc = \tensc
+ \let\sl = \eightsl
+ \textfont2 = \eightsy % For \AMSTeX.
+ \let\mflogo = \eightlogo % For \Metafont.
+ \normalbaselineskip = 10pt \normallineskip = 1.5pt \normalbaselines
+ \setbox\strutbox=\hbox{\vrule height 7.5pt depth2.5pt width0pt}%
+ \rm
+}
+
+% Fonts for the inside back cover.
+%
+\def\conceptpagefonts{\clearfonts
+ \let\rm = \ninerm
+ \let\sc = \eightrm
+ \let\sl = \nineit
+ \baselineskip = 12pt
+ \rm
+}
+
+% We don't want any automatic hyphenation within the code font
+
+\hyphenchar\zhtentt = -1
+\hyphenchar\ententt = -1
+\hyphenchar\zheighttt = -1
+\hyphenchar\eneighttt = -1
+
+
+
+\textfonts