Ception de mensajería
El programa debe aceptar cualquier cadena como entrada y generar una imagen de píxeles que muestre la cadena de entrada en Courier. Todas las letras que contienen un 'agujero' (como abdegopqABDPQR
etc.) rodeado de píxeles negros también deben rellenarse de negro.
Entrada
El programa debe poder aceptar cualquier cadena ASCII como entrada. La entrada puede ser de la forma que desee, siempre que el código del programa en sí no tenga que cambiar para aceptar una entrada diferente. (Excepto, por ejemplo, el nombre de archivo del archivo que se va a leer). No hay lagunas estándar. Puede suponer que cada entrada contiene al menos una letra imprimible.
Salida
La salida debe ser un gráfico de píxeles en blanco y negro (sin gris) que muestre la cadena escrita en Courier (en negro, fondo blanco), con los 'agujeros' especificados rellenos. El tamaño de fuente de toda la cadena debe ser constante (eso significa que no hay una escala diferente para cada letra diferente) de modo que las letras de tamaño completo (por ejemplo, ABCDEFGHIJKLMNOPRSTUVWXYZ
pero j y Q son más grandes) deben tener al menos 10 píxeles de altura. (No tiene que escribirlo en un archivo, cualquier tipo de visualización está bien siempre que se genere como pixelgraphics, por ejemplo, lienzo en JavaScript). Publique este gráfico con su respuesta.
Se permite el acceso a las bibliotecas courier.ttf / font.
El programa también debe contar el número de píxeles negros y escribirlo en la consola o cualquier método de salida preferido al final.
Puntuación
La puntuación se evalúa de la siguiente manera: el código completo del programa debe usarse como cadena de entrada para su programa. El número de píxeles negros será su puntaje. El código del programa que contiene letras no imprimibles o no ASCII no está permitido. (Además de las lagunas estándar). Cuanto menor sea el puntaje, mejor.