maumg@warwick.ac.uk (Pop Mobility Freak) (01/18/91)
Here is a little a application I wrote after being feed up of how long it took applications to read in the names of all the fonts I have upon start up. What the application does is to intercept any calls to the SWI Font_ListFonts (this is done intercepting the SWI decoding and checking for this SWI. I know this is unpleasant but I cannot find any other ways to do it as there does not seem to be a Font Manager Vector to intercept (unlike most the other modules, Draw, ColourTrans, etc), is there one Acorn which is undocumented, or any other way to it for that matter?) and instead of reading the fontlist from disc it is read from a prepared list in memory. How it works in is the UUEncoded file below there is a basic program and some documentation. You have to set the system variable Font$Path and then run the basic program. This will generate a module in the current directory called TurbFntLst. To improve the speed of the font list reading simply load the module. Then whenever a list of fonts is tried to be read the path is checked and if it the one the module "knows" about then the list is returned from memory otherwise the call is passed onto the font manager for processing. Yours, Pop Mobility Freak __________________________________CUT HERE______________________________\O CUT HERE /O Filetype: &DDC table !"#$%&'()*+,-./0123456789:;<=>? @ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_ begin 644 TurbFntArc M&O]296%D364 @20SA(%0S , #$627W:XQD& !"____G+,:Y0, 0"D (a M'"B0"IHT<T"T>4.F#ILR"L.L*9.0#AJ(<LJ$(9/&S1D0;\R L C1S!LW=-@@a MI,,"A$DY(,* .)/&3ADW(."$L<A"@9TT<NC4"<.&31X0'>?0"8.2:9DW=>:Xa M !'$S=$Q1-E4? ,BX\:1%UV>3+D2!(HY=<:@B9GPSD4W"L+ @:,2*YTT)Q,Ja M#1,41!TX*6)F1(JRC)PQ9>#0*4,FIIO&:422%(M2IT408LIT_.@5<L6+"DY"a M%+'&S9L[;D2,Y#IY8<.'8&_&IDQ6*=*$&87*<</8I9PW;12662CG:)@YH>>^a MF=.;#M?,F[MJ;&SF=W".<\9,32(YK,G*.]="]RC]*T(0ING,%JT@XY@W9]P@a M["WF:&N&#B&2Q#D9:]';.1W'7&-CL>;=6&TP%<89AKD0$$$#4<'5&%XM-IMKa M^8' G'J3V<%7&F&( 9L18Y$ 17BKS991''4 U9ME:"B PDL@E(%'&&W0!5%]a M() !E8@0C5'7&M&=%!,((9"(4D(<N>=<<8$QU=A^7=7!7UA"')?&& K \=L9a M<N!(&%CG-5G&&$_F,540"N$'FW\/-49%'7*(801*3-AV1QK_9:9A	!=F49a M"HQ!9T8H]>@BFF\4-]44:>1H% ALO/'5?:_IQU54$*5!QU0&080A;&'4X5R"a M=\&9AP(;?@:1AW* ""0(2M)A(HK.S>8A&W5TJMX=QX'@EFR89@AL0A1JM!@9a M"I1A4W$C1:I?6*-VFE!'GH*HTH!FI;'C45(TP82E9+04KA16@@13N%2D048>a M*4R5!52LH@$5&XWYB55&9CB48H(3:4CGM#O-]IUZ";JQH&$ AH'F4$4=5>E&a MO0T+5U31671>M6RA-^%%8ZPA%DR> I@@&1!)B=2O?+*A81G#I2@775ONA)<;a MR%E4\&0')\17RA[R&2*I;%@$U1EKD734GO\Y\005F'7:74D(*LB@' H@Y,8)a MZDV,,AD./@@A547;6P?2("0! AJ ZD?1LF0FY"5\809G1AA 36KT;V>C,:G:a M(9G!L&D*G#$4HHM!Y%;!<W#E;(,@"&%J3@\=AU%BC:K'U%%BG)V0259.^4:7a M;9@!1!UKN."P"\#*L6?(+HPAE=@0&G3>W&"*>5Y'L\%1AXA;]@@<WCBIG"#Ga M)654QJ3OP>%M8\%6ZE%<"9D&@EI\,>CS8"=33;+FC\7M$I_64EJ&&>I9B;U'a MC,D+541'<:K 9(W3B1A((ND45$(AK3QF'E"!R6EP@KNZ^2PATON(VL24+(XLa M*VQC$\B\Z#2'GD3P@FEC"E7FX+<RK H:_U1U<F)&;G13<F, @5"3% ,!;.a M$!=3H2H $+[__\Z+$SD P ! - "B00 ^$#Q!4ZL@18\0-G2ERQ@2DT*%@a MDC!N0 29@X9-F3P@E&"L$T8.R!@Y<L0(Z %(P29AUI0!,28,&S9S0-!Y T).a MF3!D0)AYXS!GFC9MRI!)$X;.S*%R0!"=":<DG31CZK I":(J'30!400I",6Ja M5#,ZT<P<\X;,S#MA<M*)62:C&3EOVF@D8F3*G#MIJ,@) P>$&)!37("P@U%Ca M23)T LH@$)#'@74@8 0TLD">S#QSRD0& $6"O+BAVXCQ^"6-FS2CM420YQ/Ha M4(=>P0(@T^#TG-2KRP1TXX#V3S*WZ<P)B">!O#EA[ @'(*@ N(",* .P1*$;a M"-_ 6;N&'1"4AC9A\'Q)_F5.&CUE2H#H <*$#!CX ZK*,*?JF/@@!"B@@/3%a M4$-^ - R@C<TM05@?V'\)]\*(*"G'GONP5="0+YHA\P%?Z7Q!19?B ';?"#$a M (//*1X0T#2:,<-!7:LM]49**K((@@RX!"0.12,86,8.!:X8HLRY! 0/!3Ha M,621*1X)P@R: : /!6X\F:.4,ZP4 &4!># !NRQD<8<="27$WTFT("?2@T$a M@$$!X<0I0I@L3."=<;8114=N<=K0@#J&U6&&&67(L6$ 0-R@0A)HB<"#$7Z2a M4-97/HB H@B:4J%61D7(@5=4,(! J4.6-H4&"'6X$5ID 2@1 8-B&(JHHCS6a M(&@ 5!R!3"8@B/#$%%](<9P5)2'+A@@LB' J':E^Q6RMAR9: @LRZ,H"#"S,a M (N(+# 0G*Y?>&1&V=\M:@7(5![:PD_D*NJN76EBX9\!<X0)QH6R/L5"3V0a MX*ZU<<I!9YQ\A&G( WNB5H9J'L4)20;Q!+M1>*[AV$9;6I4A0IR:6#".5'#0a M44(/,<CP;8HT@( (CW&2XD" 3YS,EEN+NJ) @%"<K%D N% 0(!,GUPP"A1!*a M&*<P83)3P!9Q6H/!@ .^43+55IL<)SAAJC/%#B"T(/;89)=M]MEHIZWVVFO'a M2<\$8#?!L4<@J 54HG'Z<Q#5 9811QU!"5@JWX07#@+83O"$IEE D>'3;PT(a M@ 1A?L-^(#CT6'XYH>#D,1K5]ET9E-I$ 5"XX\O)X $0E3^=^ !FN&:39P7a M#K81LYL)W56FHUX&Y )PH(3KEPL8FAQV8#53[0."/46BR?]'DTULU(T1&1Y%a MY3OP)K1.N.6P5SAW&5]<10?=G,<]ODZPT;V]ZC $07SX&Y/1\1=JL5%8[>K;a M3W?^A7E?Y'2P-[Z!;T"#8Y[M0. &GK %*=>;PPL &#DB_&!^"%2@X<#60!"$a M*"=SJ ,<X/ &.3B%-P)P0@4P*+C(86&%WWL= B,G!A@:4(8M% ;*", .T3 a M!?6[G_DB)@! H(!X.1&0"!*RD#<\BPEG<HH<1+""7FA& (J(0.%$=P8W1(X2a M$ #B^/!7!OU%SA-'C&$=DAB@)2I$#$[T$Q31E"@J]D)) D!%"Y X(!'$P 7Xa M 0$*J!B,2)" !35@00QBD((5B" %=KRB++1(."YZ40"\X*$QOA8VMGGRDZ ,a MI=DB!XW.!9%NF6.*[DAGNIL)1P#:, '87"/%_USM#FKQB0<!DY.2S,0MKD0Aa M.1+@@LQ%SATD*!R:VF &V,DA!C,( 0OV( <8M$ .-&#!,VG0A\CA(YF5=!S5a MJCDN/Y7+#6%(2@,&( #YA#,J WIF.7$S+\:PH0["&0 #3% X-H@SGC*8YY_Fa M=2Y[K=,"&2C<QNPPSAFP8 2:&0 ($DJXA8XSFQ!=IPI&H$S 4$T$6!C6%YY'a M!V3)05D?&P -P,DW?S+3F="4)C6MB4UMQH";Z_2!!A3Z!CO8X3<!@L,8;$J#a M=2)! <4$G0S6*0664FV9S130,Z,YS6I>,YO;[.8 N $GC(TGMP:@0E@@ ,-a M!LAY5TC"8LHPAIUHCPR.^]UR!F &CKYSG#%@P;!"] 5@.FB=<-@IX5;#MX66a M00QR6*<>.K#%?TJ56XC%R!C ,@!"=+6B/<7K0\=:5K.B5:W2:6L)3P?7U*W3a M$8+E&V&I9EC$KA,33AV02Z,:H*G*U*HU%6H?O+!.45!F *R0@ O\A88OH%.=a M ["%IM3(QF ]*UIHB.0Z@4%)OEERG<J @@OV"IB^LM5!9DT?" !SDP8Y) RNa M,<Q@W#!9G?#D*S,95H/<LDYJ((&% 1HK?O8;2 6"#9=8614<\/*?W_QNEVF8a MWDWFX()U>F,!+H@L>RF+#B@43@R$HV6BDK*4IBQO<V ;@I_P@I/QYG(F)BBKa MA-M[)A"<X0T9:_ Y)$!%^ R4>0K4Q35M$Y^+/>&Q8N=G\RU8S\MAP &H P!a M(,!)43KYR5 >6P,(H $/@.V43\G=Z'B7$5=.F00M )M/# L"#4>D#+<\,8)[a MJ4N_NH4W!' !4F6'3C9,&0>Q-1X=7BK5F%:5I@'-ZI2%8%?K.K:VW.*NB-PLa M' (P80->U:Q8R3IE*Z26:JL=4&L32P PY#E LX4I56=ZS8#JEK<$4(.2'P*Va M*+OZU6TC@!\T +;C16\MU+.>&["'-P(@@@$NL+7RIBP)#RASS[3MB9^I>=-Na M$H 3!:2:4^(@Z3;5(+RU+L-,TH"6 9?AFK\3S91-05'5>H3: J*S3:8,BPL2a M;MK5EL$-L.U!;9>YVV] $[A?-65=E!O3Y\:<4J=,# L3+M1]'O6I_7LZ-L %a M-%UQ6%!,AX(TS.29K)HP1LZ@E!1,V1E*QD:384WRDK=@RN*(@9C?4(>KN.' a M:U2*>^NM.1&J5[*K<@V:Y%"'MI;.55-FAY+M >'(EK8!!0# 9?D&55'?-J]9a M%>_BQK &9;?L?0TN@ +^K>G,QA/JFBD !2!]\$/WA%M;>&87D.Z!'[/6ZX_5a M)K=P4KU)^Z@ @XPT6.7.@KA$9=*"*H ,CM#8\)V=[QC7(-@:-_.:W"1CI(TKa M4(6*=!X8.YR&)R<Y[8YT(S"AGV3@<VV7+<^%@[@GHE%(1M8(^:G+)"C;C+P<a ML@X%RA1 "Q!&G6L+0(:E/Q793J\JU)LM];E0W>JREVO6W< !9=8!PWN79S61a MCH?+,_WYX^36YCF+=$$8SJ+1YY;?03""I1: $9^6BJBRSW>Q_H2_^2F )3Y?a M=M$K>]2E'\-NQ>L3.JB>5>Z!+AYD?*^'?*B3=:!@>ZH 89N&=+3@>P/2= EWa M6X%&?*?G>@986LJ'=+[ =0("?E)5@4B'#$9P8=6#:8-16N'5.1RG.2NV*DV1a M%BUV@$@G#4Z@=WTF=RO8.=?3(' $CNA;#V .C/W@NZ%=-S@@0$"@HBF3>9Ga M#O<U6"<X(+H'3YY%$[7A%.I59JY"!U%Q%WEQ>,^$=/"@A.+S53DH!^:G#S9Pa M;%;8A&D7 UU ;VA20ML6&4E&?RT5>LEF6U5E:OKG!?R7>G*P>@&((ZXG<[%'a M@P;@ )1A !@P<B8WB5#6 8@ BX -JZD8!X1%#>6$8T1(F4F%SPA!K_T76]Fa MB2SP0V;&84SA%)9H ];W>_;GA\R&4P8 !"%P;+5(>C25,MUD $HP!3M8C)WCa M*2W68FCP!G< E*0!%,P!/)U%'#@$4E1%&DQ$R%BB53@;L9(;VX&>7C1<JY1a M!@UF %YP A>&%7A5@=E$?B9@!$, ?_IB &@P!*#WALJ65W$84"/0 C0PAZ=Ga M!*+17J*H<U[8<UQFB7) 'X/%CE\W?'DE5D9@!/"70 ("-D6 !UX8(9KS!'"0a M*-=CB7P0;0-B(F. 5Q+Y4'Q%(B:B.5038D0A'28$ EBP9B#P Y9H"!12=OI(a M3C?F$^LQ9+J3)D9FB9" C^_F-^SW3"I"A_;&;4)!E$56%):H"7J(:2]'-57Qa M&ZT!DXHW7G'A!B>@.7/ $QZA.<\8C?+%:&6&AZ1 C-](;YMX![_$$^E5C1$Ra M$V^ %L_R!7-$!\^R' ;@"A^0C^,44''H4". VMG +A@AO &4 ^E&08@#.DGa M!EL9@=K6&F;0&@Z1*+:$A\Q@./[TDPZUF ^5,H]I#91#.&/0!AD13XSYE%"Ya M;6C!>@+X7)<"%@8 #FYWDDPY(+IY!D-)3U]AB>I@ADPHAO5(#WMT5U_' EDAa M*G5!!\<Y4%_Q!?:$3Y;H#V176'!76_Z8+8)R BPBX0CBGT44L1R!%,@&!@Qa M!Q]S !*0 A<&FVI!=<:53N1S/?2"+LEY !PP 2Y0G-D)* =@ ND'%#_)+<35a MG^IT -;46#^95]7I$PZ1H/5D$]YY #H0GF^'AN3Y4.;9 = !,PYGCW!F)IQa M $ZPHB3:$QBE+P> !>G'GDKDGL5R+,EB$_4I!A H(),9@I6Y@]DV$XPA!TP1a M'!G';P? !L-3?WX35;:(6\ H7E)YEJC'%C39<-53!%@P!$4 !51@=2AJ!U*@a M4';P<NC6$_Z(D6'Y*D)Q(S/G&DM1$UK801NC2T%8&[QQ (#067N8%'%@I<MFa M>OR3C1GA$=$A' >@"#+*?AEU )1@DGJV$'L7ATXHD(M:AWZZ8;/C5BCJ"1K@a M I/%5FL@H?^Y:P%J4 > "OSDD^P7H04UH++PFGQ3I$VHADA:;[AI/4$!'4D!a M K<*%@? "S<X6)LI( /V!@4V!R62!]F)'NC$<? T2VB1EE/I$!6"$422*%U!a M8'+%B2AJ#.YD: \J4.72G9 *#0^ JONYJL0*J=HPB[+E.-!76ZE935VPFBA*a M#O@J(*>YKS3* G'XKR.P$@?@#I(YG%+E4-B$HOB@ A?6K$%%KEYY&-4*KMC:a M @0/,XG!LVEADX(L C ,;()KY80&2JOQ9KR!K 2MKK/H:3]F4L"B[(H43a MF_LC535JFV'9@CHAJNA$J@B@ A8[6!S'E1HKK1R;'-8:KHF% #2P!&Z8F"Q@a M9J.I)7R3;9IC!G;*I7;)A;6$9IKC>':& #Y0 <'6F=P&FF=;,B"+!.E*-:?)a M?ER+MD\"LE+PL&_:A!F% %RPM*J%L>,*K7(UK1U[K7B# &:@JWC+A\%':L\Da M WTPB%XJKKDFIF1JIFB* ' PJTP'?!/X9]<$=3-P5=V$ 'I NI.[KFY0!ZJ1a M*%_0E]FY' A " :WJQ#;JRJS@DEZ;]8C'0T'J" !J,8:%V'K)R#K"$_ IFYJa MI!#UJUNJ.*)1IT0R'P?!IW8X<X *LI@ N_EJJ(B*?[^H3:N+3:TK"H0ZN>8+a M>XD:B P'7XWZ$](!LJQ@. Y:JU2))B!K"S):LA*[5 @ ##5KBH$[E:U"!MD)a MLLK@ ,.%IP^, -1 1/LJNSA&B]7M=Y0LP6+LPCKKRB+#I<V(+QZL&+%&P@@a M#X6FE2XK%!2\P6[0P2#+#\VWGL]'P.H+L E@ (S%K#%,9PZ<' V0 ! 0KT/1a MP ^< !I@H&SQ@]G)JD=, B!\LT [PC"@L"M!3#6[<P9;4SJ[L$>, R=,I+^Ka MPB; &PD@!,$I("U+-5%,K>QQ7,*1 $R0PX:6>8'FCUUL!>1+L)1[NI:KNJQ[a MQ&#@+?77A_.[?\P#-HZ:OPF@:D=,!\#6E=)*'@G@!^I9J(R,OJF+N4>,"%?<a MB_C7;$<L"89CL *B:-[E90G "921 *:P 2[PK-'*N%+KL7B3 + PJ7M'Q@F@a M"TV0M7NWMR7CM3%)<]J+(T$('2!!!D11EF8KFFA[Q,1@AIF6;KESQ,[0R?#[a MR;?UBZ*< -APMQ'H4>WYEX$YF!^3 .) >%+(-YD3O/3V%2VFMN,:;LAS8&)+a M),N1 .Q0S(M<N;H5EI'\%#?22SG1?ZHG<X?1K9&1 /9P;7-YA5/[L0H )2Aa M H@B908TJ#4 I 3@P2Z%Y9E?SSSC2@[X4!@ H<\_L5C/!FZK"A23M 0:*a MS-C)TB2- C9$-0?40@H@ [:<H=?)H=OIKB3- WHLU'_37,20,CC E;D<0I@a M!$\]()8CU51MU3" U;5'TEH TB)]UFI#TF0@2Q(=<5]Q.KMFK/7RUJ J<R=&a MTFZ P;8ZUV"A 'B0?D,M9,A97,>Z(0H@" 8:H4RM (Q@.%T](,1% E6D&0I@a M"=5%-=>E E(TJI@UFC]V65#TK2@<MEHK%%T%A*=$^15/:8X@'88%&%@!E)4a M-SA&TKZ P;-;NW)PNY_)8PJ #$'-U3@4()0M#1*L8P"L -Q0 &NG .:@ .U a M,EJC /!P, J@#Y2Q $NV)X#*8PO@ "* W":#(N)]-/,5'PVP !A BI 4@CQa M1G'D$(&9*$SP!G<3%"*0!;_S,0L@ CZ@ E+0!$7@*@HQ$TP$1T\41>(* X!4a M*E7@*ME[X/%-!_,M!_5]W^G- D/P*)'" Q*>X'1DX?;]9IFR(@?!*0CQ*<[8a M!$N0!N7UX7*DX(FU &VH @].IS NWS)^X:FX $!@ 15S B)@+$ !>6K"WTI@a M ;EMBKN-NVKB,^E-!050#^GM!<OZ*\XU9.UL9,PB4$2&)M>RY+;KY$9V+2V@a M(N B+F+>Y+U=YNF-!D%\#@Q$NTS.V[E; CYPYB# ".FMCQ6C"-Q2 RDP#&MNa MYT^>WGPPBQ5# N)= CM #&[2+,'B<0M@"&DDV-A9E!-"'ZF HS^OR:#GQ2Ra M$@L "18=("& H5.YMA((:Y4 OA)'ZO>YD6Q(0N@"3HP('+>Z 8A2*]NWDD#a M(!1B(5.<(?&!GWR^ *2@!7Q3,4/>&"RG.7W9$V\0AC/]O?"5VF *K1[F07DQa M$WTZ$Q$]61L'>720[>[*WZ[@C0+B['0:A.Q![,8N'WE)KO:C2PX#,>23.2[ a MW[BP 'QS'0L@# DP(,V0WLQP %R\ M@#1G0#W.NVX9>YCUPYND-#@>S .J0a MW?2P 'L"'?F[ /X Y" @Y%,0'9"'91_# @0 _\0+"=OO ?>$!2.)L&R L/@a M!Z_N2#>?\XW> P@ 2'P\B) 4E20!R'YW@M!\TQ@\W+C/QX#]!QP,/M$&0R@a M&7OR&?S& #HP 2JP!$60!5%"!6GE!$^ WS0!$!/!!;P]6'/(R P!4%@!460a M]E)0!4Z0]D#O!!W@]F+O+2K !$\0!)0S\_*-)GK/ "_D]R#0,BKP+$/0%(DOa 7!AS ^-?&XTK/$ X!$6.0^&QP,/\ &H Sa a end