Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Posting-Version: version B 2.10.2 9/18/84; site mcnc.mcnc.UUCP Path: utzoo!watmath!clyde!cbosgd!gatech!akgua!mcnc!jeff From: jeff@mcnc.UUCP (Jeffrey Copeland) Newsgroups: net.text Subject: Re: getting the wrong font in ti-troff Message-ID: <916@mcnc.mcnc.UUCP> Date: Tue, 15-Oct-85 20:40:10 EDT Article-I.D.: mcnc.916 Posted: Tue Oct 15 20:40:10 1985 Date-Received: Thu, 17-Oct-85 23:37:02 EDT References: <12189@rochester.UUCP> Reply-To: jeff@mcnc.UUCP (Jeffrey Copeland) Distribution: net Organization: Microelectronics Center of NC; RTP, NC Lines: 27 >I am having a problem with Typesetter Independent Troff. It is set up >with a DESC file that describes 26 different fonts. The problem comes >when I ask for font "B" and I get font "LB". Looking at the intermediate >output of Troff, font "B" gets mapped into 18 which is the number for >"LB" rather than the correct number: 3. When I ask for font 3 explicitly, >(like with a \f3) things work correctly. > >Anybody have an clues? Below is out DESC file: > ># describe the 'newraven' press device >res 2540 . . . >fonts 26 R I B X AR cR ER GR GI GB GX HR HI HB HX hR LR LB LO OE tR TR UR MR HP S The problem comes about when there are more than 16 fonts, because of the line: if ((k=i-'0') >= 0 && k <= nfonts && k < smnt ) (where "i" is contains the font request) in findft() of t6.c in ditroff. The routine confuses ".ft B" with ".ft 17". (A corrollary of this problem is the inability to say ".ft 10".) You can either mount fewer than 16 fonts at startup and rely on the .fp directive, or modify findft() and casefp() to accept font positions greater than 10 and check for the difference between font requests by name and number.