The program must accept any string as input and output an pixel image that shows the input string in Courier. All the letters that contain a 'hole' (like abdegopqABDPQR etc) that is surrounded by black pixels must be also filled black.
The Program must be able to accept any ASCII string as input. The input can be any way you want, as long as the program code itself does not have to change in order to accept a different input. (Except for e.g. the filename of the file that is to be read.) No standard loopholes. You can assume that each input contains at least one printable letter.
Access to courier.ttf / font libraries is allowed.
The program must as well count the number of black pixels and write it to console or what ever output method prefered in the end.
The score is evaluated as follows: The full program code must be used as input string to your program. The number of black pixels will be your score. Programcode that contains no printable or non-ASCII letters is not allowed. (As well as standard loopholes.) The lower the score the better.