Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Path: utzoo!mnetor!seismo!husc6!rutgers!ames!amdahl!kim From: kim@amdahl.amdahl.com (Kim DeVaughn) Newsgroups: comp.sys.amiga Subject: Re: Setfont 1.1 to Pearl crashes Preferences Message-ID: <6803@amdahl.amdahl.com> Date: Wed, 20-May-87 19:24:33 EDT Article-I.D.: amdahl.6803 Posted: Wed May 20 19:24:33 1987 Date-Received: Sat, 23-May-87 08:47:47 EDT References: <117@gtss.UUCP> Organization: Amdahl Corporation, Sunnyvale, CA 94086 Lines: 319 Keywords: SetFont Pearl Preferences guru 1.2 bug In article <117@gtss.UUCP>, chas@gtss.UUCP (Charles Cleveland) writes: > Perhaps this is a well-known phenomenon, but not only did I not > know of it, I got bitten by it twice (Fool me once, shame on you; fool me > twice, shame on me). > > [ ... ] > > 1) Have available a disk containing SetFont 1.1 (written with Andy Finkel's > help, sorry I can't remember the name of the other author) and a fonts > directory containing the necessary files for Pearl (namely, Pearl.font and > Pearl/8) or some other fixed width font of the same size. I'd given up playing with fonts, and was resigned to using Topaz, until I came across v2.0 of Andy's SetFont program. Seems like all the problems and crashes that I had had with SetFont v1.1 are gone (well, v2.0 doesn't crash *my* machine with "pearl" like v1.1 did, anyway). Since I've not seen it posted to the net, here is the uuencoded executable and documentation. Sorry, I don't have (or at least can't find) the sources. /kim # This is a shell archive. Remove anything before this line, then # unpack it by saving it in a file and typing "sh file". (Files # unpacked will be owned by you and have default permissions.) # # This archive contains: # setfont.uue setfont.doc echo x - setfont.uue cat > "setfont.uue" << '//E*O*F setfont.uue//' begin 755 setfont M #\P 7 !8 !Q ;@ ;@ "T 8 M 5 % !@ !L !0 ( M % % #X 0 ^D !Q(\\ <(\ D(\@ M H0KD @+'D $(\X $D\E.KO[:*$!*K "L9P J&$ 6P@; "L MT0 "PO $ZY '"/ $$ZY +"/ M%"/ &$ZY #B' +GD <3G5A #&80 L"/ ($*G+P D0" J M "1G$"QY ""! (B@ $ZN_X(B*@ @9R@D/ ^U.KO_B(\ 0(\ M 4(\ 89PKEB"! *6@ " "D3KD .(< !@!" O 0N>0 !PO "QY M !" Y "&<"(D!.KOYB2KD @9PY.KO]\(GD @3J[^AB ?3G5( MYP$&+CP X '+'@ !$ZN_Y1,WV" <&1@L$'L %Q.KOZ 0>P 7$ZN_HQ.=4*Y M "$/Y !K" \ 'DZN_=@CP AGMDYU /L &@ $ M &Z !J@ :0 %J !7@ 5 %" !(@ 1P $6 ]@ M .0 #4 Q@ , "T I@ '( !L 5 $X @ M% X ( @ ( " S 30 ! $P +H ! M $P *X #\ )N;T1/4P 78 ",20W-3( M !D C$D-S4X !6 (R)#&ET5&]$3U, M %R !&9R;VU7;W)K8F5N8V@ #: F1O8V]N

