Path: utzoo!utgpu!news-server.csri.toronto.edu!cs.utexas.edu!sun-barr!newstop!grapevine!panarthea.ebay.sun.com From: koreth@panarthea.ebay.sun.com (Steven Grimm) Newsgroups: comp.sources.atari.st Subject: v05i006: chedit -- Font editor for mono 8x16 fonts Keywords: lharc, uue, C Message-ID: Date: 23 Mar 91 00:33:06 GMT Sender: news@grapevine.EBay.Sun.COM Reply-To: orc@vpnet.chi.il.us (David Parsons) Lines: 188 Approved: koreth@panarthea.ebay.sun.com Submitted-by: orc@vpnet.chi.il.us (David Parsons) Posting-number: Volume 5, Issue 6 Archive-name: chedit Here's another bit of Orc's Toolkit - part 3, chedit. Chedit is an incredibly inflexible character set editor for degas-style monochrome 8x16 fonts. It only works on standard (not Moniterm) monochrome moniter-equipped STs (It may work on a STe, but it's never been tested.) The source is written in the spirit of Chedit on the Terak 8510a, for those of you into random historia, and, in keeping with its history, is written with a fairly odd style and almost no documentation. Despite all this, it is a useful tool for modifying fonts. If you don't have Degas, or want a tool that is designed for working on fonts, this will do the trick for you. I've released it into the public domain, so you may do with it as you will. __ .david parsons \/ table !"#$%&'()*+,-./0123456789:;<=>? @ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_ begin 644 ched_src.lzh M'CXM;&@Q+5X9 #24@ 8;-<%2 "$-(141)5"Y#"&W=[;,Y;68F#[_I\?A]z M0"YN;O/ZGM_UK@7-]:4]'H=7P?NIN*;S]?_^3J\V]I]P+3X;?OV4.Y,JI$W\y M;IY&^"'>NYM [5Q:U^Z"7;NOW5#1K'S[+P-Q%@U'E2(B/,/R<+AV]B :O*S%x MP\+7U$YD8!D&AR&K8M N6+Y5I"9;9FF+? G\C5"260)N@[>-^90>",&LCZ$&w MYQ--#!B]P50(Q_11&LPB+C1H\6'@>L V5ZMG.E^]WH.A4+#;QE#P@.$-?_?Ev MCD8APG914R2(O1/8ZZ#UZ(N*0$]^5N.]_4 $L/[?J+;SJ,7//9WI254LG; Vu MG#K6D#@G2]M)4[E4"P%&!S#Q&X&.>6*R=Q_D] ;R=V@_(T >ESFD2Z1X3+O[t MUU<4/1I(7_X^MT[T_BP]-]VQ,U%T*@\Q5S=%1%D>9=$2 )VF?>?\W25G7CX]94;XYHW@#@.+#O=^L3CQ&%=S.)H=$*9$Q4[:$\SYF@+IUZS(6,IPL52+JBFPKn M;0G1 Q8/ORP?DX*'XRPVI&'$42!,5I"S#5+*CDZ6K#UJ[ZL(YUZ$58E%\)22m MAU5@65'D6 5KV=X+MO%W]8JN6FTMTA592K^E!]B!&%@A!H6#C+^k MJ)_N>F*D/##W+L? BP/7:_V$QEP Wi M;I(CNX3=XF^W3HU (:&S_F M[^/! X?K/JLL%/6/.?0^XV!66[M-3-;12N5Bh M<^Y,K]!;NR9$P/22!G]/S492-]D5]^X^W!E-Y.'VR]F55\]2NP<[<6GGV"W'g M0*\)-VMUOO\!8/4_#)'W)ST;'(C0+D=;C]HK["/.<0;I?OS?2NA.#[53?\C'f MB!XM@4 _19:+-CLS<(XPWN#^'M Q+;OZS;77#6P?USXP$CL-/AHVFBDEA[A+e M>=Y@YSWHY)8#**P>GMZ^$DND6<[66%^4UK>^GT!6"5(8 [?V-[%0DG*A1d MEWCOT,+U3M$I?NKVW7H5YM(COXZL "Jc M3X+1Y<$@*Z/I% >7>I$?Y.O*@@4TTY!"N[ @C;WYJ_2K#^#-DPWX/*2\..Q0b M3P#'(%X'[;=!1S"H4EC::V.%]!G=:$&_]MX+P^LJ=G1VR2O.WR$1O-L/=%.\a M,GQR9F^[N-4IX-(K]%R;[51=Y.O1?,?6#V.R/>)"WIJ^1"CTDZ8$-\C\QJ9Iz MM\8!3+GEFQ>5TM@E,Q[<%(]6%N086\V&UPKE/V0[59S%<].:AY;-!;#Q^8BTy MV7(F!*^_&YF2\3"JG!;AC0-T')[8@N8V=H/-G=S;1MP:+-F.+1@O@++Z)IKNx MYY3[C+TGDNF,?N@&5!]2,774"JB&)L*9JLZZOR0?\'XCVJA!Q#O?33TQ*.7#w MIBLEI8;,2<'7\FJG!OLX&H]7 JJY:S$U7!\B31$G5?C FOLK3\?+K(U45'Q;v M2H:[O)@1Y%)7^#3GEQ;L577=<_ :TQK4_D-?"XF5:J*@_>C6Bu M4,:[C5"K#UA5J#C6/1PMUE;=5'[7*(Lt MG" L99=OL635$66^6"R6.&-C"\QE-F%P:R/$DU:83S4N]*4')09(1XCIRP1_s M)(CH\X(\T@(_HN*O72".>]A'&@EZ)*DB)'[J" CY:N(WRHC2]W%OHDBJ%2B/r M@7\+7+%67KGQ?R 0?[?LS+.=.(0NEZ(N010N;W](68/XK\1D5M\$L3!J ^?"!\N@YA#^7L/S\;>3SN'W@>S_3>J p MN5:;&<^.-GE"^WIK-_9M^QA)@QO)8?"]T,D8:6@7O<_DI P'R,'AYD]K7Y?Go MX(??F0'Q_A;F[;3S/EN114;M\OZK9-5LV&UZ+%M-/KZ,.OUS?E7\31-_T=&,n M>2]3\C7ZOPSS CO3V +:V#[_IFH0WYM)%%C]:U35AA^:Pl ML&.(1QJ_T+XDM>^UF6S2:,>>-MUF^=;10M-D(RT:7--?D _@*T)U^DK/A=U%k M7CC"?]JJ5U5\QCQ8Q*LZ^=_(GI 0HL_FMQR1)V78H(X)<-^@E!HIU]O0./V!j MT1^@?Q(7^_XH,9#!M1<\2&QV71>B=.(57,+/LPR"O,)H(>9!3]"\2[.REi MW'6*I/&U;A0[_MG&1-;VBUL+'_(9QC=EMIWQ^1O6I ^;-KV0[@X49M$ZB^VCG&[ 31/7T1XQO;G*;7KWUV2KO^4MO4HP4S2;($^??("77V8T?e M@>'\Y'N@/I_?[WO_D+ Y[J=IQ)L O#$$^/!&NH%[,W1L%@8:S7?T &='UJ62MX$I.?/(I?E66? ]#L8=J7^9PBYF&C[XKW0 =P0+$Da MFM=<[[].RYSVWD9GZJ* _^6]2?),Z _:?'.@/87\),FCLF@9S<:>!AU^,\\=z MZ/2Z]MX2PL\L8+?'^;BJZ+0#&647X(([LT':K=5JWXCF5==A(-[WX7OLM&++y MB&!V,W>06P6"V^66;J9S5G@=3GVS4C/]9K!9?\9TV6K16U. J"W=:E;,"E\^39YHNGS%A3FA<6*3>77JWPFM30+DT8w M().?E_SC].4; .&O0=L#LE+UWN9FN D8BQ/Z"X,9"C(L "7O0M5A*MOZIQ?1B(]]"R=^JCB]"J@/M@][]8UO-D@03+/XTs MQ1_(<&S/; [M#2W2]?\([/$"T645H'(9/]R;7q M4]??.RI)6%HQ>;C1O2L@[%4-]LU^X&4!JSS+-=-4NK^Q\-B'QWY/HX*FX3;Zp M$Y;6$15T,"Z;(NQ:\F?"TO)V,F^=3R*[-Q/LQE*'84'X-8:%@$8&MFQG=EYPo MQJ_,\Y7TW\n MP4K[GH4C&Q[V1>;*LSVQF+WH:JMU\*L]%23G%(6;LO>EW?[I^(R_(GPS<,?]m M5%BL*.(9@MC?YAG9A[OW;7Tk M+LDUFE)^[%N?UWH% V';+-/5W^6PQQ#:"2/ZLDG>,=[#]T!>LP]"C>C_<-1;j MV+97'=:NYY\0M@#!P,HUSJM,S1%/6+0<^!3WL_OS[?-3UQ6O*&M%]#;,h MNNRSK+7:9]RD]Q096>ZK3P/H/3V@ZY1*H\W.8!H#1WEBJ+ROA7^"(6 =K9P7g MZ&]F79[)6RA/ %__%C=#YO _PR.E>JFLSMC6^[2MC@48EIP/D3]K_&Re M,?'@\8%[>*K>!K$I5: O-,CB:P_G"(O;2PRF A&'-#[[;=YU+4 7>^\:Y2DJd MW*9DV>?OC%+CFKB3OU#R(/_R_Z*4L0^APT1PG:4?[V$E*4;2=TAOUWU&RXHVc M*<$[:A]/":+$2XDHE5QP*VQ7E/:(R6(E^+7XBZAQ$OQ%E$KL9/,-CWYB>Y_Lb M%@[U1YN\RHMQ,0.Y4^JZC.4(K:SD5KDMKENF\B%G7 IT>5+L"TP(A9(TG!D3a MQJP6LP.2TE1\1)$O2&*6*6PA=:&JYz M;J_U?:>>=13,VL/M>55[]RY_#HQD]!CO[:-I#[TK\2?WN=I1?GNB;LH]"5^=y M36NY#(%%+KM&3&7YND>(_DEZC^ZRK=-#DO+ .A!HA(:/VU)8FE]<7*C_ J-Vx MEK=4_A-_"-J5+XW>_/3RMANAK>RR[JH"-I^,X*62;E\NAF)&,/6T$-]*;#84w MS2@HTB^7-[V*^3;:!+YP85^Y]W!)6@3>$* 7W/VL[[-\!/\+\I^"@Y"]42"_%O5N,A=U-t MA?M%]JER%V1"%ZGMQ.3/N1M)$ 7Z\P1RT^ B<+_\3D?8'X$7A?S+->M/P(Y"s M_F6=OR4E_\J*++_)^X,T.CWI B2A]9?9^GQV]*<:RQVH77:3+?WZ2@_M O!Yr M]_@!?J(-XL'A+; @3C\3^&H,Y?D9_--",04_\V?^D-WE-(^?Y_RNPN)_[U%Gq MWW#NE/8A*4]]@0_;8COVTU[R K/GR2;AS)A!CA)5[]8/P:&ZK08/+8;V80?Cp M&@+P%%/9;[J(9-F.O5*O2o MS]<2S#7X0GZY\#;QP^'R8,>PO$(Y(?^QL>Y>6?'M*ZK[K7_,Z__.C!M=G!MIZh MMN9N^28.;CC=',\I))"]VA-%!O=[W,Q)R$:/.E7U'=#QL!_?]RS/CQ,+\X4(g M%_QS&XH.\L7Z#$I8W'K'[X/>,;RF5/X.6C=!>T]TYG$(@F+&A*AJH.,ZWQG=f M-R+I3R:V8]->CC<>/;-&$1W@R"V:M'^:&O0G#[PU'MU1"7?F6*T.N<5I\FQ8e M=D-ZRBQZTJ=M*B\_&DNP B)S+*X]K/H(\36$PI[B"R#:(HN$Q]=:B,;__?=%d MR_22I$\OA>CWPS=-#X_,56GW7+*LQBRL)4L@(CRR4B_#Q:?2M(LD23;^ [7Sc M.,:EL]G%L9ETI3LI2*]_3=?&21!=S1>#P)B=.W6F/6JN3^X2ZD").703@#9-b MV2>OA.5UIDY-&"S>EF-4,>7=9JIETDLV]TQD+6I9[/LBH*HE3ZU?ZE"-5WE_a MJ@[,$T@R)-,&,FJ U6\OY13C_]-=Y>C"6NB9H#^(N6;(UZ)#=%;5\R9N98PIz M*IU.H4 V%?09P:N+;K&?[@,#W=Dy M_]1Z[@I^)%*;']]]L2'GIX,=<-CM+7_L1=5E(9A=QNENIQV$6RF^^TRP(BLNx M[1_8$X?I0.U;&D;(OZF"@!9NR'HR']89JM$TR[\3^">T:3X$X]A9;=@%$w M=X&&!0M[O9;;<% I+X;%G&%"(YZF5@;^'6Z?K>KKCA@:B #"O-RH:52H&PT_v MQIA[B*>I%,**,D]%?Q!&>E!QG@4X;1N\^/PM'Q-F:HYMU_"D;TE'R\^6/6VBu M,E4S?AH#Q5'BQC. F!HF1//\'FZA1$ASZXW-W(U,6SF,#SUY1XU-.W]BB$+Et M+-M)4F.V^I9IO_4JSK+ES4 K, %< KB.I[;/G/IL=K[O%2)H8%E@^CIJ XNCs M^(CR&CU:.@4?F@T)#X:$_S$"Z//GFH=(VQ81NE"-Y^!;20*/B)4"_(U)'\\Kr M"EWY/^IELL;^2A*&K#=?*$XV8<+P@ML,'./D"UEJ4$<8;4U-9D^!2OPo M+M:!46IB1%\QU;.;!ZX%'"H#?JBYA/G$C%T2?V8DY;_A \ BG:69NJ0759VBn M5 .0=5?:( T#N8G53SE*W^NMQO#;?^FA/_/"C./E)'^?\Q_.^O_S?OO^9 6_m M_:6X48[^O\SHNIGF"&P>@I.F#IE@_5Q1G%@_8S1X35#'$Dk MC5J)LXXFS\=&IEQA9, 3;+;_7*>I%E)3D7*=#V->WI3$R:8U-M<_S+CP\Q[3j M#J_F7V<4-2#"90K@6/C\#:D[5QV_CC^7A\N.EG'_64N'"RU<[*V>T>OHKBY)EEY[[FH/=@;_CMHT="75%e M;WY%NLVF^+S*L)@EERR#DAS G]LYWM7D"T.E/%9:G3X<@Z-#.;?.U7Q)WTG]d M&#&&"OCHT.DX+T[?9P6^IM^7M=\C%(#0Q.UU5M*P?X_BX?7/ _HD/DA_BX']c M'8@^UY/T_,;['82NW7B,)&EKUGY949)J1);S*-P_*:I#]Q]1_*:J#]%0#\DUb M,H?K$GR35TW^^,SN;D_JJ/:#D+[8=\>8N.Q\_O2?[)'N*4EQ QEN3),(DO/Qa M@B1RXK_Y>866)4VCOP=*.'^;0%/@49MV"[^&[SDN@H;&N3?.Z]Y1_%XZ^'S=z MYS;L_?I-YCA3G2))94#+\@OZ0/M\%F8PG+CW&+>SK)T!WI"%/C)UGC4]VCU;y M$H5AG@P6,)(IU-PIBLEHOD4?/R0H:)EK,5PA6NAQMAR C"\!$SX@GP=1V-E;x MD6<8Y98X)PMM,68NQWE1SP@/".3G;/(;4'VY+$2ZI"P@\/QT]>_9)_LT387%w M/*\[9(3311&G%3N/,WUW7TZL36?4^P"1:K;O+"'[(7+.7:N^*?U*I.]=U2=Bv M]\-2I49>3Z]*.<)8AZJ=8_=K;JG=DC33:/$C'7.G\D;B<9XD:#1XR1u MW5E^_>^P'?8> WV8Y68579^C?A?V58U,;]JL-H%8?9-GW6%/16%/]WJ.,\^5t M[C&PN8;OWJJ" M\0%ZZ,,\]]!4T!&I?:7O56$!=1_OXU$?04K=>5UVN#P.0As MMWSHU5%MS\"K>]"P7XCV>,)"W1/FCFZ+->71+NB\GQAW11\A3F%C5I3=#*4.r M[H:\\4.;H2%$),0W0^@5=5!^>7QF$%%SGMH"'4,_[H1-!*3/1GX>3R2ZJ/6Rq M4=)_'8:8KRX8D'D%L)MA))'[>!,W[&HM RM2B5<9I21^W;^+AD7VV6]]P^BCp M_O(\!_E\-]%]A;I>=D1O(XG+L)Z C'58,O]()n M;N]S^$\X:8.FA#R3@PBWWP2C"&E^- ZX(AG7>\&DH6>^MRY4;-0)F7[IA9GPm M_I)DHOV'L3'XH\Z)(QH360T#O^%&G[LQH.FWI#3]'Y4[/YB"540AKFGY] Hl M#!XL+6QH,2UN P0 'BS7!4@ A-04M%1DE,1=G#U^9RV+K/S[?O\?E]k M?Q?85[^_]:]_TL?"\ (P+8F'S^EV.;T^_R;FY[CW2?U-3@,W5C _CSU8"$W1B,D[I][*VS:/8;1X2.UC;.,./,,)J.3CF!5i M!Y%VH\5?@T <=2UL:#$MW@$ ,X" #SJ6P6( &4D5!1$U%Q;#,Y;G_3X_#h MZ@&LO__>^W]7+=U[_]& [W?@%LP5\K'!!*P*IW+7"N[2A2OJL^:\EG31HN_=g M*>OK / E^=23N9M&PD2XN)^:"1 IQ6X\'+/Q*[>\)P02'&-TI75<8JHZ2 &Nf M[]VWP4QQQ19:JZU9M&VWF=EMRW 32O:LNI 8HC*$*S!/Z H_Q8.:SO^!_[2,e MBEZN+(E*1"I0J;11\=GLJc M;(#_&D%%G_XR^VH[38GXBOD&3'MG)?3:9_Z;D"X; "D1#^APB& @/ZH=T^6Tb M\XZIP/H#JE^K'&(7_,G6'VO]J?MIHQ\<[4YIQ7?6OWL6$X8X>EN">Q;Z:O'?a MB51V>_SSQ9SP%*UU CSYVIZM4Y3)!F%7)_4VW1::M0FJ)AL#.T(7JKDNOZ=0DO\D)@RK[)+0I