v06i067: VT100TOOL for Sun's (vt100tool), Part08/10
sources-request at mirror.UUCP
sources-request at mirror.UUCP
Mon Jul 21 23:54:54 AEST 1986
Submitted by: linus!ell (Ed Lafferty)
Mod.sources: Volume 6, Issue 67
Archive-name: vt100tool
[ I generally dislike posting anything other than source code. In this
case, however, I'm making an exception because (a) there's no other
way to do it; and (b) there is apparently a lot of demand for this
program. So, I took the object and data files in the fontdir and
libdir directories and uuencode'd them. The decode.sh script in the
toplevel directory will uudecode them and remove the uu.xxx files;
it lists the files by name, so you can check if you're missing
something. This comment will appear at the beginning of each of the
postings of this program. --r$ ]
#!/bin/sh
# This is a shell archive. Remove anything before this line,
# then unpack it by saving it in a file and typing "sh file".
# Wrapped by rs at mirror.UUCP on Thu Jul 17 00:21:23 EDT 1986
# Contents: libdir/uu.ttyvt100.o libdir/uu.vt100keys.o
# src/ttyvt100.h src/vt100fonts.c vconfig.h vt100tool.1
echo x - libdir/uu.ttyvt100.o
sed 's/^XX//' > "libdir/uu.ttyvt100.o" <<'@//E*O*F libdir/uu.ttyvt100.o//'
XXbegin 644 ttyvt100.o
XXM !!P (\@ )0 !M@ 5N !!.5O_\0KD (_D
XXM "12 D$B/Y D2@ )!9"KO_\("[__.6 ($#1_ !"D%*N__P,K@
XXM (3__&WB0J[__" N__SE@"! T?P <@$@@5"N__P,K@ (3__&W@<@$C
XXMP0 !R B/! $ZY $ZY $AX 5.N0 !83W !3EY.=4Y6
XXM ,K@ $ #&88(&X " P0 QF#BU\ DL (<@0M00 ,+RX #"\N @O
XXM.0 !A"$_O Q.7DYU3E;_M$C7(, J;@ ,3KD +"X $"!N A*J$ L
XXM9@ 0<DJ&;P 0;!X=(#D "0:#( *8@ 01M! ,#L !D[[ ( %@U0!1 at 0
XXM.A Z$#H%& 2L M #O T,0KD "0F0KD "0N0KD "0R0KD "0J0KD "0V
XXM0J[__%*N__P at +O_\Y8 @0-'\ $*0#*X )__QMXA '2(!(P R
XXM&V( 2+00# [ 9.^P "#]@!%@$6 18!%@ \ 18 1 !. &@ X #@ . R@#Z
XXM 0(!%@$6 18!%@$6 18!%@$6 18!%@$6 0I@ ^>80 4#F #Y9.N0 !@
XXM ^,+SD "06(#D "024X O &$ #Z!03V #W(@.0 )!)2@"U __P at +O_\
XXML+D "16;B;E@"! T?P 2I!G$B\Y D%B\N__QA ]F4$]@!E*N__Q@
XXMSB N__RPN0 )%9M \F+SD "06+SD "1680 //E!/8 /$$JY D7F<6
XXM+SD "060J=A \D4$]A !!T8 .\B\Y D%D*G80 /#E!/8 .X&$ &I!@
XXM [880 :;F #M!P 2/ D&F #L1P(+X ;0 .O" Y D$K"Y D5F\2
XXM(#D "1Z9P RG(!L(%G "B(_D "02 "/\ @>0 0
XXMAU*Y " Y D%N. ($#1_ 4 " (#D "06YX at B .N)T($&@
XXM @0" Y D$N. T< @.0 )!;C@") T_P ,!$"@ __\B.0 )$+A
XXM@="!,(!2N0 )!(@>0 !"$"\Y $AY $ZY %!/8 -_$*Y
XXM D$B\Y D%B\Y D$F$ #@Y03V$ #UY@ /]"$\< "2F+SD "162'D
XXM "2F3KD 4$\@.0 )!;GB"( ZXG0 at 0: "! (#D "16XX#1P" Y
XXM D%N. (D#3_ P$0* #__R(Y D0N&!T($P@& #7H0!TB 2, ,
XXM@ #!G "(#( Q9TP,@ #)G1 R 06<,#( !"9S1@ "P
XXM0KD #+D ! DGF80#+D " &9T< )@<@RY @ !G
XXM\&!B< $CP ,N0 $ "2>9A ,N0 ( 9D)P F! #+D "
XXM &?P8#!P B/ RY 0 ))YF$ RY @ !F$' "8 X,
XXMN0 ( 9_!P 2/ $JY DGF8,2'@ !4ZY %A/0KD "0:
XXM8 ,CA '2(!(P R ,&< (@,@ #%G3 R ,F=$#( !!9PP,
XXM@ $)G-& +1"N0 ,N0 $ "2>9A ,N0 ( 9G1P F!R
XXM#+D " &?P8&)P 2/ RY 0 ))YF$ RY @ !F
XXM0G "8$ ,N0 ( 9_!@,' "(\ #+D ! DGF80#+D "
XXM &80< )@#@RY @ !G\' !(\ #+D ! DGF8,2'@
XXM!4ZY %A/0KD "0:8 +GA '2(!(P 2 ,PR !6( $[00# [
XXM 9.^P " !( '@ J #8 0@ ,80 /+& P+SD "0680 3@& B+SD "0680 4
XXM@& 6+SD "0680 5@& *+SD "0680 5S%A/0KD "0:8 +,G PO@!M,' Y
XXMO@!N*A Y D*4B 2,#0@"( Y8G0 at 1('2(%(P="!!( P(\ "0F8 *
XXM_' [O@!F," Y D-N6 ($#1_ @N0 )"92N0 )#8C^0 )"8 "0J
XXM0KD "0F8 *QG _O@!G?"/Y D)@ )"XC^0 )"H "0R(#D "0VY8 @
XXM0-'\ ""Y D)E*Y D-DJY D*F8D2KD "0F9QP,N0 $ "0V
XXM9A C^0 )"8 "0J0KD "0F2KD "0J9 at AP 2/ D*DJY D)F8(< $C
XXMP )"8,N0 ( "0:9@ $A! '2(!(P R >&( !$9!^@0P<A&P&%3)
XXM__QF 0VTD$P.Q &3OL @(> "0 0@!@ 'X G "Z :H"I@"< L0#%@,P BH#
XXM2 0J \@#SB Y D%I"Y D*B\ +SD "0280 )^%!/8 #ZB Y D%M"Y
XXM D*B\ +SD "0280 )VE!/8 #S"\Y D%B Y D$M"Y D*B\ 80 )
XXMO%!/8 #KB\Y D%B Y D$I"Y D*B\ 80 )GE!/8 #D" Y D*E.
XXM+P @.0 )"93@"\ 80 05E!/8 #<B Y D+F<6#( !9U8,@ )G
XXM "D8 #5"\Y D%F$ #[983R\Y D3B Y D%E* +P!A X^4$\O.0
XXM)$X at .0 )!92@"\ 80 6JE!/2'@ !4ZY %A/8 ##"\Y D%B\Y D
XXM$B\Y D4F$ #N)/[P ,(#D "064X O "\Y D2F$ #>A03R Y D%E.
XXM+P O.0 )$IA !944$](> %3KD 6$]@ *V+SD "1.+SD "1*80 -
XXML%!/+SD "1.+SD "1*80 6(%!/2'@ !4ZY %A/8 "@B Y D+F<4
XXM#( !9QP,@ )G,F F8O.0 )!9A [(6$]@ )6+SD "06+SD
XXM "02+SD "1280 .+$_O Q@ (X+SD "06+SD "02+SD "1280 .#D_O
XXM PO.0 )!9A Z 6$]@ (.< 8CP )!I@ ("2KD "0V9A C^0 )"X
XXM 4KD "0V0J[__" N__RPN0 )#9L '8Y8 @0-'\ " 0#( '
XXM8@ .-! ,#L !D[[ ( $ 6 "P + < "( + H80 5IF 680 5QF 080 6
XXM F *80 5[& $80 5T%*N__Q at H$AX =(>0 )+4O.0 !.N0 !/[P ,
XXM8 !:$JY D+F86(#D "02Y8 @0-'\ $*08 !2 at RY P )"YF
XXM $\0J[__" N__SE@"! T?P 0I!2KO_\#*X "#__QN $88-X,N0
XXM !0 "0N9@ !"' !(\ "1>8 _ RY % )"YF #N0KD "1>8
XXMY RY !0 )"YF&DAX 1(>0 )+TO.0 !.N0 !/[P ,#+D &
XXM D+F8 + @.0 )!)2@"\ (#D "064H O $AY DPDAN_\!.N0 !/
XXM[P 02&[_P$ZY %A/+P!(;O_ +SD 3KD 3^\ #&!B80 ''F!<
XXM2KD "0N9AI(> 42'D "3++SD 3KD 3^\ # RY 0 )"YF
XXM+DAX !1(>0 ). O.0 !.N0 !/[P ,8!)X<G%N;6QH9V9C2TI(1$-"
XXM03\,N0 ( "0:9 at 9"N0 )!I"N0 )"9"N0 )"I"N0 )"Y"N0 )#)@
XXM 6T#+D & D&F8 D at 0!TB 2, ,@ &AG#@R ;&< 1)@ (@
XXM(#D "0N4X ,@ AB (.T$ P.P &3OL @ 2 @( '@"( )0 K@#, -@
XXMY' !(\ "1F8 !YG(!(\$ "1^(_P "# D5B\Y D3B\Y D2F$
XXM"EA03R\Y D3B\Y D2F$ $LA03T*Y D-B/Y D2@ )#HC^0 )$X
XXM "0^0J="IV$ !2!03TAX 5.N0 !83V 7QP 2/ D at F 7!*N0
XXM)(9F %F<@$CP0 )(9A R.8 !5G(!(\$ "1:+SD "0Z+SD "1280 $
XXMT%!/8 !.' !(\ "1Z8 !+' !(\ "1J8 !(' !(\ "1N8 !%" Y
XXM D+E. #( (8@ ! M! ,#L !D[[ ( $@ < $( I@"N ,8 X #H /!"
XXMN0 )&9@ #<< $CP )'(CP )'HC^0 )$H "0Z(_D "1. D/F
XXM +9"N0 )'YR3R/! D5B\Y D3B\Y D2F$ $:Y03R\Y D3B\Y D
XXM2F$ "1I03T*Y D-B/Y D2@ )#HC^0 )$X "0^0J="IV$ _103TAX
XXM 5.N0 !83V!00KD "2"8$@,N0 $ "2&9CQ"N0 )(9A L48#!"
XXMN0 )%HO.0 )$HO.0 )%)A .N4$]@%D*Y D>F .0KD "1J8 9"N0
XXM)&Y"N0 )!I"N0 )!I"N0 )"9"N0 )"I"N0 )"Y"N0 )#)"N0 )!I@
XXM ,^2KD "0B9RP at .0 )")R()"!+P 0!TB 2,"0 at 2\ 80 #1%!/0KD "0B
XXM0KD "0:8 #"A '2(!(P"/ D(F OI*N0 )')G &P(_D "1* D
XXM.B/Y D3@ )#X0!TB 2, $@ #$,@ "EB %NT$ P.P &3OL @%2
XXM 5P!8@%B 6(!8@%B 6(!8@%B 6(!. %( 4 !8@%B %0 < ", *@!8@%2 5P
XXMQ #2 -H _@%B 6(!8@%B 6(!8@%B 6(!8@%B 6(!8@%B 0P!'%.Y D%B\Y
XXM D%B\Y D$F$ GI03V /12N0 )!8O.0 )!8O.0 )!)A )>4$]@
XXM #8+SD "064KD "02+SD "0280 "0E!/8 O"\Y D%E.Y D$B\Y
XXM D$F$ B903V *!"IT*G80 "&%!/8 DF$ [Q@ "*+SD "0680 (
XXM9%A/+SD "1.(#D "064H O &$ !NQ03V!D+SD "0680 (0%A/8%9P"B/
XXM D&D*Y D(F!&2'@ TAY D]2\Y $ZY $_O Q@*D*Y D
XXM<F B0KD "2*8!IP 2/ DBF 0< $CP )*)@!D*Y DH at RY 0
XXM)!IF %,0KD "0:8 !0A '2(!(P R 8V( .!!^@#D<@^P&%3)__QF
XXM #0TD$P.Q &3OL @"B (X F #< -P @@"( *P M@ L #0 2@!@ &8 ( "^
XXM< (CP )!I@ "R80 "9F *HO.0 )!9"IV$ 0!03V$ E!@ "4(#D
XXM "02Y8 @0-'\ ' !((!@?&$ HI@=DAX =(>0 )/DO.0 !.N0
XXM !/[P ,8%IA -<8%1A .:8$YP""/ D&F!$< DCP )!I at .G '(\
XXM "0:8#!P 2/ D=F F0KD "1V8!YA 3X8!A"N0 )!I@$&-;6DU(140^
XXM/3 at W,C$I*"-"N0 )"9"N0 )"I"N0 )"Y"N0 )#(,N0 $ "0:9A9"
XXMN0 )!I@#D*Y D&G "(\ 4X9@ .^&+SD "02+SD "063KD
XXM4$\@+@ 03.X at P/^T3EY.=4Y6__P at +@ (L+D "12;@@M>0 )%( "" N BP
XXMN0 )%9M""UY D5@ (("X #+"Y D.FX6(#D "06L+D "0Z;0 at M>0
XXM)#H #" N RPN0 )#YM%B Y D%K"Y D/FX(+7D "0^ PM>0 )!;_
XXM_$JN QL!$*N PC[@ , D%B/N @ "02+RX ""\N Q.N0 !03R\N
XXM__PO+@ ,3KD 4$].7DYU3E8 $JY D-F<R#+D ! D-F<F#+D
XXM " D-F8R(#D "0FL+D "0J9B0,N0 $ "0F9A at C^0 )$H "0Z
XXM(_D "1. D/D*G8#X at .0 )":PN0 )"IO." Y D*E. (\ "0Z(#D
XXM "0F4X CP )#Y*N0 )%IG"" Y D.F "< O $*G80#^LE!/3EY.=4Y6
XXM @.0 )!:PN0 )#YG%B Y D%E* +P O.0 )!)A /Z&8"H at .0 )!:P
XXMN0 )#YF'F%X80 *&" Y D%E. +P O.0 )!9.N0 !03TY>3G5.5@
XXM(#D "06L+D "0Z9Q8 at .0 )!93@"\ +SD "0280#^+F J(#D "06L+D
XXM "0Z9AYA;F$ "JX at .0 )!92@"\ +SD "063KD 4$].7DYU3E;_^"UY
XXM /_\+7D __ at C^0 )#H (_D "0^ "\Y "\Y
XXM &$ ##Y03R/N__P (^[_^ !.7DYU3E;_^"UY /_\+7D
XXM__ at C^0 )#H (_D "0^ "\Y "\Y &$ #6103R/N__P
XXM (^[_^ !.7DYU3E8 "/Y D%@ C^0 )!( (_D "1"
XXM "/Y DG@ C^0 (_D $Y>3G5.5@ (_D
XXM D%B/Y )!(C^0 "1"(#D "1"" &<$80 +"B Y
XXM D0@@ %G!&$ "SP at .0 )$(( "9P1A L&(_D DG at RY
XXM 0 ))YF$ RY @ !F$' "8 X,N0 ( 9_!P 2/ "/Y
XXM C^0 2'@ !4ZY %A/3EY.=4Y6__Q"KO_\0KD
XXM "1>0KD "1:<@$CP0 )'I"N0 )!)"N0 )!9"N0 )#IR%R/! D/B\Y
XXM D3B\Y D2F$ 2A03R\Y D3B\Y D2F$ "9A03R!Y DJ-'Y D
XXM5D(H $@+O_\L+D "1.;B O $*G80#[[E!/0J<O.0 )*A.N0 !03U*N
XXM__Q at U"!Y DJ-'Y D5G)%$4$ 4*G0J=A /N\4$].7DYU3E8 $AY
XXM $ZY %A/+P!(>0 O.0 !.N0 !/[P ,3EY.=4Y6 !"N0
XXM)%YR 2/! D>D*Y D6D*Y D?D*Y D$D*Y D%D*Y D0D*Y D
XXM.G(7(\$ "0^+SD "1.+SD "1*83Q03R\Y D3B\Y D2F$ "*Y03T*Y
XXM D<DAX 5.N0 !83R\Y D%B\Y D$F$ ^P903TY>3G5.5O_L+7D
XXM "02__0M>0 )!;_\" Y D0G($P($M0/_X3KD ('D "2LT?D "16
XXM0B@ 2UN C__" N__RPK@ ,;E8O $*G80#ZL%!/(#D "164H!L"B Y D
XXM5E* 8 )P "U _^P at +O_\Y8 @0-'Y "!0T>[_[$(0("[__.6 ($#1^0
XXM @4!%N_^___U*N__Q at H" N Q2@"\ +RX "$ZY %!/('D "2LT?D
XXM "16<B 100 !2J[_^&<&3KD +R[_\"\N__1A /HD4$].7DYU3E;_\"Z'
XXM("X #)"N A2@"X +7D "02__PM>0 )!;_^$ZY "/N ! "06('D
XXM "2L0C!X "\N @O.0 )*Q.N0 !03R!Y DK'(@$8%X " Y D0@@
XXM )G!DZY "\N__ at O+O_\80#YJ%!/+B[_\$Y>3G5.5O_X+RX ""\Y D
XXM5B\Y D$F$ _VI/[P ,(#D "164H B.0 )!*R@&\*(#D "164H!@!B Y
XXM D$BU __@@+@ (Y8 @0-'Y "!0T>[_^$(0("X ".6 ($#1^0 @
XXM4!%N__O__TY>3G5.5O_X+7D "06__A*N0 )%IG(" N S0N0 )#HM0/_\
XXML+D "0^;Q M>0 )#[__& &+6X #/_\(^X " )!(C[O_\ D%B\N @O
XXM+O_\3KD 4$\O+O_X+SD "063KD 4$].7DYU3E8 $Y>3G5.5@
XXM0J="IT*G2'@ "B\Y "\Y "!Y ' D*@ #"\ ('D < "0
XXMJ (+P @>0 O* $('D (% @4$Z03^\ )$Y>3G5.5@ 0J="IT*G
XXM2'@ "B\Y "\Y "!Y ' D*@ #"\ ('D < "0J (+P @
XXM>0 O* $('D (% @4$Z03^\ )$Y>3G5.5O_X("X ".. ($#1_
XXM "4/_]("X ".. ($#1_ !R08-00J[__" N CGB"( ZXG0 at 0:
XXM "! ("[__.. T< "4/_]("X ".>((@#KB="!!H ($ @+O_\XX#1P')!
XXM at U!2KO_\#*X "#__QOLB N CE@"! T?D (% 0*/__ H #_L+D
XXM "1^2KD "1^9P1P0F "<"@B.0 )%92@;"!;PH at .0 )%92@& .2KD "1^
XXM9P1P0F "<"@M0/_X("X ".6 ($#1^0 @4-'N__A"$" N CE@"! T?D
XXM (% 1;O_[__\O+@ (3KD 6$].7DYU3E;_^" N CC@"! T?P
XXM E#__B N CC@"! T?P <D*#4$*N__P at +@ (YX at B .N)T($&@ @
XXM0" N__SC at -' E#__B N CGB"( ZXG0 at 0: "! ("[__.. T<!R0H-0
XXM4J[__ RN @__\;[(@+@ (Y8 @0-'Y "!0$"C__P* _["Y D
XXM?DJY D?F<$<$)@ G H(CD "164H&P at 6\*(#D "164H!@#DJY D?F<$
XXM<$)@ G H+4#_^" N CE@"! T?D (%#1[O_X0A @+@ (Y8 @0-'Y
XXM "!0$6[_^___+RX "$ZY %A/3EY.=4Y6__P at +@ (XX @0-'\ )0
XXM_[Q"KO_\("X ".>((@#KB="!!H ($ @+O_\XX#1P )0_[Q2KO_\#*X
XXM "#__QOTB\N A.N0 !83TY>3G5.5O_X("X ".. ($#1_ "4/_\
XXM("X ".. ($#1_ !R0(-00J[__" N CGB"( ZXG0 at 0: "! ("[_
XXM_.. T< "4/_\("X ".>((@#KB="!!H ($ @+O_\XX#1P') @U!2KO_\
XXM#*X "#__QOLB N CE@"! T?D (% 0*/__ H #_L+D "1^2KD
XXM "1^9P1P0F "<"@B.0 )%92@;"!;PH at .0 )%92@& .2KD "1^9P1P0F "
XXM<"@M0/_X("X ".6 ($#1^0 @4-'N__A"$" N CE@"! T?D (% 1
XXM;O_[__\O+@ (3KD 6$].7DYU3E8 $*Y DGDAX 5.N0 !83TY>
XXM3G5.5@ <@$CP0 ))Y(> %3KD 6$].7DYU3E;_^"UY D.O_\("[_
XXM_+"Y D/FQPXX @0-'\ " N__Q2 at .. (D#3_ PD4*N__@@+O_\
XXMYX at B .N)T($&@ @0" N__CC at -' ("[__%* YX at B .N)T($&@ B
XXM0" N__CC at -/ ,)%2KO_X#*X "$__AMME*N__Q at A" Y D/N. ($#1_
XXM !*N0 )'YG!' @8 )P #" 0J[_^" Y D/N>((@#KB="!!H ($ @
XXM+O_XXX#1P" Y D/N. (D#3_ PD5*N__@,K@ (3_^&W"3EY.=4Y6
XXM__ at M>0 )#[__" N__RPN0 )#IO<.. ($#1_ @+O_\4X#C@") T_P
XXM ,)%"KO_X("[__.>((@#KB="!!H ($ @+O_XXX#1P" N__Q3 at .>(
XXM(@#KB="!!H (D @+O_XXX#3P#"14J[_^ RN A/_X;;93KO_\8(0@
XXM.0 )#KC@"! T?P 2KD "1^9P1P(& "< P@$*N__@@.0 )#KGB"(
XXMZXG0 at 0: "! ("[_^.. T< @.0 )#KC@") T_P ,)%2KO_X#*X
XXM "$__AMPDY>3G5.5O_X+6X "/_\("[__+"N QN7N. ($#1_ !*N0
XXM)'YG!' @8 )P #" 0J[_^" N__SGB"( ZXG0 at 0: "! ("[_^.. T< @
XXM+O_\XX B0-/\ #"14J[_^ RN A/_X;<92KO_\8)A.7DYU3E8 $*Y
XXM D0D*Y $ZY $AX 5.N0 !83TY>3G5.5@ <@&#N0 )$)(
XXM> %3KD 6$].7DYU3E8 '($@[D "1"3KD 3EY.=4Y6 !R"(.Y
XXM D0DY>3G5.5@ <@$CP0 !R H.Y D0DY>3G5.5O_T("X #)"N @O
XXM " N A2@"\ +RX "$ZY $_O P at +@ ,Y8 @0-'Y "U0__A"KO_\
XXM("[__+"Y &X0(&[_^-' <B 0 at 5*N__Q at Y" Y D5E* ; H at .0 )%92
XXM@& "< M0/_T("X #.6 ($#1^0 @4-'N__1"$" N SE@"! T?D
XXM(% 1;O_W__\@+@ (4H B.0 !.N0 @>0 "0J ,+P @.0 )%(B
XXM.0 !.N0 @>0 "0J (+P @>0 O* $2'@ &" N R0K@ (
XXM(CD 3KD +P O.0 @+@ ((CD 3KD ('D D*@
XXM#"\ (#D "12(CD 3KD ('D D*@ ""\ ('D +R@ !"!Y
XXM "!0(%!.D$_O "0O+@ ,+SD +SD 3KD 3^\ #$Y>3G5.
XXM5O_P("X #)"N @O " N Q3@"\ +RX #&$ 59/[P ,("X ".6 ($#1^0
XXM M4/_T0J[__" N__RPN0 !N$"!N__31P'(@$(%2KO_\8.0 at .0 )%92
XXM@&P*(#D "164H!@ G +4#_\" N CE@"! T?D (%#1[O_P0A @+@ (
XXMY8 @0-'Y "!0$6[_\___("X ""(Y $ZY "!Y )"H PO
XXM " Y D4B(Y $ZY "!Y )"H @O "!Y "\H 1(> 8
XXM("X #)"N @B.0 !.N0 O "\Y " N A2@"(Y $ZY
XXM "!Y )"H PO " Y D4B(Y $ZY "!Y )"H @O "!Y
XXM "\H 0@>0 @4"!03I!/[P D+RX ""\Y "\Y $ZY
XXM $_O Q.7DYU3E8 " N !!3K@ 02H!G'B N Q3K@ ,+P @+@ (4ZX ""\
XXM3KD 4$]@UDY>3G5.5O_80B[_YW(D'4'_XW(&+4'_WDJN_]YO1! N_^/1
XXM+O_G("[_WN6((@#EB="!Y8G0 at 7)D3KD +4#_VAVN_^<(^" N_]H=KO_G
XXM"/ @+O_:':[_YPCH4Z[_WF"V'7P ___X'7P ___P'7P ___H0B[__T(N__="
XXM+O_O2&[_Z$AN__!(;O_X2'@ "$*G('D +R@ !"!Y "!0(&@ )$Z0
XXM3^\ &' (3EY.=0 )5HE)4TE("5))2 E124 at 0V]P>7(@,3DX-2!-251212!#
XXM;W)P+@
XXM !<
XXM 7 $\
XXM !0 @ 0
XXM"@ 8P "4$ ECAM;,DH &UL_,3LP8P ;6S!N !M;)74[)752
XXM !M;,CLQ.S$[,3$R.S$Q,CLQ.S!X !M;,SLQ.S$[,3$R.S$Q,CLQ.S!X !LO
XXM6@ ;6S\Q.S!C $5%145%145%145%145%145%145%145%145%145%145%
XXM145%145%145%145%145%145%145%145%145%145%145%145%145%145%145%
XXM145%145%145%145%145%145%145%145%145%145%145%145%145%145%145%
XXM145%145%145%145%145% " @(" @(" @(" @(" @(" @(" @(" @(" @(" @
XXM(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @
XXM(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @
XXM(" @(" @(" @(" @(" @( 8 &]0 # !D 0 &0
XXM !8 9 &@ !D L ![4 $X 'M0 : 0E !P !&
XXM4 '8 !Y0 ? #E "& "$4 *P 9 P@ @% #>
XXM !=4 /P 9 !+ !D $R &0 3@ 9 !/@ !D
XXM %$ &0 5H #E0 !R@ "% '4 &0 =H 9 ![@
XXM!D '^ &0 @H 'M0 "% !D (P &0 CH 9 "
XXM0 !D )0 &0 E@ 9 ";@ !D *2 &0 J0 9
XXM "J@ !D *R &0 L0 9 "R C5 +. !14 M(
XXM &90 "V 9E +@ !F4 N8 9 "\ -E +Z &0
XXM P@ '50 #$ !D ,: &0 R0 #90 #,@ !D ,^ &
XXM0 T0 &90 #3 C5 -2 !14 U@ #!0 #9 !D -J
XXM &0 W 9 #A !D .* &0 Y 9 #E@ ,%
XXM .> &0 ZP '50 #M !D .^ &0 \@ #90 #U@
XXM!D 0: !"4 !"0 9 $, 1E 1 !"4 !$P $)0 $
XXM5@ !D 1B !&4 !'( $)0 $?@ 0E 2( &0 !)0 $90
XXM $I 0E 2N "/4 !+0 9 $P A% 3( &0 !08
XXM $90 %$ !D 4< !&4 !2P $)0 %. 1E 5" &0
XXM!4X $90 %7@ 0E 5J !&4 !70 9 %@ 1E 60 !"
XXM4 !9H (]0 %I !D 6P "$4 !;@ 9 %] !D 8
XXM &0 !@P 9 && !D 8D &0 !CH 9 &6@ !D
XXM 9J &0 !G0 #E0 &>@ !D : &0 !H8 9 &B@
XXM!D :0 &0 !J 9 &I !D :J &0 !JX 9 &
XXMM !D :^ Y4 !L0 9 &R@ !D ;0 &0 !M@ 9
XXM &Y !D ;L &0 !O 9 &]@ !D ;\ &0 !P8
XXM 9 '# !D <6 &0 !R 9 '> !D =^ &0
XXM!X8 9 'E@ !D >< &0 !Z0 9 'M !D >Z &
XXM0 !\ 9 'T@ !D ?8 &0 !]X 9 '\ !D ?Z
XXM &0 " X 9 (+ !D @X &0 "#X 9 (3@ !D
XXM A4 &0 "&@ (10 (= !D AZ &0 "( 9 (C@
XXM!D B8 &0 "*0 9 (K@ !D B^ "$4 ",H 9 (
XXMT !D C< &0 ".( 9 (\@ A% C^ &0 "1H 9
XXM )*@ !D DP &0 "38 9 )2 !D E. &0 "50
XXM 9 )8@ !D ET &0 "7X 9 )A@ !D F* Y4
XXM"9 9 )G@ !D FL Y4 "?X 9 *! @% H* !W
XXM4 "A@ 9 *( !D HJ ![4 "CH 9 *4 >U IN
XXM &0 "GH 9 *B !D J2 &0 "J 9 *K !D
XXM JR " 4 "K@ '=0 *Q@ !D K0 &0 "MH 9 *Y
XXM!D KN !74 "OP (50 +"@ @% L0 !W4 "R( 9 +
XXM+@ !D LT " 4 "SH '=0 +2 !D M4 &0 "UH (!0
XXM +8 =U N" &0 "XH 9 +D !D N6 &0 "YP
XXM 9 +H@ !D NP &0 "]8 9 ,!@ !D P2 &0
XXM#!P 9 ,(@ !D PH &0 ##0 9 ,.@ !D Q& &
XXM0 #$P 9 ,4 !D Q6 &0 #%H 9 ,;@ A% Q\
XXM &0 #(8 9 ,D@ !D RB &0 #*@ 9 ,K@ !D
XXM S &0 #,P 9 ,V !D SB &0 #1 9 -'
XXM!D TB &0 #2@ 9 -+ !D TR &0 #38 9 -
XXM0 !D U( &0 #4X 9 -5 !D U@ &0 #68 9
XXM -<@ !D UX &0 #7P 9 -@@ !D V& &0 #9H
XXM (10 -I !D VP &0 #;@ 9 -Q !D W* &0
XXM#= 9 -W@ !D WF &0 #>X 9 -] !D WZ &
XXM0 #@ 9 .!@ !D X, &0 #A( 9 .& !D XB
XXM &0 #BH 9 .1@ !D Y, &0 #EP 9 .9@ !D
XXM YP &0 #G0 9 .>@ !D Y^ &0 #O@ 9 ._@
XXM!D \$ &0 #Q0 9 /&@ !D \@ &0 #S 9 /
XXM-@ !D \\ &0 #TP 9 /4@ !D ]8 &0 #WX 9
XXM /B@ !D ^0 &0 #Z( 9 /L@ !D ^X &0 #\0
XXM 9 /R@ @% _0 !W4 #]P 9 /Y !D _N &0
XXM#_@ 9 0 !D ! * &0 $!0 9 0:@ !D !!\ &
XXM0 $)( 9 0G >U !"R &0 $+@ (!0 0O@ =U !#8
XXM &0 $.( 9 0[ !D !#V &0 $/X 9 1# !D
XXM !$D &0 $2H 9 1, !D !$V &0 $4 9 12
XXM!D !%0 &0 $5@ I0 19 !D !%J &0 $7 %I0 1
XXMC@ !D !&6 &0 $:( 9 1J@ !D !&V &0 $;X 9
XXM 1Q !D !', &0 $=@ 9 1X !D !'F &0 $>X
XXM 9 1]@ !D !(* &0 $A( 9 2( 55 !(P !B4
XXM$D 9 23 !D !)8 &0 $F 9 29@ !D !)R &
XXM0 $GH 9 2?@ !D !*$ &0 $H@ 9 2D@ !D !*8
XXM &0 $J 9 2J !D !*N &0 $K8 9 2O !D
XXM !+$ &0 $N 9 2Y@ !D !+N &0 $O@ 9 3!
XXM!D !,* &0 $Q@ 9 3(@ !D !,H !B4 $S@ 9 3
XXM/@ !D !-& &0 $U 9 37 !D !-B &0 $W 9
XXM 3>@ !D !. !B4 $Y "Y0 3F (U !.@ &0 $Z0
XXM "Y0 3J@ !D !.N C4 $[0 "-0 3N@ +E !/( N4
XXM$] "-0 3W@ +E !/F C4 $^X 9 3\@ +E !/X &
XXM0 $_P "-0 4 @ (U !0( N4 %!8 "Y0 4'@ (U !0L
XXM &0 %# !10 4-@ !D !0Z G4 %$ 9 41 &E
XXM !1* &0 %$X 10 45 0E !18 !Y4 %%X $90 48@
XXM>E !1P 44 %'0 9 4>@ )U !1^ &0 %(0 !I0 4
XXMB !D !2. &0 %)X 9 4K@ !D !2^ $4 %,( 9
XXM 4S !D !38 !&4 %.@ $)0 4\@ CU !3X !Y4 %/P
XXM $)0 5 @ >E !4& !&4 %1 (10 5) !D !4J &0
XXM%3( 9 5. !D !4^ &0 %40 9 53 !D !52 &
XXM0 %5@ 9 59 !D !5J &0 %78 9 5? !D !6*
XXM &0 %9X 9 5I ,% !6R &0 %;@ 9 5U@ :U
XXM !7< "%4 %>8 &M0 5[ @% !7R !W4 %@0 9 6#
XXM!D !82 &0 %A@ 9 6'@ !D !8D &0 %BH 9 6
XXM, !D !8X &0 %CX 9 61 !D !9. &0 %E0 9
XXM 68 !D !9J "$4 %G( 9 6> !D !:, &0 %I0
XXM 9 6G !D !:J Q4 %K 9 6M@ !D !;: &0
XXM%N0 9 6_ $E !<2 24 %S( "]0 7.@ !D != &
XXM0 %U( 'Y0 7? !D !>$ &0 %XP #%0 7E !D !>:
XXM &0 %Z@ 9 7K@ ,% !>V &0 %\( 9 7S@ ?E
XXM !?R &0 %_@ 9 8!@ !D !@. &0 &!@ 9 8(@
XXM!D !@T 24 &$H !)0 88 !D !AH &0 &'0 9 8
XXM?@ !D !B& &0 &)@ 9 8H !D !BN !54 &+H 9
XXM 8P 8E !CB !R4 &.@ %)0 8[@ %E !C\ 64 &0H
XXM !90 9% %E !DV !R4 &3P %)0 90@ %E !E0 64
XXM&5X !90 9: %E !F( V4 &9H #90 9M =5 !G4 !U
XXM4 &?X !)0 :$ !D !H6 &0 &B0 9 :, !D !HZ
XXM &0 &E0 !)0 ::@ $E !I\ "(4 &I0 #90 :I@ -E
XXM !K !U4 &N '50 ;"@ $E !L< &0 &R( 9 ;,
XXM!D !L\ &0 &T8 9 ;8 $E !MV 24 &X@ (A0 ;
XXMH -E !NZ !U4 &^ (A0 ;^ -E !P* V4 '"0 '50
XXM <1 =5 !QN 24 '( 9 <A@ !D !R4 &0 '*
XXM 9 <J@ !D !S$ 24 '-H !)0 <[ B% !S\ &0
XXM'08 (10 =& !D !TB "$4 '3( 9 =/@ !D !U* V
XXM4 '5H #90 =<@ =5 !V0 !U4 ';8 9 =P -E !W&
XXM &0 '=H 9 =Z =5 !WX &0 '@( #90 >( !D
XXM !XL &0 'C@ #90 >2 -E !Y@ !U4 'GX '50 >I
XXM!D !ZN V4 'K0 9 >R !D ![6 !U4 'N8 9 >
XXM\ -E !\B V4 'R@ 9 ?2 =5 !]@ V4 'X0 9
XXM ?B@ ;U !^0 Q4 'YH (10 ?K !D !^V "$4 '\@
XXM 9 ?S@ ?E !_> &0 '^X &]0 ?]@ !D " : !%4
XXM("P !)0 @/@ 5% "!6 &0 (& 9 @> $E "". 2
XXM4 (*( ']0 @J U ""N 64 (+H 9 @P 3U "#&
XXM #4 (,P !90 @V %E "#N !_4 (/0 -0 @_ 4E
XXM "$& !_4 (0P -0 A$@ %E "$> &0 (20 $]0 A*@
XXM U "$P 64 (3P !90 A1@ %E "%: !44 (6 'U0 A
XXM9@ :5 "&> 24 (; %10 AR !D "'2 &0 (>H !)0
XXM B $E "(2 !_4 (A@ -0 B'@ %E "(J &0 (C
XXM $]0 B-@ U "(\ 64 (D@ !90 B7@ ?U ")D #4
XXM(FP %)0 B> ?U ")^ #4 (H0 !90 BD !D "*6 !/
XXM4 (IP -0 BH@ %E "*N 64 (K@ !90 BS 5% "+2
XXM !]4 (M@ &E0 C"@ D% "-, !94 (Z8 !90 CL %E
XXM #@ &0 .0 9 ! 4 !\( $ < "1: '0<
XXM "2H )@$ + $ $ -@< "2>
XXM108 "/( 304 !4: 5@$ 8P< "2&
XXM ;P$ $ =P< "1* ?04 !N2 B at 4
XXM !OJ E0$ GP4 !/8 K 4 !_F M@<
XXM "2F OP$ $ Q@< "0J RP$ $
XXMU0< "06 W@$ Z@< "1& \@4 !T0
XXM _0< "1V !# $ $ !$P4 !_ !'P4
XXM !+: !)@4 !.* !,0$ !/ 4 !1 at 4
XXM !X: !5@< "2" !90< "0^ != $ $ !
XXM? < "0B !@ 4 !:& !BP< "1> !E $ $
XXM !G at 4 !_^ !J0< "02 !L at 4 "2 !O0$
XXM 0 !Q0$ $ !S@< "0Z !V@$ $ !WP$
XXM ![0$ !_P$ "!P< "0> "
XXM#P< "0N "%P< "2B "(0< "2L "*0$ P
XXM ", 4 !=H ".@< "1N "10$ H "2@<
XXM "0F "3@< "/V "5@< "/R "7@< "/^ "9@<
XXM "/Z ";@< "0" "=@< "0& "?@< "0* "
XXMA@$ $ "B@< "0. "D at 4 "+D "H $
XXM "K0$ $ "L0< "1" "NP$ $ "QP$
XXM "$ "S 4 !_6 "U@< "2: "[@< "26 "_@<
XXM "22 ##0< "2. #' $ $ #)@4 !7^ #
XXM+0$ $L #.@$ $ #10< "1. #3@$ $
XXM #50$ #6P< "/N #8@$ #:P4
XXM !(Z #?@$ #A $ #D 4 !1J #H 4
XXM !0F #K0$ #NP< "1^ #QP4 "%R #
XXMT at 4 !70 #W@< "1F #Z $ #]0< "0:
XXM #_ < "1J $! < "12 $"P$ $ $%0<
XXM "16 $'0< "1Z $(P$ $+P4 !SV $.@$
XXM ? $2@$ $ $60< "1B $8 < "0R $
XXM:0$ $ $=0< "0V $?04 !^D $A@$ $
XXM $D at 4 !&$ $EP4 !J& $I $ !C $L04
XXM !TL $OP$ $S 4 !?H $TP$ $ $V $
XXM $ $W0$ (0 $YP< "1R $\0$ $ $
XXM]P$ $_0$ $ %" $ %$ 4 !,R
XXM %& 4 !C2 %*P4 !DF %/@$ %2 $
XXM %4 4 ",6 %9P< "2* %=@$ %?P4
XXM !A: %B 4 !C* %C at 4 !]^ %EP4 #0 %
XXMI0$ $ %LP$ $ %O@$ $ %R0$
XXM %SP4 !EZ %V5]C;&5A<DUA<FMS %]O<FEG:6Y?;6]D90!?97-T
XXM<FEN9P!L;75L= !?;V-H87)S970 7V%C=&EV94-H87)S970 7W-C8W-I9 !?
XXM17-C<F5E;@!?8FQI;FMS8W)E96X 7W)E=E]S8W)E96X 7V-U<G-O<@!?=G1O
XXM< !?8VQE87)?=VED=&@ 7VUA<FM?=VED90!?:6YI=%]K8F0 7W-C<F]L;%]D
XXM;W=N %]5;F1E<E]O;@!?8VAA<E-T<@!?:6UA9V4 7V%C, !?;V-U<G-R;W<
XXM7V-U<G-R;W< 7V-S<E]P:7AW:6X 7W)E<&]R= !?1S%?<V5L96-T %]A<'!L
XXM7VME>5]A;G-I %]O8F]L9 !?4F5V97)S95]O;@!?26YD97@ 7W-C<F]L;%]U
XXM< !?:6UA9V5I;FET %]A;G-I:6YI= !?<VAI9G1-87)K<T1O=VX 7W-M;V]T
XXM:%]S8W)O;&P 7W-C<F]L;%]B;W1T;VT 7V)O='1O;0!?=FP 7V1E;%]L:6YE
XXM<P!?;F5W;&EN90!?;V-U<G-C;VP 7W-C<F]L;#%U< !?8W5R<V-O; !?9V9X
XXM<W1R:6YG %]?<V]B=68 7W!I>&9O;G0 7W-C<F]L;%]T;W 7W1O< !?<&-L
XXM96%R<V-R965N %]W<FET95!A<G1I86Q,:6YE %]N;V)O;&0 7W-T871E,0!?
XXM86-I;FET %]G<F%P:%\U,@!?8FQA;FMS %]M87)K<P!?9&5L7V-H87( 7VEN
XXM=&5R;&%C90!?86-M %]A8P!?9&5B=6<Q %]D96)U9S( 7V1E8G5G,P!?9&5B
XXM=6<T %]D96)U9S4 7V1E8G5G-@!?9&5B=6<W %]G, !?9&5B=6<X %]S=V%P
XXM;G)E9VEO;G, 7W-W87!R96=I;VYS %]G,0!?9FEL;&9U;F, 7V-H87)"=69-
XXM87@ 7V)U9@!?0FQI;FM?;VX 7W1W96QV95]T96YT:'-?8VAR=VED=&@ 7W1W
XXM:6-E7V-H<G=I9'1H %]F=6QL7V-H<G=I9'1H %]H86QF7V-H<G=I9'1H %]C
XXM:')W:61T: !?<F5S970 7V%N<VE#:&%R0G5F %]W:6YW:61T:' 7W9B;W1T
XXM;VT 7W)I9VAT %]V<&]S %]D96)U9P!?<W!R:6YT9@!?<V5T7W-C<F]L;%]R
XXM96=I;VX ;&1I=G0 7V1R87=#=7)S;W( 7U)E<W1O<F5?8W5R<V]R %]3879E
XXM7V-U<G-O<@!?<F5M;W9E0W5R<V]R %]B:6=?<V-R965N %]S8W)O;&PQ9&X
XXM7V%N<W=E<F)A8VL 7V-U<G-?:V5Y %]C:&5C:U]M87)K<P!?<W1A=&4 7W)E
XXM<&5A= !?=FQE9G0 7V-H87).97AT %]V<FEG:'0 7W=R87 7W!C;&5A<FQI
XXM;F4 7T<P7W-E;&5C= !?86YS=V5R7VUE<W-A9V4 7V1E;&%Y<&%I;G1I;F<
XXM7VQO8V%L %]A8VEN:70P %]U;F1E<G-C;W)E %]A8U]N=6T 7T)O;&1?;VX
XXM7W=I;FAE:6=H=' 7W!O<P!?;6%R:U]B;W1T;VT 7W)E9FQE8W1I;VYS %]S
XXM:&EF=$UA<FMS57 7W1T>7-W7VEN<'5T %]C;&5O; !?;V<P %]O9S$ 7W1A
XXM8D%R<F%Y %]V=#4R;6]D90!?;&5F= !?8F]L9 !?8VAR:&5I9VAT %]?='1Y
XXM<W< 7U)I;F1E> !?<'=H:71E7V)A8VMG<F]U;F0 7W!B;&%C:U]B86-K9W)O
XXM=6YD %]S971?9F]N= !?<W1R;&5N %]S971U<&9U;&QG<F%Y8V]L;W)M87
XXM7V%L=%]K97EP861?-3( 7W)E=W)I=&4 7V%B<U]P;W, 7W1R87 7T%L;%]O
XXM9F8 7W1T>7-W7V]U='!U= !?8W5R<V-O;%-T87)T %]B;VQD7VYO<FT 7V=R
XX8869?;F]R;0!?<W=A< !?;6%R:U]T;W
XX
XXend
@//E*O*F libdir/uu.ttyvt100.o//
chmod u=rw,g=rw,o=rw libdir/uu.ttyvt100.o
echo x - libdir/uu.vt100keys.o
sed 's/^XX//' > "libdir/uu.vt100keys.o" <<'@//E*O*F libdir/uu.vt100keys.o//'
XXbegin 644 vt100keys.o
XXM !!P "F0 8, ; %6 L!.5O_X0J[__$*N__ at M
XXM>0 #_^$JY &8,(#D 5( M0/_X2KD 9PY*N0 !G!G #
XXM+4#__$JY &<.2KD 9 at 9P 2U __Q*N0 !F#DJY &<&< 0M
XXM0/_\2KD 9 at Y*N0 !F!G "+4#__" N @$@ ?RL,@ "=B =2
XXMT$ P.P &3OL @!4 %0 5 !4 %0 5 !4 %0 5 =&!T8'1@=&!T8'1@!> +(!
XXM!@%: :X" @)6 JH"_ at -2 Z8#^@1.!*($]@=&!5(%7 5F!:0%X at 8@!EX&L@;\
XXM8 &^B \ -6& !O @+O_\4X ,@ -B \T$ P.P &3OL @ ( !(
XXM' F(#P U98 &Q" \ -7& !KH@/ #6!@ :P(#P UC8 &IB \
XXM -9V !IP at +O_\4X ,@ -B \T$ P.P &3OL @ ( !( ' F(#P
XXM UH8 &<" \ -:V !F8@/ #6]@ 9<(#P UR8 &4B \ -=F
XXM!D@@+O_\4X ,@ -B \T$ P.P &3OL @ ( !( ' F(#P UW8 &
XXM'" \ ->F !A(@/ #7Y@ 8((#P V!8 %_B \ -A6 !?0 at +O_\
XXM4X ,@ -B \T$ P.P &3OL @ ( !( ' F(#P V&8 %R" \ -
XXMB& !;X@/ #8I@ 6T(#P V.8 %JB \ -DF !: @+O_\4X ,@
XXM -B \T$ P.P &3OL @ ( !( ' F(#P V38 %=" \ -E6 !6H@
XXM/ #9=@ 5@(#P V;8 %5B \ -GV !4P at +O_\4X ,@ -B \
XXMT$ P.P &3OL @ ( !( ' F(#P V at 8 %(" \ -HF !18@/ #:1@
XXM 4,(#P VH8 % B \ -K& !/@@+O_\4X ,@ -B \T$ P.P &
XXM3OL @ ( !( ' F(#P VM8 $S" \ -KV !,(@/ #;%@ 2X(#P
XXM VU8 $KB \ -N6 !*0 at +O_\4X ,@ -B \T$ P.P &3OL @ (
XXM !( ' F(#P VZ8 $>" \ -O& !&X@/ #;Y@ 1D(#P W"8 $
XXM6B \ -QF !% @+O_\4X ,@ -B \T$ P.P &3OL @ ( !( ' F
XXM(#P W'8 $)" \ -R6 !!H@/ #<M@ 00(#P W/8 $!B \ -
XXMTV _P at +O_\4X ,@ -B \T$ P.P &3OL @ ( !( ' F(#P W4
XXM8 #T" \ -UF \8@/ #=A@ .\(#P W<8 #LB \ -X& Z@@
XXM+O_\4X ,@ -B \T$ P.P &3OL @ ( !( ' F(#P WA8 #?" \
XXM -XV W(@/ #>5@ -H(#P WI8 #7B \ -[6 U0 at +O_\4X ,
XXM@ -B \T$ P.P &3OL @ ( !( ' F(#P WN8 #*" \ -\&
XXM QX@/ #?)@ ,4(#P WV8 #"B \ -^F P @+O_\4X ,@ -B
XXM \T$ P.P &3OL @ ( !( ' F(#P W[8 "U" \ -_6 LH@/
XXM#?]@ + (#P X#8 "MB \ .!V JP at +O_\4X ,@ -B \T$ P
XXM.P &3OL @ ( !( ' F(#P X(8 "@" \ ."F G8@/ #@Q@ )L
XXM(#P X08 "8B \ .%& E@@+O_\4X ,@ -B !$T$ P.P &3OL
XXM @ ( @ ) N2KD 9PH@/ #A5@ (D(#P X88 "&B \ .&F
XXM A @/ #AY@ (&(#P XB8 !_" \ .(V ?(@/ #B1@ 'H("[_
XXM^'(!L(%G%G("L(%G&G(#L(%G'B \ .,& <@@/ #B5@ &^(#P XH
XXM8 !M" \ .+& :H at +O_X<@&P at 6<6<@*P at 6<:<@.P at 6<>(#P X\8 !
XXMBB \ .,6 8 @/ #C1@ %V(#P XX8 !;" N__AR ;"!9Q9R K"!
XXM9QIR ["!9QX@/ #DA@ %,(#P X]8 !0B \ .0& 3@@/ #D1@
XXM $N("[_^'(!L(%G%G("L(%G&G(#L(%G'B \ .5& 0X@/ #DE@ $$
XXM(#P Y,8 ^B \ .4& / @+O_\4X ,@ -B \T$ P.P &3OL
XXM @ ( !( ' F(#P Y58 Q" \ .6& +H@/ #EQ@ "P(#P Y?
XXM8 IB \ .8V )P at +O_\4X ,@ -B TT$ P.P &3OL @ ( !
XXM& @(#P YD8' @/ #F9@:" \ .:&!@(#P YL8%@@/ #G!@4" N
XXM__Q3@ R V( #300# [ 9.^P " @ $ 8 " @/ #G%@)B \ .
XXM<V >(#P YU8!8@/ #GE@#B \ .?6 &(#P Y^3EY.=4Y6 !A1$AX
XXM -=(>0 #G]A % 4$](> #92'D Z"80 !,%!/2'@ VTAY .AF$ 2!0
XXM3TAX -U(>0 #HIA $04$].7DYU3E8 $AX )(>0 #HY.N0 !03R/
XXM &PH2'D ZU2'D Z62'D H3KD 3^\ #$AX ).N0 !8
XXM3TAY $AY0!A& "\Y $ZY $_O Q*@&PH2'D [>2'D Z^
XXM2'D H3KD 3^\ #$AX ).N0 !83PRY @ !G*$AY .
XXM_TAY .YTAY *$ZY $_O Q(> "3KD 6$](> "2'D \(
XXM3KD 4$\CP !L*$AY /+4AY /$4AY *$ZY $_O Q(
XXM> "3KD 6$].7DYU3E;_Y$*N__Q![O_H+4C_Y"!N @0$$B 2,!R0["!
XXM9PYR4["!9Q @;O_D0I!@%"!N_^1R,& &(&[_Y'(.((%2K@ (0J[_^& .4J[_
XXM^ RN 6/_X;"Q(> #("[_^.> ($#1_ "I at O$"\N A.N0 !/[P ,
XXM2H!FS'(!+4'__$JN__QF+"\N A(>0 #U)(>0 #S9(>0 "A.N0 !/
XXM[P 02'@ DZY %A/(&[_Y" N__CG@") T_P J<(!$10 $(&[_Y!%N
XXM \ !2\N_^1(>8 0:P$O.0 !.N0 !/[P ,2H!L+"\N A(>0 #WU(
XXM>0 #UM(>0 "A.N0 !/[P 02'@ DZY %A/3EY.=4 H(REV=#$P
XXM,&ME>7,N8R Q+C8 at .#8O,#0O,3$@0V]P>7(@,3DX-2!-251212!#;W)P
XXM ^( 5P #XH !K /C "@ ^. ; #Y !M /D@
XXM "< ^4 '@ #Y8 ? /F " ^: (0 #YP B /
XXMG@ ", ^@ ) #Z( E /I "8 ^F 5@ #Z@ I
XXM /J@ !, ^P *P #[, !" /MP !T ^[ 0 #[X
XXM !A /P@ , _% &0 #\@ : /RP #$ _. ,P
XXM#]$ !( /U $D _7 7P #]H !O /W0 !4 _@
XXM6P #^0 !< /Z %T _L < #_ !Q /] '( _X
XXM %@ #_L 7 /_@ "T ! ! +@ $ 0 O 0!P $0
XXM ! * 10 $ T !& 0$ %D ! 4 !0 $!< & 0&@
XXM @ ! = "@ $" , 0(P X ! F $ $"D 1 0
XXM+ !( ! O -0 $#, ! 0-0 %@ ! W 00 $#D J
XXM 0.P $T ! ] : $#\ !F 000 $\ !!# . $$4
XXM !0 01P %$ !!) 4@ $$L ] 030 %, !!/ 5
XXM$%$ !5 04P &H !!5 :0 $%< ^ 060 #\ !!;
XXM-@ $%T Y 07P $X !!A .@ $&, \ 090 &< !!G
XXM -P $&D !E 0:P #L !!M 9 ;4 ;3U &U &T]0 ;
XXM40 ;3U$ &U$ &T]1 ;4@ ;3U( &U( &T]2 W #< &S]W !M/=P . X
XXM !L_> ;3W@ #D .0 ;/WD &T]Y T #0 &S]T !M/= -0 U !L_=0 ;
XXM3W4 #8 -@ ;/W8 &T]V Q #$ &S]Q !M/<0 ,@ R !L_<@ ;3W( #,
XXM,P ;/W, &T]S P # &S]P !M/< +@ N !L_;@ ;3VX T* T &S]-
XXM !M/30 ;00 ;6T$ &T]! ;0@ ;6T( &T]" ;1 ;6T0 &T]$ ;
XXM0P ;6T, &T]# ;4P ;3U, &U, &T]3 M "T &S]M !M/;0 + L !L_
XXM; ;3VP !R. !R,3 <C$R '(Q- O9&5V+V9B "5S.B!C;W5L9&XG="!O
XXM<&5N(&9R86UE8G5F9F5R"@!T='EV=#$P, E<SH at 8V]U;&1N)W0 at 9V5T('1H
XXM92!F8B!S=')U8W0* '1T>79T,3 P %-O<G)Y+"!)(&]N;'D at 9&\@4W5N,G,*
XXM '1T>79T,3 P "]D978O:V)D "5S.B!C;W5L9&XG="!O<&5N(&ME>6)O87)D
XXM"@!T='EV=#$P, E<SH at 8V]U;&1N)W0 at 9FEN9"!@)7,G(&ME>0H ='1Y=G0Q
XXM,# )7,Z(&-O=6QD;B=T(&1E9FEN92!T:&4 at 8"5S)R!K97D* '1T>79T,3 P
XXM )P L "T +@ O # ,0 R #, - U #8 -P X #D .P ] &)R96%K &)S
XXM &1E; !E<V, ;#$ ;#$P &PR &PS &PT &PU &PV &PW &PX &PY &QF '(Q
XXM '(Q, !R,3$ <C$R '(Q,P!R,30 <C$U '(R '(S '(T '(U '(V '(W '(X
XXM '(Y ')E= !F,0!F,@!F,P!F- !F-0!F-@!F-P!F. !F.0!T86( 6P!< %T
XXM8 !A &( 8P!D &4 9@!G &@ :0!J &L ; !M &X ;P!P '$ <@!S '0 =0!V
XXM '< > !Y 'H X !Y0 %@ 'E > 84 "H !Y0
XXM,@ (U ! >4 $@ "-0 5@ 'E !> )4 &P !Y0
XXM = "5 #T &0 2 9 !*@ !D $T &0 3X
XXM 9 !2 !D %T &0 7X 9 !B !D &2 &0
XXM 9P 9 !R !D '2 &0 =P 9 !Y@ !D 'P &
XXM0 AP 9 ")@ !D (P &0 CH 9 "1 !D )P
XXM &0 GH 9 "A !D *. &0 I@ 9 "Q !D
XXM +. &0 M@ 9 "X@ !D +L &0 Q@ 9 #(@
XXM!D ,L &0 S8 9 #0 !D -L &0 W8 9 #
XXM@ !D .* &0 Y0 9 #P !D /* &0 ]0 9
XXM #W@ !D /H &0 !!0 9 $'@ !D 0H &0 !#(
XXM 9 $/ !D 1H &0 !'( 9 $? !D 2& &0
XXM!) 9 $O !D 3& &0 !- 9 $V@ !D 3D &
XXM0 !1 9 %&@ !D 4D &0 !2X 9 %. !D 5D
XXM &0 !6X 9 %> !D 6" &0 !8P 9 %N "U
XXM 7 &0 !<H 9 %U !D 7> &0 !>@ 9 %\@
XXM!D 7\ &0 !AP 9 &)@ !D 8P &0 !CH 9 &
XXM6@ !D 9D &0 !FX 9 &> !D :8 &0 !J( 9
XXM &K !D :V &0 !M8 9 &X !D ;J &0 !O0
XXM 9 '( !D <J &0 !S0 9 '/@ !D =( &0
XXM!W0 9 '? !D >$ &0 !XP 9 'E !D >^ &
XXM0 !\8 9 'S@ !D ?6 &0 !]X 9 'Y@ !D ?Z
XXM &0 " H 9 (&@ !D @J &0 "$( 9 (2 '%
XXM A0 %4 "%@ 9 (7@ !D AD B4 "&H !!0 (>
XXM % B 74 "(P 50 (D@ #5 B@ &0 "*8 9 (
XXMK (E BR 04 ", !0 (S %U C4 &0 "-H 9
XXM (X (E CF 04 "/0 !0 ) !D D& <4 "0X
XXM !U0 )%@ !D D< &0 "2( ")0 )* $% DV 4
XXM":0 9 )L 5 G. &0 "=0 9 )V@ (E G@ 0
XXM4 ">X !0 * @ !D HB =4 "B@ U0 *.@ !D I
XXM &0 "D8 ")0 *3 $% I: 4 #0 9 / !D
XXM !$ &0 $P 9 5 !D !< &0 &0 9 ;
XXM!D !T &0 'P 9 A !D ", &0 )0 9
XXMG !D "D &0 *P 9 M !D "\ &0 ,0 9
XXM S !D #4 &0 -P 9 Y !D #L &0 /0
XXM 9 _ !D $$ &0 0P 9 !% !D $< &0
XXM 20 9 !+ !D $T &0 3P 9 !1 !D %, &
XXM0 50 9 !7 !D %D &0 6P 9 != !D %\
XXM &0 80 9 !C !D &4 &0 9P 9 !I !D
XXM &L &0 ;0 9 !O !D '$ &0 <P 9 !U
XXM!D '< &0 >0 9 ![ !D 'T &0 ?P 9 "
XXM! !D (, &0 A0 9 "' !D (D &0 BP 9
XXM "- !D (\ &0 D0 9 "3 !D )4 &0 EP
XXM 9 "9 !D )L &0 G0 9 "? !D *$ &0
XXM HP 9 "E !D *< &0 J0 9 "K !D *T &
XXM0 KP 9 "Q !D +, &0 M0 9 "W !D +D
XXM &0 NP 9 ! $ "@$ $P4
XXM E ' 8 ID ) 4 ?N +@$ $ -0$
XXM $ / $ $ 10< J8 3@$
XXM70$ $ 90$ ;@$ $ =P$
XXM ?@$ 0 A@$ $ CP$ F $
XXM $ G0$ P I $ $ K at 4 O0$
XXM $ R $ $ SP$ 8 TP$
XXMW0$ $ [ $ $ ^ $ !C !!0$
XXM !"P$ $ !#P$ !&0$ $ !'P$
XXM $ !*@4 @X !- $ !.@$ !25]E
XXM>&ET %]S=')N8VUP %]S971?:V5Y %]S8V-S:60 7VEN:71?:V)D %]F8F1E
XXM<P!?:6UA9V4 7V-U<G-R;W< 7VM?8F]A<F0 7V%P<&Q?:V5Y7V%N<VD 7V)O
XXM='1O;0!?;F5W;&EN90!?8W5R<V-O; !?:6]C=&P 7U]S;V)U9@!?<&EX9F]N
XXM= !?9G!R:6YT9@!?=&]P %]M87)K<P!?8VAR=VED=&@ 7W1R86YS;&%T95]K
XXM97D 7W=I;G=I9'1H< !?<FEG:'0 7V9B %]C=7)S7VME>0!?9&5L87EP86EN
XXM=&EN9P!?=VEN:&5I9VAT< !?<F5F;&5C=&EO;G, 7V]P96X 7VMB %]V=#4R
XXM;6]D90!?;&5F= !?8VAR:&5I9VAT %]P<F5P7VMB9 !?7VEO8@!?86QT7VME
XX(>7!A9%\U,@!F
XX
XXend
@//E*O*F libdir/uu.vt100keys.o//
chmod u=rw,g=rw,o=rw libdir/uu.vt100keys.o
echo x - src/ttyvt100.h
sed 's/^XX//' > "src/ttyvt100.h" <<'@//E*O*F src/ttyvt100.h//'
XX/* @(#)ttyvt100.h 1.8 86/04/13 MITRE */
XX/*
XX * Copyright (c) 1985 by Mitre Corp.
XX */
XX/* cursor states */
XX#define NOCURSOR 0
XX#define UNDERCURSOR 1
XX#define BLOCKCURSOR 2
XX/* terminal states */
XX#define ALPHA 0 /* normal state reading characters */
XX#define ESCAPE 1 /* plain escape so far */
XX#define ESCBRKT 2 /* CSI; i.e. esc-[ */
XX/* deleted */
XX#define VT52 4 /* emulating vt52 terminal */
XX/* deleted */
XX#define ESCBRKTQM 6 /* now have esc-[? sequence */
XX#define ESCAPESHARP 7 /* now have esc-# sequence */
XX#define ESCAPELPRN 8 /* now have esc-( sequence */
XX#define ESCAPERPRN 9 /* now have esc-) sequence */
XX#define ESC52Y 10 /* in vt52 abs cursor mode sequence */
XX#define EATCHARS 11 /* when at end of line and nowrap */
XX#define G0 0 /* grafix states set with esc-( and esc-) */
XX#define G1 1
XXunsigned short marks[24]; /* font type for each line */
XX
XXunsigned short reflections[24][132]; /* one for each char in image */
XX#define NUMER5 1 /* vt52 numeric mode for keys */
XX#define NUMERA 2 /* ansi numeric mode " " */
XX#define APPL5 3 /* vt52 application mode */
XX#define APPLA 4 /* ansi application mode */
XX /*font handling states for each line */
XX /*used for setting marks in line array */
XX#define NORMAL_F 0x00 /* standard 80 col mode */
XX#define WIDE_F 0x40 /* one of the double wide types */
XX#define TOP_F 0x01 /* top half of a double height char */
XX#define BOTTOM_F 0x02 /* bottom half of same */
XX#define NARROW_F 0x20 /* 132 col mode (66 if wide) */
XX#define GRAFIX_F 0x04 /* using a graphics font */
XX#define BUSY 0x80 /* set if any characters have been written */
XX#define BOLD_F 0x08 /* bold attribute on */
XX#define SIZE_MASK 0xF0 /* just the width part */
XX#define TYPE_MASK 0x0F /* just the font part */
XX#define HALF_MASK 0x03 /* just top and bottom */
XX#define UK 0 /* special character set pound sign */
XX#define ASC 1 /* regular ascii character set */
XX#define GRAPH 2 /* graphics character set */
XX#define BOLD 0x01 /* attributes for fillfunc memory */
XX#define UNDER 0x02
XX#define REVERSE 0x04
XX#define BLINK 0x08
XX#define grafon() graf_norm = (activeCharset == G1)?((g1 == GRAPH)?GRAPH:ASC)\
XX :((g0 == GRAPH)?GRAPH:ASC) /* 1=ASCII, 2=GRAPHIC */
XXtypedef int character;
XX#define MAX_SCREEN_WIDTH 132
XX#define CHAR_BUF_LEN 300
@//E*O*F src/ttyvt100.h//
chmod u=r,g=r,o=r src/ttyvt100.h
echo x - src/vt100fonts.c
sed 's/^XX//' > "src/vt100fonts.c" <<'@//E*O*F src/vt100fonts.c//'
XX#ifndef lint
XXstatic char sccsid[] = "@(#)vt100fonts.c 1.9 86/05/02 Copyr 1985 MITRE Corp";
XX#endif
XX/*
XX * Copyright (c) 1985 by MITRE Corporation
XX */
XX#include <stdio.h>
XX#include <pixrect/pixrect_hs.h>
XX#include <sunwindow/window_hs.h>
XX#include <signal.h>
XX#include <ctype.h>
XX#include <sys/ioctl.h>
XX#include <sun/fbio.h>
XX#include <sundev/kbio.h>
XX#include <sundev/kbd.h>
XX#include "ttysw_impl.h"
XX#include "ttyvt100.h"
XX#include "charimage.h"
XX#include "charscreen.h"
XX#define vanillaChar(c) ((c >= ' ') && (c <= '~'))
XXextern struct pixwin *csr_pixwin;/* This is the ttysw windowfd */
XXextern struct pixfont *pixfont; /* This is what csr_init uses ???? */
XXextern int chrwidth, underscore;
XXextern pstring(),bold(),nobold();
XXextern int debug,vright,cursrow;
XXextern int fillfunc,bold_norm,graf_norm, g1,g0,full_chrwidth, activeCharset;
XXextern int vtop,vbottom,vleft,vright;
XXstruct vtfont { /* hold vt100 font info */
XX char fontfile_name[15]; /* name of file in font directory */
XX struct pixfont * fontfd; /* handle after pf_open returns, else 0 */
XX int charwidth; /* width of this font in pixels */
XX int line_length; /* length of vt100 line */
XX} fonttab[32] = {
XX "gacha.r.8", 0, 8, 79, /* regular */
XX "thin.r.5", 0, 5, 131,/* thin */
XX "wide.r.16", 0, 16, 39, /* wide */
XX "thinwide.r.10", 0, 10, 65, /* wide big screen */
XX "widetop.r.16", 0, 16, 39, /* top half */
XX "thintop.r.10", 0, 10, 65, /* top half big screen */
XX "widebot.r.16", 0, 16, 39, /* bottom half */
XX "thinbot.r.10", 0, 10, 65, /* bottom half big screen */
XX "gacha.g.8", 0, 8, 79, /* start grafix fonts */
XX "thin.g.5", 0, 5, 131,
XX "wide.g.16", 0, 16, 39,
XX "thinwide.g.10", 0, 10, 65,
XX "widetop.g.16", 0, 16, 39,
XX "thintop.g.10", 0, 10, 65,
XX "widebot.g.16", 0, 16, 39,
XX "thinbot.g.10", 0, 10, 65,
XX "gacha.b.8", 0, 8, 79, /* start bold fonts */
XX "thin.b.6", 0, 5, 131,
XX "wide.b.16", 0, 16, 39,
XX "thinwide.b.10", 0, 10, 65,
XX "widetop.b.16", 0, 16, 39,
XX "thintop.b.10", 0, 10, 65,
XX "widebot.b.16", 0, 16, 39,
XX "thinbot.b.10", 0, 10, 65,
XX "gacha.bg.8", 0, 8, 79, /* start bold & grafix */
XX "thin.bg.6", 0, 5, 131,
XX "wide.bg.16", 0, 16, 39,
XX "thinwide.bg.10", 0, 10, 65,
XX "widetop.bg.16", 0, 16, 39,
XX "thintop.bg.10", 0, 10, 65,
XX "widebot.bg.16", 0, 16, 39,
XX "thinbot.bg.10", 0, 10, 65
XX };
XX
XX/* Finds and sets up fonts and flags for rewriting lines */
XXfind_font(value)
XXunsigned value;
XX{
XX unsigned type, attrib;
XX int fontindex = 0;
XX#ifdef DEBUG
XXif (debug6) printf ("entered find_font with arg: %x\n",value);
XX#endif
XX type = value & 0x7F;
XX attrib = (value & 0xFF00) >> 8;
XX#ifdef DEBUG
XXif(debug5) printf( "type == %x, attrib = %x\n",type, attrib);
XX#endif DEBUG
XX if(attrib & REVERSE) bold();
XX else nobold();
XX if(attrib & UNDER) underscore = 1;
XX else underscore = 0;
XX if(type & NARROW_F) fontindex++;
XX if(type & HALF_MASK ) /* One of the halfs */
XX fontindex += 4;
XX else if(type & WIDE_F)
XX fontindex += 2;
XX if(type & BOTTOM_F) fontindex += 2;
XX if(attrib & BOLD) fontindex += 16;
XX if(type & GRAFIX_F) fontindex += 8;
XX lookup_font(fontindex);
XX return(fontindex);
XX}
XX
XXlookup_font(index)
XX int index;
XX{
XX int returncode = 0; /* means can't open font */
XX if(fonttab[index].fontfd == 0) /* not open yet */
XX {
XX if(fontopen(index) != 0) returncode = -1;
XX }
XX pixfont = fonttab[index].fontfd; /* set up for new font parameters */
XX chrwidth = fonttab[index].charwidth;
XX vright = fonttab[index].line_length;
XX/* vsetlinelength(image[cursrow], vright);*/
XX return(returncode);
XX}
XXchar* main_font_directory;
XXfontopen(index)
XX int index;
XX{
XX char *p, fullname[60];
XX int debug = 1;
XX main_font_directory = getenv ("VTFONTS");
XX strcpy(fullname, main_font_directory);
XX strcat(fullname,"/");
XX strcat(fullname,fonttab[index].fontfile_name);
XX if((fonttab[index].fontfd = pf_open(fullname)) == NULL)
XX {
XX if(debug) printf("can't open %s font \n",fonttab[index].fontfile_name);
XX return(-1);
XX }
XX return(0);
XX}
XXset_font(value)
XXint value;
XX{
XX int type;
XX grafon();
XX bold_norm = (fillfunc & BOLD) ? 1 : 0;
XX if(bold_norm == 1) marks[cursrow] |= BOLD_F;
XX else marks[cursrow] &= ~BOLD_F;
XX if(graf_norm == 2) marks[cursrow] |= GRAFIX_F;
XX else marks[cursrow] &= ~GRAFIX_F;
XX type = marks[cursrow];
XX type |= (fillfunc << 8);
XX find_font( type);
XX}
XX/* This routine will watch the line font marks as we go to another row*/
XX/* and change fonts, calling rewrite if necessary */
XX/* Hopefully mostly simple cases where no font changes are */
XX/* required. Next best case is where no wide or double chars are */
XX/* involved where we just change to correct font. Worst case is doubles. */
XX/* where we call rewrite() to possibly rewrite entire line in "new" font.*/
XXcheck_marks(now, was)
XXint now, was;
XX{
XX int type;
XX#ifdef DEBUG
XX if(debug4) printf("entering check_marks with marks %x, %x \n",marks[was],marks[now]);
XX#endif
XX if((marks[now]& ~BUSY) == (marks[was] & ~BUSY)) return;
XX if(graf_norm == 2) marks[now] |= GRAFIX_F;
XX else marks[now] &= ~GRAFIX_F;
XX type = marks[now] + ((fillfunc & 0xFF) << 8);
XX find_font( type);
XX return;
XX}
XXrewrite (row) /* if a double is called after line */
XXint row; /* has been written */
XX{
XX char save_image[133], chp[133];
XX char *chpp, *imagep;
XX int savecol,l, i,k, ochrwidth, olinelength, opixfont;
XX short type, save_graf,save_bold,save_attrib;
XX if(marks[row] & BUSY == 0) { /* nothing in the line yet */
XX set_font(5);
XX return;
XX }
XX /* see long comment below for reason why we save these here */
XX set_font(5);
XX save_attrib = fillfunc;
XX save_graf = graf_norm;
XX save_bold = bold_norm;
XX savecol = curscol;
XX strncpy(save_image,image[row],132);
XX#ifdef DEBUG
XXif(debug7) printf("IMAGE %d:%s \n",row, image[row]);
XX#endif
XX opixfont = (int) pixfont; /* remember font parameters */
XX olinelength = vright;
XX ochrwidth = chrwidth;
XX lookup_font(0); /* use standard font to blank line */
XX pclearline(0,79,row); /* clear out the old text */
XX pixfont = (struct pixfont *) opixfont; /* reset font stuff */
XX chrwidth = ochrwidth;
XX vright = olinelength;
XX#ifdef DEBUG
XXif(debug5) printf("rewrite row with %x font marks\n", marks[row]);
XX#endif
XX chpp = &chp[0];
XX imagep = &save_image[0];
XX for (i = 0, k = 0; *imagep ;i++ )
XX {
XX *chpp++ = *imagep++;
XX if(reflections[row][i] != reflections[row][i+1])
XX {
XX *chpp = '\0';
XX find_font(reflections[row][k]);
XX curscol = k;
XX writePartialLine(&chp[0], k);
XX chpp = &chp[0];
XX k = i + 1;
XX }
XX }
XX *chpp = '\0';
XX find_font(reflections[row][k]);
XX curscol = k;
XX writePartialLine(&chp[0], k);
XX vsetlinelength(image[row], i);
XX /* ********************************************************* */
XX /* Since the attributes and graphics mode may have been set */
XX /* after the text which we have just rewritten was originally */
XX /* written, we have to save and restore them before and after */
XX /* rewriting the line and we must also reset the font from those */
XX /* parameters........................*/
XX /* ************************************************************** */
XX curscol = savecol; /* restore current flags and column */
XX graf_norm = save_graf;
XX fillfunc = save_attrib;
XX bold_norm = save_bold;
XX if(graf_norm == 2) marks[cursrow] |= GRAFIX_F;
XX else marks[cursrow] &= ~GRAFIX_F;
XX type = marks[cursrow] + ((fillfunc & 0xFF) << 8);
XX find_font(type); /* and put font right for where we are */
XX#ifdef DEBUG
XXif(debug7) printf("image %d:%s \n",row,image[row]);
XX#endif
XX
XX}
XXresquirt(row)
XX int row;
XX{
XX char * chpp, *imagep;
XX char chp[133],save_image[133];
XX int i, k;
XX strncpy(save_image,image[row],133);
XX chpp = &chp[0];
XX imagep = &save_image[0];
XX for (i = 0, k = 0; *imagep ;i++ )
XX {
XX *chpp++ = *imagep++;
XX if(reflections[row][i] != reflections[row][i+1])
XX {
XX *chpp = '\0';
XX find_font(reflections[row][k]);
XX curscol = k;
XX writePartialLine(&chp[0], k);
XX chpp = &chp[0];
XX k = i + 1;
XX }
XX }
XX *chpp = '\0';
XX find_font(reflections[row][k]);
XX curscol = k;
XX writePartialLine(&chp[0], k);
XX vsetlinelength(image[row], i);
XX}
@//E*O*F src/vt100fonts.c//
chmod u=r,g=r,o=r src/vt100fonts.c
echo x - vconfig.h
sed 's/^XX//' > "vconfig.h" <<'@//E*O*F vconfig.h//'
XX/* Copyright MITRE Corp. */
XX#define MAIN_FONT_DIR "/usr/local/lib/fonts/vtfonts"
XX/* This structure holds the array of labels for the Pf keys on the
XX vt100 panel. It is best not to try to add or subtract from the
XX structure. The labels themselves can be easily changed in the
XX array "keys" which follows. Just keep them to 6 chars in length.
XX*/
XXstruct key_labels {
XX caddr_t button_handle;
XX char norm_label[6];
XX char mred_label[6];
XX char ibm_label[6];
XX char wd11_label[6];
XX char emacs_label[6];
XX};
XX/* These are the labels which appear on the PF keys when the mouse
XX clicks the label choice item (looks better in a wide window) */
XXstruct key_labels keys[23] = {
XX 0, "", "", "", "", "", /* dummy */
XX 0, "1", "-line", "10", "back", "", /* 1 key = 1 */
XX 0, "2", "v", "11", "line", "", /* 2 key = 2*/
XX 0, "3", "-page", "12", "uppr", "", /* 3 key = 3 */
XX 0, "4", "<--", "7", "word", "", /* 4 key = 4 */
XX 0, "5", "home", "8", "para", "", /* 5 key = 5 */
XX 0, "6", "-->", "9", "bold", "", /* 6 key = 6 */
XX 0, "7", "+line", "4", "< >", "", /* 7 key = 7 */
XX 0, "8", "^", "5", "tabp", "", /* 8 key = 8 */
XX 0, "9", "+page", "6", "under", "", /* 9 key = 9 */
XX 0, "0", "rplcw", "pf+12", "advan", "", /* 0 key = 10 */
XX 0, "PF1", "pick", "1", "gold", "", /* PF1 key = 11 */
XX 0, "PF2", "put", "2", "page", "", /* PF2 key = 12 */
XX 0, "PF3", "-tabw", "3", "sent", "", /* PF3 key = 13 */
XX 0, "PF4", "+tabw", "PA1", " ", "", /* PF4 key = 14 */
XX 0, "-", "+srch", "PA2", "aftwd", "", /* - key = 15 */
XX 0, ",", "-srch", "PA3", "phras", "", /* , key = 16 */
XX 0, "enter","goto", "clear", "swap", "", /* enter key = 17 */
XX 0, ".", "use", "insrt", "selct", "", /* . key = 18 */
XX 0, "^", "open", "^", "ruler", "", /* up key = 19 */
XX 0, "-->", "close", "-->", "cut", "", /* right key = 20 */
XX 0, "v", "fill", "v", "delte", "", /* down key = 21 */
XX 0, "<--", "tmpin", "<--", "paste", "" /* left key = 22 */
XX};
@//E*O*F vconfig.h//
chmod u=r,g=r,o=r vconfig.h
echo x - vt100tool.1
sed 's/^XX//' > "vt100tool.1" <<'@//E*O*F vt100tool.1//'
XX.\" @(#)vt100tool.1 1.9 86/04/15 MITRE Corp; from UCB 4.2
XX.TH VT100TOOL 1 "15 APRIL 1986"
XX.SH NAME
XXvt100tool \- Dec VT100 terminal emulator tool
XX.SH SYNOPSIS
XX.B vt100tool
XX.SH DESCRIPTION
XX.LP
XX\fBvt100tool\fR emulates a DEC VT100 terminal with a graphic
XXmodule. It does this in much the same way as
XXshelltool (see
XX.IR suntools (1))
XXemulates a regular glass tty.
XXWhen \fBvt100tool\fR is invoked, a shell is started up,
XXits output and input are connected to the emulator, and a new
XXwindow is formed. The window is run as a job from the calling window.
XXWhen the emulator is running the function keys take on the same
XXsignificance as VT100 function keys and keypad. Buttons R1-R15
XXare the VT100 buttons:
XX.LP
XX PF1,PF2,PF3,7,8,9,4,5,6,1,2,3,0,.,Enter
XX.LP
XXfrom
XXthe keypad. Buttons F3-F6 are the arrow keys: Up, Down, Left, and
XXRight, respectively, and F7-F9 are PF4,-,and ",".
XXIt should be noted that these are only the markings on the keys. The
XXcontrol codes sent to the host are as described in the VT100 manual
XXand change depending on the setting of certain mode flags.
XX.LP
XXEvery effort has been made to make the emulator as faithful to the
XXVT100 as the Sun Workstation will allow. Exceptions are listed at the end
XXof this page. All sizes of characters are handled: regular, double and
XXdouble-height and width as well as 132 character screen and all these
XXsizes scaled down to the small type of the 132 character screen. All
XXvt100 attributes are also handled: bold, reverse video. (I don't know how
XXto do blink on a Sun.) The emulator assumes that the graphics option
XXis installed and the graphics is activated by the \fBEscape-)\fR and
XX\fBEscape-(\fR sequences as on a vt100. Vt52 mode is also handled correctly.
XX.LP
XXThe Setup panel at the bottom of the window can be used to alter certain
XXvt100 modes. (All have not been allowed as yet.) The
XX.IR local/on-line, wrap,and newline modes
XXcan be altered from the panel. Clicking the mouse on the
XX.IR Setup Button
XXshows the options and clicking on an option changes the mode
XXin the emulator. The
XX.IR answerback
XXmessage can be set from the Setup Panel
XXby typing it into the line containing the Sun caret. Only 20 characters
XXare allowed in the
XX.IR answerback
XXmessage as in the VT100.
XX.LP
XXThere is also a keyboard on the panel, which is obtained by clicking
XXthe mouse on the
XX.IR Keyboard
XXlabel. This displays a keypad and a set of arrow keys as on a vt100.
XXThese perform the exact same action as the actual Sun-2 keyboard keys
XXwhen in the emulator, but they can be labelled on the panel as the
XXuser prefers. The current set of labels are for a vanilla vt100, a
XXDECMATE or Word-11 keypad, a version of the Rand editor called MRED
XXand an IBM 3270 emulator on a vt100. The labels will change as the
XXmouse is clicked on the appropriate label.
XX.LP
XXTyping control-D to vt100tool causes it to die.
XX.SH CAVEATS
XXLike all VT100 emulators, this probably doesn't duplicate every nuance of the
XXVT100. In cases where the Sun environment prevents emulation of a feature
XXthen some reasonable thing is done on receipt of the escape code
XXrequesting the feature. Generally, this is to ignore it. (Xon-Xoff is an
XXexample of this).
XX.LP
XXThe vt100tool window may be treated just like other windows; it can be overlaid,
XXmoved, reshaped etc.
XXHowever, when the window is reshaped, the contents will not scale.
XX.LP
XX.SH FILES
XX../vtfonts/*
XX.SH "SEE ALSO"
XXsuntools(1)
XX.br
XXDigital VT100 Computer Display Terminal User's Manual
XX.SH BUGS
XX.IP (1)
XXOnly wrap, newline, answerback, local are altered by the Setup Panel even
XXthough other features appear there.
XX.IP (2)
XXThe fonts need help. There are probably some minor glitches here and
XXthere. They had to be created with fonttool which has a few problems
XXof its own.
XX.IP (3)
XXFull reverse screen is erratic. This seems to be caused by a "feature" deep
XXdown in the Sun code which resets the reverse video automatically. I
XXwill try to fix this if I have time and if anyone cares.
XX.IP (4)
XXSmooth scroll does not work.
XX.IP (5)
XXYou tell me. <Ed Lafferty, MITRE Corp, ell at mitre-bedford.ARPA,
XXell at linus.UUCP>
@//E*O*F vt100tool.1//
chmod u=rw,g=r,o=r vt100tool.1
echo Inspecting for damage in transit...
temp=/tmp/sharin$$; dtemp=/tmp/sharout$$
trap "rm -f $temp $dtemp; exit" 0 1 2 3 15
cat > $temp <<\!!!
417 3898 25667 uu.ttyvt100.o
161 1716 9776 uu.vt100keys.o
68 396 2378 ttyvt100.h
283 1094 8036 vt100fonts.c
46 380 2860 vconfig.h
103 710 4083 vt100tool.1
1078 8194 52800 total
!!!
wc libdir/uu.ttyvt100.o libdir/uu.vt100keys.o src/ttyvt100.h src/vt100fonts.c vconfig.h vt100tool.1 | sed 's=[^ ]*/==' | diff -b $temp - >$dtemp
if test -s $dtemp
then echo "Ouch [diff of wc output]:" ; cat $dtemp
else echo "No problems found."
fi
exit 0
More information about the Mod.sources
mailing list