Various typographic parameters of a simple slab-serif font are coded into gene strands to create a gene pool. The system starts off with a set of randomly generated fonts from which the user selects the ones with the most favorable characteristics by giving them star ratings. Fonts with higher ratings pass on their genes to the next generation of fonts. With each generation the fonts get closer to the user's demands.