&ET MF@ )E>&ET,@ 4 #\@ ^H !N $ M M M M M M M M M M !D;W,N;&EB0 /P W)E='5R;DUS9P M " "7W-T9&5R<@ 8 E]S=&1O=70 % -A0 "P #9&]S0VUD0G5F M * -I;FET:6%L4U < V1O0 &Y.N0 .!0CR/ $J M9@1P $YU0J=(>0 '].N0 .!0CR/ !$J 9@1P $YU0J=(>0 )!. MN0 .!0CR/ "$J 9@1P $YU0J0 "X0* /#(#_____9PHO $ZY 6%B/+SD !B3KD M #,6(]*N0 AG#B\Y "$ZY F%B/2KD $9PXO.0 1.N0 M )A8CTJY &<.+SD 3KD "86(].=4Y6__:1R"\(< @O "U(__9. MN0 !0CRU __9*K@ ,9@@]? (__Y@$"\N Q.N0 !8CSU __XO+@ ( M3KD 6(]<@$*G+P!.N0 !0CR\N @O "U __I.N0 !0CTAY ML2\N__I.N0 !0CR!N__8@KO_Z,6[__@ $< 10 &$4 !R (3EY.=4Y6 M !*K@ (9@1.7DYU(&X ""\03KD 6(\O "!N @O$$ZY &%"/< @O M "\N A.N0 !A0CTY>3G5.5O_XD<@O/ ! !P1"\ +4C_^"U(__Q.N0 M !0CRU __Q*@&8&< !.7DYU+SP 0 <"0O $ZY %"/+4#_^$J 9A9P M1"\ +R[__$ZY &%"/< !.7DYU(&[__-#\ !0@"")N__PC0 *(TD %" N M__CDB"- "AP&2- !P@"4Y>3G5.5O_P2.< ()'()&X "")J ! D:0"D+4C_ M\"U(__0M2O_\M?P 9@H@"$S?! !.7DYU80#_0"U __1*@&8*< !,WP0 M3EY.=2!N__0A;@ ( !@@* HY8 O""\N__PM0/_X3KD !L4(\O+@ (3KD M "$6(\@;O_X+6@ '/_P<"0O "\(3KD 84(]P1"\ +R[_]$ZY &%"/ M("[_\$S?! !.7DYU3E;__"\N A.N0 !8CRU __Q*@&<$3EY.=2\N A. MN0 !A8CRU __Q*@&<$3EY.=7 3EY.=4Y6_^IP $*N__(]0/_V/4#_^#U M__H]0/_\#*X ! AF"CU\ '__& )XB;@ ,(&D !! 0# /V8 (Q( M>0 +=.N0 !8CTAY U$ZY %B/2'D $'3KD 6(](>0 M 3Q.N0 !8CTAY !<$ZY %B/2'D &C3KD 6(](>0 =%. MN0 !8CTAY " 4ZY %B/2'D (R3KD 6(]P"B\ 3KD \ M6(\]? #__XP+O_^2,"PK@ (;'@P+O_^2,#E@"!N S1P")0$!$, !49P8, M !T9@@]? !__A@2C N__Y(P.6 (&X #-' (E 0$0P %-G!@P '-F"#U\ M '_^F D,"[__DC Y8 @;@ ,T< B4! 1# 5V<&# =V8&/7P ?_V4F[_ M_F _WY*;O_X9AI*;O_Z9A1*;O_V9@YP 3U __@]0/_Z/4#_]F$ ^P)*0&<6 M+SD N80#]EEB/(\ !F2H!F$&$ ^ZIP"B\ 3KD \6(]*;O_\9VY( M>0 FE.N0 !8CR)Y 9B!I "XM: H__)P "!N__(P* $+P O$$AY M "ADZY $_O QP "!N__(0* &<@ 2* '+P$O $AY "G4ZY M $_O QA /LT0J=.N0 #Q8CR!N PO* (+R@ !&$ ^Y90CR\ +4#_\F$ M_998CRU _^Y*@&8H2'D *S3KD 6(\O+O_R80#\ %B/80#ZZ' *+P!. MN0 #Q8CTIN__AG,B)Y 9B!I "XM: "(_^K0_ !4+R[_[B\(3KD M4(]*@&8,+R[_ZDZY +%B/2F[_^F=4(GD !F(&D +B)H "@@;O_R+Q O M$4ZY %"/2H!F(B)Y 9B!I "XB: H(&[_\C-H 0 !"\(80#[<%B/ M8! B>0 &8@:0 N(6[_\@ H2F[_]F<\(GD !F(&D ,BUH #3_ZB\N_^XO M"$ZY %"/2H!G#"\N_^I.N0 "Q8CTAY "RDZY %B/+R[_[DZY M +%B/80#Y^$*G3KD \6(].7DYU /L *@ , :T & MA@ !G 9. &+ !?0 7& %@@ !5X 5 %,@ !1( 4& M $.@ !"P 0> $$ ! ( /T #Y@ ]@ /* !J@ 30 M $L !'@ 18 $( ! /( #6 R *H ", : M %X !. 0 # B $@ 0 # % H H M1@ $ 4 ;@ $ 4 A $ 4 H@ $ 4 M Z@ $ 4 ^ , 4 !#@ 20 $Z ! !0 M %4 !D C( )2 0 L %R @ H &" ![@ M $ ) !H@ $ % !M 4 4 !_@ @X )J # M+ SP ! % P@ ! % Q0 ! $@ U@ ! M %0 W . #P ] /> #[ _H 0( $%@ !"0 M 0R $0 !3@ 5D %B !

