1. A computing device implemented method comprising: receiving data representing features of a first font and data representing features of a second font, wherein the first font and the second font are capable of representing one or more glyphs; receiving survey-based data representing the similarity between the first and second fonts; and training a machine learning system using the features of the first font, the features of the second font and the survey-based data that represents the similarity between the first and second fonts.