1. A method for generating, by a processor, an image for use in a test to tell computers and humans apart comprising: receiving, by the processor, 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; receiving, by the processor, a selection of a font for the selected range of characters; testing, by the processor, 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; receiving, by the processor, a selection of a number of challenge characters; generating, in response to receiving a request for an image, by the processor: 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 calculating, by the processor, 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.
1. A method for generating, by a processor, an image for use in a test to tell computers and humans apart comprising: receiving, by the processor, 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; receiving, by the processor, a selection of a font for the selected range of characters; testing, by the processor, 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; receiving, by the processor, a selection of a number of challenge characters; generating, in response to receiving a request for an image, by the processor: 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 calculating, by the processor, 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. 5. The method of claim 1 , wherein a sequence of the displayed challenge characters is stored on the server, wherein the sequence must be replicated in a user response for the user response to be valid.