Code: (Select All)
'=============
'cp437font.bas - v1.1 (use new smaller font size)
'=============
'A single SUB that provides in-code re-sizable code-page 437 font to use.
'Coded by Dav for QB64PE, NOV/2025
'Added in v1.1: Now uses smaller sized .otf font - it decodes/loads faster.
' Made the cp437font SUB friendly for OPTION _EXPLICT users.
'This SUB makes and loads a codepage 437 font, just like QB64PE's font.
'With this you can set the font to larger sizes than QB64's built it one.
'It's like loading an external font to use, but here the external font file
'is in BAS code and loaded from memory instead of loading an external one.
'Using $EMBED you can put fonts in your EXE without needing a SUB like this.
'I still like having everything in code to post sometimes, so here it is.
'If you want to extract/save this contained cp437.otf, to load or $EMBED it,
'just feed the cp437font SUB a -1 size and it will save a cp437.otf file to
'the current dir. Just call the SUB like this:
'cp437font -1 'extracts the cp437.otf font and saves it to current dir.
'I made this mostly make my SCREEN 0 programs start with a larger screen.
'Loading a larger font in SCREEN 0 will auto size it to fit the font size.
'To make a 75% sized SCREEN 0 on my laptops I usually call the SUB this:
'cp437font (Int(_DesktopHeight / 25) * .75)
'(the 25 above means 25 rows, which SCREEN 0 usually has)
'===========================================================================
'Demo....use +/- keys to increase/decrease the font. ESC ends.
Screen 12
size = 32 'start demo with a double size font (usually it's 16)
cp437font size 'set the new font size to use
Do
Cls
Print "The +/- keys resize."
Print "Current size:"; size
k$ = Input$(1)
If k$ = "+" Or k$ = "-" Then
If k$ = "-" Then size = size - 1: If size < 8 Then size = 8
If k$ = "+" Then size = size + 1: If size > 64 Then size = 64
cp437font size
End If
_Limit 30
Loop Until k$ = Chr$(27)
End
Sub cp437font (size)
'cp437font SUB by Dav
'Makes and loads a resizable code-page 437 font.
'This SUB is OPTION _EXPLICIT friendly for easy plug & play.
Static cp437& 'font handle this make
Static cp437init 'flag set when this SUB is first used
Static cp437$ 'font file data mem
'if doing a font extraction....
If size = -1 Then
Dim oldinit
oldinit = cp437init: cp437init = 0
End If
'if first time called...
If cp437init = 0 Then
Dim A$, c$, o$, btemp$, a&, j&, p&, oc&, i, i&, a, c&
A$ = Space$(9221): a& = 1 'make basfile encoded file: cp437.otf
Mid$(A$, a&, 80) = "0EOVLFm^jMny|Ps;2n+_C3DQ5MfmNI.H:4)g*e<AQ<}MXRAACD*Yt/C.DSIdg?k>/\dFLLJm>1Q,e}<z": a& = a& + 80
Mid$(A$, a&, 80) = "+PKwX4cHcq<]lD;QDarvakGE?o7O::+xcEBBs*^1Zx\nvUdiMo?;W.R6m]g<2JwJM?mb}F)XAw9GslvU": a& = a& + 80
Mid$(A$, a&, 80) = "vP,7*,5v\yVwrsG>fA/aGO/a2hle)pzf/h'0]W=-a[>(IRyk5VJ*AR)AX].CXe']AvP1ykk]*twJKaW{": a& = a& + 80
Mid$(A$, a&, 80) = "X^|CtosrdY/+55+6qYh4jPB[(Cq>CnNdb^8HZg>M:+u^:yYZ3j.wd>dHsyu4U5\^(*2KWFk(vwV8u}0n": a& = a& + 80
Mid$(A$, a&, 80) = ")0Ui7:C(K-e,No,SBjO6DPmR\Ev.PFO]|gs2>nl^QX'T/aFf7t4^or{4F.;U^i1FNHd(g)(H?t6T,r3^": a& = a& + 80
Mid$(A$, a&, 80) = "7WaAb1Du5/}m6VcoKl?uww?hbcXazUwd)XAAH+y)'9l1I<_JxYT^rz5)Eo-)wRArP=tYF3Uv:^^z^wqv": a& = a& + 80
Mid$(A$, a&, 80) = "1bpg=pJ[9DvMazrIJ|>EZxG;\rl',KEk]tPb8:rbepVao9,ML=g=98QQQ\9B}d'\J'cBMM7udND:]a5?": a& = a& + 80
Mid$(A$, a&, 80) = "4_8g'3Saae+hTo'=85SNPJ5hHTDuao*I.NAn_gBt.4Z^p1nfccu4IIvemPx)b3^M?SlOR|iQ6:O=:N,O": a& = a& + 80
Mid$(A$, a&, 80) = "5J2z=x[EgVWT:c_vEK'^4c*Uo_3}O5zsMH86I5Uo_pnUWpIUAQ)r2REetM[EAK09mZbv}/ScfQ)AI;Dz": a& = a& + 80
Mid$(A$, a&, 80) = "REUso0FM9[cbp-Ocvy?5?2\lmNB?sv<tE1uYyZ/]ZZb)5;?/H|tFTkmdX8Auj*o)T*pfXuw>iEW,YsGK": a& = a& + 80
Mid$(A$, a&, 80) = "5bS^3)DiS](Ja|1}DeTAz9Kqxgrhac_j29D;_h)fFb7DX>FYnf8v|\[:]Tku}3bl(tOL8+2FU:gzH\YN": a& = a& + 80
Mid$(A$, a&, 80) = "Z;GUNgc'TPe6u>43u:r_TY>ttTa337:PiOd594Na8]fc5_I{6MNF[^,lxx?N5HTTs;NbmY|XcRv9Z0Tb": a& = a& + 80
Mid$(A$, a&, 80) = "}kp}QoOG>J6g/ZGuiuidTYn,nKKaAQIi6{VyuK+Qkd'|t4-o*ChXQ:4\wV.uFmQ(we*2?g,3I;_x\VQ|": a& = a& + 80
Mid$(A$, a&, 80) = ",)N=u+XYE8uA[NY*0u'-i]F{SDo]pNqtF\w\m?xVw<TQ>QhJYY_m=XdTzLO?QAyxm?dIJvDa*Mw;Gy>L": a& = a& + 80
Mid$(A$, a&, 80) = "DR9.{YxgGZQKdN[x8kDRjq}pY20x4NP0aq9lxap6;Z|rp\[;ug.Z*0V.YKW>25f-6)k[WG6TxzXUtUz(": a& = a& + 80
Mid$(A$, a&, 80) = "=viVgP9{\/FaYlFyPZhpZK/:H\K]]1Bv{KaigVK'\lcIkKADz6^QLs63O?-Y+9z5,-4jRb[f1q>an3;T": a& = a& + 80
Mid$(A$, a&, 80) = "m<n+?0j*,UQm;9d|y45ta)6.6Urq8HP6G2_F*sZx^?>mRDb6uw/](v51C/vAm:ud))lt}R4pu,iO_V](": a& = a& + 80
Mid$(A$, a&, 80) = "4kR?9*'^P[-s]|7(Ev6<c_E1J}jG[3)^AKx5B3H{[CXib]zeF7H9gxLIBrz{Om2I*\wtcbVa7GG|t2'A": a& = a& + 80
Mid$(A$, a&, 80) = ";_a+ltNP8((y:8dU9fCB[k;_oqsBobhMr;EGr/Lw3P2/80xFOTdJ]R='pDr/.+o8qa2SOFWi4IBtE}Nx": a& = a& + 80
Mid$(A$, a&, 80) = "E6J}VGA(,qjtM*I-:yP/R)J<Igvc/_GCYi1hn/5pAvWmC}^CHxC0>(kPzv^g4hUjRtwqStS8nN-5>qax": a& = a& + 80
Mid$(A$, a&, 80) = "Q'}.-BDpOEb2|svAk2vX0:'0zvZxsk'jyMrPk>kXJ_;{HYuN<PUun);:[)*BO_OKcKwI^S1?I3>eXnnP": a& = a& + 80
Mid$(A$, a&, 80) = "pJ'}(G?Bq^OWw5;9+z1N5G(*eMNn5cd^;pup^nA'CI8Jns2]dvqaHttMo['87hgiH'6;G5_Y<wn9P.N+": a& = a& + 80
Mid$(A$, a&, 80) = "z6Jv36kIaPoZwmQrMk8wi2OYRPD;RItsu2jjel^hznBjO>FN6K-w|4L(P6[Ug{*]D<psPsp[<5qBFx4C": a& = a& + 80
Mid$(A$, a&, 80) = "jX/vj>WFZkFm;qXTbv<9jE5{r;_(li/yZWHHt]uQDtb8C)tZm-[t]b|Zn.=Owmu*fGtb\qSmt\L\b6mb": a& = a& + 80
Mid$(A$, a&, 80) = "lJoMj}o>K;We|ZpraGg1n]yaA^\U_,|ntxwexEhKIx28W[yjP)>yn8R{ylw_Iyl-.Uyk'I+N6o,2:os=": a& = a& + 80
Mid$(A$, a&, 80) = "-Ab7D'3F?l<k>ByW^5D0hjapM[-_pQ<5('2Yx0q2J-ad+J2bxtU+Vst14C1A7WvG}*FZdHVj/EJe6AEc": a& = a& + 80
Mid$(A$, a&, 80) = "jHVb8F._5pt7>D[6Tzu}NY>QGZ=Py}fjk,<mRw5aj^pZt?s8zyM+Cf{oUL0<ZmYW.iGH|78b8/>nb*'S": a& = a& + 80
Mid$(A$, a&, 80) = "WkKOFu=xHEg?;GP?whv}8cC=NtDK]k[JKEI3<Ehx5K+Q8kT)ki[tc0|dmn.(o_56qahyNDT=OLlIE=f+": a& = a& + 80
Mid$(A$, a&, 80) = "QoDwU>^OFMz^KsoJJ0=9^uQ;46e)V[VjGDPXho:^;cfG:,F)3[mKiU7:/g\/77)a7auB<eTk;b/VqHOT": a& = a& + 80
Mid$(A$, a&, 80) = "]-TZ+x?i}:{z)Olm<cUbnfAIlJ(6>q:E1=D}XQL80bu,>zmJOlsJDgW)T.Tlr=0ssd?9+>'kBOi44G(P": a& = a& + 80
Mid$(A$, a&, 80) = "(Pzg)sra|Ph7_>x.I4:pfHtdHrND0H0jBb2[kZKdgj4_bWsfy}]jl8jkIt<yhw4uI5w7V2T/srepwQ2U": a& = a& + 80
Mid$(A$, a&, 80) = "Vb_:3GpT3S>K)bB3V*mKhor\_.yBd}3ceX\GMYOX?z(\QvTpd\ntFX4}qn|aXdf\KPmJh;WoS'm2u:/N": a& = a& + 80
Mid$(A$, a&, 80) = "YxCTJLa7pVQrsBDMTpZuLUOP1\+>K':mv<YwM}}JGl{:_^c6aY>WE[soJFa1n+10P1=zW-4J[K+lo-1T": a& = a& + 80
Mid$(A$, a&, 80) = "HKtqKNcfZ2XMi)lw>>0KonzPOFiMA)ir4x*B*+<Abx'BD>yWLoBF^(Rt]6AB|_fDe=tP_Mm6gW/.Z0Ky": a& = a& + 80
Mid$(A$, a&, 80) = "ZbcM7u^w*=btiWEeum\CXwaav*Rh>8bk1vim(:/Thm>nTi:Wp8FG'xbU;zK'mTs:Ed'}:xBiwsNne)a'": a& = a& + 80
Mid$(A$, a&, 80) = "4W,^gyR.kA=BkRxX_uQT\6WYWi=a6+PQNtLbsAqb*s?);dVFoG[175zgPR\4Y_B{pyprR*0G6+4A)=l\": a& = a& + 80
Mid$(A$, a&, 80) = "WXL(<D)r\UU>qqjrfcpu[DZ-[>J5{DBvdQOn]lRauAMy*cCI19<Fcaf}^B(seJYny.'=v_Ck8lm(WIHm": a& = a& + 80
Mid$(A$, a&, 80) = "Y]KwJ17H<;)qSEqm*s4ZF,4oWmQb(rvo,|gctf4l(E^]V>:=}.i//ugVSJg+u+{sKSkt<UQ5w_E,,HEt": a& = a& + 80
Mid$(A$, a&, 80) = "o[8_}G[=*xL[Rkm|su}>k0eq>>i<Hb><GV}CwlI*PyUy+^925:rbp4ux=K7g_x)s^=zJ3WrA/ZTK/}^m": a& = a& + 80
Mid$(A$, a&, 80) = "'F+5=G_13p_+ndwzPeP0]pt__lxbp:x(>gwm>O2DewU/OUzmf[)XUpyD<8|;|^Br)Tl_[^atCq1ttN/W": a& = a& + 80
Mid$(A$, a&, 80) = "|dA9d^Rf<JX?/i]ME;rto^^5hJM?mbI1uRZ?wSN}NNO0m?jrNoHb33{prm(06ddX:w4zB?rrg)SWNp44": a& = a& + 80
Mid$(A$, a&, 80) = "K6E03/h_B0TV[>dlWGVzDs{AIHF_ZK8R4[*oV5XEBOR}{1wR5t/P?k]V*S_3+mo]O=1F[>(jz_.fv\Aa": a& = a& + 80
Mid$(A$, a&, 80) = "X6,Uf.=P=.dg>p)w;Gv3xHLQHSWM];1eAQWibLw\f]Y*^>CSIDomx8K7x]6scKt*n[pjCS>P*gYSz_,X": a& = a& + 80
Mid$(A$, a&, 80) = "szt1t?faMCE{5X1WGx.VLgR3cqozGV/Y06/-b.;Jt/u23\k4Te?e2W0m;b*ni=69n(Bp;1-8Fq=MOrOB": a& = a& + 80
Mid$(A$, a&, 80) = "Q+iEp9FOt>]yf6(HbJJ9:Yjt6[L7M37XJYUsa,fsDsA7k'r>Gy;G<?OdUVc5AN>cYKheSf3xd2WIi7=,": a& = a& + 80
Mid$(A$, a&, 80) = "fkb=+mPLJt}KQVNUD3|^jpMTr\e^tiLk.DStR/(c5;L7Ooqzn9tVJ1=WX?YBu)X7y4{3dI3z=ArM6UH7": a& = a& + 80
Mid$(A$, a&, 80) = "og1mDO.2kWeEr|jRoIPQr*VeL95mpy0d<^Erg_3l)5MU|q\caA8T7qoi9/;jXRgPnP0zbo/='SUJG{IU": a& = a& + 80
Mid$(A$, a&, 80) = "4Z/KehrV'vIGM8J4+MLp,Yu\KYOH8y|FHKCJyI'C\B6KSYI_ow0\H^K4=PCU[5imSkJTA)(Pus7*I0wW": a& = a& + 80
Mid$(A$, a&, 80) = "3yvk'eD1pIJY|nVSKcmyRKcxcuuU?7Tgq.z].X.)non\6ivZ0HZ.D6{0C^)y;/9[bxmsD7:9H=Q(W.z,": a& = a& + 80
Mid$(A$, a&, 80) = "*5YK*ZV=O^7+ppIoh>)\5;1_1TI>T[BK.j6UbI:d:bP<,]Wt))GEMY7oO)64ft_n]EOZ-3_nqzA.Wq*,": a& = a& + 80
Mid$(A$, a&, 80) = "DjWYW<X;Ep2O\rLpS:l[>iEs98LP-f}g(KHczT}d[3VPEwvP{W6h5U7[Q\}x>Str,-V]V,ZvPl*Yw[,W": a& = a& + 80
Mid$(A$, a&, 80) = "Z\]1|b1:CIw-Kr,:QxYgU8e/\c4Z+5q(xRG09a<(VRZfv4-w{4iRs5|qyVmf/1:nesez\_e^)t}RrA1q": a& = a& + 80
Mid$(A$, a&, 80) = "rltACm+U=7UNdYFR.u*uEco5j|pn.yw[bsJ\iktNF?s>qnqn(x<A.W>|_C<YESb<ZpSXFe;L<3umLU.w": a& = a& + 80
Mid$(A$, a&, 80) = "Uk:\?I(X|5BqL<,HA9S.ld?NNr:09zOI3L0,..B18)AIwH,w9:/y.]}n1v*Q:bu^/+Ve's\<ttu07Pgu": a& = a& + 80
Mid$(A$, a&, 80) = "(wo6gz_hZCws:,j[+nu;C27gN\ziW]4:M/tRIT=beu><T]L^yjX<8im|O;+P,6oI+bxseap6zlBQ^1-_": a& = a& + 80
Mid$(A$, a&, 80) = "wZ.w|]-x?p}\rR7t1*jz:;D<)P,p]]+)642iq{iLP[N;DF3p552tP>3U.Fc?LVmTrw;nOA:6Cca6J-Od": a& = a& + 80
Mid$(A$, a&, 80) = "TIhnu[;On+qU/qSf,Oifl'AwJrxp?tn//*|oW=uC.U)5tqVrN\.^I2b_R+N[WLH_,E2DP.y,m\n9Sl*?": a& = a& + 80
Mid$(A$, a&, 80) = "fQ8T^\O9bhi2DHT'fq^5uftfqRE0Afy2.=c,GxKog=n0)qvm,N5)EHJH/5)']?hof_JW]t=lMDO483O\": a& = a& + 80
Mid$(A$, a&, 80) = "l)aRvX1}{o\U*Mt5O=z7yPNp}eO<NOxW<h=sIHO}}G\xa;__L-c<ZyrLqTT>W>TOr2swRZ\B<</p6BQe": a& = a& + 80
Mid$(A$, a&, 80) = "oMyCatI,b8vI>o;.^Uy0;3SH=iwXAey(>QP\HPr+Ywj.)44108Ky[fqqIw-4?-k/?D?BE6gUz(F879mz": a& = a& + 80
Mid$(A$, a&, 80) = "OPLB*Q3;c2sQ3.+86y]ykIXtdXGziypt=4+LIH{p/CUk<g4-aVpgj15i<QBW(Pcu^igG1D*L*hZtIY:_": a& = a& + 80
Mid$(A$, a&, 80) = "}^srLKTBytl,c=K\0G3+TeMcRR:.N(IYm7o5s)>VZV4^H9(y[R8s[EK**HAXz5)(O3YBQn0WVyc7)<]S": a& = a& + 80
Mid$(A$, a&, 80) = "?MQW]8jx4TrqfBv]UjlRtvOI9;2OLdPWCK7twO\pjW(CUMs+M?5'gU>K=98k<6gJ<=t6/=zf,;5Nc;i{": a& = a& + 80
Mid$(A$, a&, 80) = "?[*kRly*hO<wp(bY*[?}tg2CHu>u:h(:KU|f+P+rt3b-fw[s[E411e6jgxOUWwjgzm1,y{6Wht7;k}og": a& = a& + 80
Mid$(A$, a&, 80) = "m5_Q2O(vSfD^DY[Ave(WL\q7[YL33rRVEgt=-oHBk0K(P|]+(}s\U\B^^f+3GdP7N'{4W+vba>6.Er11": a& = a& + 80
Mid$(A$, a&, 80) = "=>o2K|c9u[rXuwL9t[R+q6af62?)7BHH}7t.?cteyxUM;2jAJHetU1nc]-*|}>Q+2_Db>0)7tWU6po.'": a& = a& + 80
Mid$(A$, a&, 80) = "b0u|^6Mm,k[gj.'p<9zu[MTW?BTd'ih=(z1,2:F90elBxu9*Q-^W6(f^Q:.an)SGar<5X{oCg6(IokYL": a& = a& + 80
Mid$(A$, a&, 80) = ";*KZvF7b_.37y5OO5}aztdPH(sxkJ|ZEyt;5oYf_,>('{<nqJkM(4nbWqb8L)07nKSB:81/Fyh\d'Cpb": a& = a& + 80
Mid$(A$, a&, 80) = "p:p['yxpmdcJj*2C?fY6K)Zx4>nhH?kPI9v0zuR)26IzRQq*^qtl.uNODL4GNUG;r8_f_:K88suLLU\E": a& = a& + 80
Mid$(A$, a&, 80) = "48m1(sSVR?88Gg+(r?]rNh7BZtdcJ.-,i\8gjmVK{s|<OtNpCl<p?U|vn<'_W4/zH(6Mt-E=ZEP|>gGl": a& = a& + 80
Mid$(A$, a&, 80) = "mAJQ)RmqhJgqF,rX5L9zBMbrET)oZ>KG'UQ2a}Hi4+i[;o)-*i5*Oh.LHFsI|((Xfr]ubwa[OAUj']49": a& = a& + 80
Mid$(A$, a&, 80) = "cR\uc|C.|apSREfnyC-9VuzH64LBEe]1tiK8<l2jJZOW+L/?^p31DyaA;w[zF'F=al4iHe2qA:AvDa6_": a& = a& + 80
Mid$(A$, a&, 80) = "D(7xEl4?g'<rgDXRwXLoktNrZ\iU0QfSfUDkHT684f{sHg?HXB(zAiMT8e3uUZh3_m;uyS=atm5_7Jqv": a& = a& + 80
Mid$(A$, a&, 80) = "i;p;QHisaUgxf[KxNr'ez81NL;<+P8K'<xc>'Yj3vPRAgtb>voAYRWy1G6NB_0<k.F5G,C-UfVf;pI]A": a& = a& + 80
Mid$(A$, a&, 80) = "k*jO{i(ov]G:?I)>J2|I|B:Q6|hC+J1+([=ge8,oLq:D-ilRsNb)k{2D;uums?Tf7vl)^J2bYKG\'|fq": a& = a& + 80
Mid$(A$, a&, 80) = "]t7mb4s';Uj:YER30.m?iahHjmT7Mm>'h9C.tvnLa?'S*W5lFWNX.t<pGt|_S?nvC+any5aN=<0hDQ<\": a& = a& + 80
Mid$(A$, a&, 80) = "v=l4qPXokYNjmemq.Vk^x15SU?*xFjW\4wEN.Qo*GGGcapjiw?,O.+TW-g=)V5OTb<-((.9({EU8RnNg": a& = a& + 80
Mid$(A$, a&, 80) = "mktCFv70uR78,S;P/NXZ/(Lf\,<XUD0MjTQg>^CM'IwSsUd[a9?Y,/I/'e3pIL}dh/67?^eGL:Qv1kl\": a& = a& + 80
Mid$(A$, a&, 80) = "SzEDDN_Tn_z1Mu=S\j9HbJ5[418;TeS/<1A{SjYt](cxQEZi(g22r;}1U?v^w8u(-,6[KnS(9OyV<90M": a& = a& + 80
Mid$(A$, a&, 80) = "lD}v06-)nm8_GHrwQTW+T;Xcg[M|z']ZqGt<\qeEsUl3ANFB9<C6Z*zEl1(MYgf21AqMWVwk>AzUOhzM": a& = a& + 80
Mid$(A$, a&, 80) = ")7u8Y=wM'3MFjnpAU;_m-F/.A/dkHZ+[wntlW|y]y->{9q1j9-QrCdVe(p;P},{3_5*3CGw^e[vLEd[)": a& = a& + 80
Mid$(A$, a&, 80) = "u7L}14FR+V/O.<}[N:<h:]H.}4??xuXV8E6OaKq:^jrk7P2T}523Xek3xdTYh)A6s]s+k;nfXCB^A?wh": a& = a& + 80
Mid$(A$, a&, 80) = "z^8=Jvw_/*[.3q(<bjraFdD1v822lIUeR>)PhM{3(35*h}n71|]rXvmJ=u/74U4mq_A=/CYA0w)]61-F": a& = a& + 80
Mid$(A$, a&, 80) = "RpZ]e6,XsUiKUa5h0(q/waQ}qaAlPC;=Zb1O6Ab|;\hsU;3)S-v>A*9\IwTJn1n1Gp8z]^q=|}7B_((<": a& = a& + 80
Mid$(A$, a&, 80) = "'*9jkPaM3RM3*[[CE.Xh/C=/1RA<RnG)Nl9fZ?6uA.DH\ACP+8fok_?uGFD0w3W?]0f(Px9:A,)Z=s0j": a& = a& + 80
Mid$(A$, a&, 80) = "^7WtP1StH)P(G]VeaofN-G5A4S*X/BFW?t1Jgs?mg{+,q(XIKQ;ic3(1)L_K\Ypz(d,oNsd]G[njLsI5": a& = a& + 80
Mid$(A$, a&, 80) = "(,>LSv153ojf,p3k6N3./l*?J8;1Dk_N{'^e;h,v[2bFW?BAA;J9,1B_g<09|vOsexS*VPa?.EM[4pp-": a& = a& + 80
Mid$(A$, a&, 80) = "|]MoF=YNyEZ6uRgN9)5Kfw\pGt_G52IK*'B)ExYn(1z:MBvAtnJ3,Y*7?jfa}6d8Jc=b>j9'25te(;_C": a& = a& + 80
Mid$(A$, a&, 80) = "N7^JK5;bD(R0/R]JLP4{J-Z4IP5oC(lpu;.A_jFpP9<W29bG2-.bYsc/^6J5IUp/P\*<gJCacYvuTgWp": a& = a& + 80
Mid$(A$, a&, 80) = "MW,c=6BhXeX7>fG5d{.:;e5UttxKl<H4|pr{:;)3_^FV_>i{]hwqEc{cgT'PsqOpLoL,s8QH^/h?]S7K": a& = a& + 80
Mid$(A$, a&, 80) = "2J9hy6,t1'E^*Fq/N(lF{-+I,uBM?\IEa0JR:/G9o:{<p-HYyDJ1LEYxOETY>J'u7uOUo_Vla,O7X0AQ": a& = a& + 80
Mid$(A$, a&, 80) = "NXGYx.-.H]3[}v]ePLG41/Olrj?F*67[kkrz/X;{T2RIn90lJXWW:xH4b+^dd0]^t;S}OKC4wFII(u[>": a& = a& + 80
Mid$(A$, a&, 80) = "ze2Ky4?Z0y*QK}s]P+.dA48BTOqnXDf-g^C\P=ri3(Rg6S4M^'|/IMp{(aLJ=,MnrgRoQf*Vh0n2QE1)": a& = a& + 80
Mid$(A$, a&, 80) = ";VZ^t<a<ISrtZC[uggGBI,.{bU1as5m:h6;q>,m4CP=*z2?U0NDDgfVOGc1Kg8ner,Eu5e7*8kcMK['X": a& = a& + 80
Mid$(A$, a&, 80) = "pOSwDL9(:-H]53}Fh:QB},=vC(:vn|I^)1\Rf/PDTYYak<.=J2SoA5<oiXtc/;YMX(q)m7elxopOnXXt": a& = a& + 80
Mid$(A$, a&, 80) = "eJ<*c30E,SJ:i,(cd+rtB*ZFVWx?vXz_{[C?1u(s>'Ou2{BjZ3]m<ZaY]X*ZUoLFs90EeG6JQt?q<[c9": a& = a& + 80
Mid$(A$, a&, 80) = "Z-IIFRY=9}Y6tTbLOy4re5gpF<W,LreW\Hq4=_)NN<[x.EF{SO['rbitTc<)E\9sC-7:e{xhM,o\[TWo": a& = a& + 80
Mid$(A$, a&, 80) = "rqPb>/z(eNZV+oq+=VnZ<gF.vF?=85gKaTG<?Mofy2E?8GX1kDYAb1<1]2sI^'e/k:1s^YG.LbQuVrg8": a& = a& + 80
Mid$(A$, a&, 80) = "?0R8E_9kT:Bk'_Pu>?2<jYvC.D{7z32mYC}N\*UaD<9*FTh>m^up_2Lpc63[]M|DB(-85|1\M{gh:=j;": a& = a& + 80
Mid$(A$, a&, 80) = "pTM;X>z,yHp,)lI<CrfSoKe37/d;1Gk+xz+Us{nK7PN//Pi]f?VZnA=F\;v[s7mUBv,)H'uc}R9,p{-w": a& = a& + 80
Mid$(A$, a&, 80) = "ze0'-]KL+dA1'<,\9T/aoQb4V|qyKRkdkkSzlR\wn;Xwm<u}^|pY0HiVt=|QT?ZJnl4pb:M*bTex,Ux3": a& = a& + 80
Mid$(A$, a&, 80) = "ah-vm4k-sVT.j[Xj>BCwM'f|p/3:rwwdVUBvDbjheTzsmkpHr.5FZyOJa9|ih<U3zdGxZ'r]pvasUXc\": a& = a& + 80
Mid$(A$, a&, 80) = "LOuXlb{>B?.nRVa2nR;kg9d7hzl}KoXkSA5Yqq>:Sznrn^4bY1i/<+{f^=DO.^/tmQJ?2rff?<7rm7Y-": a& = a& + 80
Mid$(A$, a&, 80) = ">e)(,dkh0VBEU{jr?|gE=_bhl<tVBEvtYB.Cwwr5p?,<vlMZ;utW-zxRH=,{/b<3Tvd(J+(oA1JyA9mp": a& = a& + 80
Mid$(A$, a&, 80) = "]M3'b2^Z(WT7Yz9-jMZ<xk.,YEOl:4mQ_uv46UTV9E,2cq=INAyrP>aI8Qd<yRUrDL+(>:vHjbWxB1/{": a& = a& + 80
Mid$(A$, a&, 80) = "4uiGV;hZ\.zibWohuz0Bi8S>F_UuBsTbA)D,Qu|=SF:Di=q?*+:rUaf4M_hQwYHil<BM|rP)P,S:2mi\": a& = a& + 80
Mid$(A$, a&, 80) = ";Y{:Tb8qeKLCoHA9_+BkLNJC+GF9xJ2VJl;]R+IR12QMrL[\0fzhnKErf<APAjJ)0R.2l1nkzrwi(CKf": a& = a& + 80
Mid$(A$, a&, 80) = "/0i3vohIkq{<m'2rnry5X]**H,D\FSV;I._7vcuERjPoM/8i9xz>\QLEYlh4t[,z8I]jDaX<D\,]11G5": a& = a& + 80
Mid$(A$, a&, 80) = "*41=ulvO9OVQV?HqdHQPC]=qX-k9a6E<ZrQHSF-G+8dyYY4>kdHFLkoHZs<qn^|W{'JD+>v(e9ON^a3n": a& = a& + 80
Mid$(A$, a&, 80) = "'fb,2RcGfAETtS(6I8_cd+Ek/U:|nronluV[bkUU-_9*zXtb=*wrJ^Ntcx^w,hf1{_/ZN7:2,1{(3E0u": a& = a& + 80
Mid$(A$, a&, 80) = "\WR(M4(>{xC3OhzomJBA=DkeI-=j,o4J?LO^,P>N_OF3iQ<Od8JxKfY+==L5G49)|AjaGjnpB7tQiOmq": a& = a& + 80
Mid$(A$, a&, 80) = "K32=UNNCqkQ9LXWuTrKX;k<bT(f]H=nB;7h>CG;Hckr+_dO(E}4p)4X(O]wKxsZbQ77ujXQX-{^xA*C^": a& = a& + 80
Mid$(A$, a&, 80) = "UUB>IO1'yZON4ChS7=p<vv8Vg.V\9a}*:R4eT6gO/Xo<;k4AlsMWiA*k'akT8Ozk-J*.xmHBZ9KW{5)>": a& = a& + 80
Mid$(A$, a&, 80) = "Nlc?62kd-(7>oHqI?L:r(0=h<DIsXF'?Hvf(zWBgCx\{Gn.H2(,BoV^MQaDOW.VdNYMVQ)}].>svPg31": a& = a& + 80
Mid$(A$, a&, 80) = "/;0:{\p\kdw^A,'R+ns(XNW+0mlg6H6A]<X*D)-w\uTd6yWlcWj,K\7}dE2Pam./0t4KR}.b_)1JQ)g}": a& = a& + 80
Mid$(A$, a&, 80) = "<oq)f^fG8-o)<7DGv8sB"
o$ = Space$(7376): oc& = 1
For i = 39 To 125
If i <> 64 And i <> 96 Then c$ = c$ + Chr$(i)
Next: Dim v As _Unsigned Long
a = Val(Mid$(A$, 1, 1))
For i& = 2 To Len(A$) Step 5: v = 0
For j& = 0 To 4: p& = 85 ^ (4 - j&)
c& = InStr(c$, Mid$(A$, i& + j&, 1)) - 1
v = v + c& * p&: Next: Mid$(o$, oc&, 4) = MKL$(v)
oc& = oc& + 4
Next: btemp$ = Mid$(o$, 1, Len(o$) - a + 1)
cp437$ = _Inflate$(btemp$, 14784): btemp$ = ""
'if doing extraction...
If size = -1 Then
Dim CP: CP = FreeFile
Open "cp437.otf" For Output As #CP
Print #CP, cp437$;
Close #CP
cp437init = oldinit
Exit Sub
End If
cp437& = _LoadFont(cp437$, size, "memory, monospace")
_Font cp437&
cp437init = 1
Exit Sub
End If
'unload previous font/size, if loaded
If cp437& > 0 Then
_Font 16 'have to do this first...
_FreeFont cp437&
End If
'load the font
cp437& = _LoadFont(cp437$, size, "memory, monospace")
If cp437& > 0 Then _Font cp437&
End Sub