Fonts are first-class objects. However, anywhere that a font is taken as an argument, a string containing an X font specification will also be accepted, and will be automatically converted to the proper font object. Using the same font specifier string more than once is not inefficient, as caching ensures that font objects are shared.