# This is the list of people who have contributed to this project,
# and includes those not listed in AUTHORS.txt because they are not
# copyright authors. For example, company employees may be listed
# here because their company holds the copyright and is listed there.
#
# When adding J Random Contributor's name to this file, either J's
# name or J's organization's name should be added to AUTHORS.txt
#
# Names should be added to this file as:
# Name <email address>

Typeface Production & Scripting:

Ethan Cohen <ethan@ethancohenstudio.com>
Andy Clymer <hello@andyclymer.com>

Font Mastering:

Alphabet <hello@alphabet-type.com>

Print Specimen Design:

Kelly Thorn <kelly@charlesandthorn.com>
Douglas Hayes <dougobrianhayes@gmail.com>

"Fraunces" namesake:

Stephen Nixon