0!I;G1U:71I M;VXN;&EB0!C;VYS;VQE+F1E=FEC90 N9F]N= !3971&;VYT(#(N,"!B M>2!$879E($AA>6YI90H* %5S86=E.B!3971&;VYT(%MF;VYT;F%M92!;<&]I M;G0@6W!L86-E75U=+"!W:&5R90H* " @FS%M9F]N=&YA;66;,&T@(&ES('1H M92!F;VYT)W,@;F%M92 H92YG+B B=&]P87HB*0H ("";,6UP;VEN=)LP;2 @ M(" @:7,@=&AE('!O:6YT('-I>F4@*&1E9F%U;'0@:7,@."D* " @FS%M<&QA M8V6;,&T@(" @('!I8VL@=&AE('!L86-E+"!O;F4@;W(@;6]R92!O9CH* " @ M("";,6U30U)%14Z;,&T@(" @71H:6YG(&ES('-E="X* %-E=$9O;G0@,BXP(&)Y($1A=F4@2&%Y;FEE"@H M4V-R965N($9O;G0Z("5S("@E;&0I( !3='EL92 E;&0L($9L86=S("5L9 H M17)R;W(Z($9O;G0@;F]T(&9O=6YD"@ ;8P /L !0 , !B M 0 "X H ( /R #ZP /R #Z0 8@ M;P $(F\ "" (2AAF_%.($-EF_$YU /R #Z0 !5.5@ 2.< #"IN M @H;@ ,2A5G+DH49RH0%1(4L %D"G#_3-\P $Y>3G40%1(4L %C"G !3-\P M $Y>3G52C5*,8,X0%1(4L %FSG 3-\P $Y>3G4 /R #Z@ /R M #ZP /R #Z0 4@;P $(F\ "!#99OP@+P $3G4 _( M /I !B!O 1*&&;\D>\ !)'\ 2 (3G4 _( /I &TY6 M__A(YR,$*FX "'X ? 0%0P "!F!%*-8/00%0P "UF!%*-? $0%0P #!M M)@P #EN(" '(@?C@20'YX+2@A052()(PE*-TH($@0 # N 6#22H9G!B ' M1(!@ B '3-\@Q$Y>3G4 _( /J _( /K _( M /I %$CG #HH;P 4(&\ &")O !Q%^@ Z3^__="9/+'D $3J[]]G#_ M2AM7R/_\1H!G$B\ 2&\ !$A43KD 3^\ #$_O (Q,WUP 3G46P$YU # M[ $ 3 .@ /P W!S7V-O;6UO;@ # " M<'-?0 $( M #0 M A,[P . !!.KO_03-] #$YU O#BQY "$ZN_\HL7TYU+PXL>0 A. MKO_$+%].=2\.+'D ((B\ "$ZN_W L7TYU #[ 0 ! !@ M " P 0 /P E]70 0@+P (3J[^L"Q?3G4O#BQY !$SO P "$ZN_I(L M7TYU O#BQY !"!O A.KOZ +%].=2\.+'D $(F\ "$ZN_F(L7TYU M+PXL>0 0@;P (3.\" 0 ,(B\ %$ZN_D0L7TYU O#BQY !")O A. MKOX^+%].=2\.+'D $(F\ "" O Q.KOW8+%].=0 ^P + 0 M 0 < - $@ !< < (@ "< L - #D M _ #7T%L;&]C365M )?1G)E94UE;0 !@ # M7T9I;F1487-K , -?06QL;V-3:6=N86P !$ U]&0 )@ #7T]P96Y$979I8V4 MK -?0VQO0 . M #\@ ^D 0+PXL>0 B;P ((&\ #$ZN_[XL7TYU+PXL>0 @ M;P (3J[_N"Q?3G4O#BQY ")O A.KO^R+%].=0 ^P # P M 0 < , /P E]3971&;VYT -?3W!E;D9O M;G0 8 U]#;&]S949O;G0 "P #\@ ^H M #\@ _( /R #\@ _( /R #\@ _( /R #\@ _( M /R #\@ _( /R #\@ _( /R #\@ _( /R #\@ B _( /R #\@ _( /R #\@ _( /R #\O( end //E*O*F setfont.uue// echo x - setfont.doc cat > "setfont.doc" << '//E*O*F setfont.doc//' SetFont 2.0 by Dave Haynie (Hazy) CIS: 76703,2047 Usenet: {allegra,caip,ihnp4}!cbmvax!daveh Drink: Guiness BUSINESS (MUNDANE, BUT IMPORTANT): This program is written by me, Dave Haynie, as mentioned above. I have, however, placed it in the PUBLIC DOMAIN. That, of course, means that you can do (almost) absolutely anything with it. You may hack it to bits, include it with YOUR product, sell it, GIVE IT AWAY, or anything else you like. Of course, since anyone else can also give it away, it would be foolish to stick your name on it and try to sell it. I really would like everyone to give it away, nicely, without being mean about it. If you want to use it with your product, do that too, new products for the Amiga are generally a good thing for the entire Amiga community. You can take bit and pieces and use them in your own programs, or the whole thing for that matter. And if you really want to have fun, you can even IMPROVE this program, as its far from perfect, and give YOUR version away too, if you're so inclined. That's about it for the (mundane) business section, let's get on to the (interesting) notes section. CHANGES FROM SetFont 1.0 SetFont 2.0's main improvement is that it allows the individual font of a CLI window to be changed without changing the font of the entire WorkBench Screen. The old SetFont would change the default font descriptor of the WorkBench screen, which is where most new programs get their fonts. This was useful in that a font so set would be inhereted by new WorkBench applications, like new CLIs, Word Processors, Terminal Programs, and just about anything run on the WorkBench Screen (as opposed to a custom screen). What the old version doesn't do is change JUST the font of the current CLI. The new version does this. I've thrown in the capability to also change the default title font of the screen (based on the screen's RastPort); this isn't incredibly useful, but it was very little extra code in addition to the two more useful functions. WHAT IT DOES This function changes the default fonts of the Amiga's WorkBench screen or an Amiga CLI window. This allows programs like CLI, etc. to use a font other than one specified by Preferences. This change isn't perfect, but it is useful. The program is used as: SetFont [fontname [points [place]] Where the "fontname" is a normal Amiga font, "points" is the font's point size, and place is currently one of: SCREEN The WorkBench Screen, ala SetFont 1.0 TITLES The WorkBench Screen's Titles WINDOW The current CLI window Setting the screen will essentially set the default font for newly created windows. Setting the title font will set the text displayed for window titles and things like that. This will look really ugly and generally not work very well if it is set to a font taller than the current screen font. Finally, setting the WINDOW font will set only the font of the calling CLI window. This will also clear the screen, which is required to fully set the font on an open console window. If no place is supplied, all three fonts are set. Examples are: SetFont (Displays current screen font) SetFont ? (Displays help text) SetFont topaz (Sets font "topaz 8" everywhere) SetFont ruby 12 (Sets font "ruby 12" everywhere) SetFont topaz 11 SCREEN (Sets font "topaz 11" on screen) SetFont thin 7 TITLES WINDOW (Sets font "thin 7" on CLI and titles) This program has a few limitations. First of all, some programs don't support fonts other than the 80 column, 8x8 cell "topaz 8" font, which is a default ROM font. If you're a 60 column user, you've probably experienced this before. Its not a problem with the Amiga as a whole, since most of the system will adjust itself. But it may be a problem with programs that have a fixed idea of what a font should look like. Most 80 column fonts work with most applications, and an 80 column 8x8 font will work just about everywhere. Some programs, like CLI for instance, have trouble with proportionally-spaced fonts. This is a "bug" or "feature" of the Amiga text display software, which is doing large amounts of spacing when only one character in a proportional font is displayed at a time. The best thing to do is try out the font you like. To use SetFont as a means of changing most of the default fonts during a session, insert it in your "s:Startup-Sequence" file, as: SetFont topaz 11 LoadWB EndCLI >nil: or something that (SetFont topaz 11 SCREEN TITLES would work just as well). One final problem is that some applications ask the WorkBench screen to close when they start up. It'll close if there's nothing else open on it, but when it re-opens, it'll restart with the Preferences-selected font, not the SetFont selected font. Of course, Preferences't support arbitrary fonts (which is why this program is even necessary). Oh well, maybe in 1.3? The simplest way to prevent this is to leave some kind of window open, which will prevent any other application from closing the WorkBench screen. Of course, if you need the memory that closing the WorkBench screen gives you, this would not be a good thing to do. //E*O*F setfont.doc// echo Possible errors detected by \'wc\' [hopefully none]: temp=/tmp/shar$$ trap "rm -f $temp; exit" 0 1 2 3 15 cat > $temp <<\!!! 154 1095 9374 setfont.uue 107 891 5510 setfont.doc 261 1986 14884 total !!! wc setfont.uue setfont.doc | sed 's=[^ ]*/==' | diff -b $temp - exit 0 -- UUCP: kim@amdahl.amdahl.com or: {sun,decwrl,hplabs,pyramid,ihnp4,seismo,oliveb,cbosgd}!amdahl!kim DDD: 408-746-8462 USPS: Amdahl Corp. M/S 249, 1250 E. Arques Av, Sunnyvale, CA 94086 CIS: 76535,25