C -> Brainfuck 556 Bytes
Ausschluss unnötiger Leerzeichen. Ich könnte leicht weitere hundert speichern, indem ich die Schriftdaten d[]von hex in eine Zeichenfolge in Anführungszeichen ändere.
i,j,s,t,u,v,w,h;
char a[99],b[9999],k,d[]={0x6F,0x3B,0x5A,0xD5,0x7A,0x6A,0x5B,0x2F,0xD0,0x57,0xA1,0x1B,0xCF,0x4F,0x5F,0x6E,0x6D,0x4E,0x79,0x3A,0x1F,0x95,0x9F,0xA6,0x3D,0x76};
f(int z){
return d[a[j-1-t%(2*w*j)/w/2]-65]>>z&1?z=b[i*v/u],b[i++*v/u]=' ',z:' ';
}
main(){
for(scanf("%s",a);a[j];i++)a[j]-k?k++,b[i]='+':(b[i]='.',t+=(0xE7572B70967DB>>(a[j]*2-130)&3)+5,j++);
s=i/t+2;
u=t*(s-1);
v=i;
i=0;
w=2*s;h=2*s+1;
for(t=2*w*h*j;t--;)putchar(
t%(2*w*j)?
t/2/w/j%s?
t%s||!(t/4%s)?' ':f(t/s%4/2+t/2/w/j/s*2|7*(t/s%4==2))
:(
(t%s)&&(t/s+1&2)?f(4+t/2/w/j/s):' '
)
:10 //newline
);
}
Dies verwendet eine Taschenrechnerschriftart (für niedrige Entropie nur ein Byte pro Buchstabe) und einen sehr naiven Brainfuck-Compiler, der von https://codegolf.stackexchange.com/a/35801/15599 inspiriert ist (außer ich verwende Plus statt Minus) Die erste forSchleife kompiliert den Text in adie Zeichenfolge bund berechnet anhand der 13-stelligen magischen Hexadezimalzahl (alle Zeichen sind 5-8 Striche) die Anzahl der Striche, die zum Zeichnen des formatierten Codes erforderlich sind.
Angesichts der Gesamtprogrammlänge und der Strichzahl wird die Anzahl der Zeichen pro Strich berechnet (dies kann sehr klein sein, wenn die Zeichen gleich oder in aufsteigender Reihenfolge sind, und sehr groß, wenn die Zeichen in absteigender Reihenfolge sind.)
Der größte Teil des restlichen Programms widmet sich der Entscheidung, ob Leerzeichen oder einer der Striche gedruckt werden müssen. Befindet sich der Cursor über einem Strichquadrat, wird die Funktion fmit der Nummer dieses Strichs als Argument aufgerufen. Es gibt ein Leerzeichen zurück, wenn dieser Strich für den aktuellen Buchstaben nicht erforderlich ist, oder ein Zeichen aus dem Programm, wenn dies der Fall ist. Da die Anzahl der Zeichen, die zum Vervollständigen der ASCII-Grafik erforderlich sind, möglicherweise größer ist als die Zeichen im Programm, wird gelegentlich ein Leerzeichen eingefügt, daher die Berechnung b[i * v/u].
Die Schrift enthält vier Einzelstriche und vier Doppelstriche, die wie folgt nummeriert sind und je nach Buchstabe entweder vorhanden oder nicht vorhanden sind.
6666 6666
3 7 2
3 7 2
3 7 2
3 7 2
5555 5555
1 7 0
1 7 0
1 7 0
1 7 0
4444 4444
Ausgabe
Test unter http://copy.sh/brainfuck/
ABC
+ ++ +++ ++++ + ++
+ + +
+ + + +
+ + +
+ + +
++++ + ++ +++ ++++
+ + + +
+ + + +
+ + + +
+ + + +
++++ + ++ ++. +.+.
DEF
+ ++ ++ + ++++ +++ ++ + ++++
+ + +
+ + +
+ + + +
+ + +
++ + +++ ++++ + ++
+ + +
+ + + +
+ + +
+ + +
++++ + ++ ++. +.+.
GHIJK
+ + +++ ++ +++ +++ ++
+ + + + +
+ + + + +
+ + + + + +
++ +++ + + +++
+ + + + + + + +
+ + + + + + +
+ + + + + + + +
+++ + + ++. +. +.+ .+.
LMNOP
+ + +++ + + +++ + + +++ + + +++
+ + + + + + + +
+ + + + + + + +
+ + + + + + + + +
+ + +++
+ + + + + + + +
+ + + + + + + +
+ + + + + + + + +
+ . +.+ . + .+.
QRSTU
+ + +++ +++ +++ +++ ++
+ + + + + + + +
+ + + + + + +
+ + + + + + + +
+++ +++ + + +++ +++ +++
+ + + + +
+ + + + + +
+ + + + + +
+++ ++ +++ .+. +.+ .+.
VWXYZ
+ + +++
+ + + + + + + + +
+ + + + + + + + +
+ + + + + + + + +
+++ +++ + + +++ +++ ++
+ + + + + + + + +
+ + + + + + + +
+ + + + + + + +
+++ + + +++ +++ ++ .+. +.+ .+.
KOPIERBAR
Bei den meisten Zeichenfolgen mit Buchstaben in zufälliger Reihenfolge (nicht aufsteigend) ist die Buchstabengröße viel größer und die Buchstaben sehen viel besser aus. Leider werden die Dateigrößen ziemlich groß. Ich kann hier nicht das vollständige Wort UCOPYRIGHTABLE hochladen. COPYABLE ist ungefähr das längste Wort, das mir erlaubt ist.
+ +++++++++ +++++++++++ + +++++++++ +++++++++++ ++ ++++++++ +++++++++++ +++ +.+++++ +++++++.+.+ ++++ ++++.+ +++++++++++
+ + + + + + + + + + +
+ + + + + + + + + + + +
+ + + + + + + + + + +
+ + + + + + + + + + + +
+ + + + + + + + + + +
+ + + + + + + + + + + +
+ + + + + + + + + + +
+ + + + + + + + + + + +
+ + + + + + + + + + +
+ + + + + + + + + + +
+ + + + + + + + + + + +
+++++++++ + +++++++++++ ++++++++++ +++++++++++ +++++++++++ ++++++++++ +++++++++++ + +++++++++ ++++++++++. +. ++++++++
+ + . + + + + + + + + +
+ + + + + + + + + + +
+ + + + + + + + + + + +
+ + + + + + + + + + +
+ + + + + + + + + + +
+ + + + + + + + + + + +
+ + + + + + + + + + +
+ + + + + + + + + + + +
+ + + + + + + + + + +
+ + + + + + + + + + + +
+ + + + + + + + + + +
+++++++++++ +++++++ +++ +++++++++++ ++++++++ ++ +++++++++++ +++++++++ + +++++++++++ ++++++++++ +++++++++++ +++++++++++ ++++++++++ ++++++++++.