You have to do it that way because you are not just plugging the name of a font into a text field, you are assigning a resource to the RichTextBox.

You have to actually create an instance of a font object and then point the RichTextBox at it.

Yes it seems more complicated, but it also means that you can do things like have multiple controls use the same instance of a font object, not make their own copy among many other things.

The same is true for many things, like mouse cursors.

Jorgie