None at the moment, proof of concept only.
Using different size/color/family in a text annotation is difficult because the
text
method accepts argument for size/color/family/weight/etc. that are used
for the whole text. But, if one wants, for example, to have different colors,
one has to look at the gallery where one such example is provided:
http://matplotlib.org/examples/text_labels_and_annotations/rainbow_text.html
This example takes a list of strings as well as a list of colors which makes it cumbersome to use. An alternative would be to use a restricted set of pango-like markup (see https://developer.gnome.org/pango/stable/PangoMarkupFormat.html) and to interpret this markup.
Some markup examples:
Hello <b>world!</b>`
Hello <span color="blue">world!</span>
A proof of concept is provided in markup_example.py but it currently only handles the horizontal direction.
None at the moment since it is only a proof of concept
As proposed by @anntzer, this could be also implemented as improvements to mathtext. For example:
r"$\text{Hello \textbf{world}}$"
r"$\text{Hello \textcolor{blue}{world}}$"
r"$\text{Hello \textsf{\small world}}$"