Are there any extensions that will enable a customer to enter their own text for a personal message in different types of fonts? For example, the customer is buying a gift and wants a personal message, and can choose what font it's printed in.
As I answered here, prodcuts can have custom options.
Also, you can use Gift options: https://docs.magento.com/m2/ce/user_guide/sales/gift-options.html
The short answer is "yes".
If you want to extend the Magento 2 out-of-the-box options functionality, you can take a look at this Dynamic Product Options extension – https://www.itoris.com/magento-2-custom-options.html