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 comprising: receiving a search request from a user, the search request identifying a desired font or defining one or more attributes for the desired font; obtaining a font similarity matrix describing the similarity between the desired font and a plurality of fonts; and based on the font similarity matrix, providing a font graph with a finite set of nodes representing similar fonts and a finite set of undirected edges denoting font similarities corresponding to the desired font.