Path: utzoo!utgpu!jarvis.csri.toronto.edu!mailrus!tut.cis.ohio-state.edu!cs.utexas.edu!uunet!zephyr!tektronix!psueea!psu-cs.cs.pdx.edu!bartonr From: bartonr@psu-cs.cs.pdx.edu (Robert Barton) Newsgroups: comp.sys.amiga Subject: SetFont Message-ID: <1275@psueea.UUCP> Date: 28 May 89 10:12:36 GMT Sender: news@psueea.UUCP Reply-To: bartonr@psu-cs.cs.pdx.edu (Robert Barton) Organization: Dept. of Computer Science, Portland State University; Portland OR Lines: 22 Dave Haynie writes: =>Looks like it's "Dave comments on his programs" day. Eric's basically right, =>when SetFont comes along and changes the system font, it can mess up a number =>of programs. Some programs don't adjust well to any font other than topaz =>8, some will work fine with any 8x8 font but fail with larger fonts (like =>WorkBench), some work fine with any fixed font but fail with proportional =>fonts (like CON:). There's nothing SetFont can do about this; a proper program =>would check the font it's inheriting from the screen or window, and specify a =>known replacement if it can't use the given font, but I don't think Commodore =>has ever really given out guidelines on this, as the main system as of 1.3 =>wasn't really expecting variable fonts at the system level. => =>SetFont does, however, hack some thing it's really not supposed to touch. So =>it is possible for it to confuse system things, like the WorkBench, that don't =>adjust to font changes. How does SetFont notify other programs that it has just changed a font? Does it call the SetPrefs() function or use some other mechanism? Many programs (including some commercial ones) apparently don't check for NEWPREFS IntuiMessages. Workbench and AmigaBasic do, and then adjust their menus accordingly.