Perl 6, 76 57 55 bytes
$/=|120.comb;.put for [Z~] map *.[|$/.=rotate(-1)],[Z] ' '..~9,'A'..*,'a'..*
Try it
.put for [Z~] ((' Aa','a A','Aa ')».ords «+»^26)».chr
Try it
.put for [Z~] (<!Bb b!B Bb!>».ords «+»(^26-1))».chr
Try it
Explanation
( ' Aa', 'a A', 'Aa ' )».ords
( (32, 65, 97), # ' Aa'.ords
(97, 32, 65), # 'a A'.ords
(65, 97, 32), ) # 'Aa '.ords
(^26
is short for 0..^26
which is similar to 0..26-1
)
… «+» ^26 # matrix add; extending both sides
# + line 1
# | + line 2
# | | + line 3 +-------------+-------------+ repeat 0..25
# V V V V V V
( ( 32, 65, 97), # ( (.[0;0] + 0), (.[0;1] + 0), (.[0;2] + 0) ),# <+ repeat
( 98, 33, 66), # ( (.[1;0] + 1), (.[1;1] + 1), (.[1;2] + 1) ),# | ' Aa'.ords
( 67, 99, 34), # ( (.[2;0] + 2), (.[2;1] + 2), (.[2;2] + 2) ),# |
# |
( 35, 68, 100), # ( (.[0;0] + 3), (.[0;1] + 3), (.[0;2] + 3) ),# <+
(101, 36, 69), # ( (.[1;0] + 4), (.[1;1] + 4), (.[1;2] + 4) ),# |
( 70, 102, 37), # ( (.[2;0] + 5), (.[2;1] + 5), (.[2;2] + 5) ),# |
# |
( 38, 71, 103), # ( (.[0;0] + 6), (.[0;1] + 6), (.[0;2] + 6) ),# <+
(104, 39, 72), # ( (.[1;0] + 7), (.[1;1] + 7), (.[1;2] + 7) ),
( 73, 105, 40), # ( (.[2;0] + 8), (.[2;1] + 8), (.[2;2] + 8) ),
… )
(…)».chr # (…).deepmap(*.chr)
# + line 1
# | + line 2
# | | + line 3
# V V V
( (' ', 'A', 'a'),
('b', '!', 'B'),
('C', 'c', '"'),
('#', 'D', 'd'),
('e', '$', 'E'),
('F', 'f', '%'),
… )
[Z~] … # reduce using zip meta-op combined with concat op
# (has effect of rotating 90°, and joining)
( ' bC#eF&hI)kL,nO/qR2tU5wX8z',
"A!cD$fG'iJ*lM-oP0rS3uV6xY9",
'aB"dE%gH(jK+mN.pQ1sT4vW7yZ', )
.put for … # loop over them printing them with trailing newline
1Does the text end on a newline ? In particular is it ok to end on '....z\n\n` ? – Ton Hospel – 2018-02-14T18:03:26.300
2@Tom no, it should maximum be one trailing newline – Stewie Griffin – 2018-02-14T19:10:38.590
Is a leading newline acceptable? – Dom Hastings – 2018-02-15T08:42:08.517
@DomHastings No, sorry. – Stewie Griffin – 2018-02-15T08:43:51.440
(for many languages (HTML, ///, Text, Bubblegum) hardcoding those 80 characters would be (provably, except for Bubblegum) the shortest, that is boring, please don't do that) – user202729 – 2018-02-23T08:19:46.173