Date: Sun, 09 Jun 2002 00:40:14 -0400
From: Stephen Gildea
To: karl@freefriends.org (Karl Berry)
cc: jgay@gnu.org
Subject: Re: Texinfo fonts 

I used to like to use Adobe Times, Helvetica, and Courier because a
major output format for us is PDF, and bitmapped fonts in a PDF file
look ugly with acroread.  I don't use this as much as I used to now that
I can get Type 1 CM fonts.

There are parts of this patch that look ugly, but it works for me.
It would be great to see something like this support in the Texinfo
distribution.

 < Stephen

*** texinfo.tex	Mon Apr 19 17:13:00 1999
--- ps_texinfo.tex	Mon Apr 19 17:17:50 1999
***************
*** 58,69 ****
  % It is possible to adapt texinfo.tex for other languages.  You can get
  % the existing language-specific files from ftp://ftp.gnu.org/gnu/texinfo/.
  
! \message{Loading texinfo [version \texinfoversion]:}
  
  % If in a .fmt file, print the version number
  % and turn on active characters that we couldn't do earlier because
  % they might have appeared in the input file name.
! \everyjob{\message{[Texinfo version \texinfoversion]}%
    \catcode`+=\active \catcode`\_=\active}
  
  % Save some parts of plain tex whose names we will redefine.
--- 58,69 ----
  % It is possible to adapt texinfo.tex for other languages.  You can get
  % the existing language-specific files from ftp://ftp.gnu.org/gnu/texinfo/.
  
! \message{Loading texinfo [version \texinfoversion ps]:}
  
  % If in a .fmt file, print the version number
  % and turn on active characters that we couldn't do earlier because
  % they might have appeared in the input file name.
! \everyjob{\message{[Texinfo version \texinfoversion ps]}%
    \catcode`+=\active \catcode`\_=\active}
  
  % Save some parts of plain tex whose names we will redefine.
***************
*** 858,890 ****
  \newcount\mainmagstep
  \mainmagstep=\magstephalf
  
  % 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}
  
  \ifx\bigger\relax
  \let\mainmagstep=\magstep1
--- 858,916 ----
  \newcount\mainmagstep
  \mainmagstep=\magstephalf
  
+ % expand #1, a control sequence, without the leading escape char
+ \def\csstringname#1{\expandafter\csstrcdr\string#1;}
+ \def\csstrcdr#1#2;{#2}
+ 		
+ 
  % 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{\dimen255=#3pt\divide\dimen255by1000
!    \multiply\dimen255by#4%
!    \global\expandafter\font\csname f/\csstringname#1\endcsname=\fontprefix#2\fontencoding\space at\dimen255
!    \global\def#1{\csname f/\csstringname#1\endcsname
! 		\def\fcurshape{#2}%
! 		\def\fcursize{#3}%
! 		\def\fcurscale{#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{p}
  \fi
  % Support font families that don't use the same naming scheme as CM.
! \def\fontencoding{7t}
! \def\rmshape{tmr}
! \def\rmbshape{tmb}            %where the normal face is bold
! \def\bfshape{tmb}
! \def\bxshape{tmb}
! \def\ttshape{crr}
! \def\ttbshape{crb}
! \def\ttslshape{crro}
! \def\itshape{tmri}
! \def\itbshape{tmbi}
! \def\slshape{tmro}
! \def\slbshape{tmbo}
! \def\sfshape{hvr}
! \def\sfbshape{hvb}
! \def\scshape{tmrc}
! \def\scbshape{tmbc}
! 
! % the reason we save all the \fcur* stuff in \setfont
! % is so we can do some nice symbols:
! 
! \def\setcurtextsymbolfont{\def\fontencoding{8r}%
!        \expandafter\setfont
!           \csname\fontname\font/\fontencoding\endcsname
! 	  \fcurshape\fcursize\fcurscale
!        \csname\fontname\font/\fontencoding\endcsname}
! 
! \def\copyright{{\setcurtextsymbolfont\char'251}}
! \def\bullet{{\setcurtextsymbolfont\char'225}}
! 
  
  \ifx\bigger\relax
  \let\mainmagstep=\magstep1
***************
*** 1052,1059 ****
  \textfonts
  
  % Define these so they can be easily changed for other fonts.
! \def\angleleft{$\langle$}
! \def\angleright{$\rangle$}
  
  % Count depth in font-changes, for error checks
  \newcount\fontdepth \fontdepth=0
--- 1078,1092 ----
  \textfonts
  
  % Define these so they can be easily changed for other fonts.
! 
! \def\setcursymbolfont{\def\fontencoding{}%
!        \expandafter\setfont
!           \csname\fontname\font/syr\endcsname
! 	  {syr}\fcursize\fcurscale
!        \csname\fontname\font/syr\endcsname}
! 
! \def\angleleft{{\setcursymbolfont\char'341}}
! \def\angleright{{\setcursymbolfont\char'361}}
  
  % Count depth in font-changes, for error checks
  \newcount\fontdepth \fontdepth=0
