17. A computer program product comprising computer-readable program code to be executed by one or more processors when retrieved from a non-transitory computer-readable medium, the program code including instructions to: receive a selection of a range of characters corresponding to code points from Unicode plane 0, the selected range of characters at least including the 8-bit ASCII character range; receive a selection of a font for the selected range of characters; test each character in the selected range of characters, characters of the selected range of characters that pass the testing forming a challenge character subset, the testing comprising: determining if the character has a glyph in the selected font; determining if the character is a whitespace character; determining if the character leaves a visible impression; receive a selection of a number of challenge characters; generate, in response to receiving a request for an image: a challenge comprising a plurality of selected characters from the challenge character subset, the number of characters in the challenge equaling the selected number of challenge characters, and a response comprising a plurality of characters from the challenge character subset, the response having a character count that is greater than the selected number of challenge characters and the response including the characters in the challenge, each character in the response having a font size selected from a range having a predetermined maximum, the generated image comprising the generated challenge and the generated response; and calculate a solution threshold, the solution threshold being a value based on the selected font size of each of the characters in the challenge included in the response and a predetermined distance from the locations of each of the characters in the challenge included in the response.
18. The computer program product of claim 17 , the program code further including instructions to format the generated image based on the dimensions of a display device, the formatting comprising: aligning the selected characters of the challenge horizontally and placing the selected characters of the response below the selected characters of the challenge when the display of the display device has a greater height than width; and aligning the selected characters of the challenge vertically and placing the selected characters of the response adjacent to the selected characters of the challenge when the display of the display device has a greater width than height.