RGUTBIG ;CAIRO/PLS - Print a banner in large letters;04-Sep-1998 11:26;DKM
;;2.1;RUN TIME LIBRARY;;Mar 22, 1999
;=================================================================
; Prints RGBIG to the current output device in large letters.
; Inputs:
; RGBIG = Big letter string
; RGRPT = # times to repeat (default=2)
; RGTXT = Full text string (optional)
;=================================================================
ENTRY(RGBIG,RGRPT,RGTXT) ;
N RGLT,RGFS,RGZ,RGZ1,RGLEN,RGPF,RGLN
S RGFS="ABCDEFGHIJKLMNOPQRSTUVWXYZ 0123456789,-/.!#'$()*+?\=^&%"
S:$D(RGTXT) RGTXT=$$RPT^RGUT("*"_RGTXT,$G(IOM,80)\($L(RGTXT)+1))
S RGLEN=$L(RGBIG),RGRPT=$G(RGRPT,2)
W !
F RGLT=1:1:RGRPT D
.W !
.F RGZ=1:8:65 D
..W !
..F RGZ1=1:1:RGLEN D
...S RGLN=$F(RGFS,$E(RGBIG,RGZ1))-1
...S RGPF=$P($T(TBL+RGLN),";;",2,99)
...W $E(RGPF,RGZ,RGZ+7)
...W:RGZ1<RGLEN ?(RGZ1*12)
.W !!,$G(RGTXT)
Q
TBL ;; Table of character "raster images"
;; AAAAAA AA AAAA AAAAAAAAAAAAAAAAAAAA AAAA AAAA AA
;;BBBBBBB BB BBBB BBBBBBBBB BBBBBBB BB BBBB BBBBBBBBB
;;CCCCCCCCCC CC CC CC CC CC CCCCCCCC
;;DDDDDD DD DD DD DDDD DDDD DDDD DDDD DD DDDDDD
;;EEEEEEEEEE EE EEEEEE EEEEEE EE EE EEEEEEEE
;;FFFFFFFFFF FF FFFFFF FFFFFF FF FF FF
;;GGGGGGGGGG GG GG GGGGGG GGGGGG GGGG GGGGGGGGGG
;;HH HHHH HHHH HHHHHHHHHHHHHHHHHHH HHHH HHHH HH
;;IIIIIIII II II II II II II IIIIIIII
;;JJJJJJJJ JJ JJ JJ JJ JJ JJ JJ JJJJJJ
;;KK KKKK KK KK KK KKKK KKKK KK KK KK KK KK KK
;;LL LL LL LL LL LL LL LLLLLLLL
;;MM MMMMM MMMM MMMM MMM MM MMMM MMMM MMMM MMMM MM
;;N NNNN NNNNN NNNN N NNNN N NNNN NNNNN NNNN N
;; OOOOOO OO OOOO OOOO OOOO OOOO OOOO OO OOOOOO
;;PPPPPPP PP PPPP PPPPPPPPP PP PP PP PP
;; QQQQQQ QQ QQQQ QQQQ QQQQ Q QQQQ Q Q QQQQQQ Q
;;RRRRRRR RR RRRR RRRRRRRRR RR RR RR RR RR RR RR RR
;;SSSSSSSSSS SS SSSSSSSSSSSSSSSS SS SSSSSSSSSS
;;TTTTTTTT TT TT TT TT TT TT TT
;;UU UUUU UUUU UUUU UUUU UUUU UUUUUUUUUU UUUUUU
;;VV VVVV VVVV VVVV VV VV VV VV VV VVVV VV
;;WW WWWW WWWW WWWW WWWW WWWW WW WWWWW WWWWW WW
;;XX XXXX XX XX XX XXXX XX XXXX XX XX XX XX
;;YY YY YY YY Y Y YY YY YY YY YY
;;ZZZZZZZZZZZZZZZZ ZZ ZZ ZZ ZZ ZZZZZZZZZZZZZZZZ
;;
;; 0000 0 00 00 00 00000 0 0000 0 00000 00 00 00 0 0000
;; 11 111 1111 11 11 11 11 1111111
;; 2222 22 22 22 22 22 22 22 22 2222222
;;3333333 33 33 33333 33 33 33 33333
;; 44 444 44 44 44 44 4444444 44 44 44
;;5555555555 55 5555555 55 55 55 555555
;; 666 66 66 66 66 66 6666 666 66 66 66 6666
;;77777777 77 77 77 77 77 77 77
;; 8888 88 88 88 88 8888 88 88 88 88 88 88 8888
;; 99999 99 9999 99 9999999 99 99 99 9999
;; '' ' '
;; ----------------
;; // // // // // //
;; .... .... ....
;; !! !! !! !! !! .... ....
;; # # ######## # # ######## # #
;;
;; $$ $$$$$$$$$$ $$ $$$$$$$$ $$ $$$$$$$$$$ $$
;; (( (( (( (( (( (( ((
;; )) )) )) )) )) )) )) ))
;;* ** * * ** * **** ******** **** * ** * * ** *
;; ++ ++ ++++++++++++++++ ++ ++
;; ??? ?? ?? ?? ?? ?? ?? .... ....
;; \\ \\ \\ \\ \\ \\
;; ================ =================
;; ^ ^^^ ^^ ^^ ^^ ^^
;; &&& & & & & &&& & &&& && & && & && &&& &
;; % % % % % % % % % % % % % % % %
--- Routine Detail --- with STRUCTURED ROUTINE LISTING ---[H[J[2J[HRGUTBIG 4409 printed Nov 22, 2024@17:47:08 Page 2
RGUTBIG ;CAIRO/PLS - Print a banner in large letters;04-Sep-1998 11:26;DKM
+1 ;;2.1;RUN TIME LIBRARY;;Mar 22, 1999
+2 ;=================================================================
+3 ; Prints RGBIG to the current output device in large letters.
+4 ; Inputs:
+5 ; RGBIG = Big letter string
+6 ; RGRPT = # times to repeat (default=2)
+7 ; RGTXT = Full text string (optional)
+8 ;=================================================================
ENTRY(RGBIG,RGRPT,RGTXT) ;
+1 NEW RGLT,RGFS,RGZ,RGZ1,RGLEN,RGPF,RGLN
+2 SET RGFS="ABCDEFGHIJKLMNOPQRSTUVWXYZ 0123456789,-/.!#'$()*+?\=^&%"
+3 if $DATA(RGTXT)
SET RGTXT=$$RPT^RGUT("*"_RGTXT,$GET(IOM,80)\($LENGTH(RGTXT)+1))
+4 SET RGLEN=$LENGTH(RGBIG)
SET RGRPT=$GET(RGRPT,2)
+5 WRITE !
+6 FOR RGLT=1:1:RGRPT
Begin DoDot:1
+7 WRITE !
+8 FOR RGZ=1:8:65
Begin DoDot:2
+9 WRITE !
+10 FOR RGZ1=1:1:RGLEN
Begin DoDot:3
+11 SET RGLN=$FIND(RGFS,$EXTRACT(RGBIG,RGZ1))-1
+12 SET RGPF=$PIECE($TEXT(TBL+RGLN),";;",2,99)
+13 WRITE $EXTRACT(RGPF,RGZ,RGZ+7)
+14 if RGZ1<RGLEN
WRITE ?(RGZ1*12)
End DoDot:3
End DoDot:2
+15 WRITE !!,$GET(RGTXT)
End DoDot:1
+16 QUIT
TBL ;; Table of character "raster images"
+1 ;; AAAAAA AA AAAA AAAAAAAAAAAAAAAAAAAA AAAA AAAA AA
+2 ;;BBBBBBB BB BBBB BBBBBBBBB BBBBBBB BB BBBB BBBBBBBBB
+3 ;;CCCCCCCCCC CC CC CC CC CC CCCCCCCC
+4 ;;DDDDDD DD DD DD DDDD DDDD DDDD DDDD DD DDDDDD
+5 ;;EEEEEEEEEE EE EEEEEE EEEEEE EE EE EEEEEEEE
+6 ;;FFFFFFFFFF FF FFFFFF FFFFFF FF FF FF
+7 ;;GGGGGGGGGG GG GG GGGGGG GGGGGG GGGG GGGGGGGGGG
+8 ;;HH HHHH HHHH HHHHHHHHHHHHHHHHHHH HHHH HHHH HH
+9 ;;IIIIIIII II II II II II II IIIIIIII
+10 ;;JJJJJJJJ JJ JJ JJ JJ JJ JJ JJ JJJJJJ
+11 ;;KK KKKK KK KK KK KKKK KKKK KK KK KK KK KK KK
+12 ;;LL LL LL LL LL LL LL LLLLLLLL
+13 ;;MM MMMMM MMMM MMMM MMM MM MMMM MMMM MMMM MMMM MM
+14 ;;N NNNN NNNNN NNNN N NNNN N NNNN NNNNN NNNN N
+15 ;; OOOOOO OO OOOO OOOO OOOO OOOO OOOO OO OOOOOO
+16 ;;PPPPPPP PP PPPP PPPPPPPPP PP PP PP PP
+17 ;; QQQQQQ QQ QQQQ QQQQ QQQQ Q QQQQ Q Q QQQQQQ Q
+18 ;;RRRRRRR RR RRRR RRRRRRRRR RR RR RR RR RR RR RR RR
+19 ;;SSSSSSSSSS SS SSSSSSSSSSSSSSSS SS SSSSSSSSSS
+20 ;;TTTTTTTT TT TT TT TT TT TT TT
+21 ;;UU UUUU UUUU UUUU UUUU UUUU UUUUUUUUUU UUUUUU
+22 ;;VV VVVV VVVV VVVV VV VV VV VV VV VVVV VV
+23 ;;WW WWWW WWWW WWWW WWWW WWWW WW WWWWW WWWWW WW
+24 ;;XX XXXX XX XX XX XXXX XX XXXX XX XX XX XX
+25 ;;YY YY YY YY Y Y YY YY YY YY YY
+26 ;;ZZZZZZZZZZZZZZZZ ZZ ZZ ZZ ZZ ZZZZZZZZZZZZZZZZ
+27 ;;
+28 ;; 0000 0 00 00 00 00000 0 0000 0 00000 00 00 00 0 0000
+29 ;; 11 111 1111 11 11 11 11 1111111
+30 ;; 2222 22 22 22 22 22 22 22 22 2222222
+31 ;;3333333 33 33 33333 33 33 33 33333
+32 ;; 44 444 44 44 44 44 4444444 44 44 44
+33 ;;5555555555 55 5555555 55 55 55 555555
+34 ;; 666 66 66 66 66 66 6666 666 66 66 66 6666
+35 ;;77777777 77 77 77 77 77 77 77
+36 ;; 8888 88 88 88 88 8888 88 88 88 88 88 88 8888
+37 ;; 99999 99 9999 99 9999999 99 99 99 9999
+38 ;; '' ' '
+39 ;; ----------------
+40 ;; // // // // // //
+41 ;; .... .... ....
+42 ;; !! !! !! !! !! .... ....
+43 ;; # # ######## # # ######## # #
+44 ;;
+45 ;; $$ $$$$$$$$$$ $$ $$$$$$$$ $$ $$$$$$$$$$ $$
+46 ;; (( (( (( (( (( (( ((
+47 ;; )) )) )) )) )) )) )) ))
+48 ;;* ** * * ** * **** ******** **** * ** * * ** *
+49 ;; ++ ++ ++++++++++++++++ ++ ++
+50 ;; ??? ?? ?? ?? ?? ?? ?? .... ....
+51 ;; \\ \\ \\ \\ \\ \\
+52 ;; ================ =================
+53 ;; ^ ^^^ ^^ ^^ ^^ ^^
+54 ;; &&& & & & & &&& & &&& && & && & && &&& &
+55 ;; % % % % % % % % % % % % % % % %