--- texinfo.tex	2005-12-18 22:06:28.000000000 -0600
+++ texinfo.eds.tex	2005-12-19 09:18:10.000000000 -0600
@@ -1478,146 +1478,186 @@
   }%
 }
 
-% Set the font macro #1 to the font named #2, adding on the
-% specified font prefix (normally `cm').
-% #3 is the font's design size, #4 is a scale factor
-\def\setfont#1#2#3#4{\font#1=\fontprefix#2#3 scaled #4}
-
-% Use cm as the default font prefix.
-% To specify the font prefix, you must define \fontprefix
-% before you read in texinfo.tex.
-\ifx\fontprefix\undefined
-\def\fontprefix{cm}
-\fi
-% Support font families that don't use the same naming scheme as CM.
-\def\rmshape{r}
-\def\rmbshape{bx}               %where the normal face is bold
-\def\bfshape{b}
-\def\bxshape{bx}
-\def\ttshape{tt}
-\def\ttbshape{tt}
-\def\ttslshape{sltt}
-\def\itshape{ti}
-\def\itbshape{bxti}
-\def\slshape{sl}
-\def\slbshape{bxsl}
-\def\sfshape{ss}
-\def\sfbshape{ss}
-\def\scshape{csc}
-\def\scbshape{csc}
+% Set the font macro #1 to the font specified in #2, scaling by #3.
+\newdimen\fontsizedimen
+\def\setfont{\expandafter\setfontfromspec\expandafter}
+\def\setfontfromspec#1(#2,#3)#4{%
+  \fontsizedimen=#3 pt             % avoid overflow in dimen register
+  \multiply\fontsizedimen by #4
+  \divide\fontsizedimen by 100     % really, div by 1000 then mul by 10
+  \font#1=#2 at \fontsizedimen
+}
+
+% font uses: titlepage, titles, headers, code, 
+%\def\rmfontspec{(cmss10,1)}
+%\def\rmbfontspec{(cmssbx10,1)}               %where the normal face is bold
+%\def\bffontspec{(cmssbx10,1)}
+%\def\bxfontspec{(cmssbx10,1)}
+%\def\ttfontspec{(txbtt,0.94)}
+%\def\ttbfontspec{(txbtt,0.94)}
+%\def\ttslfontspec{(txbttsl,0.94)}
+%\def\itfontspec{(cmssi10,1)}
+%\def\itbfontspec{(cmssbx10,1)}
+%\def\slfontspec{(cmssi10,1)}
+%\def\slbfontspec{(cmssbx10,1)}
+%\def\sffontspec{(cmss10,1)}
+%\def\sfbfontspec{(cmss10,1)}
+%\def\scfontspec{(pccsc10,1)}
+%\def\scbfontspec{(pccsc10,1)}
+%\def\mifontspec{(pcmi10,1)}
+%\def\syfontspec{(cmsy10,1)}
+%\def\exfontspec{(euex10,1)}
+
+\def\rmfontspec{(txr,1)}
+\def\rmbfontspec{(txb,1)}               %where the normal face is bold
+\def\bffontspec{(txb,1)}
+\def\bxfontspec{(txb,1)}
+\def\ttfontspec{(txtt,1)}
+\def\ttbfontspec{(txbtt,1)}
+\def\ttslfontspec{(txttsl,1)}
+\def\itfontspec{(txi,1)}
+\def\itbfontspec{(txbi,1)}
+\def\slfontspec{(txsl,1)}
+\def\slbfontspec{(txbsl,1)}
+\def\sffontspec{(txss,1)}
+\def\sfbfontspec{(txbss,1)}
+\def\scfontspec{(txsc,1)}
+\def\scbfontspec{(txbsc,1)}
+\def\mifontspec{(txmi,1)}
+\def\syfontspec{(txsy,1)}
+\def\exfontspec{(txex,1)}
+
+%\def\rmfontspec{(cmr10,1)}
+%\def\rmbfontspec{(cmbx10,1)}               %where the normal face is bold
+%\def\bffontspec{(cmb10,1)}
+%\def\bxfontspec{(cmbx10,1)}
+%\def\ttfontspec{(cmtt10,1)}
+%\def\ttbfontspec{(cmtt10,1)}
+%\def\ttslfontspec{(cmsltt10,1)}
+%\def\itfontspec{(cmti10,1)}
+%\def\itbfontspec{(cmbxti10,1)}
+%\def\slfontspec{(cmsl10,1)}
+%\def\slbfontspec{(cmbxsl10,1)}
+%\def\sffontspec{(cmss10,1)}
+%\def\sfbfontspec{(cmss10,1)}
+%\def\scfontspec{(cmcsc10,1)}
+%\def\scbfontspec{(cmcsc10,1)}
+%\def\mifontspec{(cmmi10,1)}
+%\def\syfontspec{(cmsy10,1)}
+%\def\exfontspec{(cmex10,1)}
 
 % Text fonts (11.2pt, magstep1).
 \def\textnominalsize{11pt}
-\edef\mainmagstep{\magstephalf}
-\setfont\textrm\rmshape{10}{\mainmagstep}
-\setfont\texttt\ttshape{10}{\mainmagstep}
-\setfont\textbf\bfshape{10}{\mainmagstep}
-\setfont\textit\itshape{10}{\mainmagstep}
-\setfont\textsl\slshape{10}{\mainmagstep}
-\setfont\textsf\sfshape{10}{\mainmagstep}
-\setfont\textsc\scshape{10}{\mainmagstep}
-\setfont\textttsl\ttslshape{10}{\mainmagstep}
-\font\texti=cmmi10 scaled \mainmagstep
-\font\textsy=cmsy10 scaled \mainmagstep
+\setfont\textrm\rmfontspec{1095}
+\setfont\texttt\ttfontspec{1095}
+\setfont\textbf\bffontspec{1095}
+\setfont\textit\itfontspec{1095}
+\setfont\textsl\slfontspec{1095}
+\setfont\textsf\sffontspec{1095}
+\setfont\textsc\scfontspec{1095}
+\setfont\textttsl\ttslfontspec{1095}
+\setfont\texti\mifontspec{1095}
+\setfont\textsy\syfontspec{1095}
+\setfont\textex\exfontspec{1095}
 
 % A few fonts for @defun names and args.
-\setfont\defbf\bfshape{10}{\magstep1}
-\setfont\deftt\ttshape{10}{\magstep1}
-\setfont\defttsl\ttslshape{10}{\magstep1}
+\setfont\defbf\bffontspec{1200}
+\setfont\deftt\ttfontspec{1200}
+\setfont\defttsl\ttslfontspec{1200}
 \def\df{\let\tentt=\deftt \let\tenbf = \defbf \let\tenttsl=\defttsl \bf}
 
 % Fonts for indices, footnotes, small examples (9pt).
 \def\smallnominalsize{9pt}
-\setfont\smallrm\rmshape{9}{1000}
-\setfont\smalltt\ttshape{9}{1000}
-\setfont\smallbf\bfshape{10}{900}
-\setfont\smallit\itshape{9}{1000}
-\setfont\smallsl\slshape{9}{1000}
-\setfont\smallsf\sfshape{9}{1000}
-\setfont\smallsc\scshape{10}{900}
-\setfont\smallttsl\ttslshape{10}{900}
-\font\smalli=cmmi9
-\font\smallsy=cmsy9
+\setfont\smallrm\rmfontspec{900}
+\setfont\smalltt\ttfontspec{900}
+\setfont\smallbf\bffontspec{900}
+\setfont\smallit\itfontspec{900}
+\setfont\smallsl\slfontspec{900}
+\setfont\smallsf\sffontspec{900}
+\setfont\smallsc\scfontspec{900}
+\setfont\smallttsl\ttslfontspec{900}
+\setfont\smalli\mifontspec{900}
+\setfont\smallsy\syfontspec{900}
 
 % Fonts for small examples (8pt).
 \def\smallernominalsize{8pt}
-\setfont\smallerrm\rmshape{8}{1000}
-\setfont\smallertt\ttshape{8}{1000}
-\setfont\smallerbf\bfshape{10}{800}
-\setfont\smallerit\itshape{8}{1000}
-\setfont\smallersl\slshape{8}{1000}
-\setfont\smallersf\sfshape{8}{1000}
-\setfont\smallersc\scshape{10}{800}
-\setfont\smallerttsl\ttslshape{10}{800}
-\font\smalleri=cmmi8
-\font\smallersy=cmsy8
+\setfont\smallerrm\rmfontspec{800}
+\setfont\smallertt\ttfontspec{800}
+\setfont\smallerbf\bffontspec{800}
+\setfont\smallerit\itfontspec{800}
+\setfont\smallersl\slfontspec{800}
+\setfont\smallersf\sffontspec{800}
+\setfont\smallersc\scfontspec{800}
+\setfont\smallerttsl\ttslfontspec{800}
+\setfont\smalleri\mifontspec{800}
+\setfont\smallersy\syfontspec{800}
 
 % Fonts for title page (20.4pt):
 \def\titlenominalsize{20pt}
-\setfont\titlerm\rmbshape{12}{\magstep3}
-\setfont\titleit\itbshape{10}{\magstep4}
-\setfont\titlesl\slbshape{10}{\magstep4}
-\setfont\titlett\ttbshape{12}{\magstep3}
-\setfont\titlettsl\ttslshape{10}{\magstep4}
-\setfont\titlesf\sfbshape{17}{\magstep1}
+\setfont\titlerm\rmbfontspec{2074}
+\setfont\titleit\itbfontspec{2074}
+\setfont\titlesl\slbfontspec{2074}
+\setfont\titlett\ttbfontspec{2074}
+\setfont\titlettsl\ttslfontspec{2074}
+\setfont\titlesf\sfbfontspec{2074}
 \let\titlebf=\titlerm
-\setfont\titlesc\scbshape{10}{\magstep4}
-\font\titlei=cmmi12 scaled \magstep3
-\font\titlesy=cmsy10 scaled \magstep4
+\setfont\titlesc\scbfontspec{2074}
+\setfont\titlei\mifontspec{2074}
+\setfont\titlesy\syfontspec{2074}
 \def\authorrm{\secrm}
 \def\authortt{\sectt}
 
 % Chapter (and unnumbered) fonts (17.28pt).
 \def\chapnominalsize{17pt}
-\setfont\chaprm\rmbshape{12}{\magstep2}
-\setfont\chapit\itbshape{10}{\magstep3}
-\setfont\chapsl\slbshape{10}{\magstep3}
-\setfont\chaptt\ttbshape{12}{\magstep2}
-\setfont\chapttsl\ttslshape{10}{\magstep3}
-\setfont\chapsf\sfbshape{17}{1000}
+\setfont\chaprm\rmbfontspec{1728}
+\setfont\chapit\itbfontspec{1728}
+\setfont\chapsl\slbfontspec{1728}
+\setfont\chaptt\ttbfontspec{1728}
+\setfont\chapttsl\ttslfontspec{1728}
+\setfont\chapsf\sfbfontspec{1728}
 \let\chapbf=\chaprm
-\setfont\chapsc\scbshape{10}{\magstep3}
-\font\chapi=cmmi12 scaled \magstep2
-\font\chapsy=cmsy10 scaled \magstep3
+\setfont\chapsc\scbfontspec{1728}
+\setfont\chapi\mifontspec{1728}
+\setfont\chapsy\syfontspec{1728}
 
 % Section fonts (14.4pt).
 \def\secnominalsize{14pt}
-\setfont\secrm\rmbshape{12}{\magstep1}
-\setfont\secit\itbshape{10}{\magstep2}
-\setfont\secsl\slbshape{10}{\magstep2}
-\setfont\sectt\ttbshape{12}{\magstep1}
-\setfont\secttsl\ttslshape{10}{\magstep2}
-\setfont\secsf\sfbshape{12}{\magstep1}
+\setfont\secrm\rmbfontspec{1440}
+\setfont\secit\itbfontspec{1440}
+\setfont\secsl\slbfontspec{1440}
+\setfont\sectt\ttbfontspec{1440}
+\setfont\secttsl\ttslfontspec{1440}
+\setfont\secsf\sfbfontspec{1440}
 \let\secbf\secrm
-\setfont\secsc\scbshape{10}{\magstep2}
-\font\seci=cmmi12 scaled \magstep1
-\font\secsy=cmsy10 scaled \magstep2
+\setfont\secsc\scbfontspec{1440}
+\setfont\seci\mifontspec{1440}
+\setfont\secsy\syfontspec{1440}
 
 % Subsection fonts (13.15pt).
 \def\ssecnominalsize{13pt}
-\setfont\ssecrm\rmbshape{12}{\magstephalf}
-\setfont\ssecit\itbshape{10}{1315}
-\setfont\ssecsl\slbshape{10}{1315}
-\setfont\ssectt\ttbshape{12}{\magstephalf}
-\setfont\ssecttsl\ttslshape{10}{1315}
-\setfont\ssecsf\sfbshape{12}{\magstephalf}
+\setfont\ssecrm\rmbfontspec{1315}
+\setfont\ssecit\itbfontspec{1315}
+\setfont\ssecsl\slbfontspec{1315}
+\setfont\ssectt\ttbfontspec{1315}
+\setfont\ssecttsl\ttslfontspec{1315}
+\setfont\ssecsf\sfbfontspec{1315}
 \let\ssecbf\ssecrm
-\setfont\ssecsc\scbshape{10}{1315}
-\font\sseci=cmmi12 scaled \magstephalf
-\font\ssecsy=cmsy10 scaled 1315
+\setfont\ssecsc\scbfontspec{1315}
+\setfont\sseci\mifontspec{1315}
+\setfont\ssecsy\syfontspec{1315}
 
 % Reduced fonts for @acro in text (10pt).
 \def\reducednominalsize{10pt}
-\setfont\reducedrm\rmshape{10}{1000}
-\setfont\reducedtt\ttshape{10}{1000}
-\setfont\reducedbf\bfshape{10}{1000}
-\setfont\reducedit\itshape{10}{1000}
-\setfont\reducedsl\slshape{10}{1000}
-\setfont\reducedsf\sfshape{10}{1000}
-\setfont\reducedsc\scshape{10}{1000}
-\setfont\reducedttsl\ttslshape{10}{1000}
-\font\reducedi=cmmi10
-\font\reducedsy=cmsy10
+\setfont\reducedrm\rmfontspec{1000}
+\setfont\reducedtt\ttfontspec{1000}
+\setfont\reducedbf\bffontspec{1000}
+\setfont\reducedit\itfontspec{1000}
+\setfont\reducedsl\slfontspec{1000}
+\setfont\reducedsf\sffontspec{1000}
+\setfont\reducedsc\scfontspec{1000}
+\setfont\reducedttsl\ttslfontspec{1000}
+\setfont\reducedi\mifontspec{1000}
+\setfont\reducedsy\syfontspec{1000}
 
 % In order for the font changes to affect most math symbols and letters,
 % we have to define the \textfont of the standard families.  Since
@@ -1627,6 +1667,7 @@
 %
 \def\resetmathfonts{%
   \textfont0=\tenrm \textfont1=\teni \textfont2=\tensy
+  \textfont3=\textex    % note: 'text', not 'ten', since it scales 
   \textfont\itfam=\tenit \textfont\slfam=\tensl \textfont\bffam=\tenbf
   \textfont\ttfam=\tentt \textfont\sffam=\tensf
 }
@@ -1739,10 +1780,10 @@
 \newcount\fontdepth \fontdepth=0
 
 % Fonts for short table of contents.
-\setfont\shortcontrm\rmshape{12}{1000}
-\setfont\shortcontbf\bfshape{10}{\magstep1}  % no cmb12
-\setfont\shortcontsl\slshape{12}{1000}
-\setfont\shortconttt\ttshape{12}{1000}
+\setfont\shortcontrm\rmfontspec{1200}
+\setfont\shortcontbf\bffontspec{1200}  % no cmb12
+\setfont\shortcontsl\slfontspec{1200}
+\setfont\shortconttt\ttfontspec{1200}
 
 %% Add scribe-like font environments, plus @l for inline lisp (usually sans
 %% serif) and @ii for TeX italic
@@ -1812,7 +1853,7 @@
   \null
 }
 \def\samp#1{`\tclose{#1}'\null}
-\setfont\keyrm\rmshape{8}{1000}
+\setfont\keyrm\rmfontspec{800}
 \font\keysy=cmsy9
 \def\key#1{{\keyrm\textfont2=\keysy \leavevmode\hbox{%
   \raise0.4pt\hbox{\angleleft}\kern-.08em\vtop{%
