Xref: utzoo comp.text:1440 comp.unix.questions:5078 comp.sys.ibm.pc:10507 Path: utzoo!utgpu!water!watmath!clyde!cbosgd!cblpf!cblpe!res From: res@cblpe.ATT.COM (Rob Stampfli) Newsgroups: comp.text,comp.unix.questions,comp.sys.ibm.pc Subject: Re: Looking for Boldface/Underline Filter Keywords: boldface underline nroff backspace cr Message-ID: <889@cblpe.ATT.COM> Date: 19 Jan 88 03:07:05 GMT References: <2941@killer.UUCP> Reply-To: res@cblpe.ATT.COM (55216-Rob Stampfli) Organization: AT&T Bell Laboratories - Columbus, Ohio Lines: 171 In article <2941@killer.UUCP> wnp@killer.UUCP (Wolf Paul) writes: >Nroff by default produces boldface and underlines by means of backspacing. >My printer does not take to that too kindly, especially in NLQ mode. >Therefore I am looking for a filter which will convert backspace sequences >into overstruck lines, like so: > > "_^HT_^Hh_^Hi_^Hs _^Hi_^Hs _^Hu_^Hn_^Hd_^He_^Hr_^Hl_^Hi_^Hn_^He_^Hd.\r\n" > >should be converted to > > "This is underlined.\r____ __ __________ \r\n" > >and > > "This word is b^Hb^Hbo^Ho^Hol^Hl^Hld^Hd^Hd.\r\n" > >should become > > "This word is bold.\r bold \r bold \r\n" > >Does anybody know of such a filter, in C source? Try the following, which a friend wrote years ago for an old 11/45 Unix system. I think it does just what you want, and now that you provoked me to delve into it, I put it on my system and will use it. I am posting this to the net, since perhaps others may find it useful, too. BTW, it supports one command line argument, a single number for tab spacing (defaults to a tab every 8 spaces). And, please, no flames about the coding style or lack of comments, etc. To use: nroff -mm file.rof | canon >prn begin 666 canon.arc M&@A#04Y/3BY# , 1=^00 #(0K:O -8P( ,(]*X&<.F#IDR('C,H4,F MS1L7:'PT4#!QQ$$S LLD:,(DB9,B"6C R&&CXL6,&XD4@4(%28(;)LM@=*.1 M")4@0A+@F#BQCILY:<[0) -B#)HP&.F MZ%$Y/0#0@5+WK^##K4*U*E356R1-*E:<>/4:E:12HG M3)ZM7=ED#$OGS58[9>3 D2-0*UR>"BJ#:,(F[\J6@2$1J J"L&'$(-J$P0/" MS4.[8%V@C0SB(!PZ:-[&S>Q&ZY ZDM6"Z $"QHZ)FIO8QCV\^''>6JF$$=/< M)L[GF%4+1('TS!@6I>6@4DRET<604@E6%!ME%5C''&40=1Y8NO7X8Y!4%LG#9LNA ML<.23<;(V1924CD5:01E"8)B--U9AAMGX!96AV29E1N6D+$1)D4**E?&;;D1 M]UMP81%G'&8)W(%&&EAFN"$(9Y1!QQ@H+-20&R6"$ )Q13QAA)/OS7%'&I^B MH:&)[B&:P!AA< G""5R(<0*/3S*(PJ-IA24A#$XF ,D Q*K50@OY)2!&?&&L MD>"MN2+$*QV_QMAL6"L0-R,(+6#X+0@E@#!C"M%.6Y:UE.*JZPF[ CO5MTRV M2RV\MEX41AULT %L0&9MB3X0Y]1'*4E8]98U2+4N:0%S*H=67ATXE+),Q2_BFE#E+;A6.N!J*)T*JL5;TLI\_ M#@*"+J/ I)">IYDLZVDVET:T5'_K^NXZ@Q#?&#]ZB=5_@.:^^+G$P?[DR?R^ M)Z^V7,C1[9/,.Q32:8JM);@N=2[H#K<'/ M@:M;RI.];/I2.V?FD8Y;4QJ8E#/2V$]O=\I(YD0C+*K%24)JH)^5,-<8$(@! M(9.I3)<66 XU.%3*&""X^#4!?"("BMT8-=[(%$ !W;A6?D131_((K(RK+"# M'P05O4Y@0H:@4(4E&X"P(D@QTO3,4&+XX)URI973<$,%<:2C_'A10:0I M@A.( ((I7"$)5!@"VXJ6QSV"X I(2%C'BL:_]2F*46MZ5OR<(T$#WB]LC,H< M^L9D-O\)Z4QOLIH "6BE [K%B:L38H-<>*((@F /P:.@8RZ(%LKLC2BKJV(. M0SA"*6F1BRLD@ MAN,(!S+ ,-0PF&%&PPU^6$6H-(J+H2L,&)"H1C4U4(!NC M.,54+A.+/!RC#Y]Y0])@4XT(86-8G/"$EGCD")F[HW[H !RW3$H!=YP(&@A# M04Y/3BY$3T, 1=9P, #(0SZF*T28% ,1N2\:0-"C1F"3=ZX :$DS,(8 M.$! U#%#!H@B4ZA(S($#1P,%4MZ(T0$"1!(0=-"D<;/&) @R;T#(*=.&II@R M.43B'CIPZ8^B &.-0H8LQ(%Q &O"1"IHR(,RDD5,4!(H8 M,5[0J)$"A!V<<](H!%%G3ADR(-BL7/,V;IJBQES&C-8Q M?-W0BZ(@>5.'#=R=9T%P7MB$2!$H M5""Q0@PNW217&6>5!<=,+;#'QAM,T;'89&RP\9%B;]4U!QQAC%&&"R4%-! ( M=^RDU$E,>59&&9(U0489<*1$75YMU=48"'3!B)(<';;TAADH7?51=EVY)Q=< M1L)''7]L;-&%9)3-M.!BG='!V%4@G/&@&.R9Q=<=(/P8)%8OPK@8'1^A<%IE M;W3U1FY%'37&&F7YI5V'$N94'7J)?5B2=UNDT06):52XE$+([8FE&W6T<9,< M'XEI9!IPV=SPF$+X;._ M(P\@],\**#Q& C!(=0 6?V?5(8!+GQAE(>RI'H0D;3IQ1Z M9>"!)PB,6LN59&+4<6*0P>6A[F.;PI&&>C.9^^R@EF%V4Y#TA79K&%=B=<*# M3'UG&1XGA)E3Y+:*:>FW@"DZ[T<2%[N;N1\=\<8;B"&UAF1*&-&$OQH &@A# M04Y/3BY%6$4 1=_0X #(0\*RA;W(3 ,3;3(": P ( (0_#O7Y8$ M !!L %6B '@! &A @(L Z0#PL C V@&-_S2FJ[*('2X$ -#9(W#%RB _ M! +XV;#(BX%_=P2@$T=@$#$!B^ ML. M /X90*SH@ IRZQ3@0@P%W1X!1I'" U)G0+I9 189ZP&S<[I, 'I -"TJ=4'3 MOU(S &#Z5NH&M#V;2IW0]"4 H?@F,J*O!P (?!+@^O=@+X#A^GKJ4W3(Z^-% M^ ;].\ ' 2P#B*K?P2Y]T;%8#*:!&X!-='@7!\Q' U> [")L_X@O(I[C0!\! MB1QP1"AU[8 /3HG0!8!A?)GWWGC$.9?.#?\,X@-?=GG60D,.\)6."?\$!T F MBSA@U3WY+!+,"L($8("'$33T(@#I*/#/,3-NE$X (=8%73JD7)75&HIT=<=C M.Q!GQPZ &3'8!=*A-\TXB@0"GV%$)&9 EH@K4-"DX-! L(6&K))9KK.! F %#@DE!E!;!)P!'2M97#+V3]HC_7Y9Z"X5?9, $81\(\3^N#A&14<6AJ!:)IN"4"7 MCZ6#@#^?6H%.*:2VF8X^_1#X''% "KD.D48BJ223E3Y)YI157NE!EIO.ZB68 M8CYK)GR/559%KV[">8><=%YZ9ZR<0N:GF(("BLX*X"+JA3Z*,EK6HWY$.FFY MF*)K;:?K HI+J.C4 T"IIZ:ZZC]Y>?'%(N5T,0Q+[-2TB!T$V$.$ 8/088#& M!@#A\7+_I",, " +X#$@3!@ PCKNL&Q " S4$<+BA!Q ";WM<5>6_8'1M %/"R#U'Q5(3?6=6,," =<&'$.$ !>E,T1#3"#%P3^#H^DPQ!)3/ @[ M-%EQ\<<;=TQ[R'0H(#,()*>3$\A%PR.S ("080!>P$2.72)^^.-U'1,0CHW/ MTX\3]- !T '$(CRLP#;@! AN/34M[4(V@ @$?D"__@AP16*#ZXSX^A@4X!1 MD!OASR)<#&X$ 5U*AR%0MC$"U$$-@?!'ENHP!+A59AILDAPPZA %Q;@B )XC M@ L&0+ZR5<\80B/:,0CP@@'PK'IF>TO:DN8Y ?PC .LP!=*4AHY@1/!I49L: M V2& /')STO-D!D!?M&1*S3B?U!P(#J.<#]BY,\?.6@>'3QS#W\HXG^/65W$ MAI$.8 @"XO@Q@JP(0<%[, #5@B ' BPB''\(QPS $8Z/@$ 6L"@&2'@@0#F MX*>V5883 I $+1* QV: X!?F6) -0+>">R3P.'(8@"^.HP]'7",0Q'#!(?8Q MAP7$L3*C$,!RF(#'0)##'_^P02),P(4 J-($6@B-,6)! /4@P0:CP$( !G / MJH".$<-8@3?NL0U:* &/-F"$!YP1 L<@!^_D, <@�ZS@&7&&0#=; 3'0% QQ3T49F/X.(@E<&!*%-2F1L$ M@&)6N,+%","/.))(&ZS@ 0CHL \>)( .]^!!"SA!M>[5(0 )S<$=/L "&,AA M VV)AC06L8Q%T&L<(@VI- :0C0E<@SV#D 8 UL&-272B#@>X!S9B"H![:.,+ M7F#=,*PP WOD@B\R( <_6"$#<(AC'X"@1Q7H< !<=*0R+?+",.R(QU% (P"[ M:!O2B(#',MI#&("@0P$ \0AJ! (2\B#2P!0 SPFP@.\" C#."+ #C@ T@K M@2Z"40 \$ % K!! M966 66WLXB"=_:P N-G8QR(6 ..@@2.",8-_F 0QJ&#"G(Q&U_ (@#S, 4= M%I"+?_PACO)P11TNL(YR&, #!_C (N[Q"[>R A.18(4_IA8 )*A"'/?@IB\6 M^8M%HJ,+ )A82WPAS6B2$PH \(4)!/ +% CE"#,= ,7&2U_SYB F#_A'+B@ M@,T&S:W9(P M?(#'(8A#'N@XR7X43,H0(%:Q!]@%Z#P+6@\4PP)Y#2P>/S", M'=QC#@IXPA,6T0#K_2,:ZY"'>MG1DZ+L@P)]B, @]@$ /C#@P&]5JU5G*H X M"I5B-0;$$_P1FBT"] J[P >I?D";%$ 7%Q9!1RT,6 "#R@D()/#'**0\"GT$ MP!(C[,@@C$$ S_D#E51A\B*<0 !&8,,1P$!'$P8 U".W)*"X2*0CL '=15B! M +[P@0!:L0-AT $"0+ $'1APB3@6]Q_)G>XZUF&)/D=,&*"C&/PPA@YC_,-R M%)"$22W=D.3>(QI)T' =@8#'AWTZU"VI,9!5UF4Y H&-3D" H0U BQ_@<0X* M3L Z7@#DM*(@H/Q8A#Q,N@ADC&,#M&@ *W1 ##IT@ <:P"E;W2J =10 $04X M@CC681X6 34=_AB 4 >1C^P= ! \4 =SK$.<0!99!D8*Q[O(8S>** 1%A" M (I=UF? 0@'+-H8!% X A"NQU,$+E"E= ';*Q#ET\P@ $$( CEMG, _@"$ "X[FU] M\-4!R*$(4&CL9(V,C%=C)[DFP$$!ZI"/01Q#WE6/QA62ZX5!V/ >V=C"(H9! MMP(YTQ\400+ * MO:NH[_3@YIBXL0A_L$(!4P,!.FX@*7HXP0J*@2PA!W,8PX(:,4A#O T?\0XC*MTIVV#[E Z"$"AP^ !%^J 'R+ MH#.L6(<&>/!\"R2T 72( /7%S0=_+)\ 3U#%.MH1?6W,N I#9^8,DJ&B1:1C M$?E(0F0GNQ0Z(, 1QDAN$92KCR)< LS[TP_14 X#\&$?< 6_ !'H, X"\##/ ML C], #XD @NL$[0Y0C>4%1), X3$ @\L -#H%;, P!%4 2L<'H3I _BT Z) MX 3@] %=X&,5_-9AJ!-V?"%G/0%4?\8#'P M8%+C4 :XH ! D%QU( -1L C/L +*L($0@$><, #PT G(-DCKD 26\P)&D N@ MHPL31PNT%@)AJ&PTP'%@= WK4 Q5>(7*P(5>"(;))GU24P<6\&_#U1,& @_ M$&X2N X$D ](PP%9( =(80P.DPZ;$!K!M@#)4 <%H"+I\ BA$7-L>&Q]2 Y_ M" Z"J "+H V&B(CXL [/P(@ P 'KD SIP P'DP_N, ?X$ 2 $ [[$Q3\T J5 MAPK9(P1(L /!, <5L C0X(6M0(QT0 ,#( R%LB"]1 2^9PZ5-VD#D ^)P 3^ ML +!H#X%8&[=Z _@*!J9Q0C1L /1H%8FH$P, "!_( ##8 (2!P$*UP.H1 0(8#D$,&CK0 $FX \.H(_9 M9V>,< T[< SP.'0(@!0WL Z\L AW8 !QA YJ [8 QTT D\%9 @ GHX 62 MT@#^T 3^@ X<("D%8 E.X 3KD D>V8[!0#4F, KSN B\=P1%!@R9, Q56 3^ M (T#L +(D 1!$ 2Z8%PFL ,6X "@#'1H YU4 \J,@#&( <5,(URT #W( TC M( PK8 SH,!O,5Y=I60?E$$=9, Q2$ 7HT &2@@$"M3_P, #RX&9PMI*+8 TK M< U*D A5X ]8D 5:, Q3 4S( T>( 52$"A7=7?HD P'0PP(, CZ\ \?H 5; M8'P+( W#( <(8&1;- <&@ ZX03)"E53PE%ZB( T$00YU, (JUW1S27UST * M)0<% OE> "0(!(38 =9,P&[( $"< V8, K($ ##H C$L [WX#JP4Q.^@!AH M00$@TS$+H"L>T"L"(#(!< 1KA@ Y8 -4$ !SH(W'H$42@Y &T$IR4 ,Y8 "Z M- <5\0" $@W8$ L#, WHP C98!C,M ++0#>., SW84QXA 5R $D ](D$L! M4 F+X *MU$RM!*+'D Z6@ ]/QC%^4!HX\ NM-&P3A@0X)4\ ( ^0^[,!N0X \ MP -.T 13< 0^X ,= ;1E( ?[*@<@( ,P ,QH ,@X 1UP 9L )P\ 9IX 9T M$+8@$ 9S, ?SZ@9M4 9T"[0:,0!@*[9O0+9FNQ%J.P5T$ 9CL 8@\ 9V$+9F MP 9O< > >Q"#.[9E>[8SH+9)0+=E< 9V2P9I8 =I0 9E )B<*XP +AMD[F% MN[DP0 -J2P1/, 5EZP(P\+ADRP9A4+=D*P=E$ =UD ;"2P9 2P( !&P:[AG HFP-JZP1O8*]^^P9U0*\@, =PP+BI:P:QZ[>FNZ]\Z[