Courier Ception
O programa deve aceitar qualquer sequência como entrada e gerar uma imagem de pixel que mostra a sequência de entrada no Courier. Todas as letras que contêm um 'buraco' (como abdegopqABDPQR
etc) cercado por pixels pretos também devem ser preenchidas em preto.
Entrada
O Programa deve poder aceitar qualquer sequência ASCII como entrada. A entrada pode ser da maneira que você quiser, desde que o código do programa em si não precise ser alterado para aceitar uma entrada diferente. (Exceto, por exemplo, o nome do arquivo do arquivo que deve ser lido.) Nenhuma brecha padrão. Você pode assumir que cada entrada contém pelo menos uma letra imprimível.
Resultado
A saída deve ser um gráfico de pixels em preto e branco (sem cinza) que mostre a sequência escrita em Courier (em preto, branco com fundo), com os 'buracos' especificados preenchidos. O tamanho da fonte de toda a cadeia deve ser constante (o que significa que não há redimensionamento diferente para cada letra diferente), de modo que as letras de tamanho completo (por exemplo,ABCDEFGHIJKLMNOPRSTUVWXYZ
mas j e Q sejam maiores) devem ter pelo menos 10 px de altura. (Você não precisa gravá-lo em um arquivo, qualquer tipo de exibição é aceitável desde que seja gerado como pixelgraphics, como, por exemplo, tela em JavaScript.) Por favor, poste este gráfico com sua resposta.
O acesso às bibliotecas courier.ttf / font é permitido.
O programa também deve contar o número de pixels pretos e gravá-lo no console ou no método de saída que preferir no final.
Ponto
A pontuação é avaliada da seguinte forma: O código completo do programa deve ser usado como sequência de entrada para o seu programa. O número de pixels pretos será sua pontuação. O código do programa que contém letras imprimíveis ou não ASCII não é permitido. (Assim como as brechas padrão.) Quanto menor a pontuação, melhor.