1. A non-transitory computer storage medium comprising computer-useable instructions that, when used by one or more computing devices, cause the one or more computing devices to perform operations for comparing fonts, the operations comprising: identifying a letterform of a character image from a first font, the letterform being selected from a set of letterforms defined by a model; determining locations of keypoints on the character image based on a set of model keypoints defined on the letterform in the model; determining a detail shape at each of one or more areas of the character image, each of the one or more areas of the character image comprising a portion of the outline of the character image corresponding with one or more detail areas defined for the letterform in the model; generating a visual descriptor for the character image that contains information regarding the letterform of the character image, the locations of the keypoints on the character image, and the one or more detail shapes; comparing the first font to a second font by computing a similarity measure for the visual descriptor and a second visual descriptor for a second character image from the second font, the character image and the second character image corresponding with a same letterform; selecting one or more fonts based on the similarity measure.