Kurierannahme
Das Programm muss eine beliebige Zeichenfolge als Eingabe akzeptieren und ein Pixelbild ausgeben, das die Eingabezeichenfolge in Courier anzeigt. Alle Buchstaben, die ein "Loch" (wie abdegopqABDPQR
usw.) enthalten, das von schwarzen Pixeln umgeben ist, müssen ebenfalls schwarz ausgefüllt werden.
Eingang
Das Programm muss in der Lage sein, beliebige ASCII-Zeichenfolgen als Eingabe zu akzeptieren. Die Eingabe kann beliebig sein, solange sich der Programmcode selbst nicht ändern muss, um eine andere Eingabe zu akzeptieren. (Ausgenommen zB der Dateiname der zu lesenden Datei.) Keine Standard-Regelungslücken. Sie können davon ausgehen, dass jede Eingabe mindestens einen druckbaren Buchstaben enthält.
Ausgabe
Die Ausgabe muss eine schwarzweiße (keine graue) Pixelgrafik sein, die die in Courier geschriebene Zeichenfolge (in Schwarz, Hintergrundweiß) mit den angegebenen 'Löchern' zeigt. Die Schriftgröße der gesamten Zeichenfolge muss konstant sein (das heißt, keine unterschiedliche Skalierung für die einzelnen Buchstaben), sodass die Buchstaben in voller Größe (z. B. ABCDEFGHIJKLMNOPRSTUVWXYZ
aber j und Q sind größer) mindestens 10 Pixel hoch sein müssen. (Sie müssen es nicht in eine Datei schreiben, jede Art von Anzeige ist in Ordnung, solange sie als Pixelgrafik generiert wird, wie z. B. Leinwand in JavaScript.) Bitte posten Sie diese Grafik mit Ihrer Antwort.
Der Zugriff auf die Bibliotheken courier.ttf / font ist zulässig.
Das Programm muss auch die Anzahl der schwarzen Pixel zählen und diese in die Konsole oder in die am Ende bevorzugte Ausgabemethode schreiben.
Ergebnis
Die Punktzahl wird wie folgt bewertet: Der vollständige Programmcode muss als Eingabezeichenfolge für Ihr Programm verwendet werden. Die Anzahl der schwarzen Pixel entspricht Ihrer Punktzahl. Programmcode, der nicht druckbare oder nicht ASCII-Zeichen enthält, ist nicht zulässig. (Sowie Standardlücken.) Je niedriger die Punktzahl, desto besser.